Communication channels among users in a collaborative computing system are automatically adjusted based on users' current states detected by various sensing devices. The collaboration system that includes an awareness system for evaluating, monitoring, and controlling, in real-time, the collaboration environment by having events and occurrences with properties. The awareness monitoring system includes (1) receiving and analyzing real time data from input sensors and (2) an elastic spring energy model for automatically adjusting a distance according to a level of privacy desired by individual users, the requirement of the organization, and a need of the collaborative project to have some shared information about individual user activities. When a spring energy model is difficult to obtain, a matrix looks up model is used to automatically adjust a distance according to a level of privacy desired by individual users, the requirement of the organization, and the need of the collaborative project.
|
10. A method for automatically determining awareness settings among people in a distributed working environment comprising the steps of:
receiving real-time data produced by an event; and
automatically adjusting a distance according to a degree of clarity, desired by individual users, of a corresponding signal received from another party and a need of a collaborative project to have some shared information about individual user activities using an elastic spring energy model, wherein the elastic spring energy model determines potential energy vectors which encode awareness requirements for a collaborative task.
11. A method for automatically determining awareness settings among people in a distributed working environment comprising the steps of:
receiving real-time data produced by an event; and
automatically adjusting a distance according to a degree of clarity, desired by individual users, of a corresponding signal received from another party and a need of a collaborative project to have some shared information about individual user activities using an elastic spring energy model, wherein the elastic spring energy model determines potential energy vectors which encode a user's preference on distances and awareness requirements for a collaborative task.
9. A method for automatically determining awareness settings among people in a distributed working environment comprising the steps of:
receiving real-time data produced by an event; and
automatically adjusting a distance according to a degree of clarity, desired by individual users, of a corresponding signal received from another party and a need of a collaborative project to have some shared information about individual user activities using an elastic spring energy model, wherein the elastic spring energy model takes into consideration a user's frustration level if information about the user is revealed to another on the occurrence of a particular event.
1. A method for automatically determining awareness settings among people in a distributed working environment comprising the steps of:
receiving real-time data produced by an event; and
automatically adjusting a distance according to a degree of clarity, desired by individual users, of a corresponding signal received from another party and a need of a collaborative project to have some shared information about individual user activities using an elastic spring energy model, wherein a matrix and vector look up model is used to determine the distances among distributed users, the values of the matrix and the vector encoding preferences of a user and preference requirements of another user.
2. The method for automatically determining awareness settings among people in a distributed working environment recited in
3. The method for automatically determining awareness settings among people in a distributed working environment recited in
4. The method for automatically determining awareness settings among people in a distributed working environment recited in
5. The method for automatically determining awareness settings among people in a distributed working environment recited in
6. The method for automatically determining awareness settings among people in a distributed working environment recited in
7. The method for automatically determining awareness settings among people in a distributed working environment recited in
8. The method for automatically determining awareness settings among people in a distributed working environment recited in
|
1. Field of the Invention
The present invention generally relates to collaborative computing and, more particularly, to a way to automatically determine the awareness settings among people in a distributed working environment.
2. Background Description
Collaborative computing is a shared computing environment or application that facilitates communication and teamwork among groups of people.
Displaying common data on multiple computers is one type of collaborative work support system. U.S. Pat. No. 5,996,002 to Katsurabayashi et al. for “Collaborative Work Support System and Method to Facilitate the Process of Discussion in a Meeting Using a Shared Window” discloses a system that includes shared data that is displayed on each computer, individual data that is individually displayed on any of the computer selected by the data owner, and a manager for managing data storage. A similar system that displays shared data on multiple computers is disclosed in U.S. Pat. No. 5,872,924 to Nakayama et al. for “Collaborative Work Support System” in which a limited amount of data is displayed according to multiple attributes setting in the shared windows.
A detail log is a simple way to provide user activity information. U.S. Pat. No. 5,008,853 to Bly et al. for “Representation of Collaborative Multi-user Activities Relative to Shared Structured Data Objects in a Networked Workstation. Environment” proposed a multi-user collaborative system in which the contents as well as the current status of other user activity can be concurrently accessed by different users. The WYSIWIS (What You See Is What I See) user interface representation includes an ordered listing of such entries that are maintained by the structured data object and various attributes of each listed entry; inter alia, the type and class of entry, the revision number of the shared structured data object, the number of pages and revision number of each structured data object entry, the date of creation and last revision of each such entry, whether an entry can be accessed by a user and, if not, who has prevented such access to prevent concurrent editing, whether a local instance of an entry is present on a user's system, and a provision for miscellaneous notes or comments relative to each entry for view by other users.
Visual representation of other users is a standard way of monitoring other's activity. U.S. Pat. No. 5,793,365 to Tang et al. for “System and Method Providing a Computer User Interface Enabling Access to Distributed Workgroup Members” discloses a system that uses a user interface to display visual representations of selected other users in the workgroup. The visual representations are frequently updated to indicate the activity level of these users. An encounter awareness system detects the presence of other users who are doing similar tasks. U.S. Pat. No. 4,974,173 to Stefik et al. for “Small-scale Workspace Representations Indicating Activities by Other Users” proposes a computer system and method that provide networked computer users with information about which other users are task proximate to the user, thereby facilitating spontaneous communications regarding task-related, or other issues. Task proximity to other users may change as the user context switches between applications, and the user interface window is updated accordingly. Task proximity is determined individually by different applications.
Discourse manager has been used to promote effective collaboration between a user and a collaborative computer agent. U.S. Pat. No. 5,819,243 to Rich et al. for “System with Collaborative Interface Agent” suggested a system which operates according to a theory of collaborative discourse between humans, with the computer agent playing the same role as a human collaborator. The discourse manager includes a memory in which application-specific recipes are stored and a memory in which the discourse state is stored. Each recipe specifies a set of actions or sub-tasks, which are performed to achieve an objective. The discourse state includes structures to track the agent's and user's current objectives, a selected recipe for each objective, and completed steps in each recipe. During operation of the discourse manager, user actions and communications are interpreted according to how they relate to the current discourse state. The manager also generates an agenda of expected communications, which is presented to the user as a menu, obviating the need for the natural language understanding by the agent.
Prior work in collaborative computing can provide awareness among group members through various communication channels, such as video, audio, graphical user interface (GUI), etc. However, the prior work requires users to adjust the communication channel and the degree of communications. For example, when a person leaves his or her office, he or she has to manually turn the audio and video off if it is not needed. This is not convenient.
It is therefore an object of the present invention to provide a way to automatically adjust communication channels among users based on users' current states detected by various sensing devices.
According to the invention, there is provided a collaboration system that includes an awareness system for evaluating, monitoring, and controlling, in real-time, the collaboration environment by having events and occurrences with properties. The awareness monitoring system includes (1) input sensors for receiving real-time data produced by the event and (2) an elastic spring energy model for automatically adjusting a distance that is according to a level of privacy desired by individual users and a need of the collaborative project to have some shared information about individual user activities.
The foregoing and other objects, aspects and advantages will be better understood from the following detailed description of a preferred embodiment of the invention with reference to the drawings, in which:
Referring now to the drawings, and more particularly to
where alj(k) gives the value of the distance from user i to user j with respect to channel k for the awareness network. Here k can be any value from 1 . . . m. When i=j, the value of ali=0.
In addition to the matrix representing the current state of the awareness network, we also use another matrix to represent ideal distances with respect to different channels and different parties. The ideal distance that an agent want to provide to other agents is represented by matrix S:
where slj(k,e) gives the value of the ideal distance that user i wants to provide to user j with respect to channel k for a given event e. Here k can be any value from 1 . . . m. When i=j, the value of sll=0. This is the only place that events e matters.
The ideal distance that the organization want is represented by matrix G:
where gij(k) gives the value of the ideal distance that the organization wants user i to provide to user j with respect to channel k. Here k can be any value from 1 . . . m. When i=j, the value of gii=0. Basically, the organization of the team may have some special requirement, these requirements will be one of the factors that might influence the final decisions of an agent.
The ideal distance that the other agents want is represented by matrix O:
where ojj(k) gives the value of the ideal distance that the user j wants user i to provide to him with respect to channel k. Here k can be any value from 1 . . . m. When i=j, the value of olj=0. Basically, this is the other agent's requirement. For a given agent, it must consider all the other agents' requirements.
The ideal distance required by the given task is represented by matrix T:
where jij(k) gives the value of the ideal distance that the current task wants user i to provide to user j with respect to channel k for a given event e. Here k can be any value from 1 . . . m. When i=j, the value of tit=0. Basically, different tasks the team is involved in will have different requirements. For example, if the team is having a brain storming session, then the requirement for video is very high, while if all the members of the team is just working on their own stuff, then a video connection may not even be needed. The requirement of the task is independent of the events happening on each user's site.
To proceed with other drawing figures, we need to specify several other matrices. Since we model the system as a spring system, we need to specify the constants for calculation. These constants will be used in calculating the best distances.
The spring constant that an agent want to provide to other agents is represented by matrix K_S:
where k_sij(k) gives the user i's spring constant for channel k from i to j. Here k can be any value from 1 . . . m. When i=j, the value of k_sii=0.
The spring constants that the organization want is represented by matrix K_G:
where k_glj(k) gives the value of the constant for channel k from i to j with respect to the organization. Here k can be any value from 1 . . . m. When i=j, the value of k_gii=0. For a given agent i, it can only access the i-th row of the matrix. Basically, the organization of the team may have some special requirement, these requirements will be one of the factors that might influence the final decisions of an agent.
The spring constants that the other agents want is represented by matrix K_O:
where k_olj(k) gives the value of the spring constant for channel k with regard to the issue that user j want user i to provide to him. Here k can be any value from 1 . . . m. When i=j, the value of k_oji=0. Agent i can only access the i-th row. Basically, this is the other agent's requirement. For a given agent, it must consider all the other agents' requirements.
The spring constant with respect to the given task is represented by matrix K_T:
where k_tij(k) gives the value of the spring constant for channel k from user i to user j. Here k can be any value from 1 . . . m. When i=j, the value of k_gii=0. Agent i can only access the i-th row.
To illustrate the emphasis of different factors for different agents, we use weight matrices to represent those weights. For different agents, the current agent at hand will have different weights. The weights are channel free, because the channel preference is encoded by spring constants.
The weights that related to agents' own preference is represented by matrix W_S:
where w_slj gives the value of the weight that agent i assigned to the distance from i to j with considering its user's own need. When i=j, the value of w_sij=0. Please note that each row represent the needs of each user. Agent i can only access the i-th row.
The weights that related to an agent's idea on the importance of the organization is represented by matrix W_G:
where w_gjj gives the value of the weight that agent i assigned to the distance from i to j with considering the influence of the organization. When i=j, the value of w_gjj=0. Agent i can only access the i-th row.
The weights that related to an agent's idea on the importance of the other agents is represented by matrix W_O:
where w_oij gives the value of the weight that agent i assigned to the distance from i to j with considering the importance of user j. When i=j, the value of w_ojj=0. In other words, it represents the importance of the other agents' requirement on how much information agent i should release to agent j. Agent i can only access the i-th row.
The weights that related to an agent's idea on the importance of a given task is represented by matrix W_T:
where w_tij gives the value of the weight that agent i assigned to the distance from i to j with considering the importance of the requirement of the task.
Thus, it is easy to know that
Obviously, when
the potential energy reaches its minimum. Thus,
the value of the distance selected by function block 2155.
In most application applications, it is difficult to provide stiffness functions and to calculate the back-to-ideal potential energies as described above. Furthermore, it might also be difficult to compare different distances given the multi-model nature of the system. In order to avoid these difficulties, we propose a method that uses a set of back-to-ideal energy difference vectors and matrices to guide agents in the selection of distances.
Suppose there are a total of M different ways to expose one user's status to another user. These M different ways correspond to M different distances d1, . . . , dM among users. From a certain point of view, these distances encode the Z different virtual walls among team members. Suppose that there are a total of Q different events to be concerned with respect to users in the system.
The back-to-ideal potential energy matrix from i to j with respect to user i, Hiji, is given
where huvi gives the back-to-ideal potential energy when user i is at event u and agent i selected distance dv as the distance from i to j. If distance dv happens to be the ideal distance from i to j under event u with respect to agent i, then huvi=0. in general, although user i might be at different states, only some special events might have different ideal distances. In most situations, user i's ideal distance will be the same, Matrix Hiji is available to agent i at the beginning and is specified by user i. The values of the elements of Hijiencode the degrees of frustrations or tensions user i has for different selected distances under different events.
The back-to-ideal potential energy vector from i to j with respect to the organizational structure is given by HUsu=(h1su, . . . , hMsu), where hvsu gives the back-to-ideal potential energy with respect to the organization when agent i selects dv as the distance from i to j. If hvsu=0, then dv is the ideal distance. The vector HUsu is provided by the organization to agent i at the beginning. Thus the calculation of δ2(<s1, . . . , sM>) is avoided during the run time.
The back-to-ideal potential energy vector from i to j with respect to agent j is given by HUj=(h1j, . . . , hMj), where hvj gives the back-to-ideal potential energy with respect to agent j when agent i selects dv as the final distance. This vector encodes agent j's preference on distances and is given by user j to agent j and is then passed by agent j to agent i. The calculation of δ3(<s1, . . . , sM)) is thus avoided.
The back-to-ideal potential energy vector from i to j with respect to a given task tq is given by HUt
As discussed above, the related back-to-ideal potential energies are all available for agent i. Thus, when a new collaboration task is assigned to user i or a new event is happening to user i, agent i will update the distances from its user to all the other related users.
Suppose that at time τ, user i is at the state of event u and the current collaboration task is tq, then the weighted back-to-ideal potential energies for distance dv is δv=wUi×huvi+wUsu×hvwu+wUj×hvj+wUsak×hvt
At the beginning, all the distances within the system select their awareness distances to all the other agents according to the above method by assuming that there is no collaboration task. Thus, only the first three terms are involved in the calculation: δv=wUi×huvi+wUsu×hvwu+wUj×hvj. After Ψ(ο) is determined, if there is no change in the status of any users and there is no new task, then the awareness status of the system will stay the same. This status will be updated whenever there are changes in events or tasks. When a change occurs, each related agent will update its distances to all the other agents according to the above described method. The awareness status Ψ(τ) of the system is a system that is adaptive to events and tasks. Each clement dU(τ) of Ψ(τ) is an adaptive media wall in the virtual organization of the system. It is these virtual walls that keep the organization functioning and provide adaptive awareness to all the members of the team.
In the event that the spring model solution is difficult to obtain, a mixed approach of the spring model and the following mechanism may be used. A matrix and vector look up model can be used to determine the distances among distributed users. The values of the matrix and the vector encodes the preferences of the user, the preferences of the task, the preferences of the organization, and the preference requirements of the other user who receives the awareness information.
While the invention has been described in terms of a single preferred embodiment, those skilled in the art will recognize that the invention can be practiced with modification within the spirit and scope of the appended claims.
Boies, Stephen J., Ye, Yiming, Tsotsos, John K., Huang, Paul Y.
Patent | Priority | Assignee | Title |
11222298, | May 28 2010 | User-controlled digital environment across devices, places, and times with continuous, variable digital boundaries | |
7461125, | Sep 30 2003 | eBay Inc | Enterprise system having a smart distance among artifacts, and apparatus and method for providing the smart distance among the artifacts |
7607096, | May 01 2004 | Microsoft Technology Licensing, LLC | System and method for a user interface directed to discovering and publishing presence information on a network |
7689651, | Sep 30 2003 | eBay Inc | Enterprise system having a smart distance among artifacts, and apparatus and method for providing the smart distance among the artifacts |
7698307, | May 01 2004 | Microsoft Technology Licensing, LLC | System and method for synchronizing between a file system and presence of contacts on a network |
7734751, | Feb 27 2003 | Canon Kabushiki Kaisha | Method of allocating a service by a first peer to a second peer in a communication network |
9183560, | May 28 2010 | Reality alternate |
Patent | Priority | Assignee | Title |
4974173, | Dec 02 1987 | Technology Licensing Corporation | Small-scale workspace representations indicating activities by other users |
5008853, | Dec 02 1987 | XEROX CORPORATION, A CORP OF NY | Representation of collaborative multi-user activities relative to shared structured data objects in a networked workstation environment |
5793365, | Jan 02 1996 | Oracle America, Inc | System and method providing a computer user interface enabling access to distributed workgroup members |
5819243, | Nov 05 1996 | Mitsubishi Electric Research Laboratories, Inc | System with collaborative interface agent |
5872924, | Apr 28 1995 | Hitachi, Ltd. | Collaborative work support system |
5983192, | Sep 08 1997 | Polycom, Inc | Audio processor |
5996002, | Jul 26 1996 | Fuji Xerox Co., Ltd. | Collaborative work support system and method to facilitate the process of discussion in a meeting using a shared window |
6148328, | Jan 29 1998 | ACTIVISION PUBLISHING, INC | Method and system for signaling presence of users in a networked environment |
6288739, | Sep 05 1997 | ACUTUS, INC | Distributed video communications system |
6453336, | Sep 14 1998 | ENTERPRISE SYSTEMS TECHNOLOGIES S A R L | Video conferencing with adaptive client-controlled resource utilization |
6628767, | May 05 1999 | VISIBLE CONNECTIONS, LLC | Active talker display for web-based control of conference calls |
6662211, | Apr 07 2000 | Alcatel Lucent | Method and system for providing conferencing services in a telecommunications system |
6665707, | Dec 19 1996 | GOOGLE LLC | Groupware environment that adaptively tailors open microphone sessions based on participant locality |
6697341, | Dec 16 1998 | AT&T Corp. | Apparatus and method for providing multimedia conferencing services with selective performance parameters |
6697840, | Feb 29 2000 | Lucent Technologies Inc | Presence awareness in collaborative systems |
6807563, | May 21 1999 | Google Technology Holdings LLC | Automatic teleconferencing control system |
20030007001, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
May 21 2001 | YE, YIMING | International Business Machines Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 011982 | /0459 | |
May 21 2001 | HUANG, PAUL Y | International Business Machines Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 011982 | /0459 | |
May 22 2001 | BOIES, STEPHEN J | International Business Machines Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 011982 | /0459 | |
Jul 03 2001 | International Business Machines Corporation | (assignment on the face of the patent) | / | |||
Jul 03 2001 | TSOTSOS, JOHN K | International Business Machines Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 011983 | /0206 |
Date | Maintenance Fee Events |
Dec 28 2005 | ASPN: Payor Number Assigned. |
Nov 16 2009 | REM: Maintenance Fee Reminder Mailed. |
Apr 11 2010 | EXP: Patent Expired for Failure to Pay Maintenance Fees. |
Date | Maintenance Schedule |
Apr 11 2009 | 4 years fee payment window open |
Oct 11 2009 | 6 months grace period start (w surcharge) |
Apr 11 2010 | patent expiry (for year 4) |
Apr 11 2012 | 2 years to revive unintentionally abandoned end. (for year 4) |
Apr 11 2013 | 8 years fee payment window open |
Oct 11 2013 | 6 months grace period start (w surcharge) |
Apr 11 2014 | patent expiry (for year 8) |
Apr 11 2016 | 2 years to revive unintentionally abandoned end. (for year 8) |
Apr 11 2017 | 12 years fee payment window open |
Oct 11 2017 | 6 months grace period start (w surcharge) |
Apr 11 2018 | patent expiry (for year 12) |
Apr 11 2020 | 2 years to revive unintentionally abandoned end. (for year 12) |