throbber
UNITED STATES PATENT AND TRADEMARK OFFICE
`
`____________
`
`BEFORE THE PATENT TRIAL AND APPEAL BOARD
`
`____________
`
`UNIFIED PATENTS, INC.
`SAP AMERICA INC.
`Petitioners
`v.
`CLOUDING IP, LLC
`Patent Owner
`____________
`Case IPR2013-000586
`Case IPR2014-00306
`Patent 6,738,799
`____________
`
`
`
`DECLARATION OF PRASANT MOHAPATRA, PH.D.
`
`
`
`
`
`Unified  Patents  et  al.  v.  Clouding  IP  
`IPR2013-­‐00586  IPR2014-­‐00306  
`CLOUDING  Ex.  2009  Page  1    
`
`  
`
`
`
`  
`
`

`

`I, PRASANT MOHAPATRA, Ph.D. declare:
`
`1.
`
` In 1987, I earned the B.S. degree in Electrical Engineering from the
`
`National Institute of Technology in Rourkela, India. In 1989, I earned a M.S.
`
`degree in Mathematics from The University of Rhode Island and in 1993, I
`
`earned a Ph.D. degree in Computer Engineering from The Pennsylvania State
`
`University.
`
`2.
`
` From 2009 to 2013, I was the Tim Bucher Family Endowed Chair,
`
`University of California, Davis, CA.
`
`3.
`
`From 2007 to 2013, I was the Chair of the Computer Science
`
`Department, University of California, Davis, CA.
`
`4.
`
`From 2003 to present I have been a professor at the Computer Science
`
`Department, University of California, Davis, CA.
`
`5.
`
`From 2013 to present, I am serving as the Interim Vice-Provost and the
`
`Chief Information Officer (CIO) of UC Davis.
`
`6.
`
`I am a fellow of the American Association for the Advancement of
`
`Science (AAAS) and Institution of Electrical and Electronics Engineers (IEEE).
`
`7.
`
`I have taught computer science classes at the undergraduate and graduate
`
`levels, as well as supervised research at the undergraduate, graduate and doctoral
`
`
`
`2  
`
`
`
`
`
`

`

`levels. A copy of my curriculum vitae, which details my experience that is
`
`relevant to these proceedings, is included as Exhibit 2010.
`
`
`
`I. Materials and Information Provided To Me and Level of
`
`Ordinary Skill in the Art.
`
`8.
`
`In connection with the preparation of this declaration I have read and
`
`understood U.S. Patent 6,739,799 (the ‘799 Patent) as well as Unified Patent’s
`
`Petition for Inter Partes Review and the exhibits cited therein, including the
`
`Declaration of Dr. Hutchinson, the Patent Owner’s Preliminary Responses, the
`
`Patent Trial and Appeal Board’s Decision Instituting the Inter Partes Review
`
`proceeding, and the transcript of Dr. Hutchinson’s deposition, taken May 2,
`
`2014. I have also reviewed and agree with the rationale set forth in the Patent
`
`Owner’s Contingent Motion to Amend.
`
`9.
`
`I am advised that the Unified Patents IPR 2013-00586 has been joined
`
`with IPR2014-00306 filed by SAP America Inc. and understand that the SAP
`
`proceeding was instituted on the same grounds and references as the Unified
`
`Patents IPR. I further understand that SAP America is no longer relying on the
`
`declaration by Dr. Grimshaw in IPR2014-00306.
`
`10.
`
`
`
`
`
`3  
`
`
`
`
`
`

`

`11.
`
`I am advised that “a person of ordinary skill in the art” 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 completed. At the
`
`time of the invention of the ‘799 Patent, it is my opinion that a person of
`
`ordinary skill in the art would have knowledge of techniques to synchronize
`
`files between two computers, which techniques involve exchanging only
`
`differences that exist between the subject files. For example the person of
`
`ordinary skill in the art would likely be aware of the rsync algorithm, developed
`
`by Trigdale and Mackerras in 1996. The rsync algorithm privided a mechanism
`
`for updating a file on one computer to be identical to a file on another
`
`computer. Andrew Trigdale and Paul Mackerras, “The rsync algorithm”, The
`
`Australian National University Joint Computer Science Technical Report
`
`Series, TR-CS-95-05 (June 1996) (Ex. 1015). To accommodate low-bandwidth
`
`communication links connecting the two computers, rsync identified portions
`
`of the file that were the same on each computer and exchanged only differences
`
`therebetween. Id. at p. 1. To identify the differences between the files, rsync
`
`requires a receiving computer to send a transmitting computer, representations
`
`of blocks of the version of the file stored by the receiving computer. The
`
`transmitting computer compares these representations to representations of
`
`
`
`
`
`4  
`
`
`
`

