研究紹介シリーズ(第2回)

ネットワークサービス合成・流通のためのソフトウェア工学プロジェクト(PerQAS)「ユビキタス社会の実現に欠かせない”品質”を確かなものとする」

ソフトウェアの機能をサービスとして公開し、複数のサービス群を組み合わせることにより新たなサービスを構築(合成)し提供するのが「サービス指向」の考え方だ。これまで多くの企業が押し進めてきたサービス指向の取り組みは、合成するサービスをあらかじめ特定したものだ。その目的は、近い将来のビジネス環境の変化に迅速に対応することにあり、ソフトウェアの機能間を疎結合で結ぶという考え方を基本としている。サービス指向の初期の取り組みにおいては、組織内外に用意されたシステムの機能をサービスとして整理し,きちんと相互接続することが重視されてきた。しかしサービス指向の考え方においては本来、実行時に状況に応じて必要なサービスを発見しつなぐような、より柔軟なサービス連携が目指されている。

国立情報学研究所(以下、NII)コンテンツ科学研究系の石川冬樹助教(以下、石川助教)の下で進行している「PerQAS」プロジェクトは、広く公開されているサービスを自在に合成し、ひとつのサービスを構築する本来的なサービス指向を研究対象としている。石川助教は、「サービス指向によるコンピューティングが本格的に普及するためには、サービスがユーザーの要求を満たすよう合成がされていること、、すなわち合成サービスの品質が保証されていることが求められます」と説明する。しかし現在、そのための十分な方法論やツールは確立されていない。そのためサービス指向はいまだモノシリック的なものしか実現していないといえるのではないだろうか。

「PerQAS」プロジェクトは、サービス指向の実現に向けて、品質が保証されたサービス合成・提供を行うための科学的な方法論およびツールの研究開発を行っている。またそれらを実用的なものとして一般に広く提供し、普及させることを目的としている。

サービス指向アーキテクチャをベースに仮想空間、実空間を超えた新たなサービスの提供を目指す

コンテンツ科学研究系 石川冬樹 助教


コンピュータが無数のWebサービスの中から最適なWebサービスを選び出し、選択したWebサービス同士を最適な形で組み合わせて1つのアプリケーションを構築し、提供しようという試みは2002年前後から盛んに行われるようになった。こうした考え方は、「サービス指向アーキテクチャ」、もしくは「サービス指向コンピューティング」と呼ばれている。サービス指向アーキテクチャでは、各ソフトウェアの機能を部品化し、標準化された手順によってWebサービスとして公開、ネットワーク経由で利用できるようにしようというアプローチが取られている。

サービス指向アーキテクチャにおけるサービス合成においては、コンピュータが膨大な数のWebサービスの中から、最適なものを選択し組み合わせる必要がある。

ここで、サービス合成にはどのようなものがあるだろうか。例えば、インターネットで旅行の予約を行う場合、航空チケットの予約、宿泊先の予約、地元のレンタカーの予約など、独立して存在する複数の異なるWebサービス同士を組み合わせて、最適な形で提供することになる。これは、インターネットというネットワークを通して、ソフトウェアで実装されたサービスを合成するケースだ。

石川助教は、こうしたWebサービスを「仮想世界のサービス」と表現する。一方、サービス指向は、物理的なデバイスとのサービス合成もありうるとし、仮想世界のサービスと統合して扱おうとしている。

「サービス指向は、ユーザーのより高い利便性を追求していくと”ユビキタス”を目指します」と述べる石川助教が思い描く究極のサービス指向とは、実世界の物理的なサービスと仮想世界のサービスとを組み合わせることで、デバイスに要求を伝えるだけで、あるいは何も要求しなくても、環境に埋め込まれたコンピュータがユーザーの置かれている状況を認識し、その都度、最適なサービスを提供してくれるというものだ。

「PerQAS」プロジクトでは、このようなユビキタスまで睨んだサービス指向を実用化するための科学的な方法論の研究を行っている。仮想世界・実世界のサービスの双方を研究対象とする先進的な研究は、同プロジェクトのリーダーをつとめる石川助教の下、国内外のさまざまな研究者で構成されたチームで推進されている。石川助教は、プロジェクト名について次のように説明する。

