Synchronizing/updating local client notes with annotations previously made by other clients in a notes database
First Claim
1. A system for collaborative document annotation, comprising:
- a document file and a notes database file located on one or more servers, said document file for storing one or more documents, said notes database for storing one or more notes, each note associated with a particular document;
one or more notes clients coupled to a network, each notes client operative to locally display a representation of a document remotely stored in said document file, each notes client adapted to enable a user to annotate said local version of said document with one or more notes, wherein any number of users in said network may simultaneously annotate their respective said local version of said document;
a notes server of said one or more servers being coupled to said network and operative to manage and maintain said notes database and to process and respond to notes events generated by said one or more notes clients; and
synchronization means within each notes client and said notes server, wherein in response to a synchronization event initiated by one of said notes clients said synchronization means adapted to send notes events generated by said one of said notes clients to said notes server for merging with the contents of said notes database and to return to said one of said notes clients an updated notes list incorporating annotations previously made by all other notes clients that have synchronized with said notes server since synchronization between said one of said notes clients and said notes server was last performed.
3 Assignments
0 Petitions
Accused Products
Abstract
A system for collaborative document annotation whereby notes (i.e. annotations) associated with a document, such as an image or text document, are stored in a notes database on a central notes server. The documents and associated annotations are treated independently from each other whereby separate data structures are created for the documents and for the associated annotations. A web server application on the server side functions to capture requests from one or more note client applications for creating, storing, editing and retrieving annotations related to specific documents stored on the notes server. On the client side, the notes client functions to display the document that the user wishes to annotate and provides the tools necessary to permit the user to create, edit, delete, retrieve and store notes. A synchronization process transmits the annotations generated by the user from the notes client to the notes server. In response, the notes server transmits back an acknowledgement along with any new notes that other notes clients may have posted since the last synchronization was performed thus enabling multiple notes clients to annotate a document asynchronously with respect to each other. When annotations are posted to the notes server by a notes client, the state of the annotation database is synchronized such that all other notes clients can retrieve the current, up to date annotations associated with a document.
-
Citations
96 Claims
-
1. A system for collaborative document annotation, comprising:
-
a document file and a notes database file located on one or more servers, said document file for storing one or more documents, said notes database for storing one or more notes, each note associated with a particular document;
one or more notes clients coupled to a network, each notes client operative to locally display a representation of a document remotely stored in said document file, each notes client adapted to enable a user to annotate said local version of said document with one or more notes, wherein any number of users in said network may simultaneously annotate their respective said local version of said document;
a notes server of said one or more servers being coupled to said network and operative to manage and maintain said notes database and to process and respond to notes events generated by said one or more notes clients; and
synchronization means within each notes client and said notes server, wherein in response to a synchronization event initiated by one of said notes clients said synchronization means adapted to send notes events generated by said one of said notes clients to said notes server for merging with the contents of said notes database and to return to said one of said notes clients an updated notes list incorporating annotations previously made by all other notes clients that have synchronized with said notes server since synchronization between said one of said notes clients and said notes server was last performed. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 34, 36, 37, 38, 42, 43, 89)
a display;
network communication means;
a processor suitably programmed to run;
a web browser; and
a client note plug-in adapted to run within said web browser.
-
-
5. The system according to claim 1, wherein said network comprises the Internet.
-
6. The system according to claim 1, wherein said network comprises a TCP/IP based network.
-
7. The system according to claim 1, wherein said network comprises an Intranet.
-
8. The system according to claim 1, wherein said notes server comprises:
-
network communication means;
a process suitably programmed to;
provide web server services;
provide notes agent services; and
provide document and notes browsing and synchronization services to said one or more notes clients.
-
-
9. The system according to claim 8, wherein said notes agent services comprises an Internet Server Application Programming Interface (ISAPI).
-
10. The system according to claim 1, further comprising a notes administrator for providing one or more Universal Resource Location (URL) aliases in managing and administrating said notes server.
-
11. The system according to claim 1, further comprising a note viewer for generating reports on the history of annotations on a per user or a per document basis that have occurred over a period of time.
-
12. The system according to claim 1, wherein two or more users can collaboratively work on the same document whereby each user is capable of viewing annotations made by the other users by synchronizing with said notes server.
-
13. The system according to claim 1, wherein a single page of a multipage document can be annotated on a notes client without requiring the entire multipage document to be transmitted to said notes client.
-
14. The system according to claim 1, further comprising security means for providing Universal Resource Locator (URL) translation and redirection services so as to provide user level security for documents and notes stored on said server.
-
15. The system according to claim 14, wherein said security means comprises a Document Location Table and a Client Access Key Table.
-
16. The system according to claim 1, wherein said document comprises an image.
-
17. The system according to claim 1, wherein said document is represented using a page description language.
-
18. The system according to claim 1, wherein said notes client is adapted to permit said user to annotate said document in parallel with the display of said document.
-
19. The system according to claim 1, wherein said document comprises a plurality of pages whereby each page can be annotated independently of all the other pages.
-
20. The system according to claim 1, wherein said synchronization means is user initiated.
-
21. The system according to claim 1, wherein said synchronization means is triggered by said notes server via the signaling of selected notes clients.
-
34. The system according to claim 17, wherein said page description language is portable document format or PDF.
-
36. The system according to claim 1, wherein said synchronization means within said notes server, in response to a synchronization event involving one of said notes clients, alerts others of said notes clients of said synchronization event.
-
37. The system according to claim 36, wherein said synchronization means within said notes server alerts said others of said notes clients by initiating transmission of an electronic mail or e-mail message to said other of said notes clients.
-
38. The system according to claim 36, wherein said synchronization means alerts only notes clients that have elected to be alerted of synchronization events and does not alert notes clients that have not elected to be alerted of synchronization events.
-
42. The system according to claim 1, wherein each notes client receives from said notes server an indication of a type associated with said document, said type being a predetermined type regardless of what type of medium said document represents.
-
43. The system according to claim 42, wherein said indication of a type is a Multipurpose Internet Mail extension (MIME).
-
89. The system according to claim 1, wherein said notes clients perform synchronization events with said notes server a synchronously with respect to each other.
-
22. A method of collaborative document annotation, said method comprising the steps of:
-
receiving a first request comprising a Universal Resources Locator (URL) associated with a document to be viewed and annotated and transmitting said first request from a client to a server;
sending a first response from said server to said client in response to said first request, said first response comprising a document type and a representation of said requested document;
receiving a second request comprising a document note URL corresponding to the notes associated with said document and sending said second request from said client to said server;
sending a second response from said server to said client in response to said second request, said second response comprising one or more notes associated with said document;
displaying the representation of said document and the associated one or more notes locally on said client such that both are viewable simultaneously;
providing said user annotation editing functions on said client wherein any number of users in said network may simultaneously annotate their respective representations of said document and, in response to a synchronization event initiated by said client, generating a third request comprising one or more note events related to said document subsequently transmitted from said client to said server; and
sending a third response from said server to said client in response to said third request, said third response comprising an updated list of notes associated with said document, said updated list of notes comprising the results of a merge between the note events sent in said third request and a notes database in communication with said server, said updated list of notes incorporating annotations previously made by all other clients that have synchronized with said server since synchronization between said client and said notes server was last performed. - View Dependent Claims (23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 35, 39, 40, 41, 44)
-
-
45. A system for collaborative document annotation, comprising:
-
one or more servers, coupled to a first network;
a document file system located on at least one of said servers, said document file system for storing document files, said document files describing document pages;
a notes database located on at least one of said servers, said notes database for storing one or more notes, each note associated with a particular one of said document pages;
one or more notes clients coupled to a second network, each notes client operative to locally generate a display of a document page, described by one of said document files, said notes client adapted to permit a user to annotate said document page with one or more user notes, said notes client operative to generate note events describing user notes, wherein any number of users in said network may simultaneously annotate their respective said document page;
a notes server of said one more servers being coupled to said second network, said notes server operative to receive one or more note events processed by one of said notes clients; and
synchronization means within each notes client and said notes server, wherein in response to a synchronization event initiated by one of said notes clients said synchronization means adapted to update said notes server with any notes events processed by said one of said notes clients and to return to said one of said notes clients an updated notes list incorporating annotations previously made by all other notes clients that have synchronized with said notes server since synchronization between said one of said notes clients and said notes server was last performed. - View Dependent Claims (46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 90)
a display;
network communication means;
a processor suitably programmed to run;
a web browser; and
a client note plug-in adapted to run within said web browser.
-
-
49. The system according to claim 45, wherein said second network comprises the Internet. (previously added) (New) The system according to claim 45, wherein said second network comprises a TCP/IP based network.
-
50. The system according to claim 45, wherein said second network comprises a TCP/IP based network.
-
51. The system according to claim 45, wherein said second network comprises an Intranet.
-
52. The system according to claim 45, wherein said notes server comprises:
-
network communication means;
a processor suitably programmed to;
provide web server services;
provide notes agent services;
provide document and notes browsing and synchronization services to said one or more notes clients.
-
-
53. The system according to claim 52, wherein said notes agent services comprises an Internet Server Application Programming Interface (ISAPI).
-
54. The system according to claim 45, further comprising a notes administrator for providing one or more Universal Resource Location (URL) aliases in managing and administrating said notes server.
-
55. The system according to claim 45, further comprising a note viewer for generating reports on the history of annotations on a per user or a per document file basis that have occurred over a period of time.
-
56. The system according to claim 45, wherein two or more users can collaboratively work on the same document file whereby each user is capable of viewing notes made by the other uses upon synchronization with said notes server.
-
57. The system according to claim 45, wherein a document page can be annotated on a notes client without requiring the entire document file to be transmitted to said notes client.
-
58. The system according to claim 45, further comprising security means for providing Universal Resource Locator (URL) translation and redirection services so as to provide user level security for documents and notes stored on said servers.
-
59. The system according to claim 58, wherein said security means comprises a Document Location Table and a Client Access Key Table.
-
60. The system according to claim 45, wherein said document page comprises an image.
-
61. The system according to claim 45, wherein said document page is represented in said document file using a page description language.
-
62. The system according to claim 45, wherein said notes client is adapted to permit said user to annotate said document page in parallel with the display of said document page.
-
63. The system according to claim 45, wherein said document file comprises a plurality of document pages, whereby each document page is able to be annotated independently of all the other document pages.
-
64. The system according to claim 45, wherein said synchronization means is user initiated.
-
65. The system according to claim 45, wherein said synchronization means is triggered by said notes server via signaling of selected notes clients.
-
66. The system according to claim 61, wherein said page description language is portable document formal or PDF.
-
67. The system according to claim 45, wherein said synchronization means within said notes server, in response to a synchronization event involving one of said notes clients, alerts others of said notes clients of said synchronization event.
-
68. The system according to claim 67, wherein said synchronization means within said notes server alerts said others of said notes clients by initiating transmission of an electronic mail or e-mail message to said others of said notes clients.
-
69. The system according to claim 67, wherein said synchronization means alerts only notes clients that have elected to be alerted of synchronization events and does not alert notes clients that have not elected to be alerted of synchronization events.
-
70. The system according to claim 45, wherein each notes client receives from said notes an indication of a type associated with said document file, said type being a predetermined type regardless of what type of medium said document file represents.
-
71. The system according to claim 70, wherein said indication of a type is a Multipurpose Internet Mail Extension (MIME).
-
72. The system according to claim 54, wherein said Universal Resource Location (URL) aliases are composed of document file location within said document file system.
-
90. The system according to claim 45, wherein said notes clients perform synchronization events with said notes server asynchronously with respect to each other.
-
73. A system for collaborative document annotation, comprising:
-
one or more servers coupled to a first network;
a document file system located on at least one of said servers, said document file system for storing document files, each stored document file describing one or more document pages in a format defined by a native type associated with the document file;
a notes database located on at least one of said servers, said notes database for storing one or more archived notes, each archived note associated with a particular one of said document pages;
one or more notes clients coupled to a second network, each notes client operative to locally generate a display of a document page described by one of said document files, said notes client adapted to permit a user to annotate said document page with one or more suer notes, said notes client operative to simultaneously display said archived nots associated with said document page and said user notes over said display of a document page such that said document page is viewable along with both said associated archived notes and said user notes, wherein any number of users in said network may simultaneously annotate their respective said document pages; and
a notes server of said one or more servers being coupled to said second network and operative to maintain said notes database; and
synchronization means operative to send one or more notes events from a synchronizing notes clients to said notes server, merge said notes events with the notes stored in said notes database associated with a particular document, and to send an updated notes list to said synchronizing notes client, wherein said updated notes list is generated by merging said one or more notes event with notes stored in said notes database associated with said particular document, and comprises annotations previously made by all other notes clients that have synchronized with said notes server since synchronization between said one of said notes clients and said notes server was last performed. - View Dependent Claims (74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 91)
a display;
network communication means for communicating data via a network;
a processor suitably programmed to run;
a web browser; and
a client note plug-in adapted to run within said web browser.
-
-
75. The system according to claim 73, wherein said second network comprises the internet.
-
76. The system according to claim 73, wherein said second network comprises a TCP/IP based network.
-
77. The system according to claim 73, wherein said second network comprises an Intranet.
-
78. The system according to claim 73, wherein said notes server comprises:
-
network communication means for communicating data via a network;
a processor suitably programmed to;
provide web server services;
provide notes agent services;
provide document and notes browsing and synchronization services to said one or more notes clients.
-
-
79. The system according to claim 73, further comprising a notes administrator for providing one or more Universal Resource Location (URL) aliases in managing and administrating said notes server.
-
80. The system according to claim 73, wherein two or more users can collaboratively work on the same document file whereby each user is capable of viewing notes made by the other users upon synchronization with said notes server.
-
81. The system according to claim 73, wherein a document page can be annotated on a notes client without requiring the entire document file to be transmitted to said notes client.
-
82. The system according to claim 73, further comprising security means for providing Universal Resource Locator (URL) translation and redirection services so as to provide user level security for documents and notes stored on said servers.
-
83. The system according to claim 73, wherein said document page comprises an image.
-
84. The system according to claim 73, wherein said document page is represented in said document file using a page description language.
-
85. The system according to claim 73, wherein said notes client is adapted to permit said user to annotate said document page in parallel with the display of said document page.
-
86. The system according to claim 84, wherein said page description language is portable document format or PDF.
-
87. The system according to claim 73, wherein said indication of a type is a Multipurpose Internet Mail Extension (MIME).
-
88. The system according to claim 79, wherein said Universal Resource Location (URL) aliases are composed of document file location within said document file system.
-
91. The system according to claim 73, wherein said notes clients perform synchronization events with said notes server asynchronously with respect to each other.
-
92. A method of collaborative document annotation in a system including one or more notes clients and a notes server, said method comprising the steps of:
-
displaying a representation of a document and associated notes on one of said notes clients;
generating one or more notes events in accordance with user annotations of said document, wherein any number of users in said network may simultaneously annotate their respective representations of said document;
synchronizing said one of said notes clients with said notes server wherein said one or more notes events are sent from said one of said notes clients to said notes server, merged with a current notes list maintained by said notes server and an updated notes list is sent from said notes server to said one of said notes clients; and
wherein said updated notes list incorporates annotations previously made by all other notes clients that have synchronized with said notes server since synchronization between said one of said notes clients and said notes server was last performed. - View Dependent Claims (93)
-
-
94. A method of collaborative document annotation for use on a notes server in a system including one or more notes clients, said method comprising the steps of:
-
first receiving a request to view a document and in response thereto sending requested document data to a notes client;
second receiving a request to retrieve notes associated with said document and in response thereto sending requested annotation data to said notes client;
third receiving one or more notes events associated with said document from said notes client in response to a synchronization event and in response, merging said one or more notes events with a current set of notes stored in a notes database and associated with said document, generating an updated notes list therefrom and sending said updated notes list to said notes client; and
wherein said updated notes list incorporates annotations previously made by all other notes clients that have synchronized with said notes server since synchronization between said one of said notes clients and said notes server was last performed. - View Dependent Claims (95)
-
-
96. A computer program product for use in a notes server, said computer program product comprising:
-
a computer useable medium having computer readable program code means embodied in said medium for performing collaboration annotation of documents, said computer program product comprising;
computer readable program code means for receiving a request to retrieve notes associated with a document and in response thereto sending requested annotation data to a notes client;
computer readable program code means for receiving one or more notes events associated with said document from said notes client in response to a synchronization event; and
computer readable program code means for merging said one or more notes events with a current set of notes stored in a notes database and associated with said document, generating an updated notes list therefrom and sending said updated notes list to said notes client in response to said synchronization event, and wherein said updated notes list incorporates annotations previously made by all other notes clients that have synchronized with said notes server since synchronization between said one of said notes clients and said notes server was last performed.
-
Specification