Object sharing in a multi-user hypertext system - DSpace@MIT

3 downloads 0 Views 6MB Size Report
Dec 20, 1990 - life. Ma> 'j-js i-.esis be i. rir..i^ c:~.pensation to them for beLng away from home. Special thanks go ...... The first approach requires extending a relationalstorage system to accommodate: • the ..... [Demers SS] alcor/j---r. allo-»>.'s for a ...... Tne foundation ofthe system is the Version Manager,which is used to ...
V^'^^'^ o' T^^

03^^

HD28 .M414 no .3131-

[DEC

20 1990

J

TECHNICAL REPORT

OBJECT SHARING IX A MULTI-USER

HYPERTEXT SYSTEM M.S. Thesis

Melvina H. Tarazi

CCSTR

^ 101

CENTER FOR COORDINATION SCIENCE

Massachusetts Institute of Technology Sloan School of Management Cambridge, Massachusetts

,^^3,3Cj

OBJECT SHARING IX A MULTI-USER

HYPERTEXT SYSTEM M.S. Thesis

Melvina H. Tarazi

CCS TR^

101

^^^f^3l5^

'ft

^l^"

,30

\

OBJECT SHARING

IN

A MULTI-USER HYPERTEXT

SYSTEM

McK-ma H S

P

Tarazi

Co'-r-uie: Sc:e-ct and Engineering

Massa;.". jsens insurjte of

Technoiog>

(19&S;

SL'BMITTED TO THE DEP.^RTMENT OF ELECTRICAL ENCOs'ZERING ANT) CONIPITER SCIENCE IN" ?.\r~^M. FLIFILl-MENT OF THE REQLTRENIENTS FOR THE DEGREE OF

MASTER OF SCIENCE a;

ihs

NL^SSACHVSETTS INSTTTITE OF TECHNOLOGY

Ccp>Tigh: Tr.t 2_'_-.r: nereby grar/.s

cones of

(ci

MTI

iT-s ihes:s

1985

-

Me!'.

-j-.a

H

Tarazi

perrrussior. to reproduce

document

in

whole or

and to distnbute

v. rar..

Simanirc of AuLhor E>eparmcnt of Eiectncal Engineenng and Computer Science J'onc 20. 1989

Cenified b%

\M^jgy%

mI— Professor

Tnomas W. Malone Tnesis Supcr^•lsor

Accepted

b)

Professor .Ajiniir C. Srmin Chairman, Comrruoee on Graduaxe Students

OBJECT SHARING

IN A

ML LTI-LSER HYPERTEXT

SYSTEM MeivLTiE

Subrrjne-d tc the Depa-trr.er.: of

Science

or. J jr.:

2C. ]9^'^

ir.

K

Tarazi

E!emcal EngLneerinc and Computer

rar.ia] fj-I:TLimen: of the

requiremen*^ for the

decT&e of Masier of Science.

Abstract Obieci-onenied da-^ba^es

2.-ic

r.\-penex! sysier-.s are emergir.g

appiiactior, developers for Lncreased. less sn--crkired modelir.g

ir.

response :o a

power

m

demand by

database systems.

prcMdir.e the necessary tools and facmues for building Such sy5;err.5 succeed coopera::\e v.ork arr'.ications bu: are luTuted ui providing the appropnate object sharing envirormentl'-.

propose to adcL'^ss the object sharj^g requirements for one such system - Obiec: Lens Object Ler.b ir.:erra-.e> fearjres z: r.;.T^r.ex: system.s. object-oriented systems and ruiebased agents. 'V^'e

We

evaluate various approaches

tc

object sharing (includL-.g

message passing, centralized

and various scnemes for concurrency conrrol timestampung with respect to the charaaenstics desired

object server and dismr^ted objec: servers

and update propagation (lockiLng. m Object Lens (e g.. speciaLzatior hierarchy, user-mterface. object linking, version control and combination of long Lnteract;\e transactions and short automatic ransacuons). >

We

propose a nev. scheme for j'jtiating object sharing through the exchange of electronic mail messages. Object protecticr. is achieved by a hybnd scheme oi access control lists and capability systems.

Analysis of the transacuons

in

Object Lens reveals rwo sets of transactions; (1) interactive weak consistency requirements and relatively flexible automate transactions that require stna concurrency control

transactions that require relatively

concurrency control, ^.d. ;I; Vv"e propose a hybnd locking and version control concurrency control scheme that accomodates the two types of transacuons.

requirements.

Thesis Superv'isor:

Profes. or

Thomas W. Malone

Title:

Panck

McGovem

J

Professor of Inform.aaon Systems

Dedication

To

My Parents

Acknowledgements

I

vi.o_id Il^s tc tharik

guidance, and suppon

my

thesis super\isor. Professor

Tnomas MaJone.

for his

ir.s:gr.:.

His ide^. o?ser\'aao.i5, and suggesuons have deeply contributed to

the success of mis uo.-i..

I V.

culd als: iixe to

'S.zr^.

His sugges:;?r.s. cnucues

M> needed life.

Kf %

comments

l-.

Crowston

v.ere

parents. Reine and Kar„. deserve

ne—

Ma>

ar.d

Nl:

'j-js i-.esis

be

i.

rir..i^

exremeiy helpful

more than

ar.c for ell -jr.^s .:.r. affecrion.

.

for reading several drar.s cf iiis vk'ork.

I

can express for being nere

guidance and encouragemen; throughou;

c:~.pensation to them for beLng away from

Special thanks go to m.> bro'-her. Ram^i. for listening to

throughou: m.>

Fmall)

.

s:a> a:

I

uould

Ml

when

I

my

home

m> gnpes and complaints

7

like to

acknowledge Ibrahim Saad, Nazhiri Zarghamec, Ala Alry^es.

Emar. Hashem and Ahjnad Tabari for their constant friendship throughout

my

s'^ay ai

M J.T.

Table of Contents

Abstract

2

Dedication

3

AcknowiedgemenLs

4

Table of Contents

5

List of Figures

7

List of Tables

8

1.

9

Introduction 1.1

Object Sharing in Object-Onented Databases and H\-pcncxt Systems

10

1.2

The Proposed Objea Sharing Scheme

1

Objec: Lens Thesis Afjproach 1.5 Thesis Oauine

11

1.3 1

2.

.4

1

14

Architectures for Object Sharing 2.1

2.2

15

Message Based Object Sharing 2.1.1 Advantages of .Approach 2.1.2 Disad\an;ages o: Approach Cenc-alized Object Shanng 2.2.1 Adsantages of .Apjproach 2.2.2 Disadvantages of Approach 2.2.3 Improved Performance using Caching 2.2.4 Lmpicmentanon of Ccntrai Data Ser-er

Database Sever 2.2.4.2 CentraJ Objea Sever 2.3 Distributed Object Shanng 2.2.4.1 Central

Objea Server Objea Server and Manager

2.3.3.1 Distributed

3.

Object Sharing Features

ai each Workstailon Relanonal Database Systems

in a Distributed

Environment

3.1 Replication

3.2 Consistency and 3.3

Update Propagation

Concurrency Control 3.3.1

18 18

19

20 20 23 23 25

Ad\antagcs of Approach 2.3.2 Disadvantages of Approach 2.3.3 Imolcmcntauon of a Distributed Data Server

2.3.3.3 E>istnbuted

P

24

2.3.1

2.3.3.2

17

Synchronization Techniques Based on Two-Phase Locking

2PL Implcmentanon Pnmarv Copy 2PL Voting 2PL Centralized 2PL

26 26 28

29 32 33

35 35 36 37 40

3.3.1.1 Basic

40

3.3.

41 41

1

.2

3.3.1.3 3.3.1.4

Locking 3.3.1.6 Deadlock betecuon 3.3.2 S>Tichroruzauon Techniques Based on Timestamp Ordering 3.3.1.5 Granulann, of

42 42 42 44

1

-6-

3.3 2

Basi: TLTiestamp Ordenrc

;

3,3.2 2 MultiN ersior. Tunes'.arr.p Orderj^z 3.3.2.3 Conser^atlve 3.3.3 S\T.:rjor.:zuUor.

Tunesiamr Oraenng

Techniques Bas&d on Qptimisnc Cor.roi

3 3.3.; Ma'cr.r\ Cons-er.s'-!;

Dismbuiec Cenificaucn

3 3.3 2

Tnree MeihcKJologies OLher ConcurrcncN Control Schemes 3.4 Secur.p> and Protecuor. 3.3.- Ccrnz;a-~-^on cf the

3.3.5

3.4.1 Capabi]ir\ Sys'^rr.s

3.4.2 .Access 4.

Conro!

List

System

Literature Surve%

4.3 Mui-j-use: H\7>ertext

Systems

An example

Multi-user Object Lens 6.2

72

TemiLTolop

6.3 ObieriS in Distnbuted Obiect

Lens

Personal Obieas Public Objects 6.3.3 Local vs. Remote Objects 6 4 Creation of a Shared Object 6.5 Deletion of a Snared Object 6.6 Protection cf a Shared Oc^^?:: 6.'' Modification of a Shared Objea 6.'.1 Transactions in Object Lens 6.7.1.1 Interaaive transacuons

Shared

6.3.1

vs.

6.3.2 PnNate \s

L2 Automatic Transacpons ^ Concurrency Control

6.7.

6.7.2

6.7.2.1

Time-St^mp Ordering

74 75 75 76 77 77 81 81

85 87 88

90 92 92

6.7.2.2

Optirmsuc Concurrency

93

6.7.2.3

Two-Phase Locking

94 96 97

6.7.2.4 Version Control 6.7.2.5

7.

64 65 65 66 69 70

'"3

Decisions

6.1 Early Desipr.

55

64

Objec: Lens as a Hv-penex! S\-s:em 5.2 Objec: Lens as an ODjeci-Onented Database System 5.3 Obtec: Lens Specific Features 5 4 Using Object Len^ 5.5 Objer. Lens Axchitecrurs 5.1

6.

52 59

Object Lens Re\isiled

5.6

46 4b 46 48 4f 49 49 50 50 52

4.1 Distributed Reiat;ona; Database Systems 4.2 ODiec:-Oner.ted DataDS-se Systems

5.

a^ ^5

Proposed S>Tichroni2ation Technique: Hybrid of Locking and Versiorung

Conclusion

106

Work

7.1

Summan-

7.2

The Proposed Distributed Object Lens

1 1

7.3

Direcuon of Future Vvork

113

of

106

List of Figures

Figure 2-1: Ccr.ralized Orjec: Server Figure 2-2: Dismbuied Object Scr\er Figure 2-3: Objec: Ser^cr and Manager ai each Wortcstaiion Figure 2-4: Distributed Relauonai Database Figure 3-1: Example of Conflias in transarjons Figure 3-2: Deadlock Siruation Figure 3-3: Wait -for Graph Figure 5-1: Person object in Object Lens Figure 5-2: Aichitecrure of Object Lens Figure 6-1: Object DefiniDons Figure 6-2: Two-user Dismbuted Object Lens Figure 6-3: System W;de L'ruque Object ID Figure 6-4: Interactjve Transacnons Figure 6-5: Rule execunon transacuons Figure 6-6: L-.terleaving of Rules Figure 6-7: Resoi'. L".g Modif>-.Modif\- Conflict using Hybnd Im.plementauon Figure 6-8: Resolving a Rcad-Modif\' the Hybnd Conflict using Lmplementaiion Figure 6-9: Rule Execution Deadlock Figure 7-1: Distnbuted Ooject Lens

19

29 33 3-i

39 41 45 67 69 75 76 ''9

88 91

92 99 100 101 111

List of Tables

Table Tablt Table

4-1;

Dis-j-.ruiec Database Featjres

Fearures of ODier:-Oner.:ec 4-III: H\-?er.ex; Features 4-11:

Dauiascs

5^

60 63

Chapter

1

Introduction

Conventional record-onented rclauonal daxabases are rescricted they

manage.

car.

of mformanor.

The\ proMce da;a modeiing and cransacuon management capabii:i:c>

thai are wcli suited to business daia processing but

supponed coopera:;Ne ccmputer-ajded

in the i^-id

\«-ork

desirr..

appucations

sofrAare

intelligence knov. ledge bases.

Sjch

which are not adequate

L-.creasingI> important

for

compuier-

apphcanons include

developmen:. documema:ion authonng, and anif.cial

Tnese applicauons

Lmstructured objects and comp:ex relauonships

are T.teracnve

among

daia, people

l-.

narjre and deal

wi±

and scned'ules.

Object-oriented databases and hvper.ext systems anempt to provide the platform to support

models requL'ed

the semantic and data

89]

IS

one such system.

provide a system that

It

may