`

`blocks of the file stored by the transmitting computer. Based on these
`
`comparisons, the transmitting computer sends the receiving computer those
`
`blocks of its file that did not have matching blocks in the receiving computer’s
`
`version of the file along with information for how to merge those blocks into
`
`the receiving computer’s version of the file. Id. at p. 2. For blocks where the
`
`transmitting computer did find a match in the receiving computer’s version of
`
`the file, the transmitting computer sends references to those blocks to the
`
`receiving computer. Id. The receiving computer uses its version of the file along
`
`with the references to matching blocks, raw missing blocks, and instructions for
`
`merging the raw missing blocks sent by the transmitting computer to updates
`
`its copy of the file. Id. at pp. 1-2. Based on my experience, I have an
`
`understanding of the capabilities of a person of ordinary skill in the relevant
`
`field and have supervised and directed many such persons over the course of my
`
`career. Further, I had those capabilities myself at the time the ‘799 Patent was
`
`filed.
`
`
`
`
`
`
`
`
`
`5  
`
`
`
`
`
`

`

`II. Overview of U.S. Patent 6,738,799
`
`12. The ‘799 Patent describes systems and methods for generating update
`
`files that permit a computer to generate a current version of a file from a copy
`
`of an earlier version thereof. Ex. 1001 at Abstract; col. 3, ll. 45-49. To facilitate
`
`this process, files are segmented and each segment is represented by a signature.
`
`Id. at col. 8, ll. 7 et seq. Signatures are representations of variable length
`
`segments of a subject file, which representations serve to identify the segments
`
`from which they are determined. Id. at Fig. 4; col. 8, ll. 18-20, 29-54.
`
`Differences between a current version of a file and an earlier version thereof are
`
`determined using these signatures. See, e.g., Id. at 10:5-14. Based on these
`
`differences, an update file is constructed. Id. at col. 10:66 – 11:50. The update
`
`file includes instructions (e.g., copy, insert) for a recipient computer to
`
`construct the current version of the subject file from its earlier version thereof
`
`and data included in the update file. Id. and see Fig. 11 (reproduced here).
`
`Once created, the update file is provided to the recipient computer, for example
`
`via email. Id. at 11:51-52.
`
`13.
`
`Importantly, for purposes of the present proceedings, one of the
`
`instructions included in the update file is a “command . . . to copy an old
`
`segment of the [receiving] computer’s copy of the earlier version of the file into
`
`
`
`
`
`6  
`
`
`
`

`

`the [receiving] computer’s copy of the current version of the file.” Id. at Claim
`
`1, 14:53-57; Claim 23, 16:61-65. Examples of
`
`such commands are illustrated in Fig. 11.
`
`Therefore, steps (b) in Claims 1, 12, 23, and 30 are
`
`properly understood as reciting the requirement of
`
`writing in the update, an instruction that causes
`
`the second computer to duplicate information or data from an old segment of
`
`the second computer’s copy of the earlier version of the file into the second
`
`computer’s copy of the current version of the file, wherein the old segment
`
`corresponds to the segment for which a match was detected in step (a).
`
`
`
`III. Analysis with Respect to Balcha.
`
`14. Claims 37 and 42 recite “determining whether the second computer has
`
`a latest version of a file . . . [and] generating an update[] if the second computer
`
`does not have a latest version of the file.” Ex 1001 at 18:32-37 and 18:56-19:7.
`
`In my opinion, Balcha fails to teach such features.
`
`
`
`7  
`
`
`
`
`
`

`

`15. Balcha discloses sharing changes between two base files wherein a change
`
`to a first version of the base file indicates that a second version of the same base
`
`file is now not the same as the first version of the base file. Ex. 1003 at 4:52-67.
`
`As explained by Balcha with reference to Figure 1, provided above:
`
`
`
`Each of servers 22 and 24 maintain a copy of a base
`file 21, 27, respectively and are interconnected via a
`network 26. 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. A base signature
`file, as described in more detail herein, is generated
`on one of the servers 22, 24 and copied to the other
`server. The base signature file is maintained on server
`22 as file 20, and maintained on server 24 as file 28.
`Either base file 21 or 27 can be modified at either
`server.
`
`
`
`8  
`
`
`
`
`
`

