throbber
US005991771A
`
`
`
`5,991,771
`(114) Patent Number:
`United States Patent 55
`
`
`
`
`
`
`
`
`
`
`
`
`Falls et al.
`[45] Date of Patent:
`Nov. 23, 1999
`
`
`
`
`
`
`
`
`
`[54] TRANSACTION SYNCHRONIZATIONIN A
`NITWORR COMPUTER AND
`
`
`
`
`
`[75]
`
`
`
`:
`.
`:
`.
`
`
`
`
`
`Inventors: Patrick T. Falls, Newbury; Brian J.
`
`
`
`
`Collins, New Malden; Stephen P. W.
`
`
`
`
`
`Draper, Basingstoke, all of United
`
`Kingdom
`
`[86]
`
`[87]
`
`
`
`
`
`
`
`
`
`
`
`[73] Assignee: Novell, Inc., Provo, Utah
`.
`
`
`
`[21] Appl. No.:
`08/700,487
`PCT Filed:
`Jul. 18, 1996
`[22]
`
`
`
`
`
`PCT No.:
`PCT/US96/11901
`
`
`§ 371 Date:
`Jul. 3, 1997
`
`
`
`
`
`
`
`
`
`§ 102(c) Date:
`Jul. 3, 1997
`:
`
`
`
`
`PCT Pub. No; WO97/04389
`PCT Pub. Date: Feb. 6, 1997
`
`
`
`
`
`
`
`
`
`Related U.S. Application Data
`
`
`
`
`
`
`
`[60]
`Provisional application No. 60/001,261, Jul. 20, 1995.
`6
`
`
`
`
`
`[S51]
`Tint, Ce ccecceeseecneceneceneeenessenee GO06F 17/00
`
`
`
`
`
`
`[52] U.S. Ch.eee 707/202; 707/201; 395/182.1;
`
`395/182.13
`.
`
`
`
`
`
`
`[58] Field of Search 0...eee 707/8, 10, 201,
`
`
`
`
`
`
`707/203, 200, 202; 395/180, 182.1, 182.13
`
`[56]
`
`
`
`87107475
`
`92308720
`9508809
`95100255
`
`
`
`
`FOREIGN PATENT DOCUMENTS
`1/1988 European Pat. Off.
`........ GO6F 11/14
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`8/1993 European Pat. Off.
`........ GOOF 15/16
`
`
`
`
`
`
`
`3/1995 European Pat. Off.
`........ GOSF 17/30
`7/1995 European Pat. Off.
`....... GO6F 17/30
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`OTHER PUBLICATIONS
`
`
`
`
`Advance Program—Second Workshop on the Management
`
`
`
`
`
`
`
`
`of Replicated Data(WMRD-I]), Nov. 12-13, 1992, pp. 1-2.
`
`
`
`
`
`“Application—Aware Adaptation for Mobile Computing”,
`M. Satyanarayanan et al., ACM SIGOS Operating Systems
`
`
`
`
`
`
`
`
`
`
`
`Review 29.1, 1995, pp. 52-55.
`
`
`
`
`
`
`“Architecture of the Ficus Scalable Replicated File System”,
`T. Page, Jr., Computer Science Department Technical Report
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`raiversity Of California At Los Angeles, Mar. 1991, pp.
`
`“Coda: A Highly Available file System for a Distributed
`
`
`
`
`
`
`
`
`
`
`Workstation Environment”, M. Satyanarayananet al., JEEE
`Transactions On Computers, vol. 39 No. 4 Apr. 1990, pp.
`
`
`
`
`
`
`
`
`447-459.
`
`
`
`
`“Coding for Compression in Full-Text Retrieval Systems”,
`
`
`
`
`
`
`A. Moffatet al., IEEE DCC Data Compression Conference,
`
`
`
`1992, pp. 72-81.
`(List continued on next page.)
`
`
`
`Primary Examiner—Paul V. Kulik
`
`
`
`
`
`
`
`
`Attorney, Agent, or Firm—Computer Law
`
`
`ABSTRACT
`[57]
`A method and apparatus are disclosed for synchronizing
`
`
`
`
`
`
`
`transactions in a disconnectable network. Each transaction
`
`
`
`
`
`
`
`
`
`
` ‘imeludes operations that were performed on a database
`
`
`
`
`
`
`
`
`replica on one computer while that computer was discon-
`
`
`
`
`
`
`
`
`nected from another computer and hence from that other
`
`
`
`
`computer’s replica. Transaction synchronization, which
`occurs after the computers are reconnected,transfers infor-
`
`
`
`
`
`
`
`h
`the
`t
`ter
`to
`:
`i
`oth
`d
`
`
`
`
`
`
`
`Mation trom each
`computer
`the other computer an
`to
`
`
`
`
`
`applies updates to both replicas as appropriate. Transaction
`
`
`
`
`
`
`
`
`
`logs and clash handling tools may be used with the inven-
`tion.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`34 Claims, 4 Drawing Sheets
`
`
`
`References Cited
`
`
`U.S. PATENT DOCUMENTS
`
`
`
`ccscccccscsscsscssseeeeeeee 364200
`3/1986 Motel et al.
`4,575,793
`
`
`
`
`
`
`.. 364/200
`11/1986 Franketal. ......
`4,622,631
`
`
`
`
`
`
`
`... 364/200
`9/1988 Kollin et al.
`4,774,655
`..
`
`
`
`
`
`
`
`
`
`
`
`«364/300
`9/1988 Kumpati........
`4,774,661
`
`
`
`
`
`s- 364/200
`5/1989 Shibayama....
`4,827,399
`
`
`
`
`
`
`
`..
`«- 364/200
`4,878,167 10/1989 Kapulka et al.
`.. 439/505‘
`7/1990 Eppleyetal. ....
`4,941,845
`
`
`
`
`
`
`
`... 364/200
`3/1991 Johnsonetal....
`5,001,628
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`w.. 364/200
`5,008,814
`4/1991 Mathur .............
`w 364/200
`5/1991 Alderson etal. .
`5,019,963
`
`
`
`
`
`
`8/1991 Terry ceesccsccscsscsssssessesserserseesoeee 364/200
`5,043,876
`
`
`
`
`
`
`
`
`
`(List continued on next page.)
`
`COMPUTER
`
`
`
`
`
`
`
`
`
`
`
`
`DATABASE MANAGER
`DATABASE MANAGER
`
`
`
`
`44
`
`
`
`
`ps
`
`
`
`}/—
`AGENTS
`AGENTS }
`
`
`
`
`REPLICAMANAGER
`
`
`Ls
`
`
`
`NETWORK
`FILE
`NETWORK
`
`
`FILE
`a
`
`
`
`
`
`LINK
`SYSTEM
`SYSTEM
`LINK
`
`
`
`
`INTERFACE
`INTERFACE
`INTERFACE
`INTERFACE
`
`
`
`
`
`
`
`
`
`
`STORAGE DEVICE
`STORAGE DEVICE
`
`
`
`
`
`AND CONTROLLER
`AND CONTROLLER
`
`56
`
`
`
`
`
`56
`REPLICA
`
`REPLICA
`
`
`
`
`
`
`
`
`
`
`|
`
`
`COMPUTER
`
`
`
`
`
`
`
`
`
`REPLICA MANAGER
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Starbucks Corporation,et al. - Ex. 1017
`U.S. Patent No. 9,454,748
`
`Starbucks Corporation, et al. - Ex. 1017
` U.S. Patent No. 9,454,748
`
`

`

