← Back to Patent Explorer
US6324587B1 Expired / Lapsed US ⏱️ 0.0 years remaining

Method, computer program product, and data structure for publishing a data object over a store and forward transport

Assignee: Microsoft Technology Licensing LLC
•
Filing: 1997-12-23
•
Granted: 2001-11-27
•
Expires: 2017-12-23
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method and computer program product instituting an entirely client-based system for sharing messages and other data objects is provided. Communication between clients occurs over a generic store and forward transport such as the Internet message protocol described in RFC 822 and implemented on the Internet or other wide area network. A message or other data object is originally maintained by a “publication” client that publishes the data object and any modifications thereto to one or more “subscription” clients that will each maintain a copy thereof. As modifications are made by a client (either publication or subscription) to the client copy of the data object, the modified data object is sent, using the store and forward transport, to the publication client to update the data object. Once the data object is updated by the publication client, copies of the modified data object are sent using the store and forward transport to each subscription client so that the subscription client may update the subscription copy. One embodiment of the present invention designates a messaging folder containing one or more data objects as a publication folder (managed by a publication client) that is replicated out to subscription clients over the store and forward transport. The subscription clients each have a corresponding subscription folder wherein the subscription client copies of the data objects are maintained. Any modifications to the data objects are passed to the publication client for verification, replacement in the publication folder, and distribution out to each subscription client for replacement in the corresponding subscription folder. The addition of new data objects or the deletion of existing data objects are handled in like manner through the publication client.

Inventors

  • 👤 Brian Trenbeath
  • 👤 Vilayanur Parameswaran Krishnan
  • 👤 William J. Bliss
  • 👤 Siunie Aquawati Sutjahjo
  • 👤 Kevin J. Braun
  • 👤 David R. Dozier
  • 👤 Eric N. Huber

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-26 14:15
CPC Classifications
H; H04; H04L; H04L67/00; H04L67/01; H04L67/10; H04L67/1095; H04L63/00; H04L63/10; H04L63/105; H04L67/50; H04L67/55

Claims Analysis

