`i
`
`METHODS AND APPARATUSES FOR FILE SYNCHRONIZATION
`AND UPDATING USING A SIGNATUR"E LIST
`
`Inventor:
`Peter Dickinson
`
`PRIOzuTY CLAIMS
`
`[000U
`
`This application is a continuation of U.S. Patent Application No. 09/303,958,
`
`filed May 3,1999 (now U.S. Patent No. 6,574,657).
`
`CROSS.REFERENCE TO RELATED APPLICATION
`
`[0002]
`
`This Application is related to the following Application, which is incorporated
`
`herein by reference: U.S. Patent Application No. 09/304,295, entitled 'Methods and
`
`Apparatuses for Single Connection File Synchronization and Workgroup File Update", filed
`May3, 1999(awa,t l), S. P*'/en{ N. . 6r€nnr'?+6),
`
`vp
`
`BACKGROTIND OF THE INVENTION
`
`l.
`
`FIELD OF THE INVENTION
`
`[0003]
`
`Thepresent inventionrelates to the field ofpersonal computers which access files
`
`on network drives and which utllize electronic mail systems. Specifically, the present invention
`
`involves the synchronizationof the local copies of files on user's client computer hard disk to
`
`the current versions of the files on a network drive.
`
`SYMA-lO42USI MCF/JRK
`M :UKurin\wp\syma\ I 042us 1 \application.wpd
`
`EV 326 482 042U5
`
`Unified Patents et al. v. Clouding IP
`IPR2013-00586 IPR2014-00306
`Clouding Ex. 2006 Page 1
`
`
`
`,:4, $"".1i;t{i.flI$ i;,'it .:{,. i$ rf:r ,, !i3 d:!, if:]Ji idl it.:ii::t;
`
`2.
`
`DISCUSSION OF THE RELATED ART
`
`I00041
`
`As more and more business information moves from analog to digital formats,
`
`the relatively newfound ability to create, amend, and revise information spontaneously and
`
`frequently has brought with it challenges for corporate users. Revenue results can now be easily
`
`aggregated and updated in near real time, sales presentations can be amended regularly, and
`
`changes made to business documents. However, causing these changes to effectively trickle
`
`down through the organization without causing a digital flood is a challenge.
`
`[000s]
`
`Companies have responded to the threat by carefully creating structures for
`
`organizing, storing, and sharing these electronic files. Organizations have moved from file
`
`servers to intranet sites to combinations of both to meet the need of the corporate user. While
`
`these structures are clearly effective means of storing, sharing, and organizing information, they
`
`do not address the fact that users have very individual information needs. They also do not
`
`resolve the obstacle users face who do not have the time to spend looking for changes. An
`
`effective paradigm for addressing the problem of individual needs and delivering changes to
`
`documents can be found in the emerging category of "push rechnology."
`[00061 As its simplest definition, push is the process of automatically delivering
`
`user-requested information elechonically. It is not an application, but merely a function or
`
`feature in a product. There are clear distinctions between the three different categories of
`
`push-based application: content, software, and document.
`
`[0007]
`
`Content push is the first mover. Conventional products focus on delivering
`
`breaking news and information to user desktops automatically. Instead of the user constantly
`
`surfing multiple Web sites for stock quotes, news, weather, etc., conventional products aggregate
`
`SYMA.IO42USI MCFiJRK
`M;UKurin\wp\syma\ I 042us I \application.wpd
`
`EV 326 482042U5
`
`Unified Patents et al. v. Clouding IP
`IPR2013-00586 IPR2014-00306
`Clouding Ex. 2006 Page 2
`
`
`
`.;:1, {."$ n.'ii'ifui, il:i:ii". $$ qll, ., $,"iilft, il:ii ;i:lt {:.ii "ii;
`
`and broadcast information automatically according to individual user preferences. Many
`companies incorporate "push" functionality into their products.
`[00081 Following acceptance by hundreds of thousands of early adopters, many
`push-based applications started the move into the corporate world. For IS Managers,
`"push-based technologies" were seen as an uncontroluir. avenue for terabytes of graphics and
`HTML to come through the corporate firewall and network, filling local hard drives.
`
`[000e]
`
`Microsoft and Netscape entered the fray with their own,.push" clients —
`IE 4'0 Active Desktop and Communicator's Netcaster, respectively. Rather than spurring the
`growth of content delivery however, the effect of the push entries has been to call into question
`the value of delivering Web content to user hard drives. The value is questioned not only in
`terms of relevance, but also its effects and load on corporate networks. The automated
`information flow becomes a flood through the Intemet gate-ways of corporations threatening the
`stability and reliability of the network infraskucture itself.
`[0010] within the corporate world, the future of content push remains in limbo.
`Uncertainty over standards and overall value have caused the market to trip on the initial
`momentum and slow to a crawl. However, what is questioned here is not the value of
`automating delivery or "push,'n but rather the value of what is being pushed.
`
`[001u
`
`Software Push is another important objective. Microsoft and Marimba, among
`others, have recognizedthe importance and potential of "Electronic Software Distribution,,
`(ESL) or "software push" as a way ofaddressing the need to seamlessly deliver software updates
`across the network with the goal of directly impacting the total cost of ownership. The
`requirements for software diskibution are dramaticallydifferent from content distribution. For
`one' the "content" in software delivery is, by its very nature, deemed critical. To reduce the
`
`SYMA-IO42USI MCF/JRK
`M:UKurin\wp\syma\l 042us I \application.wpd
`
`EV 326 482 042U5
`
`Unified Patents et al. v. Clouding IP
`IPR2013-00586 IPR2014-00306
`Clouding Ex. 2006 Page 3
`
`
`
`i$. il"l e+ ji:rl lr.T i3i" H;; ff:ir, * fi"}i d.]' ii-fi ffi {"li "iyi
`
`impact of supporting multiple versions of products across the corporate network,
`
`near-simultaneous deployment is imperative. Companies that do not use some form of software
`
`push technologies require dedicated individuals to make the rounds updating software by
`
`reinstalling or applying patches for each personal computer and laptop.
`
`[00121
`
`Rather than aggregating and displaying iffformation, software push transparently
`
`delivers one specific piece of information and applies it to user systems or applications. Files
`
`tend to be very large and the delivery of these files must be well-managed. Incremental
`
`downloadingbecomes importantto reduce frustration andbandwidth associatedwithbroken and
`
`lost connections. Management of software updating also needs to be centralized and
`
`MlS-controlled. kr addition, the primary value of the application is to IS personnel and only
`
`indirectly to for the end-users.
`
`[0013]
`
`A good example of software push is Marimba's castanet, which allows Java
`
`applications to be distributed and updated seamlessly and automatically without user
`
`intexvention. This same approach to Java programming can be, and is being, applied to
`
`C-language programs as well. The case of content push vs. software push makes it clear that the
`
`importance lies in the distinction between the data being delivered — and not the delivery
`
`mechanism itself.
`
`[0014]
`
`The Next Phase is Electronic Document Delivery. The final frontier in digital
`
`push is "electronic document delivery''or EDD. It deals with delivering changes or "updates"
`
`to the same physical files (like software push), but the files themselves are highly personalized
`
`(like content push). Different from content push, these files exist in the form of sales
`
`presentations (PowerPoint), spreadsheets (Excel and Lotus 1,2,3), and reports and plans (Word
`
`or WordPerfect). These are the types of documents for which companies currently invest
`
`SYMA.1O42USI MCF/JRK
`M:VKurin\wp\syma\l 042us I \application.wpd
`
`EY 326 482042U5
`
`Unified Patents et al. v. Clouding IP
`IPR2013-00586 IPR2014-00306
`Clouding Ex. 2006 Page 4
`
`
`
`iii, 'g..ijii4"li$;t.:ii,, ::::$ $li, ,, $.Jjl$i':, S"ijji* i.$ "ti;
`
`millions of dollars in file seryers and intranet technologies in order to share among respective
`
`workgroups. The important distinction here between content and document push is the fact that
`
`EDD delivers data that currently exists in its native format within corporations and whose value
`
`is clearly understood by the company, MIS, and the end-user. With the recognized features, the
`willingness to invest in infrastructure is more likely. -
`
`[001s]
`
`Within conventional environments. users have access to files and can download
`
`or copy them on-demand, whenever they are aware that the network file document changes. File
`
`servers and intranet servers act as document repositories waiting passively to be accessed. The
`
`reality is that these files change erratically and the user can never really know when a file has
`
`changed. As a result, those who need to have the most current documents are required to
`
`perform hit-and-miss network browsing and checking which is time-consuming, unproductive,
`
`and frustrating. Even if the changes are scheduled, the user is still required to manually access,
`
`retrieve and manage those changes.
`
`[0016]
`
`For mobile users, the problem of knowing about and accessing changes to
`
`network-based files is compounded by infrequent access to the corporate network. In addition,
`
`when remote from the offtce, users need to establish connections to the network via dial-up
`
`networking technologies, then search and browse the network over an often slow, unreliable
`
`connection. The productivity losses and frustrations are simply multiplied.
`
`[00171
`
`As is apparent from the above discussion, a need exists for an efficient and
`
`effective mechanism for allowing a computer user to have copies of the current versions of
`
`network files on his client computer.
`
`SYMA-lO42USI MCF/JRK
`M:UKurin\wp\syma\ I 042us I \application.wpd
`
`EV 326 482 042U5
`
`Unified Patents et al. v. Clouding IP
`IPR2013-00586 IPR2014-00306
`Clouding Ex. 2006 Page 5
`
`
`
`iL f:ii'i{l.S;ri iTrf ,:$.. S, n:r,,- {:]i.#} L?ii.{: f,$ _ii:
`
`[0018]
`
`SI.A4MARY OF THE INVENTION
`conventionally, those who need to have the most current versions of computer
`files are required to perform hit-and-miss network browsing and checking which is
`time-consuming' unproductive, and frustrating. An object ofthe present invention is to provide
`a mechanism by which a user can be automaticattyprorlioed with a current version of a file to
`which he subscribes' Another object of the present invention is to communicate the current
`version ofthe file in an efficient manner. According to the present invention, a seryer computer
`monitors network files and folders stored on the network for changes and then sends the user
`email notifications and updates when monitored items chanee.
`[001e]
`According to the present invention, a server computer generates an update fire for
`transmission to a client computer thatpermits the client computer to generate a copy ofa current
`version of a subscription file from a copy of an earlier version of the subscription file. The
`server computerperiodicallyreads the subscription file from the network drive and divides the
`subscription file into variable-length segments based upon a segment delimiter. The server
`computer computes a signature for each segment and stores the segment signature albng with the
`beginning position and length of each segment in a current version of the signature list. The
`server computer also maintains the earlier version of the signature list.
`For each segment of the current version of the subscription file, the server
`[0020]
`computer searches an earlier version of a signature list for an old segment signature which
`matches a new segment signafure corresponding to the segment. when a match is detected, the
`seryer computer writes a command in the update file for the client computer to copy an old
`segment ofthe client computer's copy ofthe earlier version ofthe subscription file into the client
`computer's copy of the current version of the subscription file, where the old segment
`
`SYMA-IO42USl MCF/JRK
`M:UKurin\wp\syma\l 042us I \application.wpd
`
`BY 326 482 042rJS
`
`Unified Patents et al. v. Clouding IP
`IPR2013-00586 IPR2014-00306
`Clouding Ex. 2006 Page 6
`
`
`
`:ii. ii.lili'ii',*:{ i;rf "ii,. !ii:r, $fi' * i#j$iir, {"ij ii:f fl"3i .:iii
`
`corresponds to the segment for which a match was detected. The command need only speci$
`
`the location within the earlier version of the file where the old segment is stored, rather than the
`
`actual datathat is stored at this position. This information is found in the signature list in the
`
`beginning location and size fields. The beginning locEtion field is preferably expressed as a
`
`number of bytes from the beginning of the file. At the client computer, when this location
`
`information is combined with the offset of the begiruring of the client computer's copy of the
`
`earlier version of the subscription file, the correct old segment can be copied into the client
`
`computer's copy of the current version of the subscription file. The size of the copy command
`
`is negligible in comparison to the size of the segment to which it pertains. This savings reduces
`
`the size of the update file, and thus reduces the connection time in communicating the update file
`
`to the client computer.
`
`[002u
`
`When no match is detected in the earlier version of the signature list, the seryer
`
`computer writes a command into the update file fcrr the client computer to insert a new segment
`
`of the current version of the subscription file into the client computer's copy of the current
`
`version of the subscription file, where the new segment of the current version ofthe subsoription
`
`file is written into the update file. Because the new segment of the current version of the
`
`subscription file contains the actual data of the new segment, the new segment of the current
`
`version of the subscription file maybe compressed to reduce the size, enc4pted for security, or
`
`both, by the server computer before being written into the update file.
`
`100221
`
`When the update file is completed, the server computer transmits the update file
`
`to the client computer as an executable attachment via electronic mail. The update file is only
`
`generated when the server computer determines that the subscription file has changed. The
`
`server computer periodically monitors the subscription file to determine if it has been altered
`
`SYMA-IO42USI MCF/JRK
`M:VKurin\wp\syma\
`I 042us I \application.wpd
`
`Ey 326 482 042U5
`
`Unified Patents et al. v. Clouding IP
`IPR2013-00586 IPR2014-00306
`Clouding Ex. 2006 Page 7
`
`
`
`;:il.$Ji {",i]..i::lr, li:* ,;4, {$ *r, ", $,"3 $S {i:g ffi,ii:J! _:.9;
`
`before generating an update file. The user determines the periodicity of the checks to determine
`
`ifthe file has been altered, and if so, to generate the update file and send it as an electronic mail.
`
`t00231
`
`These and other features ofthe present invention are apparent from the Drawings
`
`which are described in narrative form in the Detailed Description of the Invention.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`100241 Figure 1 illustrates a general purpose computer architecture suitable for
`
`implementing the methods according to the present invention.
`[00251 Figure 2 illustrates a network of computers suitable for implementing the methods
`
`according to the present invention.
`
`[0026]
`
`Figure 3 illustrates an earlier version of a subscription file broken into six
`
`segments and the signatures corresponding to the six segments suitable for use with the methods
`
`according to the present invention.
`
`100271 Figure 4 illushates an earlier version of a signature list according to the present
`
`invention corresponding to the earlier version of the subscription file shown in Figure 3.
`[0028]
`
`Figure 5 is a flow chart illustrating a method according to the present invention
`
`of building a signature list corresponding to a subscription file.
`[00291 Figure 6 illustrates a current version of the subscription file shown in Figure 3
`
`broken into seven segments and the signatures corresponding to the seven segments suitable for
`
`use with the methods according to the present invention.
`[00301 Figure 7 illustrates a current version of a signature list according to the present
`
`invention corresponding to the current version of the subscription file shown in Figure 6.
`
`SYMA-IO42USl MCF/JRK
`M:VKurin\wp\syma\1042us1\application.wpd 8
`
`EV 326 482 042U5
`
`Unified Patents et al. v. Clouding IP
`IPR2013-00586 IPR2014-00306
`Clouding Ex. 2006 Page 8
`
`
`
`.:ii., ii.,"$ ai1.ii:iiiir*
`
`";ii,. *iiu*, " Lfi rH,,, {",ii,i:li {::ii-:i:
`
`[003u
`
`Figure 8 illustrates the correspondence of the current version of the subscription
`
`file to the earlier version of the subscription file and the segments which are commruricated to
`
`the client computer fromthe servercomputerin anupdate file accordingto thepresent invention.
`
`[0032]
`
`Figure 9 illustrates the creation of a current copy on the client computer of the
`
`current subscription file from a copy of the earlier urrrion of the subscription file on the client
`
`computer using the update file.
`
`[00331
`
`Figure 10 is a flow chart illustrating a method according to the present invention
`
`of generating an update file from the current version of the subscription file and the current and
`
`earlier versions of the signature list.
`
`[00341
`
`Figure 11 illustrates an update file generated by the method according
`
`to the
`
`present invention illushated in Figure 10 applied to the earlier and current versions
`
`of the
`
`signature list illushated in Figures 4 and 7, respectively.
`
`[003s]
`
`Figure 12 illustrates a large and diverse network of computers suitable for
`
`implementing the methods according to the present invention.
`
`[0036]
`
`The Figures are more thoroughly described in narrative form in the Detailed
`
`Description of the Invention.
`
`DETAILED DESCRIPTION OF THE INVENTION
`
`[00371
`
`Although intranets are growing in popularity, they are not likely to replace file
`
`servers any time soon. File servers are one of the primary ways to store and share data on
`
`corporate networks due to their sheer simplicity for posting and retrieving files. Users have
`
`grown accustomed to working with network drives, even to the extent where in which data is
`
`actually stored directly on the network, rather than on their own hard drives. The intranet, on
`
`SYMA-IO42USI MCF/JRK
`M:UKurin\wp\syma\ 1 042us I \application.wpd
`
`EV 326 482042U5
`
`Unified Patents et al. v. Clouding IP
`IPR2013-00586 IPR2014-00306
`Clouding Ex. 2006 Page 9
`
`
`
`,:1i.. ii3 ;t4'1i:$';ii* .a,]il$ i*i, ," $-"-$ $*[F ffi fl]i -Tj;
`
`the other hand, requires that documents be "posted" or "uploaded" to a web server, usually by
`
`a select goup of individuals. Thus, making documents available to others goes from the simple
`
`task of copylng a file onto a network directory to submitting a file to be processed by others. On
`
`the recipient end, it involves activating a browser, going to the appropriate URL or IP address,
`
`finding the document on a page and downloading it (as 6pposed to a simple drag-and-drop file
`
`copy to the hard drive).
`Lr spite of the varying degrees of complexity, there is value in both methods of
`[00381
`file sharing. Since virtually all Infanet documents are converted forms of some other type of
`
`document file, the most current information is often found in native files on the LAN, rather than
`
`information posted to a web page. In addition, not all changing files used in the day-to-day life
`
`of the mobile professional are found on the intranet, whereas all intranet-based files can typically
`
`be found on the network. Thus, browser-access alone is not always adequate to serve the needs
`
`of document delivery.
`
`Io03el
`
`According to research, the most popular method of connecting to the corporate
`
`network is through electronic mail. Not surprisingly, electronic mail is treated as a mission
`
`critical application. For remote or mobile professionals, it is the one connection they do make
`
`to the network on a recurrent basis. This familiar, reliable system is well-suited for electronic
`
`document delivery (EDD). So well-suited, in fact, that many departments and users currently
`
`rely on electronic mail as a primary way to send documents to other users. Even with existing
`
`network and Intranet infrastructures, a typical response to the suggestion, "It's now posted on
`
`the site, you can download it" is "I know, but could you send it to me by email? It's easier". The
`
`simplicity ofusing electronic mail as a single corurection to d wide variety of information sources
`
`is very compelling to both users and corporations, with the caveat that the files being sent must
`
`SYMA-IO42US1 MCF/JRK
`M:UKurin\wp\syma\l 042us I \application.wpd
`
`BV 326 482042U5
`
`Unified Patents et al. v. Clouding IP
`IPR2013-00586 IPR2014-00306
`Clouding Ex. 2006 Page 10
`
`
`
`3",{"iirr..ii",ii:}ia*1.:$" f$ tt-\, * 'L! * $J #1ji} ,*,i
`
`not impede the network, the mail server, or the end-user's experience. This means, for truly
`
`effective document push, file size has to be addressed, first and foremost.
`
`[0040]
`
`Electronic Document Delivery involves more than just the physical process of
`
`sending out documents automatically. The indiscriminate sending or downloading of full-size
`files places a heavy burden on network bandwidth, IS, ;; the mobile professional. Intelligence
`
`needs to be built into the entire process of delivery to be truly effective and valuable to both MIS
`
`and users.
`
`[004U
`
`For truly effective Document Delivery, server-based intelligence is required. It
`
`is needed for detecting and sending changed files, but also as well as for detecting what changes
`
`have been made and packaging only those changes as efficiently as possible. If only 50 cells of
`
`5000 have changed in a spread-sheet, it does not make sense to send the entire file again. Ifonly
`
`a single slide in a 50-slide presentation changes, it does not make sense to re-send the entire2
`
`MB file.
`
`100421 Symantec Mobile UpdaterM (Symantec Mobile Update is a trademark of
`
`Symantec Corporation and its subsidiaries) according to the present invention, through a
`
`combination of server-based "delta technology'' and client-based "update agent technology'',
`
`adds "intelligence" to document deliveryby automatically offering a seamless way ofreceiving
`
`changes to corporate documents. The next section discusses the technology used by Mobile
`
`Update according to the present invention to bring "intelligence" to document delivery.
`
`[00431
`
`Mobile Update according to the present invention is designed primarilyto serve
`
`the mobile professional as the target user, who relies on copies ofthe most up-to-date documents
`
`to be effective, but who is not always connected to the network to access changes. In addition,
`
`the mobile user is challenged with both slow connection speeds to the network (typically 28.8
`
`SYMA-IO42USI MCF/JRK
`M:UKurin\wp\syma\l 042us I \application.wpd
`
`EY 326 482042U5
`
`Unified Patents et al. v. Clouding IP
`IPR2013-00586 IPR2014-00306
`Clouding Ex. 2006 Page 11
`
`
`
`.:$.. {j:,fi it,ii.,*;i; ii:i .:i:.. j{;ii; $-t, ,,, j{.Ji ifl:! {".1q iji ji"$
`
`_:1;
`
`Kb/sec modem), as well as the hassles of getting and staying connected. The Mobile Update
`
`solution according to the present invention is comprised of a server portion (for tracking files on
`
`the network and processing changes) and a client portion (for managing document
`
`"subscriptions" and for incorporating changes into existing documents).
`[00441 The Mobile Update Client portion is used. to qeate and manage subscriptions to
`network documents. The process of selecting files to be monitored is referred to as
`
`"subscribing". IJsers browse to the network directory where the desired files are stored and
`
`select either individual files or folders (excluding sub-folders). Once selected, the user then
`
`determines the polling or monitoring interval for the server to check for changes and also what
`
`to do when changes occur, i.e., package and send file changes or simple notification. Once the
`
`subscription is set up, the information is passed to the server and stored in its database.
`[00451 The Mobile Update Server according to the present invention acts as an
`o'electronic assistant" on the network, tracking documents for changes. It polls files or subfolders
`
`at either user-defined intervals for any changes to date, time stamps. When it detects a change,
`
`it checks the integrity of the file, then decides whether it needs to deliver the actual changes or
`
`simply noti$r send notice of a file change.
`[00461 Figure 1 illustrates a general purpose computer system 100 suitable for
`
`implementing the methods according to the present invention. The general purpose computer
`
`system 100 includes at least a microprocessor 104. The general purpose computer may also
`
`include random access memory I 02, ROM memory 1 03, a keyboard 1 07, and a modem I 08. A1l
`
`of the elements of the general pu{pose computer 100 are optionally tied together by a common
`
`bus 101 for transporting data between the various elements. The bus 1 01 typically includes data,
`
`address, and control signals. Although the general pqpose computer 100 illushated in Figure
`
`SYMA.IO42US1 MCF/JRK
`M:UKurin\wp\syma\l 042us I \application.wpd
`
`Ey 326 482 042U5
`
`Unified Patents et al. v. Clouding IP
`IPR2013-00586 IPR2014-00306
`Clouding Ex. 2006 Page 12
`
`
`
`.:$- {",?is..ii..ii$ ;r3: 3* :$x Si}, * {3 g* f,3 ir:ilif."} jli
`
`I includes a single data bus 101 which ties together all of the elements of the general purpose
`
`computer 100, there is no requirement that there be a single communication bus 101 which
`
`connects the various elements of the general purpose computer 100. For example, the
`
`microprocessor 104, RAM 102, and ROM 103, are altematively tied together with a data bus
`
`while the hard disk 105, modem 108, keyboard 107, display monitor 106, and network interface
`
`109 are connected together with a second data bus (not shown). In this case, the first data bus
`
`101 and the second data bus (not shown) are linked by a bidirectional bus interface (not shown).
`
`Alternatively, some of the elements, such as the microprocessor 102 and RAM 102 arc
`
`connected to both the first data bus I 01 and the second data bus (not shown), and communication
`
`between the first and second data bus occurs through the microprocessor 102 and RAM 102.
`
`The network interface I 09 provides communication capability to a local area network LAI.[ using
`
`an ethernet connection, for example. The modem 108 allows the computer 100 to communicate
`
`through the telephone system. The methods of the present invention are executable on any
`
`general purpose computer system such as the 100 illustrated in Figure 1, but there is clearlyno
`
`limitation that this computer system is the only one which can execute the methods ofthe present
`
`invention.
`
`100471 Figure2 illushates anetworkofcomputers suitableforimplementingthemethods
`
`according to the present invention. A client computer 201 is connected to a network dive202
`
`through link 205. A server computer 203 is connected to anetwork drive 202 through a link 206.
`
`The client computer 201 and server computer 203 Ne logically connected by a link 207 for
`
`communication between them. The server computer 203 is logically connected to an electronic
`
`mail facility 204 through link 209. Client computer 201 is logically connected to the elecfionic
`
`mail facility 2}4through link 208. The logical connections}}T ,208, and,209 are not necessarily
`
`SYMA-lO42USI MCF/JRK
`M:UKurin\wp\syma\1042us1\application.wpd 13
`
`EY 326 482 042U5
`
`Unified Patents et al. v. Clouding IP
`IPR2013-00586 IPR2014-00306
`Clouding Ex. 2006 Page 13
`
`
`
`.:.1i.. $,3 tl-$-ffi #::l ;3., ii:ji,#x ,,, {,$ g.& g3 fr*$"}:$
`
`physical connections. For example, the client computer 201 is alternatively a remote computer
`
`which periodically connects to the network dive 202 through a modem. kr this event, the
`
`modem (not shown)provides thephysical connectionthroughwhichthe logical connections 205,
`
`207, and208 are implemented.
`
`[0048]
`
`Figure 2 illushates the interaction between client, server, and network according
`
`to the present invention. The user browses the network through link 205 from his client
`
`computer 201 to determine the files to which he wishes to subscribe. The client computer 201
`
`sends the subscription information to the server computer 203 through logical link 207. The
`
`server computer 203 polls the network 202throughlitik206 for changes to the subscription files.
`
`The server sends update files to the client computer 201 through the email facility 204tlvough
`
`logical link 209. The client computer receives update files through the logical link 208.
`
`[004e1
`
`Symantec's Delta Technology according to the present invention has been
`
`optimized to detect andprocess changes quicklyand efficiently, whileconcurrentlymaintaining
`
`the integrity of the file. When a user first "subscribes" to a file, the server takes a ,.digital
`
`snapshot" that forms the basis for determining changes made to the file in the future. The server
`
`reads the file from the network and determines themost efficient "delimiter" or"dividingpoint"
`
`to break the file into segments as shown in Figure 3. A digital 'snapshot' is comprised ofa series
`
`of segments which define the overall contents and structure of a file. A file can be segmented
`
`into hundreds, if not thousands, of segments depending on the file size and t1pe.
`
`[00s0]
`
`Figure 3 illustrates an earlier version of a subscription file broken into six
`
`segments and the signatures corresponding to the six segments suitable for use with the methods
`
`according to the present invention. Segments A1 through 4.6 represent variable length portions
`
`ofthe earlier version of the subscription file. The ends of each of the segments (A1 through 46)
`
`SYMA.1O42USI MCF/JRK
`M:VKurin\wp\syma\l 042us I \application.wpd
`
`EV 326 482042U5
`
`Unified Patents et al. v. Clouding IP
`IPR2013-00586 IPR2014-00306
`Clouding Ex. 2006 Page 14
`
`
`
`.:li. iiii s.1i-*i'iiii*
`
`"*., f$ #:l' * iiiiic*ft 3 e'T {:.# .S
`
`aredeterminedbysegmentdelimiters30lthrough306. Thesegmentdelimiters30lthrough306
`
`are specific portions of data, perhaps bytes, that are statistically determined to be an optimal, or
`
`at least acceptable, division point for the variable length segments A1 through A6 for the earlier
`
`version ofthe subscription file. Signatures 3 1 I through 316 are fixed length values derived from
`
`the variable length segments A1 through ,4.6. The signatures 311 through 316 may be
`
`determined by any one of a variety ofhashing methods or signature algorithms. In the presently
`
`preferred embodiment, the signatures A1 throughA6 are computed using the cyclic redundancy
`
`check (CRC). However, any signature algorithms may be used according to the present
`
`invention. For example, MD5 can be used to derive a fixed length digital signature from the
`
`variable length segments.
`
`[00su
`
`Figure 4 illustrates an earlier version of a signature list according to the present
`
`invention corresponding to the earlier version of the subscription file shown in Figure 3. The
`
`signature list 400 shown in Figure 4 further includes the starting locations 401 through 406 of
`
`each of the segments A1 through 4.6 shown in Figure 3. The starting locations 401 through 406
`
`are preferably represented as byte address locations relative to the beginning of the earlier
`
`version of the subscription file. Thus, an offset representing the location of the beginning of the
`
`earlier version of the subscription list is combined with each of the segment location values 401
`
`through 406 to determine the address ofthe beginning of each ofthe segments within the address
`
`space within which the segments Al through A6 are stored. The signature list 400 also includes
`
`a segment size field which stores the size of each ofthe variable length segments Al through A6
`
`as a number of bytes within the variable length segment to which it corresponds. The segment
`
`location and segment size allow the addresses of all of the data within the segment to be
`
`computed. However, it should be noted that the information necessary to compute the addresses
`
`SYMA-IO42US1 MCF/JRK
`M:UKurin\wp\syma\l042usl\application.wpd
`
`l5
`
`EV 326 482042U5
`
`Unified Patents et al. v. Clouding IP
`IPR2013-00586 IPR2014-00306
`Clouding Ex. 2006 Page 15
`
`
`
`.:il. ii^ii *{rq,:ii iill "S., St, dr " {3 nS iliiBH ili 3}i
`
`ofthe pieces of data within each segment could be represented in some alternative manner. For
`
`example, instead of attaching the segment size within the signature list, the ending location of
`
`each segment could alternatively be store