`
`5,991,771
`
`
`Page 2
`
`
`
`U.S. PATENT DOCUMENTS
`
`
`
`5,113,519
`5/1992 Johnson et al. wv. 395/600
`
`
`
`
`
`
`8/1992 Ottmanetal. ....
`.. 395/700
`5,142,680
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`9/1992 Carey etal.
`......
`.. 395/200
`5,146,561
`9/1992 Johnsonetal. ...
`.. 395/600
`5,151,989
`
`
`
`
`
`
`
`5,155,847 10/1992 Kirouacetal. ...
`.. 395/600
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`10/1992 Trigg et al.
`.......
`. 395/159
`5,159,669
`5,170,480 12/1992 Mohanet al. oo... ee eeeeeeee 395/600
`
`
`
`
`
`
`5,185,857
`2/1993 Rozmanith et al. owe 395/148
`
`
`
`
`
`
`5/1993 Rago veers
`.. 395/600
`5,212,789
`
`
`
`
`
`
`
`7/1993 Thomas vaccccscssssssssesesevesseseeeeeee 341/51
`5,229,768
`
`
`
`
`
`
`5,237,680
`8/1993 Adamsetal. ....
`.. 395/600
`
`
`
`
`
`
`
`9/1993 Holmeset al. woe eceeeeee 395/700
`5,247,683
`
`
`
`
`
`
`12/1993 Dubin et al. ee eeeeeee 395/600
`5,274,803
`
`
`
`
`
`
`5,276,868
`1/1994 Poole ........
`.. 395/600
`
`
`
`
`
`
`
`1/1994 Howarth........
`.. 395/600
`5,276,871
`
`
`
`
`
`
`1/1994 Colemanetal. .
`.. 395/650
`5,276,876
`
`
`
`
`
`
`
`1/1994 Fosteret al.
`......
`.. 395/600
`5,278,979
`
`
`
`
`
`
`
`
`5,278,982
`1/1994 Danielsetal. ....
`.. 395/600
`
`
`
`
`
`
`
`3/1994 Kawanoet al.
`.. 395/600
`..
`5,291,591
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`5,297,278
`3/1994 Wang et al.
`......
`.. 395/600
`5/1994 Hendricksetal.
`.. 395/600
`5,313,646
`
`
`
`
`
`
`5,317,728
`5/1994 Tevis etal. .......
`.. 395/600
`
`
`
`
`
`
`
`6/1994 Tanakaetal. ....
`.. 395/600
`5,321,832
`
`
`
`
`
`
`
`
`5,325,524
`6/1994 Black et al.
`......
`.. 395/600
`
`
`
`
`
`
`
`
`....
`7/1994 Saetheret al.
`.. 395/600
`5,333,315
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`9/1994 Flynn et al.
`..
`.. 395/600
`5,347,653
`
`10/1994 Fukumara.....
`... 395/600
`5,355,476
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`5,375,207 12/1994 Blakely et al.
`.. 395/200
`..
`
`12/1994 Murata et al.
`.. 395/200
`....
`5,377,326
`
`
`
`
`
`
`
`2/1995 Herbert
`.............
`.. 395/600
`5,388,256
`
`
`
`
`
`
`
`
`
`
`
`
`
`2/1995 Stephanet al.
`.. 395/800
`5,390,335
`
`4/1995 Belsan etal. .
`.. 395/600
`5,403,639
`
`
`
`
`
`
`4/1995 Oran oe.
`ws 395/325
`5,408,619
`
`
`
`
`
`
`
`4/1995 Seitz et al...
`370/85.13
`5,410,543
`
`
`
`
`
`
`5,410,684
`4/1995 Ainsworthet al.
`.. 395/575
`
`
`
`
`
`
`
`5/1995 de Remeret al. oe 395/575
`5,412,801
`
`
`
`
`
`
`
`5,418,957
`5/1995) Narayan w..ccecesceeseseseseneee 395/700
`
`
`
`
`
`
`
`
`
`
`
`5,423,034
`6/1995 Cohen-Levyetal.
`.. 395/600
`7/1995 Jamoussietal. .....
`... 395/600
`5,430,871
`
`
`
`
`
`
`
`
`5,434,994
`7/1995 Shaheenet al.
`.. 395/500
`..
`
`
`
`
`
`
`
`9/1995) Delory w.eccccceccsesecsesesesesenees 395/600
`5,452,450
`
`
`
`
`
`
`9/1996 Goldring wee cceseeetenees 395/600
`5,553,279
`
`
`
`
`
`
`5,588,147 12/1996 Neemanetal.
`.. 395/601
`
`
`
`
`
`
`3/1997 Goldring.......
`.. 395/618
`5,613,113
`
`
`
`
`
`
`9/1997 Clark et al.
`. 395/617
`5,666,530
`...
`
`
`
`
`
`
`
`...
`5,684,984
`11/1997 Joneset al.
`.. 395/610
`
`
`
`
`
`
`
`
`
`
`
`
`11/1997 Sondereggeret al.
`. 395/200.11
`5,692,129
`5,710,922
`1/1998 Alley et al.eens 395/617
`
`
`
`
`
`
`5,737,600
`4/1998 Geineret al.
`.. 395/616
`.
`
`
`
`
`
`
`4/1998 Jain etal. .....
`w. 395/617
`5,737,601
`
`
`
`
`
`
`
`.....
`4/1998 Carret al.
`.. 395/618
`5,740,433
`
`
`
`
`
`
`5,761,660
`6/1998 Josten et al.
`ceeeeeeeeceee 707/8
`occ
`
`
`
`
`
`
`6/1998 Porcaro.........
`wee 707/202
`5,774,717
`
`
`
`
`
`707/204
`5,778,390
`7/1998 Nelsonetal.
`
`
`
`
`
`
`9/1998 Jain et al.
`.....
`«. 707/201
`5,806,075
`
`
`
`
`
`
`
`5,832,518
`11/1998 Mastors.........
`.. 707/202
`
`
`
`
`
`
`3/1999 Draperet al. occ.- 707/202
`5,878,434
`
`
`
`
`
`
`OTHER PUBLICATIONS
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`“Countdown to Mobile Blast-Off’,
`I. Brodsky, Network
`
`
`
`
`
`
`World, Feb. 19, 1996, pp. 4446,52.
`
`
`
`
`
`“Data Management for Mobile Computing”, T. Imielinski et
`
`
`
`
`
`
`
`
`
`
`al., ACM SIGMOD Record, vol. 22, No. 1, Mar. 1993, pp.
`34-39,
`
`
`
`
`
`
`“Data Replicas in Distributed Information Services”, H.
`
`
`
`
`
`
`Gladney, ACM Transactions on Database Systems, vol. 14,
`
`
`
`
`
`No. 1, Mar. 1989, pp. 75-97.
`
`
`
`
`
`
`“Database System Issues in Nomadic Computing”, R.
`
`
`
`
`
`
`
`Alonso et al., ACM SIGMOD Record, 22 2, 1993, pp.
`388-392.
`
`
`
`
`
`
`“DGDBM: Programming Support for Distributed Transac-
`
`
`
`
`
`
`
`tions Over Replicated Files’, M. Franky, ACM SIGOS
`
`
`
`
`
`
`
`
`Operating Systems Review, 29 3, Jul. 1995, pp. 64-74.
`
`
`
`
`
`
`“Disconnected Operation for AFS”, L. Hustonet al., Mobile
`
`
`
`Location—Independent Computing
`Symposium,
`and
`
`
`
`
`
`USENIX Association, 1994, pp. 1-10.
`
`
`
`
`
`
`
`“Disconnected Operation in the Coda File System”, J.
`
`
`
`
`
`
`
`
`Kistler et al.. ACM Operating Systems Review, 25 5, 1991,
`
`
`pp. 213-225.
`
`
`
`
`
`“Disconnected Operation in a Distributed File System”, J.
`
`
`
`
`
`
`
`thesis, Department of Computer Science,
`Kistler, Ph.D.
`
`
`
`
`
`
`
`Carnegie Mellon University, May 1993, pp. 1-186.
`
`
`
`
`“Discord in hardwareland”, T. Schmidt, Network World,
`
`
`
`
`Feb. 19. 1996, p. 47.
`
`
`
`
`
`“Distributed Logging for Transaction Processing”, D.
`
`
`
`
`
`
`Daniels et al., ACM, 1987, pp. 82-96.
`
`
`
`
`
`“Experience with Disconnected Operation in a Mobile Com-
`
`
`
`
`
`puting Environment”, M. Satyanarayananet al., Mobile and
`
`
`
`
`Location—Independent Computing Symposium, 1994, pp.
`11-28.
`
`
`
`
`
`
`
`
`
`“Fixed Length Semiorder Preserving Code for Field Level
`
`
`
`
`
`
`
`Data File Compression”, M. Toyama et al.. JEEE—First
`
`
`
`
`
`
`International Conference on Data Engineering, 1984, pp.
`244-252.
`
`
`
`
`
`
`
`“Flexible and Safe Resolution of File Conflicts”, P. Kumar
`
`
`
`
`
`
`
`et al., 1995 UESNIX Technical Conference, Jan. 16-20,
`
`
`
`1995, pp. 95-106.
`“The Generalized Tree Quorum Protocol: An Efficient
`
`
`
`
`
`
`
`
`
`
`
`
`
`Approach for Managing Replicated Data”, D. Agrawaletal.,
`
`
`
`
`
`
`
`
`ACM Transactions on Database Systems, vol. 17, No. 4,
`
`
`
`
`Dec. 1992, pp. 689-717.
`
`
`
`
`
`
`“A Generic Multicast Transport Service to Support Discon-
`
`
`
`
`
`
`nected Operation”, S. Maffeis et al., Mobile and Location-
`
`
`
`
`
`
`—Independent Computing Symposium, 1995, pp. 79-89.
`
`
`
`
`
`“Getting Your Byte’s Worth”, S. Vaughan—Nichols, Byte,
`
`
`
`
`Nov. 1990, pp. 331-336.
`
`
`
`
`
`
`
`“Grapevine: An Exercise in Distributed Computing—Ab-
`
`
`
`
`
`
`stract”, A. Birrell et al., Communications of the ACM,vol.
`
`
`
`
`
`
`25, No. 4, Apr. 1982, pp. 260-261.
`
`
`
`
`
`
`
`
`“Going Mobile”, S. Biagi, Network Var, Apr. 1996, p. 14.
`
`
`
`
`
`
`
`“Impact of Mobility on Distributed Computations”, B.
`
`
`
`
`
`
`
`Badrinath et al., ACM SIGOS Operating Systems Review, 27
`
`
`
`
`2, 1993, pp. 15-20.
`
`
`
`
`
`
`
`
`“An Introduction to Database Systems vol. II”, C. Date,
`
`
`
`
`
`Addison—Wesley Publidhing Company, 1993, pp. 1-33,
`291-340.
`
`
`
`
`
`
`“Isolation—Only Transactions for Mobile Computing”, Q.
`
`
`
`
`
`
`
`Lu et al, ACM SIGOS Operating Systems Review, 28 2,
`
`
`
`1994, pp. 81-87.
`
`
`
`
`
`
`“Log—Based Directory Resolution in the Coda File System”,
`
`
`
`
`
`
`
`P. Kumaret al., JEEE, 1993, pp. 202-213.
`
`
`
`
`
`
`
`
`“The Lotus Notes™ Storage System”, K. Moore, ACM
`
`
`
`
`
`SIGMOD Record, 24 2, 1995, pp. 427-428.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`“A compact representation for file versions: a preliminary
`
`
`
`
`
`
`
`
`
`report”, A. Black et al., 5” IEEE Conference On Data
`
`
`
`
`Engineering, 1989, pp. 321-329.
`
`
`
`
`
`
`“Concurrency Control and Consistency of Multiple Copies
`
`
`
`
`
`
`of Data in Distributed INGRES”, M. Stonebraker, JEEE
`
`
`
`
`
`
`Transactions On Software Engineering, vol. SE-5, No. 3,
`
`
`
`
`May 1979, pp. 188-194.
`
`
`
`
`
`
`“Conflict Detection Tradeoffs for Replicated Data”, M.
`
`
`
`
`
`
`Carey et al., ACM Transactions on Database Systems, vol.
`
`
`
`
`
`
`16, No. 4, Dec. 1991, pp. 703-746.
`
`
`
`
`

`

