Abstract:
A context providing method includes the collection step of collecting context information representing a situation of a target via a network, the generation step of applying a predetermined rule to the collected context information and information associated with a context entity which generates/utilizes the context information, thereby generating new context information, and the step of transmitting the generated context information to a context requester via the network. A context providing system and apparatus are also disclosed.

Description:
BACKGROUND OF THE INVENTION 
       [0001]    The present invention relates to a context providing method, system, and apparatus for acquiring or generating a context satisfying a request representing the context representing a situation for a user, article, environment, or the like, and sending a context notification. 
         [0002]    Conventionally, a computer system has been proposed, which generates context information representing a context requested from an application and transferring the context information to the application via a network. Japanese Patent Laid-Open No. 2001-216315 (reference  1 ) discloses the following method of generating and providing context information having a high degree of satisfaction for a user. 
         [0003]    (1) At least one context data unit information made up of identification information of one context data used for generating context information and at least one attribute information for designating a feature of the context data is made to correspond to identification information of the context information and registered in an information-data unit correspondence table in advance, 
         [0004]    (2) the context data unit information is made to correspond to a context data source suitable for acquiring context data identified by the identification information of the context data unit information and registered in a data unit-source correspondence table, 
         [0005]    (3) at least one context data unit information having context data of a feature suitable for generating context information associated with a management target requested from an application is specified by looking up the information-data unit correspondence table, 
         [0006]    (4) a context data source suitable for acquiring context data identified by the identification information of the specified context data unit information is specified by looking up the data unit-source correspondence table, and 
         [0007]    (5) context data is acquired from the specified context data source, and context information requested from the application is generated using the acquired context data and output. 
         [0008]    The conventional context providing method described above can be summarized as follows. An attribute for a context source required for generating the requested context information is determined using the information-data unit correspondence table. A context source having the determined attribute is determined using the data unit-source correspondence table to generate and provide the context information. 
         [0009]    The conventional context providing method, however, determines the context source from the requested context information through the context source attribute. For example, an automobile has a GPS (Global Positioning System) as a context source, and an automobile position is defined as a context. In addition, another context that a user gets in this automobile is present. In this case, a context as the user&#39;s position cannot be generated from the above two contexts. 
         [0010]    In the conventional case, a new context cannot be disadvantageously generated from a combination of a plurality of contexts, as described above. 
       SUMMARY OF THE INVENTION 
       [0011]    It is an object of the present invention to allow generation of a context using a context from a context source which is not directly relevant to a context entity which wants to grasp the context. 
         [0012]    In order to achieve the above object of the present invention, there is provided a context providing method comprising the collection step of collecting context information representing a situation of a target via a network, the generation step of applying a predetermined rule to the collected context information and information associated with a context entity which generates/utilizes the context information, thereby generating new context information, and the step of transmitting the generated context information to a context requester via the network. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0013]      FIG. 1  is a schematic view showing a context providing system according to the first embodiment of the present invention; 
           [0014]      FIG. 2  is a block diagram of a context providing apparatus shown in  FIG. 1 ; 
           [0015]      FIG. 3  is a view showing the structure of context information; 
           [0016]      FIG. 4  is a view for explaining a context generation sequence by a context generation unit shown in  FIG. 2 ; 
           [0017]      FIG. 5  is a schematic diagram showing a context providing system according to the second embodiment of the present invention; and 
           [0018]      FIG. 6  is a view for explaining a context generation sequence by a context generation unit shown in  FIG. 5 . 
       
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENTS 
       [0019]    The present invention will be described in detail with reference to the accompanying drawings. 
         [0020]    The definitions of terms and their relationships will be described. 
         [0000]    Context: information representing the situation of a given object is defined as a context. Examples of the context are a profile (e.g., the position, age, and sex of a user), favor, room temperature, presence/absence, network bandwidth, and resolution of a personal computer.
 
Context Entity: An object which generates or utilizes a context is defined as a context entity. Examples of the context entity are a user, article, and environment. An application which only receives and utilizes a context is also defined as a context entity. A given context entity is distinguished from another context entity by a context entity identifier.
 
Material Context: A raw context obtained from a sensor is defined particularly as a material context.
 
Context Source: A source for generating a material context or externally providing a context is defined as a context source. A sensor is an example of the context source. A database capable of collecting contexts and externally providing them is another example of the context source. A given context source is distinguished from another context source by a context source identifier. Each context source necessarily has a context entity serving as a parent. Any context obtained from a context source serves as the context of a parent context entity.
 
