A scalable computing system for managing annotations is capable of handling requests for annotations to millions of documents a day. The computing system consists of multiple tiers of servers. A tier I server indicates whether there are annotations associated with a content source. A tier II server indexes the annotations. A tier III server stores the body of the annotation.
Legal claims defining the scope of protection, as filed with the USPTO.
1. A computing system for scalably managing annotations, the computing system comprising: a tier III server for storing annotations; a tier II server for storing an index of the annotations stored on the tier III server, but not the annotations, that is separate and distinct from the tier III server, wherein the tier II server further stores a plurality of generic properties for the annotations; and a tier I server for determining if a content source has an index of the annotations stored on the tier II server that is separate and distinct from the tier II and tier III servers.
2. A computing system for scalably managing annotations, the computing system comprising: a tier III server for storing annotations, wherein the tier III server further stores one or more type specific properties for the annotations; a tier II server for storing an index of the annotations stored on the tier III server, but not the annotations, that is separate and distinct from the tier III server; and a tier I server for determining if a content source has an index of the annotations stored on the tier II server that is separate and distinct from the tier II and tier III servers.
3. A computing system for scalably managing annotations, the computing system comprising: a tier III server for storing annotations, wherein the tier III server further stores client software to allow a user to view a type of annotations; a tier II server for storing an index of the annotations stored on the tier III server, but not the annotations, that is separate and distinct from the tier III server; and a tier I server for determining if a content source has an index of the annotations stored on the tier II server that is separate and distinct from the tier II and tier III servers.
4. A scalable computerized method of posting an annotation, the method comprising: sending an annotation post from a client to a tier III server; storing a portion of the annotation post on the tier III server; sending a second portion of the annotation post from the tier III server to a tier II server that is separate and distinct from the tier III server; storing the second portion of the annotation post on the tier II server; sending association information from the tier II server to a tier I server that is separate and distinct from the tier II and tier III servers; and storing the association information on the tier I server.
5. The computerized method of claim 4 , wherein the acts are performed in the order listed.
6. The computerized method of claim 4 , further comprising notifying the client of a successful post to the tier III server.
7. The computerized method of claim 6 , wherein notifying the client occurs prior to sending the second portion of the annotation to the tier II server.
8. The computerized method of claim 6 , further comprising notifying the tier III server of a successful post to the tier II server.
9. The computerized method of claim 8 , further comprising notifying the tier II server of a successful post to the tier I server.
10. The computerized method of claim 9 , wherein sending the annotation post from the client to the tier III server comprises sending a URL for the tier I server, a URL for the tier II server, a URL for the tier III server, a context document identifier, type specific annotation properties, generic annotation properties, and an annotation body.
11. The computerized method of claim 10 , wherein storing a portion of the annotation on the tier III server comprises storing the annotation body and the type specific annotation properties.
12. The computerized method of claim 11 , further comprising generating a unique identifier for the annotation body and type specific annotation properties stored on the tier III server.
13. The computerized method of claim 12 , wherein sending a second portion of the annotation to the tier II server comprises sending a URL for the tier I server, a URL for the tier II server, a URL for the tier III server, a context document identifier, generic annotation properties, and the unique identifier.
14. The computerized method of claim 13 , wherein storing the second portion of the annotation on the tier II server comprises storing the generic annotation properties, the URL for the tier III server, and the unique identifier.
15. The computerized system of claim 14 , wherein sending association information to the tier I server comprises sending the tier I server URL, the tier II server URL, the context document identifier and an indexing identifier.
16. A computer-readable medium having stored thereon a “client-to-tier III server” data structure for scalable annotations, comprising: a first field containing data representing a context document identifier; a second field containing data representing a body of the annotation; a third field containing data representing generic properties of the annotation; a fourth field containing data representing type specific properties of the annotation; a fifth field containing data representing a URL for a tier III server for receiving and storing a portion of the post of the annotation; a sixth field containing data representing a URL for a tier II server for receiving and storing a portion of the post of the annotation wherein the URL for the tier II server is distinct from the URL for the tier III server; and a seventh field containing data representing a URL for a tier I server for receiving and storing associations for the annotation, wherein the URL for the tier I server is distinct from the URLs for the tier II and tier III servers.
17. A computer-readable medium having stored thereon a “tier III server-to-tier II server” data structure for scalable annotations, comprising: a first field containing data representing a context document identifier; a second field containing data representing generic properties of the annotation; a third field containing data representing a URL for a tier III server for receiving and storing a portion of the post of the annotation; a fourth field containing data representing an identifier for the portion of the post of the annotation stored on the tier III server; a fifth field containing data representing a URL for a tier II server for receiving and storing a portion of the post of the annotation wherein the URL for the tier II server is distinct from the URL for the tier III server; and a sixth field containing data representing a URL for a tier I server for receiving and storing associations for the annotation, wherein the URL for the tier I server is distinct from the URLs for the tier II and tier III servers.
18. A computer-readable medium having stored thereon a “tier II server-to-tier I server” data structure for scalable annotations, comprising: a first field containing data representing a context document identifier; a second field containing data representing an indexing identifier of the annotation; a third field containing data representing a URL for a tier II server for indexing the annotation; and a fourth field containing data representing a URL for a tier I server for receiving and storing associations for the annotation, wherein the URL for the tier I server is distinct from the URL for the tier II server.
19. A scalable computerized method for managing annotations, the method comprising: storing within a tier I server reference to a tier II server storing an index that identifies a tier III server that stores an annotation associated with a content source; storing within a tier II server that is separate and distinct from the tier I server an index that identifies the tier III server that stores an annotation associated with a content source; storing within a tier III server that is separate and distinct from the tier I and tier II servers the annotation associated with a content source; receiving by the tier I server from a client a document identifier that identifies the content source; and providing a first response to the client from the tier I server, wherein the first response comprises one or more associations for the document identifier and a reference to a tier II server for each of the associations.
20. The method of claim 19 , further comprising: receiving by the tier II server from the client a selection identifying one of the associations for the document identifier; providing a second response to the client from the tier II server, wherein the second response comprises a header for each of the annotations associated with the document identifier and the reference to the tier III server for each annotation.
21. The method of claim 20 , further comprising: receiving by the tier III server from the client a request for the annotation; and providing a third response to the client from the tier III server, wherein the third response comprises.
22. The computerized method of claim 21 , wherein the document identifier is selected from the group consisting of a uniform resource locator, a file name, and a directory path.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
June 24, 1999
May 23, 2006
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.