This application is based upon and claims the benefit of priority from Japanese Patent Application No. 2008-115892, filed Apr. 25, 2008, the entire contents of which are incorporated herein by reference.
1. Field
One embodiment of the present invention relates to a presence management system enabling management of presences of users via a network, a presence notification method, a server unit, and a terminal device for use in the system.
2. Description of the Related Art
There is a service capable of sharing conditions of users in a network as one of services using an Internet Protocol (IP) network. Presences showing the conditions of users (online, offline, during telephone call, during leaving seat, during sitting on seat, etc.) are stored in a database to be managed. A user or a terminal who (that) is “a presenter of a presence” is referred to as a presentity, and a user (or a terminal) who (that) is “a browser of a presence” is referred to as a watcher.
When the conditions of the presentities vary, the fact is immediately notified to the presence server. The presence server which received the notice notifies the changes in condition of the presentities to the watchers; however, the presence server has to pay attention the timing of the notice. It is not preferable to notify the changes in condition to all the watchers at a time, because a network load and a processing load become heavy suddenly. It is all the more not preferable if the number of the watchers is large.
Jpn. Pat. Appln. KOKAI publication No. 2006-285782 has disclosed a technique for reducing the load in such a kind of system. This patent document reduces the load by not transmitting and receiving useless messages among clients and a server. However, messages described in this document mean e-mails and text data, and not messages (e.g., session initiation protocol [SIP] messages) related to the notification itself of the presences. That is, this document only has disclosed processing in an upper-layer on the assumption that the notification of the presences inter-terminal has been completed. It has been desired to reduce the load related to the transmission and reception of the messages among the presentities and the watchers in a lower-layer.
In addition, there is a technique for the watchers, like mail clients, to distribute the load by periodically requesting for presence acquisition to the server. Internet Engineering Task Force (IETF) defines to notify only difference information of the change in presence from the presence server to the watchers. However, neither of the aforementioned techniques are not drastic measures for a load distribution.
As described above, the existing presence management system is apt to increase the Toad on a system including a network and a computer facility in notifying the presence information to the watchers from the presence server. Although staggering the timing of the notice for each watcher is a possible approach, a further polished method has been desired.
A general architecture that implements the various feature of the invention will now be described with reference to the drawings. The drawings and the associated descriptions are provided to illustrate embodiments of the invention and not to limit the scope of the invention.
Various embodiments according to the invention will be described hereinafter with reference to the accompanying drawings. In general, according to one embodiment of the invention, there is provided a presence management system comprising a server unit which controls a plurality of presentities and a plurality of watchers; and a plurality of terminal devices which may be set to any of the presentities and the watchers for other terminal devices The server unit includes: a database which stores a relationship table in which parameters showing relationships to each watcher for each presentity in a table form; a reading module which reads each of the parameters of the watchers for presentities of their change sources from the database when changes in presence of the presentities working under the server unit; and a notification processing module which notifies the presences of the presentities to each watcher for the presentities of the change sources at timing in accordance with the read parameters.
By taking such measures, for each terminal device, parameters (e.g., priority order) to a plurality of watchers in setting the terminals as presentities are defined in advance and stored in a database. For instance, if a certain presentity has three watchers, the priority order is decided among the watchers in advance. The priority order may be decided by reflecting an organization structure of a presence management system in such a way in which the priority order is decided whether or not the watchers belong to the same group, or the priority order is decided in response to hierarchized class levels.
As the presences of the presentities have varied, the presences are distributed not all at once but sequentially to each watcher at timing in accordance with the parameters. Therefore, like the existing technique, a sudden system load accompanied by simultaneous distributions may be reduced. Further, this presence management system may achieve presence notification corresponding to the organization structure. Thus, the presence management may be achieved in a further polished way.
According to an embodiment,
In
A presence server 200 and a plurality of IP terminals 51-5m are connected to the other LAN. The IP terminal 51 is, for example, the PC terminal, and the IP terminals 52, 5m are, for example, IP telephone sets. The exchange server 1 controls extension communication at each LAN and outside line communication via the IP network 60.
In the system of
According to an embodiment,
In this embodiment, each IP terminal is organized from two view points. A first view point is based on a group distinguished by subscripts A, B, adds the subscript A to the terminals belonging to a Group A, and adds the subscript B to the terminals belonging to a Group B. Each group is equivalent, for example, to each LAN of
The second view point is based on a class hierarchical structure distinguished by subscripts h, m, 1. The subscripts h, m, 1 each indicates a “Class High”, a “Class Middle”, and a “Class Low”. In
When its own presence has changed, the presentity A-Pm transmits the changed presence information to the presence server 100 through a “PUBLISH” message or the like. The presence server 100 receives and decodes the message. The presence server 100 updates the presence of the presentity of a change source on the database. In this way, the presence server 100 manages the presences of the IP terminals under its own control in real time. The watchers A-Wh-1, A-Wm-2, A-Wl-3, B-Wh-l, B-Wm-2 and B-Wl-3 acquire and refer the presence of the presentity A-Pm from the presence server 100.
In
According to an embodiment,
The relationship values shown in
According to an embodiment,
According to an embodiment,
Meanwhile, the main control unit 34 includes a reading module 34a, a notification processing module 34b and a calculation processing module 34c as a processing function regarding the embodiment. When being notified the change in presence from the presentities working under the reading module 34a, the reading module 34a reads the relationship values of each watcher to the presentities of the change sources from the relationship list 35a. For instance, detecting the change in presence of the presentity A-Pm of
The processing module 34b notifies the presences of the change source presentities to each watcher of the change source presentities. The processing module 34b notifies the presences to the watchers at the timing varying on the basis of the read relationship values. The timing is calculated by the processing module 34c.
The processing module 34c calculates the timing of the notification to each watcher by means of the processing module 34b on the basis of the read relationship values. The processing unit 34c uses a calculation formula by which the watchers closer to the relationships to the change source presentities become earlier in a temporal sequence, and calculates the notification timing by substituting the relationship values into the formula.
In addition, the control unit 34 has the processing function of registering the presences notified from each of the presentities, and receiving reservations of presence notification from the watchers working under the control unit 34. The following will describe operations of the system of the aforementioned configuration.
Then the presence server 100 sorts into queues of the same transmission objects for each watcher of which the read relationship values are the same. That is, the server 100 queues the read watchers for each relationship (Block B2). The server 100 then sequentially reads watchers from the transmission object queue with the closest relationship, namely from the queue with the smallest relationship value to transmit presence information to the read watchers (Block B3). The processing in Block B3 is continued until the queues of the same transmission objects become empty, and when all the queues are emptied, the processing is terminated (loop in Block 4). The procedure of
(Organization by Grouping)
When the presence of the presentity A-Pm belonging to the Group A of
(Organization by Classification)
In this example, the presence server 100 stores a relationship list shown in
When the presence of the presentity A-Pm belonging to the “Class Middle” of
The timing to transmit the queued presence information from the server 100 is calculated by the calculation processing module 34c. The timing is defined, for example, in accordance with the following formula [1]. In the formula [1], it is assumed that after [T] seconds from a time point at which a change in presence has been notified from the presentity, the server 100 notifies the presence information to the object watcher.
T sec=[(relationship value of presentity)×(relationship value of watcher)−1] [1]
For instance, according to
As mentioned above, in this embodiment, a plurality of watchers for each of the presentities are grouped or classified in advance. For each group (or class), parameters (relationship values) indicating the nearness of the relationships to the presentities are stored in a table in advance to be stored in the presence server 100. When receiving notification of presence update from the presentities, the server 100 reads the relationship values from the table to notify the presences in order of watchers of which the relationships are close to the read relationship values.
Since the embodiment is configure like this, the presences of the presentities are notified at time intervals for each watcher. Therefore, the loads of the network resources may be distributed. The loads of the presence server 100 may distributed temporarily. Thus an overall system load may be reduced.
Further, according to the first embodiment, the organization structure such as a group and a class may be reflected to order of notification of the presences. Therefore it becomes able to immediately notify the change in presence to board members who desire to receive messages quickly, and operate to sequentially reduce immediacy in response to their posts. The embodiment makes it possible to achieve presence notification in such a refined form.
The presence server 100 which has been notified a presence change from the presentity A-Pm notifies a fact that “the presence has changed” to the watcher B-Wm-2. More specifically the server 100 describes the fact, the relationship value (Group A [1]), and a relationship value (Group B [2]) in a presentity information update notification message to notify the message to the watcher B-Wm-2. The message may be notified through a packet amount which is smaller than that of the presence information itself.
The watcher B-Wm-2 which has received the message calculates the acquisition time T from the relationship values (1), (2) by using the formula [1]. The acquisition time T is a time period from when the watcher B-Wm-2 has received the presentity information update notification message until the watcher B-Wm-2 transmits the acquisition request for the presence to the server 100. After the elapse of the time T, the watcher B-Wm-2 transmits the acquisition request though the “SUBSCRIBE” message or the like. In answer to this request, the server 100 notifies the presence information to the watcher B-Wm-2.
In this way, in the second embodiment, the system implements the function of the calculation processing module 34c on an IP terminal side. The server 100 notifies the relationship value to the watchers, and the watchers acquire the presence information at the acquisition timing decided on the sides of the watchers. Thereby, the system may reduce the packet amount to be transmitted and received to and from the presentities, the presence server 100 and the watchers, and may further reduce the system burden.
As mentioned above, according to each embodiment, for notifying the presence information to the plurality of watchers, the burden on the presence server 100 and the network may be distributed. Furthermore, since the presences may be notified in accordance with the organization structure, each embodiment may not only distribute its burden but also may obtain polished structure. Thus, a presence management system, a presence notification method, a server unit and a terminal device which may effectively reduce the burden on a system regarding the notification of the presence information can be provided.
The invention is not limited to the embodiments of the above. For instance, setting a threshold for the relationship value, and not transmitting the presence information to a group which is away from (or close to) the threshold is a possible approach. This approach may enhance confidentiality of the presence information. In addition, the system may not transmit the presence information to any watcher belonging to a class which is lower than the class of the presentity.
While the sequences in
The relationship list in which the relationship values are stored in a table form may be provided for the sides of the IP terminals. Thus, the packet amount regarding the transmission and reception of the messages may be further reduced.
While certain embodiments of the inventions have been described, these embodiments have been presented by way of example only, and are not intended to limit the scope of the inventions. Indeed, the novel methods and systems described herein may be embodied in a variety of other forms; furthermore, various omissions, substitutions and changes in the form of the methods and systems described herein may be made without departing from the spirit of the inventions The accompanying claims and their equivalents are intended to cover such forms or modifications as would fall within the scope and spirit of the inventions.
Number | Date | Country | Kind |
---|---|---|---|
2008-115892 | Apr 2008 | JP | national |
Number | Name | Date | Kind |
---|---|---|---|
6301609 | Aravamudan et al. | Oct 2001 | B1 |
7668133 | Schmidt et al. | Feb 2010 | B2 |
20030093521 | Schlonski et al. | May 2003 | A1 |
20030225843 | Sakata | Dec 2003 | A1 |
20040240652 | Kanada | Dec 2004 | A1 |
20060195591 | Kim et al. | Aug 2006 | A1 |
20070150605 | Christoffersson et al. | Jun 2007 | A1 |
20080108332 | Tian et al. | May 2008 | A1 |
20080133645 | Fridman et al. | Jun 2008 | A1 |
20090070458 | Fuse et al. | Mar 2009 | A1 |
Number | Date | Country |
---|---|---|
09-046340 | Feb 1997 | JP |
2003-271531 | Sep 2003 | JP |
2004-228833 | Aug 2004 | JP |
2004-348647 | Dec 2004 | JP |
2006-119885 | May 2006 | JP |
2006-236346 | Sep 2006 | JP |
2006-237700 | Sep 2006 | JP |
2006-285782 | Oct 2006 | JP |
2007-264769 | Oct 2007 | JP |
2008-242734 | Oct 2008 | JP |
2009-049820 | Mar 2009 | JP |
2006112381 | Oct 2006 | WO |
WO2006112381 | Oct 2006 | WO |
WO2008073009 | Jun 2008 | WO |
WO2008139566 | Nov 2008 | WO |
Number | Date | Country | |
---|---|---|---|
20090268889 A1 | Oct 2009 | US |