`
`5,991,771
`Page 3
`
`
`
`
`
`
`
`
`
`
`“Low Cost Management of Replicated Data in Fault—Tol-
`
`
`
`
`
`
`
`erant Distributed Systems”, T. Joseph et al., ACM Transac-
`
`
`
`
`
`
`
`
`
`
`tions on Computer Systems, vol. 4, No. 1, Feb. 1986, pp.
`54-70.
`
`
`
`
`
`
`
`“Maintaining Availability in Partitioned Replicated Data-
`
`
`
`
`
`
`
`bases”, A. Abbadi et al., ACM Transactions on Computer
`
`
`
`
`
`
`
`
`Systems, vol. 14, No. 2, Jun. 1989, pp. 264-290.
`
`
`
`
`
`“Model Based Concordance Compression”, A. Bookstein et
`
`
`
`
`
`
`
`
`al., IEEE DCC Data Compression Conference, 1992, pp.
`82-91.
`
`
`
`
`
`
`
`
`
`“The Multicast Policy and Its Relationship to Replicated
`
`
`
`
`
`
`Data Placement”, O. Wolfson et al., ACM Transactions on
`
`
`
`
`
`
`
`
`
`Database Systems, vol. 16, No. 1, Mar. 1991, pp. 181-205.
`
`
`
`
`
`
`
`“A Multi-Group Technique for Data Compression’, K.
`
`
`
`
`
`
`
`Hazboun et al, ACM SIGMOD Conference, 1982, pp.
`284-292.
`
`
`
`
`
`
`“NetWare 4 for Professionals”, D. Bierer et al., New Riders
`
`
`
`
`Publishing, 1993, pp. 359-374.
`
`
`
`
`
`
`
`“A Non-Blocking Transaction Data Flow Graph Based
`
`
`
`
`
`
`
`Approach For Replicated Data”, P. Krishna Reddy et al.,
`
`
`
`
`
`
`
`Operating Systems Review (SIGOPS) 27 No. 3, Jul. 1993,
`
`
`pp. 46-54.
`
`
`
`
`
`
`“Partially Connected Operation”, L. Huston et al., Mobile
`
`
`
`
`
`and Location—Independent Computing Symposium, 1995,
`
`
`pp. 91-97.
`
`
`
`
`
`
`
`“Peephole Log Optimization”, L. Huston et al., JEEE Work-
`
`
`
`
`
`
`
`shop on Mobile Computing Systems and Applications, Dec.
`
`
`
`1994, pp. 1-8.
`
`
`
`
`
`“Performing Remote Operations Efficiently on a Local
`
`
`
`
`Computer Network”, A. Spector, Communications of the
`
`
`
`
`
`
`
`ACM,vol. 25, No. 4, Apr. 1982, pp. 246-259.
`
`
`
`
`“Primarily Disconnected Operation: Experiences with
`
`
`
`
`
`
`
`Ficus”, J. Heidemannet al., JEEE, 1992, pp. 2-5.
`
`
`
`
`“Replicated Data in a Distributed Environment”, M. Colton,
`
`
`
`
`
`
`
`ACM SIGMODRecord, 22 2, 1993, pp. 464-466.
`
`
`
`
`
`
`
`
`“Remote access can’t slow down”, H. Allard, Network
`
`
`
`
`
`World, Feb. 19, 1996, p. 53.
`
`
`
`
`
`
`
`“A Replicated UNIX File System (Extended Abstract)’, B.
`
`
`
`
`
`
`
`
`Liskovet al., ACM SIGOS Operating Systems Review, 25 1,
`
`
`
`1991, pp. 60-64.
`
`
`
`
`
`
`
`“Replication in the Harp File System”, B. Liskov, ACM
`
`
`
`
`
`
`
`Operating Systems Review, 25 5, 1991, pp. 226-238.
`
`
`
`
`
`
`
`
`“Resolving File Conflicts In The Ficus File System”, P.
`
`
`
`
`
`
`
`
`
`Reiher et al., 1994 Summer Usenix, Jun. 6-10, 1994, pp.
`183-195.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`“RES Architectural Overview”, A. Rifkin et al., Jun. 1986,
`
`
`pp. 248-259.
`
`
`
`
`
`
`“Scalable, Secure, and Highly Available Distributed File
`
`
`
`
`
`Access”,M. Satyanarayanan, Computer 23 No.5, May 1990,
`
`
`pp. 9-20.
`
`
`
`
`
`
`“A Snapshot Differential Refresh Algorithm”, B. Lindsay et
`
`
`
`
`
`
`
`al., ACM SIGMOD Record, 15 2, 1986, pp. 53-60.
`
`
`
`
`
`“Software spins wheels in niche markets”, K. Scherberger,
`
`
`
`
`
`
`Network World, Feb. 19, 1996, p. 49.
`
`
`
`
`
`
`
`
`Space and Time Savings Through Large Data Base Com-
`
`
`
`
`
`pression and Dynamic Restructuring, P. Alsberg, Proceed-
`
`
`
`
`
`
`
`
`ings of the IEEE, vol. 63, No. 8, Aug. 1975, pp. 1114-1122.
`
`
`
`
`
`
`
`
`“Sun-3 Architecture” Anon., Aug. 1986, pp. 8-9, 49-57.
`
`
`
`“Supporting Application—Specific Resolution in an Optimis-
`
`
`
`
`
`
`
`tically Replicated File System’, P. Kumaret al., JEEE, 1993,
`
`
`pp. 66-70.
`
`
`
`
`
`
`“System Isolation and Network Fast-Fail Capability in
`
`
`
`
`
`Solaris”, G. Montenegro et al., Mobile and Location—Inde-
`
`
`
`
`
`
`pendent Computing Symposium, 1995, pp. 67-78.
`
`
`
`
`
`“Transaction Support in a Log—Structured File System”, M.
`
`
`
`
`
`
`
`Seltzer, JEEE—Ninth International Conference on Data
`
`
`
`
`Engineering, 1993, pp. 503-510.
`
`
`
`
`
`
`“The Transparent Remote File System”, R. Hughes, Date
`Unknown.
`
`
`
`
`
`
`
`“Two Levels of Filesystem Hierarchy on One Disk”, V. Cate,
`
`
`
`
`
`Department of Computer Science, Carnegie Mellon Univer-
`
`
`
`
`
`sity, May 1990, pp. 1-20.
`
`
`
`
`“Using Prospero to Support Integrated Location—Indepen-
`
`
`
`
`
`
`dent Computing”, B. Neumanet al., Mobile and Location—
`
`
`
`
`
`
`Independent Computing Symposium, 1994, pp. 29-34.
`
`
`
`
`
`
`
`“Wireless IR lets mobile devices get personal” (partial
`
`
`
`
`
`
`article),J. Edney, Electronic Engineering Times, Feb. 19,
`
`
`1996, p. 44.
`
`
`
`
`
`
`
`“Wireless LANs roaming for standards” (partial article),
`
`
`
`
`
`
`
`unknown, Electronic Engineering Times, Feb. 19, 1996, p.
`65.
`
`
`
`
`
`
`
`
`“Wireless nets come of age”, I. Gillott, Network World, Feb.
`
`
`
`
`
`19, 1996, p p. 50, 52.
`
`
`
`
`
`Summary ofFitler et al. Invention, 1992.
`
`
`
`
`
`
`
`Mobile NetWare Lite Specification, Version 1.0, Aug. 20,
`
`
`
`
`1992 (best available copy).
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`

`

