Platform-independent collaboration backbone and framework for forming virtual communities having virtual rooms with collaborative sessions
First Claim
1. A collaborative backbone, comprising:
- demon logic embedded in a room page as downloadable platform-independent instructions, the demon logic includingfirst logic to identify, download, and launch control logic associated with the room page, the first logic including logic to establish a communication path between a downloaded demon and downloaded control logic;
second logic to identify and launch an application associated with the room page, including logic to establish a communication path between a downloaded demon and a launched application;
third logic to identify a server associated with the first room and to establish a communication connection between a downloaded demon and the server;
fourth logic to receive messages from a launched application and downloaded control logic and to forward the messages to the server;
fifth logic to receive messages from the server and to cause at least a portion of the message to be routed to a relevant entity as determined by information in the message, the relevant entity being from a set including the downloaded control logic and the launched application;
a server includingsixth logic to establish communication connections with demons;
seventh logic to maintain system state, including a list of associations identifying demons in a room;
eighth logic to receive a message from a demon, to consult the system state, and, in response to the consultation, to forward a message to other relevant demons as determined by the system state, such that a plurality of clients may access the room page to cause the demon logic to download at respective clients and to form a first collaborative session of interacting instances of the application.
1 Assignment
0 Petitions
Accused Products
Abstract
Platform-independent collaboration backbone and framework for forming virtual communities having virtual rooms with collaborative sessions. Demon logic is embedded in a room page as downloadable platform-independent instructions. The demon, when downloaded, is caused to be in communication with control logic and an application, which, for example, may itself be downloadable. The downloaded demon is also in communication with a server. The server is in communication with similarly-arranged, though not necessarily identical, clients, which for example may have the downloaded demon but a different arrangement of applications. The application at a first and second client node may collaborate by causing their respective demons to send messages from a predefined protocol to the server, which in turn will forward them to other relevant demons. Some of the messages are control messages which facilitate certain collaborative actions, such as joining a session or entering a room. Other messages carry meaning only to the applications. The collaborating applications need not be identical, and the system provides minimal constraints on developers. For example, there is no requirement that the applications operate off an identical data model. Rooms may be organized into communities, which for example may specify certain commonality among rooms, such as common user-authentication. When a user changes from one room to another, if the new room is in a different community, the user will need to go through user authentication-procedures of the new community to permit access.
-
Citations
37 Claims
-
1. A collaborative backbone, comprising:
-
demon logic embedded in a room page as downloadable platform-independent instructions, the demon logic including first logic to identify, download, and launch control logic associated with the room page, the first logic including logic to establish a communication path between a downloaded demon and downloaded control logic; second logic to identify and launch an application associated with the room page, including logic to establish a communication path between a downloaded demon and a launched application; third logic to identify a server associated with the first room and to establish a communication connection between a downloaded demon and the server; fourth logic to receive messages from a launched application and downloaded control logic and to forward the messages to the server; fifth logic to receive messages from the server and to cause at least a portion of the message to be routed to a relevant entity as determined by information in the message, the relevant entity being from a set including the downloaded control logic and the launched application; a server including sixth logic to establish communication connections with demons; seventh logic to maintain system state, including a list of associations identifying demons in a room; eighth logic to receive a message from a demon, to consult the system state, and, in response to the consultation, to forward a message to other relevant demons as determined by the system state, such that a plurality of clients may access the room page to cause the demon logic to download at respective clients and to form a first collaborative session of interacting instances of the application. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. A method of having a first and a second application instance collaborate within a virtual room, the method comprising the steps of:
-
(a) accessing a room page having downloadable demon logic embedded therein to cause the demon logic to download and execute at a client node; (b) the downloaded demon logic at the client node identifying the first application and launching an instance thereof and creating a communication path between the first application instance and the downloaded demon logic; (c) the downloaded demon logic at the client node causing a communication connection to be formed with a server having logic to communicate according to a predefined protocol; (d) accessing a room page having downloadable demon logic embedded therein to cause the demon logic to download and execute at another client node; (e) the downloaded demon logic at the other client node identifying the second application and launching an instance thereof and creating a communication path between the second application instance and the downloaded demon logic; (f) the downloaded demon logic at the other client node causing a communication connection to be formed with the server; (g) the first and second application instances causing their associated downloaded demon logic to communicate according to the predefined protocol. - View Dependent Claims (24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37)
-
Specification