Extensible information distribution mechanism for session...

Electrical computers and digital processing systems: multicomput – Computer conferencing

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

Reexamination Certificate

active

06529941

ABSTRACT:

BACKGROUND—FIELD OF INVENTION
This invention relates to the dissemination of information in networked computer software, specifically for the purposes of distributed session management, that is, the management of participating users and software modules in a distributed computing environment.
BACKGROUND—DESCRIPTION OF PRIOR ART
It is common modern software practice to develop software applications which are distributed. Examples of such applications range from video conferencing systems to virtual environments and 3D games. Typically, when a distributed software application is running, it manifests itself as a collection of software applications, with each application running on a workstation connected to the public Internet. The public Internet may be considered to operate as a wide area network (WAN). In our discussion here the term “end-point” will be used to refer to a particular application executing on a single workstation.
These distributed software applications group each end-point into a conference of end-points. Here the term “conference” refers to the logical grouping of the end-points. The establishing of this conference of end-points is a complex process due to the simplicity of the underlying WAN protocols. Furthermore, once end-points are grouped into a conference it is necessary to communicate state and configuration data of the end-point applications between each participant. Once again this is a complex task to perform reliably and efficiently.
In these applications a “session-manager” software component is usually employed. This software component is responsible for identifying and monitoring the participants in the conference and can also be made responsible for communicating the state and configuration information between end-points. Traditionally session-manager implementations suffer from many flaws that we have overcome in our invention.
The session-manager approach was used in the MBONE project in early 1990 as presented by Hans Ericksson in “MBone—The Multi-cast Backbone,
INET
1993. In the MBONE project a “session directory” application was provided which managed the list of people with whom one might communicate using the IP multicast standard. Numerous protocols such as the session announcement protocol (SAP) and the session initiation protocol (SIP) were employed in this implementation. This manifestation of session management was very simple and included only the most basic information about the user such as a name and a location. It did not include any information regarding the user's application or any information about other forms of communication open between users. Also it did not operate as a readily usable process for applications to use for session management.
Most “session-management” applications generally execute as external processes on all computer workstations that are participants in collaborative network sessions. The main application software will communicate with the “session-manager” to advertise its presence to the other participants of a conference or to announce the existence of a new conference. (In our terminology here a “conference” refers to a logical grouping of end-point applications on the same WAN). When an end-point application terminates or disconnects from the conference the “session-manager” is also responsible for announcing this fact to the other participants.
In most applications the use of the “session-manager” to locate other participants and to announce one's presence is only a first step. Normally this will be the prerequisite for initiating some other form of communication between the known participants. An example of this would be a video conferencing application where once the participants in the videoconference are known, a digital video signal is generated from numerous end-points and is communicated to all other end-points. In order to generalize and automate the initiation of this other form of communication it is necessary to communicate its parameters and its nature between the participants. This type of “extended” behavior is not provided by most session manager implementations and this is the focal point in the design of our system.
Most early systems that required session management used a client-server approach, as maintaining data at a single source obviates the need for complex arbitration or locking techniques. However these client-server based systems suffer from numerous disadvantages such as:
(a) Low error tolerance—if the server fails then everything fails.
(b) Lack of scalability—all participants need to communicate to the same network end-point. When the number of participants exceeds a threshold the communication becomes prohibitively slow and eventually impossible.
The reliability and scalability problems of the centralized session managers can be overcome using distributed session managers. Examples of this approach are:
U.S. Pat. No. 5,748,618 to Rothrock (1998) discloses a mechanism for arbitration in a distributed data conferencing system for accessing shared data stored using a hierarchical representation. The patent is concerned with sharing visual data in small-scale (not suffering from the disadvantages mentioned above) collaborative environments and does not consider scalability issues of moving to larger systems as well as generalized data distribution between conference participants.
Similarly U.S. Pat. No. 5,634,010 to Ciscon (1997) addresses solely the communication of data between external processes. No consideration is given to the greater problem of identifying external processes and logically grouping them into conferences.
Some software systems (for example the Nexus system for developing applications, described in I. Foster, C. Kesselman, S. Tuecke, “The Nexus Approach to Integrating Multithreading and Communication”,
Journal of Parallel and Distributed Computing,
37:70-82, 1996), provide session-management functionality.
None of the prior-art session managers in both completely distributed and completely extensible. Session managers with these characteristics are required to support modern collaborative network software. Problems in the design of completely distributed session managers include the division of session management tasks between the end point and the session manager, the amount of state maintained in each session manager, and avoiding deadlock and race conditions in making changes in the session managers. Problems in the design of easily extensible session managers include making it possible to add new kinds of applications and conferences or use the session manager on different platforms without having to redesign the session manager. It is an object of the invention disclosed herein to overcome these problems and provide a completely distributed, completely scalable, and completely extensible session management system.
SUMMARY
The session manager of the invention provides a completely distributed session management system by maintaining session manager conference state that ensures that each end point in a conference has a current copy of the endpoint conference state for the conference. A given session manager provides any changes made by its endpoint in the endpoint conference state to the session managers for the other endpoint and provides any changes in the endpoint conference state that it receives from other session managers to its endpoint. A distributed locking mechanism in the session manager conference state ensures that the given session manager sends changes to the other session managers only when all of the other session managers are ready to receive them. Complete scalability is achieved because a given session manager contains session manager conference state only for those conferences that have endpoints on the computer system in which the session manager is executing.
In another aspect of the invention, the session manager maintains a complete copy of the endpoint conference state in the session manager conference state. Where the endpoint conference state is hierarchical, the copy in the session manager conference s

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Extensible information distribution mechanism for session... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Extensible information distribution mechanism for session..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Extensible information distribution mechanism for session... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3031179

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.