throbber
United States Patent [19J
`Veghte et al.
`
`111111
`
`1111111111111111111111111111111111111111111111111111111111111
`US005845293A
`[11] Patent Number:
`[45] Date of Patent:
`
`5,845,293
`Dec. 1, 1998
`
`[54] METHOD AND SYSTEM OF ASSOCIATING,
`SYNCHRONIZING AND RECONCILING
`COMPUTER FILES IN AN OPERATING
`SYSTEM
`
`[75]
`
`Inventors: William Lewis Veghte, Belleuve;
`Andrew Lawrence Silverman,
`Redmond; Shannon Scott Hysom,
`Mercer Island; David R. Dickman,
`Redmond, all of Wash.
`
`[73] Assignee: Microsoft Corporation, Redmond,
`Wash.
`
`[21] Appl. No.: 832,333
`
`[22] Filed:
`
`Mar. 26, 1997
`
`[63]
`
`[51]
`[52]
`[58]
`
`[56]
`
`Related U.S. Application Data
`
`Continuation of Ser. No. 287,231, Aug. 8, 1994, abandoned.
`Int. Cl. 6
`...................................................... G06F 17/30
`U.S. Cl. ............................................. 707/202; 707/203
`Field of Search ..................................... 395/618, 619,
`395!620; 709/201-204
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`4,831,552
`4,866,611
`5,093,787
`
`5/1989 Scully et a!. ............................ 364/518
`. .... ... ... ... ... .... ... ... ... 364/300
`9/1989 Cree et a!.
`3/1992 Simmons ................................ 364/406
`
`5,392,390
`5,560,012
`5,564,051
`5,581,764
`5,600,834
`5,649,200
`5,666,530
`
`2/1995 Crozier .................................... 395/161
`9/1996 Ryu et a!.
`............................... 395/701
`10/1996 Halliwell et a!. ....................... 395/616
`12/1996 Fitzgerald et a!. ... .... ... ... ... ... ... 395/703
`2/1997 Howard ................................... 395/617
`7/1997 Leblang et a!. ... ... .... ... ... ... ... ... 395/703
`9/1997 Clark et a!. . ... ... ... .... ... ... ... ... ... 395/617
`
`OTHER PUBLICATIONS
`
`Aker, S.Z., "FileRunner Shuttle Pilot, and Synchronize!"
`MacUser, vol. 9, No. 9 (Sep. 1993), pp. 89-91.
`MacWeek Magazine, Jan. 11, 1993, "Sync or Swim: Appli(cid:173)
`cations Keep Current On File Synchronization", pp. 63-66.
`Info. World Magazine, Feb. 1, 1993, "SmartSync: An Intel(cid:173)
`ligent Disk Synchronization Utility for Windows", pp. 3-5.
`Mac Week Magazine, Nov. 23, 1992, "Power Books Aplenty
`Pack Pipeline for '93", pp. 1 and 140.
`Mac Week Magazine, Jan. 11, 1993, "Calling All Managers:
`Think Before You Sync", p. 47.
`
`Primary Examiner-Maria N. Von Buhr
`Attorney, Agent, or Firm-Jones & Askew, LLP
`
`[57]
`
`ABSTRACT
`
`A method and system for associating, synchronizing and
`reconciling files. Associated files are synchronized and their
`synchronization status reported. Based on the synchroniza(cid:173)
`tion status, the operating system recommends a preferred
`reconciliation action. Furthermore, file conflicts are recog(cid:173)
`nized and an application interface for computer applications
`is provided to allow conflicting files to be merged.
`
`23 Claims, 12 Drawing Sheets
`
`2
`,-------------------------------------~-------·
`USER
`:
`
`--r -------)--r -----1--------------~ ~----r --·
`
`11
`f'
`
`ASSOCIATION FOLDER
`(BRIEFCASE)
`
`USER INTERFACE
`
`-DRAGGING AND
`DROPPING FILES TO
`BE ASSOCIATED
`
`- REQUEST FOR
`-SYNC. STATUS
`RECONCILIATION- RECOM'v1END REG.
`ACTION
`
`8
`
`(
`
`f--+ DEDICATED
`SYNCHRONIZATION
`DATABASE
`-ASSOCIATED FILE NAME
`1-- -ASSOCIATED FILE PATHS
`-LAST RECONCILIATION
`TIMESTAMP
`
`( 10
`RECONCILIATION HANDLER INTERFACE
`- FILES TO RECONCILE
`- PROGRESS MESSAGES
`-FILE INFORMATION
`- SUCCESS/FAIL MESSAGES
`-POST RESULTS TO SYNC. ENGINE
`- FILE TYPES IN BRIEFCASE
`
`i
`
`__ j ______________________________
`
`RECONCILIATION HANDLER
`-CLASS SPECIFIC
`-APPLICATION PROVIDED
`L-----------------------------------------
`
`t
`
`12
`___ { _________ ,
`:
`'
`
`OPERATING
`SYSTEM
`RESOURCES
`
`16
`
`(
`
`FILE SYSTEM
`-FILE FORMATS
`-FILE SIZES
`-FILE TIME-STAMPS
`
`18
`
`(
`
`REGISTRY
`DATABASE
`-DEFINE REG. HANDLER
`-TYPES OF REG.
`HANDLERS AVAILABLE
`-INVOKING INFORMATION
`
`[-----t-
`
`l
`
`t
`
`l
`
`(6 J
`
`SYNCHRONIZATION ENGINE
`-ASSOCIATES FILES
`-STORE ASSOCIATIONS IN DATABASE
`-DETERMINE SYNC. STATUS
`-PASS ALONG REQUESTED REG. ACTIONS
`- PROVIDE FEEDBACK TO REG. HANDLER
`l_
`
`Samsung Exhibit 1034 Page 00001
`
`

`
`~
`\C
`N
`....
`""(cid:173)Ul
`00
`....
`Ul
`
`'"""' N
`'"""' 0 .....,
`~ .....
`'JJ. =(cid:173)~
`
`00
`'0
`'"""'
`'0
`'"""' ~
`!"l
`~
`~
`
`~ = ......
`~ ......
`~
`•
`\Jl
`d •
`
`1--1-ASSOCIATED FILE PATHS
`-ASSOCIATED FILE NAME
`DATABASE
`
`TIMESTAMP
`-LAST RECONCILIATION
`
`1--+1 SYNCHRONIZATION
`
`DEDICATED
`
`8
`
`(
`
`11
`
`i
`
`FIG.lA
`
`I
`I
`I·
`
`-APPLICATION PROVIDED
`-CLASS SPECIFIC
`RECONCILIATION HANDLER
`
`I
`
`____________________________________ { ________ _
`
`f
`
`12
`
`----~
`
`---
`
`-
`
`-FILE TYPES IN BRIEFCASE
`-POST RESULTS TO SYNC. ENGINE
`-FILE INFORMATION
`-FILES TO RECONCILE
`
`-
`
`!
`
`I
`
`USER INTERFACE
`
`t
`
`I
`
`ASSOCIATION FOLDER
`
`(BRIEFCASE)
`
`l
`
`·--r--------;;-t-----1--------------~ ~----r--·
`
`USER
`
`:
`:
`--------------------------------------L-------·
`
`2
`
`-SUCCESS/FAIL MESSAGES
`-PROGRESS MESSAGES
`
`RECONCILIATION HANDLER INTERFACE
`
`r 10 T
`
`-PROVIDE FEEDBACK TO REC. HANDLER
`-PASS ALONG REQUESTED REC. ACTIONS
`-DETERMINE SYNC. STATUS
`-STORE ASSOCIATIONS IN DATABASE
`-ASSOCIATES FILES
`
`~
`
`T
`
`RECONCILIATION -RECOMMEND REG.
`-REQUEST FOR
`
`-SYNC. STATUS
`
`f
`
`r6
`ACTION
`
`I
`
`f
`
`SYNCHRONIZATION ENGINE
`
`BE ASSOCIATED
`DROPPING FILES TO
`-DRAGGING AND
`
`I
`
`1----+
`
`-INVOKING INFORMATION
`HANDLERS AVAILABLE
`-TYPES OF REG.
`-DEFINE REG. HANDLER
`DATABASE
`REGISTRY
`
`18
`
`(
`
`I -FILE TIME-STAMPS
`
`-FILE SIZES
`-FILE FORMATS
`FILE SYSTEM
`
`16
`
`(
`
`RESOURCES
`SYSTEM
`OPERATING
`
`Page 00002
`
`

`
`~
`\C
`N
`....
`""(cid:173)Ul
`00
`....
`Ul
`
`'"""' N
`0 ......,
`N
`~ .....
`'JJ. =(cid:173)~
`
`00
`'0
`'"""'
`'0
`'"""' ~
`!"l
`~
`~
`
`~ = ......
`~ ......
`~
`•
`\Jl
`d •
`
`1--1-ASSOCIATED FILE PATHS
`-ASSOCIATED FILE NAME
`DATABASE
`
`TIMESTAMP
`-LAST RECONCILIATION
`
`1---+1 SYNCHRONIZATION
`
`GLOBAL
`
`_L210 1
`
`FIG.l B
`
`-----------------------------------~
`
`-APPLICATION PROVIDED
`-CLASS SPECIFIC
`RECONCILIATION HANDLER
`
`i
`
`(212
`
`l
`
`-FILE TYPES IN BRIEFCASE
`-POST RESULTS TO SYNC. ENGINE
`-FILE INFORMATION
`-FILES TO RECONCILE
`
`-SUCCESS/FAIL MESSAGES
`-PROGRESS MESSAGES
`
`RECONCILIATION HANDLER INTERFACE
`
`-PROVIDE FEEDBACK TO REC. HANDLER
`-PASS ALONG REQUESTED REC. ACTIONS
`-DETERMINE SYNC. STATUS
`-STORE ASSOCIATIONS IN DATABASE
`-ASSOCIATES FILES
`
`!
`
`J----+
`
`-INVOKING INFORMATION
`HANDLERS AVAILABLE
`-TYPES OF REG
`-DEFINE REG HANDLER
`DATABASE
`REGISTRY
`
`218
`
`(
`
`208
`
`(
`
`211
`
`('
`
`I
`
`USER INTERFACE
`
`II
`
`,_ -T ------)05 f-----r -------------~ ~~~--T --,
`
`:
`:
`______________________________________ ( _______ ,
`
`USER
`
`202
`
`RECONCILIATION-RECOMMEND REG
`-REQUEST FOR
`
`-SYNC. STATUS
`
`1206 T
`
`ACTION
`
`T
`
`SYNCHRONIZATION ENGINE
`
`BE ASSOCIATED
`DROPPING OF FILES TO
`DRAGGING AND
`-NON-DEFAULT
`I CONTEXT MENU
`
`-~ --1
`
`l
`
`1 -FILE TIME-STAMPS ~
`
`-FILE SIZES
`-FILE FORMATS
`FILE SYSTEM
`
`216
`
`(
`
`RESOURCES
`SYSTEM
`OPERATING
`
`Page 00003
`
`

`
`U.S. Patent
`
`Dec. 1, 1998
`
`Sheet 3 of 12
`
`5,845,293
`
`ASSOCIATION
`
`FIG. 3A
`OR
`FIG. 3B
`
`SYNCHRONIZATION
`
`30
`
`USER SELECTS FILE FOR
`ASSOCIATION ACTION
`
`32
`
`PERFORM REQUESTED
`ASSOCIATION ACTION BY
`ALTERING SYNC. DATABASE
`
`34
`
`UPDATING
`EVENT
`
`RECONCILIATION
`
`FIG.5
`
`36
`
`NO
`
`DETERMINE POSSIBLE RECONCILIATION
`ACTIONS AND RECOMMEND
`PREFERRED ACTION
`
`40
`
`DISPLAY RECONCILIATION ACTIONS
`42
`
`USER REQUESTED RECONCILIATION
`ACTION
`
`44
`
`FIG. 7
`
`PASS REQUESTED RECONCILIATION
`ACTION TO PROPER REC. MECHANISM
`46
`
`UPDATE SYNC. DATABASE
`
`FIG.2
`
`Page 00004
`
`

`
`U.S. Patent
`
`Dec. 1, 1998
`
`Sheet 4 of 12
`
`5,845,293
`
`50
`
`USER SELECTS, DRAGS
`AND DROPS FILE
`
`YES
`
`YES
`
`58
`
`59
`
`COPY FILE TO
`DROP LOCATION
`
`MOVE FILE TO
`DROP LOCATION
`
`60
`
`ADD NAME
`TIME-STAMPS AND
`PATHS OF FILES
`INTO SYNC.
`DATAMSE
`
`66
`MOVE FILE FROM
`BRIEFCASE TO
`DROP LOCATION
`
`68
`
`DELETE NAME
`LAST REC. ACTION
`TIME-STAMPS AND
`PATHS FROM
`SYNC. DATABASE
`
`( END ) FIG.JA
`
`Page 00005
`
`

`
`U.S. Patent
`
`Dec. 1, 1998
`
`Sheet 5 of 12
`
`5,845,293
`
`80
`
`USER SELECTS FILE AND PERFORMS
`NON-DEFAULT DRAG AND DROP
`
`NO
`
`YES
`
`YES
`
`NO
`
`88
`
`COPY FILE TO
`DROP LOCATION
`
`90
`
`ADD NAME
`TIME-STAMPS AND
`PATHS INTO
`GLOBAL DATABASE
`
`( END )
`
`FIG.JB
`
`Page 00006
`
`

`
`U.S. Patent
`
`Dec. 1, 1998
`
`Sheet 6 of 12
`
`5,845,293
`
`/Bt(/;;JV.J.-~~~~:-o:-L·,..//~/·.<c//>//;.··•····/".
`.·~~/· .. · ....... // ./.• .. /·
`..
`·.
`/ .
`'"-'
`... ////// .. /// .. «•/ /;; /
`/MLJ~t:J[.'
`~--;'////////// //////,/
`.
`/
`/
`/
`'
`.
`- Include Object of Type
`+IAII T~Qes In Folder!
`0 Selected Types
`
`Application
`Card File
`DocumentFindFile
`Folder
`HelpFile
`MediaCiip
`
`D Cost Applications
`
`~
`..._
`
`~
`'V
`
`Ellnclude Subfolders of the Winword folder
`
`OK
`
`II
`
`I
`
`II Cancel I
`
`Help I
`
`II
`
`FIG.4
`
`Page 00007
`
`

`
`U.S. Patent
`
`Dec. 1, 1998
`
`Sheet 7 of 12
`
`5,845,293
`
`UPDATING EVENT
`
`102
`GET NAME, FILE STAMPS AT LAST RECONCILIATION AND
`FILE PATHS OF ASSOCIATED FILES FORM SYNC. DATABASE
`
`106
`COMPARE LAST RECONCILIATION
`TIME-STAMP OF THE BRIEFCASE
`FILE WITH THE CURRENT
`BRIEFCASE FILE TIME-STAMP
`
`131
`COMPARE LAST
`RECONCILIATION
`TIME-STAMP OF
`THE BRIEFCASE
`FILE WITH THE
`CURRENT BRIEFCASE
`FILE TIME-STAMP
`
`136
`
`REPORT THAT
`BRIEFCASE FILE
`IS AN ORPHAN
`
`YES
`
`NO
`
`133
`
`REPORT THAT
`SYNC. FILE IS
`UNAVAILABLE
`
`130
`
`(
`
`NO
`
`YES
`
`( END )
`
`MATCH UNE TO FIG~ 58:;
`
`Page 00008
`
`

`
`U.S. Patent
`
`Dec. 1, 1998
`
`Sheet 8 of 12
`
`5,845,293
`
`MATCH LINE TO FIG. 5A
`
`110
`COMPARE LAST
`RECONCILIATION
`TIME-STAMP OF
`THE SYNC. FILE
`WITH THE CURRENT
`SYNC. FILE
`TIME-STAMP
`
`118
`COMPARE LAST
`RECONCILIATION
`TIME-STAMP OF
`THE SYNC. FILE
`WITH THE CURRENT
`SYNC. FILE
`TIME-STAMP
`
`NO
`
`YES
`
`NO
`
`122
`116
`114
`REPORT STATUS REPORT STATUS
`AS"NEEDS
`AS"NEEDS
`REPORT
`UP[)\TING" AND UPDATING" AND
`STATUS RECOMMEND TO RECOMMEND TO
`M5
`'REPLACE" SYNC.
`"REPLACE"
`"UP-TO-
`BRIEFCASE FILE
`FILE WITH
`DATE'' WITH SYNC. FILE BRIEFCftSE FILE
`
`l 126
`
`j
`
`REPORT
`REPORT
`STATUS
`STATUS
`ftS"NEEDS
`ftS"NEEDS
`UPDATING" UPDATING"
`AND SHOW
`AND
`"?"
`RECOMMEND
`''MERGE"
`
`Page 00009
`
`

`
`~
`\C
`N
`....
`""(cid:173)Ul
`00
`....
`Ul
`
`'"""' N
`0 ......,
`'0
`~ .....
`'JJ. =(cid:173)~
`
`00
`'0
`'"""'
`'0
`'"""' ~
`!"l
`~
`~
`
`~ = ......
`
`~ ......
`~
`•
`\Jl
`d •
`
`FIG.6
`
`Orphan
`Up-to-date
`Needs updating
`Up-to-date in Br
`Up-to-date
`Needs updating
`Needs updating
`Status
`
`07/27/93 09:24AM
`07/27/93 09:25AM
`10/04/93 01:40PM
`07/27/93 09:20AM
`1 0/04/93 01:36PM
`10/04193 01:39PM
`10/04193 01:35PM
`Modified
`
`~~~~~-~~~
`
`I~I~HAAl::;:f::;Jell= I ~r~lrLJI
`
`ljelp
`
`Cl Zen&war.wri
`Cl Woodblk.wri
`Cl Schedule.bxt
`C11Mfr8J
`Cl Goals.bxt
`Climbing.bmp
`
`~plit
`!Jpdate Selection
`
`~~:1
`Desktop
`Controls.sys
`Command
`
`Chicago1
`Chicago
`Binr
`Bin
`
`-· C:\[MOBYTMP2]
`~ A:\5.25 Floppy
`File Cabinet
`
`Page 00010
`
`

`
`U.S. Patent
`
`Dec. 1, 1998
`
`Sheet 10 of 12
`
`5,845,293
`
`150
`
`USER REQUEST
`RECONCILIATION ACTION
`
`NO
`
`"MERGE"
`ACTION
`SELECTED
`
`160
`
`162
`
`YES
`
`154
`
`YES
`158
`
`PASS REQUEST
`FOR SYNC.
`FILE TO REPLACE
`BRIEFCASE FILE
`
`PASS REQUEST
`FOR BRIEFCASE
`FILE TO REPLACE
`SYNC. FILE
`
`172
`
`UPDATE LAST
`RECONCILIATION
`TIME-STAMPS
`
`FIG.7
`
`GET REC.
`HANDLER
`INFORMATION
`FROM REGISTRY
`DATABASE
`
`PROVIDE NAMES,
`PATHS AND TIME(cid:173)
`STAMPS FOR FILES
`TO BE MERGED
`
`170
`
`WAIT FOR MERGE
`COMPLETION
`
`Page 00011
`
`

`
`U.S. Patent
`
`Dec. 1, 1998
`
`Sheet 11 of 12
`
`5,845,293
`
`To change the update action, right mouse click on the file you want to
`change.
`
`In Briefcase
`Unmodified
`09/07/93 03:08PM
`
`Replaces
`
`In Scotth3\files
`Modified
`07/28/93 11:10AM
`
`Dinosaur:wri
`·····························-··············------·······--·····--------------------··------------------
`
`In Briefcase
`Modified
`09107193 05:5oPrv
`
`~ Ideas. txt
`
`In Briefcase
`Modified
`09/09/93 05:51PM
`
`..
`
`Replaces
`
`In Scotth3\Winw. ..
`Unmodified
`09/08/93 1 0:57PM
`r-. v
`
`Update
`
`II
`
`Cancel
`
`Help
`
`FIG.8
`
`Page 00012
`
`

`
`U.S. Patent
`
`Dec. 1, 1998
`
`Sheet 12 of 12
`
`5,845,293
`
`21
`________________ (__
`
`22
`_ _______________ ( ______ _
`
`I
`
`I
`
`I
`
`CPU
`
`1 .... : - - - - -
`
`1
`
`I
`
`i I
`~~~~~~~l~~~]~~~~:ii __ _
`
`1.--------------..:
`MEMORY
`OPERATING SYSTEM 11
`
`INPUT/OUTPUT
`DEVICES 23
`DISK DRIVES
`( 24
`COMMUNICATION PORTS
`
`,_ _______ .....
`
`I
`
`-----------------------1
`
`----------------------
`
`I
`
`FIG.9A
`
`1220
`
`221
`1--------------- _(--I
`
`i I
`_______ l ____ J ______ _
`
`CPU
`
`1 .... : _____ '
`
`I
`
`I
`
`------- ________ (~~~--
`
`1
`
`I
`
`MEMORY
`OPERATING SYSTEM 211
`
`222
`i-------------- _(------- ~
`INPUT/OUTPUT
`DEVICES 223
`DISK DRIVES
`224
`COMMUNICATION PO~TS
`I ------------------------J
`
`FIG.9B
`
`Page 00013
`
`

`
`This is a continuation of application Ser. No.08/287, 231
`filed Aug. 8, 1994, now abandoned.
`
`TECHNICAL FIELD
`
`5
`
`10
`
`BACKGROUND OF THE INVENTION
`
`5,845,293
`
`1
`METHOD AND SYSTEM OF ASSOCIATING,
`SYNCHRONIZING AND RECONCILING
`COMPUTER FILES IN AN OPERATING
`SYSTEM
`
`The present invention relates generally to operating sys(cid:173)
`tems for computing devices, and more particularly to an
`improved system for, and method of, associating, synchro(cid:173)
`nizing and reconciling computer files in an operating sys(cid:173)
`tem.
`
`2
`In a network environment, for example, an original
`document, such as a letter, may be typed and saved by a
`secretary at his or her computer. The letter then may be
`transferred over the network to the originator's computer for
`review. The originator can then rough edit and store the letter
`on his or her computer. Thus, a second version of the letter
`is created and stored on the originator's computer. When
`satisfied with this second version, the originator may print
`out a hard copy of the letter for review by a third person. The
`third person may perform a final edit by marking-up the
`printed copy. The marked-up copy is then given to the
`secretary for entry of those marked changes. If the secretary
`adds the marked changes to the original version on his or her
`computer, the final letter will be incorrect. It will not
`15 incorporate the originator's rough edit changes. Therefore,
`when modifying a file, a secretary must either insure he or
`she has the up-to-date file version by manually checking the
`From the late 1970s through the present day the ability of
`copies that were transferred to other computers, or risk using
`general purpose digital computing devices to perform a wide
`an outdated file version.
`variety of tasks has continually expanded. As a result, the
`The problem of multiple file versions also exists where
`use of personal computers has proliferated in businesses, 20
`files are transferred from central servers to individual
`homes, academia, and a multitude of other environments.
`employee computers. For example, where salesmen copy a
`Further, due to more recent advances in technology, the use
`standard price list, the file versions on the individual com(cid:173)
`of compact portable computers for travel has become fea(cid:173)
`puters will become increasingly outdated as the standard
`sible and even common-place.
`25 price list is periodically updated. Thus, one salesman's price
`Today, as the proliferation of personal computers
`list may be two weeks old, while another's is one week old,
`continues, individuals routinely use more than a single
`and a third's is up-to-date. This can result in incorrect and
`computer in their work. This allows computer files to be
`conflicting information being used by a business.
`created at one location and transferred to a computer at
`In the absence of a network between computers, as is
`another location for modification there. As used herein the 30
`usually the case with a user's home and office computers,
`term "file" means a computer document created from a
`files are often transferred between the computers by a
`computer application or a folder containing such computer
`"sneaker-net". In a sneaker-net, a user "networks" its home
`documents. The term "transfer" means to copy a file from
`and office computers by physically transporting files back
`one folder to another. The copied file may reside on the same
`and forth on storage media. As used herein the phrase
`computer or on separate computers.
`35 "storage media" means a device capable of storing infor(cid:173)
`Individuals typically use a second computer to engage in
`mation in a format readable by a computer. The phrase
`after-hours employment related work. These users have a
`"removable storage media" means a storage media device
`computer at their home in addition to one at their office, and
`that is readily insertable and removable from a computer.
`perhaps even a portable computer for travel. Thus, they can
`Typically in a sneaker-net, a removable storage media, such
`create a file at the office, transfer the file from their office
`40 as a floppy disk is used. Increasingly, however, portable
`computer to their home computer, and modify the file at
`computers are used as a means of transporting files in a
`home. On the succeeding business day, the users may
`sneaker-net environment. The use of a portable computer
`transfer the modified file back to their office computer for
`allows files to be transferred between the transporting stor(cid:173)
`further use there. Additionally, for travel, many users trans(cid:173)
`age media, the portable computer's hard disk drive, and the
`fer files to a portable computer for use or modification while
`45 user's home or office computer more quickly over a local
`traveling.
`connection than can be done with removable storage media.
`The phrase "local connection" means a connection between
`Most businesses have multiple computers, with secretar-
`computers in close proximity over which files or other
`ies as well as engineers, researchers and managers typically
`information may be transferred. For example, the connection
`having their own office computer. These computers are often
`50 may be by serial or parallel cable. Further, the connection
`networked together in order to allow files to be easily
`may be wireless using infrared or RF (radio frequency).
`transferred between employees. Pile transfer may be further
`Sneaker-net environments also lead to multiple file versions
`facilitated by using a central file server in connection with a
`because files are transferred and modified on separate com-
`network. Central servers contain often used files, such as
`puters.
`standard business forms, thereby allowing employees to
`While the problem of multiple file versions may be
`easily access and transfer needed files to their respective 55
`alleviated by manually and continually updating older file
`computers for use and modification there.
`versions when newer ones are created, that solution is
`The increasing use of multiple computers and networked
`impractical. Users typically create and edit multiple docu(cid:173)
`systems by single entities has led to an increase in the
`ments from various directories contemporaneously with one
`transfer of files between or among that entity's computers.
`A problem associated with file transfer between computers 60 another. Thus, they cannot always remember what file
`versions in which directories are the most up-to-date. Fur(cid:173)
`is the resulting creation of multiple file versions when the
`ther still, a user may be unaware that a newer version of a
`transferred file copy or the original file copy is later modi(cid:173)
`file even exists, such as when a standard form on a central
`fied. Thus, two file versions exist for each file that is
`server has been updated by management.
`transferred to, and modified on, another computer. Multiple
`file versions cause confusion as to whether a particular file 65
`A second problem associated with file transfers between
`computers is resulting file conflicts. For example, a file
`copy is the up-to-date version. Such confusion can lead to
`conflict occurs when a single user independently modifies
`the use of an outdated file version.
`
`Page 00014
`
`

`
`5,845,293
`
`4
`synchronizing and reconciling method and system that will
`interface with computer applications in order to allow con(cid:173)
`flicting files to be merged.
`
`SUMMARY OF 1HE INVENTION
`
`15
`
`20
`
`3
`two separate versions of the same file. File conflicts also
`occur when two users, each with his or her own copy of the
`same file, such as a proposal, independently modify his or
`her own copy and thus create two "latest" versions of that
`file. Conflicting file versions cannot be readily reconciled 5
`because neither version incorporates the modifications of
`both users. In such cases, a version containing the modifi(cid:173)
`cations of both users can only be created by merging the two
`verswns.
`Therefore, there exists a need for a method and system for
`associating, synchronizing and reconciling files in a com(cid:173)
`puter system. As used herein, the term "associate" means to
`link two or more files for synchronization. The term "syn(cid:173)
`chronize" means to determine whether associated files are
`up-to-date and, if they are not, to recommend a preferred
`reconciliation action. "Reconciliation" is the act of updating
`or merging associated files. As used herein the term "updat(cid:173)
`ing" means replacing outdated file versions with an up-to(cid:173)
`date file version. The term "outdated" means that the file has
`not been modified since the last reconciliation action and an
`associated file has been modified. The term "up-to-date"
`means that the file represents the latest version available,
`which further means that either the file has been modified
`since the last reconciliation action and its associated files
`have not been modified, that neither the file nor its associ- 25
`ated files have been modified since the last reconciliation
`action or that an associated file is not available for synchro(cid:173)
`nization.
`The association method and system should be user
`friendly, allowing users to intuitively associate files. Syn- 30
`chronization should automatically determine the status of
`associated files, report existing file conflicts and recommend
`proper reconciliation actions. The method and system
`should be able to function in both network and sneaker-net
`environments. Further, the method and system should pro(cid:173)
`vide an application interface to allow applications to merge
`files of their own type when file conflicts occur. Further still,
`file association and synchronization should operate as part of
`a computer operating system so that a separate application
`does not need to be launched.
`Various methods have been used in the prior art for file
`association, synchronization and reconciliation. The earliest
`methods used a synchronization relationship to periodically
`back-up a computer's secondary memory. Back-up up 45
`relationships, however, are only one way in nature, from a
`first computer to a second computer. Thus, such back-up
`synchronization methods are only designed for situations
`where files are created and modified on only one computer.
`As such, back-up relationships do not fulfill the present need 50
`because often files are modified on separate computers.
`Thus, back-up methods do not solve the need for a method
`and system for associating, synchronizing and reconciling
`files that are modified on different computers.
`More recently, various other methods of associating,
`synchronizing and reconciling files have been used. These
`methods, however, do not provide an intuitive method of file
`association and synchronization in both a network and a
`sneaker-net environment. Further, the prior art methods do
`not provide for adequate reconciliation because they do not 60
`include an application interface for merging conflicting files.
`Moreover, because the prior art methods are not seamlessly
`integrated into an operating system, user interface or shell,
`they must be separately launched.
`Thus, there exists a need for a method and system for
`intuitively associating, synchronizing and reconciling com(cid:173)
`puter files. Further, there exists a need for an associating,
`
`The present invention provides a better solution to solving
`the problems in the art described above by providing an
`intuitive method and system for associating files. Associated
`files are synchronized and their synchronization status
`10 reported. On the basis of synchronization status, the present
`invention recommends a preferred reconciliation action.
`Furthermore, file conflicts are recognized and an application
`interface is provided in order to allow applications to merge
`conflicting files.
`Generally described, the present invention is a method
`and system for associating, synchronizing and reconciling
`files using a database dedicated to storing file association
`information. The information stored includes the name,
`paths, and last reconciliation time-stamps of associated files.
`Upon the occurrence of selected updating events, such as a
`user request, the present invention retrieves the database
`information and uses the name and paths to get the current
`time-stamps of the associated files. With that information,
`the present invention determines whether reconciliation
`actions are needed for an associated file set by comparing the
`current time-stamps of the associated files with each file's
`last reconciliation time-stamp stored in the database.
`Where none of the files of an associated file set have been
`modified or when only one of the associated files is
`available, the present invention reports the synchronization
`status as up-to-date. If only one associated file has been
`modified, the present invention reports that the unmodified
`files needs updating and recommends replacing the unmodi-
`35 fied files with the modified file. Where two or more asso-
`ciated files have been modified, the present invention deter(cid:173)
`mines whether a reconciliation handler is available for that
`file type. If a reconciliation handler is available, the present
`invention recommends that the modified files be merged and
`the resulting up-to-date file be used to replace the associated
`files. If a reconciliation handler is not available, the present
`invention informs the user of the existing file conflict.
`In one embodiment of the present invention, files are
`selected for association by transferring them into a dedicated
`folder (referred to as a "briefcase"). In this embodiment,
`each such dedicated folder has a dedicated synchronization
`database for storing file association information.
`In a second embodiment of the present invention, files are
`selected for association (referred to as "twinning") by select(cid:173)
`ing the association during the initial file transfer. For this
`embodiment, a global synchronization database is used to
`store file association information relating to the twinned
`files.
`Thus, it is an object of the present invention to provide an
`55 improved method and system for associating, synchronizing
`and reconciling files.
`It is a further object of the present invention to provide a
`method and system that allow a computer user to associate
`files intuitively.
`It is a further object of the present invention to provide an
`application interface for merging conflicting files.
`It is a further object of the present invention to provide an
`operating system for associating, synchronizing and recon-
`65 ciling files.
`Further objects, features and advantages of the present
`invention will become apparent upon reviewing the follow-
`
`40
`
`Page 00015
`
`

`
`5,845,293
`
`5
`ing description of the preferred embodiments of the
`invention, when taken in conjunction with the drawings and
`appended claims.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`40
`
`6
`interface. However, this invention should be also understood
`as applicable to operating systems with a character based
`user interface.
`With respect to the first association embodiment, FIG. 1A
`5 shows a functional block diagram of the components of a
`computer operating system 11 that are used for carrying out
`the present invention of associating, synchronizing and
`reconciling files. FIG. 2 shows the method of the present
`invention in conjunction with the components of operating
`10 system 11. A user 2 requests association actions via a user
`interface 4 at step 30. A synchronization engine 6 provides
`the mechanisms for associating, synchronizing and recon(cid:173)
`ciling files. Files are associated by storing the information
`about them that is necessary to link them together into a
`15 dedicated synchronization database 8 at step 32. After an
`updating event at step 34, synchronization status is deter(cid:173)
`mined at decisional step 36. As used herein the phrase
`"synchronization status" means the status of an associated
`file set concerning the relative modification of its associated
`20 files. The phrase "file set" means two or more files associ(cid:173)
`ated in accordance with the present invention. Synchroni(cid:173)
`zation status is determined by comparing an associated file
`set's file information in the dedicated synchronization data(cid:173)
`base 8 with its current file information that is retrieved from
`25 file system 16. On the basis of synchronization status,
`synchronization engine 6 recommends a preferred reconcili(cid:173)
`ation action to user 2 at step 38. Next, at step 40, the
`preferred reconciliation action as well as other choices are
`displayed to user 2 through user interface 4.
`If a file conflict exists between an associated file set,
`synchronization engine 6 determines if a reconciliation
`handler 12 of the proper file type is available to merge the
`associated file set. If a reconciliation handler 12 is available,
`synchronization engine 6 will display a merge request at step
`35 40. If a proper reconciliation handler 12 is not available,
`synchronization engine 6 will not allow the user to request
`or initiate a merger. This is done by disallowing the merge
`selection in the user interface 4.
`Although synchronization engine 6 could automatically
`perform the preferred reconciliation action, in the preferred
`embodiment, user 2 makes the final decision concerning
`what reconciliation action will be performed by requesting
`that action at step 42. Thus, the user 2 may override the
`recommended reconciliation action and select a different
`reconciliation action from the choices presented by the
`synchronization engine 6.
`User requested reconciliation actions are received by the
`synchronization engine 6 and are passed to the proper
`50 reconciliation mechanism at step 44. The proper reconcili(cid:173)
`ation mechanism for replacing an outdated file version with
`an updated file version is the file manager (not shown) of
`operating system 11. For merging files, the proper recon(cid:173)
`ciliation mechanism is the reconciliation handler interface
`55 10. After a requested reconciliation action is completed, the
`information concerning the associated file set in the dedi(cid:173)
`cated synchronization database 8 is updated at step 46 for the
`file set that was reconciled.
`FIG. 3A shows the method of the first embodiment for
`associating files in a computer operating system 11 having
`components and methods as shown in FIGS. 1A and 2. This
`embodiment shown in FIG. 3A has a dedicated folder 5
`(briefcase) for associating files.
`The inventive method of the first embodiment shown in
`FIG. 3A begins with user 2 selecting a file and dragging and
`dropping it into another folder at step 50. At this point
`decisions, based on the folder that the selected file is dragged
`
`FIG. 1A is a diagrammatic view of the operating system
`components used in connection with a first embodiment
`(briefcase) for associating, synchronizing and reconciling
`files in accordance with the present invention.
`FIG. 1B is a diagrammatic view of the operating system
`components used in connection with a second embodiment
`(twinning) for associating, synchronizing and reconciling
`files in accordance with the present invention.
`FIG. 2 is a high level logical flow diagram breaking down
`the method of the present invention into the basic compo(cid:173)
`nents of file association, synchronization and reconciliation.
`FIG. 3A is a logical flow diagram of the association
`component of FIG. 2 which incorporates a dedicated folder
`for associating files in accordance with the first embodiment
`(briefcase) of the present invention.
`FIG. 3B is a logical flow diagram of the association
`component of FIG. 2 which incorporates a file transfer
`context menu for file association in accordance with the
`second embodiment (twinning) of the present invention.
`FIG. 4 is a user interface showing a file filter which may
`be used in connecti

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