(1) Field of the Invention
The present invention relates to a method for setting information disclosure.
(2) Description of Related Art
With advances in communication technology and network technology, the onset of a ubiquitous network society which allows for communication at any time and any place is approaching. It has been said that communication in the ubiquitous society allows each user of a system to register personal information of his own or of the other users and receive a variety of services.
A permission system used in the Unix system is among currently prevailing methods for managing privacy protection in a database. The permission system sets, for each of the three operations of Read, Write, and Execute, a permission of access to a directory or file in a file system having a directory structure by using the three distinct access units of Owner, Group, or Other. Permission setting is carried out normally by the administrator of a whole system in consideration of the security of the whole system.
A description will be given first to preconditions for
Each of rectangles outside the file system shows values for setting the presence or absence of access authority and types thereof (hereinafter referred to as a permission) to each of directories and files. For example, the rectangle on the right side of file A shows permission setting values for file A. According to the permission settings for file A, the owner of file A is User A and the group to which group permissions have been given is Group A, while the types of the access authority given to the owner are “r”, “w” and “x”, which indicate that any of the Read, Write, and Execute operations is executable. On the other hand, the types of the authority given to the group are “r” and “w”, which indicate that the operations permitted to a user belonging to Group A are Read and Write operations. The authority given to other persons is “-”, which indicates that other persons cannot operate file A at all.
It is assumed that this file system is provided with an additional management server for performing permission management, though it is not shown. Each of the permission setting values is stored in storage means in the management server and the management server judges permissions by referencing to the storage means upon each occurrence of access to any of the directories and files.
A description will be given to a method for judging permissions when User A, User B, and User C access file A, file B, and file C, respectively. When User A accesses file A, the access is started in the order of the root directory, the first layer directories, the second layer directories, and the file. In an actual situation, the access is made in the order of home, User A, and file A.
The access management server of the file system first checks the respective owners of home, each of the directories of User A, and file A to be accessed by User A. Each of the owners is User A and each of the r, w, and x operations is permitted to the owner in all the layers. When User A accesses file A, therefore, the file system permits User A to access the first layer directories and the second layer directories in this order and finally permits User A to access file A. Then, the file system also permits the execution of each of the write, read, and execute operations with respect to file A.
On the other hand, User A is not the owner of file B and file C. Therefore, the file system checks group permissions in judging the access of User A to file B and file C. For example, User A belongs to Group B. According to the permission setting values shown in the rectangle on the right side of file B, a user belonging to Group B can perform read and write operations to file B. Therefore, the file system permits User A to perform only the read and write operations with respect to file B. The same shall apply to permissions for file C.
A description will be given next to file access by User B. When User B accesses home, the file system judges the authority of User B to access home. User B is neither the owner of home nor belonging to Group A. Therefore, the file system checks permissions to other persons but the content of each of the permissions to other persons is set to refusal. Accordingly, User B has no authority to access home and therefore cannot access any of the directories and files under home. Although the owner of file B is User B, even the owner of file B cannot access file B since access is blocked in the upper layers.
A description will be given next to file access by User C. Since User C belongs to Group A, User C has the authority to access a directory in each of the layers of home and User A. Accordingly, the file system permits file access by User C till he passes through the second layer directories. Since User C is not the owner of file A, the file system checks group permissions. Since User C belongs to Group A, the file system permits User C to perform the read and write operations to file A. On the other hand, User C is neither the owner of file B nor belonging to Group B so that the file system checks permissions to other persons and does not permit User C to access file B. Since User C is the owner of file C, the file system allows User C to perform each of the write, read, and execute operations to file C.
Thus, the access control management on the Unix performs the management of access to lower layer directories and files, while checking higher layer directories. If higher layer directories have no permission, therefore, access cannot be made to lower layer directories or files. No matter how lower layer permissions are changed, access cannot be made unless higher layer permissions are changed in the same manner. When a new range of access users is to be defined, it is necessary to newly create a group and set permissions to the group.
Besides the permission system described above, there is also another method for access control as used in a relational database. In accordance with the method, the authority of access to a record in a database is determined individually for each of accessors or each of groups comprising of a given number of accessors. Briefly, it is a file system not using a tree structure which sets permissions for each of data tables in the relational database to each of the accessors. The permission setting is carried out by the administrator of the database system.
In a business attempting to provide various services based on the personal information of subscribers, it is important to define and manage a range within which the personal information is disclosed in terms of protecting privacy. Therefore, it is critical to manage permissions for defining and managing the range within which the personal information is disclosed.
According to the prior art technologies, the permission management systems have been provided additionally to files and database servers and performed permission management for each specified item of data. In other words, there has been no such a server which distinguishes permission information from other information and manages only the permission information. For example, the Unix file system performs permission management for each of various items of data including a document and an image managed as files.
In the case of a business which provides a service based on personal information, however, service providing means (server or the like) possessed by a service provider differs physically depending on the type of a service provided to a user. For example, a purchase log at a department store is stored conceivably in a server owned by the department store and the location information of terminals is stored in the server of a terminal management carrier. When a user wishes to change permissions set for the information of his own, individual access made by the user to each of these servers leads to an intricate setting operation and a large load on the user. In addition, it also becomes necessary for a server possessed by a service provider to have an individual database for managing permission settings.
In such permission settings, if a simple permission setting method is adopted, a load on a user is increased proportionally to an increase in an amount of information. Consequently, the risk of the leakage of information resulting from a human operational error is increased even if the permission function of the system is logically completed. In a server which manages registered personal information, the protection of personal information is a most important factor and, if the possibility of the leakage of the information increases even as a result of a human operational error, the credibility of the server may be impaired.
In a business which provides various services based on the personal information of users, settings for determining the disclosability of personal information are frequently changed depending on the current situation, time zone or mood of each of the users. Conventional permission management systems have been developed on the assumption that, once the administrator fixes access control settings, the settings ought not to be changed frequently and, even if changes occur frequently, there is no mechanism for reducing the frequency of changes.
In addition, personal information with permissions has vertical relations among the types thereof. On the other hand, a plurality of permissions such as an open permission, a read permission, and a write permission are set for a given item of personal information. Although permission setting values should be given to a personal information item without causing logic contradiction in a plurality of permissions, they also be given without causing logic contradiction in permission setting values given to personal information items ranked higher or lower than the personal information item for which the permission settings have been fixed.
In the case in which a service provider provides a service to outsiders by using the personal information of users, there are occasions where it is not only necessary to manage the Read-permission and Write-permission settings and determine the accessibility of outsiders to the personal information of the user but also necessary to conceal the very existence of the information in terms of privacy protection. Since the prior art technologies have adopted the management method which determines whether a permission should be given or not in response to a request to reference data to be accessed, it has been impossible to conceal the very existence of the data. In other words, the determination of whether a permission should be given or not suggests the existence of an object to be accessed.
An object of the present invent is to provide a server capable of properly managing permissions or a service model using the server.
By providing a management server for dedicatedly managing permission setting values, the present invention solves the problem of the intricate setting operation which requires individual permission setting to each of service providers.
In the management server for managing permission setting values, various permission setting values are managed by categorizing them into a plurality of groups in accordance with vertical relations among permissions. This allows proper management of the permission setting values. Instead of categorizing the permission setting values in accordance with the vertical relations, it is also possible to give identification codes which allow the recognition of the vertical relations to permissions and manage the permission setting values in correspondence with the identification information. This allows proper management of not only the permission setting values but also information groups having vertical relations thereamong.
The management server according to the present invention may also have the function of automatically changing permission settings. That is, when a value for setting a permission ranked lower than other permissions is to be changed, values for setting the permissions ranked higher than the permission for which the setting value is to be changed are changed automatically. This allows the permissions to maintain the consistency of the vertical relations thereamong when the permission setting values are changed so that, even when a service which entails frequent changes in permission settings is provided, a load imposed on a user can be reduced. The automatic changing of the permission setting values is performed such that logic contradiction does not occur among a plurality of permissions set for one item of personal information nor among permissions set for personal information items ranked higher or lower than the personal information item of concern.
Since the present invention allows independent management of only permissions, a permission setting operation that has been performed conventionally upon each subscription to a new service can be simplified and usability is enhanced. In addition, the present invention allows more proper management of not only permission information but also information groups having vertical relations thereamong than the prior art technologies.
In the following embodiments, user attribute information including personal information and presence information will be termed object information and whether an item of the object information of each user is disclosable to an outsider will be termed a permission.
The present embodiment will describe with respect to the structure and operation of a presence server and to a network for implementing a service using the presence server.
A description will be given next to an overall operation from the time the presence server 1 receives a permission setting request from a user until it writes the contents thereof in a permission setting table 24 of
When the user transmits the permission setting request for information of his own from a terminal, each of the interfaces 11-1 to 11-n of the presence server 1 receives the transmitted message. In the presence server 1, the message is transferred first to a permission information I/O unit 2 and received by a permission information transmission and reception unit 4. The message is then transmitted to a permission input information construction and transfer unit 5, which extracts a portion corresponding to the permission setting request from the message, constructs the data having a format which can be interpreted in the server, and transfers the constructed user setting request to the permission setting external I/O unit 7 of a permission setting calculation unit 3.
The permission setting external I/O unit 7 transfers the request to a permission setting contents matching unit 9, whereby the contents of settings are matched. At that time, the permission setting contents matching unit 9 reads out information necessary for the matching from the object vertical relation definition table 23 of the memory 22 shown in
After the permission matching, a correspondence table to store permission information shown in
A description will be given next to an overall operation when the presence server 1 according to the present embodiment reads out the permission information stored in the presence server 1 and sends it to the user in response to the request by the user.
First, a permission acquisition request message from the user received by the interfaces 11-1 to 11-n is transferred to the permission information transmission and reception unit 4. The permission information transmission and reception unit 4 transfers the information to the permission setting external I/O unit 7 of the permission setting calculation unit 3. The permission setting external I/O unit 7 sends the contents thereof to a permission output contents calculation unit 10. In order to acquire the permission information specified by the user from the memory 22, the permission output contents calculation unit 10 issues an acquire instruction to the permission setting internal I/O unit 8.
The permission setting internal I/O unit 8 calls out the contents of the specified permission settings stored in the permission setting table 24 of the memory 22 via the data bus 27 of
The permission output information reception and construction unit 6 constructs a message which can be interpreted by the user client from the contents of the received permission settings and sends a message describing the contents of the permission settings from the interfaces 11 via the permission information transmission and reception unit 4. A management console is an apparatus which allows the administrator of the presence server to set information into the permission setting correspondence table 25 and the object vertical relation definition table 23 shown in
Terminals IDs 33-1 to 33-n and service IDs 34-1 to 34-n are positioned in the layer immediately under the user attribute information. Although it is considered in the present model that, if the terminal ID and the service ID are identified, the type of the terminal and the type of the service are automatically determined, it is also possible to locate terminal type information and service type information in the layer immediately under the ID information, separately from the ID information. For example, the phone number, the SIP (Session Initiation Protocol), the URI, or the like may be used as the terminal ID. The service ID is, e.g., an ID assigned to a service subscriber by a service provider. Needless to say, the terminal type information is information indicative of whether the terminal is, e.g., a PDA 33-n, a mobile telephone 33-1, a fixed terminal such as a PC, or the like. The service type information is information indicative of whether the service to which the user is subscribed is, e.g., an IM service 34-1 or a video chat service 34-n.
Various items of attribute information 35-1 to 35-n to 38-1 to 38-n of individual terminals and services are positioned in a layer immediately under the terminal IDs 33-1 to 33-n and the service IDs 34-1 to 34-n. The terminal attribute information is information on the attributes of individual terminals such as, e.g., the on-line status, communication status, location information, and the like of each of the terminals. The service attribute information is information required by each of service providers to provide a service. For a horoscope service provider, e.g., information on the birth dates and constellations of service subscribers correspond to the service attribute information. The presence server 1 stores the various object information items in accordance with the layered model of
Although the four-layered model is shown in
The presence server 1 recognizes a permission 41 for a user ID as a highest layer permission and stores it. The presence server 1 stores a permission 42 for user attribute information, a permission 43 for each of service IDs, and a permission 44 for each of terminals IDs in the layer immediately under the permission 41. The presence server 1 further stores a permission 45 for service attribute information and a permission 46 for terminal attribute information in the layer immediately under the permissions 42, 43, and 44. The presence server 1 stores as many sets of permission setting information thus structured as the number of combinations of users whose object information has been set and outsiders (including not only service providers but also so-called outsiders) who intend to access the information.
The disclosure-permission setting 52 is for determining whether the information should be opened to an information access user or not. If “Permit” is set as in 55-1, the information is opened to the information access user and, if “Refuse” is set as in 56-1, the information is concealed the information access user from view. The information access user with the setting of “Refuse” is no more allowed to know the possession of the information by an information open user. For example, if “Refuse” is set to the disclosure-permission setting 52 for the user ID 41, the information access user can't know the user ID of the information open user. In short, the presence of the information open user can be concealed from an outsider. Conversely, if the function of concealing the object information is added to the presence server, a parameter of the disclosure-permission setting should be provided for each permission setting type.
The Read-permission setting 53 is for determining whether a read operation to the information should be permitted or refused to the information access user. If “Permit” is set as in 55-2, the information access user is permitted to access the information and, if “Refuse” is set as in 56-2, the information access user is notified upon requesting access to the information that the disclosure of the information has been refused.
The Write-permission setting 54 is for determining whether a write operation to the information should be permitted or refused to the information access user. If “Permit” is set as in 55-3, the information access user is permitted to register or change the information. In other words, it becomes possible for an outsider to change the information possessed by the information open user in place of the information open user. Moreover, these three permission settings can be designated for each item of object information.
These three permission settings have a layered structure. The presence server 1 handles the permission information by fixing the disclosure-permission setting 52 as the highest layer setting, the Read-permission setting 53 as the immediately lower layer setting, and the Write-permission setting 54 as the lowest layer setting for each of the object information items 41 to 46. The contents of these three settings have rules. For example, if the lowest layer Write-permission setting 54 is “Permit”, the higher layer Read-permission setting 53 is “Permit” and the highest layer disclosure-permission setting 52 is also “Permit”. If the highest layer disclosure-permission setting 52 is “Refuse”, each of the lower layer Read-permission setting 53 and Write-permission setting 54 is also “Refuse”. Thus, if the upper layer setting is “Refuse”, the lower layer setting is accordingly “Refuse” and, if the lower layer setting is “Permit”, the higher layer setting is also “Permit”. This is because, if information is accessible, the information should naturally be disclosed and, if the information is changeable, the information should naturally be accessible and ought to have been disclosed. Thus, the three settings must be fixed in accordance with a method which does not cause contradiction in the individual layers.
Besides the foregoing disclosure-permission setting 52, Read-permission setting 53, and Write-permission setting, the types of permission settings can be designated freely by the user of the presence server via the management console of
A description will be given herein below to the operation when the presence server 1 receives a permission setting request from a user and stores the contents thereof. The table 61 shown in
First, the user ID of the user disclosing his or her information is retrieved from an information open user name field 62 in the table 61 shown in
The presence server 1 searches the information access user name field 72 of one of the index tables 71 which corresponds to the index number read out from the table 61 and writes permission settings in the field of contents of permission setting 73 corresponding thereto. The information access user 72 used herein indicates a user (or an application server) who can view the object information disclosed by the information open user or changes the object information in place of the information open user. If the information access user name cannot be found as a result of searching the information user name field, the permission settings are regarded as new ones and a new information access user name and the contents of the permission settings are added to the individual fields of the index table 71. If a setting request from the user is for the deletion of permissions, the information access user name specified from the index table 61 is deleted from the information access user name field 72 and the contents of permission setting field 73 corresponding thereto is also deleted.
The presence server 1 also performs the same operation when it receives a request to acquire permission settings from the user and reads out the contents thereof so that it reads out the permission settings from the contents of permission setting 73. The presence server 1 prepares the index tables 71 as many as the number of users who open information. Consequently, each of the information open users has the index table.
In the table 71, the information access users 72 and the contents of permission setting 73 for the information access users are described. The field of the contents of permission setting 73 is comprised of, e.g., 64-bit binary sequences. The 64 bits are divided into 2-bit groups such that each of the 2-bit groups represents one of the permission settings for individual items of information.
The table 81 of
If a new information open user is to be added, the information open user name is added to the entry table 61. At this time, the server checks the index number in an idle state to be described in the index field 63 and automatically sets the index number to the new information open user, while preparing the index table 71 for the newly added information open user. Conversely, if the information open user currently registered is to be deleted, the index table 71 for the user to be deleted is deleted, the user name to be deleted is searched in the information open user name field 62 of the entry table 61, and then the information is deleted therefrom.
(1) All of the disclosure-permission setting 52, the Read-permission setting 53, and the Write-permission setting 54 are “Refuse”.
(2) The disclosure-permission setting 52 is “Permit” and each of the Read-permission setting 53 and the Write-permission setting 54 is “Refuse”.
(3) Each of the disclosure-permission setting 52 and the Read-permission setting 53 is “Permit” and the Write-permission setting 54 is “Refuse”.
(4) All of the disclosure-permission setting 52, the Read-permission setting 53, and the Write-permission setting 54 are “Permit”.
It is possible to represent setting values for various permission levels by corresponding, e.g., respective setting values 00, 01, 10, and 11 to the respective settings defined in the foregoing (1), (2), (3), and (4). Although the present embodiment assumes the three states of the disclosure-permission setting, the Read-permission setting, and the Write-permission setting as the permission levels, it is also possible to represent respective states on individual levels by using binary bits even if four or more levels of settings are provided by further fragmenting the permission levels. For examples, 23=8 levels of permission settings can be fixed if 3-bit binary numbers are used.
In the case of adding a new item of object information, a new entry is added to the reference table 81. The addition of the entry allows permission settings for the object information item to be assigned to the sequence of bits shown in the contents of permission setting field 73 of the index table 71 which has not been used heretofore. Conversely, in the case of deleting an object information item, one of the entries is deleted from the reference table 81. The sequence of bits from which the entry has been deleted is no more referred to at the time of setting permissions or acquiring permissions so that it becomes an unused sequence of bits.
Thus, the present embodiment has enabled management of the permission setting values considering the vertical relations among permission levels by giving numeric value codes capable of representing the vertical relations to the permission setting values.
The permission setting table can be stored in an external database or the like for back-up and like purposes.
Upon receiving the permission setting request from a user in Step 101, the permission setting contents matching unit 9 acquires program information from the program storage 26 of
Next, in Step 106, the permission setting contents matching unit 9 reads out an object vertical relation table in terms of process units from the object vertical relation definition table 23 shown in
Next, in Step 110, the object to be checked for the permission settings is switched to the immediately higher layer. For example, if the Write-permission setting is currently checked, the object to be checked is changed to the Read-permission setting in Step 110. Thereafter, Step 106 and the subsequent steps are performed again to form a repetition loop which is repeatedly performed until the highest layer disclosure-permission setting is checked. When the checking of the highest layer process unit is ended, the repetition loop ends in Step 107 and the program sequence advances to Step 111. Although it is necessary to perform the repetition loop in Steps 106 to 110 while considering the vertical relations among the process units shown in
In Step 111, the object vertical relation table in terms of information units is readout from the object vertical relation definition table 23 shown in FIG. 2 and the permission information currently set is read out from the permission setting table 24 shown in
If the object information item is in the highest information unit layer, the program sequence advances to Step 116. If it is not in the highest information unit layer, a comparison is made in Step 113 between the Read-permission setting for the object information item to which the permission information is currently set and the Read-permission setting for the object information item which is higher in rank in the vertical relation chart shown in
When the processing is ended, the object to be checked for the permission settings is switched to the object information item immediately higher in layer than the currently checked object information item, and the process starting at Step 111 is performed again. The repetition loop is performed until the object to be checked reaches the highest layer user ID. When the object to be checked for the permission settings reaches the highest layer, the program sequence advances from Step 112 to Step 116. Although it is necessary to perform the process loop in Steps 111 to 115 while considering the vertical relations among the object information units shown in
When the processing has advanced, it is checked in Step 116 whether all the settings are fixed completely. When the user requests the permission settings for a plurality of object information items, the program sequence advances to Step 117, reads out the next permission setting object, and repeats the process starting from Step 105 for the permission setting object. When the processing for all the permission setting objects is completed, the program sequence advances from Step 116 to Step 118 where the matched permission setting values are written into the permission setting table 24 of the memory 22 shown in
On receiving, from the permission setting external I/O unit 7 shown in
If the user has the authority in Step 133, the program sequence advances to Step 135 where the permission settings are read out from the permission setting table 24, and vertical relations as shown in
In the checking of the permission settings in terms of the process units, the process unit to be checked for the permission setting is first located to the highest layer process unit, i.e., to the disclosure-permission setting in Step 136.
Then, the program sequence advances to Step 1001 where it is checked whether the process unit being checked is the lowest layer process unit. Since the first time loop is checking the highest layer disclosure-permission setting, the process unit being checked is not the lowest layer process unit and the program sequence advances to Step 137 where it is checked whether the disclosure-permission setting is “Refuse”.
If it is “Refuse”, the lower layer settings, i.e., each of the Read-permission setting and the Write-permission setting should naturally be “Refuse”, so that each of the Read-permission setting and the Write-permission setting is set to “Refuse”. If it is “Permit”, the program sequence advances to Step 138 where the object to be checked for the permission settings is switched to the immediately lower layer. For example, if the process unit currently checked for the permission setting is the disclosure-permission setting, the object to be checked for the permission settings is changed to the Read-permission setting in the immediately lower layer.
Thereafter, the program sequence advances to Step 1001 where it is resumed a repetition loop until the object to be checked for the permission settings reaches the lowest layer process unit.
When the lowest layer process unit is reached, the program sequence advances from Step 1001 to Step 140 where it is determined whether the checking has been completed for all the object information items. If the checking has not been completed, the program sequence advances to Step 141 where the setting for the next object information item is read out and the process starting at Step 136 is repeated. If the checking has been completed, the program sequence advances next Step 142 where it is checked whether the vertical relations in terms of the object information units shown in
When the object to be checked has reached the lowest layer object information item, the program sequence advances from Step 1002 to Step 147 where it is examined whether all the branches of the tree structure of
The processing of
Referring to FIGS. 28 to 30, a description will be given how the permission setting contents matching unit 9 shown in
At this situation, it is assumed that the presence server 1 has received a request from User A for changing the Read-permission setting of the mobile location information 3102 for User B to “Permit”. In response to the request, the permission setting contents matching unit 9 reads out the vertical relations shown in
In order to match the permission settings based on the vertical relations among objects, the vertical relation information shown in
Although the far higher layer user ID 3101 is also checked, the settings therefor which have originally been open permission and read permission, as shown in 3111, are left unchanged. As for the mobile communication status 3104, the PDA SIP-URI 3105, the PDA busyness 3106, and the PDA communication mode 3107, since it can be seen from the vertical relation chart shown in
It can be seen from
A description will be given to the overall operation of the service model. First, User A denoted by 154 registers information of his own and the information disclosure setting thereof in the presence server 1, requests the family information notification server 152 to provide the service, and receives the service via the information distribution server 153. In another possible application of this service model, each of the family members registers a product item he or she intends to buy so that another family member who approaches a shop where the item is available is notified of the item.
Since the presence server 1 having received the reservation of a notification of a change in User A information from the family information notification server 152 and booked it in Step 176, it attempts to notify the family information notification server 152 of the change in the registered information. At this time, the presence server 1 first checks, in Step 178, the permission settings registered A in the family information notification server 152 by User. Then, only the information for which “Permit” of the Read-permission setting has been checked is sent to the family information notification server 152 in Step 179. In this case, there are two notification methods that can be used, of which one sends only the changed information and the other sends all the information possessed by User A, including information that has not been changed.
When a method which sends only the changed information is used as an information change notification method, if User A has registered that the disclosure-permission or Read-permission setting for the changed information to the family information notification server 152 is “Refuse”, the information change notification in Step 179 is not performed. Information distribution to the family information notification server 152 as shown in
The family information notification server 152 acquires the changed information on User A in Step 179 and checks the acquired information including the changed information and other information that has not been changed, and judges the necessity of distribution service and the contents of the service in Step 180. Then, the family information notification server 152 determines the distribution of the service and sends a service distribution request to the information distribution server 153 in Step 181. Thereafter, the information distribution server 153 sets distribution media such as a dynamic image, a still image, and a text in accordance with the terminals of the service receiver, a bitrate adapted to the communication bandwidth of User A, and the like in Step 182 and distributes the service to User A in Step 183.
When the family information notification server 152 checks the changed User A information acquired in Step 180 and determines that the distribution service should not be performed, it does not perform the process in Steps 181 to 183 and waits for a next notification of a change in User A information. There are cases where the family information notification server 152 has the function of the distribution server 153. In these cases, the process in Step 181 may not be performed and the process in Steps 182 and 183 may be performed by the family information notification server 152.
The reservation 176 of a notification of a change in User A information is implemented by transmitting a SIMPLE SUBSCRIBE message 196 via the SIP server 161. The registration of information change 177 is implemented by transmitting a REGISTER message 197 via the SIP server 161. Although the REGISTER Method is originally used as a Method for allowing a user to perform on-line registration, the apparatus according to the present invention expands the Method so as to allow the registration of user information.
The notification 179 of a change in registered User A information is implemented by transmitting a NOTIFY message 199 via the SIP server 161. The NOTIFY Method is a Method for thus sending a notification of an information change in response to the reservation of the notification of a user information change booked by using the SUBSCRIBE. As the subsequent service transmission 183, an INVITE message is transmitted by using the SIP in the case where a dynamic image or voice requiring excellent real-time property is distributed, and, after a session is established between User A 154 and the information distribution server 153, the service is transferred by using the RTP protocol. In the case where a still image or a text requiring inferior real-time property is distributed, the service distribution is implemented by a method which directly transmits textual information by using the SIMPLE MESSAGE Method. In either of the cases, an SIP message is transferred via the SIP server 161.
The presence server according to the present embodiment allows proper management of not only the permission information but also any information groups involving logic vertical relations.
The OX department purchase log server 221 registers the log information in the presence server in Step 232. User A sends a service registration request to the shop information distribution server 222 in Step 233. Upon receiving the request, the shop information distribution server 222 inquires User A of disclosable information in Step 234. In response to the inquiry, User A registers the disclosable information of his own in the shop information distribution server 222 in Step 235. In most cases, these processes in Steps 233 to 235 are performed without the intervention of the presence server. At the same time, permission settings to the shop information distribution server 222 are also registered in the presence server 1 in Step 236.
In Step 237, the presence server 1 stores therein the permission settings registered by User A. To receive a notification of the contents of a change in User A information, the shop information distribution server 222 reserves a notification of a User A information change in Step 238. Then, User A registers the changed information of his own in the presence server 1 in Step 239. Since the presence server 1 has received and booked the reservation of a notification of a User A information change in step 238, it checks the permission settings to the shop information distribution server 222 fixed by User A in Step 240 and sends only the user information for which the Read-permission setting is “Permit” to notify the shop information distribution server 222 of the User A information change in Step 241. In this case, there are two applicable notification methods, of which one sends only the changed information and the other sends all the information possessed by User A, including information that has not been changed. Of the two notification methods, either one may be used.
The shop information distribution server 222 acquires the changed information on User A in Step 241 and checks the acquired information including the changed information and other information that has not been changed, and judges the necessity of distribution service and the contents of the service in Step 242. Then shop information distribution server determines to carryout the distribution service and sends a request to distribute the service to the information distribution server 223 in Step 243. The information distribution server 223 sets distribution media such as a dynamic image, a still image, and a text in accordance with the terminal of the service receiver, a bitrate adapted to the communication bandwidth of User A, and the like in Step 244 and distributes the service including information on, e.g., a store nearest to the current location of User A and a service coupon usable at the store to User A in Step 245. At this time, if the shop information distribution server 222 determines that the distribution service should not be carried out as a result of checking the changed User A information acquired in Step 241, it waits for a next notification of a change in User A information without performing the processes in Steps 243 to 245. There are cases where the shop information distribution server 222 has the function of the distribution server 223. In these cases, the process in Step 243 may not be performed and the process in Steps 244 and 245 may be performed by the shop information distribution server 222.
In
Next, User A registers the location 316 as an attribute of the terminal 1 in the presence server 1 in Step 323. Since the presence server has been previously arranged so as to store the location 316 into a database server B 303-2, the location information is stored in the database server B 303-2 in Step 324. Thereafter, User A registers permission settings to User B in the presence server 1 in Step 325 and the presence server 1 stores the permission settings designated by User A to User B in Step 326. After that, User B sends a reservation of a notification of User A information change to the presence server 1 in Step 327.
Upon receiving the reservation, the presence server 1 checks the permission settings designated by User A to User B in Step 328 and sends only the user information for which the Read-permission setting is “Permit” to User B for notification. That is, the presence server 1 reads out the user information of User A from the database server A 303-1 and the database server B 303-2 in Steps 329 and 330 and sends only the information for which the Read-permission setting to User B is “Permit” in Step 331. At this time, if the disclosure-permission or Read-permission setting for the user ID is “Refuse”, there is no user information to be sent for notification so that a no authority message is returned in Step 331, whereby the operation sequence is ended. If User A subsequently changes, e.g., the location information and the hobby in Step 332, the presence server 1 stores the changes in the database server A 303-1 and the database server B 303-2 storing the respective user information items in Steps 333 and 334, and checks the permission information set by User A to User B in Step 335, thereby notifying User B of the user information for which the Read-permission setting is “Permit” in Step 336.
As shown in 302 of
In this embodiment, a description will be given to another example of the structure of the presence server.
Because of the large data size of the entry table, however, it is impossible to store all the data sets in the memory as in the embodiment shown in
In this embodiment, the procedure for changing permissions in an actual use situation and advantages achieved thereby will be described. In
A description will be given to messages communicated in a network diagram shown in
First, in Step 4011, User B sends a SUBSCRIBE message to the presence server 1 by using the terminal 4003 of his own to know the state of User A. The SUBSCRIBE is termed as a METHOD and represents the type of a message defined in the SIP. A method for using the SUBSCRIBE is defined in the IETF Request For Comment (RFC) 3265. The presence server 1 having received the SUBSCRIBE message then sends to User B a 200 OK response indicating that the SUBSCRIBE has succeeded in Step 4012 and subsequently sends a NOTIFY message to User B in Step 4013 to notify User B of the presence information, i.e., object information of User A. The NOTIFY message is also a Method defined in the RFC3265, similarly to the SUBSCRIBE, for describing object information therein. With the NOTIFY method, User B is notified of the object information of each of the terminal 1 (4001) and the terminal 2 (4002) possessed by User A.
A description will be given next to the latter half portion of the sequence chart of
It is assumed that User A is on his way home after work and User A and User B are not intimate friends, though they are office colleagues. During private off-work hours, User A limits the information item accessible by User B to his e-mail address with the intention that User B should use the e-mail for a business contact with User A. User A does not wish to open the availability information, the location information, and the communication mode information to User B. Further, User A does not want a mobile phone call from User B. On leaving the office, for these reasons, User A changes the permission settings to User B. Specifically, User A sends a message to change permission settings from his terminal to the presence server 1 (Step 4018) and changes the permission settings stored in the presence server 1. The contents of the message is a request to switch the disclosure-permission setting for the mobile telephone to “Refuse” and to switch the Read-permission setting of the availability of the PDA terminal to “Refuse”. The presence server 1 having received the permission setting requests makes matching the contents of the permission settings in Step 4019 and performs registration.
Immediately after the changing of the permission settings by User A, the presence server 1 sends the object information items granted by the permission settings, i.e., only the mail address information to the terminal 4003 of User B by using a NOTIFY message. Thereafter, even though User A changes the presence information, if the permission therefor has not been given by User A to User B, the presence server 1 no more sends the notification of the state change to User B. For example, even if User A changes the presence information of the mobile telephone in Step 4201, the notification of the change is not sent to User B. However, if the object information opened to User B is changed as in Step 4022, the object information is sent by using a NOTIFY message as in Step 4023.
FIGS. 39 to 41 are views illustrating how a permission setting request is actually transmitted in Step 4018 of
A SIP message is composed of an SIP request line 4224 describing the type of the message, a SIP header 4225 describing the settings for the message, and an SIP message body 4226 describing the actual data. As shown in
In an SIP message using the MESSAGE Method, as shown in
A description will be given to the XML schemer of the SIP message body portion shown in
The contents of the settings are actually described in a format as shown in 4305. In this case, the description is a sequence of bits. The sequence of bits describes the contents of the settings in the order of objects defined by the “object-def” element. To each of the objects, the bits corresponding to the operation described by the “flag” element are given and show the setting of “0” (Refuse) or “1” (Permit) for each of the operations.
In the setting of
By using the reception of such a message as a trigger, the presence server 1 according to the present invention can examine consistency between the permission settings, complement the contents of the settings, and register the contents of the settings.
Number | Date | Country | Kind |
---|---|---|---|
2003-177456 | Jun 2003 | JP | national |
This application is a continuation application of U.S. application Ser. No. 10/787,108 filed on Feb. 27, 2004, the entirety of which is incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
Parent | 10787108 | Feb 2004 | US |
Child | 11936130 | Nov 2007 | US |