throbber
 
`
`
`
`IN THE UNITED STATES PATENT AND TRADEMARK OFFICE
`PATENT TRIAL & APPEAL BOARD
`
`
`
`
`
`
`
`In re Patent of: Peter Dickenson
`U.S. Patent No.: 6,738,799
`Issue Date:
` May 18, 2004
`Appl. No.:
`
`10/452,156
`Filing Date:
`
`June 2, 2003
`Title:
`Methods and Apparatuses for File Synchronization and
`Updating Using a Signature List
`
`DECLARATION OF DR. ANDREW GRIMSHAW, Ph.D.
`
`
`I, Dr. Andrew Grimshaw, Ph.D., declare as follows:
`
`
`
`(1.)
`
`I am currently a Professor of Computer Science at the University of
`
`Virginia’s School of Engineering and Applied Science and Chief Architect for the
`
`NCSA-led eXtrem Science and Engineering Discovery Environment (XSEDE)
`
`project. XSEDE is the cornerstone of the National Science Foundation’s cyber-
`
`infrastructure program for science and engineering in the United States.
`
`(2.)
`
`For more than 30 years, I have studied, designed, and worked in the
`
`field of computer science and engineering. My experience includes more than 25
`
`years of teaching and research, with research interests in distributed systems
`
`including client-server and peer-2-peer interaction, grid computing, high-
`
`performance parallel computing, compilers for parallel systems, and operating
`
`systems, just to name a few.
`

`
`‐ 1 ‐ 
`
`Oracle Exhibit 1007
`
`

`


`
`(3.)
`
`I received a Bachelor of Arts degree in Political Science and
`
`Economics from the University of California, San Diego in 1981, a Master of
`
`Science degree in Computer Science from the University of Illinois at Urbana-
`
`Champaign in 1986, and a Doctor of Philosophy degree in Computer Science from
`
`the University of Illinois at Urbana-Champaign in 1988.
`
`(4.)
`
`Over the last three decades, I have architected, developed, and
`
`released to customers five large distributed systems: two in industry (Open Access
`
`at SPI and the Avaki Data Grid at Avaki), two in academia (Mentat and Gensis II),
`
`and one that spanned both environments (Legion).
`
`(5.)
`
`In 1999 I co-founded Avaki Corporation, which offered enterprise
`
`level grid computing software solutions. I served as Avaki’s Chairman and Chief
`
`Technical Officer until 2005 when Avaki was acquired by Sybase.
`
`(6.)
`
`I am a member of the Global Grid Forum (GGF) Steering Committing
`
`and the Architecture Area Director of the GGF. I have also served on the National
`
`Partnership for Advanced Computational Infrastructure (NPACI) Executive
`
`Committee, the DoD MSRC Programming Environments and Training (PET)
`
`Executive Committee, the Center of Excellence in Space Data and Information
`
`Sciences (CESDIS) Science Council, the National Research Counsel (NRC)
`
`Review Panel for Information Technology, and the Board on Assessment of
`
`National Institute of Standards and Technology (NIST) Programs.
`

`
`‐ 2 ‐ 
`
`Oracle Exhibit 1007
`
`

`


`
`(7.)
`
`I have served on the Editorship and Program Committees for over 35
`
`scientific conferences and symposiums covering the fields of distributed
`
`computing, parallel computing, grid-based computing, and supercomputing. I have
`
`also served on over 20 professional panels and working groups in the same fields
`
`for the National Science Foundation (NSF), National Aeronautics and Space
`
`Administration (NASA), and the NRC, among others.
`
`(8.)
`
`I have presented as a panelist in over 30 conferences throughout the
`
`United States and across the globe regarding grid computing, parallel computing,
`
`and distributed computing.
`
`(9.)
`
`I am the author or co-author of over 50 publications and book chapters
`
`in the field of distributed computing, and over 65 articles from conference
`
`proceedings and standards documents. Many of these publications describe
`
`distributed computing systems, some of which are directed specifically to client-
`
`server interaction and replication. These publications highlight my familiarity with
`
`client-server file synchronization. Below is a list of my publications that are
`
`particularly relevant to the above topics:
`
` Nguyen-Tuong and A.S. Grimshaw, “Using Reflection for Incorporating
`Fault-Tolerance Techniques into Distributed Applications,” Parallel
`Processing Letters, vol. 9, No. 2 (1999), 291-301.
`
` Michael J. Lewis, Adam J. Ferrari, Marty A. Humphrey, John F. Karpovich,
`Mark M. Morgan, Anand Natrajan, Anh Nguyen-Tuong, Glenn S. Wasson
`and Andrew S. Grimshaw, "Support for Extensibility and Site Autonomy in
`
` 
`

`
`‐ 3 ‐ 
`
`Oracle Exhibit 1007
`
`

`