`

`Upon detection of a modification to the file,
`the detecting server, for example server 22, uses the
`respective base signature file, for example, base
`signature file 20, to generate a new delta file, and
`communicates the delta file over network 26 to
`server 24. Server 24 then uses the delta file to update
`the base file 27, and recalculates the base signature
`file 28.
`
`Id. at 4:52-67, emphasis added.
`
`16. Thus, Balcha discloses detecting a modification to the file without regard
`
`to whether the modified file is, indeed, the latest version of the file. When a
`
`modification of base file 21 is detected by server 22, server 22 generates a new
`
`delta file and communicates that delta file to server 24, which then proceeds to
`
`modify base file 27 using the delta file. However, the detection of the
`
`modification of base file 21 is in no way related to, or dependent upon, a
`
`determination that base file 21 is the latest version of the base file. Instead,
`
`Balcha only discloses detecting whether a base file has been modified, regardless
`
`of when that modification may have occurred relative to other copies of the
`
`same base file.
`
`17. Consider, for example, situations in which base file 27 has been modified
`
`more recently than base file 21 and, as a consequence, base file 27 is the latest
`
`
`
`
`
`9  
`
`
`
`

`

`version of the file. If a modification of base file 21 is detected, Balcha will
`
`perform the updating of base file 27 to be consistent with base file 21 even
`
`though base file 27 is the latest version of the file. In such a circumstance, the
`
`“updating” of Balcha will serve to inappropriately overwrite the modifications
`
`made to base file 27 and adversely modify the latest version of the base file (i.e.,
`
`base file 27) to an older version of the base file (i.e., base file 21). Such a
`
`circumstance is all the more likely in Balcha because “[b]ase files 21, 27 should
`
`be identical to one another and thus changes made to one copy should
`
`eventually be reflected in the other copy.” Ex. 1003 at 4:54-56 (emphasis
`
`added). The probability of an inappropriate file update occurring when using
`
`Balcha’s file synchronization approach may increase as the system scales. The
`
`method and computer readable program code of claims 37 and 42, respectively
`
`avoids problems such as the inappropriate file updating by determining
`
`whether the second computer has a latest version of a file and, in this way,
`
`establishes that the latest version of the file will not be overwritten by changes
`
`to a file that occurred previously to the changes of the latest version of the base
`
`file simply because the files are not the same (i.e., one of the files has been
`
`modified).
`
`
`
`10  
`
`
`
`
`
`

`

`18.
`
`In my opinion, Balcha further fails to teach, “writing a command in the
`
`update for the second computer to copy an old segment of the second
`
`computer's copy of the earlier version of the file into the second computer's
`
`copy of the current version of the file.”
`
`19. A plain meaning reading of this requirement demands that a command to
`
`copy be written in the update that is used by the second computer to generate a
`
`copy of the current version of the file. As illustrated in Figure 3, reproduced
`
`here, Balcha, describes a
`
`scheme for reflecting the
`
`differences between two files
`
`(a base file and a revised file),
`
`within a so-called “delta file.”
`
`In particular, the delta file is
`
`created based on a
`
`comparison of a base
`
`signature file (which represents the base file), a revised signature file (which
`
`represents the revised file) and the revised file itself. Ex. 1003 at col. 7, l. 46 –
`
`col. 8, l. 6.
`
`
`
`11  
`
`
`
`
`
`

`

`20. Conveniently, Balcha provides examples of a base file, a base signature
`
`file, a revised file, a revised signature file and a resulting delta file. One such
`
`example, taken from col. 13, ll. 50 et seq., is reproduced below.1
`
`
`As shown, the delta file incudes certain “primitives,” which can be used to
`
`generate a copy of the revised file from the delta file. Specifically, Balcha uses
`
`primitives for “insert,” “modify,” and “delete.” Id. at col. 3, ll. 55-56. The
`
`operation of these primitives is explained, with reference to the above example,
`
`at col. 14, ll. 5-19:2
`
`                                                                                                                
`
`1 In this example, “the periods used to delineate certain characters are not part
`
`of the file itself, and are used merely to illustrate certain logical distinctions
`
`between groups of characters.” Ex. 1003 at col. 13, ll. 40-42.
`
`2 In this exposition, the “⌃” character indicates the position of a pointer in the
`
`base file at which the corresponding primitive is applied. Id. at col. 13, l. 65 –
`
`col. 14, l. 1.
`
`
`
`12  
`
`
`
`
`
`

`

`
`As shown in this example, the delta file requires that the base file
`
`(ABCDE.FGHIJ.KLMNO.PQRST.UVWXY.Z) be first modified by inserting,
`
`at a position 5 characters from the initial pointer position, a 3-character string,
`
`“XYZ.” Next, beginning at the then-current pointer position, a 5-character
`
`string is deleted. Id., at 14:5-19. Thereafter, and beginning at a location 5
`
`characters from the then-current pointer position, a 6-character string,
`
`“PAABST” is inserted. Id. Finally, the pointer position is advanced 5 characters
`
`and a 5-charater string is deleted. Id. In this way, a new version of the old file is
`
`created wherein new data is added to the old version of the file via the “insert”
`
`primitive, undesired data is deleted from the old version of the file via the
`
`“delete” primitive, and data within the old version of the file is modified via the
`
`“modify” primitive. Id.
`
`21. Thus, in the Balcha process, data within the old version of the file that is
`
`not modified or deleted remains in the new version of the file with no need to
`
`copy that information from the old version of the file to the new version of the
`
`
`
`
`
`13  
`
`
`
`

`

`file. Consequently, Balcha has no need for and does not write a copy
`
`“primitive” (or any other instruction) into the delta file to effect the copying of
`
`data from the old version of the file into the new version of the file. By avoiding
`
`the use of a copy command, Balcha necessarily reduces the number of bytes
`
`needed to convey information in the difference file. Predictably then, Balcha
`
`neither teaches nor suggests writing such a command or other instruction for
`
`duplication into the delta file.
`
`22.
`
`I disagree with Dr. Hutchinson’s conclusion that Balcha “effectively
`
`copies” over any bits from an old version of a file to a revised version of the file.
`
`Instead, the old file is converted to the revised file directly through execution of
`
`the insert and delete instructions included in the delta file. No copying (or
`
`effective copying) or other duplication of this kind is performed or required
`
`because the revised version of the file is itself directly produced from the old
`
`version of the file and the difference file and anything not deleted from, or
`
`modified within, the old version of the file remains in the revised version of the
`
`file. Ex. 1003 at 13:64 – 65.
`
`23. Miller (U.S. Patent 5,832,520) (Ex. 1004) describes a procedure for
`
`revising large computer files using “difference files” or DIFF files – i.e., files
`
`containing indications of the differences between the large computer files and a
`
`
`
`
`
`14  
`
`
`
`

`

`preexisting computer file. Ex. 1004 at col. 1, ll. 10-15. An overview of that
`
`process is illustrated in Miller’s Figure 1, shown here.
`
`
`
`24. Miller’s DIFF file includes primitives for “copy,” “insert,” and
`
`“insert/copy” operations, which impart directives for handling stings that
`
`appear in new and old copies of the subject file. See, e.g., Ex. 1004 at Fig. 5A.
`
`Importantly, from Miller’s perspective, the DIFF file must indicate changes
`
`between the old file and the new file in a minimum number bytes so that the
`
`DIFF file is the smallest such file possible. Id. at col. 2, ll. 21-24, 31-33. Failing
`
`to use a file that was as small as possible would defeat Miller’s very objective.
`
`Accordingly, in any combination of Balcha and Miller, it would be natural for a
`
`
`
`
`
`15  
`
`
`
`

`

`person of ordinary skill in the art to adopt the Balcha approach, and eliminate
`
`the need for a copy command. Doing so would be in line with the stated goals
`
`of both cited references and indeed one would imagine the goal of the
`
`hypothetical person of ordinary skill inasmuch as reducing the number of bytes
`
`required in the difference file would save on transmission costs. Cf. Ex. 1004 at
`
`col. 1, ll. 65-67 (noting that even compression schemes which reduce file sizes
`
`of up to 40% may still leave resulting files that represent substantial
`
`transmission costs for distributers of those files). There would be no logical
`
`rational for a skilled artisan to employ the opposite approach and add the
`
`“copy” primitive of Miller to the process of Balcha because execution of the
`
`“copy” primitive within the process of Balcha would require the coping of data
`
`into the updated file that was already included within the file, thereby causing
`
`redundant data to be unnecessarily and illogically added to the updated version
`
`of the file. Such redundancy would necessarily increase the memory and
`
`processing costs associated with the storage and processing of the revised file, a
`
`concept inapposite to both Balcha and Miller.
`
`25. With respect to the proposed combination of Balcha and Frievald, I note
`
`that claims 37 and 42 each recite “determining whether the second computer
`
`has a latest version of a file . . . [and] generating an update[] if the second
`
`
`
`
`
`16  
`
`
`
`

`

`computer does not have a latest version of the file.” Ex 1001 at 18:32-37 and
`
`18:56-19:7. Freivald does not mention such features and, furthermore, is
`
`unconcerned with whether the client computer has any copy of a file. In the
`
`Freivald system, registered Web pages are checked periodically to see if they
`
`have changed since a last check. When changes are noted, a minder server so
`
`notifies the user by way of email. Ex. 1005. at col 5, ll. 24-29. In an enhanced
`
`version of the service, users are allowed to specify portions of interest of Web
`
`pages so that they receive notices only when those portions of interest have
`
`changed. Id. at col. 7, ll. 3-54. Thus, Freivald is unconcerned with whether or
`
`not a subscribed client has a latest version of a Web page (or any version at all
`
`for that matter), and sends notifications whenever qualifying changes in a Web
`
`page have been detected, regardless of whether the modifications reflect the
`
`latest version of the file or not.
`
`
`
`IV. Analysis with Respect to Williams.
`
`26. Williams, U.S. Patent 5,990,810 (Ex. 1006) describes a procedure for
`
`partitioning blocks of data into subblocks for ease of communicating and
`
`storing same. Ex 1006 at col. 1, ll. 7-10. In my opinion, however, Williams
`
`
`
`17  
`
`
`
`
`
`

`

`does not teach a command to copy or a command to insert as recited in
`
`independent claims 1, 12, 23, and 30 and construed by the Board.
`
`27. According to Williams,
`
`To perform the backup, E1 compares the hash of Y
`
`(stored in S) against the hash of X to see if X has
`
`changed. If X hasn’t changed, there is no need to
`
`perform any further backup action. If X has
`
`changed, E1 partitions X into subblocks, and
`
`compares the hashes of these subblocks with the
`
`hashes in the shadow file S, so as to find all identical
`
`hashes. Identical hashes identify identical subblocks
`
`in Y that can be transmitted [to E2] by reference. E1
`
`then transmits the [incremental backup D] file as a
`
`mixture of raw subblocks and references to subblocks
`
`whose hashes appear in S and which are therefore
`
`known to appear as subblocks in Y.
`
`Ex. 1006, at 19:44-55. Then, “[t]o reconstruct X from Y and D [ ], E2
`
`partitions Y into subblocks [and] calculates the hashes of the subblocks . . . .
`
`
`
`18  
`
`
`
`
`
`

`

`[E2] then processes the incremental backup information [D by] copying
`
`subblocks that were transmitted raw and looking up the references either in Y
`
`or in the part of X already reconstructed. Id. at 19:66-20:5.
`
`28. Thus, Williams teaches the construction of incremental backup
`
`information of X that includes raw subblocks, which represents data not
`
`included in the previously saved version of X (i.e., Y) and references to
`
`subblocks that are included in Y. Absent from this incremental backup
`
`information is any command to copy (or it equivalent) a segment of Y into X as
`
`reconstructed at E2. Instead, all that is included in the incremental backup
`
`information is a reference to a segment of Y to be retained, by E2, when
`
`reconstructing X. However, neither this reference, nor the incremental backup
`
`information, includes any command, or instruction, to copy or duplicate the
`
`related segment of Y when reconstructing X at E2. Williams is concerned with
`
`an incremental backup system in which Y is updated to become a copy of X.
`
`Ex. 1006 at 19:31-33. Therefore, any encoding in the D file would not be to
`
`“copy,” or perform the action of copying segments from an old version of Y to
`
`a new version of Y, but rather to modify the old version of Y so it becomes a
`
`replica of X. This would be consistent with the stated goal of Williams and
`
`
`
`19  
`
`
`
`
`
`

`

`would not entail copying of segments of Y.3 As no such copying is needed,
`
`there is no need for an instruction to effect same to be written in the D file.
`
`29.
`
`I also note that Williams describes an incremental backup procedure in
`
`which a computer E1 backs up a file to computer E2 so that the version of a file
`
`Y stored on E2 is changed to match the version of file X stored on E1. Id. at
`
`19:29-33. Prior to initiating a backup procedure, computer E1 cannot be
`
`certain whether or not computer E2 stores a latest version of the subject file.
`
`Nor does Williams mandate such a situation. Indeed, as part of the backup file
`
`itself, computer E1 includes an MD5 digest of the old and new versions of the
`
`file. Id. This is to ensure, in part, that the backup is applied to the same version
`
`of the file for which the comparisons of hashes was made. Thus, Williams is
`
`both anticipating and accommodating situations in which computer E2 may
`
`                                                                                                                
`
`store a different, but not necessarily a latest, version of a file than computer E1.
`
`3 Insofar as ephemeral copies of files or portions thereof may be duplicated in
`
`one or memories of a computer system during these operations, such
`
`duplication is not equivalent to a “command to copy” (or other instruction that
`
`causes the computer to duplicate information or data) that is written in the
`
`Williams D file. It is merely the mechanism by which a computer processor is
`
`required to operate on data.
`
`
`
`20  
`
`
`
`
`
`

`

`30. With respect to a proposed combination of Williams and Miller,
`
`although Miller does teach the inclusion of a copy command in a DIFF file, Ex.
`
`1004 at col. 8, ll. 27-29, Miller stresses the importance of using the smallest
`
`DIFF file possible to reflect the changes between the old and new versions of
`
`the subject file. Id. at col. 2, ll. 31-33. Accordingly, one of ordinary skill in the
`
`art would recognize that Williams difference file (which uses only references to
`
`prior subblocks and not primitives) is in line with that goal. By avoiding the use
`
`of a copy command, Williams necessarily reduces the number of bytes needed
`
`to convey information in the difference file. Hence, when combining the
`
`teachings of Williams and Miller it would be natural for a person of ordinary
`
`skill in the art to adopt the Williams approach and eliminate copy commands.
`
`Doing so would reduce the number of bytes required in the difference file and
`
`save on transmission costs. Cf. Ex. 1004 at col. 1, ll. 65-67 (noting that even
`
`compression schemes which reduce file sizes of up to 40% may still leave
`
`resulting files that represent substantial transmission costs for distributers of
`
`those files).
`
`
`
`
`
`
`
`21  
`
`
`
`
`
`

`

`V. Patent Owner’s Proposed Claim 47.
`
`31.
`
`I understand the Patent Owner has proposed a substitute claim 47 for
`
`original claim 42 of the ’799 Patent. Proposed claim 47 reads:
`
`47. (Proposed Substitute for Original Claim 42) A computer
`readable storage medium, comprising computer readable
`program code embodied on said computer readable storage
`medium, said computer readable program code for
`programming a first computer to provide updates for
`transmission to a second computer that permits the second
`computer to obtain most recent versions of files, the computer
`readable program code causing the first computer to perform
`the following steps: (a) determining whether the second
`computer has a latest version of a file, wherein said
`determining is performed by the first computer without
`interaction with the second computer by comparing
`representations of segments of the latest version of the file with
`representations of segments of an earlier version of the file in
`which ends of each of the segments of the earlier version of the
`file are defined by segment delimiters that are statistically
`determined to be optimal division points for the segments; (b)
`generating an update, if the second computer does not have a
`latest version of the file, wherein said generating is performed
`by the first computer without interaction with the second
`
`22  
`
`
`
`
`
`
`
`

`

`computer; and (c) transmitting the update from the first
`computer to the second computer.
`
`32.
`
`In my opinion, a person of ordinary skill in the art would have
`
`understood the inventor to be in possession of the invention recited in claim 47
`
`at the time of filing of the original disclosure because the inventor specifically
`
`described the embodiment of the invention recited in proposed claim 47
`
`therein:
`
`Symantec's Delta Technology according to the present invention
`has been optimized to detect and process changes quickly and
`efficiently, while concurrently maintaining the integrity of the
`file. . . . The server reads the file from the network and determines
`the most efficient “delimiter” or “dividing point” to break the file
`into segments as shown in Figure 3.
`
`. . .
`
`Segments A1 through A6 represent variable length portions of
`the earlier version of the subscription file. The ends of each of
`the segments (A1 through A6) are determined by segment
`delimiters 301 through 306. The segment delimiters 301 through
`306 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 of the subscription file.
`
`23  
`
`
`
`
`
`
`
`

`

`. . .
`
`When the server 203 polls the subscription file at a future time
`and detects a change, a second “snapshot” is generated using
`the same process as the first snapshot as shown in Figure 7. . . .
`The Delta Engine according to the present invention then
`compares the two sets of segments to determine which
`segments have been altered, which ones are new and which
`ones have remained unchanged, as illustrated in Figure 8.
`
`. . .
`
`According to the present invention, the new or changed
`segments B2, B4 and B5 are extracted from the current version
`of the subscription file stored on the network drive 202 by the
`server computer 203, and are packaged in an update file 801
`for transmission to the client computer 201 shown in FIG. 2
`so that the client computer 201 can build a copy of the current
`version of the subscription file from its copy of the earlier
`version of the subscription file.
`
`Ex. 2007 at p. 12, l. 14 – p. 15, l. 23.
`
`33. Proposed claim 47 recites,
`
`determining whether the second computer has a latest
`version of a file . . . ; and
`
`
`
`24  
`
`
`
`
`
`

`

`generating an update, if the second computer does not have
`a latest version of the file,
`
`In my opinion, the plain meaning of this limitation, from the standpoint of the
`
`person of ordinary skill in the art, is that the second computer must currently
`
`possess some version of the file. By articulating a process that requires a first
`
`computer to determine whether a second computer has a copy of a file (i.e., a
`
`latest version of that file), claim 47 necessarily requires that the second
`
`computer must already possess some version of the file. Indeed, inherent in the
`
`invention of the ‘799 patent is the recognition that various versions of files are
`
`stored on various client computers and what is being proposed is a procedure
`
`for synchronizing those different versions. Such synchronization makes sense
`
`only in a context where the different versions of the files exist on the different
`
`computers. Absent such different versions, there is no need for the
`
`synchronization in the first place.
`
`34. Proposed claim 47 also recites, “an update” that that is transmitted from
`
`the first computer to the second computer and that permits the second
`
`computer to obtain a most recent version of a file. According to the ‘799
`
`Patent, an update is something that is to be applied to an existing copy of a file
`
`at the second computer that allows the second computer to obtain a newer
`
`version of that file. Ex. 1001 at col. 10, ll. 15-22. To the person of ordinary
`
`
`
`
`
`25  
`
`
`
`

`

`skill in the art, then, the plain meaning of “update” is an item that allows a
`
`computer to obtain a current version of a file from its existing copy of that file.
`
`35. Proposed claim 47 requires that “determining whether the second
`
`computer has a latest version of a file . . . ;” and “generating an update, if the
`
`second computer does not have a latest version of the file,” be performed
`
`“without interaction.” No such constraint is imposed on “transmitting the
`
`update.” In accordance with the plain language of the claim then, a person of
`
`ordinary skill in the art would understand that the constraint of “without
`
`interaction” limits the interaction between first and second computer systems
`
`only where specifically recited in the claim and not necessarily at other times
`
`when the two computers are operating.
`
`36. A person of ordinary skill in the art would further understand claim 47
`
`to require that the first computer determines whether the second computer has
`
`a latest version of a file by comparing representations of segments of the latest
`
`version of the file with representations of segments of an earlier version of the
`
`file. In this context, a segment would be understood as a portion of a file. Ex.
`
`1001 at col. 7, l. 66 – col. 8, l. 6. More specifically, segments would be
`
`understood as variable length portions of a file, defined by segment delimiters.
`
`Id. at col. 8, ll. 10-14. This is consistent with the plain meaning of the term
`
`
`
`26  
`
`
`
`
`
`

`

`segment, as understood by a person of ordinary skill in the art, namely, a part
`
`into which a file may be divided.
`
`37. A person of ordinary skill in the art would understand also claim 47 to
`
`require that ends of each of the segments of the earlier version of the file be
`
`defined by segment delimiters that are statistically determined to be optimal
`
`division points for the segments. That is, optimal locations for the file seg

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