JP2008059346A - Service composition server, system and method, program, and recording medium - Google Patents

Service composition server, system and method, program, and recording medium Download PDF

Info

Publication number
JP2008059346A
JP2008059346A JP2006236407A JP2006236407A JP2008059346A JP 2008059346 A JP2008059346 A JP 2008059346A JP 2006236407 A JP2006236407 A JP 2006236407A JP 2006236407 A JP2006236407 A JP 2006236407A JP 2008059346 A JP2008059346 A JP 2008059346A
Authority
JP
Japan
Prior art keywords
service
user
information
script
component
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2006236407A
Other languages
Japanese (ja)
Other versions
JP4813299B2 (en
Inventor
Yoji Yamato
庸次 山登
Yusuke Nakano
雄介 中野
Hiroshi Sunaga
宏 須永
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2006236407A priority Critical patent/JP4813299B2/en
Publication of JP2008059346A publication Critical patent/JP2008059346A/en
Application granted granted Critical
Publication of JP4813299B2 publication Critical patent/JP4813299B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a new composition service for combining a characteristic function of service composition technology, market service performance script interpretation/performance product for interpreting and performing service flow descriptive language. <P>SOLUTION: The service composition server 1 includes an ontology DB 15 where a group comprising words and relations among the words included in the group are described and an SE information DB 16 where words and information on service components having functions corresponding to the words are stored in association with each other. The server 1 detects available SE 4-1 to 4-N from the ontology DB 15 and the SE information DB 16 on the basis of the words described in the ST, calculates/compares a user situation, a user policy, and the degree of conformity of each SE information to select SE of the highest degree of conformity. Service is composed by generating a service performance script for activating service processing of the selected SE. <P>COPYRIGHT: (C)2008,JPO&INPIT

Description

本発明は、サービス合成サーバ、システムおよび方法に関する。   The present invention relates to a service composition server, system, and method.

現在IT技術の進歩に伴い、コンピュータに限らず、携帯電話、家電製品、各種センサなど、さまざまな機器がネットワークにつながり、ユーザ生活を支援する、ユビキタス環境が実現しつつある。ユビキタス環境では、これらの機器・機能が有機的に連携することで、従来は実現が困難だった、個人個人の状況に応じてさまざまなサービスを自動、あるいは半自動的に実現するコンテキストアウェアサービスが期待されている。ユーザのニーズは、ユーザの位置などの実世界の状況に応じて動的に変化する。したがって、サービス提供者が予め全てのサービスを作りこんでサービス提供を行う形ではユーザの動的なニーズ変化に対応していくことは難しい。したがって、その場の状況に応じてサービスを提供するサービスコンポーネントを組み合わせてサービスを実現するサービス合成の考え方が重要になってきている。
そこで、サービス合成技術として、非特許文献1に示す、個々のウェブサービスを連携させる手法として、BPEL(Business Process Execution Language)が注目を集めている。
特開2004−78773号公報 ”WSBPEL(Web Services Business Process Execution Language Technical Committee)技術委員会”、[online]、OASIS、[平成18年7月27日検索]、インターネット<http://www.oasis-open.org/comittees/tc_home.php?wg_abbrev=wsbpel> ”Semantic Web Services”、[online]、[平成18年7月27日検索]、インターネット<http://www.daml.org/services/>
With the advancement of IT technology, not only computers but also various devices such as mobile phones, home appliances, and various sensors are connected to the network, and a ubiquitous environment that supports user life is being realized. In the ubiquitous environment, these devices and functions are organically linked, and it is expected to be a context-aware service that automatically or semi-automatically realizes various services depending on the individual situation, which has been difficult to realize in the past. Has been. User needs change dynamically according to real-world conditions such as user location. Therefore, it is difficult for the service provider to respond to the dynamic needs of the user by providing all services in advance. Therefore, the concept of service composition that realizes services by combining service components that provide services according to the situation of the place has become important.
Therefore, BPEL (Business Process Execution Language) is attracting attention as a technique for linking individual web services shown in Non-Patent Document 1 as a service composition technique.
JP 2004-78773 A “WSBPEL (Web Services Business Process Execution Language Technical Committee) Technical Committee”, [online], OASIS, [searched July 27, 2006], Internet <http://www.oasis-open.org/comittees/ tc_home.php? wg_abbrev = wsbpel> "Semantic Web Services", [online], [searched July 27, 2006], Internet <http://www.daml.org/services/>

しかしながら、上記の技術においては、BPELは、元来その名が示すとおり、企業間におけるシステムやサービスの連携が対象であり、未知のウェブサービスをユーザ状況に応じて発見し、バインド(合成)するには向いていない。具体的には、サービスフローを記述したBPELファイルには、個々のウェブサービスに関して、そのインタフェースを記述するポートタイプ名やオペレーション名が記述されていなければならず、それらが完全一致するウェブサービス、すなわちほぼ唯一のウェブサービスにしか適用できない。したがって、状況に応じてサービスを切り替えることができず、状況適応性がないという問題がある。
このBPELの課題を解決するため、特許文献1に示すように、サービスフローを示すサービステンプレート(ST)に個々のサービス要素(サービスコンポーネント、サービスエレメントともいう。以下の記載では全てSEとする)の、通常のインタフェースをポートタイプ名を用いて厳密に記述する形ではなく、ユーザが必要とする機能の意味的な情報である意味的メタデータを用いて、抽象的に記述し、ポートタイプ名は異なるが機能が同等であるSE群を発見し、選択可能にすることでユーザの状況に応じたサービス実現を目指した研究がある。なお、特許文献1に記載の意味的メタデータの記述には、非特許文献2に記載のセマンティックウェブ技術の一つであるOWL−S(Ontology Web Language for Services)を用いている。
However, in the above technology, as the name implies, BPEL is originally intended for cooperation between systems and services between companies, and discovers and binds (synthesizes) unknown web services according to user situations. Not suitable for. Specifically, in the BPEL file describing the service flow, for each web service, the port type name and operation name describing the interface must be described, and the web service in which they completely match, that is, Applicable to almost only web services. Therefore, there is a problem that the service cannot be switched according to the situation and there is no situation adaptability.
In order to solve the problem of BPEL, as shown in Patent Document 1, individual service elements (also referred to as service components and service elements; all referred to as SE in the following description) are included in a service template (ST) indicating a service flow. Rather than strictly describing the normal interface using the port type name, the interface is described abstractly using semantic metadata that is semantic information about the functions required by the user. There is research aimed at realizing services according to the situation of users by discovering SE groups that are different but having the same functions and making them selectable. Note that the semantic metadata described in Patent Document 1 uses OWL-S (Ontology Web Language for Services), which is one of the semantic web technologies described in Non-Patent Document 2.

また、サービス合成技術の特長機能は次の3つである。
1.メタデータ解決機能
SEおよびSTを意味的な記述を行うことで抽象化し、サービス実行時に意味的関係を元にユーザニーズのSEを発見し、合成することで、ユビキタス性を実現する。具体的には、異なるメーカの装置など、インタフェースが異なる機器であっても、同等の機能(意味的な記述がなされる意味的メタデータ同等)であれば、ユーザによって実行可能であることを意味する。ユーザはSEの詳細な仕様・実装を知らなくてもサービスを受けることが可能であることを意味する。
2.コンテキストアウェアサービス選択機能
ユーザの状況に応じて適切なサービス合成を行うために、どのようなSEを優先すべきかを記述したユーザポリシ、たとえばユーザの位置など、ユーザの状況を記述したコンテキスト、SEの位置など、状況を記述したSEプロファイルの、3つのデータの意味的メタデータマッチングを行い、同等機能を持つSE群から、最適なSEを自動、または半自動で選択することで、コンテキストアウェアサービスを実現する。たとえばモニタというSEを選択する際、ユーザから近いモニタを優先的に選択したり、画面が大きいモニタを優先的に選択したりするなど、ユーザポリシをユーザごとにカスタマイズすることで、個人個人のニーズに対応することが可能である。
3.サービス切換機能
ユーザの状況変化(コンテキスト変化)に応じて、実行中のサービスの一部のSEをより適したSEに切り換えてサービスを継続することが可能であることを意味する。サービスの抽象化により、同等機能のSE同士を置換することが可能になる。
The service composition technology has the following three features.
1. Metadata resolution function Abstracts SE and ST by describing them semantically, and realizes ubiquity by discovering and synthesizing SE of user needs based on the semantic relationship at the time of service execution. Specifically, even devices with different interfaces, such as devices from different manufacturers, can be executed by the user if they have equivalent functions (equivalent to semantic metadata with semantic descriptions). To do. This means that the user can receive the service without knowing the detailed specification / implementation of the SE.
2. Context-aware service selection function A user policy describing what kind of SE should be given priority in order to perform appropriate service composition according to the user's situation, for example, the context describing the user's situation, such as the user's location, Context-aware service is realized by performing semantic metadata matching of three types of data in the SE profile that describes the situation, such as location, and automatically or semi-automatically selecting the optimum SE from SE groups with equivalent functions. To do. For example, when selecting an SE as a monitor, the user's individual needs can be customized by customizing the user policy for each user, such as preferentially selecting a monitor closer to the user or preferentially selecting a monitor with a large screen. It is possible to correspond to.
3. Service switching function This means that it is possible to switch the SE of a part of the service being executed to a more suitable SE and continue the service in accordance with a change in the situation of the user (context change). By abstracting services, it is possible to replace SEs with equivalent functions.

このような特長機能を持ったサービス合成システムが研究されているが、これらはセキュリティ機能の追加、ウェブサービスの標準仕様への対応、Java(登録商標) VM、Tomcat、Axis、RDFパーサ等のミドルウェアの調整が必要であり、また、これらは継続的に対応する必要もあるため、維持コストが膨大であるという問題がある。
一方、市場においては、ウェブサービスの普及に伴い、サービスフロー記述言語(ワークフロー言語)によって記述されるサービスフロー(ワークフロー)を解釈、実行する製品が数多く出つつある、という状況がある。これらの製品は、製品として商用機能を備えている。
本発明はこのような事情を考慮してなされたもので、その目的は、サービス合成技術の特長機能と、サービスフロー記述言語を解釈、実行する市中サービスフロー実行製品とを組み合わせて、双方の特長機能と商用機能とを実現することによって、新たなサービスを提供することにある。
Service synthesis systems with such features have been studied. These include security functions, support for web service standard specifications, middleware such as Java (registered trademark) VM, Tomcat, Axis, and RDF parser. There is a problem that the maintenance cost is enormous because it is necessary to make adjustments of these, and it is also necessary to respond continuously.
On the other hand, in the market, with the widespread use of web services, there are a number of products that are interpreting and executing service flows (workflows) described in a service flow description language (workflow language). These products have commercial functions as products.
The present invention has been made in consideration of such circumstances, and its purpose is to combine the feature function of service composition technology with a commercial service flow execution product that interprets and executes a service flow description language. It is to provide a new service by realizing a feature function and a commercial function.

上述の課題を解決するために、本発明は、サービスシナリオを抽象的に記述したサービステンプレート(第1の実施形態におけるST)に基づき、各サービスごとに利用可能な1つまたは複数のサービスコンポーネント(第1の実施形態におけるSE4−1〜4−N)の候補を検出し、検出された該サービスコンポーネントから、ユーザ状況(第1の実施形態におけるコンテキスト)と、ユーザポリシとに適合するサービスコンポーネントを、サービステンプレートに記述された全てのサービスコンポーネントを選択し、バインドすることによってサービスを合成するサービス合成サーバであり、1つまたは複数の単語(第1の実施形態における意味的メタデータ)からなるグループと、このグループに含まれる各々の前記単語間の関係とが記述されるオントロジ記憶部(第1の実施形態におけるオントロジDB15)と、前記単語と、該単語に対応する機能を有する前記サービスコンポーネントの情報(第1の実施形態におけるOWL−Sファイル)とが対応付けられて記述されているサービスコンポーネント情報記憶部(第1の実施形態におけるSE情報DB16)と、ユーザによって入力される前記サービステンプレートに記述された単語に基づき、利用可能な前記サービスコンポーネントを、前記オントロジ記憶部と、前記サービスコンポーネント情報記憶部とを検索することによって検出する検索部(第1の実施形態におけるSE検索部111)と、検出された前記サービスコンポーネントのうち、前記ユーザ状況と前記ユーザポリシと各前記サービスコンポーネントの情報との適合度を前記サービスコンポーネントごとに算出し、比較することにより、適合度の高い前記サービスコンポーネントを選択する選択部と(第1の実施形態におけるSE選択部112)、選択された前記サービスコンポーネントのサービス処理を起動するサービス実行スクリプトを生成するスクリプト生成部(第1の実施形態におけるスクリプト生成部113)とを備えることを特徴とする。   In order to solve the above-described problem, the present invention is based on a service template (ST in the first embodiment) that abstractly describes a service scenario, and one or more service components (for each service) ( SE4-1 to 4-N) candidates in the first embodiment are detected, and from the detected service component, a service component that matches the user situation (context in the first embodiment) and the user policy is obtained. A service composition server that synthesizes services by selecting and binding all service components described in a service template, and a group of one or more words (semantic metadata in the first embodiment) And the relationship between each of the words included in this group The ontology storage unit described (ontology DB 15 in the first embodiment), the word, and information of the service component having a function corresponding to the word (OWL-S file in the first embodiment) correspond to each other Based on the words described in the service component information storage unit (SE information DB 16 in the first embodiment) described and attached and the service template input by the user, the available service components are A search unit (SE search unit 111 in the first embodiment) that is detected by searching an ontology storage unit and the service component information storage unit, and among the detected service components, the user status and the user Policy and each of the service components A selection unit that selects the service component having a high degree of matching by calculating and comparing the degree of matching with the information for each service component (SE selection unit 112 in the first embodiment), and the selected service And a script generation unit (script generation unit 113 in the first embodiment) that generates a service execution script for starting a component service process.

また、本発明では、前記ユーザ状況が変化した際、サービス合成サーバの前記選択部は、変化後の前記ユーザ状況と前記ユーザポリシと各前記サービスコンポーネントの情報との適合度を前記サービスコンポーネントごとに算出し、比較することにより、適合度の高い前記サービスコンポーネントを再選択し、再選択された前記サービスコンポーネントが、当初選択された前記サービスコンポーネント異なる場合、前記スクリプト生成部は、再選択された前記サービスコンポーネントのサービス処理を起動するサービス実行スクリプトを再生成することを特徴とする。   Further, in the present invention, when the user situation changes, the selection unit of the service composition server determines the degree of conformity between the changed user situation, the user policy, and information of each service component for each service component. By calculating and comparing, the service component having a high degree of conformance is reselected, and when the reselected service component is different from the originally selected service component, the script generation unit re-selects the reselected service component. A service execution script for starting a service process of a service component is regenerated.

また、本発明では、サービス合成サーバの前記スクリプト生成部は、前記ユーザ状況の変化に伴い、前記サービスコンポーネントが前記選択部によって再選択された場合、前記サービス合成サーバに接続される具体的サービス実行スクリプト実行部において実行されている前記スクリプトの実行状況を取得して、前記実行状況に対応する、より適合度の高い前記サービスコンポーネントのサービス処理を起動するサービス実行スクリプトを生成することを特徴とする。   In the present invention, the script generation unit of the service composition server may execute a specific service connected to the service composition server when the service component is reselected by the selection unit in accordance with a change in the user situation. The execution state of the script being executed in the script execution unit is acquired, and a service execution script for starting a service process of the service component having a higher fitness corresponding to the execution state is generated. .

本発明は、サービスシナリオを抽象的に記述したサービステンプレートに基づき、各サービスごとに利用可能な1つまたは複数のサービスコンポーネントの候補を検出し、検出された該サービスコンポーネントから、ユーザ状況と、ユーザポリシとに適合するサービスコンポーネントを、サービステンプレートに記述された全てのサービスコンポーネントを選択し、バインドすることによってサービスを合成するサービス合成システムであり、前記サービステンプレートまたはこの識別情報のいずれかであるサービステンプレート情報と、前記ユーザ状況またはこの識別情報のいずれかであるユーザ状況情報と、前記ユーザポリシまたはこの識別情報のいずれかであるユーザポリシ情報とを送信する利用者端末と、前記サービスを提供する複数の前記サービスコンポーネントと、1つまたは複数の単語からなるグループと、このグループに含まれる各々の前記単語間の関係とが記述されるオントロジ記憶部と、前記単語と、該単語に対応する機能を有する前記サービスコンポーネントの情報とが対応付けられて記述されているサービスコンポーネント情報記憶部と、利用者端末から受信する前記サービステンプレート情報から取得する前記サービステンプレートに記述された単語に基づき、利用可能な前記サービスコンポーネントを、前記オントロジ記憶部と、前記サービスコンポーネント情報記憶部とを検索することによって検出する検索部と、検出された前記サービスコンポーネントのうち、前記ユーザ状況情報から取得する前記ユーザ状況と、前記ユーザポリシ情報から取得する前記ユーザポリシと各前記サービスコンポーネントの情報との適合度を前記サービスコンポーネントごとに算出し、比較することにより、適合度の高い前記サービスコンポーネントを選択する選択部と、選択された前記サービスコンポーネントのサービス処理を起動するサービス実行スクリプトを生成するスクリプト生成部とを有するサービス合成手段と、前記サービス実行スクリプトを実行するスクリプト解釈実行部(第1の実施形態におけるスクリプト解釈実行部3)とを有することを特徴とする。   The present invention detects one or a plurality of service component candidates that can be used for each service based on a service template that abstractly describes a service scenario. From the detected service components, a user situation and a user A service composition system that synthesizes services by selecting and binding all service components described in a service template to service components that conform to a policy, and the service is either the service template or the identification information A user terminal that transmits template information, user status information that is either the user status or the identification information, and user policy information that is either the user policy or the identification information, and the service is provided. Duplicate The service component, a group of one or more words, an ontology storage unit that describes the relationship between each of the words included in the group, the word, and a function corresponding to the word The service component information storage unit described in association with the information of the service component possessed, and usable based on the words described in the service template acquired from the service template information received from the user terminal A search unit for detecting the service component by searching the ontology storage unit and the service component information storage unit; and the user status obtained from the user status information among the detected service components; Obtained from the user policy information Calculating a degree of conformity between the user policy and the information of each service component for each service component, and comparing the selected service component with the selected service component; Service synthesis means having a script generation unit that generates a service execution script for starting a service process, and a script interpretation execution unit (script interpretation execution unit 3 in the first embodiment) for executing the service execution script It is characterized by.

また、本発明のサービス合成システムは、前記ユーザ状況が変化した際、前記サービス合成手段において、前記選択部が、変化後の前記ユーザ状況と前記ユーザポリシと各前記サービスコンポーネントの情報との適合度を前記サービスコンポーネントごとに算出し、比較することにより、適合度の高い前記サービスコンポーネントを再選択し、再選択された前記サービスコンポーネントが、当初選択された前記サービスコンポーネント異なる場合、前記スクリプト生成部が、再選択された前記サービスコンポーネントのサービス処理を起動するサービス実行スクリプトを再生成することを特徴とする。   In the service composition system of the present invention, when the user situation changes, in the service composition unit, the selection unit causes the user situation after the change, the user policy, and the degree of conformity between the information of each service component. Is calculated for each service component, and the service component having a high degree of fitness is reselected by comparing the service component, and when the reselected service component is different from the initially selected service component, the script generation unit A service execution script for starting a service process of the reselected service component is regenerated.

また、本発明のサービス合成システムは、前記サービス合成手段において、前記スクリプト生成部は、前記ユーザ状況の変化に伴い、前記サービスコンポーネントが前記選択部によって再選択された場合、前記サービス合成手段に接続される具体的サービス実行スクリプト実行部において実行されている前記スクリプトの実行状況を取得して、前記実行状況に対応する、より適合度の高い前記サービスコンポーネントのサービス処理を起動する具体的なサービス実行スクリプトを生成することを特徴とする。   In the service composition system of the present invention, in the service composition unit, the script generation unit is connected to the service composition unit when the service component is reselected by the selection unit in accordance with a change in the user situation. The specific service execution for acquiring the execution status of the script being executed in the specific service execution script execution unit to be executed and starting the service processing of the service component having a higher fitness corresponding to the execution status It is characterized by generating a script.

また、本発明のサービス合成システムは、前記スクリプトの実行状況を記録する記憶部をさらに有することを特徴とする。   The service composition system of the present invention further includes a storage unit for recording the execution status of the script.

本発明は、サービスシナリオを抽象的に記述したサービステンプレートに基づき、各サービスごとに利用可能な1つまたは複数のサービスコンポーネントの候補を検出し、検出された該サービスコンポーネントから、ユーザ状況と、ユーザポリシとに適合するサービスコンポーネントを、サービステンプレートに記述された全てのサービスコンポーネントを選択し、バインドすることによってサービスを合成する方法であり、利用者端末が前記サービステンプレートまたはこの識別情報のいずれかであるサービステンプレート情報と、前記ユーザ状況またはこの識別情報のいずれかであるユーザ状況情報と、前記ユーザポリシまたはこの識別情報のいずれかであるユーザポリシ情報とを送信する送信過程と、サービス合成手段において、利用者端末から受信する前記サービステンプレートから取得する前記サービステンプレートに記述された単語に基づき、利用可能な前記サービスコンポーネントを、1つまたは複数の単語からなるグループと、このグループに含まれる各々の前記単語間の関係とが記述されるオントロジ記憶部と、前記単語と、該単語に対応する機能を有する前記サービスコンポーネントの情報とが対応付けられて記述されているサービスコンポーネント情報記憶部とを検索することによって検出する検索過程と、検出された前記サービスコンポーネントのうち、前記ユーザ状況情報から取得する前記ユーザ状況と、前記ユーザポリシ情報から取得する前記ユーザポリシと各前記サービスコンポーネントの情報との適合度を前記サービスコンポーネントごとに算出し、比較することにより、適合度の高い前記サービスコンポーネントを選択する選択過程と、選択された前記サービスコンポーネントのサービス処理を起動するサービス実行スクリプトを生成する過程と、前記サービス実行スクリプトを実行する過程とを有することを特徴とする。   The present invention detects one or a plurality of service component candidates that can be used for each service based on a service template that abstractly describes a service scenario. From the detected service components, a user situation and a user A service component that conforms to a policy is a method of combining services by selecting and binding all service components described in the service template, and the user terminal is either the service template or the identification information. In a service synthesizing unit, a transmission process of transmitting certain service template information, user situation information that is either the user situation or the identification information, and user policy information that is the user policy or the identification information, , Use Based on the words described in the service template acquired from the service template received from the terminal, the available service components are classified into a group consisting of one or a plurality of words and between the words included in the group. By searching the ontology storage unit in which the relationship is described, and the service component information storage unit in which the word and the information of the service component having the function corresponding to the word are described in association with each other The search process to detect, the user status acquired from the user status information among the detected service components, the user policy acquired from the user policy information, and the degree of conformity between the information of each service component Calculated for each service component A selection process for selecting the service component having a high fitness level by comparing, a process for generating a service execution script for starting a service process of the selected service component, and a process for executing the service execution script It is characterized by having.

以上説明したように、この発明によれば、サービス合成技術の特長機能と、市中スクリプト解釈・実行製品とを組み合わせることが可能となるため、低コストでユーザの状況に応じたサービス合成を提供することができるという効果がある。   As described above, according to the present invention, it is possible to combine the feature function of the service composition technology and the commercial script interpretation / execution product, so that the service composition according to the user's situation is provided at a low cost. There is an effect that can be done.

<第1の実施形態>
次に、本発明の一実施形態を図面を参照して説明する。図1は本発明におけるサービス合成システムの全体構成を示すブロック図である。サービス合成サーバ1と、ユーザが備える利用者端末2と、スクリプト解釈実行部3と、サービスを提供するSE4−1〜4−Nとは、ネットワーク100を介して接続されている。
上記ネットワーク100は、たとえば固定電話網、携帯電話網、インターネットなどの公衆網や、LAN(Local Area Network)、専用線などの私設網からなる。
本実施形態においては、サービスフロー記述言語の一例として、BPEL(Business Process Execution Language)を具体例として説明するが、たとえば、PD4J(Process Definition for Java(登録商標))など、ワークフローや、サービスフローを記述する言語であればいずれのフロー記述言語であっても本発明に適用可能である。
<First Embodiment>
Next, an embodiment of the present invention will be described with reference to the drawings. FIG. 1 is a block diagram showing the overall configuration of a service composition system according to the present invention. The service synthesis server 1, the user terminal 2 provided by the user, the script interpretation execution unit 3, and SE 4-1 to 4 -N that provide a service are connected via a network 100.
The network 100 includes a public network such as a fixed telephone network, a mobile phone network, and the Internet, and a private network such as a LAN (Local Area Network) and a dedicated line.
In this embodiment, BPEL (Business Process Execution Language) is described as a specific example as an example of a service flow description language. For example, a workflow or service flow such as PD4J (Process Definition for Java (registered trademark)) is described. Any flow description language can be applied to the present invention as long as it is a description language.

利用者端末2は、ユーザによって入力される、サービスシナリオ(サービステンプレート、以下ではSTと記載)や、ユーザポリシをサービス合成サーバ1に送信する。なお、STとは、どのようなSEを利用するかという方針である。また、STは、具体的なSE識別情報ではなく、「表示装置」や、「経路検索」など、意味的メタデータによって意味的に、SEがもつ機能を指定する。ユーザポリシは、どのようなSEを優先するかをという指針を優先度と共に示す情報である。たとえば、ユーザによって定められる「位置が近いSEを優先」、「ディスプレイが大きいSE優先」などといった指針が、ユーザによって入力される優先度とともにユーザポリシとして送信される。   The user terminal 2 transmits a service scenario (service template, hereinafter referred to as ST) and a user policy input by the user to the service composition server 1. Note that ST is a policy of what kind of SE is used. In addition, ST is not specific SE identification information, but semantically designates a function of the SE by semantic metadata such as “display device” and “route search”. The user policy is information indicating a guideline as to what kind of SE is prioritized together with the priority. For example, a guideline such as “priority SE with close position” and “SE priority with large display” determined by the user is transmitted as a user policy together with the priority input by the user.

また、利用者端末2は、ユーザ入力または、利用者端末2が備えるコンテキスト検出装置によって取得される、ユーザのコンテキスト(状況情報)をサービス合成サーバ1に送信する。なお、ユーザコンテキストとは、たとえばユーザの位置や、ユーザのおかれている、気温、湿度、照度などの環境状況や、ユーザの体温、脈拍、血圧などのユーザの身体状況情報などであり、ユーザの置かれている状況を示す状況情報である。
ユーザの位置は、たとえば、利用者端末2に予めGPS装置を備えておき取得してもよいし、建物内であれば、各部屋の出入り口や、部屋そのものに通過通知装置を設け、利用者端末2が通過通知装置付近を通過するごとに、通過通知装置によって通知される位置情報を利用者端末2が取得し、取得した位置情報を最終通過位置として利用者端末2が保持しておくことにより、ユーザの位置を特定するなどしてもよい。また、ユーザ入力によって位置を特定してもよい。
In addition, the user terminal 2 transmits a user input or a user context (situation information) acquired by the context detection device included in the user terminal 2 to the service composition server 1. Note that the user context is, for example, the user's position, the environmental situation such as the temperature, humidity, and illuminance of the user, the user's physical condition information such as the user's body temperature, pulse, blood pressure, etc. It is the situation information which shows the situation where is placed.
The user's position may be acquired by, for example, providing the user terminal 2 with a GPS device in advance, and if it is in a building, a passage notification device is provided at the entrance of each room or in the room itself. Each time 2 passes near the passage notification device, the user terminal 2 acquires the position information notified by the passage notification device, and the user terminal 2 holds the acquired position information as the final passage position. The position of the user may be specified. Further, the position may be specified by user input.

環境状況は、たとえば、利用者端末2が気温、湿度、照度などを測定する測定機器を予め備え、所定の周期ごとや、ユーザまたはサービス合成サーバ1からの測定命令情報により、環境状況を測定して、コンテキストとして保持する。
ユーザの体温、脈拍、血圧などの、ユーザの身体状況情報は、たとえば、利用者端末2が体温、脈拍、血圧などを測定する測定装置を予め備え、所定の周期ごとや、ユーザまたはサービス合成サーバ1からの測定命令情報により、身体状況を測定して、コンテキストとして保持する。
For example, the user terminal 2 is previously provided with a measuring device that measures the temperature, humidity, illuminance, etc., and the environmental condition is measured at predetermined intervals or by measurement command information from the user or the service synthesis server 1. And keep it as context.
The user's physical condition information such as the user's body temperature, pulse, blood pressure, and the like, for example, the user terminal 2 is previously provided with a measuring device that measures body temperature, pulse, blood pressure, etc. The physical condition is measured according to the measurement command information from 1, and held as a context.

SE4−1〜4−Nは、サービスコンポーネント(サービスエレメント、SE)であり、たとえば、ディスプレイなどの表示装置や、コンピュータなどの装置、web検索サービスや、航空券予約などの各種申し込みサービスなどのウェブサービスなど、サービスを提供する要素(要素体)である。
サービス合成サーバ1は、ユーザによって入力されるST、ユーザポリシ、コンテキストの3つの情報にもっとも適合する1つまたは複数のSEをSE4−1〜4−Nから選択し、選択されたSEを、STにしたがって実行させるためのスクリプトを生成し、スクリプトを実行するスクリプト解釈実行部3に送信する。
SE4-1 to 4-N are service components (service elements, SE), for example, display devices such as displays, devices such as computers, web search services, and various application services such as airline ticket reservations. An element (element body) that provides a service, such as a service.
The service composition server 1 selects one or more SEs from SE4-1 to 4-N that best match the three types of information input by the user: ST, user policy, and context, and selects the selected SEs as STs. A script to be executed according to the above is generated and transmitted to the script interpretation execution unit 3 that executes the script.

サービス合成サーバ1において、通信部10は、ネットワーク100を介して利用者端末2、スクリプト解釈実行部3、SE4−1〜4−Nとの情報の送受信を行う。
オントロジDB15には、単語(意味的メタデータ)同士の関係を記述したオントロジ辞書が格納されている。図2は、オントロジDB15に格納されている、SE4−1〜4−Nの機能を示す意味的メタデータ同士の関係の概念図である。
In the service composition server 1, the communication unit 10 transmits / receives information to / from the user terminal 2, the script interpretation execution unit 3, and the SE 4-1 to 4 -N via the network 100.
The ontology DB 15 stores an ontology dictionary describing relationships between words (semantic metadata). FIG. 2 is a conceptual diagram of the relationship between the semantic metadata indicating the functions of SE 4-1 to 4 -N stored in the ontology DB 15.

なお、本明細書において、オントロジとは、意味的メタデータ同士の同値関係や継承関係といった、意味的メタデータの関連性を示す関係情報を意味する。具体的には、たとえば、図2に示すように、「印刷」と、「プリント」と、「Print out」とは、同様の機能を示す意味的メタデータである。このような、同様の機能を示す複数の異なる意味的メタデータの関係を、本明細書においては同値関係とする。また、たとえば、「印刷」と「インクジェットプリント」とは、前者が後者を包含する意味的メタデータであり、「印刷」は「インクジェットプリント」の上位概念である。このような上位概念と、その下位概念との関係にある複数の意味的メタデータ同士の関係を、本明細書においては継承関係とする。   In this specification, ontology means relationship information indicating the relevance of semantic metadata, such as equivalence relationships and inheritance relationships between semantic metadata. Specifically, for example, as shown in FIG. 2, “print”, “print”, and “Print out” are semantic metadata indicating similar functions. In this specification, the relationship between a plurality of different semantic metadata indicating similar functions is referred to as an equivalence relationship. For example, “printing” and “inkjet printing” are semantic metadata including the former including the latter, and “printing” is a superordinate concept of “inkjet printing”. In this specification, a relationship between a plurality of semantic metadata having a relationship between such a superordinate concept and its subordinate concept is referred to as an inheritance relationship.

SE情報DB16には、SE4−1〜4−NのSE識別情報に対応させて、OWL−Sファイルが格納されている。なお、OWL−Sファイルとは、SEがどのような性質を持つかが記述されるプロファイル(Profile)と、どのようにSEが動作するかが記述される抽象的プロセス(意味的メタデータ)が記述されるプロセスモデル(Process Model)と、WSDL(Web Services Description Language)や、UPnP(Universal Plug and Play)などというSEの具体的なインタフェースと抽象的なプロセスの間のマッピングを記述したグラウンディング(Grounding)とからなるファイルである。   The SE information DB 16 stores OWL-S files in association with SE identification information of SE4-1 to 4-N. The OWL-S file includes a profile (Profile) that describes what properties the SE has and an abstract process (semantic metadata) that describes how the SE operates. Process model (Process Model) to be described, and grounding that describes mapping between concrete interface of SE such as WSDL (Web Services Description Language) and UPnP (Universal Plug and Play) and abstract process ( Grounding).

SE検索部111は、STに対応するSEの候補を検索する。なお、以下では、STに記述される意味的メタデータに対応する機能を有するSEをSE候補と記載し、1つの意味的メタデータおよびその同値のメタデータに対応するSE候補が複数ある場合には、複数のSE候補をSE候補群として記載する。
SE検索部111は、検索して得られた、SE候補またはSE候補群について、SE候補ごとに、SE識別情報とOWL−SファイルとをSE選択部112に出力する。また、SE検索部111は、利用者端末2から受信したSTと、ユーザポリシと、コンテキストとをSE選択部112に出力する。
The SE search unit 111 searches for SE candidates corresponding to the ST. In the following, an SE having a function corresponding to semantic metadata described in ST is described as an SE candidate, and there are a plurality of SE candidates corresponding to one semantic metadata and metadata of the same value. Describes a plurality of SE candidates as an SE candidate group.
The SE search unit 111 outputs SE identification information and an OWL-S file to the SE selection unit 112 for each SE candidate regarding the SE candidate or SE candidate group obtained by the search. Further, the SE search unit 111 outputs the ST, the user policy, and the context received from the user terminal 2 to the SE selection unit 112.

SE選択部112は、入力されたSE識別情報ごとに、対応するOWL−Sファイルとユーザポリシと、コンテキストとのマッチングによる点数付けを行うことにより、適合度を算出し、ユーザのコンテキストとユーザポリシとにもっとも適切なSEを選択する。
SE選択部112は、STと、選択したSEのSE識別情報と、OWL−Sファイルとをスクリプト生成部113に出力する。
For each input SE identification information, the SE selection unit 112 performs scoring by matching the corresponding OWL-S file, the user policy, and the context, thereby calculating the fitness, and the user context and the user policy. Select the most appropriate SE.
The SE selection unit 112 outputs the ST, the SE identification information of the selected SE, and the OWL-S file to the script generation unit 113.

スクリプト生成部113は、STに対応するSEがすべて選択され、入力されると、実際にSEに実行させるサービスフローであるBPELファイルのスクリプトを生成する。このスクリプトは、スクリプト生成部113が、入力されたOWL−Sファイルのグラウンディングに記述された意味的メタデータと、具体的インタフェースとのマッピング情報に基づいて、STに記述された意味的メタデータを具体的なインタフェースに適合させる変換を行うことによって、具体的インタフェースが決定されたBPELによるスクリプトを生成する。スクリプト生成部113は、OWL−Sファイルのグラウンディングに記述されるWSDLのURLに基づき、WSDLファイルを取得し、取得したWSDLファイルと生成したスクリプトとをスクリプトセット部114に出力する。   When all the SEs corresponding to the ST are selected and input, the script generation unit 113 generates a script of a BPEL file that is a service flow that is actually executed by the SE. This script is generated by the script generation unit 113 based on the mapping between the semantic metadata described in the grounding of the input OWL-S file and the specific interface, and the semantic metadata described in the ST. Is converted into a specific interface to generate a script by BPEL in which the specific interface is determined. The script generation unit 113 acquires the WSDL file based on the WSDL URL described in the grounding of the OWL-S file, and outputs the acquired WSDL file and the generated script to the script set unit 114.

スクリプトセット部114は、入力されたスクリプトとWSDLファイルとをスクリプト解釈実行部3にセット(デプロイ)する。
サービス合成サーバ1において、SE検索部111、SE選択部112、スクリプト生成部113、スクリプトセット部114をまとめて機能部U−ske11と呼び、機能部U−ske11は、本発明の要となる機能部である。
市中のすでに提供されているスクリプト解釈実行部3において、通信部30は、ネットワーク100に接続され、通信のインタフェースを実現する。実行部31は、BPELのスクリプトとWSDLファイルとがセットされると、スクリプトにしたがって、SEのサービスを実行する。
以上の構成により、市中の既製品であるスクリプト解釈実行部3を用いる事ができるため、維持コストを増大させること無くサービス合成を実現することが出来る。
The script setting unit 114 sets (deploys) the input script and the WSDL file in the script interpretation execution unit 3.
In the service composition server 1, the SE search unit 111, the SE selection unit 112, the script generation unit 113, and the script set unit 114 are collectively referred to as a function unit U-ske11, and the function unit U-ske11 is a function essential to the present invention. Part.
In the script interpretation execution unit 3 already provided in the city, the communication unit 30 is connected to the network 100 and implements a communication interface. When the BPEL script and the WSDL file are set, the execution unit 31 executes the SE service according to the script.
With the above configuration, since the script interpretation execution unit 3 which is an off-the-shelf product in the city can be used, service composition can be realized without increasing the maintenance cost.

次に、図1の構成における動作例について、図3のシーケンス図を用いて説明する。この動作例においては、ユーザがあらかじめ入力するユーザ自身のスケジュール表を読み出し、現在の位置と、スケジュール表の予定から得られる目的地とを地図上に表示し、モニタに表示させる、というSTが入力された場合について説明する。
また、ユーザポリシは、「位置が近いモニタ優先」、コンテキストは「ユーザの位置」であるとする。また、選択されたSEは、フロー順に、スケジュールを読み出すSE4−1、現在地と目的地とを地図上に表示する画像を生成するSE4−2、地図を表示するモニタであるSE4−3が選択されたSE群とする。
Next, an operation example in the configuration of FIG. 1 will be described using the sequence diagram of FIG. In this operation example, the ST inputs that the user's own schedule table input in advance by the user is read and the current position and the destination obtained from the schedule table schedule are displayed on the map and displayed on the monitor. The case will be described.
Further, it is assumed that the user policy is “monitor priority near position” and the context is “user position”. The selected SE is selected in the order of flow, SE4-1 for reading the schedule, SE4-2 for generating an image for displaying the current location and the destination on the map, and SE4-3 for monitoring the map. SE group.

利用者端末2において、ユーザによってSTと、ユーザポリシとが入力される(ステップS1)。利用者端末2は、位置情報をユーザ入力または、利用者端末2の持つコンテキスト取得機能により取得し、コンテキストとして、取得した位置情報と、ユーザポリシと、STとをサービス合成サーバ1に送信する(ステップS2)。   In the user terminal 2, ST and user policy are input by the user (step S1). The user terminal 2 acquires position information by user input or the context acquisition function of the user terminal 2, and transmits the acquired position information, user policy, and ST to the service composition server 1 as context ( Step S2).

サービス合成サーバ1において、通信部10を介して機能部U−ske11は、コンテキストと、ユーザポリシと、STとを受信する(ステップS3)。機能部U−ske11において、SE検索部111は、受信したSTに記述されるフロー順に意味的メタデータを読み出し、この意味的メタデータと同様の機能を示す意味的メタデータ、すなわち、同値の意味的メタデータ群をオントロジDB15を検索して取得する。この意味的メタデータ群のすべての意味的メタデータについて、SE検索部111は、検出した各意味的メタデータをキーとしてSE情報DB16を検索し、SE候補のSE識別情報と、このSE識別情報に対応するOWL−Sファイルとを検出することによって、SE候補検索を行う。SE検索部111は、SE候補ごとのSE識別情報と、そのOWL−Sファイルとのペアと、STと、コンテキストと、ユーザポリシとを、SE選択部112に出力する。(ステップS4)。   In the service composition server 1, the functional unit U-skele 11 receives the context, the user policy, and the ST via the communication unit 10 (step S3). In the function unit U-ske11, the SE search unit 111 reads semantic metadata in the order of flows described in the received ST, and indicates semantic metadata indicating the same function as this semantic metadata, that is, the meaning of the equivalent value. The metadata group 15 is acquired by searching the ontology DB 15. For all semantic metadata in this semantic metadata group, the SE search unit 111 searches the SE information DB 16 using each detected semantic metadata as a key, SE candidate SE identification information, and this SE identification information. SE candidate search is performed by detecting the OWL-S file corresponding to. The SE search unit 111 outputs the SE identification information for each SE candidate, the pair of the OWL-S file, the ST, the context, and the user policy to the SE selection unit 112. (Step S4).

SE選択部112は、ユーザポリシと、ユーザコンテキストとに基づき、SE候補ごとに点数付けを行い、最もユーザポリシと、コンテキストとに適合するSE候補を選択する。SE選択部112は、STと、選択したSEのSE識別情報と、OWL−Sファイルとをスクリプト生成部113に出力する(ステップS5)。
なお、この点数付けは、たとえば、ユーザポリシが「最も近いSEを優先」で、N個のSE候補が入力された場合、各OWL−Sファイル中のプロファイルに記述される、各SE候補の位置情報から、コンテキストから得られるユーザの位置情報に近い順にN点、(N−1)点、(N−2)点、・・・と降順の点数付けを行って、最高得点のものをユーザに適切なSEとして選択する。あるいは、たとえば、ユーザの位置ベクトルをUserVec、SEの位置ベクトルをSeVecとして、exp(−(UserVec−SeVec)^2)などの、位置が近いほど点数が高くなる計算式を定義して、それを用いて点数を計算してもよい。また、ユーザポリシの優先度が複数ある場合は、合計点数が最も高いSEを選択してもよいし、優先度の高い順に与える点数に重み付けを行って、合計点数が最も高いSEを選択しても良い。
STに対応するすべてのSEが選択されるまで、SE検索部111とSE選択部112とはステップS4〜5を繰り返す。
The SE selection unit 112 performs scoring for each SE candidate based on the user policy and the user context, and selects an SE candidate that best matches the user policy and the context. The SE selection unit 112 outputs the ST, the SE identification information of the selected SE, and the OWL-S file to the script generation unit 113 (step S5).
Note that this scoring is performed, for example, when the user policy is “prioritize the nearest SE” and N SE candidates are input, the position of each SE candidate described in the profile in each OWL-S file. From the information, N points, (N-1) points, (N-2) points, etc. are assigned in descending order from the user's location information obtained from the context, and the one with the highest score is given to the user. Select as the appropriate SE. Or, for example, if the user's position vector is UserVec and the SE's position vector is SeVec, define a calculation formula such as exp (-(UserVec-SeVec) ^ 2) that increases the score as the position is closer. May be used to calculate the score. If there are multiple user policy priorities, the SE with the highest total score may be selected, or the points given in descending order of priority may be weighted to select the SE with the highest total score. Also good.
The SE search unit 111 and the SE selection unit 112 repeat steps S4 to S5 until all SEs corresponding to the ST are selected.

スクリプト生成部113は、STに対応するSEがSE選択部112によってすべて選択され、入力されたかをSTに基づき、常にチェックしている。SEがすべて選択され、入力されたことを検出すると、スクリプト生成部113は、実際にSEに実行させるサービスフローであるBPELファイルのスクリプトを生成する。
このスクリプトは、スクリプト生成部113が、入力されたOWL−Sファイルのグラウンディングに記述された意味的メタデータと、具体的インタフェースとのマッピング情報に基づいて、STに記述された意味的メタデータを具体的なインタフェースに適合させる変換を行うことによって、具体的インタフェースが決定されたBPELによるスクリプトを生成する。スクリプト生成部113は、OWL−Sファイルのグラウンディングに記述されるWSDLのURLに基づき、WSDLファイルを取得し、取得したWSDLファイルと生成したスクリプトとをスクリプトセット部114に出力する(ステップS6)。
The script generation unit 113 always checks based on the ST whether all SEs corresponding to the ST are selected and input by the SE selection unit 112. When it is detected that all SEs are selected and input, the script generation unit 113 generates a script of a BPEL file that is a service flow that is actually executed by the SE.
This script is generated by the script generation unit 113 based on the mapping between the semantic metadata described in the grounding of the input OWL-S file and the specific interface, and the semantic metadata described in the ST. Is converted into a specific interface to generate a script by BPEL in which the specific interface is determined. The script generation unit 113 acquires the WSDL file based on the WSDL URL described in the grounding of the OWL-S file, and outputs the acquired WSDL file and the generated script to the script set unit 114 (step S6). .

スクリプトセット部114は、入力されたスクリプトとWSDLファイルとをスクリプト解釈実行部3にセット(デプロイ)する(ステップS7)。
スクリプト解釈実行部3において、通信部30を介して、実行部31は、BPELのスクリプトとWSDLファイルとがセットされると、スクリプトにしたがって、SEのサービスを実行する(ステップS8〜10)。
なお、ステップS8〜10において、スクリプト解釈実行部3でスクリプトが実行される際、ユーザによって初期入力パラメータなどが入力される構成でも良い。
また、サービス合成サーバ1は、SE選択部112が選択したSEの識別情報をユーザの持つ利用者端末2に送信し、ユーザにどのSEが選択されて実行されるのかを提示してもよい。この提示は、SEにおいてサービスが実行される都度行われてもよいし、SE選択部112がSEを選択した際に、STに従って選択されたSEの識別情報を利用者端末2に送信して提示する方法でもよい。
以上のように、機能部U−ske11の構成を有することにより、市中のスクリプト解釈実行部3を用いて、サービス合成技術を実現する事が可能となる。
The script setting unit 114 sets (deploys) the input script and the WSDL file in the script interpretation execution unit 3 (step S7).
In the script interpretation execution unit 3, when the BPEL script and the WSDL file are set via the communication unit 30, the execution unit 31 executes the SE service according to the script (steps S8 to S10).
In steps S8 to S10, when the script is executed by the script interpretation execution unit 3, an initial input parameter or the like may be input by the user.
Further, the service composition server 1 may transmit the identification information of the SE selected by the SE selection unit 112 to the user terminal 2 possessed by the user, and present which SE is selected and executed to the user. This presentation may be performed every time the service is executed in the SE, or when the SE selection unit 112 selects the SE, the identification information of the SE selected according to the ST is transmitted to the user terminal 2 and presented. It is also possible to do it.
As described above, by having the configuration of the functional unit U-skele 11, it is possible to realize a service synthesis technique using the script interpretation execution unit 3 in the market.

<第2の実施形態>
次に、ユーザの移動や、ユーザの人数の変動など、コンテキスト変化が起こった際、ユーザにとって最適なSEが変化する場合に、最適なSEに切り替える場合について、実施例を説明する。たとえば、ユーザポリシに「距離が最も近いSEを優先」と記述されていれば、ユーザが移動した場合には、ユーザに適したSEは、当初選択されたSEと異なるという状況が起こりうる。また、ユーザの人数が増えるなどのコンテキスト変化が起これば、たとえば、表示領域のより広い表示装置がユーザにとって必要となる。本実施形態においては、このようなコンテキスト変化の際に、ユーザのコンテキストに最も適するサービスに随時切り替えを行うことを可能とする構成および動作について説明する。
図4は、第2の実施形態におけるサービス合成システムの全体構成を示すブロック図である。第2の実施形態おいて、第1の実施形態における図1と同様の構成については、同一の符号を付し、その説明を省略し、異なる部分についてのみ説明する。
サービス合成サーバ1において、コンテキスト・ポリシ管理部13は、利用者端末2から受信するコンテキストと、ユーザポリシとが、変化したか否かをチェックする。
コンテキスト・ポリシDB17には、最後に利用者端末2から受信したコンテキストと、ユーザポリシとが記録されている。
<Second Embodiment>
Next, an embodiment will be described in the case of switching to the optimum SE when the optimum SE for the user changes when a context change such as the movement of the user or the change in the number of users occurs. For example, if it is described in the user policy that “the SE with the closest distance is given priority”, when the user moves, a situation may occur where the SE suitable for the user is different from the initially selected SE. Further, if a context change such as an increase in the number of users occurs, for example, a display device having a wider display area is required for the user. In the present embodiment, a configuration and operation that enables switching to a service that is most suitable for a user's context at any time during such a context change will be described.
FIG. 4 is a block diagram showing the overall configuration of the service composition system in the second embodiment. In the second embodiment, the same components as those in FIG. 1 in the first embodiment are denoted by the same reference numerals, description thereof is omitted, and only different portions will be described.
In the service composition server 1, the context policy management unit 13 checks whether the context received from the user terminal 2 and the user policy have changed.
In the context policy DB 17, the last context received from the user terminal 2 and the user policy are recorded.

スクリプト解釈実行部3において、状態取得インタフェース32は、実行部31において実行されているBPELファイルのスクリプト状態、たとえば、パラメータの値や、どこまで処理が進んだのかなどを取得する。   In the script interpretation execution unit 3, the status acquisition interface 32 acquires the script status of the BPEL file being executed in the execution unit 31, for example, the parameter value and how far the process has progressed.

次に、図4の構成における動作例について、図5のシーケンス図を用いて説明する。第1の実施形態における図3と同様の動作については、同一の符号を付し、その説明を省略し、異なる動作についてのみ説明する。
なお、この実施例においては、ユーザポリシ、コンテキスト、ST、は、第1の実施形態と同様であるが、選択されたSEのうち、ユーザの移動によって、スクリプト実行中に、当初選択されたモニタのSE4−3よりも最適なSEとして、SE4−4が発見された場合について説明する。
Next, an operation example in the configuration of FIG. 4 will be described using the sequence diagram of FIG. About the operation | movement similar to FIG. 3 in 1st Embodiment, the same code | symbol is attached | subjected, the description is abbreviate | omitted, and only different operation | movement is demonstrated.
In this example, the user policy, context, and ST are the same as those in the first embodiment, but the monitor that was initially selected during script execution due to user movement among the selected SEs. A case where SE4-4 is found as an SE more optimal than SE4-3 will be described.

サービス合成サーバ1において、利用者端末2から、コンテキストとユーザポリシとを受信する(ステップS20)。このコンテキストとユーザポリシとは、コンテキスト・ポリシ管理部13が周期的にコンテキスト・ユーザポリシ送信命令を利用者端末2に、送信することによって取得しても良いし、利用者端末2が周期的にサービス合成サーバ1に送信しても良いし、ユーザ入力によって送信されても良い。
コンテキスト・ポリシ管理部13は、コンテキストとユーザポリシとを受信すると(ステップS21)、コンテキスト・ポリシDB17からコンテキストとユーザポリシとを読み出し(ステップS22)、受信したコンテキストとユーザポリシと、読み出したコンテキストとユーザポリシとを比較し、一致しなければ、ユーザの状態が変わったと判断し、機能部U−ske11に、受信したコンテキストとユーザポリシとを出力する(ステップS23)。
The service composition server 1 receives the context and the user policy from the user terminal 2 (step S20). The context and user policy may be acquired by the context policy management unit 13 periodically transmitting a context / user policy transmission command to the user terminal 2, or the user terminal 2 may periodically acquire the user policy. It may be transmitted to the service composition server 1 or may be transmitted by user input.
When the context policy management unit 13 receives the context and the user policy (step S21), the context policy management unit 13 reads the context and the user policy from the context policy DB 17 (step S22), and receives the received context, the user policy, and the read context. The user policy is compared, and if it does not match, it is determined that the state of the user has changed, and the received context and user policy are output to the function unit U-skele 11 (step S23).

機能部U−ske11において、コンテキストとユーザポリシとが入力されると、ステップS4と同様に、SE検索部111が、ステップS4で入力されたSTに基づいて、オントロジDB15から同値の意味的メタデータを検索し、この意味的メタデータに対応するSE候補群をSE情報DB16から検出する(ステップS24)。SE選択部112は、ステップS5と同様に、SE検索部111からの入力に基づき、最適なSEを選択し、スクリプト生成部113に最適なSEのSE識別情報とOWL−Sファイルとを出力する(ステップS25)。   When the context and the user policy are input in the function unit U-ske11, the SE search unit 111 receives the same semantic metadata from the ontology DB 15 based on the ST input in step S4, as in step S4. And a candidate SE group corresponding to the semantic metadata is detected from the SE information DB 16 (step S24). Similarly to step S5, the SE selection unit 112 selects an optimum SE based on the input from the SE search unit 111, and outputs the SE identification information and the OWL-S file of the optimum SE to the script generation unit 113. (Step S25).

スクリプト生成部113は、STに対応するすべてのSEが選択されたことを検出すると、ステップS6で入力されたSEと比較する。ここで、SEがすべて同一であれば、実行中のスクリプトは最適なサービスを提供しているものとして、実行中のスクリプトを継続させる。また、SEが1つでも異なれば、ユーザにとって最適なSEが変化したとして、スクリプト生成部113はスクリプト解釈実行部3にスクリプト停止命令情報を送信し、実行部31は、実行中のスクリプトを停止する(ステップS26)。
実行部31は、スクリプトを停止すると、状態取得インタフェース32に状態取得命令を出力し、状態取得インタフェース32が、実行していたスクリプトのパラメータ・どこまでのスクリプトが実行されていたかなどの状態情報を取得し、状態情報を実行部31に出力する(ステップS27)。実行部31は、取得された状態情報をサービス合成サーバ1に送信する(ステップS28)。
When the script generation unit 113 detects that all the SEs corresponding to the ST are selected, the script generation unit 113 compares the selected SE with the SE input in step S6. Here, if all the SEs are the same, the script being executed is assumed to provide the optimum service, and the script being executed is continued. If even one SE is different, the script generation unit 113 transmits the script stop command information to the script interpretation execution unit 3 and the execution unit 31 stops the script being executed, assuming that the optimum SE for the user has changed. (Step S26).
When the execution unit 31 stops the script, the execution unit 31 outputs a state acquisition command to the state acquisition interface 32, and the state acquisition interface 32 acquires state information such as parameters of the script being executed and how far the script has been executed. Then, the state information is output to the execution unit 31 (step S27). The execution unit 31 transmits the acquired state information to the service composition server 1 (step S28).

サービス合成サーバ1において、スクリプト生成部113は、スクリプト生成部113を通信部10を介して受信し、STと、SEのOWL−Sファイルと、状態情報から、スクリプトを生成する。スクリプト生成部113は、ステップS6と同様に、OWL−Sファイルのグラウンディングに記述されるWSDLのURLに基づき、新たに選択されたSE群のWSDLファイルを取得し、取得したWSDLファイルと生成したスクリプトとをスクリプトセット部114に出力する(ステップS29)。
スクリプトセット部114は、ステップS7と同様に通信部10を介して、入力されたスクリプトとWSDLファイルとをスクリプト解釈実行部3にセット(デプロイ)する(ステップS30)。
In the service composition server 1, the script generation unit 113 receives the script generation unit 113 via the communication unit 10, and generates a script from the ST, the SE's OWL-S file, and the status information. Similarly to step S6, the script generation unit 113 acquires the WSDL file of the newly selected SE group based on the WSDL URL described in the grounding of the OWL-S file, and generates the acquired WSDL file. The script is output to the script set unit 114 (step S29).
The script setting unit 114 sets (deploys) the input script and the WSDL file in the script interpretation execution unit 3 via the communication unit 10 as in step S7 (step S30).

スクリプト解釈実行部3において、実行部31は、通信部30を介して新たに受信したスクリプトを実行する(ステップS31)。
上記のように、状態情報をスクリプト解釈実行部3から取得することにより、状態を引き継いだ、スムーズなSE切り替えを実現する事が可能となる効果がある。
従来の市中スクリプト解釈実行部3では、既知のSEの連携が対象であったため、あらかじめ定められたスクリプトが入力され、実行される。このため、コンテキスト変化に応じてサービス実行中にSEを切り替えることは出来なかったが、上記の第2の実施形態における構成により、スクリプト解釈実行部3に入力されるスクリプトをサービス合成サーバ1において常にユーザに最適なスクリプトに切り替えることが可能となり、コンテキストアウェアなSE切り替えを、サービス実行中に可能とする事ができるという効果があり、ユーザにとって常に適した合成サービスを提供することが可能となる。
In the script interpretation execution unit 3, the execution unit 31 executes the newly received script via the communication unit 30 (step S31).
As described above, by obtaining the state information from the script interpretation execution unit 3, there is an effect that it is possible to realize a smooth SE switching that takes over the state.
In the conventional commercial script interpretation execution unit 3, since cooperation with a known SE is targeted, a predetermined script is input and executed. For this reason, the SE could not be switched during service execution in accordance with the context change. However, with the configuration in the second embodiment, the script input to the script interpretation execution unit 3 is always stored in the service synthesis server 1. It is possible to switch to a script that is optimal for the user, and there is an effect that context-aware SE switching can be performed during service execution, and it is possible to provide a synthesis service that is always suitable for the user.

なお、SE情報DB16には、OWL−Sファイルそのものが格納されているとしたが、SE識別情報と、意味的メタデータが記述されるプロセスモデルと、OWL−Sファイルが得られるアドレス(たとえばウェブのURLや、OWL−Sファイルが格納されている記憶領域のアドレスなど)とが対応付けて書き込まれていてもよい。この場合、OWL−Sファイルの取得方法は、SE検索部111が、意味的メタデータをキーとしてSE情報DB16を検索し、意味的メタデータに対応するSEのOWL−Sファイルのアドレスを取得して、このアドレスにアクセスしてOWL−Sファイルを得る。   Although the SE information DB 16 stores the OWL-S file itself, the SE identification information, the process model in which the semantic metadata is described, and the address (for example, the web) where the OWL-S file is obtained. And the address of the storage area in which the OWL-S file is stored may be written in association with each other. In this case, as a method for acquiring the OWL-S file, the SE search unit 111 searches the SE information DB 16 using the semantic metadata as a key, and acquires the address of the OWL-S file of the SE corresponding to the semantic metadata. Then, this address is accessed to obtain an OWL-S file.

また、第1及び第2の実施形態においては、SE選択部112がステップS5およびステップS25のSE選択を行っていたが、SE候補群を利用者端末2に提示し、ユーザによってSEが選択される構成でも良い。
また、第2の実施形態において、SEの切り替えを機能部U−ske11が行っていたが、ステップS26において、SE切り替えを行うか否かの選択画面を利用者端末2に提示し、ユーザに選択させる構成でも良い。
また、第2の実施形態において、実行部31の状態取得命令によって、状態取得インタフェース32が状態情報を取得していたが、あらかじめスクリプト生成部113において、常に状態情報を保持させるスクリプトを生成する構成でも良い。この場合、スクリプト解釈実行部3に、状態情報の記憶部を設けても良いし、スクリプト解釈実行部3の外部にネットワーク100に接続された状態情報の記憶部を設けても良い。この場合、スクリプト生成部113は、スクリプト停止命令情報をスクリプト解釈実行部3に送信した後、状態情報の記憶部から、状態情報を読み出して、スクリプトを生成する。
また、この外部状態情報記憶部は、状態情報を記憶する専用のSEであっても良い。
In the first and second embodiments, the SE selection unit 112 performs the SE selection in steps S5 and S25. However, the SE candidate group is presented to the user terminal 2, and the SE is selected by the user. It is also possible to use a configuration.
In the second embodiment, the function unit U-skele 11 switches the SE. However, in step S26, a selection screen as to whether or not to perform the SE switching is presented to the user terminal 2 and selected by the user. It is also possible to adopt a configuration that allows
Further, in the second embodiment, the state acquisition interface 32 has acquired the state information by the state acquisition command of the execution unit 31, but the script generation unit 113 previously generates a script that always holds the state information. But it ’s okay. In this case, the script interpretation execution unit 3 may be provided with a state information storage unit, or a state information storage unit connected to the network 100 outside the script interpretation execution unit 3. In this case, the script generation unit 113 transmits the script stop instruction information to the script interpretation execution unit 3, and then reads the state information from the state information storage unit to generate a script.
The external state information storage unit may be a dedicated SE that stores state information.

また、第2の実施形態のステップS23でコンテキスト・ユーザポリシの比較を行う際、ユーザポリシに変更が無く、コンテキストのみ変更があった場合には、SE検索部111が検索するSE候補群は同一のSE候補群が検出されるため、ステップS24は行わず、ステップS23を実行した後、ステップS25を行ってもよい。
また、ネットワーク100に接続されるSE4−1〜4−Nが増減する場合も、以下の構成・動作によりSEの切り替えに対応可能である。機能部U−ske11は、SE情報DB16の更新日時を予め記憶しておき、SE情報DB16に定期的にアクセスするなどすることにより、SE情報DB16の更新の有無を検出する。SE情報DB16の更新があったと検出された場合には、第2の実施形態における、コンテキスト受信があった場合と同様に、サービス合成サーバ1とスクリプト解釈実行部3とにおいて、ステップS24〜ステップS31を行う。これにより、SE4−1〜4−Nに更新があった場合についても、ユーザにもっとも適したサービスを提供することが可能となる効果がある。
Further, when the context / user policy is compared in step S23 of the second embodiment, if there is no change in the user policy and only the context is changed, the SE candidate group searched by the SE search unit 111 is the same. Since the SE candidate group is detected, step S24 may not be performed, and step S25 may be performed after executing step S23.
Further, when the number of SE4-1 to 4-N connected to the network 100 increases or decreases, it is possible to cope with switching of SEs by the following configuration / operation. The functional unit U-ske11 stores the update date and time of the SE information DB 16 in advance and detects whether the SE information DB 16 has been updated by periodically accessing the SE information DB 16. If it is detected that the SE information DB 16 has been updated, the service composition server 1 and the script interpretation execution unit 3 perform steps S24 to S31 in the same manner as in the case of context reception in the second embodiment. I do. Thereby, even when SE4-1 to 4-N are updated, there is an effect that it is possible to provide a service most suitable for the user.

また、第1及び第2の実施形態においては、利用者端末2からSTそのものが送信される構成としたが、予めSTとその識別情報とを対応付けて格納するST記憶部を設け、利用者端末2からSTの識別情報をサービス合成サーバ1へ送信し、サービス合成サーバ1はSTの識別情報に対応するSTをST記憶部から取得する構成でも良い。このSTの識別情報は、たとえばユーザ識別情報や、利用者端末2の識別情報などでもよいし、STが識別できる情報であればいずれの識別情報でも適用可能である。
また、第2の実施形態においては、利用者端末2からユーザポリシそのものとコンテキストそのものとがサービス合成サーバ1に送信される構成としたが、利用者端末2は、コンテキスト・ポリシDB17に予め格納されているコンテキストの識別情報と、ユーザポリシの識別情報とをサービス合成サーバ1へ送信し、サービス合成サーバ1はこれらの識別情報に対応するコンテキストとユーザポリシとをコンテキスト・ポリシDB17から読み出す構成でもよい。
In the first and second embodiments, the ST itself is transmitted from the user terminal 2, but an ST storage unit that stores the ST and its identification information in association with each other is provided in advance. The terminal 2 may transmit the ST identification information to the service composition server 1, and the service composition server 1 may acquire the ST corresponding to the ST identification information from the ST storage unit. The identification information of the ST may be, for example, user identification information, identification information of the user terminal 2, or any identification information as long as the ST can be identified.
In the second embodiment, the user policy 2 and the context itself are transmitted from the user terminal 2 to the service composition server 1. However, the user terminal 2 is stored in the context policy DB 17 in advance. The identification information of the current context and the identification information of the user policy may be transmitted to the service composition server 1, and the service composition server 1 may read the context and user policy corresponding to the identification information from the context policy DB 17. .

また、第1及び第2の実施形態において、コンテキストは利用者端末2が取得する構成としたが、予め設置されるコンテキスト取得装置などによってコンテキストを取得してもよい。たとえば、コンテキスト取得装置が、気温、湿度、照度などの環境情報からなるコンテキストと、このコンテキスト取得装置の位置情報とを周期的またはサービス合成サーバ1から送信される取得命令情報に応じてサービス合成サーバ1に送信する。サービス合成サーバ1において、利用者端末2が取得するユーザの位置情報から、最も近いコンテキスト取得装置を検出し、最も近いコンテキスト取得装置から送信されたコンテキストをユーザコンテキストとしてコンテキスト・ポリシDB17にユーザを識別する情報と対応付けて書きこむことによって随時更新される。コンテキスト・ポリシ管理部13は、コンテキスト・ポリシDB17の情報が更新されているか否かを管理している。この更新管理は、たとえばコンテキストの更新時にコンテキスト・ポリシ管理部13に更新したことを示す信号が出力されることによってもよいし、予め全てのコンテキスト・ポリシDB17の情報をコンテキスト・ポリシ管理部13が複製して保持しておき、所定の周期ごとまたは、ユーザ入力による更新管理命令信号等に応じて、保持した情報とコンテキスト・ポリシDB17の情報を比較し、更新の有無を検出する。更新が検出された場合は、コンテキストとユーザポリシとを機能部U−ske11に出力し、サービス合成サーバ1およびスクリプト解釈実行部3においてステップS24〜S31の処理が行われる。   In the first and second embodiments, the context is acquired by the user terminal 2, but the context may be acquired by a context acquisition device installed in advance. For example, the context acquisition device is a service synthesis server that periodically consists of environment information such as temperature, humidity, and illuminance, and position information of the context acquisition device periodically or according to acquisition command information transmitted from the service synthesis server 1 1 to send. The service composition server 1 detects the closest context acquisition device from the user location information acquired by the user terminal 2 and identifies the user in the context policy DB 17 using the context transmitted from the closest context acquisition device as the user context. It is updated from time to time by writing in association with information to be performed. The context policy management unit 13 manages whether information in the context policy DB 17 has been updated. This update management may be performed by, for example, outputting a signal indicating that updating has been performed to the context policy management unit 13 at the time of updating the context, or the context policy management unit 13 previously stores information of all the context policy DBs 17. The information stored in the context policy DB 17 is compared with the information stored in the context policy DB 17 to detect the presence / absence of the update. When the update is detected, the context and the user policy are output to the function unit U-skele 11, and the process of steps S24 to S31 is performed in the service composition server 1 and the script interpretation execution unit 3.

本発明の第1の実施形態におけるサービス合成システムの構成例を示すブロック図である。It is a block diagram which shows the structural example of the service composition system in the 1st Embodiment of this invention. オントロジDB15に格納されるオントロジの概念図の一例を示す図面である。It is drawing which shows an example of the conceptual diagram of ontology stored in ontology DB15. 本発明の第1の実施形態におけるサービス合成システムの動作例を示すシーケンス図である。It is a sequence diagram which shows the operation example of the service composition system in the 1st Embodiment of this invention. 本発明の第2の実施形態におけるサービス合成システムの構成例を示すブロック図である。It is a block diagram which shows the structural example of the service composition system in the 2nd Embodiment of this invention. 本発明の第2の実施形態におけるサービス合成システムの動作例を示すシーケンス図である。It is a sequence diagram which shows the operation example of the service composition system in the 2nd Embodiment of this invention.

符号の説明Explanation of symbols

1 サービス合成サーバ
2 利用者端末
3 スクリプト解釈実行部
4−1〜4−N SE
10 通信部
11 機能部U−ske
13 コンテキスト・ポリシ管理部
15 オントロジDB
16 SE情報DB
17 コンテキスト・ポリシDB
30 通信部
31 実行部
32 状態取得インタフェース
100 ネットワーク
111 SE検索部
112 SE選択部
113 スクリプト生成部
114 スクリプトセット部

1 Service composition server 2 User terminal 3 Script interpretation execution unit 4-1 to 4-N SE
10 communication unit 11 function unit U-ske
13 Context Policy Management Department 15 Ontology DB
16 SE information DB
17 Context Policy DB
DESCRIPTION OF SYMBOLS 30 Communication part 31 Execution part 32 Status acquisition interface 100 Network 111 SE search part 112 SE selection part 113 Script generation part 114 Script set part

Claims (10)

サービスシナリオを抽象的に記述したサービステンプレートに基づき、各サービスごとに利用可能な1つまたは複数のサービスコンポーネントの候補を検出し、検出された該サービスコンポーネントから、ユーザ状況と、ユーザポリシとに適合するサービスコンポーネントを、サービステンプレートに記述された全てのサービスコンポーネントを選択し、バインドすることによってサービスを合成するサービス合成サーバであり、
1つまたは複数の単語からなるグループと、このグループに含まれる各々の前記単語間の関係とが記述されるオントロジ記憶部と、
前記単語と、該単語に対応する機能を有する前記サービスコンポーネントの情報とが対応付けられて記述されているサービスコンポーネント情報記憶部と、
ユーザによって入力される前記サービステンプレートに記述された単語に基づき、利用可能な前記サービスコンポーネントを、前記オントロジ記憶部と、前記サービスコンポーネント情報記憶部とを検索することによって検出する検索部と、
検出された前記サービスコンポーネントのうち、前記ユーザ状況と前記ユーザポリシと各前記サービスコンポーネントの情報との適合度を前記サービスコンポーネントごとに算出し、比較することにより、適合度の高い前記サービスコンポーネントを選択する選択部と、
選択された前記サービスコンポーネントのサービス処理を起動するサービス実行スクリプトを生成するスクリプト生成部と、
を備えることを特徴とするサービス合成サーバ。
Based on a service template that abstractly describes a service scenario, one or more service component candidates available for each service are detected, and the user status and user policy are matched from the detected service components. A service composition server that synthesizes a service component by selecting and binding all service components described in the service template.
An ontology storage unit in which a group of one or more words and a relationship between each of the words included in the group are described;
A service component information storage unit in which the word and information of the service component having a function corresponding to the word are described in association with each other;
A search unit for detecting available service components by searching the ontology storage unit and the service component information storage unit based on words described in the service template input by a user;
Of the detected service components, the service component having a high fitness level is selected by calculating and comparing the user status, the user policy, and the information of each service component for each service component. A selection section to
A script generation unit that generates a service execution script for starting a service process of the selected service component;
A service composition server comprising:
前記ユーザ状況が変化した際、
前記選択部は、
変化後の前記ユーザ状況と前記ユーザポリシと各前記サービスコンポーネントの情報との適合度を前記サービスコンポーネントごとに算出し、比較することにより、適合度の高い前記サービスコンポーネントを再選択し、
再選択された前記サービスコンポーネントが、当初選択された前記サービスコンポーネントと異なる場合、
前記スクリプト生成部は、
再選択された前記サービスコンポーネントのサービス処理を起動するサービス実行スクリプトを再生成する
ことを特徴とする請求項1に記載のサービス合成サーバ。
When the user situation changes,
The selection unit includes:
By recalculating the degree of conformity between the user status after the change, the user policy, and the information of each service component for each service component, and reselecting the service component having a high degree of conformity,
If the reselected service component is different from the originally selected service component;
The script generation unit
The service composition server according to claim 1, wherein a service execution script that activates a service process of the reselected service component is regenerated.
前記スクリプト生成部は、
前記ユーザ状況の変化に伴い、前記サービスコンポーネントが前記選択部によって再選択された場合、
前記サービス合成サーバに接続される具体的サービス実行スクリプト実行部において実行されている前記スクリプトの実行状況を取得して、前記実行状況に対応する、より適合度の高い前記サービスコンポーネントのサービス処理を起動するサービス実行スクリプトを生成する
ことを特徴とする請求項2に記載のサービス合成サーバ。
The script generation unit
When the service component is reselected by the selection unit according to a change in the user situation,
The execution status of the script being executed in the specific service execution script execution unit connected to the service composition server is acquired, and the service process of the service component having a higher fitness corresponding to the execution status is started. The service composition server according to claim 2, wherein a service execution script is generated.
サービスシナリオを抽象的に記述したサービステンプレートに基づき、各サービスごとに利用可能な1つまたは複数のサービスコンポーネントの候補を検出し、検出された該サービスコンポーネントから、ユーザ状況と、ユーザポリシとに適合するサービスコンポーネントを、サービステンプレートに記述された全てのサービスコンポーネントを選択し、バインドすることによってサービスを合成するサービス合成システムであり、
前記サービステンプレートまたはこの識別情報のいずれかであるサービステンプレート情報と、前記ユーザ状況またはこの識別情報のいずれかであるユーザ状況情報と、前記ユーザポリシまたはこの識別情報のいずれかであるユーザポリシ情報とを送信する利用者端末と、
前記サービスを提供する複数の前記サービスコンポーネントと、
1つまたは複数の単語からなるグループと、このグループに含まれる各々の前記単語間の関係とが記述されるオントロジ記憶部と、前記単語と、該単語に対応する機能を有する前記サービスコンポーネントの情報とが対応付けられて記述されているサービスコンポーネント情報記憶部と、利用者端末から受信する前記サービステンプレート情報から取得する前記サービステンプレートに記述された単語に基づき、利用可能な前記サービスコンポーネントを、前記オントロジ記憶部と、前記サービスコンポーネント情報記憶部とを検索することによって検出する検索部と、検出された前記サービスコンポーネントのうち、前記ユーザ状況情報から取得する前記ユーザ状況と、前記ユーザポリシ情報から取得する前記ユーザポリシと各前記サービスコンポーネントの情報との適合度を前記サービスコンポーネントごとに算出し、適合度の高い前記サービスコンポーネントを選択する選択部と、選択された前記サービスコンポーネントのサービス処理を起動するサービス実行スクリプトを生成するスクリプト生成部とを有するサービス合成手段と、
前記サービス実行スクリプトを実行するスクリプト解釈実行部と
を有することを特徴とするサービス合成システム。
Based on a service template that abstractly describes a service scenario, one or more service component candidates available for each service are detected, and the user status and user policy are matched from the detected service components. A service composition system that synthesizes a service component by selecting and binding all the service components described in the service template.
Service template information that is either the service template or this identification information, user situation information that is either the user situation or this identification information, and user policy information that is either the user policy or this identification information; A user terminal that sends
A plurality of the service components providing the service;
An ontology storage unit in which a group of one or more words and a relationship between each of the words included in the group are described; information of the word and the service component having a function corresponding to the word And the service component information storage unit described in association with each other, and the service component that can be used based on the words described in the service template acquired from the service template information received from the user terminal, An ontology storage unit, a search unit that is detected by searching the service component information storage unit, among the detected service components, the user status acquired from the user status information, and acquired from the user policy information The user policy and each service A degree of conformity with component information is calculated for each service component, a selection unit that selects the service component with a high degree of conformance, and a script generation that generates a service execution script that activates the service processing of the selected service component A service composition means having a section;
A service composition system comprising: a script interpretation execution unit that executes the service execution script.
前記ユーザ状況が変化した際、前記サービス合成手段において、
前記選択部が、
変化後の前記ユーザ状況と前記ユーザポリシと各前記サービスコンポーネントの情報との適合度を前記サービスコンポーネントごとに算出し、比較することにより、適合度の高い前記サービスコンポーネントを再選択し、
再選択された前記サービスコンポーネントが、当初選択された前記サービスコンポーネントと異なる場合、
前記スクリプト生成部が、
再選択された前記サービスコンポーネントのサービス処理を起動するサービス実行スクリプトを再生成する
ことを特徴とする請求項4に記載のサービス合成システム。
When the user situation changes, in the service composition means,
The selection unit is
By recalculating the degree of conformity between the user status after the change, the user policy, and the information of each service component for each service component, and reselecting the service component having a high degree of conformity,
If the reselected service component is different from the originally selected service component;
The script generation unit
The service composition system according to claim 4, wherein a service execution script that activates a service process of the reselected service component is regenerated.
前記サービス合成手段において、前記スクリプト生成部は、
前記ユーザ状況の変化に伴い、前記サービスコンポーネントが前記選択部によって再選択された場合、
前記サービス合成手段に接続される具体的サービス実行スクリプト実行部において実行されている前記スクリプトの実行状況を取得して、前記実行状況に対応する、より適合度の高い前記サービスコンポーネントのサービス処理を起動する具体的なサービス実行スクリプトを生成する
ことを特徴とする請求項5に記載のサービス合成システム。
In the service composition unit, the script generation unit includes:
When the service component is reselected by the selection unit according to a change in the user situation,
The execution status of the script being executed in a specific service execution script execution unit connected to the service synthesis means is acquired, and the service processing of the service component having a higher fitness corresponding to the execution status is started. The service composition system according to claim 5, wherein a specific service execution script is generated.
前記サービス合成システムは、
前記スクリプトの実行状況を記録する記憶部
をさらに有することを特徴とする請求項5または6に記載のサービス合成システム。
The service composition system includes:
The service composition system according to claim 5, further comprising a storage unit that records an execution status of the script.
サービスシナリオを抽象的に記述したサービステンプレートに基づき、各サービスごとに利用可能な1つまたは複数のサービスコンポーネントの候補を検出し、検出された該サービスコンポーネントから、ユーザ状況と、ユーザポリシとに適合するサービスコンポーネントを、サービステンプレートに記述された全てのサービスコンポーネントを選択し、バインドすることによってサービスを合成する方法であり、
利用者端末が前記サービステンプレートまたはこの識別情報のいずれかであるサービステンプレート情報と、前記ユーザ状況またはこの識別情報のいずれかであるユーザ状況情報と、前記ユーザポリシまたはこの識別情報のいずれかであるユーザポリシ情報とを送信する送信過程と、
サービス合成手段において、
利用者端末から受信する前記サービステンプレート情報から取得する前記サービステンプレートに記述された単語に基づき、利用可能な前記サービスコンポーネントを、1つまたは複数の単語からなるグループと、このグループに含まれる各々の前記単語間の関係とが記述されるオントロジ記憶部と、前記単語と、該単語に対応する機能を有する前記サービスコンポーネントの情報とが対応付けられて記述されているサービスコンポーネント情報記憶部とを検索することによって検出する検索過程と、
検出された前記サービスコンポーネントのうち、前記ユーザ状況情報から取得する前記ユーザ状況と、前記ユーザポリシ情報から取得する前記ユーザポリシと、各前記サービスコンポーネントの情報との適合度を前記サービスコンポーネントごとに算出し、適合度の高い前記サービスコンポーネントを選択する選択過程と、
選択された前記サービスコンポーネントのサービス処理を起動するサービス実行スクリプトを生成する過程と、
前記サービス実行スクリプトを実行する過程と
を有することを特徴とするサービス合成方法。
Based on a service template that abstractly describes a service scenario, one or more service component candidates available for each service are detected, and the user status and user policy are matched from the detected service components. This is a method of synthesizing services by selecting and binding all service components described in the service template.
The service template information that is either the service template or the identification information of the user terminal, the user situation information that is either the user situation or the identification information, and the user policy or the identification information. A transmission process for transmitting user policy information;
In service composition means,
Based on the words described in the service template acquired from the service template information received from the user terminal, the service components that can be used are grouped with one or a plurality of words and each of the groups included in the group Search the ontology storage unit in which the relationship between the words is described, and the service component information storage unit in which the word and information of the service component having a function corresponding to the word are described in association with each other A search process that is detected by
Of the detected service components, the degree of conformity between the user status acquired from the user status information, the user policy acquired from the user policy information, and information of each service component is calculated for each service component. A selection process for selecting the service component having a high degree of conformance;
Generating a service execution script for starting a service process of the selected service component;
And a process for executing the service execution script.
請求項1〜8のいずれかに記載の情報処理装置として、コンピュータを機能させるためのプログラム。   A program for causing a computer to function as the information processing apparatus according to claim 1. 請求項9に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。

A computer-readable recording medium on which the program according to claim 9 is recorded.

JP2006236407A 2006-08-31 2006-08-31 Service composition server, service composition system, program, and recording medium Active JP4813299B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006236407A JP4813299B2 (en) 2006-08-31 2006-08-31 Service composition server, service composition system, program, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006236407A JP4813299B2 (en) 2006-08-31 2006-08-31 Service composition server, service composition system, program, and recording medium

Publications (2)

Publication Number Publication Date
JP2008059346A true JP2008059346A (en) 2008-03-13
JP4813299B2 JP4813299B2 (en) 2011-11-09

Family

ID=39241991

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006236407A Active JP4813299B2 (en) 2006-08-31 2006-08-31 Service composition server, service composition system, program, and recording medium

Country Status (1)

Country Link
JP (1) JP4813299B2 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009258998A (en) * 2008-04-16 2009-11-05 Fujitsu Ltd Apparatus, method, and program for providing service information
JP2013515987A (en) * 2009-12-23 2013-05-09 テレフオンアクチーボラゲット エル エム エリクソン(パブル) Service selection to reduce production costs
JP2016515346A (en) * 2013-04-25 2016-05-26 ハンチョウ エイチ3シー テクノロジーズ カンパニー リミテッド Network resource monitoring
JP2018067302A (en) * 2016-10-21 2018-04-26 富士通株式会社 Software service execution device, system, and method
CN108388466A (en) * 2018-03-16 2018-08-10 北京小度信息科技有限公司 Information displaying method and device

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005234877A (en) * 2004-02-19 2005-09-02 Nippon Telegr & Teleph Corp <Ntt> Navigation method, navigation system and program
JP2005250844A (en) * 2004-03-04 2005-09-15 Nippon Telegr & Teleph Corp <Ntt> Service composition method, device and program
JP2006209509A (en) * 2005-01-28 2006-08-10 Nippon Telegr & Teleph Corp <Ntt> Service element switching method and program

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005234877A (en) * 2004-02-19 2005-09-02 Nippon Telegr & Teleph Corp <Ntt> Navigation method, navigation system and program
JP2005250844A (en) * 2004-03-04 2005-09-15 Nippon Telegr & Teleph Corp <Ntt> Service composition method, device and program
JP2006209509A (en) * 2005-01-28 2006-08-10 Nippon Telegr & Teleph Corp <Ntt> Service element switching method and program

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009258998A (en) * 2008-04-16 2009-11-05 Fujitsu Ltd Apparatus, method, and program for providing service information
JP2013515987A (en) * 2009-12-23 2013-05-09 テレフオンアクチーボラゲット エル エム エリクソン(パブル) Service selection to reduce production costs
JP2016515346A (en) * 2013-04-25 2016-05-26 ハンチョウ エイチ3シー テクノロジーズ カンパニー リミテッド Network resource monitoring
US9762451B2 (en) 2013-04-25 2017-09-12 Hewlett Packard Enterprise Development Lp Network resource matching
US9825817B2 (en) 2013-04-25 2017-11-21 Hewlett Packard Enterprise Development Lp Network configuration auto-deployment
JP2018067302A (en) * 2016-10-21 2018-04-26 富士通株式会社 Software service execution device, system, and method
CN108388466A (en) * 2018-03-16 2018-08-10 北京小度信息科技有限公司 Information displaying method and device

Also Published As

Publication number Publication date
JP4813299B2 (en) 2011-11-09

Similar Documents

Publication Publication Date Title
JP5736433B2 (en) IoT browsing method and apparatus
EP3491533A1 (en) Providing command bundle suggestions for an automated assistant
US20070165538A1 (en) Schedule-based connectivity management
WO2010116652A1 (en) Device and method for providing application arrangement display rule, and application execution terminal device, and display method therefor
JP2010176195A (en) Method for exhibiting connecting destination candidate of component in web application, and computer program and computer system therefor
CN103607502B (en) Method and apparatus for upgrading applications of mobile device
KR101995260B1 (en) Method and system for providing app service
JP4444944B2 (en) Service linkage method
JP4813299B2 (en) Service composition server, service composition system, program, and recording medium
US20100153426A1 (en) Semantic service discovery apparatus and method
JP2013003607A (en) Information distribution device, information processing terminal, information distribution method, information processing method, information distribution program, and information processing program
JP2009140306A (en) Information providing server and method of providing information
Ben Njima et al. Development of a mobile web services discovery and composition model
JP2010108331A (en) Information processing apparatus, application starting method and program
KR100656372B1 (en) System and method of feasibility estimation for robot services
US20130297651A1 (en) Application search system
KR102624680B1 (en) Mash-up method for integrating heterogeneous data and apparatus thereof
CN102171715A (en) Method, apparatus and computer program product for providing predictor nodes for context models
JP2017123521A (en) Failure cause specification device and program
JP2012058987A (en) Distribution server and distribution method notifying a user of a recommendable application
CN112583891B (en) Interface document acquisition method and device and server
KR101087252B1 (en) System for mashup service management
US20120150892A1 (en) Information processing apparatus, information processing system, information processing method, and information processing program
JP4729005B2 (en) Service scenario creation device, service scenario creation method, and service scenario creation program
JP6583424B2 (en) Information processing system, information processing method, and information processing program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080201

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110207

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110531

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110725

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110816

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110824

R151 Written notification of patent or utility model registration

Ref document number: 4813299

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140902

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350