`U.S. Patent
`
`
`
`
`Nov. 23, 1999
`
`
`
`
`
`Sheet 1 of 4
`
`
`
`5,991,771
`
`
`
`oy
`
`
`4) ae
`
`N
`
`20,24,28
`
`”
`
`FIG.1
`
`
`
`Zz
`OTHER
`°oo EI2ol(JOl
`STORAGE
`
`716,28GSSC]
`
`
`
`
`
`
`
`u
`
`
`e oO=-L
`
`nx
`
`a
`
`DS20,28,36we|) ]
`
`
`
`14
`
`MEDIA
`
`
`
`
`
`
`34
`
`
`
`16,28,38
`
`
`
`

`

`U.S. Patent
`
`Nov. 23, 1999
`
`Sheet 2 of 4
`
`5,991,771
`
`
`
`YAOVNVWVOINIdSsdy
`
`dls
`
`WALSAS
`
`AOVAYALNI
`
`MHOMLAN
`
`ANIM
`
`AOVAYSALNI
`
`9S
`
`VOMd3u
`
`
`
`ADIAAGADVHOLS
`
`
`
`YATIOWLNOOGNV
`
`vv
`
`ySLNADV
`
`
`
`HAOVNVWASVEVLVG
`
`YHALNdNOO
`
`COLA
`
`ASVaEVLVd
`
`AOVAYALNIAOVAYALNI
`MHOMLANAls
`
`ANI]WALSAS
`
`
`
`YAOVNVWVOlIdSY
`
`rr
`
`{SiNa9Vv|
`
`HAOVNVW
`
`9S
`
`VOMd4Y
`
`
`
`AOIAACADVYOLS
`
`
`
`YATIOWLNOOCNV
`
`
`
`

`