`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`

`
`the Legion Grid System Object Model" Journal of Parallel and Distributed
`Computing, Volume 63, pp. 525-38, 2003.
`
` A.S. Grimshaw, A. Natrajan, “Legion: Lessons Learned Building a Grid
`Operating System”, Proceedings of the IEEE, vol. 93, number 3, March,
`2005, pp. 589-603.
`
` S. Grimshaw, Mark Morgan, Karolina Sarnowska, “WS-Naming: Location
`Migration, Replication, and Failure Transparency Support for Web
`Services,” Concurrency and Computation: Practice and Experience, vol 21,
`issue 8, pp. 1013-1028.
`
` Sal Valente and Andrew Grimshaw, Replicated Grid Resources, Grid 2011:
`12th IEEE/ACM International Conference on Grid Computing, September,
`2011, Lyon, France.
`
` K. Sarnowska, A. Grimshaw, E. Laure. "Using Standards-based Interfaces to
`Share Data across Grid Infrastructures," 38th International Conference on
`Parallel Processing (ICPP09), Page(s):254 – 260, Vienna, AU, Sept. 22-25,
`2009.
`
` Sosa, C. and A.S. Grimshaw, Bringing the Grid home, in Proceedings of the
`2008 9th IEEE/ACM International Conference on Grid Computing. 2008,
`IEEE Computer Society.
`
` H. Huang, and A. S. Grimshaw, “The Cost of Transparency: Grid-Based File
`Access on the Avaki Data Grid,” International Symposium on Parallel and
`Distributed Processing and Applications 2006, pp. 642-659 ,LNCS 4330,
`December 3-6 2006, Sorrento, Italy.
`
` White, M. Walker, M. Humphrey, and A. Grimshaw “LegionFS: A Secure
`and Scalable File System Supporting Cross-Domain High-Performance
`Applications”, Proceedings SC 01, Denver, CO.
`www.sc2001.org/papers/pap.pap324.pdf
`
` J.F. Karpovich, A.S. Grimshaw, and J. C. French, "Extensible File Systems
`(ELFS): An Object-Oriented Approach to High Performance File I/O, "
`Proceedings of OOPSLA '94, Portland, OR, Oct 1994: 191-204.
`
`‐ 4 ‐ 
`
`Oracle Exhibit 1007
`
`

`


`
`
`
` A.S. Grimshaw and E.C. Loyot Jr., “ELFS: Object- Oriented Extensible File
`Systems,” Proceedings 1991 Parallel and Distributed Information Systems
`Conference, Miami, FL, Dec 1991: 510-513.
`
` A.S. Grimshaw and J. Prem, “High Performance Parallel File Objects,''
`Proceedings of the Sixth Distributed Memory Computing Conference,
`Portland, OR, April 1991: 720-723.
`
`(10.)
`
`A copy of my curriculum vitae, which describes in further detail my
`
`qualifications, responsibilities, employment history, honors, awards, professional
`
`associations, invited presentations, and publications is attached to this declaration
`
`as Appendix A-1.
`
`(11.)
`
`I have reviewed United States Patent No. 6,739,7991 (“the ‘799
`
`patent”) to Peter Dickenson as well as the patents and applications referenced in
`
`the section of the ‘799 patent entitled “Related U.S. Application Data.” I have also
`
`reviewed the publications cited in the footnotes of this declaration and referenced
`
`in the inter partes review petition submitted herewith.
`
`STATE OF THE ART AS OF 1999
`
`(12.)
`
`From the 1970s until the present day, a substantial body of research
`
`has reported on the advent and subsequent advancement in distributed computing
`
`systems. In its simplest form, a distributed system is a collection of stand-alone
`
`computing machines (servers, client-PCs, etc.) that are connected through a
`
`network, such as the internet or a corporate intranet. One area of distributed
`
`                                                       
`1 Dickenson, P., “Methods and Apparatuses for File Synchronization and Updating Using a
`Signature List.” U.S. Patent No. 6,738,799, filed June 2, 2003, claiming priority to May 3, 1999.
`

`
`‐ 5 ‐ 
`
`Oracle Exhibit 1007
`
`

`


