The term “server” is a conception including a computer or apparatus providing various services to other computers or apparatuses. A plurality of servers can be constructed in a computer. A server constructed in a computer can provide a service to the computer.
The term “presence proxy” refers to a computer or apparatus that stands between a presence service server and an application server, and forwards presence information from the presence service server to the application server.
The term “information distribution proxy” refers to a computer or apparatus that stands between an application server and a presentity clients, and forwards service information from the application server to the presentity clients.
The “presence proxy” and “information distribution proxy” are each different in conception from the general “proxy server” in a restricted sense.
Hereinafter, the system according to the first embodiment will be successively described for each component shown in
The presence proxy 1 is a functional block that, upon the information notification request from the presence proxy client 3, makes an information notification request for presence proxy client 3 to the presence service server 7; hashes the presence information sent from the presence service server 7; and notifies the presence proxy client 3 of the hashed presence information in a state where the personal information and the attribute value of presence information are concealed.
The presence proxy 1 comprises functional blocks of: an information notification request function 101; information notification request forwarding function 102; information notification request receiving function 103; watcher information management database 104; presence receiving function 105; presence converting function 106; presence notification function 107; presence cache (presence matrix table: PMT) 108; hash code table 109; and information distribution proxy linking function 110.
The presence cache 108 is either a type using a presence matrix table (PMT) or a type without PMT (hereinafter referred to as PMT type and non-PMT type respectively).
[step S101] The information notification request receiving function 103 receives an information notification request message from the presence proxy client 3.
[step S102] The information notification request receiving function 103 extracts an identifier of the presence proxy client 3 from the information notification request message, and sets information in a relevant entry of the watcher information management database 104. If conditions of the information notification have been designated, the conditions are also recorded.
[step S103] The information notification request forwarding function 102 creates an information notification request message that the notification destination was changed from the presence proxy client 3 to the presence proxy 1, and the information notification request function 101 transmits the information notification request message to the presence service server 7.
[step S104] Upon receipt of the information notification request message, the presence service server 7 transmits the presence information of a designated presentity client to the presence proxy 1. The presence receiving function 105 receives the presence information.
[step S105] If the identifier of the presentity client (referred to as a client identifier), the attribute identifier and the attribute value have not yet been converted to hash codes (member identification code, attribute identification code and hashed value, respectively), the presence converting function 106 converts them into hash codes, and sets the hash codes in the hash code table 109. Also, the notified presence information is stored in the presence cache 108. When a PMT is employed, hash codes are retrieved from the hash code table 109, and are stored into the PMT. Then, the PMT is stored in the presence cache 108.
[step S106] The information distribution proxy linking function 110 notifies the information distribution proxy 2 of the member identification code converted from the client identifier, together with a group identifier.
[step S107] The presence notification function 107, on the basis of the watcher information management database 104, determines a presence proxy client 3 to which it notifies of the presence information, and generates a secondary presence information group. The secondary presence information group refers to information group edited so as to conceal identification information of presentity clients by removing client identifiers from the presence information, converting the client identifiers into member identification codes, and sorting the resulting presence information in the order of the member identification codes. Alternatively, when a condition is designated, the secondary presence information group refers to information group edited so as to conceal not only identification information of presentity clients but also raw presence information by allocating a message identifier for message transmission to a group of client identifiers whose presence information match the condition, and by notifying of the condition identifier and the message identifier.
[step S108] the presence notification function 107 notifies the presence proxy client 3, which has transmitted the information notification request, of the secondary presence information group.
The information distribution proxy 2 is a functional block that receives a message from the information distribution proxy client 5; identifies members to receive the message on the basis of a message identifier contained in the message; and distributes the message to the message server 8 managing addresses of the presentity clients.
The information distribution proxy 2 comprises functional blocks of: a presence proxy linking function 201, message distributing function 202, message analyzing function 203, user information managing function 204, destination management table 205, and log information 206.
[step S201] The presence proxy linking function 201 receives a message destination information from the presence proxy 1. The message destination information is either a correspondence list between member identification codes and member identifiers, or a list including a message identifier and corresponding member identifiers.
[step S202] The presence proxy linking function 201 sets the message destination information in relevant entries of the destination management table 205.
[step S203] The message analyzing function 203 receives a message from the information distribution proxy client 5 or the message client 6. What the message is depends on the implement of the system, and an instant message, mail or the like can be used for a message.
[step S204] The message analyzing function 203 analyzes the contents of the received message. If the message is one addressed to a group identifier transmitted from the information distribution proxy client 5 in cooperation with an information distribution application server 4, the message analyzing function 203 causes processing to branch to step S205. On the other hand, if the message is an acknowledgement message to an information distribution message distributed to individual presentity clients, the message analyzing function 203 causes processing to branch to step S208.
[step S205] The message analyzing function 203 extracts a transmitter identifier and authentication information from the message, and compares them with authentication information set in the destination management table 205, thereby ascertaining that the information is issued from the addressee to which the presence proxy 1 delivered the secondary presence information group. If the authentication result is incorrect, the message analyzing function 203 throws away the received message.
[step S206] Making reference to the destination management table 205, the message analyzing function 203 identifies destination addresses of individual members to whom the message should be sent on the basis of the member identification code or the message identifier.
[step S207] The message distributing function 202 transmits messages with individual member identifiers extracted in step 206 as destinations to the message server 8, thereby completing the processing.
[step S208] If the received message is an acknowledgement message for an information distribution message, the message analyzing function 203 hands control over the user information managing function 204. The user information managing function 204 sets statuses and the like (such as service reception or refusal of reception) included in the returned acknowledgement message, in relevant entries of destination management table 205, thereby completing the processing.
The message distributing function 202 and message analyzing function 203 record, in the log information 206, messages transmitted to individual members and acknowledgement messages returned from the members.
The presence proxy client 3 is a functional block that, upon receipt of a request instruction from the information distribution application server 4, transmits a notification request for presence information to the presence proxy 1; and notifies the information distribution application server 4 of a notification condition and a concealed client identifier included in the secondary presence information group notified from the presence proxy 1.
The presence proxy client 3 comprises functional blocks of: an information notification requesting function 301, presence receiving function 302, and presence cache 303. The construction of the presence cache 303 is the same as the non-PMT type presence cache described in the explanation of the presence proxy 1 and shown in
[step S301] The information notification requesting function 301 receives a request instruction notified from the information distribution application server 4 via an application programming interface (API).
[step S302] The information notification requesting function 301 transmits an information notification request to the presence proxy 1 which manages identifiers of information group including information designated by the information distribution application server 4.
[step S303] The presence receiving function 302 receives a secondary presence information group from the presence proxy 1.
[step S304] When the secondary presence information group includes member identification codes as message destination information, the presence receiving function 302 sets the received information in relevant entries of the presence cache 303.
[step S305] When the secondary presence information group includes member identification codes as message destination information, the presence receiving function 302 notifies the information distribution application server 4 of a pointer to the presence cache 303. On the other hand, when the secondary presence information group includes message identifier as message destination information, the presence receiving function 302 notifies the information distribution application server 4 of the condition identifier and the message identifier.
The information distribution application server 4 defined herein is one that collects presence information of service receivers; dynamically generates contents for use in distribution in accordance with the collected presence information; and transmits the generated contents to the service receivers as messages.
The information distribution application server 4 comprises a content generating function 401 and message template 402.
[step S401] In order to perform its service, the information distribution application server 4 determines presence information to be collected, which is suitable for the service. In order to get the determined presence information, the information distribution application server 4 transmits a request instruction that designates a destination of notification, to the presence proxy client 3 using the API.
[step S402] The information distribution application server 4 receives the pointer to the presence cache 303 or the condition identifier and the message identifier from the presence proxy client 3 via the API.
[step S403] On the basis of the information transmitted from the presence proxy client 3, the information distribution application server 4 generates contents of information to be distributed to service receivers, referring to the presence cache 303 and the message template 402. This example uses a message template. However, the arrangement may also be such that, linking above-described technique with a technique for dynamically creating WEB pages, such as servlet or common gateway interface (CGI), contents are generated as URLs of these pages and are distributed.
[step S404]. The information distribution application server 4 transmits a message transmission request to the information distribution proxy client 5, via the API. The message transmission request includes the generated contents, and the message identifier notified from the presence proxy client 3 or a group identifier and member identification codes corresponding to information extracted from the presence cache 303 by the information distribution application server 4.
[step S501] The information distribution proxy client 5 receives a message transmission request from the information distribution application server 4 via the API.
[step S502] the information distribution proxy client 5 creates a message addressed to the group identifier managed by the information distribution proxy 2, on the basis of the contents and the destination of the message sent from the information distribution application server 4.
[step S503] The information distribution proxy client 5 transmits the message addressed to the group identifier, to the information distribution proxy 2.
In the present invention, the information distribution application server 4 is supplied with the secondary presence information group by the presence service server 7, upon designation not of the identification information of presentity clients but of the destination identifier as a group thereof. This eliminates the need for the presence proxy 1 having to transmit the secondary presence information corresponding to each relevant presentity client to the information distribution application server 4, the need for the information distribution application server 4 to receive the secondary presence information corresponding to each relevant presentity client and to transmit contents, and the need for the information distribution proxy 2 to receive contents corresponding to each relevant presentity client. This produces the effect of reducing processing load in the presence proxy 1, information distribution application server 4, and information distribution proxy 2.
Hereinafter, two systems constructed by using the present invention are described as second and third embodiments. Regarding methods for installing the functions in the system, or constructing methods for interfaces between individual functions, some further variations are conceivable, and it will be obvious that such variations are also encompassed by the claims of the present invention.
The proxy server 10 is an apparatus that is newly devised in the present invention, the apparatus playing the roles of the respective proxies for presence information and information distribution so as to allow the presence information to be concealed from the information distribution application server 4, and so as to allow the messages of information distribution to be distributed with the personal information concealed. The proxy server 10 includes the presence proxy 1 and information distribution proxy 2.
The group URI directory server 11 is a directory server by which the presentity clients 12 and 13 and the application server 9 performs retrieval of the provision and reference of presence information. The group URI directory server 11 corresponds to the Yellow Pages, and therein, information including the purposes of collecting presence information and presence information to be collected etc. are managed and published. The group URI directory server 11 is shown in Japanese Patent Application No. 2005-999460 (PCT Application No. JP05/18037). This function may be one constructed using a repository service in distributed environment applications including CORBA (common object request broker architecture).
The proxy server 10 and the group URI directory server 11 are managed by a presence information management provider 40. The presence information management provider 40 is a service provider aiming at managing information of a plurality of users, the information been collected for a specific purpose. It is a service provider substituting for the application service providers 30 to offload personal information management from the application service providers 30, and making profit by getting outsourcing fee from application service providers 30. The presence information management provider 40 is placed under the responsibility for the management of personal information.
The presentity clients 12 and 13 have functions of: notifying the presence service server 7 of presence information, and displaying information distributed from the application server 9. Typically, the presentity clients 12 and 13 are installed as a part of IP phone software of PC (personal computer) or PDA (personal digital assistant). In the future, their installation on a mobile phone adapted to IP will be possible. In the present invention, no mention will be made about the mechanism of the notification of presence information and information display. These are implementable by the existing techniques. However, in the present invention, because of concealing personal information from the application server 9, a function (i.e., message client 6) of returning an acknowledgement for the distributed information to the proxy server 10 is newly added. This function enables the application service providers 30 to know that services were performed, and service providers to bill each other. The details of this function will be described below.
The presence service server 7 is a server for performing collection, management, and notification of presence information, the server being equipped with presence service defined by the RFC2778. The present invention is premised on the use of the group URI, but the presence service server 7 herein shown need not be equipped with the function of the group URI. In such a case, the proxy server 10 described below may individually collects presence information from each presentity using the existing technique.
The message server 8 is an existing instant message server or a mail server.
The presentity clients 12 and 13, the presence service server 7 and the message server 8 are managed by the presence information service provider 50. The presence information service provider 50 is a service provider aiming at providing infrastructures for presence information collection and information distribution, and profiting from the usage fee for the infrastructures. The presence information service provider 50 is not placed under the responsibility for the management of personal information published to the outside by the notification of the presence information.
The application server 9 is a server judging the contents of collected presence information, and dynamically generating contents that conforms to the situation, to thereby distribute them. The application server 9 is installed by the existing technique, but in the present invention, since the presence information is notified via the proxy server 10 with the personal information concealed, a linked portion with the proxy server 10 is newly added. The application server 9 comprises an information distribution application server 4, presence proxy client 3, and information distribution proxy client 5.
The application server 9 is managed by the application service provider 30. The application service providers 30 are service providers profiting from service usage fee or advertisement fee from sponsors for providing added-value services to users by making reference to collected presence information. The application service providers 30 here do not aim at the collection of presence information itself, and do not utilize the presence information for market research, data mining, or advertisement for identified individuals. Instead, the application service providers 30 outsource the management of presence information, and thereby eliminate risk of personal information management and provide inexpensive services, thus allowing an increase in profit to be aimed at.
For the sake of explanation, an example is shown in which the presence information management provider 40 defines a presence information collecting group (ServiceGroup1) including location and user status as presence information of each presentity. A travel agency, serving as an application service provider 30, distributes tourist information as value-added information of the basis of the ServiceGroup1.
First, the presence information management provider 40 defines a presence information collecting group (ServiceGroup1), and registers the ServiceGroup1 in the group URI directory server 11. Information to be registered includes an attribute (location and status) of presence information to be collected, identifier of the proxy server 10 managing this presence information collecting group, purpose of collection (explanation to the effect that the information collected is provided to application service providers 30), and personal information management policy (explanation to the effect that personal information is concealed by a proxy, and the method of concealing personal information).
[step S601] The travel agency gets to know the information registered in the group URI directory server 11 by retrieval of services or service guide from the presence information management provider 40. The travel agency transmits an information notification request from the application server 9 managed by the travel agency for its tourist information distribution service, to the proxy server 10 indicated by the registered information in the group URI directory server 11. This interface can be constructed as being based on SUBSCRIBE message defined by the RFC3859, or can be constructed by defining its unique API. The information delivered by this interface includes an identifier of the application server 9 (referred to as an application server identifier) i.e. Application1, and a notification destination identifier i.e. ServiceGroup1 (refer to S401 in
[step S602] The proxy server 10 of the presence information management provider 40 receives the information notification request from the application server 9; records the application server identifier as a notification destination of the information; and transmits an information notification request to the presence service server 7, after changing the transmitter (notification destination of the presence information) from the application server 9 to the proxy server 10. At this time, if the presence service server 7 has the URI function according to the above-described Japanese Patent Application No. 2005-999460, just replacing request source information allows the presence service server 7 to forward the information notification request, by previously constructing the ServiceGroup1 on the presence service server 7. On the other hand, if the presence service server 7 has no URI function, individual information notification request for each presentity client is transmitted to the presence service server 7, and the proxy server 10 collects presence information of those presentity clients (refer to S101 to S103 in
[step S603] A user attempting to get tourist information acquires information of ServiceGroup1 from the group URI directory server 11, by a service guide from a travel agency or retrieval of services. When wanting tourist information at a sightseeing spot, the user starts up an application program on a presentity client 12 (13) and registers presence information in the presence service server 7. Herein, the presence information will be represented in the same form as that described in
[step S604] The proxy server 10 acquires presence information list shown in
The proxy server 10 converts each member identifier into a member identification code. For example, the member identifier “User1” is converted into a member identification code “2”, and “User2” is converted into “1”. Even if the number of members is small, hash space (range of hash code) should be wide as to be difficult to perform tracking. For example, letting the range be 10, “User1” may be converted into “9”, and “User2” may be converted into “5”. The presence proxy 1 notifies the information distribution proxy 2 of member identifiers, correspondence table between member identifiers and member identification codes, the application server identifier, and authentication information (refer to S104 to S106 in
[step S605] The proxy server 10 deletes the member identifiers from the presence information, and generates presence information list formed by sorting the presence information without the member identifiers in the order of member identification code. The proxy server 10 notifies the application server 9 of the generated presence information list shown in
In the illustrated example, the member identifier is replaced with a member identification code for easy understanding, but the member identifier needs not to be included in the list. In other words, the system is operable even if the member identification code is removed from the sorted presence information. When the member identification code is removed from the sorted presence information, the member identification code itself also is concealed, thereby producing the effect of even more enhancing the confidentiality of the presence information.
[step S606]. The application server 9 searches the message template 402 on the basis of a location attribute of the notified presence information, generates messages to respective presentity clients, and transmits the messages to the proxy server 10. An example of generated message is shown in
This example shows an implementation example in which the presentity clients are designated by a group identifier “ServiceGroup1” and a bit expression indicating the presentity client as a transmission destination. In this bit expression, each bit indicates one user and the bits are sorted in order of member identification code from the leftmost bit to the rightmost bit. For example, “10” means that the first user (member identification code “1”) among 2 users is targeted but the second user (member identification code “2”) is not. With such an implementation method, even if users present in the museum are 100 persons, it is unnecessary to individually generate and transmit 100 messages. It suffices only to transmit the destination i.e. “ServiceGroup1” a single message such that bits of targeted 100 users are set to “ON” (refer to S303 to S305 in
[step S607] Upon receipt of the message from the application server 9, the proxy server 10 checks, on the basis of the application server identifier and authentication information sent from the presence proxy 1, whether the transmitter has the usage right of the group identifier constituting the destination, that is, whether the transmitter is the transmission destination of the presence information. If the transmission destination is correct, then, referring to the correspondence list between member identification codes and member identifiers, the proxy server 10 identifies the member identifier from the group identifier and the member identification code of the target presentity client, and reproduces messages directed to individual presentity clients. Examples of the reproduced messages are shown in
Thus, the information distribution proxy 2 can transmit contents to only the presentity clients that satisfy the condition out of destination identifiers. This produces the effect of allowing contents to be transmitted only to proper presentity clients without the application server 9 being aware of the presentity clients.
As variations in implementation, if intrinsic information, such as name, other than member identifier is also managed, either as a result of the linkage with the presence service server 7, or inside the proxy server 10, then, the sentence may be arranged in a way such that, a grammar and notation for indicating the complement of user name are determined in advance, and for example, as shown in
The messages produced directed to individual presentity clients are transmitted to the message server 8 managing the identifiers (addresses) of respective presentity clients, and distributed to individual presentity clients via the respective message server 8 (refer to S203 to S207 in
As described above, a part of contents generated by the application server 9 is replaced with the attribute of the targeted user. This produces the effect of allowing contents more desirable for the user to be provided.
[step S608] The arrangement may be such that, upon receipt of the message, the presentity clients 12 and 13 returns a response to the proxy server 10 serving as a transmitter of the message. The response may be either a simple reply, or may be arranged so as to include control instruction information such as distribution continuation go/no-go, distribution frequency and change of contents (to be more detailed, or to be simpler). The proxy server 10 receives the reply message, and analyses the contents of the reply message. Thereby, the proxy server 10 changes a notification status of the destination management table 205 in the information distribution proxy 2, or performs recording on the log information. This can be used for securing appropriate control of information distribution to users and ensuring service execution with respect to application service providers 30.
Thus, the information distribution proxy 2 receives a response for the distributed contents from the presentity clients. As the presence proxy 1 provides anonymous identification information to the application server 9, and the application server 9 delivers messages addressed to anonymous presentity clients, it is unclear for the application service providers 30 whether the messages have been actually reached the users. However, the above process produces the effect of allowing the above-described response to be used as a criterion for determining whether the contents have been reached.
Moreover, the response returned from the presentity clients includes control instruction for the contents, and the contents are generated and transmitted in accordance with this control instruction. This produces the effect of allowing contents desired by user to be provided.
In the above-described second embodiment, the member identifier alone is concealed, and the presence information itself is informed to the application service providers 30. In this system, with the presence information alone, the possibility that the user may be identified is low, but when the presence information is checked against other information such as information distribution record, there is the possibility that the user may be identified. For example, if only one service target user is present in the YY museum at a certain time, and a tourist information message of the YY museum is recorded at that time, the user is undesirably identified. The hash information can be periodically changed, but once the user has been identified, the presence information itself will be utilized as a clue to identifying the user.
Therefore, even though the personal information is concealed, strict management of presence information itself is still demanded. In a third embodiment, this problem will also be overcome.
The presentity clients 12 and 13 are the same ones as those described in the second embodiment.
The group URI directory server 11 is the same one as that described in the second embodiment.
The presence service server 14 is one formed by adding the function of the presence proxy 1 of the present invention to the presence service server 7 in
The message server 15 is one formed by adding the function of the information distribution proxy 2 of the present invention to the message server 8 in
The presentity clients 12 and 13, the group URI directory server 11, the presence service server 14, and the message server 15 are managed by the presence information service providers 50. The presence information service provider 50 is a service provider aiming at providing infrastructures for presence information collection and information distribution, and profiting from the usage fee for the infrastructures. In the third embodiment, the presence information service provider 50 is a service provider being under an obligation to manage presence information and personal information of users. By strictly managing personal information, the presence information service provider 50 attempts to make a profit through the differentiation from other presence information service providers 50.
To facilitate understanding, description is made using the same service as described in the second embodiment.
First, the presence information service providers 50 defines a presence information collecting group (ServiceGroup1), and registers the ServiceGroup1 in the group URI directory server 11. Information to be registered includes an attribute (location and status) of presence information to be collected, purpose of collection (explanation to the effect that information collected is provided to an application service provider 30), and personal information management policy (explanation to the effect that personal information is concealed by a proxy, and the method of concealing personal information).
[step S701] The travel agency gets to know the information registered in the group URI directory server 11 by retrieval of services or service guide from the presence information service providers 50. The travel agency transmits an information notification request from the application server 9 managed by the travel agency for its tourist information distribution service, to the ServiceGroup1 in the presence service server 14 indicated by the registered information in the group URI directory server 11. This interface can be constructed as being based on SUBSCRIBE message defined by the RFC3859, or can be constructed by defining its unique API. The information delivered by this interface includes an application server identifier i.e. Application1, a notification destination identifier i.e. ServiceGroup1, and a condition. The condition is designated as an attribute of presence information and its value.
The examples mean that, if the location is XXX park, then “CONDITION1” is notified of; and if the location is YY museum, then “CONDITION2” is notified of. These are just examples. The designation method for conditions is not limited. Any designation method can be used depending on implementation (refer to S401 in
[step S702] A user attempting to get tourist information acquires information of ServiceGroup1 from the group URI directory server 11, by a service guide from a travel agency or retrieval of services. When wanting tourist information at a sightseeing spot, the user starts up an application program on a presentity client 12 (13) and registers presence information in the presence service server 14. Herein, the presence information will be represented in the same form as that described in
[step S703] The presence service server 14 produces an individual hash code table and presence matrix table (PMT) for each application server 9 requiring information of the basis of the information list of the acquired presence information. Supposing the information consists of: the number of users=2; locations=“XXX park” or “YY museum”; and statuses=“online” or “offline”, when each of these values are converted into hash codes with range 3, the hash code table and the corresponding presence matrix table are given by
In the presence matrix table, attribute identification code “1” represents a status, attribute identification code “2” represents a location, and attribute identification code “3” is a dummy attribute. Member identification code “1” represents User2, member identification code “2” is a dummy member, and member identification code “3” represents User1. Value “1” of the attribute identification code “1” denotes “offline”, value “2” thereof denotes “online”; and value “3” of the attribute identification code “2” denotes “YY museum”, value “2” thereof denotes “XXX park”. In the presence cache storing the presence information collected, semantic information is concealed in this manner. Therefore, if the hash code table and presence matrix table are managed by strictly separating from each other, the presence information cannot be decoded unless they get together, even if information of either one of them leaks. Furthermore, since each presence matrix table is specific to each application server 9, even if information of some service using some presence group leaks, there is no possibility that the effect extends to other services using the presence group with the same group identifier. The presence service server 14 makes reference to conditions stored in the hash code table 109, presence cache (PMT) 108, and watcher information management database 104, and identifies presence information conforming to the conditions. The presence service server 14 creates a destination list for each of the conditions, and notifies the message server 15 of the destination list, the application server identifier and authentication information (refer to S104 to S106 in
The member identification codes and the attribute identification codes, respectively, are allocated either to rows and columns, or to columns and rows of a two-dimensional matrix, and hashed values of the attribute values are stored in the relevant locations of the matrix, the locations being specified by the member identification codes and the attribute identification codes. This produces the effect of realizing the concealment of semantic information, information compression, and high-speed searching performance, as compared with the case where only the attribute values are converted into hashed values. More specifically, the presence information conforming to the conditions designated by the application server 9 can be quickly identified using the presence matrix table.
[step S704] The presence service server 14 generates presence information as shown in
[step S705] The application server 9 searches the message template 402 on the basis of the notified condition, and creates a message addressed to the destination identifier, and transmits the message to the message server 15. The created message, for example, has contents as shown in
In these examples, the group identifier is arranged in a hierarchical form and a destination identifier is incorporated in a part of the group identifier (refer to S303 to S305 in
[step S706] Upon receipt of the message from the application server 9, the message server 15 checks, on the basis of the application server identifier and the authentication information sent from the presence service server 14, whether the transmitter has the usage right of the group identifier constituting the destination, that is, whether the transmitter is the transmission destination of the presence information. If the transmission destination is correct, then, referring to the correspondence list between member identification codes and member identifiers, the message server 15 identifies the member identifier on the basis of the group identifier and the member identification code of the target user, and reproduces messages directed to individual users, and transmits the reproduced messages to each presentity client. Examples of the reproduced messages are shown in
[step S707] Upon receipt of the message, the presentity client 12 (13) returns a response to the message server 15 which is the transmission source of the message.
In the third embodiment, the application service provider 30 does not request the presence information service provider 50 to notify of presence information itself, but upon designating conditions, the application service provider 30 requests the presence information service provider 50 to notify of group identifiers of a plurality of users whose presence information conform to the conditions. Therefore, unlike the second embodiment, the presence information is not collected in the application server 9, so that the application service provider 30 is reduced in management risk. Furthermore, the notified group identifier is effective just in the application server 9, and hence, even if this presence information leaks to the outside, a third party cannot perform an information distribution by using the group identifier.
Having described the present invention as related to the above-described embodiments, it is believed obvious that the technical range of the present invention is not limited to the range set forth in the embodiments, but various changes or modifications may be made therein. The embodiments subjected to such changes or modifications are also included in the technical range of the present invention. This will be evident from the appended Claims and Summary in the description.
The system according to the embodiments described above may be implemented in hardware or in computer software. For example, a program for allowing a computer to execute functions of the information notification request function 101, the information notification request forwarding function 102, the information notification request receiving function 103, the presence receiving function 105, the presence converting function 106, the presence notification function 107, and the information distribution proxy linking function 110 shown in
The program for implementing a system according to the embodiments may be stored in a portable recording medium 24 such as a CD-ROM, a CD-RW, a DVD-R, a DVD-RAM, a DVD-RW, or a flexible disk, a storage device 28 provided at the other end of a communication circuit 26, a storage device such as a hard disk, a RAM, or the like of a computer system 22, or a recording medium 29 of the computer system 22, as shown in
Number | Date | Country | Kind |
---|---|---|---|
2006-134376 | May 2006 | JP | national |