Patent US6078948A successfully refreshed from Google Patents.
← Back to Patent Explorer
US6078948A Expired / Lapsed US ⏱️ 0.0 years remaining

Platform-independent collaboration backbone and framework for forming virtual communities having virtual rooms with collaborative sessions

Assignee: Syracuse University
•
Filing: 1998-02-03
•
Granted: 2000-06-20
•
Expires: 2018-02-03
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

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.

Inventors

  • 👤 Marek Podgorny
  • 👤 Lukasz Beca
  • 👤 Gang Cheng
  • 👤 Geoffrey C. Fox
  • 👤 Tomasz Jurga
  • 👤 Konrad Olszewski
  • 👤 Piotr Sokolowski
  • 👤 Krzysztof Walczak

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-09 06:13
CPC Classifications
H; H04; H04L; H04L67/00; H04L67/34; G; G06; G06Q; G06Q10/00; G06Q10/10; H04L12/00; H04L12/02; H04L12/16; H04L12/18; H04L12/1813; H04L12/1822; H04L67/01; H04L67/10; H04L9/00; H04L9/40; H04L63/00; H04L63/08; H04L63/10; H04L67/131; H04L69/00; H04L69/30; H04L69/32; H04L69/322; H04L69/329

Claims Analysis

Total Claims: 39
Claim 1
Independent Claim 267 words
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.
Claim 2
Dependent Claim 267 words
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.
Claim 3
Dependent Claim 14 words
The backbone of claim 1 wherein the control logic is implemented in platform-independent instructions.
Claim 4
Dependent Claim 21 words
The backbone of claim 1 wherein the second logic includes logic to download and launch an application implemented in platform-independent instructions.
Claim 5
Dependent Claim 19 words
The backbone of claim 3 wherein the second logic includes logic to launch an application as a stand-alone applet.
Claim 6
Dependent Claim 19 words
The backbone of claim 3 wherein the second logic includes logic to launch an application as an embedded applet.
Claim 7
Dependent Claim 34 words
The backbone of claim 1 wherein the second logic includes logic to obtain the application and to launch it as an external application that executes in a different context than the downloaded demon logic.
Claim 8
Dependent Claim 25 words
The backbone of claim 6 wherein downloaded demon logic executes in a browser environment and wherein the launched application executes externally to the browser environment.
Claim 9
Dependent Claim 51 words
The backbone of claim 1 wherein downloaded control logic and a launched application have logic to register communication interests with a downloaded demon, and wherein the fifth logic routes the at least a portion of a message based on the registered interests of the downloaded control logic and the launched application.
Claim 10
Dependent Claim 67 words
The backbone of claim 1 wherein a downloaded demon and server communicate using a predefined protocol of control messages and application events, and wherein the control messages include a group of messages to allow a first client to launch a second application and include it in the room, and to allow a second client to join a second collaborative session of interacting instances of the second application.
Claim 11
Dependent Claim 132 words
The backbone of claim 1 wherein a downloaded demon and server each have logic to communicate according to a predefined protocol having control messages and application events, wherein an application is characterized by an application group and an application subtype, wherein the application group specifies compatibility at an application event level, wherein a first client may cause its associated demon logic to launch an application instance characterized by a first group and a first subtype and wherein a second client may cause its associated demon logic to launch another application instance characterized by the first group and a second subtype, wherein the third and fourth application instances are dissimilar, and wherein the third and fourth applications are in communication with one another using the predefined protocol to form a third collaborative session.
Claim 12
Dependent Claim 103 words
The backbone of claim 1 wherein a downloaded demon and server each have logic to communicate according to a predefined protocol having control messages and application events, wherein the downloaded control logic and launched application have logic to register their respective interest with a downloaded demon according to a specified control type selected from a set of control types, wherein each control type corresponds to a set of messages from the control messages, and wherein the downloaded control logic and launched application specify their respective interest in receiving application events according to a session identifier associated with the session causing the application events.
Claim 13
Dependent Claim 83 words
The backbone of claim 1 wherein a downloaded demon and server each have logic to communicate according to a predefined protocol having control messages and application events, wherein the system state includes information identifying downloaded demons from which permission is needed to institute certain actions and wherein the eighth logic includes logic to consult the system state to determine whether a control message, received by the server, requires permission from another demon and, if so, to negotiate for permission from the other demon.
Claim 14
Dependent Claim 94 words
The backbone of claim 1 wherein a downloaded demon and server each have logic to communicate according to a predefined protocol having control messages and application events, wherein the control messages include groups of messages including (a) room management messages for managing entry and exit into a room by a client; (b) session management messages for managing starting and terminating of applications by a client; (c) information messages for distributing system state to relevant demons; and (d) variable and lock messages for allowing applications and control logic to share state in a coherent manner.
Claim 15
Dependent Claim 55 words
The backbone of claim 1 wherein a downloaded demon and server each have logic to communicate according to a predefined protocol having control messages and application events, wherein the control messages include a message in which a client at a first computer node can request the launching of an application at a second computer node.
Claim 16
Dependent Claim 55 words
The backbone of claim 1 wherein a downloaded demon and server each have logic to communicate according to a predefined protocol having control messages and application events, wherein the control messages include a message in which a client at a first computer node can request the terminating of an application at a second computer node.
Claim 17
Dependent Claim 43 words
The backbone of claim 1 further comprising an HTTP server holding a first downloadable application, the HTTP server residing at a different computer node than the server, wherein the second logic includes logic to download and launch an instance of the first application.
Claim 18
Dependent Claim 73 words
The backbone of claim 16 further comprising a second HTTP server holding a second downloadable application, the second HTTP server residing at a different computer node than the server and the HTTP server, wherein the second logic includes logic to download and launch an instance of the second application, and wherein the first application may cause its demon to send messages via the server to cause the first and second applications to collaborate.
Claim 19
Dependent Claim 16 words
The backbone of claim 17 wherein the first and second application are compatible at a message-level.
Claim 20
Dependent Claim 14 words
The backbone of claim 18 wherein the first and second application have dissimilar logic.
Claim 21
Dependent Claim 86 words
The backbone of claim 1 wherein downloaded control logic includes logic to change from the room page to another room page, wherein the room page and the other room page each specify an associated community specifying user authentication procedures, and wherein the logic to change rooms includes logic to determine whether the other room and the room specify the same community and to invoke the user authentication procedures of other new room if the other room specifies a different community than that specified by the room.
Claim 22
Dependent Claim 45 words
The backbone of claim 1 wherein a downloaded demon and server each have logic to communicate according to a predefined protocol having control messages and application events, wherein the control messages include message to create, read, and write shared system state in a coherent manner.
Claim 23
Dependent Claim 33 words
The backbone of claim 21 wherein the shared system state is creatable with specifiable life-spans and wherein the server includes ninth logic to detect when the life-span of shared system state has expired.
Claim 24
Independent Claim 205 words
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.
Claim 25
Independent Claim 205 words
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.
Claim 26
Dependent Claim 17 words
The method of claim 23 wherein the first and second application instances are compatible at a message-level.
Claim 27
Dependent Claim 15 words
The method of claim 24 wherein the first and second application instances have dissimilar logic.
Claim 28
Dependent Claim 23 words
The method of claim 23 wherein step (b) downloads the first application from a first HTTP server and launches it as an applet.
Claim 29
Dependent Claim 14 words
The method of claim 26 wherein the applet is launched as a stand-alone applet.
Claim 30
Dependent Claim 14 words
The method of claim 27 wherein the applet is launched as an embedded applet.
Claim 31
Dependent Claim 34 words
The method of claim 26 wherein step (e) downloads the second application from a second HTTP server and launches it as an applet, wherein the first and second HTTP servers are from different namespaces.
Claim 32
Dependent Claim 77 words
The method of claim 23 further comprising the steps of (h) a client requesting the launching of an application at another node by sending a request message to the server; (i) the server asking a downloaded demon at the other node if the application may be launched at that node; (j) the downloaded demon at the other node answering the server; (k) the server sending an response message to the client indicating whether the application was launched.
Claim 33
Dependent Claim 61 words
The method of claim 30 further comprising the steps of the server, responding to an affirmative answer from the other node by issuing an act message to the downloaded demon at the other node, and the downloaded demon sending a notification message to the server when the application is launched, and wherein step (k) is issued in response to the notification.
Claim 34
Dependent Claim 65 words
The method of claim 23 further comprising the steps of (l) a client requesting entry into a new room from the server; (m) the server sending a response to the client indicating whether entry is permitted; (n) the server sending an informational message to any other demons in the new room indicating that the downloaded demon associated with the client has entered the new room.
Claim 35
Dependent Claim 57 words
The method of claim 32 further comprising the steps of: (o) the server consulting system state and determining that another demon controls entry into the new room; (p) the server asking the other demon if the demon may enter the room; (q) the other demon answering the server; (r) the server sending a response to the demon.
Claim 36
Dependent Claim 45 words
The method of claim 32 further comprising the step of the demon determining whether the new room and a prior room belong to a same community and if not accessing community configuration information to determine whether the client is permitted entry into the new room.
Claim 37
Dependent Claim 56 words
The method of claim 23 wherein the predefined protocol implements collaborative actions by having (s) a demon requesting the collaborative action; (t) the server responding to the demon request; (u) the server informing all other relevant demons if the action causes a change to system state maintained by the sever and relevant to the other demons.
Claim 38
Dependent Claim 88 words
The method of claim 35 further comprising the steps of (v) the server consulting system state to determine whether permission is needed from another demon to allow the request; (w) the server asking the other demon for permission; (x) the other demon answering the server, indicating whether the action is permitted; (y) the server sending an action message to a demon at which collaborative action is requested to trigger the action; (z) the demon receiving the action message sending notification to the server indicating whether the action occurred.
Claim 39
Dependent Claim 48 words
The method of claim 23 further comprising the steps of (aa) the server sending an alive ask message to demons with which it has a communication connection; (bb) responsive demons replying with an alive answer message; (cc) the server detecting which demons have not replied to step (bb).

References Cited (Backward Citations)

US5515491A Cited
US5918010A Cited
US5861883A Cited
US5941945A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2003-06-20 2003-12-20 2004-06-20 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2007-06-20 2007-12-20 2008-06-20 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2011-06-20 2011-12-20 2012-06-20 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag