CONTENT-FILTER PUBLISH-SUBSCRIBE SYSTEM THAT OPTIMIZES INTERPROCESS COMMUNICATIONS
In a publish-subscribe system, a subscribing process may specify a condition relating to an object's attribute value. The condition may be retained in a data structure, and evaluated against a to be published event. If the condition is satisfied or occurred, the publish-subscribe system transmits a notification event to the subscribing process indicating the existence of the published event.
1 . A computer programmed to service publish-subscribe interprocess communication events, comprising:
a processor programmed to receive a content-filter message from a subscribing process, the content-filter message indicating a condition of an object attribute that determines when the subscribing process is notified of a change to a value of the object attribute;
a memory configured to retain the content-filter message and the associated subscribing process;
the processor further programmed to evaluate the content-filter message condition against a published event received from a publishing process.
2 . The computer of claim 1 , wherein the processor is further programmed to transmit a notification event to the subscribing process to notify the subscribing process when an evaluation of the content-filter condition is satisfied.
3 . The computer of claim 2 , wherein the processor is further programmed to publish the published event to the subscribing process.
4 . The computer of claim 2 , wherein the notification event is configured to wake-up the subscribing process from a sleep state.
5 . The computer of claim 3 , wherein the processor publishes to the subscribing process a change to the value of the object attribute in response to an operation invoked by the subscribing process.
6 . The computer of claim 5 , wherein the processor publishes to the subscribing process additional data associated with the value of the object attribute that changed.
7 . The computer of claim 5 , wherein the processor publishes to the subscribing process a portion of additional data associated to the value of the object attribute that changed.
8 . The computer of claim 1 , wherein the content-filter message comprises an object attribute, a threshold value for the object attribute, and an evaluative condition associated with the threshold value for the object attribute.
9 . The computer of claim 1 , wherein the processor is further configured to limit a number of times that content-filter message condition is evaluated.
10 . A computer programmed to service publish-subscribe interprocess communications, comprising:
a processor programmed to operate as a publish-subscribe engine to receive from a subscribing process a content-filter message;
a multidimensional data structure configured to retain the content-filter message by reference to a first index variable and a second index variable;
the content-filter message comprising an object attribute associated with a publish-subscribe object and an evaluatable condition associated with the object attribute, the content-filter message defining when the subscribing process is notified about a change to the object attribute.
11 . The computer of claim 10 , wherein the first index variable comprises the object attribute.
12 . The computer of claim 11 , wherein the first index variable further comprises the publish-subscribe object.
13 . The computer of claim 10 , wherein the second index variable comprises the subscribing process.
14 . The computer of claim 10 , wherein the evaluatable condition comprises a logic operation.
15 . The computer of claim 10 , wherein the evaluatable condition comprises an alias of a system condition.
16 . A method in a computer system for publish-subscribe content-filtering, the method comprising:
receiving from a subscribing process a subscribe function including a publish-subscribe object and a content-filter corresponding to the publish-subscribe object, the subscribe function received at a subscriber application interface in the computer system;
receiving from a publisher a publish event including the publish-subscribe object, the publication event received at a publisher application interface in the computer system, the publish event including a change to an object attribute contained within the publish-subscribe object;
evaluating the change to the object attribute contained within the publish-subscribe object against the content filter; and
transmitting a notification event to the subscribing process when the evaluation of the content-filter is satisfied.
17 . The method of claim 16 , wherein the subscribing process awakens in response to the notification event.
18 . The method of claim 17 , wherein the notification event comprises the publication event.
19 . The method of claim 18 , wherein the publication event further comprises an entire contents of the publish-subscribe object.
20 . The method of claim 18 , wherein the publication event further comprises a portion of the publish-subscribe object.
21 . The method of claim 16 , wherein the publish-subscribe object relates to an interprocess communication.