<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>A Service Control Method Using Semantic Constraint on Context Interpretation</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Jun Maeda</string-name>
          <email>maeda.jun@jp.fujitsu.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Masaaki Takase</string-name>
          <email>masaaki.takase@jp.fujitsu.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Mitsuaki Kakemizu</string-name>
          <email>kake@jp.fujitsu.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Jun Maeda is with Fujitsu Limited</institution>
          ,
          <addr-line>Kawasaki, 211-8588</addr-line>
          <country country="JP">Japan</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2005</year>
      </pub-date>
      <fpage>58</fpage>
      <lpage>61</lpage>
      <abstract>
        <p>- When constructing a personalized context-aware service system, much work is required to develop the service control programs that provide services in various personalized contexts. Then, a common control system that interprets the context and dynamically generates various service execution methods is necessary. A platform that generates service execution methods by combining context interpretation information is proposed. The semantic constraint is introduced as a part of the service definition. It generates appropriate service execution methods by specifying how to use the context and it also improves processing performance.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Index Terms— context-aware, context interpretation, service
control, service definition</p>
    </sec>
    <sec id="sec-2">
      <title>I. INTRODUCTION</title>
      <p>
        In the age of ubiquitous and personal services, context-aware
services [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]-[
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] that provide suitable services for individual
user's situations (context) are expected. Context-aware service
control platforms [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]-[
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] have been developed as basic facilities
for such as acquisition, sharing and use of the context. To
provide a context-aware service, a service execution method
that achieves the user's objective under the precondition of
context is necessary. The service execution methods are
described in the application programs on the platform, however
because the service execution methods differ according to the
context even if the user's objective of the service is the same, it
is necessary to consider various contexts in the application
programs, and much work is required for the program
development. It therefore becomes necessary for the service
execution methods to be generated dynamically. This research
aims to develop a function to reactively generate personalized
service execution methods based on the context as a higher
layer function of the context-aware service control platforms.
      </p>
    </sec>
    <sec id="sec-3">
      <title>II. PROBLEM The function to generate the service execution method from the context and the user's objective is termed "context</title>
      <p>interpretation" in this paper. The context interpretation is
performed by deriving related information about the service
control necessary to achieve the objective from the context. So
far, context interpretation processing is usually realized by the
following method 1.</p>
      <p>Method 1 (individual application processing)</p>
      <p>
        In this method, each application program performs context
interpretation. The typical processing sequence is as follows:
(1) the application registers trigger information in the platform;
(2) the platform calls the application when the context matches
the trigger information; (3) the application generates the service
execution method by interpreting the context; and (4) service
control action is performed according to the service execution
method. Existing platforms such as the CASC (Context-aware
service control) system [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]-[
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] are designed with such a
processing style, however this method requires a variety of
context interpretation programs in the application program
because of various personalized contexts. As a result, the
problem of the expanding application program development
emerges. Fig. 1 shows an example of the application program
interpreting context using method 1. While it is the case that the
context interpretation is performed in the platform, if
information on the service execution method for an individual
service is provided by the application, this is classified as
method 1.
      </p>
      <p>if Context1 derives information A by relation R4
{
if Information A derives service objective D by relation R2</p>
      <p>A service execution method is found.
if Information A derives service objective E by relation R3</p>
      <p>A service execution method is found.
}
if Context1 derives information B by relation R1
{
if Information B derives service objective D by relation R2</p>
      <p>A service execution method is found.
if Information B derives service objective E by relation R3</p>
      <p>A service execution method is found.
}
if Context1 derives information C by relation R11
if Information C derives service objective D by relation R2</p>
      <p>A service execution method is found.
if Context1 derives information L by relation R11
if Information L derives service objective M by relation R5</p>
      <p>A service execution method is found.</p>
      <p>It is essential that the platform generates service execution
method for personalized context-aware services. We then
adopted the following method 2.</p>
    </sec>
    <sec id="sec-4">
      <title>Method 2 (common processing)</title>
      <p>This method performs context interpretation by common
processing. The processing sequence is as follows: (1) the
application registers trigger information in the platform; (2) the
platform generates the service execution method by
interpreting the context; and (3) the platform calls applications
that control service action according to the service execution
method.</p>
      <p>
        A platform that constructs a user profile to be used by
