JP2008059346A - Service composition server, system and method, program, and recording medium - Google Patents
Service composition server, system and method, program, and recording medium Download PDFInfo
- 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
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
Description
本発明は、サービス合成サーバ、システムおよび方法に関する。 The present invention relates to a service composition server, system, and method.
現在IT技術の進歩に伴い、コンピュータに限らず、携帯電話、家電製品、各種センサなど、さまざまな機器がネットワークにつながり、ユーザ生活を支援する、ユビキタス環境が実現しつつある。ユビキタス環境では、これらの機器・機能が有機的に連携することで、従来は実現が困難だった、個人個人の状況に応じてさまざまなサービスを自動、あるいは半自動的に実現するコンテキストアウェアサービスが期待されている。ユーザのニーズは、ユーザの位置などの実世界の状況に応じて動的に変化する。したがって、サービス提供者が予め全てのサービスを作りこんでサービス提供を行う形ではユーザの動的なニーズ変化に対応していくことは難しい。したがって、その場の状況に応じてサービスを提供するサービスコンポーネントを組み合わせてサービスを実現するサービス合成の考え方が重要になってきている。
そこで、サービス合成技術として、非特許文献1に示す、個々のウェブサービスを連携させる手法として、BPEL(Business Process Execution Language)が注目を集めている。
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.
しかしながら、上記の技術においては、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
また、サービス合成技術の特長機能は次の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 (
また、本発明では、前記ユーザ状況が変化した際、サービス合成サーバの前記選択部は、変化後の前記ユーザ状況と前記ユーザポリシと各前記サービスコンポーネントの情報との適合度を前記サービスコンポーネントごとに算出し、比較することにより、適合度の高い前記サービスコンポーネントを再選択し、再選択された前記サービスコンポーネントが、当初選択された前記サービスコンポーネント異なる場合、前記スクリプト生成部は、再選択された前記サービスコンポーネントのサービス処理を起動するサービス実行スクリプトを再生成することを特徴とする。 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
また、本発明のサービス合成システムは、前記ユーザ状況が変化した際、前記サービス合成手段において、前記選択部が、変化後の前記ユーザ状況と前記ユーザポリシと各前記サービスコンポーネントの情報との適合度を前記サービスコンポーネントごとに算出し、比較することにより、適合度の高い前記サービスコンポーネントを再選択し、再選択された前記サービスコンポーネントが、当初選択された前記サービスコンポーネント異なる場合、前記スクリプト生成部が、再選択された前記サービスコンポーネントのサービス処理を起動するサービス実行スクリプトを再生成することを特徴とする。 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
The
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
また、利用者端末2は、ユーザ入力または、利用者端末2が備えるコンテキスト検出装置によって取得される、ユーザのコンテキスト(状況情報)をサービス合成サーバ1に送信する。なお、ユーザコンテキストとは、たとえばユーザの位置や、ユーザのおかれている、気温、湿度、照度などの環境状況や、ユーザの体温、脈拍、血圧などのユーザの身体状況情報などであり、ユーザの置かれている状況を示す状況情報である。
ユーザの位置は、たとえば、利用者端末2に予めGPS装置を備えておき取得してもよいし、建物内であれば、各部屋の出入り口や、部屋そのものに通過通知装置を設け、利用者端末2が通過通知装置付近を通過するごとに、通過通知装置によって通知される位置情報を利用者端末2が取得し、取得した位置情報を最終通過位置として利用者端末2が保持しておくことにより、ユーザの位置を特定するなどしてもよい。また、ユーザ入力によって位置を特定してもよい。
In addition, the
The user's position may be acquired by, for example, providing the
環境状況は、たとえば、利用者端末2が気温、湿度、照度などを測定する測定機器を予め備え、所定の周期ごとや、ユーザまたはサービス合成サーバ1からの測定命令情報により、環境状況を測定して、コンテキストとして保持する。
ユーザの体温、脈拍、血圧などの、ユーザの身体状況情報は、たとえば、利用者端末2が体温、脈拍、血圧などを測定する測定装置を予め備え、所定の周期ごとや、ユーザまたはサービス合成サーバ1からの測定命令情報により、身体状況を測定して、コンテキストとして保持する。
For example, the
The user's physical condition information such as the user's body temperature, pulse, blood pressure, and the like, for example, the
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
サービス合成サーバ1において、通信部10は、ネットワーク100を介して利用者端末2、スクリプト解釈実行部3、SE4−1〜4−Nとの情報の送受信を行う。
オントロジDB15には、単語(意味的メタデータ)同士の関係を記述したオントロジ辞書が格納されている。図2は、オントロジDB15に格納されている、SE4−1〜4−Nの機能を示す意味的メタデータ同士の関係の概念図である。
In the service composition server 1, the
The
なお、本明細書において、オントロジとは、意味的メタデータ同士の同値関係や継承関係といった、意味的メタデータの関連性を示す関係情報を意味する。具体的には、たとえば、図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検索部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
The
SE選択部112は、入力されたSE識別情報ごとに、対応するOWL−Sファイルとユーザポリシと、コンテキストとのマッチングによる点数付けを行うことにより、適合度を算出し、ユーザのコンテキストとユーザポリシとにもっとも適切なSEを選択する。
SE選択部112は、STと、選択したSEのSE識別情報と、OWL−Sファイルとをスクリプト生成部113に出力する。
For each input SE identification information, the
The
スクリプト生成部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
スクリプトセット部114は、入力されたスクリプトとWSDLファイルとをスクリプト解釈実行部3にセット(デプロイ)する。
サービス合成サーバ1において、SE検索部111、SE選択部112、スクリプト生成部113、スクリプトセット部114をまとめて機能部U−ske11と呼び、機能部U−ske11は、本発明の要となる機能部である。
市中のすでに提供されているスクリプト解釈実行部3において、通信部30は、ネットワーク100に接続され、通信のインタフェースを実現する。実行部31は、BPELのスクリプトとWSDLファイルとがセットされると、スクリプトにしたがって、SEのサービスを実行する。
以上の構成により、市中の既製品であるスクリプト解釈実行部3を用いる事ができるため、維持コストを増大させること無くサービス合成を実現することが出来る。
The
In the service composition server 1, the
In the script
With the above configuration, since the script
次に、図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
サービス合成サーバ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
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
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
スクリプト生成部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
This script is generated by the
スクリプトセット部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
In the script
In steps S8 to S10, when the script is executed by the script
Further, the service composition server 1 may transmit the identification information of the SE selected by the
As described above, by having the configuration of the
<第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
In the context policy DB 17, the last context received from the
スクリプト解釈実行部3において、状態取得インタフェース32は、実行部31において実行されているBPELファイルのスクリプト状態、たとえば、パラメータの値や、どこまで処理が進んだのかなどを取得する。
In the script
次に、図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
When the context
機能部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
スクリプト生成部113は、STに対応するすべてのSEが選択されたことを検出すると、ステップS6で入力されたSEと比較する。ここで、SEがすべて同一であれば、実行中のスクリプトは最適なサービスを提供しているものとして、実行中のスクリプトを継続させる。また、SEが1つでも異なれば、ユーザにとって最適なSEが変化したとして、スクリプト生成部113はスクリプト解釈実行部3にスクリプト停止命令情報を送信し、実行部31は、実行中のスクリプトを停止する(ステップS26)。
実行部31は、スクリプトを停止すると、状態取得インタフェース32に状態取得命令を出力し、状態取得インタフェース32が、実行していたスクリプトのパラメータ・どこまでのスクリプトが実行されていたかなどの状態情報を取得し、状態情報を実行部31に出力する(ステップS27)。実行部31は、取得された状態情報をサービス合成サーバ1に送信する(ステップS28)。
When the
When the
サービス合成サーバ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
The
スクリプト解釈実行部3において、実行部31は、通信部30を介して新たに受信したスクリプトを実行する(ステップS31)。
上記のように、状態情報をスクリプト解釈実行部3から取得することにより、状態を引き継いだ、スムーズなSE切り替えを実現する事が可能となる効果がある。
従来の市中スクリプト解釈実行部3では、既知のSEの連携が対象であったため、あらかじめ定められたスクリプトが入力され、実行される。このため、コンテキスト変化に応じてサービス実行中にSEを切り替えることは出来なかったが、上記の第2の実施形態における構成により、スクリプト解釈実行部3に入力されるスクリプトをサービス合成サーバ1において常にユーザに最適なスクリプトに切り替えることが可能となり、コンテキストアウェアなSE切り替えを、サービス実行中に可能とする事ができるという効果があり、ユーザにとって常に適した合成サービスを提供することが可能となる。
In the script
As described above, by obtaining the state information from the script
In the conventional commercial script
なお、SE情報DB16には、OWL−Sファイルそのものが格納されているとしたが、SE識別情報と、意味的メタデータが記述されるプロセスモデルと、OWL−Sファイルが得られるアドレス(たとえばウェブのURLや、OWL−Sファイルが格納されている記憶領域のアドレスなど)とが対応付けて書き込まれていてもよい。この場合、OWL−Sファイルの取得方法は、SE検索部111が、意味的メタデータをキーとしてSE情報DB16を検索し、意味的メタデータに対応するSEのOWL−Sファイルのアドレスを取得して、このアドレスにアクセスしてOWL−Sファイルを得る。
Although the
また、第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
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
Further, in the second embodiment, the
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
Further, when the number of SE4-1 to 4-N connected to the
また、第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
In the second embodiment, the
また、第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
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
10
13 Context
16 SE information DB
17 Context Policy DB
DESCRIPTION OF
Claims (10)
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つまたは複数の単語からなるグループと、このグループに含まれる各々の前記単語間の関係とが記述されるオントロジ記憶部と、前記単語と、該単語に対応する機能を有する前記サービスコンポーネントの情報とが対応付けられて記述されているサービスコンポーネント情報記憶部と、利用者端末から受信する前記サービステンプレート情報から取得する前記サービステンプレートに記述された単語に基づき、利用可能な前記サービスコンポーネントを、前記オントロジ記憶部と、前記サービスコンポーネント情報記憶部とを検索することによって検出する検索部と、検出された前記サービスコンポーネントのうち、前記ユーザ状況情報から取得する前記ユーザ状況と、前記ユーザポリシ情報から取得する前記ユーザポリシと各前記サービスコンポーネントの情報との適合度を前記サービスコンポーネントごとに算出し、適合度の高い前記サービスコンポーネントを選択する選択部と、選択された前記サービスコンポーネントのサービス処理を起動するサービス実行スクリプトを生成するスクリプト生成部とを有するサービス合成手段と、
前記サービス実行スクリプトを実行するスクリプト解釈実行部と
を有することを特徴とするサービス合成システム。 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つまたは複数の単語からなるグループと、このグループに含まれる各々の前記単語間の関係とが記述されるオントロジ記憶部と、前記単語と、該単語に対応する機能を有する前記サービスコンポーネントの情報とが対応付けられて記述されているサービスコンポーネント情報記憶部とを検索することによって検出する検索過程と、
検出された前記サービスコンポーネントのうち、前記ユーザ状況情報から取得する前記ユーザ状況と、前記ユーザポリシ情報から取得する前記ユーザポリシと、各前記サービスコンポーネントの情報との適合度を前記サービスコンポーネントごとに算出し、適合度の高い前記サービスコンポーネントを選択する選択過程と、
選択された前記サービスコンポーネントのサービス処理を起動するサービス実行スクリプトを生成する過程と、
前記サービス実行スクリプトを実行する過程と
を有することを特徴とするサービス合成方法。 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.
A computer-readable recording medium on which the program according to claim 9 is recorded.
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)
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)
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 |
-
2006
- 2006-08-31 JP JP2006236407A patent/JP4813299B2/en active Active
Patent Citations (3)
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)
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 |