`U.S. Patent
`
`
`
`
`Nov. 23, 1999
`
`
`
`
`
`Sheet 3 of 4
`
`
`5,991,771
`
`
`
`
`REPLICA MANAGER
`
`
`
`
`
`
`REPLICA DISTRIBUTOR
`
`
`
`
`
`
`
`
`CONSISTENCY DISTRIBUTOR
`
`
`
`
`
`
`LOCATION DISTRIBUTOR
`
`
`
`
`OBJECT DISTRIBUTOR
`
`
`
`
`OBJECT SCHEMA
`
`
`
`
`FILE DISTRIBUTOR
`
`
`
`
`
`
`REPLICA PROCESSOR
`
`
`
`
`CONSISTENCY PROCESSOR
`
`
`
`
`
`LOCATION STATE PROCESSOR
`
`
`
`
`OBJECT PROCESSOR
`
`
`
`
`TRANSACTION LOGGER
`
`
`
`
`FILE PROCESSOR
`
`
`
`
`
`
`
`TRIGGER FUNCTION REGISTRATIONS
`
`
`
`
`FIG. 3
`
`
`
`
`
`

`

`U.S. Patent
`
`
`
`
`Nov. 23, 1999
`
`
`
`
`
`Sheet 4 of 4
`
`
`5,991,771
`
`
`
`OBTAIN NETWORK CONNECTION
`
`
`
`
`
`RECORDPATTIi
`
`
`
`
`
`
`
`IDENTIFY FIRST TRANSACTION
`
`
`
`LOCATE REPLICA TO SYNCHRONIZE
`
`
`
`
`
`
`
`
`
`TRANSFER UPDATE FROM FIRST
`
`
`COMPUTER TO SECOND COMPUTER
`
`
`
`DETECTMISSEDPOREiy
`
`
`
`
`
`
`
`
`
`APPLY UPDATE TO REPLICA ON
`SECOND COMPUTER
`
`
`
`
`
`
`
`
`
`IDENTIFY SECOND TRANSACTION
`
`
`
`
`
`
`
`TRANSFER UPDATE FROM SECOND
`
`
`
`COMPUTER TO FIRST COMPUTER
`
`
`
`
`
`DETECT MISSED UPDATE
`
`
`
`
`
`APPLY UPDATE TO REPLICA ON
`FIRST COMPUTER
`
`
`
`
`
`
`FIG. 4
`
`
`100
`
`102
`
`104
`
`
`
`
`106
`
`108
`
`
`110
`
`
`112
`
`
`
`114
`
`
`
`

`

`5,991,771
`
`
`
`
`1
`TRANSACTION SYNCHRONIZATIONIN A
`
`
`DISCONNECTABLE COMPUTER AND
`
`
`
`NETWORK
`
`
`
`
`
`
`
`
`
`
`
`
`This application is a 371 of PCT/US96/11901 filed Jul.
`
`
`
`
`
`
`
`
`18, 1996. This case claims benefit of provisional application
`
`
`
`
`
`
`
`Ser. No. 60/001261 filed Jul. 20, 1995.
`FIELD OF THE INVENTION
`
`
`
`
`
`
`
`
`
`
`The present invention relates to the synchronization of
`
`
`
`
`
`transactions performed on separated disconnectable
`
`
`
`
`
`
`
`computers, such as transactions performed on a mobile
`
`
`
`
`
`
`
`
`computer and on a computer network while the mobile
`
`
`
`
`
`
`
`computer and the network are disconnected, or transactions
`
`
`
`
`
`
`performed on separate server computers in a network. More
`
`
`
`
`
`
`
`particularly, the present invention relates to the synchroni-
`
`
`
`
`
`
`
`
`zation of transactions when the separate computers are
`reconnected.
`
`
`TECHNICAL BACKGROUND OF THE
`
`
`INVENTION
`
`
`
`
`
`
`
`
`
`
`
`It is often convenient, and sometimesessential, to carry a
`
`
`
`
`
`
`
`
`computer and selected data while traveling. It may also be
`
`
`
`
`
`
`convenient or essential to access a computer network using
`
`
`
`
`
`
`
`a “mobile computer” such as a laptop, palmtop, notebook,or
`
`
`
`
`
`
`
`personal digital assistant. However, different types of mobile
`
`
`
`
`
`
`
`
`computing make very different assumptions about the use
`
`
`
`
`
`and availability of computer networks.
`
`
`
`
`
`
`
`Some mobile computers are not ordinarily connected to a
`
`
`
`
`
`
`computer network. Like their non-traveling “stand-alone”
`
`
`
`
`
`
`counterparts, such “walk-alone” computers cannot be con-
`
`
`
`
`
`
`nected to a network unless significant hardware or software
`modifications are made to them or to the network.
`
`
`
`
`
`
`
`
`
`
`
`“Mobile-link” portable computers are typically connected
`
`
`
`
`
`
`
`
`to a computer network and attempt (with varying degrees of
`
`
`
`
`
`
`
`success) to maintain that network connection during mobile
`
`
`
`
`
`
`
`
`
`use through a wireless link. Typical wireless links use radio
`
`
`
`
`
`
`
`wavesor infrared light as carriers. Mobile-link computers
`can be used in a walk-alone modeif the network connection
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`is lost. However, mobile-link systems provide few or no
`
`
`
`
`
`
`automaticfacilities to synchronize the mobile-link computer
`with the network when the connection is re-established.
`
`
`
`
`
`
`
`
`
`
`
`“Disconnectable” computers include portable computers
`
`
`
`
`
`
`
`that operate in either a walk-alone or a mobile-link mode and
`
`
`
`
`
`
`provide significant automated facilities for synchronizing
`
`
`
`
`
`
`
`operations performed on the mobile computer with opera-
`
`
`
`
`
`
`tions performed on the network. Disconnectable computers
`
`
`
`
`
`
`
`
`need not be portable. For instance, separate server comput-
`
`
`
`
`
`
`
`
`ers in a wide-area network (WAN)or other network that are
`
`
`
`
`
`
`
`connected to one another only sporadically or at intervals
`
`
`
`may be disconnectable computers.
`
`
`
`
`Unfortunately, conventional disconnectable computers
`
`
`
`
`
`
`
`
`still rely routinely on manually directed file copying to select
`
`
`
`
`
`
`
`
`
`the data that will be used in the field. Moreover, conven-
`
`
`
`
`
`
`
`tional disconnectable computer systems are not easily
`
`
`
`
`
`
`
`extended to support a variety of database formats, and they
`
`
`
`
`
`
`
`
`
`do not properly handle the situation in which changesto the
`
`
`
`
`
`
`
`
`
`“same” data are made on both the portable computer and on
`
`
`
`
`
`
`a network computer during disconnected operation.
`
`
`
`
`
`
`
`
`For instance, the Coda File System (“Coda”) is a client-
`
`
`
`
`
`
`
`
`server system that provides limited support for disconnect-
`
`
`
`
`
`
`
`
`able operation. To prepare for disconnection, a user may
`
`
`
`
`
`
`
`
`hoard data in a client cache by providing a prioritized list of
`
`
`
`
`
`
`
`
`
`files. On disconnection, two copies of each cachedfile exist:
`
`
`
`
`
`
`
`
`the original stored on the server, and a duplicate stored in the
`
`
`
`10
`
`15
`
`
`
`20
`
`25
`
`
`
`30
`
`35
`
`
`
`
`
`45
`
`
`
`50
`
`
`
`55
`
`
`
`60
`
`
`
`65
`
`
`
`
`2
`
`
`
`
`
`
`
`
`disconnected client’s cache. The user mayalter the duplicate
`
`
`
`
`
`
`
`file, making it
`inconsistent with the server copy. Upon
`
`
`
`
`
`reconnection, this inconsistency may be detected by com-
`
`
`paring timestamps.
`
`
`
`
`
`
`However, the inconsistency is detected only if an attempt
`
`
`
`
`
`
`
`
`
`
`is made to access one of the copies of the file. The Coda
`
`
`
`
`
`
`
`
`
`system also assumes that the version stored in the client’s
`
`
`
`
`
`
`
`
`cache is the correct version, so situations in which both the
`
`
`
`
`
`
`
`
`
`original and the duplicate were altered are not properly
`
`
`
`
`
`
`handled. Moreover, the Coda synchronization mechanism is
`
`
`
`
`
`
`
`specifically tailored, not merely to file systems, but to a
`
`
`
`
`
`
`
`
`particular file system (a descendant of the Andrew File
`
`
`
`
`
`
`
`
`
`System). Coda provides no solution to the more general
`
`
`
`
`
`problem of synchronizing transactions in a distributed data-
`
`
`
`
`
`
`
`
`
`
`base that can include objects other than file and directory
`
`descriptors.
`
`
`
`
`
`
`Some approaches to distributed database replication are
`
`
`
`
`
`
`
`not directed to mobile computing per se but do attempt to
`
`
`
`
`
`
`
`ensure consistency between widely separated replicas that
`
`
`
`
`
`
`
`collectively form the database. Examples include, without
`
`
`
`
`
`
`
`
`limitation, the replication subsystem in Lotus Notes and the
`
`
`
`
`
`partition synchronization subsystem in Novell NetWare®
`
`
`
`
`
`
`4.1 (LOTUS NOTESis a trademark of International Busi-
`
`
`
`
`
`
`
`ness Machines, Inc. and NETWAREisa registered trade-
`
`
`
`mark of Novell, Inc.).
`
`
`
`
`
`
`
`However, some of these approachesto replication are not
`
`
`
`
`
`
`transactional. A transaction is a sequence of one or more
`
`
`
`
`
`operations whichare appliedto a replica on an all-or-nothing
`
`
`
`
`
`
`basis. Non-transactional approaches may allow partially
`
`
`
`
`
`
`completed update operations to create inconsistent internal
`
`
`
`
`
`
`states in network nodes. Non-transactional approaches may
`
`
`
`
`
`
`
`also require a synchronization time period that depends
`
`
`
`
`
`
`
`
`
`directly on the total number offiles, directories, or other
`
`
`
`
`
`
`
`
`objects in the replica. This seriously degrades the perfor-
`
`
`
`
`
`
`
`mance of such approaches when the network connection
`
`
`
`
`
`
`
`used for synchronization1s relatively slow, as many modem
`or WAN linksare.
`
`
`
`
`
`
`
`
`
`Moreover, in some conventional approaches potentially
`
`
`
`
`
`
`
`
`conflicting changes to a given set of data are handled by
`
`
`
`
`
`
`
`
`
`simply applying the most recent change and discarding the
`others. Another drawback of several conventional
`
`
`
`
`
`
`
`
`
`
`
`
`
`approachestoreplication is the requirement they imposethat
`
`
`
`
`
`
`
`
`either or both computer systems be locked out of use while
`
`
`
`
`
`the replicas are being synchronized.
`
`
`
`
`
`Another drawback of conventional disconnected comput-
`
`
`
`
`
`
`
`
`
`
`ing approaches is that the location of data on the mobile
`
`
`
`
`
`
`
`
`computer does not always correspond to its location on the
`
`
`
`
`
`
`
`network computer. Files may be located in one subdirectory
`
`
`
`
`
`
`
`
`or on one drive during connected operation and in another
`
`
`
`
`
`
`subdirectory or on another drive during disconnected opera-
`
`
`
`
`
`
`
`
`
`
`tion. Thus, the mobile computer does not present the same
`view of the network whenit is disconnected as it does when
`
`
`
`
`
`
`
`
`
`
`
`
`
`connected to the network. In addition to creating a risk of
`
`
`
`
`
`
`
`confusion and conflicting file versions, these conventional
`
`
`
`
`
`
`approaches require users to repeatedly reconfigure applica-
`
`
`
`
`
`
`
`tion programs to look for data in different locations.
`
`
`
`
`
`
`Thus, it would be an advancementin theart to provide a
`
`
`
`
`
`
`system and method for properly synchronizing transactions
`
`
`
`
`
`when a disconnectable computer is reconnected to a net-
`work.
`
`
`
`
`
`
`
`It would be an additional advancementto provide such a
`
`
`
`
`
`
`
`system and method which identify potentially conflicting
`
`
`
`
`
`
`
`
`database changes and allow their resolution by either auto-
`matic or manual means.
`
`
`
`
`
`
`
`
`
`It would also be an advancementto provide such a system
`
`
`
`
`
`
`
`
`and method which are not limited to file system operations
`
`
`
`
`
`
`but can instead be extended to support a variety of database
`
`objects.
`
`
`
`
`
`
`
`
`
`

`