Context Information: Information expressing a context in a format interpretable by a recipient is defined as context information. Information describing a context by XML (eXtensible Markup Language) in the PIDF (Presence Information Data Format) is an example of context information.
 
         [0021]    Each context necessarily has one context entity. For example, a user is a context entity for a user&#39;s position. An engine is a context entity for an engine temperature. A personal computer is a context entity for the screen resolution of the personal computer. A situation in which a given RFID tag is detected by a given RFID reader at given time is an example of the context. At this time, the detection itself is a material context, the RFID reader is a context source, and the RFID tag is a context entity identifier. The context source identifier of the reader, context entity identifier of the RFID tag, and information expressing the detection time in a specific format are pieces of context information. Note that the identifier of the RFID itself is generally used as the context entity identifier of the RFID. 
       First Embodiment 
       [0022]    A context providing system according to the first embodiment of the present invention will be described with reference to  FIGS. 1 and 2 . As shown in  FIG. 1 , the context providing system comprises a network  100 , a base station  101 , context providing apparatus  120 , and context user terminal  130  which are connected to the network  100 , an automobile  140  which can communicate with the base station  101  by radio, and a cellular phone  160  which communicates with the base station  101  by radio. 
         [0023]    The automobile  140  comprises a GPS position detection device  141  which detects a position by GPS, a communication device  142  which communicates with the base station  101  by radio, and an RFID tag  143 . The communication device  142  notifies, via the base station  101  and network  100 , the context providing apparatus  120  of the position detected by the GPS position detection device  141 . The cellular phone  160  comprises an RFID tag reader  161 . 
         [0024]    The context user terminal  130  serves as a terminal device which utilizes a context. In this case, the context user terminal  130  simply designates a specific context from a given object entity to send a context request to the context providing apparatus  120 . The context user terminal  130  displays the context information received from the context providing apparatus  120 . Note that the context user terminal  130  can be an agent or server or may be a device which processes context information. 
         [0025]    The automobile  140 , RFID tag  143 , user  150 , and cellular phone  160  serve as context entities, respectively. The GPS position detection device  141  and the RFID tag reader  161  mounted in the cellular phone  160  serve as context sources, respectively. Each context source necessarily has one parent context entity. The contexts collected by the context source are dealt as the contexts of the parent context entity. In this embodiment, the parent context entity of the GPS position detection device  141  serving as a context source is the automobile  140 . The position information detected by the GPS position detection device  141  directly serves as the context information of the automobile  140 . Similarly, the parent context entity of the RFID tag reader  161  serving as the context source is the cellular phone  160 . The information of the RFID tag  143  which is detected by the RFID tag reader  161  is the context information of the cellular phone  160 . 
         [0026]    As shown in  FIG. 2 , the context providing apparatus  120  comprises a context collection unit  121 , context request reception unit  123 , and context transmission unit  124  which are connected to the network  100 , a context holding unit  122  connected to the context collection unit  121 , and a context generation unit  125  connected to the context holding unit  122 , context request reception unit  123 , and context transmission unit  124 . 
         [0027]    The context information of the context entity is recorded on the context holding unit  122  of the context providing apparatus  120 , as shown in  FIG. 3 . In this embodiment, context information of the user  150  (to be referred to as user context information)  300  contains “Alice” representing the context entity identifier of the user  150 , “In Work” representing the status of the user  150 , and “Mphone02” representing the context entity identifier of the carried context entity as a semifixed link with the user  150 . 
         [0028]    Context information of the cellular phone  160  (to be referred to as cellular phone context information)  301  contains “idle” representing the status of the cellular phone  160  and “Alice” representing the context entity identifier of the user  150  which serves as a semifixed link. 
         [0029]    Context information (to be referred to as RFID context information)  302  of the RFID tag  143  serving as the contact entity contains “RFID0123” representing the context entity identifier of the RFID tag  143  and “Car01” representing the context entity identifier of the automobile  140  which serves as a fixed link. 
         [0030]    Context information (to be referred to as automobile context information)  303  of the automobile  140  serving as the context entity contains “car01” representing the context entity identifier of the automobile  140 , “RFID0123” representing the context entity identifier of the RFID tag  143  serving as the fixed link destination, “Drive” representing the status of the automobile  140 , and “135°42′10″ east longitude, 44°15′30″ north latitude, error within 10 m” representing the position information detected by the GPS position detection device  141 . 
         [0031]    Note that since the status of the user  150 , the telephone status of the cellular phone  160 , and the status of the automobile  140  can be generated by a general technique, a method of generating them will not be described. 
         [0032]      FIG. 4  shows a program example by a pseudo-language representing the generation of the context generation unit  125 .  FIG. 4  shows a sequence (rule) for obtaining specific context information (target context information) of a specific context entity (target context entity). 
         [0033]    In this sequence, it is checked if the target context information is present in the context information of the target context entity. If so, the target context information is output. If the target context information is not present, the above process is recursively executed for context information of another context entity linked by the context information of the target context entity until a desired result is obtained. In an actual implementation, the relationship between the context entities may be looped. For this reason, a mechanism for eliminating this loop is required. Assume that no loop is present in  FIG. 4 . 
         [0034]    The operation of the context providing system having the above arrangement will now be described. This operation is performed such that a program prestored on a recording medium (not shown) is read and executed by a CPU (Central Processing Unit: not shown). 
         [0035]    The user  150  gets in the automobile  140 . The RFID tag reader  161  mounted in the cellular phone  160  carried by the user  150  detects the RFID tag  143  mounted in the automobile  140 . The cellular phone  160  notifies the context providing apparatus  120  of context information made up of a pair of the cellular phone  160  and RFID tag  143  via the base station  101  and network  100 . The context collection unit  121  in the context providing apparatus  120  receives the context information from the cellular phone  160  and adds cellar phone-RFID tag information as a temporary link to the cellular phone context information  301 , as shown in  FIG. 3 . The context collection unit  121  also adds RFID tag-cellular phone information  305  as a temporary link to the RFID tag context information  302 . 
         [0036]    The context user terminal  130  requests the position context information of the user  150  to the context providing apparatus  120 . The context request reception unit  123  in the context providing apparatus  120  receives the request from the context user terminal  130  and starts the context generation unit  125 . A case wherein the context information of the context entity identified as “Alice” is requested will be exemplified. 
         [0037]    The context generation unit  125  starts determining the position information of the user  150  serving as the context entity in response to the request from the context user terminal  130 . The context generation unit  125  searches the context holding unit  122  for the context entity identified by “Alice”. As a result of search, the context generation unit  125  extracts the user context information  300  containing the context entity identifier as “Alice”. 
         [0038]    The context-generation unit  125  checks if the context information of the position information is present in the user context information  300 . Since the user context information  300  does not contain the context information whose type is position information, the context generation unit  125  searches for another context entity associated with the user  150 . In this case, the context entity identifier “Mphone02” of the cellular phone  160  as a semifixed link is recorded. The context generation unit  125  then searches for context information having “Mphone02” as the context entity identifier and extracts the cellular phone context information  301 . 
         [0039]    No position information is present in the cellular phone context information  301 . The RFID tag context information  302  is extracted using the context entity identifier “RFID0123” of the cellular phone-RFID tag information  304  recorded as a temporary link. No position information is present in the RFID tag context information  302 , either. The automobile context information  303  having the context entity identifier “Car01” as a fixed link is extracted. Since position information is contained in the automobile context information  303 , the context generation unit  125  determines the position information contained in the automobile context information  303  as the position information of “Alice”. 
         [0040]    The context providing apparatus  120  sends back, to the context user terminal  130  as the context of the user  150 , the position information context originally serving as the position information of the automobile  140  and determined in the above step. 
         [0041]    According to this embodiment, when position information of the user  150  cannot be obtained from only the context of the user  150 , the context entities associated with the user  150  are sequentially traced, and the position information of the found context entity is provided to the request terminal as the context information of the user  150 . 
         [0042]    In this embodiment, a single network is used as the network  100 , and the base station  101  is shared in communication with the communication device  142  and cellular phone  160 . However, the present invention is not limited to this. A plurality of networks such as a cellular phone network, wireless LAN network, and the Internet or a plurality of base stations may be used. 
         [0043]    In this embodiment, all pieces of context information are held in the context holding unit  122 . However, the context holding means may be divided into a plurality of parts depending on the characteristics of information, such as permanent or temporary information. For example, the attributes representing the features of context entities and context sources, and the fixed relationships between the context entities may be held in another holding means. 
       Second Embodiment 
       [0044]    A context providing system according to the second embodiment of the present invention will be described with reference to  FIG. 5 . The overall arrangement of the second embodiment is the same as in  FIG. 1 . The arrangement of a context providing apparatus  120  is shown in  FIG. 4 . In  FIG. 4 , a rule holding unit  126  which holds rules used for context generation is added to the arrangement in  FIG. 2 . 
         [0045]    In the second embodiment, a context generation unit  125  does not hold a sequence for generating a context, but generates a context by interpreting a rule held in the rule holding unit  126 . If a rule  400  shown in  FIG. 4  is held in the rule holding unit  126 , the same operation as in the first embodiment is performed. 
         [0046]    When a rule  401  shown in  FIG. 6  is employed as a position acquisition rule, more flexible position information acquisition is achieved. More specifically, in the rule  400  shown in  FIG. 4 , processing is ended when necessary context information is extracted for the first time. In the rule  401  in  FIG. 6 , however, all pieces of position information of all associated context entities are collected, and among them all, position information having a smallest error is selected as the position information of a target context entity. 
         [0047]    For example, when a cellular phone  160  has a position detection means whose precision is poorer than that of a GPS position detection device  141 , and a user  150  does not get in an automobile  140 , the position information detected by the cellular phone  160  serves as the position information of the user  150 . On the other hand, when the user  150  gets in the automobile  140 , position information detected by a higher-precision GPS position detection device  141  serves as the position information of the user  150 . 
         [0048]    According to this embodiment, a flexible system can be constructed by adding or changing a rule. 
         [0049]    As has been described above, according to the present invention, by utilizing the relationship between context entities, necessary context information is generated using context information obtained from a context source not directly related to a target context entity whose context should be grasped. An opportunity for utilizing generated context information can be enhanced.