サービスコンピューティング

研究内容概要

サービスコンピューティング,またはサービス指向コンピューティング・アーキテクチャ(SOC/SOA)は,システムを構成する主要な要素として「サービス」に着目する考え方を採っています.ここでの「サービス」とは,機械がアクセスできる形で自身の説明およびインターフェースを持つ,ネットワークに公開されたソフトウェア部品です.サービスはしばしばコンポーネントよりも粒度が荒く,人間の活動を支える様々なワークフロー(ビジネスプロセス)に意味のある単位で取り込まれるようになっています.

多種多様なサービスが,研究コミュニティにおいて,また実際のWebや企業等の組織において構築・研究されています.初期には旅行予約や株価情報の取得などの一般的なWebアプリケーションが考えられてきました.近年では新しい種類のサービスも考えられています.たとえば,Infrastructure-as-a-Serviceといったクラウドサービスやプロジェクタなどの実世界サービス,計算機システムと密に連動した人間の専門家といったものがネットワーク上のサービスとして考えられています.このように,サービスコンピューティングはクラウド・ユビキタス・サイバーフィジカルといった様々なコンピューティングパラダイムの必要不可欠な基盤を提供しています.

「サービス」を主軸としたアプローチにより,下記のようなコンピュータ科学・ソフトウェア工学の課題に取り組むことが目指されています.

  • 人間の活動にとって意味を持つ粒度で定義された,再利用可能なサービスの組み合わせとしてシステムを構築する.これにより,組織における要求およびそれらの変化に効率よく迅速に対処する.(ソフトウェア工学の視点)
  • サービスへのアクセス,およびサービス自身に対するメタ知識を提供する.これにより,知的なアプリケーションの構築を容易とする.(人工知能の視点)
  • メタ知識の明示的な記述および交換に関して標準的な使用を定める.これにより,実行時適応まで考慮した高い相互接続性を実現する.(分散コンピューティングの観点)

しかし,これらの利点を実際に得るためには様々な課題に取り組まなければなりません.我々のグループでは,下記3つの観点から,サービスコンピューティングにおけるチャレンジに取り組んでいます.

  • サービス合成のための機能モデル化および分析: サービスおよびそれらの組み合わせに関する,機能的側面を扱うための計算手法
  • サービス選択・合成のためのサービス品質(QoS)モデル化・分析・保証:サービスおよびそれらの組み合わせに関する,非機能的側面を扱うための計算手法
  • サービス指向システムにおける進化・適応のための工学・管理手法: 機能的・非機能的側面を統合しサービスおよびそれらの組み合わせを開発・管理していくための工学手法

研究トピックの紹介

※ やや古い内容もあるので,最新の研究内容については,本ページ末尾の発表文献もご参照下さい.
また,下記のような個々の技術に加え,日欧9機関,4都市連携での,「街のサービス」に関するプロジェクトにも取り組んでいます.詳細は後日掲載します.

A. サービス合成のための機能モデル化・分析

この研究グループでは,自動Webサービス合成に注目しており,抽象モデルを扱うプランニングアルゴリズムから実装やトラストを扱う具体的な手法までをカバーしています.自動的にワークフローを生成することにより,実質的にほぼ無限の合成サービスを得てユーザの要求に対し適応することができるようになります.また,サービスのトラストを考慮することにより,最も信頼するサービス候補を選んでいくこともできます.

A-1. インターフェース,セマンティック,プランニング

我々の取り組みにおいては,価格や応答時間等のサービス品質(QoS)を考慮に入れた,耐故障性を持つワークフローを合成するプランニングアルゴリズムに取り組んでいます.また潜在的には指数的に増大となる探索空間を枝刈りするヒューリスティックにも取り組んでいます.これらの取り組みでは,登録されたサービスは事前処理によって機能的に似たサービスにクラスタとして整理され,不必要な計算なくバックアップサービスを発見できるようになっています.

加えて,セマンティックWebサービスの合成技術と,WSDLによる実際の実装技術とのギャップを埋める取り組みも行っています.共通オントロジに基づいて接続されたセマンティックWebサービスは,現状の技術を用いた実際の実装においては不整合を持つ可能性があります.このため,データ構造レベルで実行可能なワークフローの整合性を保証する手法に取り組んでいます.

A-2. 経験とトラスト

Webサービスにトラストの値を割り当てることにより,「サービスは宣言している通りのもの・我々が期待しているものを機能として提供してくれるか?」という質問に答えることが可能となります.これは特に,同様の機能・サービス品質(QoS)を提供していると「期待されている」サービス候補が多く存在する場合に有効です.トラストの値は,以前の相互作用やクライアントの評価,ユーザの持つそのサービスに対し持つ信用などに基づき測定・導出されます.

