Professional Documents
Culture Documents
Ipr2015 00874
Ipr2015 00874
____________
BEFORE THE PATENT TRIAL AND APPEAL BOARD
____________
Unified Patents Inc.,
Petitioner
v.
Hall Data Sync Technologies LLC
Patent Owner
IPR2015-____
Patent 7,685,506
____________
PETITION FOR INTER PARTES REVIEW
TABLE OF CONTENTS
I.
INTRODUCTION ...........................................................................................1
II.
B.
C.
Related Matters......................................................................................2
D.
E.
III.
IV.
V.
VI.
A.
B.
C.
D.
FACTUAL BACKGROUND..........................................................................5
A.
B.
C.
ii
B.
C.
iii
iv
vi
[16j] replacing the first set of data stored in the other first
databases in accordance with the altered portion of the first
set of data transferred from the second database. ..........................36
[17a/b] A method as set forth in claim 16 wherein the step of
extracting is further defined as storing the altered portion of
the first set of data in a redundant database at the first
database and transferring the redundant database to the
second database and comparing the altered portion of the
first set of data in the redundant database with the second set
of data stored in the second database. ............................................36
[19a/b] A method as set forth in claim 16 further comprising
altering by addition, change, deletion or replacement of a
portion of the second set of data in the second databases;.............36
[19c] extracting the portion of the second set of data that has
been altered in the second database; ..............................................37
[19d] transferring only the altered portion from the second
databases to the plurality of first databases at a
predetermined time; and.................................................................37
[19e] replacing the first set of data in the plurality of first
databases in accordance with the altered portion of the
second set of data. ..........................................................................37
D.
viii
ix
xi
xii
I.
INTRODUCTION
Pursuant to the provisions of 35 U.S.C. 311-319, Unified Patents Inc.,
(Unified or Petitioner) hereby petitions the Patent Trial and Appeal Board to
institute inter partes review of claims 1-6, 8, 9, 12, 13, 15-17, and 19 of U.S.
Patent No. 7, 685,506 to Fino et al. (the 506 Patent, Ex. 1001).
The 506 Patent is remarkable, not because it attempts to claim anything
new, but because it is completely devoted to a real estate application program with
only a fleeting reference to databases. It then boldly claims core database
synchronization techniquesdatabase synchronization using timestampsthat have
been discussed and used for decades by the computer science community. The
Petitioner uses two references to independently demonstrate that the challenged
claims are unpatentable, but could have used more.
II.
MANDATORY NOTICES
Pursuant to 37 C.F.R. 42.8(a)(1), Unified provides the following
mandatory disclosures.
A.
Real Party-in-Interest
B.
The 506 Patent is assigned to Hall Data Sync Technologies LLC (Hall
Data Sync).
C.
Related Matters
The 506 Patent has been asserted in the following litigations, none of which
involve Unified:
1. Hall Data Sync v. SugarSync, Inc., 2-15-cv-00005 (EDTX, filed
1/5/2015)
2. Hall Data Sync v. Dropbox, Inc., 2-15-cv-00003 (EDTX, filed 1/5/2015)
3. Hall Data Sync v. Box Inc., 2-15-cv-00002 (EDTX, filed 1/5/2015)
4. Hall Data Sync v. Google Inc., 2-15-cv-00004 (EDTX, filed 1/5/2015)
5. Hall Data Sync v. Apple Inc., 2-15-cv-00006 (EDTX, filed 1/5/2015)
6. Hall Data Sync v. Microsoft Corp., 2-15-cv-00021 (EDTX, filed
1/15/2015)
D.
Service Information
Address:
Michael L. Kiklis
Oblon LLP
1940 Duke Street
Alexandria, VA 22314
Email:
cpdocketkiklis@oblon.com
Telephone: (703) 413-2707/(703)413-3000 (main)
Fax:
(703) 413-2220
III.
PAYMENT OF FEES
The undersigned authorizes the Office to charge the required fees as well as
any additional fees that might be due to Deposit Account No. 15-0030.
IV.
3.
Claims 16, 17, and 19 are obvious under 35 U.S.C. 103(a) in view
of Malpani as well as the knowledge of one of ordinary skill in the art.
C.
FACTUAL BACKGROUND
A.
Declaration Evidence
testifies that Exs. 1002 and 1004 were publicly available before February 13, 1994.
See Ex. 1007.
B.
Database technology has a long and storied history in the computer science
field. As early as the 1960s, databases were a very active area in computer science
research and synchronization was an issue very early on. For example, in 1975,
the problem of maintaining duplicate, synchronized databases was discussed,1 and
of course, C.J.Dates seminal treatise An Introduction to Database Systems (1st
edition 1981) also discussed synchronization and various techniques for solving
this problem. That is why in 1989the publication date of Malpaniand in 1991
the filing date of Eversonthe 506 Patents database synchronization technique
was disclosed. Dr. Hutchinson provides a more detailed overview of the state of
the art in Ex. 1006, 21-22.
C.
Databases, Internet Request for Comments #677, January 27, 1975. Available
from: https://tools.ietf.org/html/rfc677
6
Ex. 1008, at 16. The Examiner found that the modification identification
including a modification field associated with the data amendment was persuasive
because one reference included timestamps not associated with data and the other
reference only identified data modifications without timestamps.
7
Ex. 1008, at 6-7. Petitioner relies upon two references that each include a
modification field associated with the data.
VI.
Proposed construction
A collection of data
Any computation device
8
(claims 3-15)
Modification
identification (all claims)
Modification field
(claims 1, 3, 4, 5, 16)
A.
specification, only the claims. Dr. Hutchinson notes that the specification
describes only three fields in the table at 8:12-20 that have anything to do with
modifications. Fields 1-6 are data and field 10 is a unique record identifier that is
the subject of claim 10, which has nothing to do with modification identifications
and modification fields in the other claims. The modification-related fields include
the Last Modified, Last Modified By, and Last Modified By Site fields. Dr.
Hutchinson therefore concludes that the term modification identification would
be understood by one of ordinary skill in the art as referring to any or all of those
fields. Dr. Hutchinson concludes that one skilled in the art would understand that
the broadest reasonable interpretation of this term is any information related to a
modification. Ex. 1006, 14.
Modification Field: Like the term modification identification, this term
also does not appear in the specification, only the claims. As mentioned above, the
specification at 8:12-20 provides only three examples of fields that have anything
to do with modifications. Claims 1, 3, and 16 recite that the modification
identification includes a modification field associated with the data. Although
claim 5 refers to modification identification field, one of ordinary skill would
understand that to mean modification field when the claim limits that term to a
date/time of modification field. Also, field 7 in the table at 8:12-20 includes an
example of a Last Modified field, which is a time stamp. Dr. Hutchinson
10
therefore concludes that one of ordinary skill in the art would understand the
broadest reasonable interpretation of modification field to mean information
included in the modification identification and per claims 1, 3, and 16, must be
associated with the data. A timestamp is an example of a modification field. Ex.
1006, 14.
VII. THE GROUNDS SHOWING THAT PETITIONER HAS A
REASONABLE LIKELIHOOD OF PREVAILING
The following is a brief description of Everson and Malpani. Dr.
Hutchinsons declaration provides a much more comprehensive overview. Ex.
1006, 23-35.
A. Everson 094 Patent Overview
Everson discloses distributed database synchronization where a Collector
node periodically requests updates from a Collectee node that then sends updates
that occurred after the last time the databases were synchronized. Ex. 1001, 3:4165. Fig. 4 provides an overview of Everson:
11
The Collector node first checks the current time and compares it to the time of last
synchronization to determine whether a predetermined period of time has elapsed.
If so, it calls the Collectee node, where that node queries its database to identify the
data that has changed since the last synchronization and then sends it to the
Collector node. After this synchronization, both nodes update their respective time
12
Everson uses the LU6.2 protocol for its underlying communication mechanism,
and the CONFIRMED verb is described in LU6.2 documentation available in 1992
as performing exactly this functionality. Ex. 1004, p. 37, 46, 74, 81-85.
Moreover, Eversons updates get propagated throughout the entire
distributed database because each node can be both a Collector and a Collectee.
Fig. 2 shows how these dual-purpose nodes propagate the updates throughout the
entire network:
13
Everson explains that, for example, Node 14 is known as the Collector node
because it collects data from the Collectee node 22. In turn node 14 is in the
Collectee node for Collector node 10. Ex. 1003, 2:57-60. Propagation of updates
throughout the nodes of the entire system must be accomplished for the system to
operate properly. Ex. 1006, 30.
Everson discloses the claimed modification identification and
modification field associated with the data as shown in the following table from
Fig. 3, known as the shadow table that contains the data to be replicated:
14
Each row contains (1) a key that uniquely identifies the row, (2) data (X, Y, . . . ),
(3) an indication that a row has been deleted (DEL?) and (4) a timestamp
indicating when this row was last updated (TLU). Both the DEL? field and the
TLU field constitute the claimed modification identification because they are
information related to a modification, and the TLU field constitutes the claimed
modification field because it is a timestamp associated with the data in that row.
Ex. 1006, 31; Ex. 1003, Fig. 3; 3:7-16. Everson thus discloses all the features of
claims 1-6, 8, 9, 12, 15-17, and 19. At 30-35 of Ex. 1006, Dr. Hutchinson
provides a more detailed overview of Everson, including a discussion of the
pseudo code, LU6.2, and the various database commands that Everson utilizes.
B. Malpani Overview
Malpani discloses synchronization between objects, which includes
distributed databases. Ex. 1002, p. 202. Malpani uses a log-based database
where each log stores a series of events. Each event is comparable to a row in a
relational database because it holds data from the database. Each row, eR, contains
(1) the data itself (eR.op, referring to the operation that created the data along with
any parameters of the operation), (2) an indication of the node on which the data
was changed (eR.node), and (3) the time of the change (eR.time). Both eR.node
and eR.time constitute the claimed modification identification because they are
information related to a modification, and eR.time constitutes the claimed
15
modification field because it indicates the time the associated data was modified.
Ex. 1006, 25; Ex. 1002, p. 204.
The elements within the log do not change; rather new events are added to
the log that supersede earlier events. In this manner, one need only look at the
latest event for a given piece of data to determine that datas latest state. Dr.
Hutchinson created the following diagram to explain this concept:
When the latest data for key1 is needed, the log is accessed from newest to
oldest, and the first match is returned. In this example, the entry at time6 is the
latest. The other entries for key1 at time1 and time4 would be ignored.
Each entry, known as eR, contains the data and a timestamp associated with that
data. Ex. 1006, 25.
Each node in the system contains a log (Li) that includes all changes
anywhere within the distributed database as well as a time table (Ti ) which is a two
dimensional array that reflects that nodes knowledge of all updates within the
16
system. Dr. Hutchinson created the following diagram to better illustrate this
concept:
with Ti[i, k] equal to some value t, this means that node i has seen
every event on node k with timestamp less than or equal to t. This
message is therefore a confirmation message to node k that node i has
seen all the events that node k has sent to node i with timestamps less
than or equal to t. Ex. 1006, 25-26.
Each node periodically propagates updates throughout the network. Each
update includes a compressed log (Li) which includes only those updates that the
receiving node needs, based on a timestamp comparison using Ti, and includes the
senders time table. Such propagation messages serve two purposes (1) to update
the receiving nodes database with the most recent data and (2) to inform the
receiver node that the sender has received all the updates that the receiver had sent
it. This second purpose is accomplished because each propagation message
includes the senders time table, thus providing the claimed confirmation message.
As Dr. Hutchinson explains, [w]hen a sender node i sends a message to node k
with Ti[i, k] equal to some value t, this means that node i has seen every event on
node k with timestamp less than or equal to t. Ex. 1006, 25-27.
As in all database synchronization systems, it is essential that all updates
eventually get propagated system wide. Otherwise the system simply would not
work properly. Ex. 1006, 28. Indeed, Malpani recognizes that [t]he need for
propagation of knowledge in distributed systems is fundamental to most distributed
algorithms. . . . Ex. 1002, p. 202. Also, because [p]ropagation of information, as
18
modification
identification,
which
includes
is in the column named key. The data itself can be stored in any
number of columns of any types; they are referred to as the columns
X, Y, in the table. This is disclosed in the description of the
table below, as well as in FIG. 3. The modification identification is
the combination of the del? and TLU (time last updated) fields of each
row of the database, and the modification field of each row of data is
the TLU field. [Ex. 1006, 14, 30-35; Ex. 1006, p. 36]
Referring to FIG. 3, the control table (shadow-- tbl) 60 for the
database to be shadowed in the Collector node is illustrated. Shadow-tbl 60 contains several data entries as follows:
key=identifier which uniquely identifies each row of unit data
XY . . . =represents columns in the data table
del? =logical indicator that record has been deleted
TLU=time last updated. (Time stamp when this row was last updated).
[Ex. 1003, 3:7-16]
22
modification
identification
associated
with
prior
clause below compares the TLU field of each row to TLS which is the
time of the prior synchronization. [Ex. 1006, p. 38]
[1d] transferring only the altered portion of the data from the first
database of the one of the plurality of first databases to the second database;
EVERSON transfers only the altered portion of the data from the first
database to the second database. Each element from the result set
that QUERY is a cursor over is fetched and sent to the second
database using the LU6.2 communication verb SEND_DATA. [Ex.
1006, 30-35; Ex. 1006, p. 39]
25
synchronization,
One of ordinary skill would understand that a processor is necessarily
present in these systems. [Ex. 1006, 14; Ex. 1006, p. 43]; See claim
element [1b].
[3d] wherein the modification identification includes a modification field
associated with the data;
See claim element [1b].
[3e] identifying an altered portion of the data that has the modification
identification subsequent to the prior synchronization modification
identification as a result of being altered,
See claim element [1c].
[3f] transferring only the altered portion of the data from the first
database to the second database,
See claim element [1d].
[3g] receiving a confirmation message at the first database from the
second database,
See claim element [1g].
[3h] and replacing the data in the second database associated with the
altered portion of the data.
See claim element [1e].
[4a/b]. The system as recited in claim 3 wherein the at least one
modification identification field is automatically updated to reflect when any
portion of the data is altered.
See claim element [3a]. EVERSON discloses that the at least one
modification identification field (called the time of an event) is
automatically updated to reflect whenever any portion of the data is
altered. [Ex. 1006, p. 45]
30
32
transferred from the first database to the second database. [Ex. 1006,
30-35; Ex. 1006, p. 51]
See claim element [1h].
[16j] replacing the first set of data stored in the other first databases in
accordance with the altered portion of the first set of data transferred from
the second database.
See claim element [1h].
[17a/b] A method as set forth in claim 16 wherein the step of extracting
is further defined as storing the altered portion of the first set of data in a
redundant database at the first database and transferring the redundant
database to the second database and comparing the altered portion of the first
set of data in the redundant database with the second set of data stored in the
second database.
The redundant database is the result set from the select statement on
line 3 of FIG. 6. The redundant database is transferred one row at a
time. [Ex. 1006, p. 52]
See claim elements [16a], [1d], [12b].
[19a/b] A method as set forth in claim 16 further comprising altering by
addition, change, deletion or replacement of a portion of the second set of data
in the second databases;
See claim element [16a].
EVERSON discloses that any node can be a Collector, a Collectee, or
both so that the second database has a copy of the data that it can
modify, just like the first databases do. Therefore changes made in a
portion of the second set of data in the second databases will be
extracted, transferred, and replaced in the first databases in exactly
the same way previously discussed so long as the Collector/Collectee
relationships are properly configured in the control table. [Ex. 1006,
36
p. 53]
See claim element [1a].
[19c] extracting the portion of the second set of data that has been
altered in the second database;
See claim elements [16f], [1b], [1c].
[19d] transferring only the altered portion from the second databases
to the plurality of first databases at a predetermined time; and
EVERSON discloses that each Collector will communicate with each
Collectee when a predetermined amount of time has elapsed. The
amount of time between successive synchronizations between each
pair of nodes is stored in the delta time (DTC) field of the
Collectee_tbl. [Ex. 1006, 30-35; Ex. 1006, p. 53].
See claim element [1d], [16g].
Also shown in FIG. 3 is the shadow control table 62 (Collectee-- tbl)
which is contained in the Collectee node. This table contains the
following data: TLC=time last called. (A time stamp of the last time
a successful conversation was completed normally with TP2).
DTC=delta time between collections (amount of time between
collection calls to this node.)
TLS=time last serviced. (A time stamp of the last time a successful
conversation was completed with TP1. Updated by TP2). [Ex. 1003,
3:17-32]
See also Fig. 4.
[19e] replacing the first set of data in the plurality of first databases in
accordance with the altered portion of the second set of data.
EVERSON discloses that any node can be a Collector, a Collectee, or
37
both so that the second database has a copy of the data that it can
modify, just like the first databases do. Therefore changes made in a
portion of the second set of data in the second databases will be
extracted, transferred, and replaced in the first databases in exactly
the same way previously discussed so long as the Collector/Collectee
relationships are properly configured in the control table. [Ex. 1006,
p. 54]
See claim elements [1e], [19b].
D. Element by Element Analysis Demonstrating How Malpani
Anticipates Claims 1-6, 8, 9, 12, 13, and 15 of the 506 Patent
The following analysis demonstrates, on a limitation-by-limitation basis,
how claims 1-6, 8, 9, 12, 13, and 15 of the 506 Patent are anticipated by Malpani
(Ex. 1002) under 35 U.S.C. 102. For ease of reference, this analysis includes
letters for the individual claim elements (e.g., 1a). This analysis is a presentation
of Dr. Hutchinsons analysis from his claim chart in his declaration, although
shortened in various places. Ex. 1006, pp. 54-69. Text in italics is explanatory
testimony from Dr. Hutchinsons claim chart (i.e., his testimony). Id. All other
text below are direct quotes from Ex. 1002.
[1a] A method for synchronizing data in data fields between a plurality
of first databases in communication with a second database after at least a
portion of the data in any one of the plurality of first databases has been
altered by addition, change, deletion or replacement of a portion thereof, the
second database having a replica of data stored in the first database of the
plurality of first databases, the method comprising:
MALPANI discloses a method for synchronizing data in data fields
38
In our model, we classify operations into two types. The first type
consists of application specific operations. For example, a dictionary
application will permit operations such as insert, delete, and lookup
operations. [Ex. 1002, pp. 204]
[1b] comparing a modification identification, wherein the modification
identification includes a modification field associated with the data in one of
the plurality of first databases to a modification identification associated with
a prior synchronization;
MALPANI discloses that the data in each database has a
corresponding
modification
identification,
which
includes
The modification
identification of each object is the node and time fields of the most
recent event that modified that object. The node field records the
machine at which the event occurred and the time field records the
logical time of occurrence of the event. The modification field is the
time field, the logical time of occurrence of the most recent event that
modified the object. [Ex. 1006, 14, 24-29; Ex. 1006, p. 56]
Every site maintains a log that records the application specific events
that have occurred in the system. The log at a site is its knowledge of
these events in the system. Thus, each log is a set of events. We
associate with each event in the log, the record (op, node, time) of that
event, where:
1. op is the operation itself (including any parameters).
2. node is the node at which the event occurred.
3. time is the logical time of occurrence of the event.
We refer to the record of an event e in the log as eR. The node and the
40
modification
identification
associated
with
prior
then Ni is certain that Nk already knows about event e. [Ex. 1002, pp.
205-6]
The HasReceived function compares the modification identification of
an event with the modification identification of the prior
synchronization. [Ex. 1006, p. 57]
43
message that the second database received the altered portion of the
data.
only
assumption
that
is
made
about
the
underlying
propagation message.
expensive
even
in
relatively
small
networks.
event, where:
1. op is the operation itself (including any parameters).
2. node is the node at which the event occurred.
3. time is the logical time of occurrence of the event.
We refer to the record of an event e in the log as eR. The node and the
time of occurrence of an event e are referred to by eR.node and
eR.time respectively. [Ex. 1002, p. 204]
[5a/b] The system as recited in claim 4 wherein the modification
identification field further comprises a date/time of modification field
identifying a date and time of receipt of altering data.
See claim elements [4a], [1b]. The following quote shows that the
modification identification field comprises the date/time of the update.
[Ex. 1006, p. 66]
An event model of execution is used, i.e., we consider an execution in
our system to be composed of events and a partial order on these
events [12]. Each event is associated with the site at which it occurs
and a local time of occurrence.
In our model, we classify operations into two types. The first type
consists of application specific operations. For example, a dictionary
application will permit operations such as insert, delete, and lookup
operations. [Ex. 1002, pp. 204](emphasis added)
[6a/b] The system as recited in claim 5 wherein the central processing
unit, in identifying which portion of the data has been altered, is further
operative to determine a date and time of a previous database synchronization
and compare the date and time of the previous database synchronization with
the date/time modification identification field associated with the data.
See claim elements [5a], [1b], [1c].
51
The Malpani
The
57
The redundant
59
VIII. CONCLUSION
For the reasons set forth above, Petitioner has established a reasonable
likelihood of prevailing with respect to at least one claim of the 506 Patent.
Therefore, Petitioner respectfully requests that the Patent Trial and Appeal Board
institute an inter partes review and then proceed to cancel claims 1-6, 8, 9, 12, 13,
15-17, and 19.
Respectfully submitted,
OBLON LLP
Dated: March 11, 2015
/Michael L. Kiklis/
Michael L. Kiklis
Reg. No. 38,939
Customer Number
22850
Tel. (703) 413-3000
Fax. (703) 413-2220
60
Description
Ex. 1001
Ex. 1002
Ex. 1003
Ex. 1004
Ex. 1005
Ex. 1006
Ex. 1007
Ex. 1008
61
CERTIFICATE OF SERVICE
The undersigned certifies service pursuant to 37 C.F.R. 42.6(e) and
42.105(b) on the Patent Owner by Express Mail of a copy of this Petition for Inter
Partes Review and supporting materials at the correspondence address of record
for the 506 patent as well as counsel of record in the district court litigations:
HOWARD & HOWARD ATTORNEYS PLLC
450 West Fourth Street
Royal Oak, MI 48067
Hao Ni
Ni Law Firm, PLLC
8140 Walnut Hill, Ste 310
Dallas, TX 75231
By:
/Michael L. Kiklis/
Michael L. Kiklis
Reg. No. 38,939