「『PerQAS』のPervasiveとは、”広く普及する=いつでもどこでも”、Quality-Assuredとは、”品質保証”という意味で、本プロジェクトが最も注力している点です」

ITにおいても、サービス指向は最近では「SOA」と表現されITベンダーやユーザーの手によって活用が追求されている。しかし、それは本プロジェクトでいうところの仮想空間、すなわちソフトウェア上だけのWebサービスにすぎない。PerQASプロジェクトが斬新な点は、実空間の物理的デバイスも含める点、品質の保証も方法論に含める点といえる。石川助教は、PerQASプロジェクトの目標について、次のように語る。

「仮想空間で提供されるWebサービスと実空間に存在する物理的なデバイスとの連携を図るとともに、複数のサービス同士を組み合わせて1つのサービスとして提供する際に、そのサービスの品質を、契約・ポリシーに基づき保証していくための方法論を確立していきたいと考えています。各サービスが保証する品質同士が相反する場合があるからです。本プロジェクトの目標はサービスの品質を保証しつつ、あらゆるサービスの連携、流通、活用を図り促進させていくこと。そして、目標を実現させるためには、契約・ポリシー及びシステムの動作を状況や環境の変化に応じて”柔軟に”対応させていくことがキーになると考えています」(石川助教)

サービス指向実用化に向けて、4つのサブプロジェクトで研究が進む

現在、本プロジェクトには、NII以外に、東京大学・総合研究大学院大学の本位田研究室、早稲田大学深澤研究室がメンバーとして名を連ねているほか、フランス、オーストラリア、ドイツから来日した研究生もインターンとして参加。4つのサブプロジェクトに分かれて研究が進められている。

●研究事例(1):サービス提供者の選択・切り替え管理フレームワーク

企業で既に推進されているSOAでは、サービス同士を組み合わせてひとつのビジネスプロセスを構築する際、そのビジネスプロセスのモデリング言語として「BPEL」(Business Process Execution Language)が用いられている。BPELは、IBMやMicrosoft、Oracle(旧BEA Systems)などによってOASISに提言された標準言語だ。BPELは、提供するサービスの順番は記述するが、サービスの選択・切り替えに関する記述を行うことはできない。すなわち不特定のサービスの中から、適宜、最適なサービスを選択するための手順を記述できないのだ。

サービスの選択基準には、応答速度やシステムダウン時の復旧時間、あるいは価格、情報の新鮮度などがある。どれが選択基準になるかは、ユーザーの嗜好や適用する環境、また実行時の状況に応じて、その都度変わる。そこで、本サブプロジェクトでは、”状況に応じて選択基準を変える”という機能を、BPELで記述されたビジネスプロセスに追加するための手法を研究している。

「”選択ポリシー”、”切り替えポリシー”を分離して記述することで、より手軽に嗜好や環境に適したサービスの選択・切り替えの設定ができるような開発フレームワークを提供しています」(石川助教)

●研究事例(2):サービス合成における契約間の整合性検証ツール

「PerQAS」プロジェクトでは 4つのテーマに取り組んでいます
(石川助教)

Webサービスが契約・ポリシーに基づき保証している品質には、応答時間や安全性、可用性などがある。しかし、Webサービス同士を組み合わせて1つのサービスとして提供する場合、各サービスが保証する品質同士が相反するケースが出てくるという。

例えば、携帯電話向けに動画配信を提供するサービス事業者が、動画配信のサービスと形式変換(携帯コンテンツへの変換)のサービス、ストレージのサービスを組み合わせて1つのサービスを提供している場合、ストレージのサービスに容量制限があれば、動画配信サービス全体の契約にも、容量制限に起因する制約を正しく反映する必要が出てくるわけだ。容量制限というのは”ある一定の容量を超えると、利用が一時的に停止される”といった状況の変化を表すものだ。そのため、各サービスの契約・ポリシーの内容から起こりうる状況をくまなく調べ上げ、サービス合成全体として整合性が取れているかどうかを検証する必要があるというわけだ。

そこで、本サブプロジェクトでは、こうした契約・ポリシー間で不整合が起こる可能性の探索と検出を行う「整合性検証ツール」の研究開発を行っている。具体的には、契約・ポリシーの組み合わせを検証したり、整合性が取れるように契約・ポリシーを選ぶという作業を支援する研究を行っている。

「複数サービスの契約・ポリシーの整合性保証の問題研究に関しては、2007年より国からの補助金を受けています」(石川助教)

●研究事例(3):物理的環境および相互作用に関する形式仕様記述・検証フレームワーク

現在、企業のSOAなど、多くのサービス指向アーキテクチャでは、手元のPCを通してサービスをユーザーに提供するのが基本だ。しかし石川助教は、「ユビキタスネットワーク社会では、PCとは限りません。例えば、”手元のプレゼンテーション用資料をプロジェクターに投影したい”といった場合、どのプロジェクターに投影するのか、どういった向きで投影すればよいのかなど実空間を認識し、その環境に適したサービスを提供しなければなりません。ゆえに、仮想空間とは異なる新たな技術の研究開発が必要になります」と述べる。

つまり、ユビキタスネットワーク社会では、サービスを提供するデバイスの位置や向きなど物理的な環境をセンシングし、その環境に応じて最適なサービスを提供することが求められる。そこで本サブプロジェクトでは物理的環境と相互作用をモデル化する研究が行われている。

「”聞こえる範囲やその重なり”といった物理的制約や”ユーザーにコンテンツを表示”といった、物理的相互作用をモデル化する抽象的なパターンを提供することを目標としています。目的は、ソフトウェア開発の早い段階においても、物理的環境の制約も含めた形式仕様記述を明示化し、正当性や妥当性の検証が行えるようにするためです」(石川助教)

●研究事例(4):条件付き契約と利用パターンに基づいた確率的サービス提供者選択手法

これは研究事例(1)のサブプロジェクトを補完するものだ。研究事例(1)では、サービスの選択基準の設定を容易に行うことを目指しているが、この研究事例では、より柔軟なサービスの選択基準について取り組んでいる。

通常のサービス選択手法では、例えば「3日以内に返答する」といった条件を設定した場合、条件に合致した全てのサービスが選ばれる。しかしながら、条件に合致したものの中には、平均的に1日以内に返答が来るサービスもあれば、期限ギリギリに返答してくるサービスもあるかもしれない。そこで、”最大値”といった境界を示す品質指標に限らず、実際の品質履歴を見て、”確率的”により最適なサービスを選択し提供しようというのが本サブプロジェクトのテーマだ。

豊かなユビキタスネットワーク社会の構築を目指す

「PerQAS」プロジェクトでは、これら4つのサブプロジェクトを通して、サービス指向アーキテクチャの目指す柔軟性、適応性を実現させ、豊かなユビキタスネットワーク社会を築き上げることを目的としている。直近での研究開発のゴールは、以下の2点だ。

  • 状況の変化に対応する複雑なシステム動作を、効率良く、信頼できる形で構築し、要求の変化に応じて適宜変更できるような設計・実装フレームワーク、検証手法・ツールを研究開発すること
  • 状況を監視し、状況の変化に応じてサービスの選択や設定を変化させていくことができるようなサービス提供者・契約選択手法、および実行時のポリシー管理・遵守機構を研究開発すること
石川冬樹 助教より
現在、大手ITベンダーを中心に、サービス指向アーキテクチャに関する研究開発が進められ、実システムへの適用も進んでいます。本プロジェクトは現在のサービス指向アーキテクチャの実現レベルの次を狙った先進的な取り組みであり、今すぐに事業化に直結する研究ではないかもしれません。しかしながら、ユビキタスネットワーク社会の実現に向けて避けて通ることのできないテーマですので、一緒に研究開発に取り組んでいただける企業や研究者を広く募集しています。

プロジェクトページ

コメントは停止中です。