`
`system research which is of particular relevance to the ‘799 patent is commonly
`
`referred to as event-based notification.
`
`(13.)
`
`Generalized in the 1990s, event-based notification systems utilized a
`
`publish/subscribe mechanism to push notifications from a publisher to a subscriber
`
`regarding a specified event. In a publish/subscribe system, clients subscribe to
`
`events in which they are interested and, when that event occurs, the publisher (a
`
`server) notifies the subscribers with a notification message.2 The notification
`
`message lets subscribers know that the event occurred and may also contain
`
`arbitrary data, such as a document of interest that triggered the event notification.3
`
`For instance, by 1995, Stanford University had developed the SIFT system which
`
`automatically disseminated text documents (specifically, news articles) that
`
`matched the profile of a subscribed client.4 By 1996, the publish/subscribe push
`
`methodology was in widespread use and being used to automatically deliver web
`
`content (such as news headlines, weather forecasts, etc.) to subscribed clients.5
`
`The methodology was also being used during this time period to transparently
`
`deliver software updates to subscribed clients.
`
`                                                       
`2 Franklin, M. et al., “A Framework for Scalable Dissemination-Based System,” Proceedings of
`the 12th ACM SIGPLAN Conference on Object-oriented Programming, Systems, Languages, and
`Applications, 94-105, 96-97 (1997). (See A-2).
`3 Id. at 101-102, § 4.3.
`4 Id.; see also Yan, T.W., et al., “SIFT – A Tool for Wide-Area Information Dissemination,”
`Proceedings of the USENIX 1995 Technical Conference, 176-186 (1995). (See A-3).
`5 Franklin, M., et al., “Data In Your Face:” Push Technology in Perspective,” SIGMOD ’98
`Proceedings of the 1998 ACM SIGMOD International Conference on Management of Data, 516-
`519, 516 (June 1-4, 1998). (See A-4).
`

`
`‐ 6 ‐ 
`
`Oracle Exhibit 1007
`
`

`


`
`(14.)
`
`Developing in parallel to these advancements was a body of research
`
`regarding efficient mechanisms for synchronizing copies of files. The concept of
`
`constructing delta files was introduced into Unix in 1974 via the diff command that
`
`creates a set of differences between two text files (later versions supported binary
`
`files).6 The output of diff could then be used with the Unix patch command to
`
`update an old file by applying the generated differences to the out-of-date file.
`
`(15.)
`
`Differences were often constructed for synchronizing files saved at
`
`multiple locations across a network. For example, a master copy of a file may be
`
`located at a server (“computer A”), and a replica of the file may be saved at a client
`
`PC (“computer B”). When the master copy is updated, it does not make sense to
`
`transfer the entire new file to computer B. Rather, to conserver network resources,
`
`an efficient system would only transfer the differences between the new file and
`
`the old file to computer B.
`
`(16.)
`
`To address the efficiency issue, the “rsync algorithm” was developed
`
`by Andrew Tridgell and Paul Mackerras in 1996.7 The heart of the algorithm is the
`
`means to identify parts of the old and new files that are identical to one another and
`
`only transmit raw data for those parts of the new file that did not previously exist
`
`                                                       
`6 See, e.g., Hunt, J.W., et al., “An algorithm for differential file comparison,” Bell Laboratories
`Computing Science Technical Report #41, Abstract (July 1976) (describing the diff algorithm
`which “reports differences between two files, expressed as a minimal list of line changes to bring
`either file into agreement with the other”). (See A-5).
`7 Tridgell, A., et al., “The rsync algorithm,” The Australian National University Joint Computer
`Science Technical Report Series, TR-CS-95-05, 1-6 (June 1996). (See A-6).
`