`5,991,771
`
`
`3
`
`
`
`
`
`
`It would be an additional advancementto provide such a
`
`
`
`
`
`
`
`system and method which do not require a synchronization
`
`
`
`
`
`
`
`
`time period that depends directly on the total numberoffiles,
`
`
`
`
`
`
`directories, or other objects in the replica.
`
`
`
`
`
`
`It would be a further advancement to provide such a
`
`
`
`
`
`
`
`
`
`
`system and method which do not lock either the mobile
`
`
`
`
`
`
`computer or the network computers during synchronization.
`
`
`
`
`
`
`It would be an additional advancementto provide such a
`
`
`
`
`
`
`
`
`system and method which present consistent file locations
`
`
`
`
`
`
`regardless of whether the mobile computer is connected to
`the network.
`
`
`
`
`
`
`
`
`
`Such a system and method are disclosed and claimed
`herein.
`
`BRIEF SUMMARY OF THE INVENTION
`
`
`
`
`
`
`
`
`
`
`
`The present
`invention provides a system and method
`
`
`
`
`
`
`which facilitate disconnected mobile computing in several
`
`
`
`
`
`
`
`ways. Prior to disconnection, the invention allows network
`
`
`
`
`
`
`
`administrators or users to readily select data that should be
`
`
`
`
`
`
`copied from a network to a mobile computer by simply
`
`
`
`
`
`
`
`identifying one or more target database subtrees. During
`
`
`
`
`
`
`
`disconnected operation of the mobile computer, the inven-
`
`
`
`
`
`
`
`
`tion presents the user with a “virtual network” environment
`
`
`
`
`
`
`
`
`that is consistent in use and appearance with the selected
`
`
`
`
`portion of the actual network.
`
`
`
`
`
`
`
`Finally, upon reconnection of the mobile computer to the
`
`
`
`
`
`
`network, the invention synchronizes operations performed
`
`
`
`
`
`
`
`
`on the mobile computer during the disconnected interval
`
`
`
`
`
`
`
`
`with operations performed on the network duringthat inter-
`
`
`
`
`
`
`val. Synchronization is both substantially automatic and
`
`
`
`
`
`
`
`transactional, so minimal user intervention is needed and
`
`
`
`
`
`
`
`inconsistent internal states are avoided. Moreover, synchro-
`
`
`
`
`
`
`
`
`
`nization does not routinely discard any of the changes made
`
`
`
`
`
`
`
`on either the network or the mobile computer.
`
`
`
`
`
`
`One embodiment of a system according to the present
`
`
`
`
`
`
`
`invention includes at least two computers capable of being
`
`
`
`
`
`
`
`
`connected by a network link. One computer will act as the
`
`
`
`
`
`
`
`
`
`mobile computer, while the other acts as the network. Of
`40
`
`
`
`
`
`
`
`
`
`
`course, the network may also include more than one com-
`
`
`
`
`
`
`
`puter after the mobile computer is disconnected. Suitable
`
`
`
`
`
`
`
`mobile computers include laptops, palmtops, notebooks, and
`
`
`
`
`
`
`personal digital assistants. Suitable network computers
`
`
`
`
`
`
`
`include additional mobile computers as well as desktop,
`
`
`
`
`
`
`
`tower, workstation, micro-, mini-, and mainframe comput-
`
`
`
`
`
`
`
`ers. Suitable network links include packet-based, serial,
`
`
`
`
`
`
`internet-compatible,
`local area, metropolitan area, wide
`
`
`
`
`
`area, and wireless network links.
`
`
`
`
`
`Each of the computers includes a non-volatile storage
`
`
`
`
`
`
`
`
`device such as a magnetic or optical disk or disk array.
`
`
`
`
`
`
`
`Initially, the storage device on the network computer con-
`
`
`
`
`
`
`
`
`least a portion of a target database. The target
`tains at
`
`
`
`
`
`database includes file descriptors, directory descriptors,
`
`
`
`
`
`
`
`directory services objects, printer jobs, or other objects. The
`
`
`
`
`
`
`target database is a distributed database whose entries may
`
`
`
`
`
`
`
`be kept in one or more replicas on different computers.
`
`
`
`
`
`
`
`
`Eachreplica of the target database contains at least some
`
`
`
`
`
`
`
`
`
`of the same variables or records as the other replicas, but
`
`
`
`
`
`
`
`different replicas may temporarily contain different values
`for the same variable or record. Such inconsistencies are
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`temporary because changesin value are propagated through-
`
`
`
`
`
`
`
`
`out the replicas by the invention. Thus, if the changes to a
`
`
`
`
`
`
`
`
`
`particular variable or record are infrequent relative to the
`
`
`
`
`
`
`
`
`
`propagation delay, then all replicas will converge until they
`contain the same value for that variable or record.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Selected portions of the database may be copied from the
`
`
`
`
`
`
`network computer

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket