Secure and efficient methods for logging and synchronizing data exchanges
First Claim
Patent Images
1. A method comprising:
- maintaining a first log with a file format that includes a sequence of content and attribute entries associated with each context punctuated by one or more checkpoints, wherein one content entry comprises a vector having the hash of a string and the string, and wherein one attribute entry comprises a vector having entries that include an identifier associated with a log file concatenated with an identifier of a content entry and one or more pairs consisting of a label of an attribute for the content entry in a context and a value associated with the attribute;
receiving, at a computer system, a request from a requestor to post data to the first log;
identifying the log based on a context identifier in the request indicative of a location of the first log and digital data associated with a document corresponding to the first log;
creating a first entry based on the data in the request, wherein the first entry includes at least a hash of the data to be posted, a string that represents the data, and a number of characters in the string;
appending the first log with the first entry;
calculating a first identifier based on log entries in the first log;
sending the first identifier to the requester; and
accessing the context log to review information stored therein.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and apparatus is disclosed herein for logging and/or synchronizing data exchanges. In one embodiment, the method comprises receiving a request from a requester to post data to a first log, identifying the log based on a context identifier in the request indicative of a location of the first log and digital data associated with a document corresponding to the first log, creating a first entry based on data in the request, appending the first log with the first entry, calculating a first identifier based on log entries in the first log, and sending the first identifier to the requester.
68 Citations
24 Claims
-
1. A method comprising:
-
maintaining a first log with a file format that includes a sequence of content and attribute entries associated with each context punctuated by one or more checkpoints, wherein one content entry comprises a vector having the hash of a string and the string, and wherein one attribute entry comprises a vector having entries that include an identifier associated with a log file concatenated with an identifier of a content entry and one or more pairs consisting of a label of an attribute for the content entry in a context and a value associated with the attribute; receiving, at a computer system, a request from a requestor to post data to the first log; identifying the log based on a context identifier in the request indicative of a location of the first log and digital data associated with a document corresponding to the first log; creating a first entry based on the data in the request, wherein the first entry includes at least a hash of the data to be posted, a string that represents the data, and a number of characters in the string; appending the first log with the first entry; calculating a first identifier based on log entries in the first log; sending the first identifier to the requester; and accessing the context log to review information stored therein. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A method comprising:
-
receiving, at a computer system, a request from a requestor to post data to a first log; identifying the log based on a context identifier in the request indicative of a location of the first log and digital data associated with a document corresponding to the first log; creating a first entry based on the data in the request, wherein the first entry includes at least a hash of the data to be posted, a string that represents the data, and a number of characters in the string; appending the first log with the first entry; calculating a first identifier based on log entries in the first log; sending the first identifier to the requester; sending a response with one or more items that have been posted in the first log; synchronizing a second log with the one or more items by, calculating an intersection of attribute entries that appear in first log and the second log that include first and second sequences, respectively, of content and attribute entries associated with each context punctuated by one or more checkpoints; ordering entries according to their appearance in the first log; determining whether each entry in the second log is in the intersection of attribute entries or is the next entry in the order; and performing an additional comparison between the first and second logs starting only after checkpoints in each of the first and second logs subsequent to the first and second sets of sequences.
-
-
18. A method comprising:
-
maintaining a second context log with a file format that includes a sequence of content and attribute entries associated with each context punctuated by one or more checkpoints, wherein one content entry comprises a vector having the hash of a string and the string, and wherein one attribute entry comprises a vector having entries that include an identifier associated with a log file concatenated with an identifier of a content entry and one or more pairs consisting of a label of an attribute for the content entry in a context and a value associated with the attribute; obtaining an index, at a client computer system, of a first context log that is maintained at a server computer system; sending a request for entries in the first context log that occur after a first checkpoint extracted from the index, wherein the first checkpoint is stored within the second context log maintained at the client computer system; receiving the entries that are after the first checkpoint to satisfy the request; adding one or more of the entries to the second context log to synchronize the second context log and the first context log; and accessing the second context log to review information stored therein. - View Dependent Claims (19, 20)
-
-
21. A method comprising:
-
obtaining an index, at a client computer system, of a first context log that is maintained at a server computer system; sending a request for entries in the first context log that occur after a first checkpoint extracted from the index, wherein the first checkpoint is stored within a second context log maintained at the client computer system; receiving the entries that are after the first checkpoint to satisfy the request; and adding one or more of the entries to the second context log to synchronize the second context log and the first context log; calculating an intersection of attribute entries that appear in first and second logs that include first and second sequences, respectively, of content and attribute entries associated with each context punctuated by one or more checkpoints; ordering entries according to their appearance in the first log; determining whether each entry in the second log is in the intersection of attribute entries or is the next entry in the order; and performing an additional comparison between the first and second logs starting only after checkpoints in each of the first and second logs subsequent to the first and second sets of sequences.
-
-
22. An article of manufacture having one or more computer readable storage media storing instructions thereon which, when executed by a system, cause the system to perform a method comprising:
-
obtaining an index of a first context log that is maintained at a server computer system; sending a request for entries in the first context log that occur after a first checkpoint extracted from the index, wherein the first checkpoint is stored within a second context log maintained at the client computer system; receiving the entries that are after the first checkpoint to satisfy the request; adding one or more of the entries to a second context log to synchronize the second context log and the first context log; calculating an intersection of attribute entries that appear in the first and second context logs that include first and second sequences, respectively, of content and attribute entries associated with each context punctuated by one or more checkpoints; ordering entries according to their appearance in the first context log; determining whether each entry in the second context log is in the intersection of attribute entries or is the next entry in the order; storing checkpoints in each of the first and second context logs subsequent to the first and second sets of sequences; and performing an additional comparison between the first and second logs starting only after checkpoints in each of the first and second logs subsequent to the first and second sets of sequences.
-
-
23. A method comprising:
-
storing a first entry in a log that includes an identifier, wherein the identifier comprise a list of hashes, where each of the hashes corresponds to content to be used for authentication; receiving a request to post a new entry into the log, wherein the new entry includes a plain-text portion of data purported to correspond to one of the hashes of the content to authenticate an originator of the request; calculating a hash of the portion of data received in the request; comparing the hash of the portion of data to a list of one or more hashes in the identifier; and accepting the post request if the hash of the portion of data appears in the list of hashes in the identifier calculating an intersection of attribute entries that appear in the log and a second log that include first and second sequences, respectively, of content and attribute entries associated with each context punctuated by one or more checkpoints; ordering entries according to their appearance in the log;
determining whether each entry in the second log is in the intersection of attribute entries or is the next entry in the order;storing checkpoints in each of the log and the second log subsequent to the first and second sets of sequences; and performing an additional comparison between the log and the second log for one or more attribute entries added to the log and the second log after the storing starting only after the stored checkpoints. - View Dependent Claims (24)
-
Specification