`
`‐ 7 ‐ 
`
`Oracle Exhibit 1007
`
`

`


`
`in the old file. Following the scenario described above involving computers A and
`
`B, the rsync protocol operates as follows. Computer A and computer B at some
`
`point each have a copy of the same version of a file. At some later point, the file is
`
`updated on computer A, and the system must then update the same file on
`
`computer B. First, computer B is instructed to split its copy of the old file into a
`
`series of segments and to generate a table of checksums and location offsets for
`
`each segment.8 Checksums are simply unique identifiers (or signatures) generated
`
`for each segment of the file and used to compare segments of data to determine if
`
`the segment has changed. A change in the checksum related to a specific segment
`
`of data (otherwise known as a “signature mis-match”) indicates that the segment
`
`has changed in some way between file versions. Next, computer B transmits the
`
`generated checksums and offsets relating to computer B’s version of the file to
`
`computer A, which computer A then uses to search for any segment in the new file
`
`that matches the checksum for a segment in the old file.9 Once the comparison
`
`process is complete, computer A generates an update file that is a sequence of copy
`
`or insert commands.10 A copy command refers to a segment that existed in the old
`
`file and an insert command comprises new data for which there was no
`
`corresponding segment in the old version of the file. Lastly, computer A sends the
`
`                                                       
`8 Id. at 2.
`9 Id.
`10 Id.
`

`
`‐ 8 ‐ 
`
`Oracle Exhibit 1007
`
`

`


`
`update file to computer B, which allows computer B to generate a copy of the new
`
`file using the transmitted update file and its copy of the old file.11 Rsync rapidly
`
`became part of the Unix/Linux culture and was widely used in the computer
`
`science field.
`
`(17.)
`
`Further, by February 1999 at the latest, Tridgell had recognized
`
`rsync’s applicability to incremental backup systems.12 In this scenario, the entire
`
`rsync procedure used to generate an update file is carried out by a single computer,
`
`without the need for a second computer to initially send checksums for a reference
`
`file, as discussed above.13 Rather, the backup system stores the signature list
`
`associated with the last transmitted backup and compares this list to the current
`
`version of the file to generate a new delta file, which corresponds to all file
`
`changes carried out since the last backup procedure.14 In this manner, the backup
`
`system operates as a subscription server, maintaining a list of all updates
`
`transmitted to a backup medium and initiating the rsync algorithm after a given file
`
`has been updated since a previous transmission.
`
`                                                       
`11 Id.
`12 Tridgell, A., “Efficient Algorithms for Sorting and Synchronization,” Doctoral Dissertation
`Presented at the Australian National University, 92 (Feb. 1999). (See A-7).
`13 Id. at 92-93 (stating “that the backup system does not need to read the old file from tape [or a
`second computer] in order to computer the differences”).
`14 Id.
`

`
`‐ 9 ‐ 
`
`Oracle Exhibit 1007
`
`

`


`
`(18.)
`
`An earlier patent to Cane et al. (“Cane)15, describes an incremental
`
`backup system as envisioned by Tridgell. In Cane, a “changed block file” is
`
`transmitted from a first computer to a backup system (such as a tape drive) and
`
`includes raw data only for those segments of the file which have been added or
`
`modified since a previous backup procedure.16 Changed file segments are
`
`identified by comparing a signature list for the current version of the file with a
`
`signature list representative of the file prior to the last backup procedure.17 The
`
`“changed block file” can later be used to create a copy of the most current version
`
`of the file by replacing all blocks of data in the original file for which there is a
`
`corresponding block, as identified by location offset information, in the changed
`
`block file.18
`
`(19.)
`
`The “final frontier” for the push methodology (at least according to
`
`the patentee) was “electronic document delivery.19” Electronic document delivery
`
`simply entails generating and transmitting a difference-based update file “that
`
`permits the client computer to generate a copy of a current version of a
`
`subscription file from a copy of an earlier version of the subscription file.20” As
`
`                                                       
`15 Cane, D., et al., “High Performance Backup via Selective File Saving Which Can Perform
`Incremental Backups and Exclude Files and Uses a Changed Block Signature List,” U.S. Patent
`No. 5,765,173, filed January 11, 1996 and issued June 9, 1998. (See A-8).
`16 Id. at 1:50-56.
`17 Id. at 4:7-17.
`18 Id. at 4:40-57.
`19 ‘799 patent at 2:56-63. (Ex. 1001)
`20 Id. at 3:47-49.
`

`
`‐ 10 ‐ 
`
`Oracle Exhibit 1007
`
`

`


`
`shown by the discussion of relevant patents and articles below, the technique
`
`proposed by the patentee represents nothing more than a straightforward document
`
`push implementation of the systems described by Tridgell and Cane, which was
`
`pursued and accomplished by many before the Patent Owner.
`
`THE ‘799 PATENT
`
`(20.)
`
`The ‘799 patent describes a method for synchronizing files between a
`
`server and client computer using a publish/subscribe push methodology. The
`
`patent describes a “mobile update server” that tracks files for changes and, when a
`
`change is detected to a monitored file, the server pushes an update via e-mail to all
`
`interested clients.21 Interested clients are those that the server has determined do
`
`not have the latest version of the monitored file. The update pushed from the
`
`server to the client is a delta or update file, which contains copy commands for
`
`blocks of the file that have not changed and raw data for those portions of the file
`
`that have been modified or created since the last synchronization between server
`
`and client.22 The client uses the delta file, along with the previous version of the
`
`monitored file saved at the client, to construct a copy of the new version of the
`
`file.23
`
`                                                       
`21 Id. at 7:50-60.
`22 Id. at 3:58 - 4:22.
`23 Id. at 3:45-49.
`

`
`‐ 11 ‐ 
`
`Oracle Exhibit 1007
`
`

`


`
`(21.)
`
`The update file is generated using a standard differencing algorithm
`
`that compares a signature list for the most current version of the monitored file
`
`with an old signature list corresponding to the version of the file last transmitted to
`
`the client computer.24 The signature list is nothing more than a listing of unique
`
`identifiers, generated using known hashing or signature algorithm techniques25,
`
`which correspond to each segment of the file. The file must be broken into n
`
`number of fixed-sized segments to promote efficient file comparison. For
`
`example, if a 50 page document was only broken into 5 segments, then a change to
`
`one paragraph on the second page of the document would require 1/5 of the
`
`document to be transmitted as raw data in the update file. However, if that same
`
`document was broken into 100 or 1,000 segments, the granularity of the
`
`comparison is substantially finer and requires substantially less raw data to be
`
`transmitted in the update.
`
`DISCUSSION OF RELEVANT PATENTS AND ARTICLES
`
`(22.)
`
`I have been asked to consider the Balcha et al. patent (“Balcha”)26 and
`
`Miller patent (“Miller”)27, and whether a person of ordinary skill in the field would
`
`be inclined to combine the techniques of Balcha and Miller.
`
`                                                       
`24 Id. at 11:3-8.
`25 Id. at 8:18-28.
`26 Balcha, M., et al., “Method and System for Reflecting Differences Between Two Files,” U.S.
`Patent No. 6,233,589, filed July 31, 1998 and issued May 15, 2001. (Ex. 1003).
`27 Miller, W.A., “Automatic File Differencing and Updating System,” U.S. Patent No.
`5,832,520, filed Nov. 22, 1996 and issued Nov. 3, 1998. (Ex. 1004).
`

`
`‐ 12 ‐ 
`
`Oracle Exhibit 1007
`
`

`


`
`)
`(23.)
`
`
`
`Balchha describees a mechaanism for ssynchronizzing files onn two diffeerent
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`computers using aan update oor delta filee. In orderr to best unnderstand tthe mechannism
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`of Balch
`
`
`
`
`ha, referennce to Fig. 1 of the paatent is apppropriate.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Servers 22 and 244 each storee base filess 21 and 277, which arre initially
`
`
`
`
`
`
`one ano
`
`
`
`
`
`
`
`other.28 Filles 20 and 28 represeent base siggnature filees for base
`
`
`
`
`
`identical tto
`
`
`
`files 21 annd
`
`
`
`27, resppectively.299 The basee signature files 20 annd 28 compprise a “pluurality of bbit
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`segments ccreated forr
`
`
`
`patternss,” which aare CRC paatterns30, foor each n nnumber of
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`base filees 21 and 227.31
`
`
`
`)
`(24.)
`
`
`
`e, it is wortth noting thhat the prioor art patennts relied uupon
`
`
`
`brief aside
`
`As a
`
`
`
`
`
`
`in the p
`
`
`
`s “hash,” “e the termsriously used herein varetition andd described
`
`
`
`
`
`
`
`
`
`checksum,,” or
`
`
`
`
`
`
`
`CRC”) (soy-check (“Ccyclic-rredundancy
`
`
`
`metimes aalso MD4 oor MD5) too describe tthe
`
`
`
`
`
`
`
`ed during t
`specificc type of siggnature us
`
`
`
`
`
`
`
`
`the file commparison pprocess un
`
`
`
`derlying eaach
`
`
`
`hnical implhtly in techvary sligheach proceedure may
`
`
`
`
`
`
`patent. Although
`
`
`
`                                                       
`
`
`28 Ex. 10003 at 4:51-556.
`
`29 Id. at 44:56-60.
`30 Id. at
`8:19-24.
`
`31 Id. at 77:46-49.
`
`
`
`ementationn,
`

`
`‐ 13 ‐ 
`
`Oracle Exhibit 1007
`
`

`


`
`which is beyond the scope of the ‘799 patent, they each represent a specific
`
`technique which falls under the general umbrella of signatures known to a person
`
`of ordinary skill in the field. Moreover, the file comparison procedure claimed in
`
`the ‘799 patent may be implemented using “any one of a variety of hashing
`
`methods or signature algorithms” and, therefore, each procedure described in the
`
`prior art is compatible with the procedure described and claimed in the ‘799
`
`patent.32
`
`(25.)
`
`Continuing with the description of Balcha from above, at some later
`
`point in time, base file 21, for example, may be updated. Once updated, a new
`
`base signature file is created, compared to base signature file 20, and based upon
`
`the comparison, a delta file is created reflecting the differences between the base
`
`file and the revised file.33 The comparison process described by Balcha directly
`
`corresponds, and is indistinguishably different from, the signature list search
`
`process (for example, at step (a) of claim 1) described in the ‘799 patent. The
`
`generated delta file is then transmitted over communication link 26 to server 24
`
`where a copy of the revised file can be created using base file 27 and the delta
`
`file.34 In accordance with common practice, the delta file of Balcha includes raw
`
`data only for those segments of the revised base file that do not match a segment of
`
`                                                       
`32 Ex. 1001 at 8:18-28.
`33 Ex. 1003 at 3:7-11; see also 7:65 – 8:6.
`34 Id. at 4:61-67.
`

`
`‐ 14 ‐ 
`
`Oracle Exhibit 1007
`
`

`


`
`the base file, and excludes raw data for matching segments between the files.35
`
`Because base files 21 and 27 were initially maintained in a consistent state and
`
`should remain identical to one another, a change to either file indicates to the
`
`detecting server that the disclosed differencing process must be initiated.36
`
`Moreover, because the detecting server stores a local copy of the base signature
`
`file, it can generate the disclosed delta file without interaction with the receiving
`
`server.37 I also note that in the example shown at column 14 of Balcha the offsets
`
`on the delete and insert commands cause the skipped data bits to be carried over, or
`
`copied into the revised, updated file. In other words, the commands embedded in
`
`the delta file cause the unchanged bits to be effectively copied into the revised file.
`
`(26.)
`
`Just as in Balcha, Miller discloses a technique for generating and
`
`transmitting a DIFF file (which is synonymous with a delta file) between two
`
`computers such that the second computer can create a copy of the most up-to-date
`
`version of a given file using the DIFF file and the second computer’s copy of the
`
`previous version of that file.38 However, unlike Balcha, which does not specify a
`
`                                                       
`35 Id. at 13:47 - 14:18 (note that the delta file in the provided example only includes insert
`commands, which associated raw data, non-matching file segments).
`36 Id. at 4:52-67 (“Base files 21, 27 should be identical to one another and thus changes made to
`one copy should eventually be reflected in the other copy… Either base file 21 or 27 can be
`modified at either server. Upon detection of a modification to the file, the detecting server
`[initiates the discloses delta file generation technique]”); see also id. at 3:11-14 (“Once the base
`signature file is generated from the base file, the base file need not be accessed to generate the
`delta file reflecting the differences between the base file and the revised file”).
`37 Id.
`38 Ex. 1004 at 2:38-46.
`

`
`‐ 15 ‐ 
`
`Oracle Exhibit 1007
`
`

`


`
`specific communication link to transmit the delta file between first and second
`
`computers, Miller states that a delta file can be transmitted as a self-executing file
`
`via an electronic e-mail attachment.39 Further, Miller also states that a delta file
`
`can be transmitted by “any means by which a file can be communicated between
`
`computer system 1 and computer system 2, including a removable fixed
`
`medium…, or a communication medium such as an interoffice network, a
`
`telephone line, a bus, or the Internet.”40
`
`(27.)
`
`I believe that it is reasonable and entirely expected for a person of
`
`ordinary skill in this area to combine Miller’s approach of transmitting a DIFF file
`
`by executable e-mail attachment with Balcha’s technique for generating a delta
`
`file, and subsequently transmitting the delta file to a second computer. When
`
`combined in this fashion, once an update file is generated using Balcha’s
`
`technique, it would be transmitted to a second computer via executable e-mail
`
`attachment and, once opened, a replica of the up-to-date file would be created at
`
`the second computer. I believe that it would be reasonable and expected for a
`
`person of ordinary skill to combine these references for a variety of reasons. First,
`
`both Balcha and Miller are directed to techniques for synchronizing files between
`
`two computers using delta or DIFF files. Second, Balcha’s file synchronization
`
`technique is not reliant upon a specific communication mechanism to transport the
`
`                                                       
`39 Id. at 5:15-16; 5:35-39; 15:41-43.
`40 Id. at 5:9-15.
`

`
`‐ 16 ‐ 
`
`Oracle Exhibit 1007
`
`

`


`
`generated delta file between first and second computers. Balcha simply calls for
`
`the delta file to be transmitted across a general communication network41 which, as
`
`shown by Miller, can predictably be implemented by an e-mail mechanism.
`
`Similarly, the vast array of communication options detailed by Miller shows that
`
`such mechanisms are interchangeable and can be substituted for one another. In
`
`fact, even the ‘799 patent recognizes that when pushing updates from server to
`
`client, “the importance lies in the distinction between the data being delivered
`
`[e.g., content vs. software vs. document]; and not the delivery mechanism itself.42”
`
`Lastly, Balcha notes that it is an “object of the present invention to provide a
`
`method and system for reflecting the differences between two files that is highly
`
`efficient and reduces network traffic.43” Transmitting Balcha’s delta file via
`
`executable attachment over an e-mail network would reduce general network
`
`traffic and provide a motivation to combine the references.
`
`(28.) Miller also explicitly recognizes that update files, such as Miller’s
`
`DIFF file or Balcha’s delta file, can be used to efficiently transmit a wide array of
`
`file and object updates including, without limitation, software patches44 (i.e.,
`
`software updates) or general document updates45. As this was also ubiquitously
`
`known to a person of ordinary skill in the relevant field, it would be entirely
`                                                       
`41 Ex. 1003 at 4:52-54.
`42 Ex. 1001 at 2:52-55.
`43 Ex. 1003 at 2:48-50.
`44 Ex. 1004 at 1:42-44; 5:21-26.
`45 Id. at 5:21-26.
`

`
`‐ 17 ‐ 
`
`Oracle Exhibit 1007
`
`

`


`
`reasonable and expected for Balcha’s delta file generation technique to be used to
`
`provide software and document updates, as stated in Miller.
`
`(29.)
`
`I have also been asked to consider the Freivald et al. patent
`
`(“Freivald”)46 and whether the techniques and procedures discussed in Freivald
`
`could be combined with the techniques and procedures of Balcha and Miller.
`
`(30.)
`
`Freivald describes a “change-detection web server” for monitoring
`
`web page documents for changes and, when a change is detected to a monitored
`
`web page, the server sends a notification message to registered clients that the web
`
`page has been updated.47 In particular, Freivald states that he has developed
`
`a software tool which automatically retrieves files and compares the
`retrieved files to an archived checksum of the file to determine if a
`change in the file has occurred. When a change is detected, the user is
`notified by an electronic mail message (e-mail). A copy of the new
`file may be attached to the e-mail notification, allowing the user to
`review the changes.48
`
`
`Freivald goes on to state that the disclosed change-detection web server performs
`
`three basic functions. First, the server registers web pages for change detection by
`
`accepting subscription requests from a client computer.49 The client specifies
`
`which portions of the web page it wants the server to track and then the server
`
`breaks that portion of the web page into segments and generates a unique signature
`                                                       
`46 Freivald., M.P., et al., “Change-Detection Tool Indicating Degree and Location of Change of
`Internet Documents by Comparison of Cyclic-Redundancy-Check (CRC) Signatures,” U.S.
`Patent No. 5,898,836, filed Jan. 14, 1997 and issued April 27, 1999. (Ex. 1005).
`47 Id. at Abstract.
`48 Id. at 6:24-31.
`49 Id. at 7:3-5.
`

`
`‐ 18 ‐ 
`
`Oracle Exhibit 1007
`
`

`


`
`for each segment using the cyclic-redundancy-check (CRC) hashing technique.50
`
`Second, the server periodically re-fetches each registered web-page and creates a
`
`new set of CRCs for each segment of the re-fetched page.51 To determine how the
`
`web page has changed, the server compares this new set of CRCs with the
`
`previously archived set of CRCs and, if the CRCs for equivalent segments do not
`
`match, this indicates that those segments of the web page have been updated.52
`
`Third, the server sends an e-mail notification to the client indicating that the page
`
`has changed.53 The notification may include an attached copy of the new file, an
`
`indication of a specific section of the document that has changed, information as to
`
`the extent of changes in the document, and/or a listing of changes.54 After the
`
`client initially specifies all web pages that it wants the server to monitor, the server
`
`operates completely independent from the client.55
`
`(31.)
`
`Before performing the CRC comparison procedure discussed above,
`
`an efficiently designed system would first perform an initial version check on the
`
`monitored web page to universally determine if the page was altered before
`
`proceeding with a detailed segment comparison process. As recognized by
`
`Freivald, one of the most common techniques for performing a universal version
`
`                                                       
`50 Id. at 5-15.
`51 Id. at 7:35-39.
`52 Id.; see also id. at 13:22-27.
`53 Id. at 7:40-47.
`54 Id. at 6:27-31; 12:25-32; 13:37-40.
`55 Id. at 7:25-29.
`

`
`‐ 19 ‐ 
`
`Oracle Exhibit 1007
`
`

`


`
`check involves the comparison of time stamp data at periodic intervals.56 In this
`
`manner, the change-detection server periodically polls and records version time
`
`stamp data for a monitored web page. If the web pages time stamp has changed
`
`since the server last polled the page, this indicates that an update may have
`
`occurred. Alternatively, rather than the server periodically polling monitored web
`
`pages an

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