`
`
`
`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. Further, I have reviewed the
`
`Patent Owner’s preliminary response filed against Oracle’s first petition regarding
`
`the ‘799 patent (IPR2013-00073, paper 7) and the Patent Office’s Decision
`
`Instituting Inter Partes Review against the claims challenged in Oracle’s first
`
`petition (IPR2013-00073, paper 8).
`
`
`
`
`
`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
`
`
`
`
`
`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
`
`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
`
`
`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.
`
`
`
`‐ 6 ‐
`
`Oracle Exhibit 1007
`
`
`
`
`
`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.
`
`(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 conserve network resources,
`
`
`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 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 ‐
`
`Oracle Exhibit 1007
`
`
`
`
`
`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
`
`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
`
`
`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).
`8 Id. at 2.
`
`
`
`‐ 8 ‐
`
`Oracle Exhibit 1007
`
`
`
`
`
`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
`
`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
`
`9 Id.
`10 Id.
`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”).
`
`
`
`‐ 9 ‐
`
`Oracle Exhibit 1007
`
`
`
`
`
`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.
`
`(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
`
`
`14 Id.
`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.
`
`
`
`‐ 10 ‐
`
`Oracle Exhibit 1007
`
`
`
`
`
`(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
`
`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
`
`
`19 ‘799 patent at 2:56-63. (Ex. 1001)
`20 Id. at 3:47-49.
`21 Id. at 7:50-60.
`
`
`
`‐ 11 ‐
`
`Oracle Exhibit 1007
`
`
`
`
`
`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.)
`
`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.
`
`
`
`
`22 Id. at 3:58 - 4:22.
`23 Id. at 3:45-49.
`24 Id. at 11:3-8.
`25 Id. at 8:18-28.
`
`
`
`‐ 12 ‐
`
`Oracle Exhibit 1007
`
`
`
`
`
`DISCUSSION OF RELEVANT PATENTS AND ARTICLES
`
`(22.)
`
`For purposes of Oracle’s second petition against the ‘799 patent, I
`
`have been asked to provide a summary of the technological state of the art leading
`
`up to the filing of the ‘799 patent (above), to consider the teachings of the Ross
`
`Neil Williams patent (“Williams”),26 and describe the teachings of that patent as it
`
`would have been understood by a person of ordinary skill in the art at the time of
`
`the alleged invention of the ‘799 patent.
`
`(23.)
`
`As set forth in my first declaration, Williams describes a technique for
`
`synchronizing files between two computers using an “incremental backup file.”27
`
`Williams describes a technique wherein an old and new file are segmented, 28 each
`
`segment of the old and new file are compared to one another using a signature list29
`
`and, based upon the comparison, an update file (which contains raw data for new
`
`or modified segments and indices to unchanged segments) is generated and
`
`transmitted to the second computer. 30 The second computer uses the update file
`
`and its copy of the old file to generate a replica of the new file stored at the first
`
`computer.31
`
`
`26 Williams, R.N., “Method for Partitioning a Block of Data into Subblocks and for Storing and
`Communicating Such Subblocks,” U.S. Patent No. 5,990,810, with a stated 102(e) date of
`August 15, 1997 and issued November 23, 1999. (Ex. 1006).
`27 Id. at 19:29-33.
`28 Id. at 1:61-64; 19:35-40.
`29 Id. at 15:65 - 16:9, 19:45-53.
`30 Id. at 19:52 - 20:5; 21:5-11.
`31 See, e.g., id. at Fig. 25.
`
`
`
`‐ 13 ‐
`
`Oracle Exhibit 1007
`
`
`
`
`
`(24.)
`
`Figure 25 of Williams, reproduced below, provides a graphic
`
`overview of the file synchronization system described therein.
`
`
`
`First, using traditional methods for determining if a file has changed, such as, for
`
`example, periodic modification-time or back-up-time comparisons, the system of
`
`Williams determines whether to initiate a backup procedure.32 Williams also
`
`teaches that a first hash of the entire file can be compared between file versions to
`
`determine if the file has changed at all before initiating the process for generating
`
`an incremental backup file.33 Second, computer E1 compares the signature list
`
`(i.e., “hashes of subblocks”) for old file Y with the signature list for new file X.
`
`From the comparison, incremental backup file D is generated. After D is
`
`transmitted to computer E2, E2 uses its copy of old file Y and the instructions
`
`
`32 Id. at 22:10-14.
`33 Id. at 21:36-38.
`
`
`
`‐ 14 ‐
`
`Oracle Exhibit 1007
`
`
`
`
`
`accompanying file D (e.g., insert and copy commands) to generate and save a copy
`
`of new file X at E2.
`
`(25.)
`
`For explanatory purposes, I have created the following illustration of
`
`the incremental backup file D, and the instructions that are provided therein:
`
`Insert New Segment
`Copy Segment 1 from Y
`Insert New Segment
`Copy Segment 6 from Y
`Insert New Segment
`Copy Segment 2 from Y
`Insert New Segment (same data as first insert command)
`
`
`
`
`(D)
`
`
`
`
`
`
`
`Following these instructions results in a copy of X being created at E2.
`
`
`
`
`
`
`
`
`
`+
`
`=
`
`
`
`(Y)
`
`(D)
`
`(X)
`
`(26.)
`
`I have been informed that “a person of ordinary skill in the relevant
`
`field” is a hypothetical person to whom an expert in the relevant field could assign
`
`a routine task with reasonable confidence that the task would be successfully
`
`carried out. I have been informed that the level of skill in the art is evidenced by
`
`
`
`‐ 15 ‐
`
`Oracle Exhibit 1007
`
`
`
`
`
`the prior art references. The prior art discussed herein demonstrates that a person
`
`of ordinary skill in the field, at the time the ‘799 patent was effectively filed, was
`
`aware of publish/subscribe (push) mechanisms and techniques for replicating or
`
`synchronizing files between two computers.
`
`(27.)
`
`Based on my experience I have an understanding of the capabilities of
`
`a person of ordinary skill in the relevant field. I have supervised and directed
`
`many such persons over the course of my career. Further, I had those capabilities
`
`myself at the time the patent was filed.
`
`(28.)
`
`In proceedings before the USPTO, I understand that the claims of an
`
`unexpired patent are to be given their broadest reasonable interpretation in view of
`
`the specification from the perspective of one skilled in the field. I have been
`
`informed that the ‘799 patent has not expired. In comparing the claims of the ‘799
`
`patent to the known prior art, I have carefully considered the ‘799 patent, and the
`
`‘799 patent file history based upon my experience and knowledge in the relevant
`
`field. In making this comparison, I have also applied the claim term definitions set
`
`forth by the Patent Office in its Order instituting inter partes review against the
`
`‘799 patent in IPR2013-00073.
`
`(29.)
`
`I am informed that the ‘799 patent is a continuation of Patent
`
`Application No. 09/303,958, filed May 3, 1999. I am further informed that this
`
`means that the ‘799 patent is considered to have been filed May 3, 1999 for
`
`
`
`‐ 16 ‐
`
`Oracle Exhibit 1007
`
`
`
`
`
`purposes of determining whether a reference constitutes prior art. Thus, a
`
`reference qualifies as prior art if it disclosed or suggested the claimed invention of
`
`the ‘799 patent prior to May 3, 1999.
`
`(30.)
`
`I have been informed that claims may be found invalid as anticipated.
`
`I understand this to mean that a claim is invalid if there is a single prior art
`
`reference that discloses each limitation of the claim either expressly or inherently.
`
`I understand a limitation to be inherently disclosed if it is necessarily present in the
`
`reference.
`
`(31.)
`
`I have also been informed that a patent claim can be found
`
`unpatentable as obvious where the differences between the subject matter sought to
`
`be patented and the prior art are such that the subject matter as a whole would have
`
`been obvious at the time the invention was made to a person having ordinary skill
`
`in the relevant field. I understand that an obviousness analysis involves a
`
`consideration of (1) the scope and content of the prior art; (2) the differences
`
`between the claimed invention and the prior art; (3) the level of ordinary skill in
`
`the pertinent field; and (4) secondary considerations of non-obviousness.
`
`(32.)
`
`In connection with the above, I have reviewed, had input into, and
`
`endorse the claim charts in the accompanying petition showing that each element
`
`of claims 12, 30, and 42 are disclosed by Williams from the perspective of a person
`
`of ordinary skill in the field.
`
`
`
`‐ 17 ‐
`
`Oracle Exhibit 1007
`
`
`
`(33.)
`
`For my efforts in connection with the preparation of this declaration I
`
`have been compensated at my standard hourly rate for this type of consulting
`
`activity. My compensation is in no way contingent on the results of these or any
`
`other proceedings relating to the above-captioned patent.
`
`(34.)
`
`I hereby declare that all statements made herein of my own
`
`knowledge are true and that all statements made on information and belief are
`
`believed to be true; and fisrther that these statements were made with the
`
`knowledge that willful false statements and the like so made are punishable by fine
`
`or imprisonment, or both, under Section 1001 of Title 18 of the United States Code
`
`and that such wilifui false statements may jeopardize the results of these
`
`proceedings.
`
`Date: mfléq 4 {592634 i
`
`ég 2 .3
`
`Dr Andrew Grimshaw Ph. D.
`
`- 18 _
`
`Oracle Exhibit 1007
`
`Oracle Exhibit 1007
`
`
`
`GRIMSHAW DECLARATION APPENDIX LIST
`
`
`
`
`
`Curriculum Vitae of Dr. Andrew Grimshaw, Ph.D.
`
`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(1997).
`
`Yan, T.W. et al.,“SIFT – A Tool for Wide-Area Information
`Dissemination,” Proceedings of the USENIX 1995 Technical
`Conference(1995).
`
`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
`(June 1-4, 1998).
`
`Hunt, J.W., et al., “An algorithm for differential file
`comparison,”Bell LaboratoriesComputing Science Technical
`Report #41(1976).
`
`Tridgell, A. et al., “The rsync algorithm,”The Australian
`National University Joint Computer Science Technical Report
`Series, TR-CS-95-05(June 1996).
`
`Tridgell, A., “Efficient Algorithms for sorting and
`synchronization,”Doctoral Dissertation Presented at The
`Australian National University(Feb. 1999).
`
`Cane 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(June 9, 1998), filed January 11, 1996.
`
`
`
`
`A-1
`
`A-2
`
`
`A-3
`
`
`A-4
`
`
`A-5
`
`
`A-6
`
`
`A-7
`
`
`A-8
`
`
`
`
`
`
`
`
`Andrew S. Grimshaw
`
`I. Personal and Professional Information
`
`Education
`Ph.D. in Computer Science, University of Illinois at Urbana-Champaign, 1988.
`M.S. in Computer Science, University of Illinois at Urbana-Champaign, 1986.
`B.A. in Political Science and Economics, University of California San Diego, 1981.
`Work Experience
`Chairman of the Board, The Open Grid Forum (OGF), 2012-
`Co-Chief Architect, NCSA-led eXtrem Science and Engineering Discovery
`Environment (XSEDE) project 2011-
`Chief Architect, NCSA-led eXtrem Science and Engineering Discovery Environment
`(XSEDE) proposal team (2009-2010)
`Director, University of Virginia Alliance for Computational Science and Engineering
`(UVACSE), 2008-
`Founder and Chief Technical Officer, Avaki Corporation, (known as Applied
`MetaComputing until 2001), 1999-2005.
`Chairman of the Board, Avaki Corporation, 1999-2003.
`Professor, Department of Computer Science, University of Virginia, 1999-present.
`Associate Professor, Department of Computer Science, University of Virginia, 1994-
`1999.
`Assistant Professor, Department of Computer Science, University of Virginia, 1988-
`94.
`Visiting Assistant Professor, Department of Computer Science, University of Illinois
`at Urbana-Champaign, 1988.
`Research Assistant, University of Illinois, at Urbana-Champaign, under Dr. Jane
`W.S. Liu, 1985-88.
`Research Assistant, University of Illinois at Urbana-Champaign, under Dr. A.B.
`Baskin, 1984-85.
`Systems Programmer, Austrian Philips GmbH, Vienna, Austria, 1983.
`Vice President-Engineering, Software Products International, 1982.
`Section Head-Systems Programming, Software Products International, 1981-82.
`Programmer/Project Leader, Software Products International, 1980.
`Consulting
`Avaki Corporation
`NASA
`Hogan & Hartson LLP
`Sybase
`Baker & Hostetler
`Professional Society Memberships
`Open Grid Forum
`IEEE
`
`Oracle Exhibit 1007 - Appendix A-1
`Page 1
`
`
`
`II. Professional Activities
`
`Editorships and Program Committees
`PC, 12th workshop on Job Scheduling Strategies for Parallel Processing (JSSPP-12)
`General Chair, Grid 2006
`PC HPC 2006
`PC PPoPP 2006
`General Chair, HPDC 14
`Program Co-Chair, PPoPP, 2005.
`Workshop on Adaptive Grid Middleware (AgridM2003 held in conjunction with the
`12th International Conference on Parallel Architectures and Compilers Techniques
`Grid 2003
`Global Grid Forum 8.
`CCCGrid 2002, 2003, 2004
`Reflection 2001
`IPDPS 2001
`SC’2000 Technical Papers Committee, 2000
`SC’99 Technical Papers Committee, 1999
`SC ’98 Tutorials Committee, 1998
`Associate Editor, IEEE Transactions on Parallel and Distributed Systems, 1997
`Heterogeneous Computing Workshop Program Committee, 1996
`Frontiers of Massively Parallel Computation Program Committee, 1996, 1997
`International Conference on Configurable Distributed Systems, 1996
`Program Chair, Symposium on High Performance Distributed Computing (HPDC-4),
`1995
`Program Vice-Chair, 15th International Conference on Distributed Computing
`Systems, 1995
`Steering Committee Symposium on High Performance Distributed Computing, 1993-
`2000
`Program committee for Symposium on High Performance Distributed Computing,
`1993-2003
`Seventh Scalable High Performance Computing Conference, 1992
`Symposium on High Performance Distributed Computing (HPDC-1), 1992
`Minnowbrook Workshop on Software Engineering for Parallel Computing, 1992
`11th International Conference on Distributed Computing Systems, 1991
`11th Real-Time Systems Symposium, 1990
`Professional Panels and Working Groups
`NSF Advisory Committee on Cyber-Infrastructure (ACCI) Task Force on Campus
`Bridging
`Open Grid Forum OGSA, OGSA-BES, WS-Naming working groups
`I3C Technical Advisory Board, 2003 - 2004
`Open Grid Forum Steering Committee, 1999-present