applications was proposed [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. In this system, the control of
individual services is performed by the application program
(method 1), but the platform performs a part of context
interpretation that does not depend on individual services. If
this idea is expanded for the entire context interpretation, the
service execution method can be constructed from the context.
This is performed by looking for the "story" that reaches the
service objective by combining context interpretation
information (various information derived from the context)
with the context. Fig. 2 shows a sample of context
interpretation.
      </p>
      <p>A mechanism that enables flexible and efficient context
interpretation is required. It is also necessary to make service
development simple.</p>
      <p>Context interpretation information
Room R2 is next to
room R1.</p>
      <p>Personal computer P
is in room R2.</p>
      <p>Personal computer P
has software S to
show file F.</p>
      <p>Service
Objective
Software S
opens file F.</p>
      <p>Context
The user is in room
R1.</p>
      <p>The user requests to
show the content of
file F.</p>
      <p>Service execution method
III. PROPOSED CONTEXT-AWARE SERVICE CONTROL METHOD</p>
      <p>We designed a context interpretation mechanism as follows.
1) It is necessary that the mechanism be able to generate diverse
service execution methods to provide services by flexible
means. Essential information that is in the context or the
context interpretation information is then used to combine the
context interpretation information. For instance, essential
information items in Fig. 2 are user's location R1, room R2,
personal computer P and so on. This method deals with every
item of context interpretation information that has a possibility
of being combined, then it can generate varied service
execution methods.
2) It is not that the related context interpretation information is
simply combined with the context, but the context
interpretation information suitable for the service objective
should be combined. The semantic constraint then selects the
context interpretation information suitable for the service
objective. In Fig. 2, for instance, context interpretation
information "There is an air-conditioner A in room R2" can be
combined with context interpretation information "The room
next to room R1 is room R2" through "room R2" as essential
information. However, if the semantic constraint for the
objective "file opening" specifies "derive information about IT
equipment," "air-conditioner A" does not satisfy the semantic
constraint and this context interpretation information is not
selected. This method generates semantically appropriate
service execution methods, and reduces context interpretation
processing by eliminating the search process for meaningless
service execution methods.</p>
      <p>Fig. 3 shows the entire mechanism. The following describes
the explanations of each part, details of context interpretation
processing and discussions about the proposed method.</p>
      <p>Precondition context</p>
      <p>Category 1
matching</p>
      <p>Semantic constraint
cPorencteoxntdition → Relation → idCneafrtoievrgmeodartyioonf →…
matching matching matching</p>
      <p>Service Objective</p>
      <p>Category Obj
matching
Input
Category 1 → Relation → OCuatpteugtory X</p>
      <p>Context interpretation information
Service
definition
Context
interpretattion
entity
Context
Category 1: Value 1
Category 2: Value 2
…</p>
      <p>Category X: Value X
Description of
relation between
Value1 and ValueX
… …</p>
      <p>Category Obj:</p>
      <p>Value Obj
…
Service execution method
Fig. 3. Service control mechanism using semantic constraint</p>
      <sec id="sec-4-1">
        <title>A. Context</title>
        <p>The context is information that shows various situations of
the real world. The context includes information supplied by
sensors or information providers, etc. Information that a user
enters from a personal terminal (parameters for specific service,
and personal information such as location of user, age, hobbies,
etc.) is also included in the context. The context is represented
by category (type of information) and value. The following are
examples of context: "User's location: conference room,"
"Time: ten o'clock," "Document name specified by user:
document_1" and "User's address: Tokyo".</p>
      </sec>
      <sec id="sec-4-2">
        <title>B. Context interpretation information</title>
        <p>This information gives the interpretation of the context and is
provided from the context interpretation entities. When the
context interpretation entity receives an input value that
belongs to a specific category, it then outputs a value that
belongs to a specific category and context interpretation
information according to semantic relations between the input
and output defined for each entity. For instance, a context
interpretation entity receives the input value "User's location:
R1," then outputs the value "Room: R2," and context
interpretation information "Room R2 exists on the same floor
as R1" according to a semantic relation "Existing on the same
floor."</p>
      </sec>
      <sec id="sec-4-3">
        <title>C. Service definition</title>
        <p>The service definition consists of the precondition context,
the service objective, and the semantic constraint. This
describes "What action is performed (service objective) by
using which information (precondition context) and how such
information is used (semantic constraint)." Service objective
describes the category that shows the service action such as
"Document edit" and "Air-conditioning control." Precondition
context describes the category of the information used in the
service such as "User's location" and "User specified
document." Semantic constraint is provided for each
precondition context. This defines the scope of the semantic
relation between the precondition context and the context
interpretation information that it is combined with, and the
scope of category which that derived value belongs to in the
context interpretation processing. Similarly, it defines the
constraint of context interpretation information combined with
derived information. Semantic constraint of the precondition
context not used to derive any information is indicated as
"Direct use".</p>
        <p>Examples of semantic constraint are shown below.
