Method and system for delivering published information associated with a tuple using a pub/sub protocol
A method for delivering published information associated with a tuple using a pub/sub communication protocol includes receiving partitioning information associated with the tuple and using the partitioning information to define a plurality of distinct tuple elements. Each distinct tuple element corresponds to a portion of the published information associated with the tuple. A series of notification messages is sent to a recipient client where each notification message is associated with one of the plurality of distinct tuple elements for providing each related portion of the published information to the recipient client.
1 . A method for delivering published information associated with a tuple using a publish/subscribe communication protocol, the method comprising:
receiving partitioning information associated with the tuple;
defining a plurality of distinct tuple elements each related to a portion of the published information associated with the tuple based on the received partitioning information; and
sending a series of notification messages to a recipient client, each notification message being associated with one of the plurality of distinct tuple elements for providing each related portion of the published information to the recipient client.
2 . The method of claim 1 further comprising forming a notification message associated with one of the plurality of distinct tuple elements by including the portion of the published information related to the one distinct tuple element in the notification message.
3 . The method of claim 1 further comprising forming a notification message associated with one of the plurality of distinct tuple elements by including an identifier that references the portion of the published information related to the one distinct tuple element in the notification message.
4 . The method of claim 1 further comprising associating the plurality of distinct tuple elements with a subscription and wherein sending the series of notification messages is pursuant to the subscription.
5 . The method of claim 1 wherein the partitioning information is provided by a publisher associated with the tuple and includes at least one of an order in which each of the notification messages in the series of notification messages is to be sent and an indication of how the plurality of distinct tuple elements is to be defined.
6 . The method of claim 1 wherein the partitioning information is included in a subscription request to the tuple and includes at least one of: an indication of how the plurality of distinct tuple elements is to be defined, an order in which each of the notification messages in the series of notification messages is to be sent, a time interval between the sending of each notification, a characteristic of a device to which the series of notification messages is to be sent, and information related to a subscriber to which the series of notification messages is to be sent.
7 . The method of claim 1 further including:
in response to receiving a request from a subscriber to subscribe to the tuple, sending a form to the subscriber that allows the subscriber to provide the partitioning information.
8 . The method of claim 1 further comprising:
receiving an update to the tuple from a publisher;
updating the tuple; and
sending the series of notification messages each associated with one of the plurality of distinct tuple elements for providing each corresponding portion of the published information to the recipient device.
9 . The method of claim 8 wherein receiving the partitioning information, receiving the update, and sending the notifications is performed using a publish/subscribe communication protocol.
10 . The method of claim 8 wherein at least one of the notification messages in the series of notification messages includes published information that has not been modified by the update to the tuple.
11 . The method of claim 1 wherein the tuple comprises a set of tuple elements and wherein defining the plurality of distinct tuple elements includes:
selecting the plurality of distinct tuple elements from the set of tuple elements based on the partitioning information, wherein the selected plurality of distinct tuple elements is a subset of the set of tuple elements.
12 . A method for receiving information associated with a tuple using a publish/subscribe communication protocol, the method comprising:
forming a subscription request to subscribe to the information associated with the tuple;
sending the subscription request to a publish/subscribe service that manages the tuple; and
receiving a series of notification messages from the publish/subscribe service based on the subscription request,
wherein each notification message is associated with one of a plurality of distinct tuple elements, each of which is related to a portion of the published information associated with the tuple.
13 . The method of claim 12 wherein a received notification message includes the portion of the published information related to the one distinct tuple element associated with the received notification message.
14 . The method of claim 12 wherein a received notification message includes an identifier that references the portion of the published information related to the one distinct tuple element associated with the received notification message.
15 . The method of claim 14 further comprising using the identifier to retrieve the portion of the published information related to the one distinct tuple element associated with the received notification message.
16 . The method of claim 12 wherein forming the subscription request includes providing partitioning information that is used to define the plurality of distinct tuple elements.
17 . The method of claim 16 wherein forming the subscription request includes receiving from the publish/subscribe service a form that allows a subscriber to provide the partitioning information, and sending the partitioning information to the publish/subscribe service.
18 . The method of claim 16 wherein the partitioning information includes at least one of: an indication of how the plurality of distinct tuple elements is to be defined, an order in which each of the notification messages in the series of notification messages is to be sent, a time interval between the sending of each notification, a characteristic of a device to which the series of notification messages is to be sent, and information related to a subscriber to which the series of notification messages is to be sent.
19 . The method of claim 12 wherein the tuple comprises a set of tuple elements, and wherein forming the subscription request includes providing partitioning information to identify the plurality of distinct tuple elements from the set of tuple elements, wherein the identified plurality of distinct tuple elements is a subset of the set of tuple elements.
20 . The method of claim 12 wherein sending the subscription request and receiving the series of notification messages are performed using a publish/subscribe communication protocol.
21 . The method of claim 12 wherein receiving the series of notification messages includes receiving a notification message that is associated with a distinct tuple element that has not been modified by a most recent update to the tuple.
22 . A system for delivering published information associated with a tuple using a publish/subscribe communication protocol, the system comprising:
a publisher configured to publish information associated with the tuple;
a recipient client configured to receive the published information; and
a publish/subscribe service configured to receive partitioning information associated with the tuple, to define a plurality of distinct tuple elements each related to a portion of the published information associated with the tuple based on the received partitioning information, and to send to the recipient client a series of notification messages each associated with one of the plurality of distinct tuple elements for providing each related portion of the published information to the recipient client.
23 . The system of claim 22 wherein a notification message associated with one of the plurality of distinct tuple elements includes the portion of the published information related to the one distinct tuple element in the notification message.
24 . The system of claim 22 wherein a notification message associated with one of the plurality of distinct tuple elements includes an identifier that references the portion of the published information related to the one distinct tuple element in the notification message.
25 . The system of claim 22 wherein the recipient client is configured to submit a subscription to the tuple, and wherein the publish/subscribe service is configured to associate the plurality of distinct tuple elements with the subscription and to send the series of notification messages pursuant to the subscription.
26 . The system of claim 22 wherein the partitioning information is provided by the publisher and includes at least one of an order in which each of the notification messages in the series of notification messages is to be sent and an indication of how the plurality of distinct tuple elements is to be defined.
27 . The system of claim 22 wherein the publisher is configured to publish updated information associated with the tuple and wherein in response to receiving the updated information, the publish/subscribe service is further configured to update the tuple and to send to the recipient client a series of notification messages associated with each of the plurality of distinct tuple elements in response to updating the tuple, regardless of whether any of the plurality of distinct tuple elements is modified by the update to the tuple.
28 . The system of claim 22 wherein the partitioning information is provided by the recipient client and includes at least one of: an indication of how the plurality of distinct tuple elements is to be defined, an order in which each of the notification messages in the series of notification messages is to be sent, a time interval between the sending of each notification, a characteristic of a device to which the series of notification messages is to be sent, and information related to a subscriber to which the series of notification messages is to be sent.
29 . The system of claim 22 wherein the tuple comprises a set of tuple elements and wherein the publish/subscribe service is configured to define the plurality of distinct tuple elements by selecting the plurality of distinct tuple elements from the set of tuple elements based on the partitioning information, wherein the selected plurality of distinct tuple elements is a subset of the set of tuple elements.
30 . A system for delivering published information associated with a tuple using a publish/subscribe communication protocol, the system comprising:
means for publishing information associated with the tuple;
means for defining a plurality of distinct tuple elements each related to a portion of the published information associated with the tuple based on partitioning information; and
means for sending to a recipient client a series of notification messages each associated with one of the plurality of distinct tuple elements for providing each related portion of the published information to the recipient client.
31 . A system for receiving information associated with a tuple using a publish/subscribe communication protocol, the system comprising:
means for forming a subscription request to subscribe to the information associated with the tuple;
means for providing partitioning information related to the tuple in the subscription request;
means for sending the subscription request to a publish/subscribe service that manages the tuple; and
means for receiving a series of notification messages from the publish/subscribe service based on the subscription request, wherein each notification message is associated with one of a plurality of distinct tuple elements, each of which is related to a portion of the published information associated with the tuple.
32 . A device for receiving information associated with a tuple using a publish/subscribe communication protocol, the device comprising:
a subscription client component configured to form a subscription request to subscribe to the information associated with the tuple and to include partitioning information related to the tuple in the subscription request; and
a network stack component configured to send the subscription request and partitioning information to a publish/subscribe service that manages the tuple, and to receive a series of notification messages from the publish/subscribe service based on the subscription request,
wherein the partitioning information is used to define a plurality of distinct tuple elements, each of which is related to a portion of the published information associated with the tuple, and wherein each notification message is associated with one of the plurality of distinct tuple elements.
33 . The device of claim 32 wherein a received notification message includes the portion of the published information related to the one distinct tuple element associated with the received notification message.
34 . The device of claim 32 wherein a received notification message includes an identifier that references the portion of the published information related to the one distinct tuple element associated with the received notification message.
35 . The device of claim 32 wherein the partitioning information includes at least one of: an indication of how the plurality of distinct tuple elements is to be defined, an order in which each of the notification messages in the series of notification messages is to be sent, a time interval between the sending of each notification, a characteristic of the device to which the series of notification messages is to be sent, and information related to a subscriber to which the series of notification messages is to be sent.
36 . The device of claim 32 wherein the subscription client includes a subscription component configured to send the subscription request and to receive the series of notification messages using a publish/subscribe communication protocol.
37 . The device of claim 32 wherein the subscription client is configured to process the series of notification messages received in response to a most recent update to the tuple, regardless of whether any of the notification messages is associated with any of the plurality of distinct tuple elements modified by the most recent update to the tuple.
38 . A computer readable medium containing program instructions for delivering published information associated with a tuple using a publish/subscribe communication protocol, the program instructions for:
receiving partitioning information associated with the tuple;
defining a plurality of distinct tuple elements each related to a portion of the published information associated with the tuple based on the received partitioning information; and
sending a series of notification messages each associated with one of the plurality of distinct tuple elements for providing each related portion of the published information to a recipient device.
39 . The computer readable medium of claim 38 further comprising instructions for:
receiving an update to the tuple from a publisher;
updating the tuple; and
sending to the recipient device a series of notification messages associated with each of the plurality of distinct tuple elements, regardless of whether any of the plurality of distinct tuple elements has been updated.
40 . A computer readable medium containing program instructions for receiving information associated with a tuple using a publish/subscribe communication protocol, the program instructions for:
forming a subscription request to subscribe to the information associated with the tuple;
sending the subscription request to a publish/subscribe service that manages the tuple; and
receiving a series of notification messages from the publish/subscribe service based on the subscription request,
wherein each notification message is associated with one of a plurality of distinct tuple elements, each of which is related to a portion of the published information associated with the tuple.