Total Claims: 35
Claim 1
Independent Claim 101 words
A method for sharing a data object amongst multiple clients and distributing changes made to the data object among the clients comprising the steps of: publishing the data object to at least one subscription client from a publishing client so that a data object copy resides at each subscription client; receiving, at the publishing client, changes to the data object from one of the subscription clients over a store and forward transport; and distributing the changes from the publishing client to the clients not aware of the changes so that the data object and data object copies may reflect the changes.
Claim 2
Independent Claim 101 words
A method for sharing a data object amongst multiple clients and distributing changes made to the data object among the clients comprising the steps of: publishing the data object to at least one subscription client from a publishing client so that a data object copy resides at each subscription client; receiving, at the publishing client, changes to the data object from one of the subscription clients over a store and forward transport; and distributing the changes from the publishing client to the clients not aware of the changes so that the data object and data object copies may reflect the changes.
Claim 3
Dependent Claim 67 words
A method as recited in claim 1 further comprising the step of sending, periodically from the publishing client to each subscription client, a synchronization message over a store and forward transport containing the current modification status of the data object so that each subscription client may verify that the respective data object copy is up to date with respect to the data object at the publishing client.
Claim 4
Dependent Claim 72 words
A method as recited in claim 1 wherein the publishing step comprises the steps of: sending a subscription invitation message over a store and forward transport to at least one potential subscription client; receiving a subscription acknowledgment message over a store and forward transport from each potential subscription client desiring to subscribe to the data object; and sending the data object to each acknowledged subscription client over a store and forward transport.
Claim 5
Dependent Claim 36 words
A method as recited in claim 1 wherein the publishing step comprises the step of sending at least one message over a store and forward transport having associated therewith the data object to each subscription client.
Claim 6
Dependent Claim 25 words
A method as recited in claim 1 wherein the receiving step comprises receiving a store and forward message having associated therewith the modified data object.
Claim 7
Dependent Claim 31 words
A method as recited in claim 1 wherein the distributing step comprises sending a store and forward message having associated therewith the modified data object to each of the subscription clients.
Claim 8
Dependent Claim 87 words
A method as recited in claim 1 wherein the modified data object is a data object that has been deleted by a subscription client and the receiving step comprises receiving a message over a store and forward transport indicating deletion of the data object, and wherein the distributing step comprises sending a message over a store and forward transport to each subscription client indicating the deletion of the particular data object so that each subscription client may make the corresponding deletion of the respective data object copy.
Claim 9
Dependent Claim 20 words
A method as recited in claim 1 wherein the subscription clients have different permissions with respect to the data object.
Claim 10
Dependent Claim 15 words
A computer-readable medium having computer-executable instructions for performing the steps recited in claim 1 .
Claim 11
Dependent Claim 98 words
A method as recited in claim 1 , further comprising: a monitoring, client not aware of the changes, the incoming messages delivered by a store and forward transport for messages from a publishing client, the messages used for maintaining a subscription folder that contains data objects; transferring the messages from the publishing client to a pending messages folder if the message represents a change in a data object such as the changes to the data object received from one of the subscription clients over the store and forward transport; and processing each message in the pending message folder.
Claim 12
Dependent Claim 38 words
A method as recited in claim 10 wherein processing each message comprises: parsing the message for an attached data object; and if an attached data object is found during parsing, placing the data object into the subscription folder.
Claim 13
Dependent Claim 133 words
A method as recited in claim 10 wherein processing each message comprises: parsing the message for a publisher table of contents comprising a list of data object references, the publisher table of contents corresponding to the subscription folder; if a publisher table of contents is found during parsing, comparing the list of data object references in the publisher table of contents with the data objects in the subscription folder and based on the comparison performing the following: deleting data objects from the subscription folder that do not appear on the publisher table of contents list of data object references; and sending a request message to the publishing client for each data object not found in the subscription folder but found on the list of data object references of the publisher table of contents.
Claim 14
Dependent Claim 101 words
A method as recited in claim 12 wherein each data object in the subscription folder has associated therewith a version number, the publisher table of contents further comprises a version number for each data object reference, the comparing the list of data object references comprises comparing the data object reference version number with the corresponding subscription folder data object version number, and sending a request message further comprises sending a request message to the publishing client for each data object having a higher version number on the publisher table of contents data object reference than on the subscription folder version number.
Claim 15
Dependent Claim 95 words
A method as recited in claim 1 , further comprising: monitoring, at the publishing client, the incoming messages delivered by a store and forward transport for messages from subscription clients, the messages used for maintaining a publication folder that contains data objects; transferring the messages from the subscription clients to a pending messages folder if the message represents a change in a data object such as the changes to the data object received from the one of the subscription clients over the store and forward transport; and processing each message in the pending message folder.
Claim 16
Dependent Claim 62 words
A method as recited in claim 14 wherein processing each message comprises: parsing the message for an attached data object; and if an attached data object is found during parsing, placing the data object into the publication folder and sending an update message to at least one subscription client over a store and forward transport containing the data object as an attachment.
Claim 17
Dependent Claim 52 words
A method as recited in claim 14 wherein processing each message comprises: determining if the message is a request for a particular data object; and if the message is a request for a particular data object, sending an update message to the subscription client having the particular data object as an attachment.
Claim 18
Dependent Claim 60 words
The method in accordance with claim 1 , wherein the receiving, at the publishing client, of changes to the data object from one of the subscription clients over a store and forward transport comprises the following: receiving, at the publishing client, changes to the data object from one of the subscription clients using an RFC 822 Internet message protocol specification.
Claim 19
Independent Claim 140 words
A method for sharing data objects contained in a publication folder amongst multiple clients and distributing changes made to the data objects among the clients comprising the steps of: publishing, from a publishing client, the publication folder containing the data objects to at least one subscription client where a subscription folder containing the same data objects is maintained; receiving, at the publishing client, a modified data object corresponding to a data object contained in the publication folder from one of the subscription clients over a store and forward transport; replacing, in the publication folder, the corresponding data object with the modified data object in the folder; and distributing the modified data object from the publishing client to every subscription client so that each subscription client may replace the corresponding data object with the modified data object in the subscription folder.
Claim 20
Independent Claim 140 words
A method for sharing data objects contained in a publication folder amongst multiple clients and distributing changes made to the data objects among the clients comprising the steps of: publishing, from a publishing client, the publication folder containing the data objects to at least one subscription client where a subscription folder containing the same data objects is maintained; receiving, at the publishing client, a modified data object corresponding to a data object contained in the publication folder from one of the subscription clients over a store and forward transport; replacing, in the publication folder, the corresponding data object with the modified data object in the folder; and distributing the modified data object from the publishing client to every subscription client so that each subscription client may replace the corresponding data object with the modified data object in the subscription folder.
Claim 21
Dependent Claim 61 words
A method as recited in claim 12 further comprising the step of periodically sending a store and forward message containing current modification status of each data object contained in the publication folder to every subscription client so that each subscription client may verify that the contents of the respective subscription folder is up to date with respect to the publication folder.
Claim 22
Dependent Claim 81 words
A method as recited in claim 12 wherein the publishing step comprises the steps of: sending a subscription invitation message over a store and forward transport to at least one potential subscription client; receiving a subscription acknowledgment message over a store and forward transport from each potential subscription client desiring to subscribe to the publication folder and contained data objects; and sending the data objects contained in the publication folder to each acknowledged subscription client over a store and forward transport.
Claim 23
Dependent Claim 41 words
A method as recited in claim 12 wherein the publishing step comprises the step of sending at least one message over a store and forward transport having associated therewith the data objects contained in the publication folder to each subscription client.
Claim 24
Dependent Claim 25 words
A method as recited in claim 12 wherein the receiving step comprises receiving a store and forward message having associated therewith the modified data object.
Claim 25
Dependent Claim 31 words
A method as recited in claim 12 wherein the distributing step comprises sending a store and forward message having associated therewith the modified data object to each of the subscription clients.
Claim 26
Dependent Claim 101 words
A method as recited in claim 12 wherein the modified data object is a data object that has been deleted by a subscription client and the receiving step comprises receiving a message over a store and forward transport indicating deletion of a particular data object, wherein the replacing step comprises deleting the data object from the publication folder, and wherein the distributing step comprises sending a message over a store and forward transport indicating the deletion of the particular data object so that each subscription client may make the corresponding deletion of the particular data object from the respective subscription folder.
Claim 27
Dependent Claim 26 words
A method as recited in claim 12 wherein the subscription clients have different permissions with respect to the publication folder and the data objects contained therein.
Claim 28
Dependent Claim 15 words
A computer-readable medium having computer-executable instructions for performing the steps recited in claim 12 .
Claim 29
Dependent Claim 161 words
A computer-readable medium having stored thereon a data structure, comprising: a plurality of data entries, each data entry corresponding to each client that subscribes to at least one data object stored in a folder, each data entry comprising: a first data field containing data representing an identification of a subscription client; a second data field containing data representing an identification of a data object; and a third data filed containing data representing a permission of how the subscription client identified in the first data filed can act upon the data object identified in the second data field, wherein when the subscription client acts upon the data object, the changes to the data object are transmitted over a store and forward transport to a publishing client which then itself distributes the modified data object over a store and forward transport to the other subscription clients represented by data entries in the plurality of data entries that are not aware of the changes.
Claim 30
Dependent Claim 161 words
A computer-readable medium having stored thereon a data structure, comprising: a plurality of data entries, each data entry corresponding to each client that subscribes to at least one data object stored in a folder, each data entry comprising: a first data field containing data representing an identification of a subscription client; a second data field containing data representing an identification of a data object; and a third data filed containing data representing a permission of how the subscription client identified in the first data filed can act upon the data object identified in the second data field, wherein when the subscription client acts upon the data object, the changes to the data object are transmitted over a store and forward transport to a publishing client which then itself distributes the modified data object over a store and forward transport to the other subscription clients represented by data entries in the plurality of data entries that are not aware of the changes.
Claim 31
Dependent Claim 29 words
A computer-readable medium as recited in claim 27 , wherein each data entry further comprises a fourth data field represented an electronic mail address of the corresponding subscription client.
Claim 32
Dependent Claim 125 words
A computer-readable medium for use in implementing a method for sharing a data object amongst multiple clients and distributing changes made to the data object among the clients, the computer-readable medium having stored thereon computer-executable instructions for performing the following: causing the data object to be published to at least one subscription client from a publishing client so that a data object copy resides at each subscription client; detecting the receipt, at the publishing client, of changes to the data object from one of the subscription clients over a store and forward transport; and causing the changes from the publishing client to be distributed to the clients not aware of the changes so that the data object and data object copies may reflect the changes.
Claim 33
Dependent Claim 125 words
A computer-readable medium for use in implementing a method for sharing a data object amongst multiple clients and distributing changes made to the data object among the clients, the computer-readable medium having stored thereon computer-executable instructions for performing the following: causing the data object to be published to at least one subscription client from a publishing client so that a data object copy resides at each subscription client; detecting the receipt, at the publishing client, of changes to the data object from one of the subscription clients over a store and forward transport; and causing the changes from the publishing client to be distributed to the clients not aware of the changes so that the data object and data object copies may reflect the changes.
Claim 34
Independent Claim 152 words
A method for sharing data objects contained in a publication folder amongst multiple clients and distributing changes made to the data objects among the clients comprising the steps of: causing the publication folder to be published from a publishing client to at least one subscription client where a subscription folder containing the same data objects is maintained, the publication folder containing the data objects; detecting the receipt, at the publishing client, of a modified data object corresponding to a data object contained in the publication folder from one of the subscription clients over a store and forward transport; replacing, in the publication folder, the corresponding data object with the modified data object in the folder; and causing the modified data object to be distributed from the publishing client to every subscription client so that each subscription client may replace the corresponding data object with the modified data object in the subscription folder.
Claim 35
Independent Claim 152 words
A method for sharing data objects contained in a publication folder amongst multiple clients and distributing changes made to the data objects among the clients comprising the steps of: causing the publication folder to be published from a publishing client to at least one subscription client where a subscription folder containing the same data objects is maintained, the publication folder containing the data objects; detecting the receipt, at the publishing client, of a modified data object corresponding to a data object contained in the publication folder from one of the subscription clients over a store and forward transport; replacing, in the publication folder, the corresponding data object with the modified data object in the folder; and causing the modified data object to be distributed from the publishing client to every subscription client so that each subscription client may replace the corresponding data object with the modified data object in the subscription folder.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2004-11-26 2005-05-28 2005-11-27 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2008-11-26 2009-05-28 2009-11-27 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2012-11-26 2013-05-28 2013-11-27 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag