Distributed framework for intertask communication between workstation applications
First Claim
1. A system adapted for intertask communication between workstation client applications, comprising:
- a first client non-server application adapted to transmit a first interest object corresponding to a first event, said first client non-server application storing therein a first set of stored data, said first set of stored data including a plurality of events, a plurality of interest objects corresponding, respectively, to said plurality of events, and a plurality of functions corresponding, respectively, to the plurality of events and to the plurality of interest objects, said first client non-server application further including a first open state status icon and a first closed state status icon;
a second client non-server application adapted to transmit a second interest object corresponding to a second event, said second client non-server application storing therein a second set of stored data, said second set of stored data including a plurality of events, a plurality of interest, objects corresponding, respectively, to said plurality of events, and a plurality of functions corresponding, respectively, to the plurality of events and to the plurality of interest objects, said second client non-server application further including a second open state status icon and a second closed state status icon;
a third client non-server application adapted to transmit a third interest object corresponding to a third event, said third client non-server application storing therein a third set of stored data, said third set of stored data including a plurality of events, a plurality of interest objects corresponding, respectively, to said plurality of events, and a plurality of functions corresponding, respectively, to the plurality of events and to the plurality of interest objects, said third client non-server application further including a third open state status icon and a third closed state status icon; and
a server operatively interposed between said first client non-server application and said second client non-server application and said third client non-server application, said first client non-server application expressing an interest in said first event by transmitting said first interest object to said server, said server re-transmitting said first interest object to said second client non-server application and to said third client non-server application, said second client non-server application comparing said first interest object received from said server with the plurality of interest objects in said second set of stored data stored in said second client non-server application, said third client non-sever application comparing said first interest object received from said server with the plurality of interest objects in said third set of stored data stored in said third client non-server application, said second client non-server application locating a match between said first interest object received from said server and one of the interest objects in said second set of stored data stored in said second client non-server application, said second client non-server application identifying one of the plurality of events representing said first event in said second set of stored data corresponding to said one of the interest objects in said second set of stored data, said second client non-server application determining a state of said second open state status icon and said second closed state status icon, said second client non-server application transmitting second event information corresponding to said one of the plurality of events representing said first event in said second set of stored data directly to said first client non-server application without routing said second event information through said server when said second client non-server application practices said one of the plurality of events and when said second open state status icon of said second client non-server application is actuated, said second client non-server application not transmitting said second event information directly to said first client non-server application even though said second client non-server application practices said one of the plurality of events when said second closed state status icon of said second client non-server application is actuated, said first client non-server application receiving said second event information associated with said one of the plurality of events from said second client non-server application when said second client non-server application practices said one of the plurality of events and when said second open state status icon of said second client non-server application is actuated and when said first open state status icon is actuated, said first client non-server application not receiving said second event information from said second client non-server application even though said second client non-server application practices said one of the plurality of events and even though said second open state status icon of said second client non-server application is actuated when said first closed state status icon of said first client non-server application is actuated, when said first client non-server application receives said second event information associated with said one of the plurality of events from said second client non-server application, said first client non-server application comparing said second event information received from said second client non-server application with the plurality of events in said first set of stored data and locating a match between said second event information and one of the plurality of events in said first set of stored data, said first client non-server application identifying one of the plurality of functions in said first set of stored data which corresponds to said one of the plurality of events in said first set of stored data, said first client non-server application executing said one of the plurality of functions.
2 Assignments
0 Petitions
Accused Products
Abstract
A Distributed Framework Intertask Communication Method and Apparatus providing a method for communicating between applications using an extensible communication protocol with an intuitive user interface allowing the user to easily visualize and control the connectivity between applications. The user transmits an interest object associated with an event from a first application to a server. The server then retransmits that interest object to a second application. When the second application practices that event, information concerning the practice of that event is transmitted directly from the second application to the first application without routing that event information through the server. Each client application includes a human interface code, for controlling the window display of the particular client application on the workstation, and a framework code for directing and controlling the communication and transmission of the interest objects and events between the first client application and a plurality of other client applications.
77 Citations
57 Claims
-
1. A system adapted for intertask communication between workstation client applications, comprising:
-
a first client non-server application adapted to transmit a first interest object corresponding to a first event, said first client non-server application storing therein a first set of stored data, said first set of stored data including a plurality of events, a plurality of interest objects corresponding, respectively, to said plurality of events, and a plurality of functions corresponding, respectively, to the plurality of events and to the plurality of interest objects, said first client non-server application further including a first open state status icon and a first closed state status icon;
a second client non-server application adapted to transmit a second interest object corresponding to a second event, said second client non-server application storing therein a second set of stored data, said second set of stored data including a plurality of events, a plurality of interest, objects corresponding, respectively, to said plurality of events, and a plurality of functions corresponding, respectively, to the plurality of events and to the plurality of interest objects, said second client non-server application further including a second open state status icon and a second closed state status icon;
a third client non-server application adapted to transmit a third interest object corresponding to a third event, said third client non-server application storing therein a third set of stored data, said third set of stored data including a plurality of events, a plurality of interest objects corresponding, respectively, to said plurality of events, and a plurality of functions corresponding, respectively, to the plurality of events and to the plurality of interest objects, said third client non-server application further including a third open state status icon and a third closed state status icon; and
a server operatively interposed between said first client non-server application and said second client non-server application and said third client non-server application, said first client non-server application expressing an interest in said first event by transmitting said first interest object to said server, said server re-transmitting said first interest object to said second client non-server application and to said third client non-server application, said second client non-server application comparing said first interest object received from said server with the plurality of interest objects in said second set of stored data stored in said second client non-server application, said third client non-sever application comparing said first interest object received from said server with the plurality of interest objects in said third set of stored data stored in said third client non-server application, said second client non-server application locating a match between said first interest object received from said server and one of the interest objects in said second set of stored data stored in said second client non-server application, said second client non-server application identifying one of the plurality of events representing said first event in said second set of stored data corresponding to said one of the interest objects in said second set of stored data, said second client non-server application determining a state of said second open state status icon and said second closed state status icon, said second client non-server application transmitting second event information corresponding to said one of the plurality of events representing said first event in said second set of stored data directly to said first client non-server application without routing said second event information through said server when said second client non-server application practices said one of the plurality of events and when said second open state status icon of said second client non-server application is actuated, said second client non-server application not transmitting said second event information directly to said first client non-server application even though said second client non-server application practices said one of the plurality of events when said second closed state status icon of said second client non-server application is actuated, said first client non-server application receiving said second event information associated with said one of the plurality of events from said second client non-server application when said second client non-server application practices said one of the plurality of events and when said second open state status icon of said second client non-server application is actuated and when said first open state status icon is actuated, said first client non-server application not receiving said second event information from said second client non-server application even though said second client non-server application practices said one of the plurality of events and even though said second open state status icon of said second client non-server application is actuated when said first closed state status icon of said first client non-server application is actuated, when said first client non-server application receives said second event information associated with said one of the plurality of events from said second client non-server application, said first client non-server application comparing said second event information received from said second client non-server application with the plurality of events in said first set of stored data and locating a match between said second event information and one of the plurality of events in said first set of stored data, said first client non-server application identifying one of the plurality of functions in said first set of stored data which corresponds to said one of the plurality of events in said first set of stored data, said first client non-server application executing said one of the plurality of functions. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
said first client non-server application includes a first event filter icon, said second client non-server application includes a second event filter icon, and said third client non-server application includes a third event filter icon, each said event filter icon including a plurality of send boxes each of which is adapted to be actuated, a corresponding plurality of receive boxes each of which is adapted to be actuated, and a corresponding plurality of events which pertain, respectively, to the plurality of send boxes and to the plurality of receive boxes, and wherein;
when said second client non-server application identifies said one of the plurality of events in said second set of stored data, said second client non-server application determines a state of said second event filter icon, said second client non-server application transmitting second event information associated with said one of the plurality of events directly to said first client non-server application without routing said second event information through said server when said second client non-server application practices said one of the plurality of events in said second set of stored data and when one of the send boxes in the second event filter icon corresponding to said one of the plurality of events in said second set of stored data is actuated, and said second client non-server application not transmitting said second event information directly to said first client non-server application even though said second client non-server application practices said one of the plurality of events in said second set of stored data and even though said second open state status icon of said second client non-server application is actuated when one of the send boxes in the second event filter icon corresponding to said one of the plurality of events in said second set of stored data is not actuated.
-
-
3. The system of claim 2, wherein:
-
said first client non-server application receives said second event information associated with said one of the plurality of events from said second client non-server application when said second client non-server application practices said one of the plurality of events and when one of the receive boxes in the first event filter icon of said first client non-server application corresponding to said one of the plurality of events in said first set of stored data is actuated, and said first client non-server application not receiving said second event information from said second client non-server application even though said second client non-server application practices said one of the plurality of events in said second set of stored data and even though said second open state status icon of said second client non-server application is actuated and even though said first open state status icon of said first client non-server application is actuated when said one of the receive boxes in the first event filter icon of said first client non-server application, corresponding to said one of the plurality of events in said second set of stored data, is not actuated.
-
-
4. The system of claim 3, wherein said first client non-server application revokes its interest in said first event by transmitting a revocation object to said server, said server unregistering therein said interest by said first client non-server application in said first event, said server distributing said revocation object to said second client non-server application and said third client non-server application, said second client non-server application and said third client non-server application unregistering therein said interest by said first client non-server application in said first event, said second client non-server application not transmitting said second event information to said first client non-server application in response thereto.
-
5. The system of claim 3, wherein said first client non-server application terminates after said first client non-server application expresses said interest in said first event by transmitting said first interest object to said server, said server notices the termination of said first client non-server application and unregisters therein said interest by said first client non-server application in said first event, said server distributes a revocation object to said second client non-server application and said third client non-server application, said second client non-server application and said third client non-server application unregistering therein said interest by said first client non-server application in said first event, said second client non-server application not transmitting said second event information to said first client non-server application in response thereto.
-
6. The system of claim 1, wherein said server remains operatively interconnected between said first client non-server application and said second client non-server application and said third client non-server application when said first client non-server application executes said one of the plurality of functions, and wherein:
-
said third client non-server application expresses an interest in said third event by transmitting said third interest object corresponding to said third event to said server, said server re-transmitting said third interest object to said first client non-server application and to said second client non-server application, said first client non-server application comparing said third interest object received from said server with the plurality of interest objects in said first set of stored data stored in said first client non-server application, said second client non-server application comparing said third interest object received from said server with the plurality of interest objects in said second set of stored data stored in said second client non-server application, said first client non-server application locating a match between said third interest object received from said server and one of the interest objects in said first set of stored data stored in said first client non-server application, said first client non-server application identifying one of the plurality of events representing said third event in said first set of stored data corresponding to said one of the interest objects in said first set of stored data, said first client non-server application determining a state of said first open state status icon and said first closed state status icon, said first client non-server application transmitting first event information corresponding to said one of the plurality of events representing said third event in said first set of stored data directly to said third client non-server application without routing said first event information through said server when said first client non-server application practices said one of the plurality of events in said first set of stored data and when said first open state status icon is actuated, said first client non-server application not transmitting said first event information to said third client non-server application even though said first client non-server application practices said one of the plurality of events in said first set of stored data when said first closed state status icon is actuated, said third client non-server application receiving said first event information from said first client non-server application when said third open state status icon is actuated, said third client non-server application not receiving said first event information from said first client non-server application when said third closed state status icon is actuated, when said third client non-server application receives said first event information from said first client non-server application, said third client non-server application comparing said first event information received from said first client non-server application with the plurality of events in said third set of stored data and locating a match between said first event information and one of the plurality of events in said third set of stored data, said third client non-server application identifying another one of the plurality of functions in said third set of stored data which corresponds to said one of the plurality of events in said third set of stored data, said third client non-server application executing said another one of the plurality of functions.
-
-
7. The system of claim 6, wherein said first client non-server application includes a first event filter icon, said second client non-server application includes a second event filter icon, and said third client non-server application includes a third event filter icon, each said event filter icon including a plurality of send boxes each of which is adapted to be actuated, a corresponding plurality of receive boxes each of which is adapted to be actuated, and a corresponding plurality of events which pertain, respectively, to the plurality of send boxes and to the plurality of receive boxes, and wherein:
-
when said first client non-server application identifies said one of the plurality of events in said first set of stored data, said first client non-server application determines a state of said first event filter icon, said first client non-server application transmitting first event information associated with said one of the plurality of events directly to said third client non-server application without routing said first event information through said server when said first client non-server application practices said one of the plurality of events in said first set of stored data and when one of the send boxes in the first event filter icon corresponding to said one of the plurality of events in said first set of stored data is actuated, and said first client non-server application not transmitting said first event information directly to said third client non-server application even though said first client non-server application practices said one of the plurality of events in said first set of stored data and even though said first open state status icon of said first client non-server application is actuated when one of the send boxes in the first event filter icon corresponding to said one of the plurality of events in said first set of stored data is not actuated.
-
-
8. The system of claim 7, wherein:
-
said third client non-server application receives said first event information associated with said one of the plurality of events from said first client non-server application when said first client non-server application practices said one of the plurality of events and when said one of the send boxes in the first event filter icon is actuated and when one of the receive boxes in the third event filter icon of said third client non-server application, corresponding to said one of the plurality of events in said first set of stored data, is actuated, and said third client non-server application not receiving said first event information from said first client non-server application when said first client non-server application practices said one of the plurality of events in said first set of stored data even though said first open state status icon of said first client non-server application is actuated and even though one of the send boxes in the first event filter icon is actuated and even though said third open state status icon of said third client non-server application is actuated when said one of the receive boxes in the third event filter icon of said third client non-server application, corresponding to said one of the plurality of events in said first set of stored data, is not actuated.
-
-
9. The system of claim 8, wherein said third client non-server application revokes its interest in said third event by transmitting a revocation object to said server, said server unregistering therein said interest by said third client non-server application in said third event, said server distributing said revocation object to said first client non-server application and said second client non-server application, said first client non-server application and said second client non-server application unregistering therein said interest by said third client non-server application in said third event, said first client non-server application not transmitting said first event information to said third client non-server application in response thereto.
-
10. The system of claim 8, wherein said third client non-server application terminates after said third client non-server application expresses said interest in said third event by transmitting said third interest object to said server, said server notices the termination of said third client non-server application and unregisters therein said interest by said third client non-server application in said third event, said server distributes a revocation object to said first client non-server application and said second client non-server application, said first client non-server application and said second client non-server application unregistering therein said interest by said third client non-server application in said third event, said first client non-server application not transmitting said first event information to said third client non-server application in response thereto.
-
11. A method of communicating between workstation client applications, comprising the steps of:
-
(a) expressing, by a first client non-server application, an interest in a first event by transmitting a first interest object from said first client non-server application to a server, said server being operatively interposed between said first client non-server application and a second client non-server application and a third client non-server application, said first client non-server application storing therein a first set of stored data, said first set of stored data including a plurality of events, a plurality of interest objects corresponding, respectively, to said plurality of events, and a plurality of functions corresponding, respectively, to said plurality of events and to said plurality of interest objects, said first client non-server application further including an open state status icon and a closed state status icon, said second client non-server application storing therein a second set of stored data, said second set of stored data including a plurality of events, a plurality of interest objects corresponding, respectively, to said plurality of events, and a plurality of functions corresponding, respectively, to said plurality of events and to said plurality of interest objects, said second client non-server application further including an open state status icon and a closed state status icon, said third client non-server application storing therein a third set of stored data, said third set of stored data including a plurality of events, a plurality of interest objects corresponding, respectively, to said plurality of events, and a plurality of functions corresponding, respectively, to said plurality of events and to said plurality of interest objects, said third client non-server application further including an open state status icon and a closed state status icon;
(b) receiving said first interest object in said server and retransmitting by said server, said first interest object to said second client non-server application and to said third client non-server application;
(c) comparing, by said second client non-server application, said first interest object received from said server with the plurality of interest objects in said second set of stored data stored in said second client non-server application;
(d) comparing, by said third client non-server application, said first interest object received from said server with the plurality of interest objects in said third set of stored data stored in said third client non-server application;
(e) locating, by said second client non-server application, a match between said first interest object received from said server and one of the interest objects in said second set of stored data stored in said second client non-server application;
(f) identifying, by said second client non-server application, one of the plurality of events representing said first event in said second set of stored data corresponding to said one of the interest objects in said second set of stored data;
(g) determining, by said second client non-server application, a state of said second open state status icon and said second closed state status icon;
(h) transmitting, by said second client non-server application, second event information corresponding to said one of the plurality of events representing said first event in said second set of stored data directly to said first client non-server application without routing said second event information through said server when said second client non-server application practices said one of the plurality of events and when said second open state status icon of said second client non-server application is actuated;
(i) not transmitting, by said second client non-server application, said second event information directly to said first client non-server application even though said second client non-server application practices said one of the plurality of events when said second closed state status icon of said second client non-server application is actuated;
(j) receiving, by said first client non-server application, said second event information associated with said one of the plurality of events from said second client non-server application when said second client non-server application practices said one of the plurality of events and when said second open state status icon of said second client non-server application is actuated and when said first open state status icon of said first client non-server application is actuated;
(k) not receiving, by said first client non-server application, said second event information from said second client non-server application even though said second client non-server application practices said one of the plurality of events and even though said second open state status icon of said second client non-server application is actuated when said first closed state status icon of said first client non-server application is actuated, (l) when said first client non-server application receives said second event information associated with said one of the plurality of events from said second client non-server application, comparing, by said first client non-server application, said second event information received from said second client non-server application with the plurality of events in said first set of stored data and locating a match between said second event information and one of the plurality of events in said first set of stored data, (m) identifying, by said first client non-server application, one of the plurality of functions in said first set of stored data which corresponds to said one of the plurality of events in said first set of stored data, and (n) executing, by said first client non-server application, said one of the plurality of functions. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
(o) when said second client non-server application identifies said one of the plurality of events in said second set of stored data, determining, by said second client non-server application, a state of said second event filter icon;
(p) transmitting, by said second client non-server application, second event information associated with said one of the plurality of events directly to said fast client non-server application without routing said second event information through said server when said second client non-server application practices said one of the plurality of events in said second set of stored data and when one of the send boxes in the second event filter icon corresponding to said one of the plurality of events in said second set of stored data is actuated, and (q) not transmitting, by said second client non-server application, said second event information directly to said first client non-server application even though said second client non-server application practices said one of the plurality of events in said second set of stored data and even though said second open state status icon of said second client non-server application is actuated when one of the send boxes in the second event filter icon corresponding to said one of the plurality of events in said second set of stored data is not actuated.
-
-
13. The method of claim 12, further comprising the steps of:
-
(r) receiving, by said first client non-server application, said second event information associated with said one of the plurality of events from said second client non-server application when said second client non-server application practices said one of the plurality of events and when one of the receive boxes in the first event filter icon of said first client non-server application corresponding to said one of the plurality of events in said first set of stored data is actuated, and (s) not receiving, by said first client non-server application, said second event information from said second client non-server application even though said second client non-server application practices said one of the plurality of events in said second set of stored data and even though said second open state status icon of said second client non-server application is actuated and even though said first open state status icon of said first client non-server application is actuated when said one of the receive boxes in the first event filter icon of said first client non-server application, corresponding to said one of the plurality of events in said second set of stored data, is not actuated.
-
-
14. The method of claim 13, further comprising the steps of:
-
(t) revoking, by said first client non-server application, said interest in said first event by transmitting a revocation object to said server, (u) unregistering, by said server, said interest by said first client non-server application in said first event, and distributing, by said server, said revocation object to said second client non-server application and said third client non-server application;
(v) unregistering, by said second client non-server application and said third client non-server application, said interest by said first client non-server application in said first event, and not transmitting;
by said second client non-server application, said second event information to said first client non-server application in response thereto.
-
-
15. The method of claim 13, further comprising the steps of:
-
(t) terminating, by said first client non-server application, after said first client non-server application expresses said interest in said first event by transmitting said first interest object to said server, (u) noticing, by said server, the termination of said first client non-server application and unregistering therein said interest by said first client non-server application in said first event, (v) distributing, by said server, a revocation object to said second client non-server application and said third client non-server application, and unregistering, by said second client non-server application and said third client non-server application, said interest by said first client non-server application in said first event, and (w) not transmitting, by said second client non-server application, said second event information to said first client non-server application in response thereto.
-
-
16. The method of claim 11, wherein said server remains operatively interconnected between said first client non-server application and said second client non-server application and said third client non-server application when said first client non-server application executes said one of the plurality of functions, further comprising the steps of:
-
(o) expressing, by said third client non-server application, an interest in said third event by transmitting said third interest object corresponding to said third event to said server, and re-transmitting, by said server, said third interest object to said first client non-server application and to said second client non-server application;
(p) comparing, by-said first client non-server application, said third interest object received from said server with the plurality of interest objects in said first set of stored data stored in said first client non-server application;
(q) comparing, by said second client non-server application, said third interest object received from said server with the plurality of interest objects in said second set of stored data stored in said second client non-server application;
(r) locating, by said first client non-server application, a match between said third interest object received from said server and one of the interest objects in said first set of stored data stored in said first client non-server application;
(s) identifying, by said first client non-server application, one of the plurality of events representing said third event in said first set of stored data corresponding to said one of the interest objects in said first set of stored data;
(t) determining, by said first client non-server application, a state of said first open state status icon and said first closed state status icon;
(u) transmitting, by said first client non-server application, first event information corresponding to said one of the plurality of events representing said third event in said first set of stored data directly to said third client non-server application without routing said first event information through said server when said first client non-server application practices said one of the plurality of events in said first set of stored data and when said first open state status icon is actuated;
(v) not transmitting, by said first client non-server application, said first event information to said third client non-server application even though said first client non-server application practices said one of the plurality of events in said fast set of stored data when said first closed state status icon is actuated;
(w) receiving, by said third client non-server application, said first event information from said first client non-server application when said third open state status icon is actuated;
(x) not receiving, by said third client non-server application, said first event information from said first client non-server application when said third closed state status icon is actuated;
(y) when said third client non-server application receives said first event information from said first client non-server application, comparing, by said third client non-server application, said first event information received from said first client non-server application with the plurality of events in said third set of stored data and locating a match between said first event information and one of the plurality of events in said third set of stored data;
(z) identifying, by said third client non-server application, another one of the plurality of functions in said third set of stored data which corresponds to said one of the plurality of events in said third set of stored data; and
(aa) executing, by said third client non-server application, said another one of the plurality of functions.
-
-
17. The method of claim 16, wherein said first client non-server application includes a first event filter icon, said second client non-server application includes a second event filter icon, and said third client non-server application includes a third event filter icon, each said event filter icon including a plurality of send boxes each of which is adapted to be actuated, a corresponding plurality of receive boxes each of which is adapted to be actuated, and a corresponding plurality of events which pertain, respectively, to the plurality of send boxes and to the plurality of receive boxes, further comprising the steps of:
-
(bb) when said first client non-server application identifies said one of the plurality of events in said first set of stored data, determining, by said first client non-server application, a state of said first event filter icon;
(cc) transmitting, by said first client non-server application, first event information associated with said one of the plurality of events directly to said third client non-server application without routing said first event information through said server when said first client non-server application practices said one of the plurality of events in said first set of stored data and when one of the send boxes in the first event filter icon corresponding to said one of the plurality of events in said first set of stored data is actuated, and (dd) not transmitting, by said first client non-server application, said first event information directly to said third client non-server application even though said first client non-server application practices said one of the plurality of events in said first set of stored data and even though said first open state status icon of said first client non-server application is actuated when one of the send boxes in the first event filter icon corresponding to said one of the plurality of events in said first set of stored data is not actuated.
-
-
18. The method of claim 17, further comprising the steps of:
-
(ee) receiving, by said third client non-server application, said first event information associated with said one of the plurality of events from said first client non-server application when said first client non-server application practices said one of the plurality of events and when said one of the send boxes in the first event filter icon is actuated and when one of the receive boxes in the third event filter icon of said third client non-server application, corresponding to said one of the plurality of events in said first set of stored data, is actuated, and (ff) not receiving, by said third client non-server application, said first event information from said first client non-server application when said first client non-server application practices said one of the plurality of events in said first set of stored data even though said first open state status icon of said first client non-server application is actuated and even though one of the send boxes in the first event filter icon is actuated and even though said third open state status icon of said third client non-server application is actuated when said one of the receive boxes in the third event filter icon of said third client non-server application, corresponding to said one of the plurality of events in said first set of stored data, is not actuated.
-
-
19. The method of claim 18, further comprising the steps of:
-
(gg) revoking, by said third client non-server application, said interest in said third event by transmitting a revocation object to said server, (hh) unregistering, by said server, said interest by said third client non-server application in said third event, and distributing, by said server, said revocation object to said first client non-server application and said second client non-server application, (ii) unregistering, by said first client non-server application and said second client non-server application, said interest by said third client non-server application in said third event; and
(jj) not transmitting, by said first client non-server application, said first event information to said third client non-server application in response thereto.
-
-
20. The method of claim 18, further comprising the steps of:
-
(gg) terminating, by said third client non-server application, after said third client non-server application expresses said interest in said third event by transmitting said third interest object to said server;
(hh) noticing, by said server, the termination of said third client non-server application and unregisters, by said server, said interest by said third client non-server application in said third event;
(ii) distributing, by said server, a revocation object to said first client non-server application and said second client non-server application, and unregistering, by said first client non-server application and said second client non-server application, said interest by said third client non-server application in said third event; and
(jj) not transmitting, by said first client non-server application, said first event information to said third client non-server application in response thereto.
-
-
21. A method of communicating between client applications, comprising the steps of:
-
(a) transmitting an interest object associated with an event from a first client non-server application to a server, (b) receiving the interest object in the server and retransmitting the interest object from the server to a second client non-server application; and
(c) when the second client non-server application practices the event, transmitting event information associated with the practice of said event from said second client non-server application directly to said first client non-server application without routing said event information through the server. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35)
(d) responding by said server to one or more revocation objects received from one or more client non-server applications; and
(e) responding by said server to additional interest objects received from other additional client applications, said event information is not transmitted between said second client non-server application and said server, said event information is not transmitted between said server and said first client non-server application, said server is not separated from said first client non-server application and said server is not separated from said second client non-server application and said server is not separated from the other client applications when said event information is transmitted from said second client non-server application directly to said first client non-server application, said server remaining operatively interconnected between said first client non-server application and said second client non-server application and the other client applications when said event information is transmitted from said second client non-server application directly to said first client non-server application for responding to said one or more revocation objects, said additional interest objects, and other requests received by the server from the client applications; and
said first client non-server application and said second client non-server application each including, icon generating means for generating an icon, and event determination means operatively connected to said icon generating means and responsive to user actuation of said icon for determining if all or some or none of said event information is transmitted from said second client non-server application and if all or some of none of said event information is received by said first client non-server application.
-
-
23. The method of claim 22, wherein said icon generated by said icon generating means is an open state status icon, said open state status icon being adapted to be placed in an on state, said event determination means in said second client non-server application determining that all of said event is transmitted from said second client non-server application when said open state status icon in said second client non-server application is placed in said on state, said event determination means in said first client non-server application determining that all of said event is received by said first client non-server application when said open state status icon in said first client non-server application is placed in said on state.
-
24. The method of claim 22, wherein said icon generated by said icon generating means is a closed state status icon, said closed state status icon being adapted to be placed in an on state, said event determination means in said second client non-server application determining that none of said event is transmitted from said second client non-server application when said closed state status icon in said second client non-server application is placed in said on state, said event determination means in said first client non-server application determining that none of said event is received by said first client non-server application when said closed state status icon in said first client non-server application is placed in said on state.
-
25. The method of claim 24, wherein said icon generated by said icon generating means in said second client non-server application is a broadcast icon, said broadcast icon being adapted to be placed in an on state, said event determination means in said second client non-server application determining that all of said event, which accrued in said second client non-server application following the placement of the closed state status icon in the second client non-server application in the on state, is transmitted from said second client non-server application when said broadcast icon in said second client non-server application is placed in said on state.
-
26. The method of claim 22, wherein said icon generated by said icon generating means is an event filter icon, said event filter icon being adapted to be placed in an on state, said event determination means in said second client non server application determining that either some or all or none of said event is transmitted from said second client non-server application when said event filter icon in said second client non-server application is placed in said on state and said user actuation of said event filter icon in said second client non-server application indicates that either some or all or none of said event will be transmitted from said second client non-server application, said event determination means in said first client non-server application determining that either some or all or none of said event is received by said first client non-server application when said event filter icon in said first client non-server application is placed in said on state and said user actuation of said event filter icon in said first client non-server application indicates that either some or all or none of said event will be received by said first client non-server application.
-
27. The method of claim 22, wherein the responding step (e) comprises the steps of:
-
transmitting said interest object associated with said event from a third client non-server application to said server;
retransmitting said interest object from said server to said second client non-server application; and
transmitting event information associated with said event from said second client non-server application to said first client non-server application and to said third client non-server application without routing said event information through said server when said second client non-server application practices said event.
-
-
28. The method of claim 22, further comprising the steps of:
-
transmitting a revocation object from said first client non-server application to said server;
in response thereto, transmitting said revocation object from said server to said second client non-server application; and
in response to said revocation object, un-registering, within said second client non-server application, said interest object of said first client non-server application associated with said event and refraining, by said second client non-server application, from sending said event information associated with said event directly to said first client non-server application when said second client non-server application practices said event.
-
-
29. The method of claim 22, wherein said first client non-server application is adapted to terminate its execution, and wherein the responding step (d) comprises the steps of:
-
responding, by said server, to a revocation object received from said first client non-server application and transmitting said revocation object from said server to said second client non-server application when said first client non-server application terminates its execution; and
in response to said revocation object, un-registering, within said second client non-server application, said interest object of said first client non-server application corresponding to said event and refraining, by said second client non-server application, from transmitting said event information associated with said event directly to said first client non-server application when said second client non-server application practices said event.
-
-
30. The method of claim 22, further comprising the steps of:
-
registering a third client non-server application with said server after said server transmitted said interest object to said second client non-server application, in response to the registering step, transmitting said interest object from said server to said third client non-server application, transmitting from said third client non-server application said event information associated with said event directly to said first client non-server application without routing said event information through said server when said third client non-server application practices said event.
-
-
31. The method of claim 22, wherein the first client non-server application is executing in a workstation, the workstation including a display and a mouse, the display including a window of said first client non-server application, the window including an open state status icon, the transmitting step (a) comprising the steps of:
-
(a1) using said mouse, clicking on said open state status icon of said first client non-server application, and (a2) when the open state status icon of said first client non-server application is clicked on in response to the clicking step (a1), receiving into said first client non-server application said event information directly from said second client non-server application.
-
-
32. The method of claim 22, wherein said other additional client applications include a particular client application, said first client non-server application storing a plurality of events and a plurality of interest objects associated, respectively, with the plurality of events, and wherein the responding step (e) further comprises the steps of:
-
(e1) transmitting a second interest object associated with a second event from said particular client application to said server and retransmitting said second interest object from said server to said first client non-server application;
(e2) receiving said second interest object from said server into said first client non-server application;
(e3) comparing by said first client non-server application said second interest object received from said server with said plurality of interest objects stored in said first client non-server application; and
(e4) transmitting event information associated with a practice of said second event from said first client non-server application directly to said particular client application without routing said second event through said server when, responsive to the comparing step (e3), said second interest object corresponds to one of said plurality of interest objects stored in said first client non-server application.
-
-
33. The method of claim 32, wherein the first client non-server application is executing in a workstation, the workstation including a display and a mouse, the display including a window of said first client non-server application, the window including an open state status icon, the transmitting step (a) comprising the steps of;
-
(a1) using said mouse, clicking on said open state status icon of said first client non-server application, and (a2) when the open state status icon of said first client non-server application is clicked on in response to the clicking step (a1), transmitting said event information associated with the practice of said second event from said first client non-server application directly to said particular client application.
-
-
34. The method of claim 32, wherein the first client non-server application is executing in a workstation, the workstation including a display and a mouse, the display including a window of said first client non-server application, said window including an event filter icon of said first client non-server application, the display including a subwindow of said event filter icon of said first client non-server application when the event filter icon of said first client non-server application is clicked on by the mouse, the subwindow including said event, a send box being associated with said event, and a receive box being associated with said event, the receiving step (c) including the steps of:
-
(c1) using said mouse, clicking on said receive box associated with said event in said subwindow of said event filter icon of said first client non-server application, and (c2) when the receive box in said subwindow of said event filter icon of said first client non-server application is clicked on in response to the clicking step (c1), receiving said event information originating from the second client non-server application into said first client non-server application without routing the event information through said server.
-
-
35. The method of claim 34, wherein said subwindow of said event filter icon of said first client non-server application includes said second event, a send box associated with said second event, and a receive box associated with said second event, the transmitting step (e4) further including the steps of:
-
(e41) using said mouse, clicking on said send box associated with said second event in said subwindow of said event filter icon of said first client non-server application, and (e42) when the send box in said subwindow is clicked on in response to the clicking step (e41), transmitting said event information associated with the practice of said second event from said first client non-server application directly to said particular client application without routing said second event through said server.
-
-
36. A system adapted for intercommunicating between client applications, comprising:
-
a first client non-server application adapted to transmit an interest object corresponding to an event;
a second client non-server application; and
a server operatively interposed between said first client non-server application and said second client non-server application, said first client non-server application transmitting said interest object to said server, said server transmitting said interest object to said second client non-server application, said second client non-server application transmitting said event directly to said first client non-server application without routing said event through said server in response to said interest object received by said second client non-server application from said server when said second client non-server application practices said event. - View Dependent Claims (37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48)
said server responds to a revocation object from said first client non-server application and transmits said revocation object to said second client non-server application when said first client non-server application terminates its execution, said second client non-server application not transmitting said event to said first client non-server application in response to said revocation object when said second client non-server application practices said event, said event is not transmitted between said second client non-server application and said server, said event is not transmitted between said server and said first client non-server application, and said server is not separated from said first client non-server application and said server is not separated from said second client non-server application when said event is transmitted from said second client non-server application directly to said first client non-server application, said server remaining operatively interconnected between said first client non-server application and said second client non-server application, when said event is transmitted from said second client non-server application directly to said first client non-server application, for responding to said revocation object and other requests received by the server from the client applications.
-
-
38. The system of claim 37, wherein said first client non-server application and said second client non-server application each comprise:
-
icon generating means for generating an icon; and
event determination means operatively connected to said icon generating means and responsive to user actuation of said icon for determining if all or some or none of said event is transmitted from said second client non-server application and if all or some of none of said event is received by said first client non-server application.
-
-
39. The system of claim 38, wherein said icon generated by said icon generating means is an open state status icon, said open state status icon being adapted to be placed in an on state, said event determination means in said second client non-server application determining that all of said event is transmitted from said second client non-server application when said open state status icon in said second client non-server application is placed in said on state, said event determination means in said first client non-server application determining that all of said event is received by said first client non-server application when said open state status icon in said first client non-server application is placed in said on state.
-
40. The system of claim 38, wherein said icon generated by said icon generating means is a closed state status icon, said closed state status icon being adapted to be placed in an on state, said event determination means in said second client non-server application determining that none of said event is transmitted from said second client non-server application when said closed state status icon in said second client non-server application is placed in said on state, said event determination means in said first client non-server application determining that none of said event is received by said first client non-server application when said closed state status icon in said first client non-server application is placed in said on state.
-
41. The system of claim 40, wherein said icon generated by said icon generating means in said second client non-server application is a broadcast icon, said broadcast icon being adapted to be placed in an on state, said event determination means in said second client non-server application determining that all of said event, which accrued in said second client non-server application following the placement of the closed state status icon in the second client non-server application in the on state, is transmitted from said second client non-server application when said broadcast icon in said second client non-server application is placed in said on state.
-
42. The system of claim 38, wherein said icon generated by said icon generating means is an event filter icon, said event filter icon being adapted to be placed in an on state, said event determination means in said second client non server application determining that either some or all or none of said event is transmitted from said second client non-server application when said event filter icon in said second client non-server application is placed in said on state and said user actuation of said event filter icon in said second client non-server application indicates that either some or all or none of said event will be transmitted from said second client non-server application, said event determination means in said first client non-server application determining that either some or all or none of said event is received by said first client non-server application when said event filter icon in said first client non-server application is placed in said on state and said user actuation of said event filter icon in said first client non-server application indicates that either some or all or none of said event will be received by said first client non-server application.
-
43. The system of claim 37, wherein said second client non-server application includes a second means for storing a plurality of events and a plurality of interest objects corresponding, respectively, to said plurality of events,
said second client non-server application comparing said interest object received from said server with said plurality of interest objects stored in said second means and transmitting said event directly to said first client non-server application without routing said event through said server when said interest object from said server corresponds to one of said plurality of interest objects stored in said second means. -
44. The system of claim 43, wherein said second client non-server application transmits a second interest object corresponding to a second event to said server, said server transmitting said second interest object to said first client non-server application,
said first client non-server application transmitting said second event directly to said second client non-server application without routing said second event through said server in response to said second interest object received by said first client non-server application from said server when said first client non-server application practices said second event. -
45. The system of claim 44, wherein said first client non-server application includes a first means for storing a plurality of events and a plurality of interest objects corresponding, respectively, to said plurality of events,
said first client non-server application comparing said second interest object from said server with said plurality of interest objects stored in said first means and transmitting said second event directly to said second client non-server application without routing said second event through said server when said second interest object from said server corresponds to one of said plurality of interest objects stored in said first means. -
46. The system of claim 45, wherein said first client non-server application and said second client non-server application each comprise an interaction display apparatus, a framework apparatus, and an interface setup apparatus operatively interposed between said interaction display apparatus and said framework apparatus,
said interface setup apparatus in said first client non-server application including said first means for storing, said interface setup apparatus in said second client non-server application including said second means for storing. -
47. The system of claim 46, wherein said framework apparatus of said second client non-server application transmits said event directly to the framework apparatus of said first client non-server application without routing said event through said server in response to said interest object received by said framework apparatus of said second client non-server application from said server when said second client non-server application practices said event.
-
48. The system of claim 47, wherein said framework apparatus of said first client non-server application transmits said second event directly to the framework apparatus of said second client non-server application without routing said second event through said server in response to said second interest object received by said framework apparatus of said first client non-server application from said server when said first client non-server application practices said event.
-
49. A method of intercommunicating between client applications, comprising the steps of:
-
(a) transmitting a first interest object associated with a first event from a first client non-server application to a server, said first interest object being transmitted from said first client non-server application to said server when said first client non-server application is interested in receiving event information associated with a practice of said first event by other client applications;
(b) routing said first interest object from said first client non-server application through said server and retransmitting said first interest object from said server to a second client non-server application;
(c) responding by said server to a revocation object received from said first client non-server application when said first client non-server application transmits said revocation object to said server;
(d) when said second client non-server application receives said first interest object from said server and when said second client non-server application practices said first event, transmitting event information associated with the practice of said first event from said second client non-server application directly to said first client non-server application, said event information being transmitted directly from said second client non-server application to said first client non-server application without routing said event information through said server; and
(e) when said server receives additional interest objects from other client applications, responding by said server to said additional interest objects received from said other client applications, said event information is not transmitted between said second client non-server application and said server, said event information is not transmitted between said server and said first client non-server application, said server is not separated from said first client non-server application and said server is not separated from said second client non-server application and said server is not separated from the other client applications when said event information is transmitted from said second client non-server application directly to said first client non-server application, said server remaining operatively interconnected between said first client non-server application and said second client non-server application and the other client applications, when said event information is transmitted from said second client non-server application directly to said first client non-server application, for responding to said revocation object, said additional interest objects, and other requests received by the server from the client applications; and
said first client non-server application and said second client non-server application each including icon generating means for generating an icon, and event determination means operatively connected to said icon generating means and responsive to user actuation of said icon for determining if all or some or none of said event information is transmitted from said second client non-server application and if all or some of none of said event information is received by said first client non-server application. - View Dependent Claims (50, 51, 52)
(f) transmitting said revocation object from said first client non-server application to said server, said revocation object being transmitted from said first client non-server application when said first client non-server application is no longer interested in receiving said event information associated with the practice of said first event;
(g) transmitting said revocation object from said server to said second client non-server application; and
(h) when said second client non-server application receives said revocation object and before said second client non-server application practices said event, unregistering within said second client non-server application the interest by said first client non-server application in said event information associated with the practice of said first event, said event information not being transmitted from said second client non-server application directly to said first client non-server application in response to the unregistering step (h).
-
-
51. The method of claim 50, further comprising the steps of:
-
(i) when said first client non-server application terminates, transmitting said revocation object from said first client non-server application to said server;
(j) unregistering within said server the interest by said fast client non-server application in said event information associated with the practice of said first event in response to the transmitting step (i) when said first client non-server application terminates;
(k) transmitting from said server said revocation object to said second client non-server application in response to the unregistering step (j); and
(l) when said second client non-server application receives said revocation object and before said second client non-server application practices said first event, unregistering within said second client non-server application the interest by said first client non-server application in said event information associated with the practice of said first event, said event information not being transmitted from said second client non-server application directly to said first client non-server application in response to the unregistering step (l).
-
-
52. The method of claim 51, further comprising the steps of:
-
(m) transmitting said first interest object, routed through said server during the routing step (b), from said server to a third client non-server application and registering said first interest object within said third client non-server application; and
(n) transmitting said event information associated with the practice of said first event from said third client non-server application directly to said first client non-server application without routing said event information through said server in response to the registering step (m) when said third client non-server application practices said first event.
-
-
53. An intercommunication system adapted for intercommunicating between client applications, comprising:
-
a first client non-server application adapted to transmit an interest object;
a second client non-server application;
other client applications adapted to transmit other interest objects; and
a server operatively interposed between said first client non-server application and said second client non-server application and said other client applications, said first client non-server application adapted for sending said interest object corresponding to an event to said server, said server adapted to receive any revocation objects transmitted from said first client non-server application, said server transmitting said interest object from said server to said second client non-server application, said second client non-server application responsive thereto sending event information associated with said event directly to said first client non-server application without routing said event information through said server when said second client non-server application practices said event, said server continuing to respond to said other interest objects received from said other additional client applications, said event information is not transmitted between said second client non-server application and said server, said event information is not transmitted between said server and said first client non-server application, said server is not separated from said fast client non-server application and said server is not separated from said second client non-server application and said server is not separated from said other client applications when said event information is sent from said second client non-server application directly to said fast client non-server application, said server remaining operatively interconnected between said first client non-server application and said second client non-server application and said other client applications when said event information is sent from said second client non-server application directly to said fast client non-server application for responding to said other interest objects, said revocation objects, and other requests from the client applications; and
said first client non-server application and said second client non-server application each including icon generating means for generating an icon, and event determination means operatively connected to said icon generating means and responsive to user actuation of said icon for determining if all or some or none of said event information is transmitted from said second client non-server application and if all or some of none of said event information is received by said first client non-server application. - View Dependent Claims (54, 55, 56, 57)
-
Specification