Efficient publish/subscribe systems
AssigneeUniversity of Florida Research Foundation, Inc.
InventorsSartaj K. Sahni, Tania Banerjee Mishra
Life of this patent
Estimating the term…
Abstract
A publish/subscribe system is described that can adjust to provide high performance for diverse application environments through an attribute structure based on predicates of a subscription, each attribute structure with one or more buckets to which attribute values of a subscription may be stored. Various data structures can be used in the attribute structure to locate the buckets containing the subscriptions. The data structures selected for each subscription are based on the attribute type and predicate operators of the subscription.
Claims24
A publish/subscribe system comprising:
- a database storing subscriptions;
- and
- a database manager that when executed by one or more processors directs the one or more processors to:
- perform an update action with respect to a subscription to the database by:
- using attributes of the subscription to follow a path in a hierarchical subscription data structure stored in the database until a lowest level is reached where there are still non-empty attributes;
- and
- performing the update action at an appropriate bucket of the database determined by the following of the path in the hierarchical subscription data structure;
- and
- search for one or more matching subscriptions for an event by:
- using the hierarchical subscription data structure to determine which buckets of the subscription structure are to be searched;
- and
- searching the buckets of the subscription structure which are to be searched for the one or more subscriptions that match the event.
A computer-readable storage medium having instructions stored thereon that, when executed by a processor, perform a method comprising:
- in response to receiving a request to perform an update action with respect to a subscription, performing the update action with respect to the subscription to the database by:
- using attributes of the subscription to follow a path in a hierarchical subscription data structure stored in the database until a lowest level is reached where there are still non-empty attributes;
- and
- performing the update action at an appropriate bucket of the database determined by the following of the path in the hierarchical subscription data structure;
- and
- in response to receiving a request to process an event, searching for one or more matching subscriptions for the event by:
- using the hierarchical subscription data structure to determine which buckets of the subscription structure are to be searched;
- and
- searching the buckets of the subscription structure which are to be searched for the one or more subscriptions that match the event.
A method of selecting a data structure for an attribute of a subscription in a publish/subscribe system, the attribute comprising attribute predicates, the method comprising:
- selecting an attribute data structure based on subscription predicates that use the attribute.
Dependencies are inferred from the claim text.