個々のサービスに対するトラストの値を受けて,実際にはサービス合成のためによりトラストの高いサービスを選ぶ必要があります.我々の現在の取り組みでは,トラストをクライアントがサービスを信頼できる確率値(主観的・ベイジアン)と見なし,サービス間のトラスト値の依存性をモデル化することにより,サービス合成におけるトラスト値を活用する方法を探っています.

B. サービス選択・合成におけるサービス品質のモデル化・分析・保証

サービスの使用がより広がるにつれ,ユーザが利用可能なサービスの数も非常に多くなってきています.これにより,機能的に同様なサービスの中からどれを用いるか選ぶということが可能になってきています.サービスが必要な機能を提供する際には,ユーザは最もよいサービスを非機能的側面にもとづいて選びます.非機能的側面は,たとえば応答時間や可用性と言ったサービス品質(QoS)属性として定義されます.QoSはしばしば,提供者が保証するSLA(Service Level Agreement)の形で与えられることとなります.

B-1. モデル化と分析

重要な側面の一つとして,どのようにQoSをモデル化するというものがあります.通常はQoSは単一の値としてSLAによって与えられます.これは価格のようなQoS値については正確な記述となりますが,応用時間のようなQoSに対しては可能な最悪値を示すに限られることとなります.

たとえば,我々の取り組みにおいては,単一の値ではなく確率分布としてQoSを記述します.たとえば200msで返事が来る可能性がどれだけか,といったことを正確に記述できるようにしています.また,より高度な契約,たとえば条件文を含んだ契約の記述も行っています.これは,ピーク時に応答時間が大きくなるなど,呼び出し時間によって異なる保証内容を定める場合を記述することができます.

QoSの分析は,前述のようなモデル化の方針に強く依存します.QoSおよびSLAの記述が複雑になれば,分析にもよりコストがかかり複雑となります.

B-2. サービス選択

複数のサービスとそのQoSに基づき,ユーザが用いるサービスを選ぶ必要があります.ユーザは,「応答時間より安さを優先する」といった自身の嗜好や,「1回の利用料5ドル以下」といった制約を挙げることができます.こういった嗜好と制約を踏まえて最もよいサービスを選ぶ問題は,最適化問題としてモデル化することができます.

我々の取り組みでは,サービス選択において下記のようないくつかのアプローチを採っています.

  1. 条件付き契約とともに,確率的に記述されたQoSを扱う
  2. 最適な代替え・バックアップサービスを選択することにより,高い可用性とよりよいQoSを実現する

B-3. サービス合成

サービス合成においても,全体を構成する個々のサービスに対してサービス選択を考えなければなりません.サービス選択のサイト同様に,QoSに関しユーザが与えた嗜好と選択に基づいて,最適化問題を考えることとなります.この最適化は,個々のサービスに対して独立に選択を行うのではなく,全体のQoSに対する嗜好・制約を踏まえる組み合わせ問題となります.

このような問題において,我々の取り組みの一つでは,サービス間の依存性を生むようなSLA,およびそれを踏まえたサービス合成手法も考えています.たとえば,同じ提供者によるサービスを利用すると割引が得られると言った状況が挙げられます.

サービス合成における最も大きな問題は,QoS嗜好・制約に基づく最適な合成の計算における時間計算量です.効率的な多項式時間のアルゴリズムとして,我々はサービスの毎回の実行ではなく,複数回の実行に対しての最適化と制約充足を考えています.長期にわたる複数回の実行において異なるサービスを利用することにより,ある基準量での最適性を保証することができます.

C. サービス指向システムにおける適応・進化のための工学・管理手法

サービス指向システム開発においては,サービスの意味ある組み合わせを定めたワークフロー(ビジネスプロセス)としてアプリケーションを構築することにより,迅速さ・柔軟さを向上することを目指しています.開発プロセスを通して,サービスおよびそれらの組み合わせの本質的な部分が,効率よく信頼できるか形でモデル化・分析されたか確認する必要があります.ここで難しいのは,付加価値的な機能や非機能的要求(NFR)と含む複数の側面を織り込んでいく複雑さです.加えて,環境やユーザ要求の変化に対応しての,進化(再設計)および適用(実行時の再設定)が非常に重要となっています.

C-1. 付加価値的な機能や非機能要求の織り込み

たとえば我々は,ワークフロー(ビジネスプロセス)により構成されるサービス指向システムに下記のような側面を織り込む手法に取り組んできました.

  • 認証やロギング,フォーマット変換や課金等,非機能要求,契約遵守や付加価値的サービス
  • データだけでなく機能(モバイルコード)も含めた移動性の管理
  • 実行時のサービス選択・再選択を含む適応的な動作

C-2. 技術的アプローチ: 記述・検証・統合

上記のような側面を効率よく信頼できる形で織り込むため,しっかりとした技術基盤の構築に取り組んでいます.言い換えると,開発プロセスにおける成果物は,効率よく信頼できる形で構築されまた検証される必要があります.このため,記述と検証というのが我々のグループにおける二つの主要な側面になっています.それに加えて,個々の要素手法を統合してフレームワーク・方法論とし,開発プロセス内の対象とする部分に対し包括的なサポートを提供する必要があります.

たとえば,相互作用の設計モデルなどの成果物を効率よく構築するためには,最小の労力で本質を含むように言語設計が重要となります.パターンやDomain-Specific Language/Modeling (DSM/DSL)を定義することにより,典型的な利用法を明確にし,高レベルのゴールやポリシーの記述に基づく,より深い支援を提供します.これにより,必要なカスタマイズ性を保ちつつも,開発者の労力および責任範囲を減らすことを目指します.また,様々な側面が織り交ぜられた複雑な記述を避け,部分的な変化を反映しやすくする,関心事の分離の原則も非常に重要です(アスペクト指向の利用等).

検証および妥当性確認(V&V)を通して成果物の品質を保証するため,記述を理論的基盤および分析手法と結び付けることも重要となります.たとえば,状態遷移はワークフローにおける主要な側面の一つです.その支援のための理論基盤としては,オートマトン,ペトリネットやプロセス代数を用いることとなります.明確な利用方法が定められた具体的な手法も,そういった理論基盤の上に構築していく必要があります.たとえば,モデル検査技術により並行ワークフローの可能な状態変化を網羅的に探索し,望ましくない状況を発見することが可能となります.様々な種類の難しさ,もしくは誤りの原因に対して,適切な地術基盤を用い具体的な手法・ツールを構築していく必要があります.

最後に,上記のような個々の要素手法を統合してフレームワーク・方法論とし,開発プロセス内の対象とする部分に対し包括的なサポートを提供する必要があります.

メンバー

  • 石川 冬樹(准教授)
  • 高橋 竜一(特任助教)

連絡先

石川 冬樹:

研究成果

主要な発表文献

  1. 綿引 健二,石川 冬樹,平石 邦彦,時間,資源の制約を持つビジネスプロセスの形式検証,電子情報通信学会論文誌,Vol.J96-D No.8,2013年8月(採録決定)
  2. Adrian Klein, Fuyuki Ishikawa, Shinichi Honiden, SanGA: A Self-adaptive Network-aware Approach to Service Composition, IEEE Transactions on Services Computing (to appear)
  3. Florian Wagner, Benjamin Kloepper, Fuyuki Ishikawa, Shinichi Honiden, Towards Robust Service Compositions in the Context of Functionally Diverse Services, The 21st International World Wide Web Conference (WWW 2012), pp.969-978, April 2012
  4. Adrian Klein, Fuyuki Ishikawa, Shinichi Honiden, Towards Network-aware Service Composition in the Cloud, The 21st International World Wide Web Conference (WWW 2012), pp.959-968, April 2012
  5. 平塚 信明,石川 冬樹,本位田 真一,同種サービスの併用を考慮した効率的なサービス選択,情報処理学会論文誌Vol.52 No.10,pp.2920-2933,2011年10月
  6. 石川 冬樹,山本 佳代子,本位田 真一,物理的相互作用に着目した,スマート空間の形式仕様記述と検証,情報処理学会論文誌Vol.52 No.1,pp.220-232,2011年1月
  7. Adrian Klein, Fuyuki Ishikawa, Shinichi Honiden, Efficient QoS-aware Service Composition with a Probabilistic Service Selection Policy, The 8th International Conference on Service-Oriented Computing (ICSOC 2010), pp.182-196, December 2010
  8. Adrian Klein, Fuyuki Ishikawa, Bernhard Bauer, A Probabilistic Approach to Service Selection with Conditional Contracts and Usage Patterns, The 7th International Conference on Service-Oriented Computing (ICSOC 2009), pp.253-268, November 2009
  9. 高橋 竜一,石川 冬樹,本位田 真一,深澤 良彰, メタデータ制約を用いた協調プロトコルの自動合成手法, 情報処理学会論文誌 特集「分散処理とネットワークサービス」, Vol.53(No.2), pp.683-697, 2012年02月
  10. Fuyuki Ishikawa, Yasuyuki Tahara, Nobukazu Yoshioka, and Shinichi Honiden, Formal Model of Mobile BPEL4WS Process, International Journal of Business Process Integration and Management (IJBPIM), Vol. 1 Issue 3, pp.192-209, September 2006
  11. Fuyuki Ishikawa, Yasuyuki Tahara, Nobukazu Yoshioka, and Shinichi Honiden, A Framework for Synthesis of Web Services and Mobile Agents, International Journal of Pervasive Computing and Communications (JPCC), Vol.1 Issue3, pp.227-245, September 2005