Object Lcjis [Lai 88. Maione

integrates fearurcs of hvTxrtext and

be used to

complex information such

for these applicauons.

as

v^xite specific

objea-onented system.s

to

appLicanons for retnevmg and browsing

meeting scheduling, project management and document

authonng.

However,

the current

implemcmauon

of Object Lens

cooperative applications; Object Sharing.

Our

goal

is to

Object Lens

fails

is

to

suppon

a

key fearure of

currently a single-user system.

propose an object sharing scheme that accommodates the key characteristics

of Object Lens (long interactive transactions combined with short rule-based transactions,

complex objeas, naive

users, and version maintenance).

,

-10-

1.1

Object Sharing

Object •

ar.c

in

Object-Oriented Databases and Hypertext Svstems

ir.fomanor. sharjig

Multiple

jser.- snc-l::

s-.

orjsc.-onented daubases and h>-pcncx; systems implies:

dc airie

;c

access documents and destrr.s created

:?\

oihe:

users. •

CoUaboratL-.e u?e:s should be able to viev. modi5iCaiions shared docjmer.t^ c: desirns (update p:opagat;or.

• D^'fere-.". useri-

others

To

work

update propagator,

(such

as

implemented

sc.-.err.e

and

and

ar.

s\stem>

transactions Ti^nc \s s>

a

concurrency control scheme, an

object protection scheme. car.

timestampmg

fcr dtsr-.butec databases

supported b> these

anv cf Lbe

uorkir.: ccr.currer.'jy should not be able to mterfere v.il- each

r.-.-ptr.tx:

locidng

tc

(.concurrenc> conirol;.

surpor. ob'ect shar_-.c these systems need tc have

databases and

made

shon, and the

not SL~.pl\

and

Unforronately object-oncmed

adopt the concurrenc\ conrrol schemes

update

propagation

The major problem^s

schemes proposed and

are the different narure

of the

of Lhe objects (complex vs. simple)

dif'^'"rnt nature

stems anc traditional database systems.

Hov.e\er these schemes can

be used as the basis for m.ore adequate schemes for object-onented databases and hv-pertext

systems"

Many

object-onented

database?

prototypes [Purdy

variations of locking for concurrency control.

protocol to disallcv.

87.

Fishman

Some systems

m.Jttple users from accessing

8".

Homick

87]

adopt

use a checkin-checkout

an object concurrently.

Existing

distributed h\-pcnext systems use either locking or version control to resolve possible conflicts from, concurrent users.

Most

of these systems do not support replication (multiple

copies of an obiect; or version maintenance.

-1!-

1.2

The Proposed Object Sharing Scheme

V,e

a-'fjc

proposed

ihc

thai

for

fnendliness

cradiuona]

concurrency concrol schemes

obiect-onenisd databases

are

not

adequate

v^eli

as

may

be

ihcLj

v.hert

systerr^s

for

of major imponance, and (2) modificanon

is

as

made

to

vananis use:

(I

the

object

nteractne!) o: automatically.

User fnendliness implies intolerable.

that

redoing user performed modificaiions

(ai

to

an object

disallowing users to access objects for long pcnods oi iimc

Cb'i

is

is

again

intolerable.

We

propose a concurrency control scheme thai

is

This scheme makes no restncnons on replication,

scheme would

be applicable.

sell

It

also

a hybrid of locking

i.e..

accommodates

and version control.

objects m.ay be repLicaied and the the existence of different versions

of an object.

We

feel

scheme

that this

is

emphasize user friendliness and an

object

form

and

and hypenext applications

suitable for object-onented that

automate

combine

interactive

modiiicauons through editing of

through

modifications

that

the

execution

of

ruie-bastd

cxnsacaons.

1.3

Object Lens

Objea Lens

is

an mtegraied (hypertext, object-oriented daiabase, rule-based) environment

for developing coopcraiive

knowledge (using

work

applications.

It

combines the fomial representation of

strucrures such as frames, inheritance networks and production rules) in

knowledge-based systems with the informal representation of infomiation (unstructure or graphics) in hypenext systems to present a scmiformal middleground.

scmanuc

structure to

hypenext nodes

that allows the ease

of

text

Object Lens adds

summanzanon of objea

-

-i;-

anc

ccr.:e.-.:>

objerts

I:

brrv.

a.-:"'

rs.a:;or.>r.:r>

ar.d

cf ccmr'.ex

documeniatior.

irj'rr-r.a:!??..

of a coliecjor,

of

de\elop~.sr.:

(r:>T>er.ex:

..

schedding. projec: management and

meet'-nc

including

by

objects such as difiertr:. —.essaze types, pecp'.e. task,

Tne basic primitives

1.

n-.ampjlatior.

^e LS-rc :? de^e.?r sr>er:f;c applicanor.s lo: L'lformatior. shanr.c. rer-.f-L".:

r-.a>

5L-.L

search

2u:?rr.a:;:

ar.c

a\ ailabie lo die

programjner

knowledge on various

CTpiici:

mcedngs. produr^ and companies.

to build his

applicauons

and object types Lirough

Facilities i?: creatine object instances

are:

a tem.plate-

basec jser interlace modi-f> objects by editLte the

2- Facilities tc

window

display corresponding tc

the object create r_e-t:2sed agents

3. Facilities tr

'Jiat

automaucaliy process Lnfomianon

on behalf cf the user. 4. Facilities

collect

tc

^T

Featti'''*^ C*^ ar' c*e""

We

toge-ner

objects

into

folders.

The

folders

be

m.a>

maintained by an agent.

autom.aticall;.

r

c* O'^'er* I_en^

feel that tne follcv. j-.g charactenst^cs of

Object Lens liighly in£uencc our choice of an

object sharjig scheme •

Naive Users

makes

Orject Lens

user-ir.tsrt'ace

is

a m.ajor

geared toward non-programjming users.

component of

the system..

model u'iiuences what aspects of object sharing •

Combination of Objects

may

interactively



\ersJon

.>\utomatic

ei'jier

by

a user

be

.Maintenance

applicauons, Ob'ect Lens of objects.

As

exposed

Tne uscr-intenace to the user.

ancT Interactive Modifications of Objects

m.odtfied

edimg

air

Tms

automancally by "rule-based agents" or

a display

a

tool

wLndow corresponding for

shodd supp>on

the

unplemcntL-.g

to the object.

coopcradvc

work

Maintenance of different versions

-13-

D:s?:bu:ed Ob'?:: Lgr.s

Dismbuted Object Lens should suppon object sharjig bcnveen various ncrwork.

should suppon locanon rransparency, rephcauon traiispar;r.c\

1:

trar.sparcncv'

Users any where

and possibly access transparency

in :he

.

concurrenc>

ncrwork

able to reference and dereference objecis located elsewhere in the nerwork.

provide a mechanism for object protecuon.

It

sho'uld

conflicts that anse because of concurrent access tc

1.4 Thesis

main concern

and the possible

solutions

"instances" in Object Lens.

not be

sho'uJd be

It

should

guard against or resolve possible

object by a

number

of users.

Approach

In this thesis, our

object

ar.

on the

users

to

exp'.onng the different issues

these

V.'e v.-ii

r\-pc defjiitions, i.e. the

concemed with

15

issues.

assume

PERSON

all

We

are

in object

sharing

concerned with sharjig object

users have the

objec: universally

mvohed

same

means

object hierarchies and

the

same

object type coercion. [Lee 88] explores the various

Lhuig.

We

will

ways of doing

type translation.

We

explore

number

of dismbuted

objea sharing is

is

achieved.

Most of

to

examine how

these systems are prototypes and exjxnmental.

Our

on Lhe architecture configuration of the distributed systems (centralized or

distributed), the concurrency control upxiaie propagation

We

systems (distributed relational daiabases,

h\pcnext systems and distributed object-oriented systems)

distributed

emphasis

large

a

schemes used, the protection schemes used and the

schemes adopted.

specify the requirements and fearures of Distributed Object Lens and then study the

suitability of the various techniques for the

Object Lens environment.

\^e

recommend

Obiec: Lens

ar.c

1.5 Thesis

Outline

Chapter in the

2

examines the

frameuork of

Chapter

3

ar.:

Chap'^r

most appropriate

the

var,o-js arch:tecnires for

ir.

cor.:t>.:

of

aesigr, for Distributed Obiec: Lens.

objea sharing

in a distributed environmien:

schemes

to

a

dismbuted

acme\Lng object sharing

in

system-.

I;

a distributed

surveys the

vanous

envuonmen:.

The

fearjres are conc-rrenc;. conrrol. update propagation and protection.

-i

preser.-.s

a

bterar^re

s'jr%e>

of various distributed

systems from relarional

databases to objec:-onentec datar^ises to h\penext systems. Tne emphasis

on

the

SerNer-Chen: Model.

the

descnDe> vanou> features of

aJgcr/Jrris and reieN

Lradeoffs betueer. the difieren; techr.iqjes

the

S'jr-jr.ar.ze

fL^.a^i)

the conc'jrrenc;.

conrro! m.tcharj.sm.s adopted, the propagation

m

the surve\

is

methods useJ and the

version control schemes explored.

Chapter

5 describes the fear^res

and characteristics of Object Lens.

Chapter 6 describes the requirements for Distributed Obiect Lens.

shanng and protection

in

possible transactions in

Objea Lens and accordmgly examines

the context of the Object

concurrency control describing the tradeoffs. Object Lens

is

A

It

Lens envTronment.

descnbes object It

defines the

the different techniques for

hybrid scherrie best suitable for Distributed

proposed.

Chapter 7 summarizes the key tradeoffs between the various choices and schemes and then presents Lhe best appropriate approach for Distributed Object Lens.

15-

Chapter

2

Architectures for Object Sharing

Users of centralized systems such as maLiframes are accustomed

and objects

to share da*^

With

oLher users of the system.

w-ith

with, the idea

of being able

the ad\ent of personal

computers, workstaiions and nerworts, Lhe essential schemes and algorithms to suppon

fcamres of object shanng needed

The

to

'c>e

revised to v».ork

Allow muluple in

2.

from one user

Multiple copies of an object

ensure that in time.

Lhe

3

all

may

is

to all other

may

CProtection').

(i.e.,

The system need

to

the same") at any point

copies (UpHJate Propagaiion).

the illusion that the user

is

multi-programmed fashion while preserving

executing on a dedicated system.

To

attain this

system should prevent modifications made by one user from

the

with

interfering

reads

or

The concurrency

Control).

system because: different

these objects

achieved by propagating changes made to one copy of

Perrrut users to access object in a

goal,

)

to

exist in the system.

copies of the object are consistent

Consistency

objea

The access allowed

i.

another {Read, Wnte. Delete

to

are:

various sues tc access objects created b\ any one user

a:

system (Shared Access

lhe

differ

users

such dismbuted environments

system

essential features to object sharing in a distributed

1.

ir.

sites

mechanism another sue.

ai

(a) users

in

one

a

updates control

may

problem

is

by

another

(Concurrency

exacerbated in a distributed

simultaneously access objects stored

distributed

site

performed

system

and

cannot mstantaneously

(b)

a

concurrency

know about

a:

many

control

interaction

at

-16-

Tne.T

approache;;

three

aj-f

ic

cb;ec: sharing

l".

a

dismbuted environmer.:

Tr.?

three

approacnes are :Tie5sace-ba5ed, centraiizec shared object space and distributed snared object space

assume

V.'t

A

focus

\^'e

tr.i-

oii:

anention or the locauon and maintenance of shared obiects

perscni! object> are located

message-based approach suggests

of specialized

electronic

information sharing

is

mail

a:

Lha: object sharing

To

messages.

done thjough

the local site for pjcrsonal use only.

a

could be done through the exchange

large

extent

the use of electronic mail.

in

distributed

The suggestion

is

systems that this

could be extended to incorporate exchange and sharing of objects.

Tne cenral_zed approach suggests

Lniv;dual v-ori^staticns nttd

nerworx.

approach

Tr.2S

The

is

shared objects be located to direct

at

a central

sue

Users

h:gbJ> dependent on the availability of the central

at

different sues snouid

'oe

ir.

the

shared object access to the centra] sue. site.

distributed approach suggests that shared objects be distributed at different sites

nerw.o:k

Vv'e

Lhat

m

the

able to access objects located at each sue.

present the centralized and distributed approach to objea sharing in framework of a

Model

Serv'er-Cltent

The

client

is

locate

The at

ser\'er

provides the required object m.anagement and objects.

each woritstation

to

direct

object requests.

In the

centralized

may

be provided

approach, one object server exists in the distributed system. Object caches a: the client

sue to improve object access. In the distributed approach several objea servers

exist

Tnesc may be dedicated machines as

caches

ai

the client workstation

may improve

in the central

approach, in which case object

performance. Another option

is

to locate both

the scr\'er and the client processes at the workstation. This eliminates the need for a cache.

We

examine

in this

chapter the various possible implementations of each of these schemes

in the context of an object-oriented,

knowledge -based, hypertext systems

Lens.

^preaches adopted by

O'ur sur\e\

fearures to keep in

is

a SNTithesis of

mind about

these systems arc:

similar to Object

different systems.

The major



Complix and



Maiupulanor. ofobiecis perr'ormed ihrough rjie execuuon or use: inie:aci;or



Triggers :hai activaic processes



A

scrru-s3'jc:ured objects.

uhen

stored objects are modified.

of long ar.d shor. irar.sac'.ions

rr.ixtiire

Tne next chapter

is

reser.ed to

cxammng

vanojs aigonthLTis and schemes p'c>posed

concurrency control, up>da:c propaganon and protection.

dismbuted systems indjcanng

v.

control and update propagation

for

Chapter 4 presents a survey of

hat object sharing approach they use, and

'-he

concurrency

schemes adopted

Message Based Object Sharing

2.1

This approach suggests that objects are shared ber*een different users by embedding them in

electromc

m.ail

messages

embedded

either literally

that are then

into the

mailed through the ner*'ork. Tne objects could be

message or embedded

requires that the receiving end extraa the object

li link

descnpuon and

The

form.

the unique

first

objea

method

identifier

suprphed by the underlying system, and buCd a local copy of the object with the appropnaic

unique object

message

tc the

objea by mailed,

Seoion

2.1.1

id.

The second method implies

objea he uishes

explicitly asking for

who

15

to share.

ii

if

It

that Lhe

is

up

sender insens only

to the receiving

decrr»ed useful.

The question

end is

a reference in the

to dereference the

once the objea

is

responsible for maintaining consistency of the different objea copies.

4.3 gives a clearer account of this method.

Advantages or Approach

T7)e advantages of the

message-based approach

• Fits well with distributed culture

are the following:

IS-

Fo: sys-^m?

C-.i:

L"jrrma:.or..

share

Moreover. na:\

e

m.esiages

u?L-g

may

users

fee'

2.1.2

sr.are

objects

more comfonible wuh

extensr.e use of messages to

seem.s

tc

be

a

evoiuuon.

narura^

explicit (exposed

shanng of objects

Disadvantages of Approach

disadvar.tages of the messagr-based approach are the following: • Lirr^ted tc L^jna-.i-.g object

Limited

'c :r.::iar.ri

Tnis approach to

:c

make

V.VJ: c-ar. sparer,: snaTiT.t

•L-har.

The

are ee2_-ec -.ruardv na:%e users a-nc L-a:

omers

1:

rr.^irl)

~

ec' shs'':r£

focuses

or. Liitiating

arises of maintaining

l-.::

me

i?— hutec

approach

to object sharing

Sharing

This approach dictates tha:

2II

the network.

utformauon (objects) deemed sharabie.

person has access to the

The

objects") m.us:

overall conng^jration

This coriiguranon

falls into Lhe

is

be located

server.

workstation. accesses.

The

aa

With

prol ably be due to processL^g

remote

is

the

a:

(i.e..

accessible by

at

may

the

sites.

central

which

is

site

from

server

local area

their

slower than local

be useful to explain to the user

mcreased speed of

end

site acts as a

as clients requesting objects

system, hides the details of the remote access

Indicaung that an access

and updatr.g these

a central dedicated site in

at

Server-Client Model, where the central

Users will remotely access objects

client the reason for the delay.

would

accessible

depicted in Figure 2-1.

of shared objects and the other v.orkstaaons in the nerworic

from the

making an objea

problem

2.2 Centralized Object

I

i.e.,

the

a; CLfr'eren: sites,

Tr^^ evol'-es

more than

object shanng.

does nc: address the maintenance of the shared objea. Once there are several

copies cf ihe oDjec; objects

^

shanng

ai

the

networks the delay

-19-

Figure2-1: Cenoaiizcd Object Server

2^.1 Advantages of Approach

Tne advantages of

the cenc-alized

approach



Simple concuirencv' control.



No overhead due

• SLTiple Riile

to

are;

update propaganor..

Rcsoluuon

Simple concurrence convol All accesses to shartd objeCTs must go through the cenc'al server. centra! ser\er to control a

and coordinate concurrent access

to the

It

same

mechanism vanes from locking (checkout, chcckin). timestampL-.g

object.

.

Of

detail.

interest in this

approach are the mechanisms

for the

T^e choice of

optLTustic control or

Chapter 3 and Chapter 4 discuss the various mechanisms

version merging.

amount of

would be easy

in

a great

thai pertain to a single

copy of the objea.

No

update propanahon overhead

All upxiaies are directed to the central server.

objea

exists

and

is

Only

always obtained from the central

overhead encountered

in the distributed or

a single accessible site.

cached approach

copy of a shared

Hence, any ujxiaied propagation is

completely avoided.

-20-

Sinr.e Rule Rcs'lur-^r

Simple quenes

ca.-.

csr~L approach silt

be lorrr.ulatei

aI'.cv->

b\ lookiTiC ror objerti

2.2.2

r„:e5

-j-.e

'>r.a:

l-.

kt.ou ledge -based sysierr.s usir.g

p^r.zjj-.-jr.z

IF-THEN

shared objects tc be resolved

ic

rjles.

the

a:

Tne

cenraJ

maicr. and perfonr. the appropriate manipuianon.

Disadvantages of Approach

TTie disadvaniaces cf the cenralized approach are the following: •

Contention

a:

Cenn-a! Site

• AvailabiliiN c: •

Rerr.cis access

Cenral a:

S;:e

eNer. snared ocjtct acces.

Cortenrion or Cc.r-c' S:u

The

may

central site needs to process object requests

lead tc

a

decradatior

significar.:

from

all

workstanons

The

perfom^^ance

ir.

in the

network. This

server should be

dsyTicbj-onously accept object requests and pass ±ie object ids to the disk

rerieval

Once

Ayai!ab:l:r\

Tne site.

ar.y

o'^

the objer.

is

available

it

would be returned

able

manager

to

for

to the requester client.

Cerr-g! S:re

entire systerr.

's

access

;c

shared objects

is

dependent on uhe

availabilirv of

one central

In case of cental s:te failure, users at various worl^^tanor^ will be unable to access

shared objects.

Remote access Even- time

or

Tms

is

not a very desirable feature.

fvf\ shaded obec: access

a shared object

to the central server

is

accessed

demanding

a:

any workstaaon

the object.

accessed has not be«n modified since the

Delays

this results in a request

are unacceptable

last access.

when

being sent

the shared object

2.2.3

Improved Performance usmg Cachmg

This problem of unnecessars successive remote accesses to

by desicr.atir.g

ar.

As long

objec.5.

area lt memory-

wnte would be done

issue

caching

at

'^"le

m

the

cache

'iien

w-nnen through

to the ser%er.

is

A

Rules and

locally on the cached copy.

what granulanry

level of an object.

One simple opaon

caching performed.

is

Tne other opuon

segments tcolleaion of

objec:s,.

A

basic

is

to pierform

contained such a cluster of objects, then

objea references

in the

perform

noaon

in

caching of larger units such as

object-onentcd

would be accessed together should be clustered

because of a decrease

is

Hence, objects are the unit of transfer benAeen the central

server and the cache.

objects that

users, us state

remevsd

Csrre

at

is

cached copy and

to the

methods may be {jcrformed

One

ine individuaJ \>.orkstanons to cache remotely

a:

objea has not been modified by other

as Lhe

same object may be solved

Future accesses to the object will be directed to the local cached copy.

Lhe valid siaic.

G'-aru'ia'-ir. o'

'j-.e

stems

together.

approach could lead

this

s>

to

is

that related

If the

segment

improved performance

number of remote accesses performed, because successive same segment.

are to objects in the

VaLdation of Cache

Moreover, the system should guarantee

thai a user will

system should propagate the changes made are

cached

1

.

ai

woricstanons. There are

The server maintains If

an update

is

a

list

always access the

to an object to

number of ways

ail

the copies of the

list is

are notified of the update.

The

objea or prompt

do

the user to

The

objea

that

ai

each workstanon.

checked and the appropriaie workstations

client

so.

copy.

for propagating the updates:

of the objects thai arc cached

received, the

latest

A

may

automatically fetch the updated

cleaner implementation would be to set

tr.erer- i:

checked cj; cbjecis

update p:oces>

2.

1:'

ob;ec:

ar.

is

l:

L-^.e

cbiec.

upda'.ed.

ir.e

l=.

the ser%er thai

a;

It IS

3.

frorr. ir.t

refetched from ihe

Timesiamp?

are

ser\e: sends messages tc

cache

stale of the object.

L:

the objcc:

maintaLned for objects

timestamp

If

retnevL-g the objec:

ar.

is

valid

me

caches that hold

The cbent anempts it

is

a

to

reramed otherwise

scr%'er.

the times'.amr of the obiec;

loca^

mgce:

automatical]},

updated.

cop> of the obiec: nva^ica--ir.g the access the cbier.

wUi

a

the central server

At each access.

retnev&d from the server and compared to the

is

the object

differer.:.

as

at

Tms

whole.

is

retrieved.

Tnis

is

faster thar.

requires the maintenance of a larger

number of tme stamps than previous method. Method 2 required nme stamps for

seements and used cbects

for

all

orjecL-

a*

the ser\er zr.d

ir.

ir.

the cache.

This method requires timestamps

the cache.

Repiacernen: of cached unirs

Tne

size

Reneved

of the cache

1.

mucr. smaller

thar.

the size

LRU

.Ar.

object replacement straiegv

Geast reccnt]\ used

may

of memor>-

The cache

objer.s car. no: be cached mdefinitely.

managed

to be

is

is

required.

s

the object

a:

server.

Lrnited memory- space needs

The options

are:

be used to select infrequently accessed objects

from the cache.

The

2.

FIFO

3.

Random, may be used

(first-in-first-out)

server needs to

'oe

may

to

be used to selea the oldest object in the cache.

sciea the object

to

be replaced

at

randomly.

informed of the cache's flushed enincs so thai

it

updates

its list

of

ob'ccts and the coiTespondL''.c caches the

compiexKies associated

rropaearion

These

is

bclou

ir.

me

v.

ith

object replicatior..

will also be

Concurrency control

one such complexirv-.

are discussed

objects art cached our system v-U! have rr.an> of

d:snbuted object ser\e:

a

v>.il-.

If

Upcate

more complicated

context of distributed objea servers.

2^.4 Implemenuucn of Central Data Server

The next imponant question two main options:

the actual

is

a central relational

implemenuiion of the

database server and

There are

central scr^'er.

objea

a central

sen-'er.

2^.4.1 Central Database Sever

A

database server build on top

implement a central data

o'^

a convennor.al

reiauonal daiaoase

Shared object instances would be stored

server.

Converting complex objects into a relation

relations.

may

is

be used to

terms of

in

not always a one step task.

Difficulnes anse because of the network strucrure of tne object space (objects u:th links to other objects).

network.

A

Put in relational database terminology,

Moreover, converting

more

This again

to

difficult.

is

Another

±e

object

of rclauons to ensure

a field

not easy to

map

another important feature

in the

anses

of a Lens

Objea could be

into a relarion.

systems

are stored as relanons ai the server

can only be performed

ckscnbed

at

m

in

4

1

we

are

a

combination of

Mapping hypencxt-Uke power of is

hypertext.

an exception^).

concerned wiih.

methods can not be performed

the client side

Secoon

mapping semi-sructured objeas

difficulty

database systems do not provide the trigger fcarure (R*

is

number

normalize

normal form makes objea (clustering related objects together for

relations wiih pointers to flat files again diminishes the

'This sysiem

difficult to

and ensure mutual independencies between different aimbutes.

The contents of

into relauons. links.

is

given object will need to be represented by a

atomicity of domains

fast access)

it

where objects are formed.

text

and

objects into

Most reiauonal This again

is

Moreover, since objects at

the server.

Methods

Tne advan:age>

ci usir.r a da-.aba^t ser. s:

provides the techr.olor> lor

:2^^;

i$

iha:

:t i5

from

easiJ\ obLainabie

the markei.

li

data access ar.c concurrent) connrol (aiihouzh thus rrugh:

no: be adequate

Tne database uorkstaijons

l"

queries tha:

resiJ;

processing

set

be

the nerv.o:k-

I:

is

abie

ine

:o

of the

d_"_

Tne

sues

accept

in the

from vanous

requests

fomi of

a set of relanonal

appropnaie relauons thai correspond

to

the

of the cuent end to translate object requests into the

of reiational qjenes.

a: Dotr.

asvTichronousJy

Tnese requests may be

retrieval

the

ir.

requested object,

apprcpnate

must

ser%er

client

Notice tha:

this requires

a

tremendous amount of

end should also extraa the necessan' informauon from

the reruTned njpies to build up the requested objea.

Tne commun: cation

betv.eer. the serv'er

and rerumec ruple:

Tnt

management, concurrency

systerr.

and the client will be

uiT

re;>-

in

frmi

of relational quenes

on the rclanonal database

control, authonzarion

transacuon

for

and recover)'.

22.42 Central Object Sever

A

cenrai object server ma) be used to implement the central data server.

returns objects Lhat are

database serve:

remms

m

the format of objects in obje

tuples that need to^bc laier

a -oriented

decomposed

systems.

An

object server

(Recall that the

at the client side to

form the

objea). Messages bcrvteen the client and the server would be in the form of objea requests similar to those tha: access local objects.

Unique Objea IDs or objea queries

(eg.,

description or selection rules) uill be used to access objects at the central objea server.

Tne

central object server will be built

on top of a storage manager. The storage manager

could either be an extended relational storage system or a persistent objea relationship between an object server and objects filescrver and files.

is

analogous

store.

to the relationship

The

between a

The

first

approach requires extending

a relational storage

system

to

accommodate:

d;ifferen: concurrency concol requirements Lha: result from, transacaons character^uc of objcct-onented hNperxext appucauons.

• the

• vcrsior. •

the

long

maintenance and concrol.

mappmg complex

efficiendy

and

h\-p)cnex!

semis tructured objects

into

a

rclaiionai storage system-.

tnggermg of processes upwn



The second approach

Tne



the

modi^cauon

of stored objects.

requires building or acquiring a persistent

obiec: store accepts unique cDjec: ids or object

objea

store.

quenes and rerums the

corresponding objects.

concurrency conixol can be customized for the Objea Lens environment.



• version

m.aintenance and control.

• version

merging.



recovery and resiliency.

• protection

and authorization.

• triggers.

The advanuges

of the

the market place.

The advantages of

first

approach

Feamres of the

is

that a rsiaaonal storage

fast access, protection

second approach

is

thai the

The disadvanuge

the applicauons of interest.

is

system

may

be acquired in

and recovery- are already provided.

objea

store

the effon

would be

needed

tailored to best suit

to build

such an object

store.

23

Distributed Object Sharing

This approach proposes that shared objects be distributed Objects

may

be dismbuted in a

manner such

at

various sues

thai:

1

one copy of the objea

2.

mulnple copies of the object are present (objects arc rcplicaicd).

3.

a copy of the

objea

is

is

present.

rcplicaicd at each site (fully redundant).

in

the nerAork.

-26-

Repbcanon

leads to

because

requires

it

L-T.provemen:

ar.

,

uTcreased

I

memor>' space

Licreased overhead to ensure that updates go to

Moreover,

consistent.

are

traditional

deterioration in performance

u*'

all

to

It

also

may

is

is

copies of an objea and that

performed

at

expensi%e

hold replicated objects and. (2)

concurrency control schemes lead

replication

In the case of no rephcanon, ob'ects

and throughput.

avajJabilir.-

ir,

more than 4

to

all

copies

an overall

sues.

be allowed to rmgraic from one sue to another.

This means Lhai object manipulation m.ay be performed locally.

2J.1 Advantages of Approach

The advantages of

the distributed

approach



Increased availabilirv' of shared cata.



Lmproved access p>erformance.



Lessened contenuon

at

are:

storage sue

AvaHab'.'.ir.

In a distributed system access to shared data

one at

site,

since the data

vanous

sites

is

distributed over a

is

no longer dependent on the availability of

number of

udl make data access msensiuve

sites.

Moreover, replication of data

to the failure of a

paruculax

site.

Improved access Replication will allow objea access to be directed to the closest the objea. V»'nat site

thiis is

depends on the implementaiion. (See Section

Lessened coniennon qi single srorgge

improvement

machine.

in

contains a copy of 2.3.3).

site

In the distributed case, object requests go to one of a to an

site that

number of objea

performance because objea access

is

no longer

servers.

This leads

restricted to a single

2

J. 2 Disad\anta^es of

Tne d:sadvar.:ace> rf

Approach

Lnt cLsr-.^uted



mere



upda:; propiCa:.?r. c^ernead



complex



complex recoverN

aprroach

are:

corr.piex concurrenrx control.

rule resolunor..

Complex Concun-enr\

Corp-:'!

Ailovkuic object rephcanon complicaies concurrency control because concurrcn: accesscrs at

different sites are harder to detect than concurrent acccsscrs ai one sue.

to access the closes: ccr;- of

ar,

object and perforrr. his changes.

to detect

such confiiris and provide

preser.:>

a

sccuon

mechanism

mechanisms appropriate

is

able

The system should be

able

for resolving them.

of su;h detection and resolution

detailed s'ur>e>

A presents

a

Each user

Chapter 3 section 3

mechanisms and Chapter 6

for Distributed Object Lens.

Updaic Prnpa£a:ior AlloNMng replication introduces the problem of maintaining consistency between the various copies of an object

at

the various sues.

For traditional database systems

be guaranteed tnat he b reading tne latest committed cop> of an objea. that thus requirement

it is

suffiaent to

ma>

pve

be relaxed in an

cnvironmem such

a user access to the lattst local

not be the latest copy in the distributed system.

We

Chapter

will see later

as Object Lens. In

copy with an indication

must

a user

some

thai

it

cases

might

3 section 2 presents a detailed

account of the various update propagation strategies and Chapter 6 section 5 describes jjropagarion of updates

may

be performed in Distributed

how

Objea Lens.

Complex Recovery Rccoverv- and reliabilin- are partitions

may

Inconsistencies

result

mav

in

much more complicated inconsistencies

between

in a distributed

various

be detected but are verv hard to resolve.

copies

system. ai

Network

various

sites.

-28-

Complex Rule Resolution Since objeas are dismbutfrd over

a

number of

sues, this requires thai a rule be applied

m

here the objects in question are stored

the sues

v.

the rule.

There are three possible ways

to

handle

order to search for objeas that match

this:

The collection of objects being considered may be

l.Subrules.

divided mco subcoUecuons indicating their location sent to each of the objects.

The

back

the

:o

rule.

The

A

message

is

then

rules fire at each of the storage sites and the results are directed

sue.

initiating

This

is

analogous

rule

is

at

simple: level to query

a

relational databases.

The required objects may migrate

Migration.

2.

site.

virrually

appropnate sue containing the rule and the considered

m distributed

execution

at

to the site

of execuaon of the

then fired and the appropriate results returned. The rmgrated

objeas could be returned

to their

onginaJ

site

then or

a:

a future time

when

the\ are requested.

3.

Replication.

In the fully redundant case,

already present

need

to access

at

his

objea

sers-er.

an remote objeas.

all

objects accessed by a user are

This means that any fiXed rule docs not

This of course requires an increase

amount of memory space needed and an increase

m

m

the

the overhead inairred

because of update propagarion and complex concurrency control.

2JJ Implementation There

are three

of a Distributed Data Server

main approaches

environment. TTie

sites

may

can store local as well as

system

may

also be

to distributing

shared objects over sites in a distributed

be dedicated objea servers or extended super workstations that

commonly used

shared objects.

The

object-oritcnted hypertext

implemented on top of a distributed database system.

the requirements and implications of each of these approaches in turn.

We

will address

-29-

2-?. 3.1

Distributed Object Server

n:

Thii- approacr. irr.z'.isb

m!Eh:

no*,

ex:sier.ce of several object se-. ers ui

supper. repl::a:ion of daia

.'.

tz:

Tnc

me ner^oiK and migh;

aciua] confifurauor. of the

ncrvork

is

depicted

or

ir.

rerejf

LAN

Figure 2-2:

me

In terms of

A

client

server.

Tnc

chen:-ser.er model, there are a

serMce

We

w

E>istribuie'

mentioned

in section 2.2.3 the

unplicauons of caching.

is

to

manage

the

-31-

Duties of Obiec: Server

Thf

duties of the object ser\er car.

sainmanzed

Accep: objec: rsques:s



Protection and Au'jionza'jor. of objects.



Version Conrol



Recover



Clusiennc



Tngce:>



Update Propagarion



Concurrenc} Conro!

o: queries

as foIio>AS

and rerum objects,



Accer: cbier:

The

x

reaue^^:^ or auer.es

object se:^ e: processes the uruque objea id and renims the requested object.

also be able to accept a quer% indicating specific attributes of an

objects tha:

match

Ir.dexir.z sc.z other feauires

need to be used

objea and return

to

It

should

the set of

improve access time.

Protect! en and Author.t:a::?r of O'necis

Tne

object

Given

an.

manage:

is

responsible for mamtaining concroDed access tc shared objects.

object access request and the user's id the objea

authonzed

to access the object in the specified

capabiiirv -based

mechanism

or access control

manager

verifies that the user is

mode. Protection may be performed using lists.

a

Sec Section 3.4 and Section 6.3 for

further details.

Version Control

The objea manage:

is

responsible for maintaining different versions of the objea and

alerting the user to the existence of the different versions.

Recovery

The

object sever

is

responsible for ensuring the persistence of the objeas.

sound recover\ scheme

u^

case of sue failures.

It

should have a

Clustgnng

If

segments

used as the

are

'jrut

of transfer berv-esr. ihe ser-c: and the client cache

of cachx.g), then Lhe object ser.er

segments stored

is

fir,

case

responsible for clustering related objects together mto

the server.

ai

Tnggers

The objea

objea manager

server should be able to send trigger messages to the

have been updated or

if

links have

if

objects

been added.

Concurrencv Conrc'. and Update Prcraeatior

It

is

difficult to classif>-

important funcuonaliues

2JJ2

in the context

is

is

highly dependent on the concuirencN- and propagation

local

in

Chapter 6 regarding each of the

of Object Lens.

at

each Workstation

an extension of the distributed object server approach.

distributed over the its

It

Object Server and .Manager

This ^rproach

have

fall.

uhat end (object server or objea manager) each of these

Implementation notes are made

schemes adopted. schemes

at

memor,- space of

the workstations.

Each worksution

Objects are is

extended

objea manager and an object ser\er talrcady present). Object servers

longer dedicated machines but implemented

at

responsible for protecting objects

manager, which

in

rum

at its site.

Objea access

directs a to the appropriate

Communication occurs between objea managers and objea server as

in the earlier

objea manager and

the

server approach.

Each objea server

each workstarion.

Objea managers

responsible for local objeas that could be shared or personal.

directed

is

objea manager as

opposed

to

aie

if

first to

the object

is

to

no is

are only

the local

not local.

between object manager

approach to access an objea. Otherwise, the dudes of the

objea server

are

more

or less the

same

as in the distnbuted object

-Si-

Figure 2-4: Disnibui&d Reianonal Database i

ii

3.

Caching

No cachmg

Objec: ser/er and object manage: clien:

a:

each workstation

a Rephcaiion b No rephcauon Nligrauon i

ii

The other dimension on top of

No migrauon

c: thjs

is

how. the object scr\-er

a relational storage systrrr. or

is

mpiemented. Tne

:\ Control

also look

a:

system

to

schemes proposed

provide object sharing

to the

capabilr^-ies.

var.ous protection schemes that p. -vide differing access rights tc sharers of

a shared object

3.1 Replication

Data

replication

means

that

representatives at several sites •

Reduced commurjcaiion

a

given

logical

daia

can

have

several

The advantages of such an arrangement traffic

dis'jnct

arc:

and improved response tame by providmg local

representanves.



Accesses

to the

same logical data by several users may be serviced

in parallel,

improving system, throughput.

• Increased

system availabUiry by allowing a given data object to be available for

processing as long as

at least

one replica

is

available.

stored

-56-

SupportLng

hcAe'-er. corriplica'.ss ih: deiails of data rerieval and TiodLfica::cr.

r:-p'.:zai

and Update Propagation

3.2 ConsistencN

.A-".

of

update to

Consistency of

ob'er..

's.s

logical da:a object rr/jst be propagated to ail stored rcprcsentanves

e:'-fr.

a.-:>

representatives

th.e

Tv-o degrees of

be ens'jred.

n-.-js:

consistency are possibie:

• Perfect

same

consistency L-nplies thai '•alues

initial

upcatec

Lnstantly

l- i-.e ia.—.:



a: the

representatives

sacr.

•*a> to

because scm.e

difnciil: to ensjre

una\a:Iab".e

and ^nsr

all

-"

.'.

~

'~ •

~

?.'

r-—.

Update

after

a

is

arc trj-ee basic me'^hods for

problem,

This

cim.e

ma\

is

be

i-.at

all

representatives v-iH evenmally be tr.e

same value

a:

some tme

even

-s.

pnm.ary copy.

A

phmary copy.

It is

the update to

ail

m

a

a

singie-uscr

disthbuted

muln-uscr system

may

system.,

.

Ail

One representanve of vi,-ntes

vtnte

is

done

the data object

to the data object

complete as soon as

it

is

uhere

be ignored. There

pcrformang update propagauon:

Ccpv Update

the prjT.ary copy.

may

are

updates have stopped.

Propagation

Pnraar.-

r^t^resentatr-ss

time of updais

concurrencv' control consideratior^s uhat anse

1.

the

.

contariing the repre>er.:arves

updated, so tha: the representatives converge to al

?.

remain identical throughout

sites

Lcoser fom^.s of consistercy im.pA

Lnter%

diia cb;ec: have the

:: L-.e

designated as

must be directed

to Lhe

has been applied to the

then the primary copy's site's responsibility to proragaie

oLher sues that have reprcscntahves of the data objea. Reads

be directed to any representanve of the data object. Tnc disadvanuge of

Lh:s

me'jioc

i:s

is

solution to ih:


ihe

Dismbjtec U?da:e ^u-nte-aU of

data

the

A

..

applied to

ail

A

unavailable (disconnected., 10

3.

i.e.,

the

A

is

may

be directed to any is

applied

complete onJ\ when

difficulty

would

site is dov..-.. a

rule).

unte operation

u-nte

a uTite

pninan

i:

to

all

has been

anscs when some sues arc

fail if

not

all sites

are available

approse w.s update.

Ma'?r.r\ Co-.^er-ji object,

WTue

is

[Demers SS]

however

,

orl]~

Acii--^ the uTite are directed to ai! representatives

a

of an

majority of sues need to approve the update before the

com.~:r.ed.

alcor/j---r.

allo-»>.'s

for a looser consistency control.

differe-: replicas evenrjally converge.

cns'ure tha:

outdated copy of

3.3

Tne

representatives.

Once

read operanon

object.

represen;a:ues of the data obje~.

.

some voLing

ele::?^ (according to

site is

represen:a::\e

site

One

ar. ob;.s::.

Background processes

Hence reads may be direaed

to an

Tnis migh: be acceptable for some applications.

CoDCurrenc} Control

In a multi-user system, different users

Concurrency control preserves the system.

access the same logical data object concurrently.

illusion thai

each user

is

executing alone in a dedicated

Concurrency control prevents data modifications performed by one user from

interfering with data

problem

may

is

remevals and ujxiatcs performed by another. The concurrency control

exacerbated

• Users

may

svstem.

in a distributed

access data stored

system because: in

many

different

computers

in a distributed

-38-



Users

rr.a>

daia objec!

concurren-Jy access differen: representai:vcs of die same logical at

differer.t

One sue cannot

sites.

insian'^aneously knov.

about

LT.eractior.s at oiher sites.

Conflicts that

[Couiouns

rr.ay

anse

fall

into

two caiegones: version conHias and senaJizable conilicts

88].

Version Conflias

These

resuit

\».hen

users

independent modificanons

access

representanves

different

to different fields or slots in the object.

To

resolved using version control and mereir.g

illustrate the

consider a fue accessed by rv.o concurrent transacuons. The at

the top of a f^e and the secor.:

merged

to

of an

mclude both changes

—odjies

te\: at the

object

and perform

Such confnas may be

notion of version confhcts.

first

bortom of a

transacuon modifies text file.

Tne versions can be

Su;h concurrency control schemes wlC be discussed

in

section 3.3.5.

Senalizable Confjcts

Tnese

cor.f.icts

modificauons

anse when users access an objea concurrently and perform dependent objea.

Here

concurrency

achieved

adopting

a

syTichroruzaaon technique that ensures that the outcome of p*-o interleaved transactions

is

to

the

control

is

ry

equivalent to execution of the rwo transactions in serial order [Bernstein 81].

techniques prevent or detect conflicts serializable conflict, consider a data

when

To

they occur.

illustraxe

the

objea x and two transactions Tj and T

.

These

nouon of a If T, issues a

read and T. issues a wrue. the value read by Tj will differ depending on whether the read

precedes or follows the wnte (rw conflict).

Similarly

if

both transactions issue write

operations, the value of x depends on which write happens last (vvw cor^ict). Consider the

case

w here

transactions Tj performs x = x

+

1

and transaction T; performs x = x

-

1

.

Both

need

car.sariior.s

'.c

the reads and wTites

reac and

m2\

l>e

Be;c—

wnie

x

mteriea'.ec

IC

(1

K

f:

T T

R!t

"

R'l

10

"

Ru

T T

(3

Figure 3-1

Execution H^-

)

is

W(xj R;x

IC

R.J

;C

T

.

the

Figure 3-1

ir.

Acq.!

ijixnoii

10

10

*

IC

10

•»\(it9

W(x, V,

X

1111

IC

c

Example of Conflicts

:

,1

11

IC

and T, are concurrent.

in transactior.s

and T. Execution (2)

Execuuon

illustraies a

(3) illustrates a rw-

rv.

and

a

and

a vi-w conflict if

"lost

update" or an

are con:-rrent.

conflicts

transaction

v^v,

ar.d

"inconsistent read all

^

::

I

the senalized execution of T,

corJ":ic: ifT.

Tj and

^vi

H

11

R

T^

as shovk.T.

l^

I,

W(x

IC

ua\s

Lhree

ir.

L.

I.

transactions are exeruied concurrent] %

If bo'J:

m

corj~;r:s

Note

.

that v.e

anomalies such as a

car.

lead

wiL

see ia;e: that senalizabilirv'

tc

design and h\-penexi systems.

It is.

might not be required for

however, of paramount imponance

in

database s>'stems.

SvTichronizaiion techniques

ma> be categorized

as optimistic or pessimistic in narure.

"Pessimistic" assumes thai concurrent transactions accessing the conflict and hence

makes one

this

approach

object will lead to

transaction wait for another to complete before

Synchronization lechruques based on two-phase locking disadvantage of

same

is

the p)ossibility of ckadlock.

fall

A

into

this

deadlock

it

is

started.

The

category. arises

when

a set

of transactions are waiting for each other to comrrut before they can proceed.

"OptuTusnc" takes the view conflict.

Transacuons

are

that concurrent

allowed

to

transacuons accessing the same objea

proceed

until a conflict is detected.

may

not

S>'nchronization

-JO-

techniques based on timestamp ordenr.g and optun:s:ic concurrency control

The disadvantage

caiegor.

approach

of this

is

the

overhead

incurred

fall

into this

in

redoing

transactions once conflicts are detected.

Tne rcmairong of

sccnon

this

dedicated to examining the various synchronizanon

is

techniques thai have been proposed. Pan of the classification

3.3.1

Synchronization Techniques Based on Two-Phase Locking

Tvi-o-phase

lockL".g

preventing

conflicts

transacnon must

The ouTiersmp 1.

f2PL) sv-nchronizes reads

and writes by explicitly detecting and

ov.ti a

of locks

read lock on is

x.

governed by

Before venting into

is a

Once

a

write loch, or one

is

x,

it

must oun

a write lock

x.

a

on

x.

tv-o rules;

Different transactions cannot simultaneously

other

Before reading data object

'DCPAeen concurrent operations

conflict if both are locks on tne

2.

based on l^emstein 81].

is

same data

wnre lock

own

conflicting locks;

item, one

ar.d the

other

is

is a

transacuon surrenders ownership of a lock,

it

two locks

read lock and the

a

write lock.

may

never obtain

additional locks.

The

describes the

first rule

first

phase (lock acquisiuonj and the second rule describes the

second phase vlock release).

3J.1.1 Basic

2PL Implementation

One cop\ of obiec: Associated with each

site is a

Lock Manager (LM) responsible

and releases for objects stored

objea X requests

the corresponding lock

granted, the ojxradon

on

the waiting

at that site.

is

A

for processing lock requests

transaction wishing to read or write a data

from the LM.

If the

placed on a waiting queue, ^lien a lock

queue of the object x are processed

requested lock cannot be is

released, the operarions

in a first-in/first-out order.

-41-

Redundan- cones o^ oh tec:

opcra::or.

rr,2>

read

However.

reads.

must obiam wrue where

the

an operanon

loclj,

read lock

for

or.

is

updaung

acquired and a

is

j:.

then

repressr.:a::ves of

al!

v.-^

copies

redj-idaTi!

ccp> and need on^> ob'-iin a

ar:>

\i

correc'J)

v-o:;:^

irr.piemer.tai.o-

TTiis

it

or.

Lhe cop\ cf

must update

A

;!:.

confLc:

the

re'a T^.

The existence

v.a:t-for grap".,

deaiock

0: a

siruaiior.

Ficj~ ?-3 shows me ua:t-for graph

ar.

edee from

waiting for a resource iockec

is

corresponds

a ua::-

v.iu-,

to the existence of a cycle in the

fo: the

deadJock cxamr'.e

Figure

in

3-2.

Figure 3-3: Vvaii-for Graph

Two

genera] techniques are a\ c—able for deadJock resolution: • C>ead!:^ct;

Prevenuon

aboned and

restar.ed

basic approach to decide

Tr.ii-

.

v.

cautious scheme in which a transaaion

hen Lh° s>stem detects

to assign

l^

a

is

pnonues

(possibly

two

aboned and

are

wait for T, n T, has lower pnoriry then

edge

m

no cycle can

T

to transactions

(alread>

owns

lock).

If

This prevents deadlocks because,

lower priority then

itself

T

.

and since Tj can not have lower

exist.

restarts

altogether.

prcdeclaraiion of locks (each transaction obtains

This

is

This all its

a deadlock avoidance

technique

requires

a transaction is the

the

locks before execution).

Data items are numbered and each transaction requests locks one

numeric order. The prioriry of

and

For example, Tj could

restarted.

prcordenng of resources.

avoids

for

the wait-for graph, T, has

path from a node to

is

T

deadlock might occur. Tne

nmesLamps)

whether T^ (requesting lock) can wait

the test faiii. one of Lhe

for ever\-

thai

is

at a

time

ntimbcr of the highest lock

in

it

owns.

Slicc

no deadlocks



Deader: •

onJy u

a rar.sactior. car.

car.

occjt.

De:e:'-:or.

•Ji:s

L".

.

scheme. cran.sacuoni wa:t for each other

unconn-oLled manner and are only

Deadlocks

by

are detected

and picking

a

for trar.sa:::or.s with hughe: pr.onr\-.

ii:

transacuon

aborted

in

cycle to abon.

Lhe

Moreover, transactions may

be performed

at sites

a

ar.

deadlock acruaUy occurs.

cor.sr-jr.ir.e wait-for graphs, searching for cycles

distributed environment because transacdons sites.

if

ir.

where data

'5e

may

Tnis

complicated

is

be executing

in

a

different

at

divided into subransacaons tha: ne*d to

stored.

is

3.3^ Synchronization Techniques Based on Timestamp Ordering T'jnestamp ordering n^ansaction execution

is

is

technique whereby

a

if

X had

restar.s

wTote las:

'iie

'-".e

These techniques allow

it.

been

w.T.r.en

transaction.

ser.alizarion order

forced :o o'ocy this order

each piece of data has the timestamp of thai last

a

a n^ansaction to

3 J.2.1 Basic

to

ensure the uniqueness of the

it

stamng time and

a

and the n^nsaction

read or ^ritc a data object x only

by an older transacuon; otherwise

m

read

last

it

a diszr.buted

rejects the operation

system

than in a c«nralized system because of the lack of a global clock.

been proposes!

selected a priori and

Each ransacuon nas

transacuon that

Generating timestamps

is

dmestamp [Lampon

is

Many

more complex

tecrjuques have

7S].

Timestamp Ordering

One cop\ of Obiea The

basic

1

dmestamp mechanism

Each transaction receives

2 For each data objca

wntc operanoD

a

applies the following rules.

timestamp TS when

x. the largest

are recorded

-

omesump

indicated by

it

is initiated at

of a re*d

RTMa)

tbe site of origin.

opennoo and

and >^TM(x).

the largest

and

omesiirap of

a

Fo" readi.

3

i

Lransacuoc

the

e

Dme5ia.T.p. otbcr^ise the read

Fo-

if

w.t;i£s

V*TM

X

TS

restar.ed

is

x

o:

»-.tr

a

TS

is

issuing tra.isa::ior.

txie

RTM;xi

executed and

< V>TMiXi. tbe

is

operanoc

vt-nie

ofu higber times'^Tip.

is

resians^ uiil

a

i

maxfRTMvXATS)

set to

rejeaed and the issuing

is

otberskTse tbe

be pjenormed to the founh rule using the

car.

Tins s:a:es iha: instead cf rejectinc

Hence,

tn-uig ic read da-.a t^a: «tas wntier, b-

»Tit£

is

executed and

TS

IS sc: IC

opuinizauon

RTNl


reading the version of

of R-ls.

A

read

is

the

oper^non

is

x.

.r

^itb tbe

larges'.

nnesuTTip
TS.

new

if

vereioo of x,

any R-ts(x)

lies io tbe

.

is

created

A

read ignores

read

A

is

write

all

versions with timestamps greater than that of the read, hence the value

identical to the value

is

it

would have read had

processed by creating a

timestamp has occurred. In

this

new

it

been processed

in

timcstamp order.

version of the objea unless a read with a greater

case the write

is

rejected.

-16-

3-3. 2J

Thai

ConservatJNe Timestamp Ordering

IS

tschruque lo:

a

elirnir.a:L".g

•-".e

elirr.ir.aur.c

fiiT.damenta] idea

performed

until

possib:l:r>

of cor^'icung ojxrauor.s and henc;

r.eec :c restar. rar.saCwCr.s '^eca-:5^ of such corJ"iic:s rBerr.steL".

approach however provides

The

me

concurrency than Lhe basic T/0.

less

underlymg conservative timestampmg be guaranteed that

car.

i:

Tr^i

S*"'].

it

is

No

simple:

operation

is

ever

can not possibly cause a con£ia (and therefore a

restan) at any time in the future. Ln oLher words, a request for an opcrarion from transaccon

T

is

delayed undJ

n-ansacuons.

would otherwise

'iiat

siruaaon m.ay

classes.

system knows that no confliring requests are received from older

Conflicts are eiiminaied Dv scnalLang

Lhose operanons

TT-.I5

's.c

'dc

all

opjcraaons

each

at

conflict.

improved considerably by mroducmg

T.'ansactirn classes are defined b>

read se: and

a

a

the concept of ransaction A.-.-.e

se:

to be

performed

a:

vanous

case

irj.s

Ir.

operations are delayed until no m.ors ope.-anons in the readset or writese:

timestamp need

not jus:

site,

vi:*_h

ir.e

a smialler

sites.

3.33 Synchronization Techniques Based on Optimistic Control The

basic idea of optimusuc

methods

conflicting operations, like in

However, wntc operations test is

passed

vaiidanon

at

test fails the

the

foUowLng;

Lns'.ead of

suspending or

or T/0, always execute a transaction to

performed only

arc

transaction

2PL

is

commit time

in a local

are the

workspace. Only

wnte applied

if

rejectu-.g

complcaon.

the validation

to the database.

temporary writes are ignored and the transaction

is

If the

restarted.

3JJ.1 Majority Consensus This algonthm [Thomas 79] assumes that a copy of each data objea

Hence each transaction of this algonthm read.

is

is

executed completely

a

that are

stored at each

site.

origin.

Another assumption

wnnen by

a transaction but not

the site of

no data objeas

that Lhcre are

Each transaction receives

at

is

unique timestamp when

its

it

starts

execution, and each

r^p^esen•.a•.:^e

vk-nn^r.

ir.'x

Transactions e\e;u-^

i;

transacuor.

each data ob;e:; cames

c:'

produced

:>

tLT.esiamp of the

rue phases. In

ir.

home

the

a:

me

s:te

It

the first phase an update

Ir.

and tne tLTiest^mr of the transaction

the

rule

second phase, the update

foUowed

each

b\'

positive votes, a

message

are only applied

i:

the

otherv.ise the update the

transaction

rransacaon

sent tc

is

ignored

rejected.

is

If the

all sites lo

A

?.\SS

\

mentioned

are

nmestamp

ote prevents

A

deadlocks

site

If a

REJ

votes

in

is

list

PASS

pending request

The request

Updates

of the data object,

informed and hence the upxiaie

of a potenua] deadlock situation.

sites

The voting

gets back a majonr>' of

site

carlierj.

the request's base va-iables conflict writ these of another

Lnform oLher

the cransarjor.'s v^nie-

the updates to the database.

less than the

is

(this is the 'TV>"R

aH sues

onginaung

commit

timestamp of Lhe request

disregarded

:s

i.^

m

sent to ever>- site to validate and vote on.

list is

for Lhe

itself.

shour. belou.

site is

list

received, for

l*:

order to

quesuon can continue

Votinc Rule

Conra.'e

the

omesiimps of

ibe reqjes; reid-se; witc ihc correspoDviiii^

tunesiamps

id the local

daia.^asc cop>. 2.

3.

Vote REJ Voif

OK

if

any value

m the

rcad-sci

Vote

obsolete.

and mark the request a5 penduig

requesi does ooi confLict with 4.

is

PASS

if

each variable

aii>

m

if eacb viriible peeling requests,

the read-sei

is

5.

Oiherwose

f

is tbe read-set

pnont>

(earlier

concurrent confbct, louver pnont>), defer voang and

reconsideranon.

is

current and the

cooiLas (has omestimp).

current but the request

read-sei vanables) v^itL a pending request of higtier

that

only uher.

be considered until sufficient P.A.SS votes accumulate to prevent majoritv- consensus.

1.

hai-

contains the data objects in the transaction's

read-set wrJ-. theL- timestan-.ps. Lhe nev. vaJucs of the daia objects set.

transacnor. uiuch

las;

remember

common

the rrques! for liter

to

3J.3.2 Distributed Certification

One copy Tnis

IS

of die data

a

dismbutec

u.-ne

-based aigo-Lhrn which operates by exchangu:g cenificauor.

informauon during the commit protocol [SLiha

UrJikc the previous algonthm

85].

it

allows

distributed transactions ;a master transaction at the iruaatmg site and subtrar.sactions

A

different sitesV

may

Transactions

workspace

read timestamp and a wnte timcsLamp

stamp associated with

certified

if

it

is

used

v.

the

to

This timestamp

message, and

For each read, tne transaction must remem'5«: the wr.te

time.

the item

and have reponed back timestamp.

is

hen

was

read.

certified and subsequently

Man\

cories of the data

Tms

req-ires

sues

was read

is

cemficaiion. Updaiers simply

all

transacnon

subrrans actions are com^pieted

is

assigned a glooally unique

read and untes as follows:

.A

commit"

read request

Lhe c-jxrcnt version and no \*Tite with a

still

request

.A v.r.t£

committed and no

-Aith

Vv"nen

sent to the subtrans actions sue in the "prepare to

to locally cer:if% all its

the version that

Lhat

it

master, the

tLmestam.r h2s been locally certif.ed

3.3.4

maintained for each data object.

read and update data item^ freely, storing any updates mto a local

comm::

until

is

at

later reads

representatives

certifv' the set

of

certified

is

if

no

later reads

is

newer

have been

have been locally cemfied already.

c-n

the

also

of wntes they receive

at

participate

commit

wrJi

the

time.

Comparison of the Three Methodologies

The locking approach may detection.

easily result

The timestamp approach

another expensive process. conflicts arc rare

is

in

deadlock requiring deadlock resolution or

deadlock free but

The optimisuc approach

is

may

require transaction restan,

based on the assumption that

and therefore most transactions are validated (few rollbacks).

Performance analysis of the 2PL, Basic T/0 and distributed certification was conducted by

-49-

[Ca-T>

L-

SS'aj

rse coniex: of di'^r-iojied database systems.

Tne foLouinc conclusions

vkhere reached'



;PL

and

d:sribjted

certification

dominated

Basic

T/0

m

tcmis

of

2PL uas

the

fjcrformance. • NMier.

the

cos:

of sending and receiving messages uas low..

sur>enor performer cje to Lie

• V."nen

message

its

cost

avoidance

v.as

o:'

transacDon restart.

and

high

data

was

replicated,

distributed

2PL due to us ability to exchange the necessary information usmg only the messages of the two-phase commit.

cen.ificauon outperformed SNTichror.izanon

3.3.5

Other Concurrency Control Schemes

Many

systems CNeptune, Gv-pss! that are characterized b> long transactions use version

merging

tc resoJve \ersion conflicts that

The meihods proposed

transacDons together

These schemes

siruauons.

fail

to

take

ma\ anse because

of concurrent long user-dnven

require the user's intervention to

nto account

merge versions

the need for senalizability

ir.

some

SoniC fue system.s provide mechanisms for automatic merging of versions.

Various strategies have been proposed to resolve merging confuas:

• Conf.ic: • •

resolunon rules

Data Fiov. [Reps ^T,

Some

made, bu: a comment is also included indicaung the nature of descnpuon of the nature of the confliCT is placed in a separate documcntchoice

i?

the conflict, or Lhe



The user

3.4 Security

is

interactively asked to decide

to keep.

and Protection

Implcmcntaaon of protecrion mechanisms [Salt2er75]: • Capability



which version

Systems

Access Control List Systems

thai

permit sharing

fall

into

two categories

-50-

Systems

3.4.1 Capability

A

capabilia

operaiiofLS

on

is

an identifier for a shared objea thai also grants nghts to perform ccoain

Capabuuies

the object.

are

of a unique identifier for the object and capabilirv'

ma\ be presented

rspicaUy represented b\ a a specificarion

system

to the

b:t

sequence consisting

A

of access rights to the objea.

an object.

in return for

Capabiliiies m.ust be

secure and unforgabie.

The

capabiiiry

flcxibiLty.

system has as

chief vurues

r.s

Efncienc) comes from

"Jie

its

inherent efficiency,

simplicity

and

ease of tesung the \al:d:r> of a proposed access,

the acccsser can present a capability, the request

is

The

valid.

simplicity

comes from

i:

the

natural correspondence beru'e«n the mechanical properties of capabiliues and the semantic

properties of addressing.

The

potential

problems with the capability system are revocation of access, 'jncontrolled

propaganon of access and

some one u cannot be

inability to

disabled.

that they expire after a given

It is.

penod

review access.

Once

however, possible Ln time.

to put

Capabiliues

without the knowledge of the creator of the object.

a capability has

been given

to

time limits on capabilities so

may

be distributed to other users

If the user id is

incorporated in Lhe

capability then only the users with the appropriate user id can use the capability, asstmiing thai

one user can not impersonate another user.

3.4,2 Access Control List

System

An

list

or

access control

domains

that

list is

a

have access

maintained for each objea to the

in the

system indicating the users

objea and the operations pcrmined

for each user or

domain.

Access control

list

systems overcome the problems of a capability system but has

-fl-

LTiplemer.-.anor.s probierr.' o:

cor.sumL-.L

chance

u-.

proces-

;er;rJ-.. car.

;is

.\jc:tr\er

be

our.

Search through ar access coniro; hs:

alocatior. of space

2 forrr^idabie

I'o:

access conro!

LTiplementation probiem.

rr.a\

lists,

oe a tune

uhirh

car.

Chapter 4 Literature Survey

Our

litcramre survsy covers a wide range of dismbuied sysiems.

into

three

dismbuied

categones:

h\pcnext systems.

Our concern

:s

reiaiional

to

Tne systems

are divided

ojject-onenied databases

daiahases,

explore the approaches

to

and

object sharing adopted by

oLher systems, the concorrency conn-o! schemes used and the update propagation

schemes

followed.

4.1 Distributed Relational

Database Systems

Distnbuted-INGRES Distributed-INGRES [Stonebraker "9]

v.

as

developjcd

a:

•j'.e

Uruversirv- of Caiifomia at

Berkeley, as a disnbuted version of the relanonal database system

INGRES.

phase-lockjng for concurrency cono-ol.

and resolved wld^ a

centralized deadlock detector.

multiple copies of data

Note however,

thai the

m

Deadlocks

is

Discributed-ENGRES. The basic approach

commercial product ENGRES/'STAR

It

at

the

IBM

resolution consists of aborting one of the transactions

suppon data

replication,

however, an alternative

primary copy 2PL.

1987 did not suppon

m

San Jose Research Lab

in

Deadlocks arc detected and

uses 2-phasc-locking for concuirency control.

resolved using a distributed deadlock detection mechanism. its

as of

is

such an enhancement in the future.

to

a prototype system [Haas 82] developed

California.

detected

uses 2-

" describes the concurrency conaol and consistency of

Data Replication. RTI has commined publicly

R*

are

It

When

a deadlock

the wait-for cycle.

to replication

was introduced

is

detected,

R* does not in the

nodon

Snapshots

cf snapshots cor.s:ste-.-_'>

re

— e'-e:

pressr.:

so— e

a:

£

ra-s:

vjfv.

iir-.e

of the database (possib!>

which

ar.d

peno conn-ol

of transacuor.s.

POREL

approach

ic

car,

no: be granted at one site until

are

Update transactions need

propagate updates.

updated

b>-

t:^

other sues

~ansacuon which

differsr.:

a

condiuons are favorable or v-hen

At aU other

a read transaction

there

all

is

Umvers:r% uniil the

is

end

a toul ordering of

the

pnmars copy

to lock exclusively the

sites,

o:

higher pnonry locks ar?

vanauon of

Tne> also create an "intention

there.

contains the updates tc be sent

the

at

done b\ 2 -phase -locking, and locks are kept

is

supports data rep.icanon and uses a

copy and pen'orm updates

Copies

database systerr. developed

In order tc avoid deadlocks, locks are ordered:

sues, and lock request.-

granted

distributed

a

is

list'

a: the

pnmar\-

pnmarv' site that

copies are marked invalid.

started

either

when woridoad

must make a "consistent" read.

SDD-1 The SDD-1 was in

protor>-pe [BemsteLt 80], de\elopcd

the tlrs: prototype of a distributed database

SDD-1

is

at

the

Computer Corporation of America.

management system. Concurrency

achieved using the conservative timcstamp method.

deadlock fre< and the usefulness of'conflict graph analysis not been demonstrated.

propaganon

(write

alJ).

SDD-1

control

This mechanism

in a rcaJ-life

is

not

environment has

supports data replication and uses distributed update

This means that

alJ

copies of the data arc updated before the

transaction conmits.

ORACLE/STAR ORACLE/STAR

[Gref 87]

is

a

marketed by Oracle Corporation.

commercial distributed database system developed and It

docs not suppon data replication.

It

uses 2-phase

.'nJ

locking

at

allowed. '0

±c

I.e..

record level to rcsolv- uTiie-u-nte conf;;c:s.

Read-Wnie

conf.:c:s

wntsrs do no: block readers. Oracle/Siar uses deadlock deteccor.

'Sit

relevan: fearures of the discrlbuitd relarionaJ daiabases above.

Repu:ancD

Chstnbut£d

Conairrencv'

D5.»^1S

Dismbuted-INGRIS

oppose:

^esc;^e ceaiocKS-

isadlock rr?\

Table 4-1 summenzes

as

ar;

:

es

Phase -LocJcag

L'pdaie

Dudlock

PropagiDoc

Detecnoc

Prjnar>'

Cenrabze'

Corv

DtadJock Deiec'kOr

GR£S'ST.\R

Nc

2 ?bisc-LoD-1

res

Cooser. anve

T

Dismbuted

Deadlock

UpcU:e Propaganoo

Prjv-nted V-aj-.-for

AnaJvsu

ORACLE'

-55-

4.2

Object-Oriented Database Systems

There

ruo genera! approaches

are

c«nnralized o: disnbuied.

foliow

L".e

tc

impiementmg

Present pro:cr.7>es

falJ

shared object space (hierarchv):

a

one of these genera! caiegones

into

no; ar e>J".2usuve s-zr\f\ of prescn: protor\-pes.

IS

the vaner>- of protors-pe s>s:ems bcL'ig

however

i:

Tne

gives a flavor for

implemented.

GEMSTON'H GemStone

Ser\io Logic's

[Purd\ 87. Maier 87] adopted the centralized approach to obiect

shanng. Tne Gerr.Si-r.: objec: ser. network. ser^ers.

It

ciirren*J>

Memoc

GemStone

server or

GemStone

Stone

b;-

to

vanous workstations

database to be distributed

a

thiiough a local area

among

several

GemStone

be performed either by executing messages remotely on the

car.

copying an object's

state

the

to

workstation local cache for

Objects are represented b> depuues that decide whether to forward messages

marupiiiation. to

does no: allow

execution

connects

e:

or cacht

provides

ne

object state and execute the

secondary

management,

storage

message

locally.

concurrency

control,

auihonzailon,

transaction m.anagement. recovery and supp>on for associative access of objeas

Gem

sits

atop Stone and adds the capabilities of compiling methods into b\iecodes and exccuang thai code, user authentication

and session control.

Pan

of the

Gem

layer

is

the virtual

image: the collection of classes, methods and objects supported by the objea -oriented system.

Stone suppons multiple concim-ent users by providing each user session with a workspace thai contains a

shadow copy of

the

object table, called the shared table. table adds

new nodes

optimistic control

objea

As

that are copies of

scheme

is

used

to

table derived

from the most recently committed

objects are changed in a session, the shadow object its

shared objea table with the proper changes.

check access conflicts.

'VMien

Gcmstone

An

receives a

-56-

commi: message,

i:

notifies

any modified cached

state

all

depuues of

to

GemSior.e.

conflicts with cransacuons Lha: have

objea

there are none, the shade the enz^es thai have not

shared table.

Each

commit.

intent to

iis

dcp'-r> tncr.

Stone checks for read-^nte and

commir.cd since me ume

table of the session

been modified, and

is

\>.-nte-viTite

Lhe ransaction began.

treated as

if

it

overlaid on Lhe most recent version of the

is

merged with

are

those of other transactions thai committed after Lhe commirting transacuon began.

transacnon told

fails to

commit.

invalidate

to

its

Lhe

changes

cached

in its

shadow

Tne

sute.

I:

were "n-ansparent" on

way, the changes made by the committing session

In this

Gushes

If the

table are discarded ar.d each deputy

developers

exploring

currentjv

are

is

Lhe

implementation of locking and versioning on top of the shadow scheme.

IRIS

Hevs-lett-Packard Laboraior.es*

implements the

models

that

L-is

[Fishman S"] also chose

Data Model, which

suppon

bjgh-ievel

generalizatioa'spwcialuaiion,

However,

L-.s

the Ins Storage

and

Manager

capabiliues supported by the storage relations, transaction

falls

ur

aggregation, a

well

as

convenaorul

manager include

management, concurrency

It

Lhe general category of object-onenied

such

abstracuon,

structural

is

Lie csr.ral-zed approach.

classification,

as

absn^cuons.

behavioral

as

rclaiionai storage subsystem..

The

dynamic creanor. and deleuon of

the

control, logging and recovery, archiving,

indexing and buffer management.

The developers transactions

arc actively exploring extensions to the storage

common

in

design applications.

A

version control

the basis for concurrency control in design applications.

out versions for extended manipulation. others.

A

higher level locking

Al-based applications.

mechanism

manager

to support long

mechanism

proposed

proposed is

Users would be allowed

This prevents further access to is

is

to

this

to

check

objea by

sujjpon concurrency control for

This provides a hierarchical lock structure with intention locks, as

well as conventional read and wr.te locks.

Disirib'jtej Obier: Ser^ c:

Texn-onLX La^oraiones's [Pone: 88] adopi&c the dismbuie-d approach. b> impicmcnung lou-le\e! disno'^ted object ser\e: cuer.i workstations

intended

to fcrrr.

from

the user

uhjch

and objects migrate

me

the

ir.

the gjobaj object space

to the sites

where they

iov.es; ia>e: of an object-onented

system

discnbated across

15

This server

are used.

tha: wiii

a

completeh

is

insulate

pnrmtive mode! of objects provided by the server. The server provides a

shared object space of persistent objects. The ufjper layer of the objeci-onented system wiE

augment

this

model

to

provide such concepts as

ty-ping,

message passing and mhentance.

Tlie genera] architecrure of the s\siemi consists of a network of workstations.

stored to a

workstations where the> are used

at

name

server.

Objects migrate from one

Shared objects site to

control for shared objects

is

anamed

must be obtained before

11

can be accessed,

manager

(loczl cr

object

blocked

conn"ol

Tne\

15

m

are located

are

by communicating

another for manipulation. Concurrency

via a variant of two-phase locking. i.e.,

the object

it.

A

shared object

must migrate from a disk

remote) into the session's object server memory. until the session relinquishes

Objeas

Access

to this

The system provides low

shared

level version

terms of historical objects that are immutable and maintain time of creation.

are explicitly created to capture the state of the

objea

a:

any

moment

in

ume.

Distributed Smalltalk

[Decouchant 86] descnbcs the design of "k distributed objec manager which allows several Smalltalk-80 systems arc present.

to share objects

Remote access

is

over a local area network.

Single copies of objects

done through the use of symbobc links "proxy objects" that

contain information about the locauon of the object

Objects then migrate for local

manipulation and associated proxies are updated indicating the objea's new design docs not address concurrency control to pjcrmit simultaneous access

site.

to objects.

The

-58-

ObServer Observer [Hormck 87]

is

store thai

is

currently used

backend of an objcCT-onented database system

as the

manager

for an

transfer of the enclosing segment,

were used

to

replicanon

reduce

Bro\vn Uruvcrsin.-

and

as

Lhe

ai

Objea access by

ObServer.

storaee

a client results in the

Segments

not already present at the client workstauon.

if

communicanon

facility, i.e. ar. objec:

may have

clients

(ENCORE)

at

objea-onented interactive programming environment (GARDEN).

Objects arc clustered into segments

all

objea

a persistent

traffic

may

m

object transfer.'

more than one segment. Moreover, rue

be placed in

copies of the same segment.

ObServer suppons an object

The system guarantees automianc

copies of an object in the vanous segments.

It

ujxlatc to

also guarantees thai a client always

accesses the latest commirted copy of an object through the use of timestamps. Timesiamps are given to transferred

is

segments and used objects

updated, the changes are sent on

to Lhe

the copies of the object to indicate the

in the

segment by ObServer.

ObServer. Timestamps are sent

new commit

to be

If

an object

anached

to

time. If another client tries to access an

outdated copy of the objea (difference in timestamp of object and scgmcnil, the oirrent

copy

requested from the server.

is

provide concurrency conffol.

The

locked in a range of locking and notification modes.

The

clients to access (read, write) an object in a restrictive or

non-

ObServer uses a comprehensive locking scheme

scheme allows objects various

modes permit

restrictive

made

to be

to

manner. The non-restrictive mode allows cUents

to an

objea. Communicaiion

mode

allow

s

to share

unconunitted changes

a lock holder to be noufied of the status of

an objea, including requests from other clients for that objea or a committed update from another client.

^Dne

of the basic ideas for

ire clustered together

unproving performance

m physical memory.

in

objea-oriented programming

is

thai related objects

•59-

POSTGRES [Sionebrake: 86. Rov.e S6j take the approach of stohng a shaiec object ruera:cr.\ gensrai:or. reianor.a: database mar.agemsn: system to the

RDMS

means of supporting complex

L-.cIude

POSTGRES POSTGRES's objects, of allowing

of supporting aleners. tr.gger- and general rule processing.

advantage of elimmaung Lhe need

The use of an

implement an object manage:

to

new

l-^.

a nexi-

extensions

daiar\-pes

RDMS

and

has Lhe

that supports shared

access, maintains data integnt> and resiliencN, controls access to objects and maintains data

consistenc\

.

As

objects are referenced by the application, a run-time system retrieves

from the database. Objects retrieved from the

them

databsise are stored in an object cache in the

application process so thr subsequent references to the object will not requLT another

database rctncval. that

Object updates are propagated to the database and to other processes

have cached the object. .AJeners nozf\ the system that an objea has been ujxiated.

Table

4-11

^ummar^es

the relevant feamres of objea-orienied databases above.

4.3 Multi-user Hypertext Systems

Note cards Notecards [Tngg 86]

is

a hv-pencxt-based idea structuring system.

electronic notccard containing text/ graphics and images.

connected

to other notecards

The

basic

objea

is

an

Individual notecards can be

by arbiuarily typed links, forming nerworks of related cards.

Distributed Notecards allows users simultaneous shared access from their workstations to notcfiles

residing

on any machine

contention resolution

at

the

in

nerwoik.

the level of individual cards.

Distributed

The system allows any number of

users to simultaneously read and display of a given card.

modifications to the card notified

is

when modifications

restricted to

arc

made.

one user

ai a

Notecards provides

However, permission

time.

to

make

All readers of the card are

Readers are provided xhrcc levels of modification

-60-

Obiec!-On--.:e- collisions a: 'Jie

SL-nply allocaied for an urJirr-ied per.od

no suppon

for versions.

Nerr.r-ie

Neprune [Delisle 86] effons.

A

context

is

dcfi-ies

'-he

noaon of ccniexis

coliecdon of nodes and

different contexts togc'iier to create a

histones of objects ar.d

Y.cr.zt

new

links.

context.

to

support muln-pcrsor. cocperarive

A

mechanism

is

provided

to

merge

Contex*^ arc used to enclose version

suroor: concurrent access.

.A

context

is

use-d as a

rnvate

-6;-

workspace

fcr

master' con:e\:

Conflicts

would be obscured detect

me

updaies. the \o:zl updates wiL evenruaUy be

rr.2.-^ir.c

arise iS & modificatior.

i:

a

is

uas made

to store, organise,

supponed

environmen:

another

mas:e: contex: Lha:

Tne system

able ic

programming suppon environment build on top of an

obiect-

is

up

to the user to resolve

them.

the Version

is

and selecnvely retrieve versions of objects.

V»'orKspace Manager.

the

b>

v,ith.

is

onenied operating system. Tne foundation of the system used

to the

were merged with the master

loca] updates

l*"

conilicts bu:

Gs-psy [Cohen 8S]

rr.a>

merged

'iie

o'^jects.

MuJuple users

The Workspace manager provides

is

arc

protected

a

Objects are clustered into workspaces that

for v.orking on pr.\ate versions

define user's access r.ghts to

Manager, which

Objects are not replicated but various version and

version branches for an object exist. Versions created inside a workspace are private to the

workspace and

To

pubhch'

are no:

\

isibie until

create a nev. private vers]on. a user

lock

a

branch o^

workspace

who

a

version group.

Houever

additional

must

they are released from the workspace.

first

be anached

OrdmarUy only one

workspace, and then must

user can be attached to a given

workspace access controls

take advantage of this flexibility have to

to a

f>cnTut concurrent access; users

depend upon synchroruzauon mechanisms

outside those provided by G\-psy (e.g., informal messages indicaung

Qose and weak models of

the

workspace

concurrendy. access rights

specify

to

Weak

of coopjcrauon are provided.

whether

authorized

Qose users

who

is

using what).

cooperation allows the creator

may

access

the

workspace

coojscrarion allows user to access private versions with specified

This allows coworkers

to get a

sneak preview of a needed object before

it

is

released.

Merging of versions

is

not presen'Jy implemented in Gvpsy.

The design proposes

to

-6;-

suppor

t>-p)e-spec:fic

rr.erge

handle conflicts.

Poss:b.e

quen-'ing 'asking

user

L-.e

v.

ca.-a.-netc.iz;d operations thai 'jse various srratccics tc

;•_-.

s-aieg:es

L^clude

cont'ict

resol'uucn

r^es or

Lnteractive:\

Notes

Even though Notes

is

not

interesting system to look

used by people

on

a

ai.

h\-pcrtcxt

Notes [Greif 88]

numenc and

to share textual,

a local area ner^». ork of

system, is

suppon of

its

a

group commurucaaon system

graphical uiformauon.

personal com.puters.

Notes

is

The

exist.

a:

sites

comjnunicate

the nev-er version

is

to

latest

document

The

in all replicas.

cop.es of ahe daiabase:

to

if

not

obtained from the remote database.

Optimistic concurrency conn-ol

used

is

to detect

and signal occurrences of multiple updates

version mstance of a document (in the same database

to a single

is

size.

arbiira.'y

different sites allowing rephcas of each

\erjH ihat Lhey have Lhe

that

based on document manager that

Notes replicanon ensures eventual consistency of the documents

database

an

it

system, operates

provides perm.anent storage lor free-form and serru-strucrmrd objects of

These databases m;a> be replicated

makes

replication

)

and fjiaUy converge the

versions to a SLngle version of an updated document (by asking the user whether he wants to

overwrae an existing version).

document most

ai

often.

another d ax abase

Access control

The system resolves site

lists,

by choosing

may

the version Lhai has

been edited and saved

be used to control concurrent updates

ways: (1) to ensure thai changes can only be made thai

conflicts with different versions of a

to a single mastfir copy,

in a

number of

and (2) ensure

changes can only be made by authors of the document.

Table

4-III

summ.arizes the relevant features of the distributed hypenext systems above.

-6?-

Concurr:r,c\

\ trsior

Conrc:

Locking

NoiecanL-

No

No: apjphcibie

N; RepbcaucT ConiLcisi

Nepcuiic

DismDJted Nc Rephcauor

\ srsion

Performed

Yes

Conn-o!

b\

Use:

Ehfference deiecaoc

proMckd

G>7?>

Lockinc

Cencraliiei

Yes

Performed bv User

No; appbcabie

Versioris

Note?

Distributed

Opumisn:

Versions

RerLcaoDC

ConcurrcncN

crcaied

CoDcrol

iDiemiUy bur oo;

mainuined

Table

4-111:

H\-pcnexi Fea*

j-es

-6^

Chapter

5

Object Lens Revisited

In :his chapter v-f rr.airJy present a descripdon of Objer. L«ns.

For those readers viho art

familLar with objea-onenied database and h>7>c.-:ex: systems w-e

these systems

Lens

'iha:

W-

Objer. Lens shares.

major

that will play a

roie

'si

wlI

indicaie lear^es o:

then present fear^-es specific to Object

\x-AL

our choice of the appropnate object sharing scheme for

Disn^buted Object L^ns.

5.1

Object Lens as

Object Lens

fits

[Conk^iTi 8"].

basis".

fo-LL'

Tne

• "Vi'indo'^s

Hypertext System

a

of the

s-j.

fearjj-es

of an ideali.zed hyper.ext sys'ism enumera'^d Ln

feardres present in Object Lens arc:

or :h£ screen co'resporj :o nodes

Tne nodes

m

Object Lens are

in the

database on a one-to-one

objects and objects have display

trie

windows.



"U'ii^'oMj can contain any

number of

other nodes in the database". fields

and values

link icons.

m

Objea

these fields.

Gicking on

'-he

link icons v>hich represent pointers to

display

The values can be

Imk icon causes

objea and open an object display window



• 'The

database

frt€ text

a

number of

combined with

the system, to find the referenced

for

'The user can easily create ney> nodes and are easy to create

windows contain

it

on the screen.

links".

Object types and instances

through a tempi axe -based user interface.

may be braised". The

user in

objeCT space by following links and opening

Objea Lens may

navigaie the

windows successively

to

view the

-65-

A

conten:

user ess. ajer\

5\stem for objects

lis

v.ith

par.icula: arr-.bjte

\a.i:;

S2 Object Lens

Objcc:

as

an Object-Oriented Database System

proNides

Lcr.s

m:erface

ar.

to

an

objea-onente

of increasingly specialized type with each

t\T^ mher.tL-.c r.slds. ac::?r.^ and other propenies from us parents.

Moreover. Objec:

Lcr.s provides a simple v.a> to

agents tha; scar, the objects folder

5-3

The

rj'es

m

m

perform datasase quenes; users can create

one folder and inscn links

to selected objects into

another

the agents specif\ the cnteria for selecting objects.

Object Lens Specific Features

In addiuon to the

objea-onented features and hypertext feamrcs of Object Lens, the

following specific characterisucs influence our choice of an Object Shanng

Scheme

Distributed Object Lens.

1.

Naive Users.

makes

Objea Lens

is

user-interface a major

geared toward non-prograrrcrung users.

component of

the system.

model influences what aspeas of object sharing

2.

Agents.

are

The

exposed

This

user-interface

to the user.

Object Lens supports the creation of rule-based "agents" that

for

-66-

process

mformanon

automatically on behalf of the user

TTiese agents car. be

triggered by everii- s-ch as the modificauon of a particular object.

3

Each object

Semistructured Objects

however

values,

may

the user

different fields as they desire.

from

4.

free text to a link to

m

fill

:s

a

much

as

coUecuor. of fields and field or as Utile

informauon

Fields are not typed and the values can range

another objca to a combinanon of both.

Customizable Folders.

Objects

may

be collected in customizable folders.

These folders can be m.aintained manuiliy or by an agen: executed on the objects executed on tables

5.

Version

the folder in the

in

Ln relational

Maintenance.

applications.

Object

in the

Lens

are

quenes

are

as

databases.

tool

a

.As

same manner

Quenes

should

for

umplementing cooperaave

suppor.

the

Maintenance

of

work

different

versions of objects.

5.4

Using Object Lens

Object Lens, like us predecessor Lnformation Lens [Grant 8"], makes extensive use of

mformanon exchange

(Ir^eral

using

text)

specialized

semistrucrared

electronic

mail

messages.

Creating semistructuied objects requires "defining a collection of fields and field contents.

The

fields are defined

by creanng

a

new objea

will inherit fields

renamed or

their display supjprcsscd.

Once filling

the object type in

the

fields

PERSON'), hence

is

in

from

new

its

object type in the rvpe hierarchy.

parent

in the

hierarchy.

Additional fields

may

The

Note

that, the

inherited fields can be

be added.

defined (for example PERSON*), objea instances can be created by a displayed

object

creating, for example,

window corresponding

to

object type (e.g.,

JOH.N and TIM. The contents of an objea's

filed

-6-.

mc> be

a

\-J\t.

to

anoLher obisct

o'-'fr: L- ihr er.:".?;L".r objec:.

d:spia>

corresporidiT!; i?

'i-.e

order of minutes to hojri. shov.r. across the trr of

incluGLng:

L'.e

Tnis

11-^:

r;a>

be expanded to appear

object

Tms

interacnve ediur.c of objects

mav

Actions ma> be invoked on the objea from the displayed object windov.

actions that appl\ tc the editing

to execute

ar.

Object msiances ma> be modified b\ ediur.r

.

embedded

me

vk

take

ir.dou

or.

Lhe

command

bar

There are several kinds of actions.

window such

actions that apply to the object such as save o: add link.

subseconds

a;;

as close,

move and

These acuons take on

shape, and the order of

Figure 5-1 depicts a displayed object form of a Person object

Ob'ect Lens.

•,»

i-„-.

ac-e>s

workstation,

An.y updates

made

ic

because of incorrunc messages appear for objects such as a V^'e

fee!

without

It.

Aat '_he

r.

PEIRSON

v.ould be

need for user

tc the folder

could brow.se throcch and read Lhe

in the

that the user

more appropnate

inter-^ent::^n

BUG-MESSAGE

svstem,.

folder

is

opened

a:

a user's

BUG-MESSAGE-COLLECTOR

opened form.

Note

thai earlier v^e

suggested

should be prompted to refresh the object form.. in the case

snce folders

the next chapter v.e discuss the requirements

Lens

ai:

Liser.s therr. in:o the shared folder

folder by the agen:

tr.e

fiiiers

and

ina: are re--.2_L-.ir.c ic bLjc fj^es

Nov. consider the case uher? the

messages

BUG-MESSAGE-COLLECTOR

acen:

are

m

of folders, for links to be added

most cases background processes

and features of object sharing for the Object

Chapter

6

Multi-user Object L«ns

Lens

Object

Distributed

allow

v.ill

users

workstations to objects residing on any

may

be replicated

vanous

at

sites to

Distributed Multi-User Lens •

A d:s~buted

lU

v.

simulLaneousIy

to

machne

improve performance and

x

Objects ma>

may

Lens users.

Hence, objects may have links

access

the

iocaied

same

Ir,

a

multi-user

availability.

at different

sites in the

to other objects located

object.

Trus

may

lead a

elsewhere

links.

one or more user

s\'Stem..

The system should provide

modiScauons.

their

some cases be tTansparen-> accessible by remote Object

The system must suppon such

• Concurrer.i u se rs

from

attached to the local area network. Objects

network and

in the nerw.ork.

access

have the foUou ing basic feamres:

obiec: space:

u-.

share

to

loss

of

mechanism

may

concurrently

infornuuon

and

for guarding against

such anomalies.

• Protection of

shared Objects: Access

to objects vars-

depending on the authonzaiion of the user. read the objea while another

We

will first explain

we

define

Distributed

the

some

is

We

Objea Lens with emphasis on



Shared object creation.



Shared object deleuon.



Shared object protection.

user

may

to another

be allowed lo only

allowed to read and modify the objea.

early design decisions

terminology we use.

One

from one user

made

for Distributed Object Lens.

Next

then present a design for object- sharing in

the following features:



Shared obiec: mod;f:ca:ior.

The goal cf

the firs: proio:>-pe of

Tne choice of

for objec; sharu".:

thus

assume

ar.

Dismbuied Objea Lens

users

bcLng on the same

v.

orkstanon.

We

to ac; as a prjr^tive object ser^e:.

acquire one tha:

manager

fits

to

is

architecture that requires the least effon to

Tne configuranon rely

Tr^

the spec J"; cations

is

n

of sccondarN

imponance

implement and

that of the server

most

that

and the

client

on the local disk manager of the underlying system avoids the need to implement an object se:%e: o:

menuoned

ir

chapter

2.

chapter 2 will

We

Many

provide the features of object sharing.

assigned to the objec: server

proposed schemes

to test the

is

the architecrure a: this stage

resembles the curren: configiiranor.

objeCT

accommodaies concurrent

Design Decisions

6.1 Earl}

We

iha:

need

to buiid the chen:

of the duties that were

nou be performc

be divided into sets of private objects, each

LENSFOLDER

to the folder.

Distributed Object Lens objects

nerwork.

may

Shared objects

may

the nerwork).

This

Objea

Shared Object

6.4 Creation of a

In this section

wc

\>.lLI

descr.'De use: mterface for

C'dnr.'".? access [c a

Shared Ob^e:

The

created

objea

actual

L«ns

using

(i.e..

is

edi:o:

ir.e

the object type;.

Once

m



same marjier

the

~^

:c

1.

may

be done

The

-".

the private object

one

:ac

o:

creator sends a Ler.s

The receiver then

2.

The

\_\rk_.

allowing

mm tc

created, the

owner may decide

that other users

Informing or granting access to the

to the object.

message

hnk

a

folder) in bus object spavi the

is

to

a>s-

v.

inser.s

as objects are currently created in Ob;sc:

Si03 of a serru-structured tennplaic corresp>onding

w-.e

\r.

should also have some form of access object

crcaung shared objects.

T:^.z

:o ano'Jner user,

to that

receive-

with a link to the object.

object into another ^.^-^

L.-'.sr..

objea

a

(e.g.,

o: a: a future time resolve

v;ev. tr.e contents of the obiec:.

creator insens a link to ihe objea

m

an object Lha:

already shared.

is

system can possibly notify other users of the addiuon of special case, and possibly the

most comjnon, would be

diis

the

The

object.

A

mseraon of

the

new

link into a "shared folder".

The former of

We

the

vtill illustrate

User

B

rwo methods the

from the

TASKX

TASKMANAGER

TASKX.

object User

TASKMANAGER

reference to the

appropriate for initialing sharing of a parent (root) objea.

rwo methods using ihe example

creates a task object

TASKM.ANAGER

is

objea

A

User

Figure 6-2.

m.anages

ai!

tasks

therefore needs to have access to

objea.

User B therefore mails

objea (Method to

A

in

I).

User

A

a

by using

his jjcrsonal

TASKX through

message

to user

A

a link

with a

can then adds a link from the

T.ASKX. The reference may be

later resolved.

.79-

Tne

LESSFOLDER

fc'.ce:

tha- car. be reacr.ed b\

is

shared b>

from

tracLnc iLiks

users (A ar.d

all

a lini.

share the b\

ir

ine ob'ec: unstance

neu objec: instance

inenng

a Ilix to

it

:?

Lisened

Tne

JOHN

This Lmphes

,,

the folder arc shared b>

joins the croup, a nev. person objec; instance

and

B

l".

(JOHN; the

is

all

iha:

users

If a

objects

neu use:

created corresponding to the user,

LESSFOLDER

folder.

All user?

person object was made accessible

from an already shared object

al".

LESSFOLDER

uiT nov.

to other users

{Method 2).

Resohine Links Resolving •

a link

Creating a local object instance representative of the object.

becomes



could imply one of rue things depending on the desired implementation.

a loca. object

and future accesses will be made

Remotel\ rerieN'ing the object from, object and furore accesses to

uiU

it

iti

sue.

Tne shared object

to the local copy.

Tne object remains

also result in remotely

retnevmg

a

remote

it.

L'^PLE\fEMATIO\' Each object may have different sues.

A

a

num'^er of object instance representatives that are located

at

unique object identifier should encompass information about the locanon

of the particular object instance representauve and ihe objea confiruranor. for the system uide object id

c:

t:

is

showed

m

it

corresponds

Figure 6-3.

to.

A

possible

.80-

The [Time

representanves.

on the objec;

carjiot rei>

CreaietTi fields allows for differer.: v;rsions to ex:s:.

generated by the underiyung system

id

to

the underiying system. aJlcus an object id to be specified, then

mennonec above

unique object ids is indirection

where object

wide u.'uque object

.Anoiher ait£m.an\e

generated by the system arc

:ds

fit

our requirements.

we choose to

is

mapped

to spccifS

build one

to the

level

\\e If

Lhe

of

proposed system

ids.

Resolving an object reference translates Lnto a read request direaed to the object manager. If the object

is

not local, the ,'rr^chine created or' field

the appropriate object

manager across

Lhe

network

is

at site

used

to direct Lhe read request to

[machine created on].

SnorTCC'^.:>-£ C' P'O'OCO'.

In essence a user

is

granted access

to a

some shcr.con-jnes

that object. Trus ".hanng protocol has • Unintentionai Ljnks.

regards as personal. is

his

workspace,

User

.A

shared object by providing the user with a link to

:

might unintentionall> provide links to objeas he

For example,

however,

in

A

grants

doing

B permission so,

A

to include

grants

B

objea "x"

permission

to

"\" uruntentionilly include .A's personal object because of the link berween "x"

and

"v'.

• Propagation of

an object.

Access User .

For exam.ple,

turn might give

C

if

A

A

has no control of grants

B

a link to thai object,

who

pwrmission

else

might get access

to

B

in

to access object "a'\

hence allowing

C

access to objea "a"

without A"s consent.



Revocation of .Access

gave out a

luik.

.

User

A

cannot revoke access to an objea to which he

6.5 Deletion of a

Lr.

Shared Object

obiect-onenied systems obiecis are removed from memors- using a process called

garbage coLJectior.

Tne

his links to thai object

efrec: of deleur.c an object from, a users object space

OrJ>

v.her. there are

obiec: ge: garbage coI:ec;td

Multiple users

lr.

ma\ have Imks

Hence, the reference count

that

to

a

Tms

remote references

to an object will the

d;s~Dutec envL'onment, marters

an object

Many

are no:

of these links are from remote sues.

The

object

is

garbage collected when

might be unnecessary for the iruual protonpe.

An

Trus

is

hard

alternative simpler

tc

the

impicmen: and

scheme would be

However, the object manager has

use the current underlying garbage collector

maintain local representatives (m the fonn of links) of remote objeas pointing

These links

bo'J~.

are zero.

implies rev.r.:Lig the underlying garbage colleaor.

shared objects

simpie

as

maintains the n'jmbe: of local references to an objea should

be extended to include remote references local and

no more links pomnng

removing

is

are

dropped when the

clien^LS

to

to also

lu the local

indicate that they have

dropped

these links.

6.6 Protection of a

Thus

far

Shared Object

we have explained how

a user

may

specified the type of access the link provides.

controlled access to an object

enforced

get a link to an

objea but we have not

Distributed Object Lens should provide for

The question

is

how such

infomiation

is

declared and

?

In Chapter 3, section 4

we saw two models

of protection, one independent of objea naming

(Access Control List) and one dependent on objea naming (Capability System).

examine how each of those models would be environment.

tailored to the E^istribuied

We

will

Objea Lens

CapabiJ:r\ Svsien

The object LID descriDed earhe: object (perhaps containing one V.'hen a nev, object

is

created

v>.ould also consist of a spec •J": cation of access

bit fo:

b>'

each class of operations applicable

a user, the object

object with a full set of access rights.

,:.e.,

with a specificauon of the nght3 required.

ne-A

OLTD

set

of access r.ghts

co'^ild

be

m^^ed

t

tc the

to ihe object

OUID

the

i.

of the

The modificauon of access nghts may be made pan

of the object manager duues. The objea

diminished

manager constructs

nghts

the

OLTD)

ls

The new

presented to the objea manager

OLTD remmed would

otherwise users wrJi few nghts could apply for

tc i_fferer.: ^ser?

±a: may

now-

have a

more

>.

have rcsmctive access

This to the

objea. This scheme as

it

Users would do

stands assumes that users do not forge links or impersonaie another user.

this to uicrease their

not authorized to get access

to.

access rights or to get access to objects that they arc

For our purposes of designing a research system assume no

malicious intent on the par. of the users.

could cleanly be added

to

a

An

authenticanon mechanism such as Kerberos

producnon system

to

guard against possible forgery and

impersonation.

Access Concrol

A

list

IS

List

associated with each objea specifying the authorized users and the operations

permitted for execution by the users.

Such information

is

separate

fr

om

the

QUID

maintained by the objea manager. Hence, when a user requests access to an objea specified

mode,

the

returning the objea.

objea manager

From

verifies thai the user

the user's point of view,

when

is

to specify a set of rules that

govern access

to the

is

some

allowed such access before

creating the objea he needs to

specify the users thai have access to thai objea and their access rights.

would be

in

and

object These

Another option

may be

easier to

formulate and have the effea of defining protection domains for the object. This however,

may

be inefficient because

it

requires resolving the rule every time the objea

is

requested.

Comr2.-:sor, o: CarabL'-.r. -Based and Access Conr-o! L;s: Svs:ems

A

model does no: guard

C2pabil:r>-bis.ed pro:er::or.

Lne earlier

semen

m

objer.

Tms ma>

a lot

unether

a

o:'

overhead

a lirce

ir.

'J".a'

the hierarchical strucrure of the object space.

child object inhents the propcnies (access nghis'* of the parent

some

be appropriate in

overv-nie

default, but expliciij>

Given

cases.

shoncomir.gs mentioned

model incurs

Ar. access conrroi bai.ed proiecuor.

migh: be unnec€ssar> Lhe c'jesnor. arises

agair.s: ihe

cases but not

all

by describing a new.

it

It is

set

possible to allow this as a

of author^atior rules for the

child object.

Hvbr.d Mode!

It

more appropriate

IS

permissive sense

Tnc access control

allowed access

not

to use access control lists in the restnctive sense as

to

the

lists will

A

object,

system..

It

obtaLned

a

ls

access conn-ol links



may

'tx

overcome

to 'the

list

Hidden

objea.

links to personal objects

that denies access to all users

protected

m

rwc

cn'ierent

and hence can sec

pcTTTUttcd to

it

its

icon form.

may

is

view ing the contents of

TOM person objea.

are

hidden

be proteaed using an

not pcrmirted to get

To

The user however,

Tom

the

is

a

more information about

Hence, when the unauthorized user looks tc

is

not

follow on the example in

oblivious to the existence of the objea.

folder he will not sec a link

Hidden

the existence of a certain

be permitted to sec that

of the Lens group, but

is

have somehow

except the creator of the objea.

view the contents of the objea.

The unauthorized user

may

who

modes:

in

Figure 6-2, an unauthorized user

most adequate

the

is

the deficiencies of a capability -based

The unauthorized user may have knowledge of object,



implementation

important to guard the object against undesired users

Il-tI;

to the

contain informauon regarding users that are

hybrid

Restrictive access control lists are used to

opposec

TOM person objea.

at the

i.e..

member

Tom

by

the links

LENSFOLDER

-8-;-

The laner mode

is

much

harder to Lmplement.

It

requL-es that the object ser\'er performs the

following additional step? before retumLng the objea.



FoUov^s

ar.d

• verifies if

resoives ans

access

is

Shared

.Aeer.ts

Agents

in

rencve

restricted trom.

ar.

objects.

to the

agent that operaies on tne

seemg some object

have the same access nghts to

LENSFOLDER

agent ar.d hence can tr.gger

the triggered agent should differ

it.

embedded

have,

Object Lens are implemented as objeos, and hence can be shared like any other

and user B have access

analogous

to these

may

the links.

object instance. Consider

IS

pcnruned

requested object

kept intact.

• if so Lhe links are

• cLherv-ise

'.irJcs '--.e

ir.

the

it

to another.

to the objects as the user that

It

will

.A.

on the folder. Hov>.ever, user

A

LENSFOLDER,

from one user

an executing program.

Both user

folder.

namely TTM. The outcome of

Hence,

a triggered agent should

mggered

;t.

A

mggered agent

have the same usend as the user

who

is

triggered

Vvlien the rules are fired and the acuons arc executed, the objects thai are read or

scanned

arc these that

.Another option

is

to

creator of the agent.

triggered

it.

can be read by the user.

suppon agents with parameter^ed userids

The

default

is

Hence, even

if

may

be

set

by the

for an agent to assurnc the userid of the user that

Otherwise, the uscrid of the agent

(e.g., himscifj.

that

the agent

is

may

be

set

by the creator

tnggered by another user,

objects that are accessible by the specified uscrid. This

is

to

it

be some userid

scans the set of

helpful in giving a user access to

the services of an agent to run a particular query without giving

him access

to the

ennre

underlying folder. The user will only have access to the objects in the folder thai satisfy the query.

-85-

Use:

Ir.ierface

accessing an obiec a use: Me-J-s the corresponding

I.-,

users

access

cxa.-nplt.

ar.

the

r.z'TM.

td::

delete conrr.ar.d

appropriate

conmand shou shoui orJ>

i:

Specif>'ing restrictive access

6.7 Modification of a

Objects

in

Objec: Lens

change

con^jnands are sh?v.T.

orJy

lT

'j-.s

the user has the

lists is

car.

comn^and

Fc:

ba,'

nghts

to delete the object.

the object

created.

is

be modified either interactively by the user or automatically b>

in the objec: space: save,

ar.

can also be applied manually

;.

add-Imk, move, close. Users

Vv"ner. a rule is

executed on the object.

commands

may

item to a folder. Tnggered agents apply a

set

applied, a collection of objects

look for objects thai match the description of the is

the

Shared Object

and save the chance > or add

the rule

or.

Lhe

or.

use: has the nght to modif>' the obiec; and a

command when

an extra

DependL-.g

d:spia>

Objec: Lens ccrrentJ> supports the foUowLng user-dnver,

triggered agents. result in a

s

windc*

rule.

If a

match occurs,

These actions may var\

m

the

that

edit an object

of rules (rules is

scanned

aaion

to

part of

complexity (sec secuon

6.7.1.2 for further detail;.

L-.

a

distributee rr.-jl::-user environmer.:

imponance.

consistenc\

Distributed Object Lens should provide

The remainder of

this

and concurrency are of paramount

suppon

for each of these features.

chapter will be devoted to exploring various

ways of proNiding

concurrency control for simultaneous users and achic\'ing consistency between different objcCT instance representatives

(if

present).

Consistencv

The

basic premise

is

given time period to

that all

all

changes made to the objea should be made visible within a

authorized sharers of the objea. The question

is

whether the update

propagation should be exposed to the user or done transparently by the system. This

is

only

-86-

an issue

;f

Tne

inzr^ are different cbjec: instance representative of the object.

tm-o options

are.

S'^'ste":

-

Guaranteed Once

an.

object

'.s

mod'.fied, the system, ruarantees that

all

sharers of die ob'ect evenr-ally see &ie change Goose consistency conirol).

H?u

trjs

implementfid depends on the shared objea implementation

is

we

choose and ihe concurrency control desired.

E.T:;osed to user

2.

chancrs

.

The modifier of

tc all sharers

of

±e

'?;sct.

the object sends a

I: is

'-".en

up

message indicaimg the

to the sharers to modif>' their

objea instance represcntaiive. ConcurrenrN-

The system should allow any number of time.

It

is

m

viizl

such

each o±ers operations.



A

a siruaiion tc

Two

users to access the

ensure

'jiat

same shared objea

the

ai

same

concurrent acuon do not inicrfere wiuh

kinds o: ;onfucts ma>' ansc:

Version Conflict that

res'ults

v.

hen different users are accessing

their object

instance representatives concurrently, but are modifying different slots or fields in

the

object.

Version

conflicts

can

resolved

'oc

by

merging the two

representatives together.



A

Serial 12 abUiry

allowed a

occurs

access the same slot

modify or when two users

on each

A

to

ConfliCT

m

arc

when two the object

or

more concurrent

and one or more of

users

are

the accesses

is

pxrforming modifications thai are dependent

other.

concurrency control scheme should be adopted thai

the concurrency control can be possibilities anse:

vrill

resolve such conflicts.

done by the system invisibly or visible

Again

to the user.

Two

-g-.

S'-srerr

1.

Hence.

Tne

Guara-nieei ar.>

transactions

system

iha:

res'Jt

should

conT.ici

a

ir.

g^jaraniee

resolvng

should be

conflicts

abcned and

restated

sysiem.

6.7.1

Vv'e

Tne use:

User AJerred

2.

It is \^'p

Transactions

ulL use

alerted of a conf.ic: a5 soor, as

is

to the user to

in

A

model

either a

COMMIT

transaction

operation or a

successful tcrrrur.aticr. 'the unit of

used -

to signil

1.

'jie

is

the rw.o types of modificaiions possible

defined as a unit of work consisting of a sequence

BEGIN_TRANS ACTION

ROLLBACK

work has been

operation.

operation and ending

COMMIT

successfully completed).

is

used to signal

ROLLBACK

':>e

read;.

types of modifications are formal!) descnbed in terms of transaction as such:

User-dnven modiiicanons

are

performed by the user editing the objea form.

We

wiH term these interacuve transactions

and

may

the

objea form, making

be days. redo.

last

from minutes

to days, i.e., the

the changes

and

Moreover, these transactions

Interactive transactions

.

These transactions

are long-lived

time that elapses between opening

finally closing the object

are very

form

may

expensive to roll-back and

wiU overlap more frequently because of the

duration of the transactions.

2.

m

is

unsuccessful termination (the unit of work carjiot be successfully completed

a data object can net

The rwo

knovkT. to

the actions to resolve the conflict.

descnbe

to

of operations. becLnrung with a special

w ith

is

Object L€ns

the transaction

Distributed Obiec; Ler.>

undo

i:

Agent-dnven modifications

arc

performed as a consequence of a

Rules are either applied by triggered agents or by users. automatic transactions

.

We

Tliesc transactions are shon-lived,

fired rule.

will tem:i these

i.e., last

no longer

ihar.

feu

a

Automatic

seconds.

m

processing n-ansactions

V^ e

iniuaHy

V. lLI

hou

exarrLir.e

database

ihe

transactions

comparable

are

to

daia

systerr.S-

various

s\Tichronizanon

techniques

proposed

for

dismbuted database systems, C.\D ssstems and H>-penext systems may be unpiemented

to

achieve concurrency control for mteractivc transactions. Accordingly v-e wd] examuie hov. these techniques

may

be used to achieve concurrency conffol for automanc transactions.

6.7.1.1 Interactive transactions

An mteracuve

transaction could either consist of a simple read operauon (opening the

object form) or a read op^erauon followed by edicmg the object form and then closing the object form hence

savmg

transition for O, to 0,^j

Lie

is

changes

We

will

on

Op

solely based

assume thai

Lhat

m

case of mod:5icaticns, the

no other objects need

is.

Figure 6-4 shous the ruo possible sets of Literactive transacuons.

objea

IS

considered as a separate (not a nested) transaction

embedded

object

feci that the

is

no different from opening any other objea

two transactions

other users. Vve see below

are related

how

he

and

may

may accomplish

R^(O) RgfO)

Opening an embedded

Our claLm in the

to be read.

is

that

opening an

system. The user

require to ensure

may

no interference from

this.

Read

Wg(0)

Modify

Figure 6-4: Imeracnvc Transactions

If

rwo users

arc concurrently accessing

an objea the following three scenarios are possible:

— no conflia



Two

users are concurrently reading the object



Two

users are concurrently modifying the objea

--

arises.

conflia potentially anscs.

-89-

Concun-cr.'J\



one use:

is

readme and

the

oihe:

me

narurc

n

modif>'Lnc the obie::

--

confiic; ro:er.::j^;> ar.ses

Since the pcten:;aJ for confiir: depcncs

mode

uansacaor.. the

or.

of the sim'jitaneo.:- LT.erac'.:\e

of access needs to be cxpiiciuy spiecified by the user.

Tne foDowmg

users are p>erforTrur.g uidependen; modificauons to the object. illustrate

that

kinds of wv\

Lhree

the

conflicts that

marA

case>

This means tha; rv.o

the cor.f.icts Lha: ar.se are vcrsior. confiicis. not senaiizabic conflic'Li.

examples

Ir.

may

arise

in

are three

interactne

transacaons.

Consider

a

TASK

objec; that has as one of

free text that allov.

field

IS

users

ma\ simaltaneousl>

though

s

users involved in the task to

edit the

to

PERSON

modifv the [phone

wnte about ihcu progress.

this

Two

corresponding objcCT form to note their evaluauon. Even

free text that reflects their evaluations.

a

The contents of

fields [progress repon].

accessing the same field, they arc installing independent pieces of

both, users are

Consider

its

object

VN'e refer to this as a

JOHN Two

n'^m'i^e:] field

users

may

and the other

to

version conflict.

simultaneously access the object, one

modify

the [salary] field.

We

also refer

to this as a versicr confuct.

Consider the

TASK

simultaneously. evaluation.

performed

We

object

again.

However one

Assume

user's

that

comments

rwo users arc

refer to this as a serializable conflia.

accessing the object

arc

dependent on the other user's

Access

to the

objea needs

to be

in serializable order.

User Interface

One opdon

may

is

to let the user specify access

access an objea either to

Read

when

or to Modify.

the object

form

is

Another option

opened.

is

to

Hence,

a user

have edit as one of

-90-

commands on

ihe bar

and clicking or the

far

ed;t

form

comjnand

is

ari

Opemnc

Lhe object fom-;

is

an indication of a read

indicat:on of a wnte.

Automatic Transactions

6.7.1.2

So

the object

we have

seen changes

in the

object space iniaaied and explicitly completed by an

interacuve user thjough Lhe use oi object fomis.

Users of Objea Lens can also create rule-based agents to automatically process information

A

content of objects

when

ru.e cor.ststi o: a descnptior.

and action specifies the consequence of the

the rule sho'uid firr

Description sp)ecuies

and an acuon.

The matching of

rjle.

a rule

and the execution of us action m.a\ be modeled by the transaction:

R(O^)

....

the

.AfO,

)

where .AfOj

form (move objea

I rules: or a

can either be

to folder,

copy object

senes of reads R(0;

actions of the form

summarizes how

{set

rules are

the predicate (description

is

>

)

to

pan

sunpie wnte

W(Oj)

to folder, delete

R-'O^j)

'

modeled

a

as transactions,

conflias

if

Tms means

rules are allowed to interleave.

preserve the serial order of the cxeoinorv^

We

that rule

--

objea from

folder) {Caieeory

W(Oj)

(Category 2

the case of

j*.

Figure 6-5

rules).

There would be a number of reads

of the rule consists of an

the value of the predicate.

RiO;

case of actions of

embedded objea.

dependent on the value of the object read. The consequence pan of a

upon

:

in the

followed by a write

(calculation)}

Tp^

if

TTic write in Tj^

rule

exccuuon may lead

is

conditional

to

senaluabie

Rules need to be executed atomically

to

consider rules and not rule sets to be the unit

of work.

Category Catrgory

Rules

1

1

specifically

viewed

rules

perform

their reads

on any kind of objea but jserform

their writes

on folders by adding or deleting links from folders. The write operation

as an

append operations, hence two different writes

without altering the resultant folder. This means that

ww

be resolved by merging the two modifications together.

may happxn

in

conflias of category

1

may

be

any order rules

may

-9i-

A'O

R.O whsr.

AO

Add

link

Dtlt.e link

Move obiec; to folder SET o.anaDle> TO (calcuboon where



object field of object

F(0;

icaicuiaooQ

0) r

F(0

Figure 6-5: Rule execution transactions R\^ conflicts cf ca!egc-^

cxecuaon of

a

1

rules

need

wnte operation of

mterleavmg

the execution of the

of the oLher

ma>

rw.

a rule

is

If obiec:



If object

much more

Recall that the

dependent on the value of the read.

lead tc conflicts and inconsistencies.

m pseudo

form:

TOM m Folder A then add link from Folder B to object = TOM not in Folder B then remove link from Folder A to object

interleave.

The

Initially the

objea

none of the

first

rule performs

TOM

is

in

folders.

Rj and

Wj

A

and Folder B: object

Figure 6-6 shows

how

which

and the second rule perform R^ and Wj.

Folder A.

are different, they arc both consistent with the rules.

the rules art

perfomied atomicaUy

is

Even though

may

Hence the order

in

not important as long as they are pcriowntd

aiomicaUy. Executions (2) and (3) dcpic; the uxong outcome conflicts of this type

TOM

the rules could

In executions (Ij and (4j, the rules are performed aiormcaUy in scnal order.

outcomes

vt-rite

=

either in both folder^ or

the

Hence

V\; illustrate this in the following

These two rules basically ensure consistency between Folder is

care.

c r^ies such that the read of one occurs before the

example. Consider the followmg two r^Ies



handled with

to be

if

interleaving

is

allowed.

be resolved by serializing the execution of the two rules.

Rw

.0}.

onec:

Obiec:>

fcrrr.

tLTiesiamr cf Lhe lates:

As

indi:a:ed

\r.

w.T.te

Cnap'.e:

T/0

Basi:

?.

alloued

are

timesLamps). then one of interactive transactions

me

fRfO

(RTM'O

of ihe iaies: read

ar.c

tne

\^T7>.1 O;.).

tc

ap^phcabie \n an environment where orie

p:o:tsc urr^

transactions

W(Oj;

--

ori!>

is

Recall that timestamping

represen:ar:ve of the obtec: exis:s

uhere transactions

umesiamp

also ha\e the

v, :i:

is

at

conf.ic:

is

deteaed

comparing

(b\

aborted, rolled back and redone.

In the case of

this implies that conflicts are detected ax

time fwhen user saves modifications,- The unte

modincations can no: be accepted

a

an opi.irnisuc approach

is

is

rcjeaed.

corrLTu: (save) time.

A

This

commi:

user only finds out that his is

highly undesirable in an

interacuve envu"onment.

Timestamping ma\ be used

execuuon. This however requires

to senaiize rules

Timestamping does not accommodate

re«xecuted v.hene%e: conflicts anst trearmen: of uvi conflicts in categorv

1

that rules be

for the special

rules.

To summar^e: 1.

2.

Timestamping

is

inadequate and inconvenient for Lnieractive transactions.

Tunestamping may be used for senakzing category 2 incurred in mainianing timestamps and reexecuting rules.

Another limi'^uons

to basic

Objea Lens would mostly

T/0

likely

is

its

assumpnon of one copy of an

suppon multiple copies of an

Overhead

rules.

object.

Distributed

object.

6.7.2^ Optimistic Concurrency Recall

thai

the

basic

idea

transaction, then validate

Certificauon, a

other

site that

wntc

it

of optimistic concurrency control

and commit

to an object

is

it

if

rejeaed

is

to

always execute a

the validation test is satisfied.

if

any

In Distributed

later read to the objcCT is validated ai

any

contains a representative of the object

In case of interactive transactions, this

means

that writes are rejected at

commit time

if

a

wme

simuJtaneous

read

environmen:.

Disr-.i^u-.ed csr.:::canor.

I:

rr.ay also

be used

Tnis scheme IT.

;c

resolve

occurs

This

resoi'-e

rr.a;.

ccnfjc-s bu;

'-..

agair.

:s

is

ncor.verjen:

and

v^-^

'-^

u-.terarvAe

ar.

ir.

conflict of caisgor>- 2 rjies.

ur.abie :c reat h-m corilicts of categors-

1

append-only cansaaions.

rales as

siot

cr

rr.a>

LT.proved

':>e

if

Lie grar.uianrv' of upxiate

is

rtduced from

objer. to a

ar.

jie object.

TO

D:f:e'er.ce ber'A-eer. 3ai::

Given our simple

ar.d Dis~.b-:'.ed

mterac::ve

ransactions

Op:urust:c Co.~.rcl are v-r. i-sr^n

condiuons

is

tr.e

database system.s

mar.\ v.

ccr^

'

Cerjjicanon

("Reads

or

Modifies).

Time stamping and

Tne optimistic connnl descr.bed above -.nder diesc

vanauon

to Basic T/0.

This observauon

here transactions consist of multiple reads and

is

\».Titcs

no: true in

of differing

obje~s.

From, the user control

only

makes

make

pom: a

of vie>* bOwi approaches look the same.

vtorkmg copy of

the objea,

one

in

Ho\J.ever, since cptimusnc

prmcipie can get access

the necessar- changes to resolve any conflicts.

to Lhai

copy and

This idea suggests versions as a

svTichronizatirn technique.

6.7.2 J

Two-Phase Locking

Two-Phase Locking was described

earlier in chapter 3

inthe context of distributed daabase

Several 'wechmques (prjnary copy 2PL, centraiizad 2PL) were proposed for an

systems.

environment w.herc several representatives of an object

rw and

vw* conflicts by blocking read and

blocking

exist.

wnte operations

Two-phase locking resolves if

a write

is

occurring, or by

a write if a read is occurring.

In the context of interactive cransacnons this

other user

may

be able to modif>'

it

or read

ii.

means

thai if a user

is

modifying an object no

Recall thai interactive transactions

may

last a

-95-

long Dcncd of tune frorr.

couple of hours

(e.g.. a

seeing or moc::>uig

ar.

Tms means

i

obiec: lor such lor.:

that other users

penoCi of

cases v-here the modli^ca3on^ to an object are independent.

Locking works weL

cases of dependent modifications.

imposes unnecessa." srncmess n.'picaU) block reacers

li

a

m

if

it

ScnalLzabUir>-

unnecessary.

is

is

mod:f> operation

is

is

1

rules

vivi

unacceptable

for senaiizabie k-m

\r.

it.

corilicts be:

Two-phase locking

that readers be

conflicts.

ot biocicec

however necessar\

not consistent with the modifications currendy being

not required for category

is

being peii'ormcd. This again

would prefer

V>'c

is

too

strict in

allowed to read

made

an.

to the object.

Hence locking would be

Locking. ho\>.eve:, would be appropnaie to resolve n\ conflicts of category

and serialize the execuuon of categorv- 2

rules

It

the case of indep^enden: uvi conflicts

the context of interacnve operations.

object even

Tr^>

tLTie.

uoL^d

1

rules.

To summarize: 1.

2.

Locking

is

Locking

is

toe restrictive for most interactive transactions.

unnecessary for

many

executions of category

1

rules.

Writes do

not need to block other wntes because of the append nature of the writes. 3.

Locking

is

necessary to serialize execution of caiegorv 2 rules.

Discussion and Issues

Simila'-iT\

In

all

of Difrerem Locian^ Implemenianons

cases the Lens user has to wait

manner.

The

user

is

if

another user

notified once the lock

is

is

accessing the object in a conflicting

released.

The disadvantage of locking

is

disallowing access to an object for lengthy periods of time.

Differences

The

difference anses

availabilit\' in the

results in

ii

greater

i.-

the

improved access tune (because of

case where

"many copies

message overhead.

local access)

of the object" exist.

and increased

Replication, however,

Deadlock Free

Vv'iu".

our mods!

L-.:srac:i\e transacnor.s there

c:'

interacTive rrar.saaior.s arc simple objec'w.

This

is

(i.e..

no nsk of deadlock.

li

Thj>

'c)ecause

is

do no: involve readLng or modifv'ing more

one

thar.

noi n-ue for automatic nransacuons.

GrgrtuJi'-tr. 0^ Lockir.o

Tht level

res'alt in

viiil

more conom-ency than locking

m

Lens m-ay be hierarchical

depamnent objects that that

Locking

granularir.- of Lhe locks affect &it degre« of possible concurrency.

object.

it

we chose

i.e..

to.

model

ihe

If so. this

wiU

result

vieumg of embedded

This eliminates Lhe need for hierarchical locks.

embedded

objects.

Embedded

appropnate soiuuon would be If a user tnes to access a link

The request 6.7.2.4

is

may

student objea

a

level.

Objects

contain

a

in

granted

if

to

m

less

concurrency.

We

Locking an object

all

a

the

indicated earlier

when

they

will not lock

accessed.

are

maintain the granularity of the locking object, he

to

objects as simple non-nested transactions.

objects are locked

from an

Object

Link

This raises the question whether locking an object means locking

has links to

structure,

objea

ai the

the slot

at

may do

no conflicting locks already

so in two

exist

all

us

A more

object level.

ai the

modes CRead

&

Modify).

on the objea.

Version Control

This approach (used

in

representahves together.

CAD No

systems) resolves conflicts by merging various versions of

waits

oi"

restarts are necessary.

Version control

is

an extension

of optimistic concurrency control where the working copies are made accessible as new versions and validation and verificanon are performed by the uaer through merging.

system

known

A

B

and

to date

is

arc created.

The two versions need question

capable of providing automatic merging. Let us consider two users

concurrently accessing objea "x" in modify mode.

"xA" and "x£"

is

No

to be

At

this point

merged

into

how, when and who merges

versions of "x",

each version excludes the other users changes.

one

the

Two new

thai

would be

the current version of "x".

rwo versions together. The

possibilities are:

The

-9"-



The

tw.0 versior:;-

more



'•s.ds.

Tnt luo

need

be merged

v.

her. a user

anempis

versio.-i are rr.erzed

Trus occur?

v.

ihe \3s\ use: to

b;.

contro;

is

'

and sees

iha:

it

comm::.

provides no mechajiisrr. to resolve senaiizable

Noucc

approach the disuncuon between

thai in this

object instance reprcsenianve and object instance version

made

i '

her changes made b> one user are dependent on changes made b\

another user uorking concurrently.

is

tc read

ct.^ c^rrer.' \ersior. rreser.'.

The disadvancace of version corJiias.

lo

zx-p'.'.zw \i a lor.r

\ersior. historv- of an object

is

becomes vague. The distmciion

going to be mamtained.

6.7.2.5

Proposed Synchronization Technique: Hybrid of Locking and Versioning

So

ue have

far

opamisnc concurrency control

elirrunatec tL-nestampLne and

as

suitable

synchronizanor. techjuques for mteraaive transactions in Distributed Object Lens. Locking is

suitable to avoid senaiizable conflicts but

is

too harsh and

Versior. cor.CTo! has the opposite problem.

conflicts.

does not guard

agains:

senaiizable

It is

We

conflicts

technique best suitable for Distributed Object Lens

inconvemem

for version

suitable for version conflicts but

propose that the synchronization is

one

combines both version

that

control and locking.

Our hybrid synchronizauon technique uses version exploits

explicit

locking

to

resolve

serializable

control to resolve version conflicts and conflicts

in

the

case

modifications in interactive transactions, category 2 rule execution and

category

1

the system

rules.

The locking scheme described

whenever

a read or write

is

earlier

of dependent rv,'

used implicit locking enforced by

jjerformed by a user or a rule transaction.

locking allows the user to lock an object, so that crucial modifications to be

objea with no interference from other the

same object would be informed of

conflicts of

users.

its

Another user trying

Explicit

made

to concurrently

to the

modify

sutus and would have to wait for the lock to be

-9S-

Readers however will not be blocked and will be allowed

released.

comrmrted version uiih an indication

that

it

is

to read

the latest

being modified.

Interactive Transactions

A

user

is

also provided v-iih

amr-de

laiSsez-faire

new

is

user

may

adopted here and concurrent users are aiiowed

is

own workspace and

versions arc broadcast to

notified of the

use:

create a

all sites

incoming version

(e.g.

new

his

latest

version.

modificanon^.

ic

version of the objea. At commit

have a rcpresentauve of Lhe object.

that

A

by shading the objea form). The concurrent

made

then decide that irrespective of other changes

make

A

option of modifv'ing the objecrt without locking u.

i.version controlj

modifN' an object lt their

time the

±s

The incoming version

is

Only comrruned modificanons

he

to Lhe object

still

wants

to

ignored and user's version becomes the

are

seen.

uncomrr^ned concurrent modificanons

The user may

objea. Our adaptadon of version control

relies

The

user

is

made aware

of

also view earlier versions of the

on the user

version conflicts; the

to resolve

system just detects jxtiennaJ version corilicts and notifies the user of

their existence.

Modif\ -Mod:f\ Conf.ic:

At time

user

I

A

opens the form of object

representatives of "x" arc notified. t-t-1.

He

is

notified that "x"

is

being

updawd

B

is

the other user's t+2.

modif>

work (assuming both

notified of the arrival of the

sent to

new

All sites carrying

At

this point

commits

are authorized users).

all sites

version.

A

as the

both

A

User

«fe

his

in

modify mcxie

AU

but decides to go on.

the responsibility of the user that

The new version V,^2 ^

mode.

also modifying object "x".

aware of the existence of another modifier. It is

m

User B opjcns the form of objea "x"

represcntanves of "x" are notified that

others' existence.

"x"

sites carrying

A

is

then

made

B know about each

changes

B commits

his

last to

changes

most ctirrem version of objea

might choose

ai

to ignore this version or

merge at

"x".

time

A

is

compare

-99-

chances

N',.-

l'

commr.!- her chances objec: ihe

a

late-^:

1;

.

i>

and merge

h:s z'r.zr.z^>

t:

a:

\~: crea;j-.c

broadcasted tc

z

ir.tr

appropnatei)

rv,c

new version

Tnis

^',.-j

is

.

Ir.

now

eiine: case user

A

the lates; \ersior. of

sues una: conain representanves of "x" and installed as

ai!

version

1'2

Mcsify

V

V i*2

Figure 6-". Resoivnc Modif>-Modif> ConfiiCT using

t*3

Hybnd Implcmentauon

Read-Mod:'^ Conflicr Referring

to fig~jre 6-", an>'

Reads ben>.eer tune

read.

tha: objer.

x" '

Vj^-.

A

So

we have

far

is

B

A

being modified.

a:

A may

will result in version "V^ being

\\ being read but with an indication

in

user reading object

x" bcrwecn times t*2 and t-3 reads

'

time t-4 reads version

if

t

a modifv'

Vj_^-.

is

done during

a read.

Consider the

Figure 6-8.

in

reads object

User

A

not addressed what happens

'

x' ai time

begins to modif> object

"x".

and t*2 will also result

:

use- reading objec: 'x'

overlap dcpiaed

User

reads that occur before time

x". '

t.

Version V( apjpears

User

A

is

in the object form.

notified of the

fan

At time

thai another user

is

i-l user

modifying

choose to terminate his read untU the new version becomes available or

continue the read. view, of object "x".

Once

the

modify

is

committed

at

t+2, user

A

is

prompted

to

to refresh his

100-

•^et:

1*2

i-l

^^

V

V

t R»'rt«h

Figure 6-8: Resolving

a

Read-Modif> CoaLiCt

Hybr.d LT.piemenracon

usir.g the

Automatic Transactions R-^e rar.sa:r:or.s need

".o

acqj-s

the reaci a.-c uT.tes.

Ir.

mtcracuve cansacuons we had

ihe appropr.ate -c:id ar.t modiy_^ locks bercr; pertcrr^ir.g

users are always allowed :o read

ne most

Consider

Locjong ensures

categon. Z rules.

firs:

No

senalizable crds:

neec for 'ead locks because

r.o

rec«n: corruTurted version of a object.

rv-c r^Is rar.sac::or.5

ma>

iha: the

ho'.d

r^e?

are perfcrrned a:orrjcal".>

ir.

ccr/.icung locks on Lhe same objec:.

Confliaing locks are modii>-modi^' and read-modifv-. Category

1

conf:iring.

rjles are created slighLy differently.

Two

category

1

rules

OrJy read-modify locks

would be allowed

append-orJy 'Ante. The resulting versions ntay simply

'oc

to

are

considered

sLmul'LaneousIy pjcrform uheir

merged.

Deadlock

In the case of interactive ransactions

were

sL-nple

(i.e.,

an ass'umpuon • If

m

objea =

we

disregarded deadlock because the transacaons

only co'uld wnte the suigle object thai was read). the case of automatic transactions.

We

this rule.

The

make such

Consider the rule

task then set taskmanager. count to taskmanager. count

and two agents corxurrently applying

can not

first

+

1

agent Tl. reads object

reads and writes the taskrr^tager objea Oj. The second agent

tl,

reads objea

O

and then

O2 and

Lhen

-101-

reac anc u-r/.e

'jie

Figure 6-9 iUustrates^

obiec! O.

i3s'r:rr.2s\2cer

2

pcssibJe deadlock tha:

m2> anse

Tl

WfOp

TI

R'O

RfO,)

t:

R.0-'

R''C..w,o,i

-

TZ

ReadJocki'O'

ReadJock

Grar.-.e::

Granjec

Tl -Readjock(0,i

T:

Gramed

Grarued

Tl

-

Wnielock(0,)

Denied

T2

-

-

0--i

ReidJcx±(0,j

WntciockfO,^

Derued

Deadlock

Figure 6-9; Rule Execution Deadlock

We in

co'jJd

choose

an ordered

prevcn: deadlocks

tc

mame:.

is

such cases by insisting that rules obtain al locks

Lock orderjig avoids deadlocks and enforces

a

senal

order

execuaon.

Another

possibiiin.-

is

deadlocks using timeouts.

tc detect

halted for a specific period, Lhis rules

execuuon need

to be rolled

is

If

execution of rules have been

an indication of a deadlock.

If a

deadlock

by another rule or a user). Tt\z system should permit the user

bcrween

interactive read

and

a rule write to

ii

has been locked

in case of an overlap

view the changes made by

the rules as soon as

they arc committed. Similarly for an overlap of an interactive modify with a rule

modifier should be able

To summarize, •

to

access the changes performed by the rule write

the user will be

Read-Modify Conflict

-

exposed

A

reader

is

he %^ishes

always allowed to read. TTie most current

A

is

modifs' as soon as

knovvTi to the svstcm.

is

if

\*Tite, the

to the following in case of concurrent access.

version of the objca it

detected,

back and reexecuted.

In executing rules the latest committed version should be read unless (either

is

returned.

reader

is

made aware of

a concurrent

to.

-ic:-



Modify -.Modii>' Conflic: cnce

he commits

merge

to

rr.ocry :>€Zjs.-

accounted for



Locking This

ir.

his

m

second modifier

a

the respons:bU:r. cf each modif.e: v^hsr.

:s

I;

made aware of

is

modificanons wi^h any version received SLice

Tr.-.i

r-arar.'.ees

'Jie

latest version

'-".i:

al

•c.e\ir.".

changes comm;r.td so

to

:ar are

prevent modify -modiiy- conflicts.

cases where the modifier feels his changes are

an object w-X no: block readers

h-^s

ob-tc.

r:' tr.e

Locking may oe expjc:t-\ done

-

done

IS

Tne modine:

kr.o'AT. :c 's\t s' blinking the refresh

command on

the object

form-

Adding

links to an

opened folder

(i.e..

an append transacnonj

may

be done automaucaUy by

n

the system.

Implementation

A

disiributed

Objca Lens enviror-ment wuh mulaple

An objea manager each

site

at

each

site

representatives of objects

concrols access to objects

ai thai site.

maintains Lhe following informanon for each object:



Locked



Be^ng Modified, by

or Unlocked.

whom

and

at

what

site.

is

assumed.

The objea mana.ger

ai

-IC?-



Being Read. b>

and

v.norr.

\^ha: sue.

a:

• Times:a.T.r of the late?; ^ersio^. 'uher.

in

modif\ mode,

ioc^ed. a:^e^-

is

d=la\ed untJ lock

is

the object

:?

venfie?.

:he object

is

is

to date as tc

who

Once

modifier.

nev^ versions

commit

the

The

manager

sites will

beer. rece:\ec

installs

broadcast to

is

remove

'user"

at

If the obiect is

it

is

manager then broadcasts

rum

will in

all

managers

verifies that

the user

is

list

is

is

is

control

at

implememauon by adding

Lnformc^

The object

at

commit

time.

Receiving

The new version is

being locally

made.

if

the

objea

presented to the requester.

automatic

objea "x"

If the

"x".

is

If

is

being modified and

an object manager

being read then the user

most 10 objea forms opened

for

umesiamp generited

of modifiers for objea "x".

The informauon maintained by each objea manager since a user will have

no

and interacnvely merge the rwo together.

manager checks

modif>'ing an objca that

up

of a neu

notif>' local users

objca manager

to other

are kept

sues that contain representatives of objca "x".

'sue" from the

Tne

being modified.

new version has been received,

explicitly

received \e-sion

shaded form of the object

Concurrency

by another user

his changes, the

the latest version of object

a note of the

else

They

If

Object Mar.ager

"x'\ so thai other object

as a nev. versio.-! uith a global

t^i..

Similarly for a read, the object

someone

If a

object

Object Manager.

If not, Lhe

reieaseerformance that centra] site

paradigm.

still

we decided

the

or.

car.

i.

crainonai

proposed hybnd scheme of locking anc the obiec; exits Ln

some

state or

Ln fact. Lhe

equivalent with respect to our proposed concurrencv

is

disnbuted option with pnmarv' copy update.

the

tc

if

amestampmg). The concurrency scheme mos:

more than one cop\ of

that

"centralized with caching" option control

valid only

Tnis leaves us with the centralized with caching opuon.

one time.

a:

.

first clarr: is

Objen Lens was

suuabie for Disr:bj:ed versions.

because of us SLTiple: concurrency conro! scheme and

arn-2r::'>e

is

Despite the unproved

be attained r> caching, the bottJeneck imposed on the system b\

Tne

exists.

centralized cached approach implies a central rule resolution

Ail roles are resolved

m

Note, however that e%en

t-ne

the

at

the central site, and the objects that

match

centralized case, pnvate objects are located

are

reromed.

at

the local

worksatation. hence any rules that consider shared as well as private objects need to be applied

at

the lozzl

wcrkstanon

for the personal objects

and

distributed approach

the due to

ai

the central site for shared

objects.

Much

of the comp!ex!t%

scheme and com.piex

in Lhe

rule resolution

somewhat

concurrency scheme

is

distnbuted approach.

The

scheme.

the

same

rule resolution

a large

overhead

As mentioned for the

complex concurrency

earlier

performance of the

centralized with caching

paradigm on the other hand

objects are distributed over the system.

problem but introduce

is

is

and the

complex because

Fully redundant replication will eliminate this to

propagate updates and a large increase

in the

amount of memorv- space needed.

We

have eliminated concurrency control as a key consideration in deciding between the

"central with caching" arc rule resolution

and the "distributed approach". The key considerations

and contenuon.

Rule resolution

may

that

remain

be simplified in the distributed

-lOS-

approach

memon.

if

we

cor.s:der ihe

space to store

To summanze.

i".e

a:

fuJJ>'

redundant case.

each v.orks:ai:on

2I'.

The

fully

redundant case requires more

objects used whether personal or shared.

k?> issues m. c.sz\d-^s berv-eer.

tr.e

isrr.buted and cenralized approach

are:

Csr.~2us.td

Disinbited Arrroach

cac:

'A :-"!

BorJeneck

No

Simple Rule Resolution

Complex Rale Resoluuon Simplified in FuUy Redundant Case

contention

a:

central sue

Tradeoff between and Space and Lncrtased Locking and L'?ca;e Prorasatior.

Overheads

Creation of Shared Objects

We

proposed two ways of making an object shared. The ongmaior can:

insen a reference to

1.

2. insert a link to

We

concluded

esscnual to

it

it

in a

in a

shared object.

Lha: Distributed

initiate

Mail Message.

Object Lens -ttdtd.

sharing of a parent objea.

objeas.

Protection of Shared Objects

The two options we examined were;

1.

Capability -Based System

2.

Access Control

List

Svstem

to

supper. boLh methods.

T^e second was

Tne

first

was

narural for sharing of child

-lOt-

The proposed scheme

Hsbnc



A

is.

Capab^;r\ -based anc Access Cona-o! Lisi

c:

capability -based protecxior. mecharusrr.

Object Lens

is

a uzt.t: -or.sr.-.tz s>s:err.

ids) to objects before they

objea unique

object

id

Capability -based

An

with

SN'stetr.

access control

has

pitfalls

its

list s\sierr.

the sense that users

can access them.

relevant

the

ir.

the namraJ choice for Distributed

is

It

indicating

fields

uould mean

a

We

to use access control lists in a restrictive

propose

based

s}.-stem.

ir.

TTie overhead incurred here size of the list

read,

write

would be too long

the unique

would be

Tlie rescr,cti\e

list

objea

would be

manner

2.

Basic Timestamping

3.

Distributed Certificauon

4.

Version Control

access.

in

maintaining

lists for

to

if

suppon if

the capabilir.--

they have the correct

they are not restnaed by the

list.

permissive case mainly because of the

usemame

Concurrency Control and Update Propagation

Simple Two-Phase Locking

and

easier to maintain.

specifv auLhorj^d users' attributes.

1.

id

less thar. the

creator by indicating auLTonzed users b\

The four options examined were:

and delete

to maintain.

T>J3 hybrid s>stem allows users access tc objects

access rights as indicated

have links (unique

thus reasonable to augment the

tremendous overhead

A

Lis:

to

Lens.

(uncontroUcd access, rcvocarion of access).

each object.

permissive

is

need

Objea

The

list is

specified by the

or by formulating a set of rules that

-110-

The proposed scheme



Users

Hybr.w

o:'

lock^-.: ar.d '.ersior. ;or.ro!

LT Distributed

Object Lcr.s L-/^rarj'.

Two-Phise Locking object.

is;

Tr^s mear^

resolves corilicts by

tr.a:

the

Basic Timestamping scores

The user

:s

notif.ed that hjs

vi,orse

s;r.:e

work mignt Such

to

tr.e

at

long pcnocs

most one user

a: a

o: time.

time

to

wait (perhaps for a long tme).

use:

is

res'ul: in a

i:rir.endl_-.ess

modify an Locking

is

not aware of other concurren: users. coriiict

and thus rejcr.ed

would no: be

v.

hen he

is

tolerated by an Object

user.

Distributed Certification scores badly the

aiiowmg

second user his

ready to commit the changes.

Lens

ei> ed;: objects for

Timestampmg approach.

It

is

a:

as well.

com-m::

The user

tme

faces the

same urir.endimess

as

that a user's mocjifications are rejected

because of a coniiict.

Version control's to

make then

mam

artractiveness

is its

laissez-farr att:njde.

modificaiior^s and hence creaie

versions can be then merged to create the

new

new

Concurrent users are

free

accessible versions of Lhe objea.

These

scheme however

fails to

-jrrent object. This

resolve senaiizable corilicts imodificauons that are dependent on a concurrent users'

work).

We

hence proposed a hybrid scheme

version control.

Explicit locking

is

thai com.bines locking (explicit), notificaaon

provided for

serializab'.e contlicts.

responsibility to assess his changes as vital and hence lock the

is

It

objea making

it

and

the user's

inaccessible

-into cLneri

1:'

oner:

tr,e

aireac\ locked, iher. oLner users

No:j"ica::or.

to the object are yr.il

environrr.en:

is

Trj> m^cificauor.

tc de:£rrr.:r.t ar.v

u ams

rr.:zh:

it.z:

ha\e

Lhia:

changes made

lead to informal communicatior. berwecn ihe users

At comrru; time, the user

beer. r^:f.\td. since the user

7.2

The Proposed Distributed Object Lens

We

choose

tc

trusiLng

users of o*-hcr concurren: users in Lhe laissez-faire

possibilirv- of cor_f.icis.

any pending \ersions

w. ai:.

began

his

is

prompted

to

merge

work.

descr.^e uie disrributed approach to implementing Distributed Object Lens

because of Lhe genera:;:> cf the solution. caching' approach. Tne system

»•

I -»

I '.

e

"

c

'

Zitz: re-;e'

1

is

depicted

A in

speciaj case of this

is

Figure 7-1.

werkfttnor

r

the 'centralized wiLh

.

-ii:-

Lidicatirig the o-Jne: iocatior.s of rep:essn:a:;ves of shared objects stored Io:a]I>.

needed

to er.sure

'j-.a;

prora£a;ed b^ the

5::e

-pdaies are propagated to those sites

uhere

the jrdate occurs

u^

• Trar.slatior. table

the

ids

L'-.temai

r.eu

m case

or

:s

versions) aie

Distr.b'jted jrda'.e rro'oatatior.

case of version cono-oi anc pnmar>- copy iocking and upxdaie

Tne Object Mar.age:

Updates

Tn:s

is

used

ir.

iocKng.

have the foliowir.g duaes:

of the system wide ids generated by the objea manager and Lndicating the physical location

of the

objea

in

memory

generated by the local object ser.er.



A

list

of

all

objects currently being



A

lis:

of

all

locked objects.



A

list

of an> received versions of objects bei-.g viewed.

• .A



Tne

capabilirv- to

reduce access

the local

modes of an

w orkstauon.

Tnese need

to

'This ciuJog could be

^Agaic such

object given the system, wide

id.

Maintain restrictive access control

of change

at

catalog of local snared objects and their ouher sites-

objea



viewed

be replicated

mainumed

a hst could be

ai

each

centrally for

lists

site

all

maiDiained centrally

for shared objects

where

objcc:

to

a

copy

at

the local site.

o: the object exists".

maaagen

mminuze on

space used aod updaii propa^anoo

is

case

-115-

7.3 Direction of

Future \\ork

Vv'e f:e'. Lha:

quest for

ir.

o-oi

ar.

obje:; sharing

light or. the relevant fearures that influence the

scheme

for

Object Lcr.s v-e have shed some

design of a concurrency concoi scneme

ir.

an object-onenied h>-penext system that incorporates both user-driven long transactions and

Our scheme

shor. lived automati: rransactionv

differs

allows for rephca5 and versions of an object to exist.

We

most recent version of an object.

the

potenuaJ conf.ict and lease versions together

system using a

It

is

that

it

also pwrmits a user to always viev.

it

enough

is

to

warn

the user of a

to explore the possibilities of

automauc merging by

the

of rules.

sp)ecific set

character.s::c

It

earlier in that

user to resolve the conflia by merging relevant

the

to

wonhwhile

is

Initiating sharing using mail

This

it

propose

from those proposed

messages

is

another feature not

common

in

hypenext systems

of our systerr. because of us integration with an clecn-omc

system.

Protecting

object.'^

commuTury. sharing

is

\^'e

is

feel

ar.

issue

that thus

has not been seriously addressed in the h\-penext

that

is

important in a distributed environment where object

possible.

Out examination of object sharing collaboranve

applications

requirements

for

some

which

in

Objea Lens have

transactions

less

reveals a class of infomiarion shanng and stringent

concurrency

and objects they support

and

We

consistency

identified

transactions as long interactive transactions thai involve editing object forms.

users in such applications need not see consistent copies of the

aware of the existence of other versions. Moreover, a user's

objea

role has

those

Multiple

as long as they are

expanded

to include

also

suppon shon

automatic transactions thai rcquu-e to see consistent copies of the objea.

Concurrency

explicit

merging of different versions.

These applications need

to

.

conn"ol cor.trr!

IS

much more

rcr

one

s~j-.geri:

c!

set

a less

to

case

this

~ar.5ac;ions

concurrency conroi scnemes

Tne bcnents of

m

or

I:

another,

accomjnodate

not sufncient to provide concurrency but

rather

ix)th ry-pcs

Oiir

svstem

must

oro\'.de

of transacnons.

stringent consistency and conc,irrency requirements Lndicate that

work applicaiicns should

future cooperat'.' e

is

aliovi.

uorkgroups

to

choose berue«n snc:

concTirrency conrol provided by lockir.g and more flexible concurrency control provided

by version merging.

This work has

m

prcsenor.g

recommending schemes

for object

out m.an> of the implementation details.

left

the design space for D;str.b-ted Object

Lens and

m

It

was successful

creation, object protecuon. concurrency concrol and ujxiaie propagation.

Tne mie

these schemes

is

Lens prototype

Depending on

the choice of a pla'Jorm for Object Lens a

foUowmg •

l-.

tr.e

nee-ds to be

Objea

actual implem.entation c: the EXsrnbuted Object

performed

l".

the

foUowmg

area

test

more detailed analysis of

d-urj~.g the

of

Lhe

implementation phase:

Deletion.

• Distributed vs. Prur.ary

outlLied a disnbuted

copy update

opuon whuch

li the

case of version control.

We

have

co'uld suTiply be specialized to Lhe prjr.ary

copy option. •

Rule resolution.



Recovery-.



Version management.

^

The pjower of coopcrarive work applicauons shanng.

We

hope

thai Lhe first prototype of

imponance of scmifonnal systems information.

is

only realized with the availability of object

Disributed Object Lens would

to acbueve sharing of scmistnictured

illustrate the

knowledge and

-115-

References

[Bcrcnson 89]

Rjchard Berenson. Opiec: Lens Archutecrure. Jar.ja.-}. I9i-r.

Internal

[BsmsieLT. 80]

Lens Group Memorandum.

P. A BemsteL-, and N Goodman. Concurrencv Cono-o! n a System for Ehstributed Databases (SDD-1). ACM Transaction on Daiaoase Systems March, 1980. ,

[Bcmsicin 81]

Philip Bemstem and Nathan Goodman. Concurren:> Ccnrol l-. Distributed Database Systems. ACM : Compunne Sur\e\s June, 1981. ,

[Bobrou 86]

Darjel Bo'rrou and Mark Stefi; Object Onented ProcrammLng: Themes and V'aiiauons.

AJ Magazine (Carey 8Sa]

.

V*'in*t£r,

19S6.

Mjcheal Cajs> and Muon Li\Tiy. Distributed Concurrency Control Performance: A Suidy of Algonthms, Distribution, and Replication. Proceedings of the 1-itr. VLDB Conference 1988. .

[Carey 8Sb]

,

Mjcheal Care> and Miron Liveny Distnouted Concurrency Control Performance: A study of Algonthms, Distribution, and Replicauon. Proceedings of the 14th \ er\ Large DataBase Conference September. ^ ,

1988.

[Ccn 84]

Stefano

Cen and Giuseppe

Computer Science

Series.

Pelagani.

Distribmed Database: Principles and

S\sterr.s.

McGrau-HiU Book Company. [Cohen 88]

1984.

Cohen. Dilip A. Soni. Raimund Gluecker. William M. Hasling. Robert V»'. Schwanke and Micheal E. Wagner. Version Management in Gs'psy. Proceedings of the ACM Software Engineering Symposium on Praaical Software Development Environmerus November, 1988. Ellis S.

,

[Conklir 87]

Jeff Conklin.

H>T>cnext: An Introduction and Survey. JEEE Computer September, 1987. ,

[Coulouris 88]

George Coulouris and Jean DoUimorc. Inierruitional Compuier Science Series: Disrribuied Systems, Concepts and Designs. Addison-Wcsley Publishing Company, 1988.

-116-

[Decouchant S6]

D DecoL chant. Disinbuted Manags: for the SmaIltalk-80 Svsterr. 86 September. 1986.

Des:£m of

a

OOPSLA [Dclisle 86]

Norman

.

Deltsle and

Contexts

Mayer Schwann

A Paniuoning Concept

-

for Hv-pertext.

Compuier- Supported Cooperative

Procee:iir.is o' the Conference on

V^'ork.ACM .DtambcT. 1986.

[Dcmers S8j

A. I>mers.

H. Snirgis.

D Greene. C Hause. W. Ir.s'-. D Sutnehar and D. Terr..

Epidemic AJgonthms

for

D H

Larson. S Shenker.

Rephcared Daubase Maintenance.

AC.y Operating Systerns Review [Fishman S"j

J,

,

January-,

1988

D

Beech. H.P. Caie. C. Chou. T. Connors. J.W Dav.s. Hoch, W. Kent. P. L>Tigbaek.. B. Mahbod, A. Neunat. T..A Ryar. and M.C. Shan. Ir.s. An Objeci-Oncnted Datai;ase Management System. ACM Transa::::n on Ofnce Irfcrr'Jinon Systems Janua.-> 1987. Fishmar..

CG

N. Dcrrer..

.

[Grant S"]

K

Gran:.

K

Y. La:. T.W. Malone, R.

Roa and

.

D. Rosenbhtt.

Semjsc-jcn:red Messages arc Surpnsingly Useful for Computer-

Suppor.ed Coordmanon. Transactions of Office Informav.on Systems

ACM [GrefS']

Ro'Der:

W

October, 1987.

,

Gref.

Disr^buted Database Systems:

A Comcar^on

ber^een

ORACLE

and

INGRES Master's thesis. Massachuser.s Instimte of Technology. May, 1987.

[GreL'88]

Irene Greif, Leonard Kawell. Steven Beckhardt,

Ra>mond

TLmoihy HaJvorscn and

Ozzte.

Management

Group Communication Second Conference of Compuxer-Supponed

Replicatec Document

Proceedings of the Cooperative Work,

[Ha^S:]

L.M. Haas

ACM

,

ir a

System..

September. 1988.

et al.

R* A Research Project on Distributed Relational DBMS. Data Base Engineering Oaobcr, 1982. :

.

[Hormck

87]

Marie

A

Hormck and

Stanley Zdonick.

Shared, Segmented

ACM Transacnon on [KohierSl]

for an Object-Oriented

Informanon Systems

,

:

Database

January, 1987.

Walter Kohier. A Survey of Techniques for Synchronization and Recovery Decentralized Computer Systems. Compunng Surveys June, 1981.

ACM [La: 88]

Memory System Office

in

,

K. Y. Lai, Thomas MaJone and Keh-Chiang Yu. Object Lens: A Spreadsheet for Coopcranve Work. Transactions on Office Infonrjjiion Systems October. 1988.

ACM

,

,

-ir-

[Lampcr

"8j

L La-T-pon. Tun?. Clocks and ihe Ordenng of Events in Communis. u: 197a.

[Lee 8S]

a

Dismbuted Sysiem.

.

,

ar.d Tr.0rr.a5 MaJone. Groups Communjcate VMien They Use Differen: Languages P'-oceedims of the Conference or. Office Inforrruinon S\siems March. ^

Jntae Lee

Hou

Car.

,

198S.

[Majer S"]

[MaJone 89]

David Ma:er and Jacob Stein. De\e.pomen'. and LmpicmenLaiJon of an Objea-Qneniec DBMS. Research Direcuon in Objea-Orieraed Programming. MIT Press September. 19S7.

Tnomas Maione. Keh-Chiang Yu and AddL-e Sermfonr.i! Strucrure

Suommed [Neuhold SZ]

E

::

,

Jintae Lee.

to Hypertext.

ACM Hypertext Conference

I9S9

,

Noven^ber, 1989.

Neuhoid and B. Walter. OverMev, of the .Ajchitecture of the Disnibuted Daiabase System As. J.

POREL. Dismbuted Databases. H.J Schneider, [Porter 88]

Harr>

A

H

Poner. Earl

F.

ed.

North Hollar

1982.

,

Ecklund. T. Anderson and Bruce Schneider.

Dis^-.buted Objec: Server.

2nd Conference on Object-Oriemed Database Systems

,

S .ptembcr.

1988.

[Purdy 87]

[Reed "8]

Alan Purdy and Bruce Schuchaidt. Lntegraang an Object Se\e: with Other Worlds. ACM Transaction on Office Informanon Systems D.

P.

,

January

.

1987.

Reed and Synchronizar.on in a Decentralized Computer System. thesis, Massachusens Instimie of Technology September, 19''8.

.Vj'^;'!^ P.-JD

[Reps 88]

,

Thomas Reps et. al. Suppon for Iniegranng Program

V'anants in an Environment for Programming in the Large. Imerrujtioruil Workshop on Sofrv^are Version and Configuration Conirol .January, 1988.

[Rowc

86]

LawTcnce Rowc.

A

Shared Objea Hierarchy.

1986 ACM -IEEE Iruemationa! Workshop on Objea-Oriented Database Systems 1986.

In Proceedings of the

,

[Saltzer 75]

Jerome Saltzer and ?viichea] Schrocder. Tne Protecuon of Lnformahon in Computer Systems. Proceedings of the IEEE September. 1975. ,

-IIS-

fSinha ^5]

M Siiiha. P Nanadika: and S. Mebndirana Timesiamp Based Cenification Schemes for Transaciions Database Sysiems. Proeedings of ACM SIGMOD Conference

[Stonebraker 79]

M R.

,

in

Distributed

in

Distributed

May, 1985.

Stonebraker.

Concurrencv Control and Consisiencv of Multiple Copies

LNGRES IEEE Transjcnons on i^Stonebraker 86]

Sofr^'are Engineering

May,

19''9.

Micheal Stonebraker and Lawxence Rowe. The Design of POSTGRES. In Proceedings of the 1986

ACM-SIGMOND

on Management of Data

[Tnomas "9]

.

.

Iniernanorml Conference

1986.

Robcn TTiomas.

A

Majcnry Consensus .Approach

to

Concurrency Control

for Multiple

Copy Databases

ACM [Trigg 86]

Transactions on Database Systems

.

June, 1979.

RandaT H Tngg. Lucy A. Suchman and Frank G. Halasz. Supporong Coliaborauon in Notecards. Proceedmes of the Conference on Computer-Supported Cooperative Wo-k. ACM December, 1986. .

ii3lS

?.b.

Date Due

Lib-26-67

mi

3

TDflD

LIBRARIES DUCl

0D7D1S73

5

Suggest Documents