The rapidly evolving enabling technology of computer networking and its associated hardware and software services has dramatically altered the business landscape. New techniques for communication between people in different locations have been pivotal in the success of many organizations. The increased availability of computer networks and the trend towards distributed team work has empowered workers to operate efficiently anywhere, giving rise to a new term, “telecooperation.” Telecooperation is defined as persons working together in real-time on collaborative tasks while at different locations, with the persons known as “teleworkers.” The notion of computer support for telecooperation has come to be known as “groupware” or computer-supported cooperative work (“CSCW”). CSCW refers to any computer-based system that provides an interface to a shared environment where a group of users works together towards a common goal. The key elements of CSCW are group awareness, multi-user interfaces, concurrency control, communication and coordination within the group, and shared information space.
Referring to FIG. 1 there is shown a representation of a group interaction session 100 among four mobile devices: a PDA 140 and three laptops 130, 150, and 160. The four mobile devices represented here are sharing the services of an environmental service device 110 which in this example is a shared interactive whiteboard such as the SMART Board™ by SMART Technologies. The four mobile devices are able to interact with the whiteboard 110 through a wireless connection. Groupware tools such as IBM's Lotus Domino and shared whiteboards facilitate such collaborative efforts.
In the example of FIG. 1 the four mobile devices are all participants in the session 100 and they are all sharing the display capabilities of the whiteboard 110. The users of each of the mobile devices are able to view the display screen of the whiteboard 110 on their smaller screens, in real-time. As the contents of the whiteboard change, so too will the content on the mobile device screens. Anything written or drawn on the shared whiteboard 110 will show up on each participant's display. Each of the users of the mobile devices will be able to input data and make revisions to the content of the whiteboard 110.
The interactions among the mobile devices and the whiteboard 110 are synchronous and the feedback is immediate. At any point in time the session 100 has a well-defined state which can be changed by events transmitted over the wireless network 180. These events are initiated by user actions, such as text added to the whiteboard 110 (again via the wireless network 180), or changing the display on the whiteboard 110. Within a session, a direct connection between two devices is termed an “association.” Each of the mobile devices 130, 140, 150, and 160 has an association with the whiteboard 110. The associations in FIG. 1 are represented by dashed lines.
Modern computer-supported cooperative work applications supporting same-time/different-place interaction, such as the one illustrated in FIG. 1, are often required to open several communication channels (associations). The problem is that once a session is suspended, there is no easy way to resume the session where it left off and recover the input from the different channels. If the users of the mobile devices in FIG. 1 wish to resume a suspended session they may not be able to resume the session at the point where it was suspended and some data may be lost. They would have to spend time finding the exact spot where the session previously ended. Another problem is that the same group of participants may resume their session, but in a different setting where one of the previous environmental services may not be available. In this instance, the session may be lost if the session information was kept at one of these unavailable services. This is a likely scenario if the setting used to resume the session is far enough from the initial setting. Most, if not all of the devices participating in a session, are collocated; occasionally, sessions can include remote devices hosting services used by the collocated session participants. Such services must be either state-less, which means that no state needs to be saved or restored upon session suspend or resume, respectively, or the services must implement explicit features for state extraction and insertion, to be used upon session suspend or resume, respectively.
Another problem that could arise occurs when the group reconvenes and not all of the participants from the previous session are present. It is also possible that new participants may be added to the session when the session resumes. Changes in the collaborative scenario may make it impossible to recapture a previously suspended session; therefore much time and effort may be lost.
Many of us have experienced the irritation of losing hours of work because of a system failure. In a collaborative scenario, this loss is multiplied by the number of participants in the session. A system failure could wipe out the work of multiple users. Unfortunately, recovery procedures are generally not adequate for groupware sessions as described in FIG. 1.
There is a need for a better method of managing collaborative sessions in order to overcome the shortcomings of the prior art.