1) Precondition context: User's location -&gt; Relation: Existing in
same place -&gt; Derived information: Equipment.
2) Precondition context: User's location -&gt; Relation: Existing in
same place -&gt; Derived information: Personal computer.
3) Precondition context: User's location -&gt; Relation: Existing
on the same floor -&gt; Derived information: Place -&gt; Relation:
Existing in same place -&gt; Derived information: Equipment.
4) Precondition context: User's location -&gt; Relation: Attribute
-&gt; Derived information: Temperature.
5) Precondition context: User specified document name -&gt;
Relation: Direct use.</p>
        <p>A hierarchical structure is used for representing relations in
different abstraction levels, from general relations to specific
relations. Similarly, the categories of derived information use a
hierarchical structure.</p>
      </sec>
      <sec id="sec-4-4">
        <title>D. Context interpretation processing</title>
        <p>In context interpretation processing, the present context is
first compared with the precondition context that is described in
the service definitions registered for each user, and if the
precondition context of a service definition matches the present
context, the definition is activated. The context interpretation
information is then combined based on the activated service
definition using graph search processing.</p>
        <p>Combining context interpretation information is performed
as follows. First the context interpretation entity that receives a
value belonging to a category that matches the precondition
context and is consistent with semantic constraint is invoked.
Context interpretation information provided from the context
interpretation entity is combined with the context. More
context interpretation information is combined by repeating
this process (next context interpretation entity receives a value
that matches the output value of the previous entity). If output
of a context interpretation entity matches the category
described as a service objective, a set of combined context
interpretation information becomes a service execution method.
This describes, for instance, "Run software S on personal
computer P which is in the room next to user's location to
achieve the service objective that file F is shown". Generated
service execution method is reliable in terms of semantic
appropriateness for the service objective by satisfying semantic
constraint.</p>
        <p>Context interpretation also can be personalized according to
the situations like user's location or behavior. The following is
one method.
1) Context interpretation entities are classified into groups,
such as general, specific field, district, office and home.
2) Groups suitable for the user's situation are selected and used
for context interpretation.</p>
        <p>This provides services by context interpretation suitable for a
user's situation and efficient processing by eliminating
unnecessary context interpretation information. For instance,
users at different locations can use services peculiar to each
place by selecting the context interpretation entity group for
each district, and the processing becomes efficient by not using
context interpretation information for other districts.</p>
      </sec>
      <sec id="sec-4-5">
        <title>E. Effect of proposed method: efficient context interpretation</title>
        <p>The amount of processing becomes enormous to find every
possible service execution method when the context amount
and the interpretation information increase. Fig. 4 shows the
context interpretation processing by the platform
corresponding to the application program in Fig. 1. As shown
in Fig. 4, the context interpretation result includes a lot of
meaningless service execution methods, because there are
many context interpretations which are not relevant for the
service objective.</p>
        <p>This unnecessary context interpretation processing is
reduced by semantic constraint. That is, because context
interpretation entities that are not consistent with semantic
constraint are not invoked, meaningless combinations of
context interpretation information provided by those entities
are omitted. In Fig. 4, "X" shows the points where context
interpretation information is not combined.</p>
      </sec>
      <sec id="sec-4-6">
        <title>F. Effect of proposed method: simple service development</title>
        <p>The service definition method using semantic constraint
enables the development of services more simply and easily
than method 1 because it is not necessary to describe a detailed
context interpretation procedure. Semantic constraint uses
hierarchical representations of relations and categories of
derived information as shown in Fig. 4. This enables service
definitions to be described with the necessary abstraction level
from the user's viewpoint. Context interpretation generates
various service execution methods suitable for the context
using the graph search algorithm within the scope of a specified
abstraction level, thus the amount of description necessary to
define the service is significantly reduced compared with the
description for the application program in method 1. The
service definition described in Fig. 4 is equivalent to the
application program in Fig. 1.</p>
        <p>On the other hand, if detailed relations and categories are
specified in the semantic constraint, it is also possible that the
service definition describes a precise procedure similar to
method 1.</p>
        <p>The service definition composed from service objective,
precondition context and semantic constraint seems to be close
to the ideas considered when the designers develop new
services.</p>
        <p>Context1</p>
        <p>Information A is related
(relation R4) to Context1.</p>
        <p>Service Objective D is related (relation R2) to information A.</p>
        <p>Service Objective E is related (relation R3) to information A.</p>
        <p>Information K is related (relation R9) to information A.</p>
        <p>Information J is related (relation R10) to information A.</p>
        <p>Service Objective D is related (relation R2) to information B.</p>
        <p>Service Objective E is related (relation R3) to information B.</p>
        <p>Information J is related (relation R10) to information B.</p>
        <p>Service Objective D is related (relation R2) to information C.</p>
        <p>Information D is related (relation R9) to information C.</p>
        <p>Service Objective M is related (relation R5) to information L.</p>
        <p>Information B is related
(relation R1) to Context1.</p>
        <p>Information C is related
(relation R11) to Context1.</p>
        <p>Information L is related
(relation R11) to Context1.</p>
        <p>Information G is related
(relation R7) to Context1.</p>
        <p>InformationF is related
(relation R7) to Context1.</p>
        <p>Service definition
Precondition context
Context 1
Relation hierarchy</p>
        <p>Category hierarchy
R11 R12</p>
        <p>R13 R14 R15
R4 R5 R6 R7 R8 R9 R10
R1 R2 R3</p>
        <p>L</p>
        <p>M N O P
A B C D E F GH I J K</p>
        <p>Meaningless context interpretation
Derived interpretation
Not derived interpretation
Fig. 4. Context interpretation by Method 2 with semantic constraint</p>
      </sec>
      <sec id="sec-4-7">
        <title>G. Service conflict</title>
        <p>When services are executed, the requests of users may cause
a conflict. A pattern of the conflict is the case that the effect of
service Sa, which is based on the context of user A, is removed
by other services (for instance, service Sb, which is based on
the context of user B) that are in effect at the same time. This
brings inconvenience to user A. Another pattern is the case
where the execution of service Sc, which is based on the
context of user C, alone brings some inconvenience to user A.</p>
        <p>Fig. 5 shows an idea to resolve the conflicts in the framework
of the service execution generation system. Other people
related to a service execution method (for instance, a person in
the place where the service is executed or the owner of
something used for the service) and their personal requests are
derived from each entity that provides those items of
information. Conflict resolution entities then decide the
appropriate action (resource control) by considering other
people’s requests. The conflict can be resolved by combining
those entities with the service execution method in context
interpretation processing. Since the processes of conflict
resolution depend on every detail of conflict, it is required to
provide corresponding conflict resolution entities.</p>
        <p>Context
Request-user:
Req-u
Location:
L1</p>
        <p>Appliancecontrol:
Appliance control
entity</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>IV. CONCLUSION</title>
      <p>A context-aware service provides customized services for
each user according to the dynamically changing personalized
context. This paper proposes a basic mechanism for a
context-aware service control platform. The fundamental idea
is to generate an appropriate service execution method using
the service definition represented by the service objective,
precondition context and semantic constraint, together with the
context interpretation processing that derives the required
action from the precondition context based on semantic
constraint. This method can efficiently generate a service
execution method suitable for the context. We hope to apply
this method to the actual environment and to verify it.</p>
      <p>This research is the result of contract research on
"Ubiquitous network control and management technologies"
for the Ministry of Internal Affairs and Communications.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>B.</given-names>
            <surname>Schilit</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Adams</surname>
          </string-name>
          and
          <string-name>
            <given-names>R.</given-names>
            <surname>Want</surname>
          </string-name>
          ,
          <article-title>"Context-aware computing applications,"</article-title>
          <source>IEEE workshop on mobile computing systems and applications</source>
          ,
          <source>1994</source>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>G.</given-names>
            <surname>Chen</surname>
          </string-name>
          and
          <string-name>
            <given-names>D.</given-names>
            <surname>Kotz</surname>
          </string-name>
          ,
          <article-title>"A survey of context-aware mobile computing research,"</article-title>
          <source>Dartmouth Computer Science Technical Report TR2000-381</source>
          ,
          <year>2000</year>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Igarashi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Takase</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Kakemizu</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Wakamoto</surname>
          </string-name>
          ,
          <article-title>"Location information control architecture for ubiquitous services platform,"</article-title>
          <source>Technical Report of IEICE, NS2003-59</source>
          ,
          <year>2003</year>
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>M.</given-names>
            <surname>Takase</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Igarashi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Takeyoshi</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Kakemizu</surname>
          </string-name>
          ,
          <article-title>"Situation-dependent service activation and resource handling method for context-aware application</article-title>
          and services,
          <source>" Technical Report of IEICE, NS2003-243</source>
          ,
          <year>2004</year>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>D.</given-names>
            <surname>Morikawa</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Honjo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Kotsuka</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Yamaguchi</surname>
          </string-name>
          and
          <string-name>
            <given-names>M.</given-names>
            <surname>Ohashi</surname>
          </string-name>
          ,
          <article-title>"Profile aggregation and dissemination; a framework for personalized service provisioning,"</article-title>
          <source>Ubicomp 2004 Workshop</source>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>M.</given-names>
            <surname>Minami</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Sugita</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Morikawa</surname>
          </string-name>
          , and
          <string-name>
            <given-names>T.</given-names>
            <surname>Aoyama</surname>
          </string-name>
          ,
          <article-title>"A design of internet application platform for ubiquitous computing environment,"</article-title>
          <source>IEICE Trans</source>
          .
          <source>Communications (Japanese Edition)</source>
          , Vol. J85-B No.
          <volume>12</volume>
          ,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>