説明

サービス・プロバイダを動的に選択する方法、コンピュータ・システム、コンピュータおよびプログラム

【課題】複数のサービス・プロバイダを使用可能なサービス・コンシューマが、アプリケーションの実行時に呼び出すそれぞれのメソッドについて、要求するサービス・レベルを満たすサービス・プロバイダを動的に選択できるようにする。
【解決手段】各クラウド・サービス・プロバイダ(CSP)30の資源情報の評価を評価テーブルとしてクラウド・サービス・ディレクトリ(CSD)40が提供し、自己が要求するサービス・レベルおよび各メソッドについて関連する資源情報の項目を、それぞれ要求テーブル53および関連テーブル62として各クラウド・サービス・コンシューマ(CSC)20が定義する。そして、これらのテーブルのフォーマットやサービス・レベルの定義を、コンピュータ・システム全体で共通のものにする。これにより、各CSC20は、分配テーブル64を用いて各メソッドについて適切なCSP30を選択して使用することが可能になる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、サービス・プロバイダを動的に選択する方法、コンピュータ・システム、コンピュータおよびプログラムに関する。
【背景技術】
【0002】
相互運用可能な複数の互換性のないクラウドサービスを透過的に提供する連邦型クラウドサービス環境が知られている(例えば、特許文献1参照)。また、プライマリクラウドで提供したサービスレベルの実績値又は更新されたプリファレンス情報に応じて、サービスレベルアグリーメントを動的に決定することにより、セカンダリクラウドも含めてサービスを選択して提供するプライマリクラウドサーバ、サービスを提供する方法及びコンピュータ・プログラムが知られている(例えば、特許文献2参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2011−129117号公報
【特許文献2】特開2011−118451号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
様々なサービス・プロバイダが、インターネットなどのネットワークを介して、ソフトウェアやデータなどをサービスの形で提供している。サービス・コンシューマは、サービス・プロバイダが提供するインフラストラクチャを使って、自己が提供するサービス用のアプリケーションを構築する。
【0005】
1つのサービス・プロバイダのみに依存してアプリケーションを構築することはサービス・コンシューマにとってリスクが大きいため、複数のサービス・プロバイダを使用してリスクを分散する形態が注目を浴びている。そうした形態では、アプリケーションを構築して稼働した後でも、サービス・コンシューマは随時最適なサービス・プロバイダを選択して使用していくことが望ましい。
【0006】
本発明の目的は、複数のサービス・プロバイダを使用可能なサービス・コンシューマが、アプリケーションの実行時に呼び出すそれぞれのメソッドについて、要求するサービス・レベルを満たすサービス・プロバイダを動的に選択できるようにすることにある。
【課題を解決するための手段】
【0007】
かかる目的のもと、本発明の第1の態様は、サービス・プロバイダを使用してエンド・ユーザにサービスを提供するサービス・コンシューマからサービス・プロバイダにメソッドを送信する方法であって、サービス・プロバイダが提供するサービスおよび/またはサービス・プロバイダの品質または状態を表す情報であってサービス・コンシューマがサービス・プロバイダを選択する際の基準となる資源情報を複数のサービス・プロバイダについて共通の形式で表した評価テーブルを取得するステップと、取得された評価テーブルを参照することにより、サービス・コンシューマが呼び出すメソッドごとに、メソッドに関してサービス・コンシューマが要求するサービス・レベルを満たすサービス・プロバイダを複数のサービス・プロバイダの中から抽出するステップと、サービス・コンシューマがメソッドを呼び出すときに、メソッドをメソッドについて抽出されたサービス・プロバイダに対する命令に変換して、命令をサービス・プロバイダに送信するステップとを含む、方法を提供する。
本発明の第2の態様は、複数のサービス・プロバイダのいずれかの資源情報に変更があるたびに評価テーブルを更新するステップをさらに含み、取得するステップでは、更新された評価テーブルを取得する、第1の態様の方法を提供する。
本発明の第3の態様は、抽出するステップでは、複数のサービス・プロバイダのうちの一のサービス・プロバイダに障害が発生した場合に、一のサービス・プロバイダが利用不能であることを示す資源情報が反映された評価テーブルを参照することにより、サービス・コンシューマが呼び出すメソッドごとに、一のサービス・プロバイダを除いて複数のサービス・プロバイダの中からサービス・レベルを満たすサービス・プロバイダを抽出する、第2の態様の方法を提供する。
本発明の第4の態様は、抽出するステップでは、取得された評価テーブルを参照することにより、サービス・コンシューマが呼び出すメソッドごとに、メソッドに関連するものとして予め定義されている資源情報の項目である関連項目に関してサービス・コンシューマが要求するサービス・レベルを満たすサービス・プロバイダを、複数のサービス・プロバイダの中から抽出する、第1の態様ないし第3の態様のいずれかの方法を提供する。
本発明の第5の態様は、抽出するステップでは、取得された評価テーブルを参照することにより、サービス・コンシューマが呼び出すメソッドごとに、サービス・プロバイダが提供するサービスの品質に影響を与え得るサービス・プロバイダの状態を表す情報の項目を含むメソッドの関連項目に関してサービス・コンシューマが要求するサービス・レベルを満たすサービス・プロバイダを、複数のサービス・プロバイダの中から抽出する、第4の態様の方法を提供する。
本発明の第6の態様は、サービス・プロバイダを使用してエンド・ユーザにサービスを提供するサービス・コンシューマからサービス・プロバイダにメソッドを送信する方法であって、サービス・プロバイダが提供するサービスおよび/またはサービス・プロバイダの品質または状態を表す情報であってサービス・コンシューマがサービス・プロバイダを選択する際の基準となる資源情報を、予め定めた期間ごとに複数のサービス・プロバイダのそれぞれから取得するステップと、資源情報を複数のサービス・プロバイダについて共通の形式で表した評価テーブルを、取得された最新の資源情報に基づいて作成または更新するステップと、評価テーブルが更新されるたびに、更新された評価テーブルを取得するステップと、更新された評価テーブルを取得したことに応じて、評価テーブルを参照することにより、サービス・コンシューマが呼び出すメソッドごとに、メソッドに関連するものとして予め定義されている資源情報の項目であってサービス・プロバイダが提供するサービスの品質に影響を与え得るサービス・プロバイダの状態を表す情報の項目を含むメソッドの関連項目に関してサービス・コンシューマが要求するサービス・レベルを満たすサービス・プロバイダを、複数のサービス・プロバイダの中から抽出するステップと、サービス・コンシューマがメソッドを呼び出すときに、メソッドをメソッドについて抽出されたサービス・プロバイダに対する命令に変換して、命令をサービス・プロバイダに送信するステップとを含み、抽出するステップでは、複数のサービス・プロバイダのうちの一のサービス・プロバイダに障害が発生した場合に、一のサービス・プロバイダが利用不能であることを示す資源情報が反映された評価テーブルを参照することにより、サービス・コンシューマが呼び出すメソッドごとに、一のサービス・プロバイダを除いて複数のサービス・プロバイダの中からサービス・レベルを満たすサービス・プロバイダを抽出する、方法を提供する。
本発明の第7の態様は、サービス・プロバイダを使用してエンド・ユーザにサービスを提供するサービス・コンシューマと、サービス・プロバイダが提供するサービスおよび/またはサービス・プロバイダの品質または状態を表す情報であってサービス・コンシューマがサービス・プロバイダを選択する際の基準となる資源情報を複数のサービス・プロバイダについて共通の形式で表した評価テーブルを提供するサービス・ディレクトリとを備え、サービス・コンシューマが、サービス・ディレクトリから評価テーブルを取得するテーブル取得部と、テーブル取得部が取得した評価テーブルを参照することにより、自装置が呼び出すメソッドごとに、メソッドに関して自装置が要求するサービス・レベルを満たすサービス・プロバイダを複数のサービス・プロバイダの中から抽出する処理を行う抽出部と、自装置がメソッドを呼び出すときに、メソッドをメソッドについて抽出されたサービス・プロバイダに対する命令に変換して、命令をサービス・プロバイダに送信する変換部とを備える、コンピュータ・システムを提供する。
本発明の第8の態様は、予め定めた期間ごとに複数のサービス・プロバイダのそれぞれから資源情報を取得する資源情報取得部と、資源情報取得部が取得した最新の資源情報に基づいて評価テーブルを作成または更新する作成部と、作成部が作成または更新した評価テーブルをサービス・コンシューマに通知する通知部とをサービス・ディレクトリが備える、第7の態様のコンピュータ・システムを提供する。
本発明の第9の態様は、テーブル取得部が新たな評価テーブルを取得したことに応じて抽出部が抽出する処理を行う、第8の態様のコンピュータ・システムである。
本発明の第10の態様は、サービス・プロバイダを使用してエンド・ユーザにサービスを提供するコンピュータであって、サービス・プロバイダが提供するサービスおよび/またはサービス・プロバイダの品質または状態を表す情報であって自装置がサービス・プロバイダを選択する際の基準となる資源情報を複数のサービス・プロバイダについて共通の形式で表した評価テーブルを取得するテーブル取得部と、テーブル取得部が取得した評価テーブルを参照することにより、自装置が呼び出すメソッドごとに、メソッドに関して自装置が要求するサービス・レベルを満たすサービス・プロバイダを複数のサービス・プロバイダの中から抽出する処理を行う抽出部と、自装置がメソッドを呼び出すときに、メソッドをメソッドについて抽出されたサービス・プロバイダに対する命令に変換して、命令をサービス・プロバイダに送信する変換部とを備える、コンピュータを提供する。
本発明の第11の態様は、予め定めた期間ごとに複数のサービス・プロバイダのそれぞれから取得された最新の資源情報に基づいて作成または更新された評価テーブルをテーブル取得部が取得し、テーブル取得部が新たな評価テーブルを取得したことに応じて抽出部が抽出する処理を行う、第10の態様のコンピュータを提供する。
本発明の第12の態様は、サービス・プロバイダを使用してエンド・ユーザにサービスを提供するサービス・コンシューマに複数のサービス・プロバイダについての評価テーブルを提供するコンピュータであって、サービス・プロバイダが提供するサービスおよび/またはサービス・プロバイダの品質または状態を表す情報であってサービス・コンシューマがサービス・プロバイダを選択する際の基準となる資源情報を、予め定めた期間ごとに複数のサービス・プロバイダのそれぞれから取得する資源情報取得部と、資源情報を複数のサービス・プロバイダについて共通の形式で表した評価テーブルを、資源情報取得部が取得した最新の資源情報に基づいて作成または更新する作成部と、作成部が作成または更新した評価テーブルをサービス・コンシューマに通知する通知部とを備える、コンピュータを提供する。
本発明の第13の態様は、サービス・プロバイダを使用してエンド・ユーザにサービスを提供するコンピュータがサービス・プロバイダにメソッドを送信するように機能させるプログラムであって、コンピュータを、サービス・プロバイダが提供するサービスおよび/またはサービス・プロバイダの品質または状態を表す情報であってコンピュータがサービス・プロバイダを選択する際の基準となる資源情報を複数のサービス・プロバイダについて共通の形式で表した評価テーブルを取得するテーブル取得部と、テーブル取得部が取得した評価テーブルを参照することにより、コンピュータが呼び出すメソッドごとに、メソッドに関してコンピュータが要求するサービス・レベルを満たすサービス・プロバイダを複数のサービス・プロバイダの中から抽出する抽出部と、コンピュータがメソッドを呼び出すときに、メソッドをメソッドについて抽出されたサービス・プロバイダに対する命令に変換して、命令をサービス・プロバイダに送信する変換部として機能させる、プログラムを提供する。
【発明の効果】
【0008】
本発明によれば、複数のサービス・プロバイダを使用可能なサービス・コンシューマが、アプリケーションの実行時に呼び出すそれぞれのメソッドについて、要求するサービス・レベルを満たすサービス・プロバイダを動的に選択できるようになる。
【図面の簡単な説明】
【0009】
【図1】本発明の実施の形態におけるコンピュータ・システムの構成例を示した図である。
【図2】本発明の実施の形態におけるクラウド・サービス・コンシューマ(CSC)の機能構成例を示したブロック図である。
【図3】本発明の実施の形態におけるクラウド・サービス・ディレクトリ(CSD)の機能構成例を示したブロック図である。
【図4】本発明の実施の形態におけるCSCが使用する各テーブルの例を示した図である。
【図5】本発明の実施の形態におけるCSCが使用するテーブルの例を示した図である。
【図6】本発明の実施の形態におけるCSCがクラウド・サービス・プロバイダ(CSP)を選択する際に使用するテーブルを作成する動作の例を示したフローチャートである。
【図7】本発明の実施の形態におけるCSCがCSPにメソッドを送信する際の動作例を示したフローチャートである。
【図8】本発明の実施の形態を適用可能なコンピュータのハードウェア構成を示した図である。
【発明を実施するための形態】
【0010】
以下、添付図面を参照して、本発明の実施の形態について詳細に説明する。
【0011】
図1は、本発明の実施の形態におけるコンピュータ・システムの構成例を示した図である。図示するように、このコンピュータ・システムは、エンド・ユーザ(クライアント)10と、クラウド・サービス・コンシューマ(以下、CSCという)20と、クラウド・サービス・プロバイダ(以下、CSPという)30と、クラウド・サービス・ディレクトリ(以下、CSDという)40とを含む。各エンド・ユーザ10、各CSC20、各CSP30およびCSD40は、インターネットなどのネットワークを介して接続されている。CSC20は1つでも複数でもよいが、CSP30は複数(一般には多数)ある場合を考える。図1では2つのCSC20と4つのCSP30を示しているが、この数は一例である。以下では、これらのCSC20とCSP30をそれぞれ区別して、CSC1,CSC2,CSP1,CSP2,CSP3,CSP4と書くこともある。
【0012】
エンド・ユーザ10(クライアント)は、例えばPCなどの端末である。エンド・ユーザ10は、各CSC20のアプリケーションにアクセスして、そのCSC20が提供するサービスを利用する。
【0013】
CSC20は、各CSP30が提供するインフラストラクチャを使って構築したアプリケーションにより、自己のサービスをエンド・ユーザ10に提供するサーバ装置である。CSC20の例としては、金融機関や、市役所、小売業者などがある。
【0014】
CSP30は、ネットワークを介してソフトウェアやデータなどをサービスの形で各CSC20に提供するサーバ装置である。CSP30の例としては、Amazon.Com,Inc.や、Google Inc.、Microsoft Corporationなどがある。本実施の形態では、複数のCSP30により実現される図1のコンピュータ・システムのような形態のことを、マルチ・クラウドと呼ぶ。
【0015】
CSD40は、各CSP30の資源情報をまとめてネットワーク上で公開するサーバ装置である。この資源情報は、CSP30が提供するサービスおよび/またはCSP30の品質または状態を表す情報であって、CSC20がCSP30を選択する際の基準となる情報である。資源情報には、例えば、各CSP30が提供するサービスの情報(サービスの種類や、パフォーマンス、セキュリティの程度など)、各CSP30の稼働状況の情報(稼働/停止や、故障の有無、電力効率など)、各CSP30の経営状態(サービスの継続性)の情報などがある。CSD40は、言わば第三者の立場から各CSP30を評価する役割を果たす。
【0016】
ところで、CSC20が複数のCSP30を共通のAPI(Application Program Interface)で利用できるようにした、メタ・クラウドAPIというライブラリがいくつか発表されている。これにより、CSC20の開発者は、どのCSP30でも動作するアプリケーションを、標準化されたAPIで記述できるようになる。しかし、メタ・クラウドAPIでは、CSP30に対してメソッドを使用する際にどのCSP30を対象とするかをパラメータとして与える必要がある。
【0017】
現状では、マルチ・クラウドに対応したCSC20のアプリケーションを開発し、その稼動後にもCSC20が常に最適なCSP30を使用するようにするには、以下のようなステップが考えられる。まず、CSD40が提供する各CSP30の資源情報を参考にしつつ、メソッドごとにどのCSP30が最適かを開発者が考慮し、CSP30指定のパラメータを与えてメタ・クラウドAPIを使用することにより、アプリケーションを開発する。そして、アプリケーションの稼動後に開発者がCSD40の情報を参照してより最適なCSP30を見つけた場合には、メタ・クラウドAPIに渡すCSP30指定のパラメータを変更するためにアプリケーションを書き換え、そのアプリケーションに置き換えることで、新たな組み合わせでCSP30を使用する。
【0018】
このように、現状ではメソッドとCSP30の対応がアプリケーション開発時に静的に決定されてしまうので、CSP30を動的に選択するためには以下のような課題がある。まず、アプリケーション稼動後は、定期的にCSC20の担当者がCSD40をチェックし、現在使用しているCSP30と逐一比較し、メソッドとCSP30の組み合わせが現時点で最適かどうかを判断しなければならない。また、使用するCSP30を変更する必要がある場合は、その度にコードを書き換え、稼動中のアプリケーションを止めて置き換えるため、大きな工数とリスクが発生する。
【0019】
このため、最適なCSP30を担当者が判断するのではなく、CSC20が随時最適なCSP30を選択して使用してくことが望ましい。このような目的で従来一般に行われている動的最適化の技術には、ワークロード・バランシングなどがある。これは、タスクのディスパッチャ(またはそれに準じるもの)が適宜各リソースのパフォーマンスなどをチェックし、タスクの割り当てなどを動的に行うものである。しかし、こうした技術をCSP30の選択に適用するには、以下のような課題がある。
【0020】
まず、ディスパッチャによりCSP30のパフォーマンスをチェックするには、そのCSP30と契約して評価用のアカウントをとらなければならない。このため、パフォーマンスなどを動的にチェックするには、現在使用していないCSP30も含め、対象となる可能性のあるすべてのCSP30についてそのユーザ・アカウントを取得しなければならず、取得コストや管理コストが余分に発生する。また、CSP30の評価にはCSP30の経営状態なども影響し得るが、ディスパッチャなどの従来の手段ではこうしたパラメータを取得することができない。
【0021】
そこで本実施の形態では、提供されるサービスの品質についての情報だけでなく、サービスの品質に影響を与え得る経営状態などの情報も含めたCSP30の評価を、複数のCSP30について共通の形式でCSD40がネットワーク上に提供する。そして、CSC20の使用するAPIレベルで各CSC20が動的に適切なCSP30を判断し、そのCSP30を使用することができるフレームワークを提供する。すなわち、本実施の形態では、マルチ・クラウド環境におけるCSC20のアプリケーションが、各CSP30を意識することなく、各メソッドについて現時点で適切なCSP30を自らリアルタイムに選択して、そのCSP30にリクエストを発行することができるライブラリを提供する。
【0022】
図2は、本発明の実施の形態におけるCSC20の機能構成例を示したブロック図である。図示するように、CSC20は、アプリケーション50と、CSP選択ライブラリ60を含む。CSP選択ライブラリ60は、エンド・ユーザ10からのリクエストに対して適切なCSP30を動的に判断して割り振るための、メタ・クラウドAPIのライブラリである。
【0023】
アプリケーション50は、CSC20が自己のサービスをエンド・ユーザ10に提供するために実行される。アプリケーション50は、例えばJSP(JavaServer Pages)51とサーブレット52により実現され、要求テーブル53を含む。
【0024】
要求テーブル53は、CSC20が要求するサービス・レベルを、CSP選択ライブラリ60用にXML等の形式で記載したテーブルである。各CSC20は、自己のアプリケーション50にはどの程度のパフォーマンスやセキュリティ・レベルなどが必要かということを資源情報の項目ごとに予め定義し、その情報を要求テーブル53として保持しておく。要求テーブル53は、アプリケーション50の起動時などに、CSP選択ライブラリ60の要求テーブルロード用メソッドによりロードされる。
【0025】
CSP選択ライブラリ60は、CSC20が要求するサービス・レベルの情報と、CSD40が提供する資源情報を動的に取得・解析し、各メソッド(リクエスト)に対して適切なCSP30の情報をライブラリ内部で作成し、メソッドの実行をその適切なCSP30に対して行う。CSP選択ライブラリ60は、評価テーブル取得部61と、関連テーブル62と、照合部63と、分配テーブル64と、CSP選択部65とを含む。
【0026】
評価テーブル取得部61は、各CSP30のサービス・レベル項目の評価をCSP選択ライブラリ60用にXML等の形で表したテーブルである評価テーブル42(後述する図3を参照)を、ネットワークを介してCSD40から取得する。本実施の形態では、評価テーブルを取得するテーブル取得部の一例として評価テーブル取得部61を設けている。
【0027】
関連テーブル62は、アプリケーション50の実行時に呼び出されるそれぞれのメソッドについて、関連するサービス・レベルの項目をXML等の形式で記載したテーブルである。すなわち、関連テーブル62は、要求テーブル53に載っている資源情報の項目のうち、あるメソッドを呼び出す際にCSC20が要求するサービス・レベルが確保されるべき項目を、それぞれのメソッドについて予め定義したものである。
【0028】
照合部63は、要求テーブル53と、関連テーブル62と、評価テーブル取得部61が取得した評価テーブル42とを照合して、後述する分配テーブル64を作成する。その際、照合部63は、それぞれのテーブルを照合することにより、あるメソッドに関連するものとして関連テーブル62で定義されている資源情報の項目のすべてに関して要求テーブル53で要求されているサービス・レベルを満たすCSP30を、それぞれのメソッドについて抽出する。本実施の形態では、サービス・プロバイダを抽出する抽出部の一例として、照合部63を設けている。
【0029】
分配テーブル64は、各メソッドについて適切なCSP30をXML等の形式で記載したテーブルである。ここでの「適切」とは、あるメソッドに関連するものとして関連テーブル62で定義されている資源情報の項目のすべてが、要求テーブル53にて要求されているサービス・レベルを満たしている状態のことをいう。分配テーブル64は、アプリケーション50の起動時などの特定のタイミングでCSC20がCSP選択ライブラリ60の分配テーブル作成メソッドを呼び出すことにより、CSP選択ライブラリ60が内部的に作成する。
【0030】
CSP選択部65は、アプリケーション50の実行によりあるメソッドが呼び出されるときに、分配テーブル64を参照することにより、そのメソッドについて適切なCSP30を選択する。そしてCSP選択部65は、CSP選択ライブラリ60のAPIを使い、そのメソッドをその適切なCSP30に対する命令に変換してそのCSP30に送る。本実施の形態では、抽出されたサービス・プロバイダに対する命令にメソッドを変換して送信する変換部の一例として、CSP選択部65を設けている。
【0031】
図3は、本発明の実施の形態におけるCSD40の機能構成例を示したブロック図である。図示するように、CSD40は、CSP情報取得部41と、評価テーブル42と、評価テーブル通知部43とを含む。
【0032】
CSP情報取得部41は、各CSP30(図1の例では、CSP1〜CSP4)から、ネットワークを介して、上述したような資源情報を取得する。この取得のためには、予め定めた期間ごとに各CSP30がCSD40に資源情報を送信してもよいし、または、いずれかのCSP30の資源情報に変更があるたびに、そのCSP30がCSD40に資源情報を送信してもよい。本実施の形態では、資源情報を取得する資源情報取得部および評価テーブルを作成または更新する作成部の一例として、CSP情報取得部41を設けている。
【0033】
評価テーブル42は、各CSP30の各資源情報の項目に関する評価をCSP選択ライブラリ60用にXML等の形で表したテーブルである。CSP情報取得部41が資源情報の更新内容を取得することにより、評価テーブル42には各CSP30の最新の評価が記載されるようにする。
【0034】
評価テーブル通知部43は、ネットワークを介して評価テーブル42を各CSC20に通知する。評価テーブル通知部43は、例えば各CSC20内の評価テーブル取得部61からの要求に基づいて受動的に評価テーブル42を送信してもよい(Pull型)。または、評価テーブル通知部43は、予め定めた期間ごとや評価テーブル42が更新されるたびに、CSD40から各CSC20に能動的に評価テーブル42を送信してもよい(Push型)。本実施の形態では、評価テーブルをサービス・コンシューマに通知する通知部の一例として、評価テーブル通知部43を設けている。
【0035】
次に、要求テーブル53、関連テーブル62、評価テーブル42および分配テーブル64の具体例について説明する。図4および図5は、本発明の実施の形態におけるCSC20が使用する各テーブルの例を示した図である。このうち、図4は要求テーブル53、関連テーブル62、評価テーブル42の例を、図5は分配テーブル64の例を示している。要求テーブル53、関連テーブル62、評価テーブル42および分配テーブル64は、実際にはXML等の書式で記述されるが、ここでは便宜上、それらの内容を表で示している。
【0036】
図4Aは、要求テーブル53の例である。例えば、図1のCSC1は、自己が使用するサービスの、「ネットワーク・パフォーマンス」、「仮想システムのパフォーマンス」、「稼働率」、「セキュリティ」および「CSP経営状態」を重要視するものとする。そこでCSC1は、これらの項目について要求するサービス・レベルを、例えば10段階の数値で図4Aのように定義している。また、図1のCSC2は、自己が重要視する項目について要求するサービス・レベルを、図4Aと同様に定義している。
【0037】
図4では、レベルは「1」が最も高く、数字が大きくなるにつれて低くなるものとする。なお、10段階の数値は一例であり、例えば、「稼働率」であれば何%以上が「1」、それ未満の何%までが「2」、・・・のように、「セキュリティ」であればどの機能に対応していれば「1」、一部の機能に対応していなければ「2」、・・・などのように、より具体的にレベルを定義することができる。
【0038】
図4Bは、関連テーブル62の例である。例えば、「Method1」については、図4Bに示すように、「ネットワーク・パフォーマンス」と「CSP経営状態」が関連項目として定義されている。一般に、メソッドごとに関連する項目は異なると考えられるが、この例では「CSP経営状態」はすべてのメソッドに関連するものとする。図4BがCSC1の関連テーブル62であるとすると、CSC1は、「Method1」が呼び出されるときには、「ネットワーク・パフォーマンス」と「CSP経営状態」の項目について、図4Aの要求テーブル53で定義したレベルが確保されることを要求することになる。なお、CSC2も図4Bと同様の関連テーブル62をもっている。
【0039】
なお、関連テーブル62には、関連項目とともに各項目の重要度の情報を含めてもよい。そして、照合部63が関連テーブル62を参照して分配テーブル64を作成する際は、例えばこの重要度が高い関連項目について評価が高いCSP30を優先的に選択するなど、項目の重要度によって重み付けを行ってもよい。
【0040】
CSP選択ライブラリ60は、アプリケーション50の実行時に呼び出されるすべてのメソッドについて、図4Bのように、関連する資源情報の項目を関連テーブル62で予め定義しておく。ただし、メソッドによっては適切なCSP30を選択することなくデフォルトのCSP30を使えばよい場合もある。その場合、そのメソッドについては関連テーブル62に載っていなくてもよい。
【0041】
図4Cは、評価テーブル42の例である。ここでは、図4Aに示した「ネットワーク・パフォーマンス」、「仮想システムのパフォーマンス」、「稼働率」、「セキュリティ」および「CSP経営状態」の各項目について、CSP1〜CSP4の評価を示している。図4Cに示すように、評価テーブル42には、各CSP30に関する様々な資源情報の評価が、要求テーブル53のものと同じレベルの定義に従ってまとめられている。
【0042】
以上、図4A〜図4Cに示したように、本実施の形態では、各CSC20およびCSD40がもつ要求テーブル53、関連テーブル62および評価テーブル42のフォーマットや資源情報の項目ごとのサービス・レベルの定義は、オープンな業界標準仕様などとして、コンピュータ・システム全体で共通のものを予め定義しておく。
【0043】
また、図5Aおよび図5Bは、分配テーブル64の例である。例えば図5Aは、「Method1」について適切なCSP30がCSP1〜CSP4のうちのCSP2であることを示している。要求テーブル53、関連テーブル62および評価テーブル42から分配テーブル64を作成する方法については、この後具体的に説明する。
【0044】
以下では、本実施の形態における各CSC20とCSD40の動作について説明する。図6は、本発明の実施の形態におけるCSC20がCSP30を選択する際に使用する分配テーブル64を作成する動作(分配テーブル作成メソッド)の例を示したフローチャートである。
【0045】
まず、CSD40のCSP情報取得部41が、ネットワークを介して各CSP30(CSP1〜CSP4)から資源情報を取得する(ステップ11)。上述したように、CSP情報取得部41は、予め定めた期間ごとか、またはいずれかのCSP30の資源情報に変更があるたびに、その資源情報を取得する。次いで、CSD40は、CSP情報取得部41が取得した資源情報から、評価テーブル42を作成または更新する(ステップ12)。そしてこの評価テーブル42を、例えば予め定めた期間ごとか評価テーブル42が更新されるたびに、評価テーブル通知部43がネットワークを介して各CSC20に通知する(ステップ13)。
【0046】
一方、各CSC20では、CSP選択ライブラリ60の評価テーブル取得部61がCSD40から評価テーブル42を取得する(ステップ21)。次いで、照合部63が、この評価テーブル42と、CSP選択ライブラリ60が予め保持している関連テーブル62と、アプリケーション50がもつ要求テーブル53とを取得する(ステップ22)。そして照合部63は、関連テーブル62に載っている1つのメソッドについて、要求テーブル53と評価テーブル42を照合する(ステップ23)。照合部63は、そのメソッドに関連するものとして関連テーブル62で定義されている資源情報の項目のすべてに関して要求テーブル53で要求されているサービス・レベルを満たすCSP30を、そのメソッドについて使用すべきCSP30であるとして、分配テーブル64に記載する(ステップ24)。他にもメソッドがあればステップ23に戻り、もうすべてのメソッドについて分配テーブル64に記載していれば動作を終了する(ステップ25)。
【0047】
照合部63が行うステップ23とステップ24について、図4A〜図4Cに示した例を用いて詳しく説明する。まず「Method1」については、関連テーブル62で関連項目として定義されている項目が「ネットワーク・パフォーマンス」と「CSP経営状態」であるから、これらについて要求テーブル53で定義されている、「ネットワーク・パフォーマンス」が最高の「1」かつ「CSP経営状態」が「5」以上という要求レベルを満たすCSP30を、評価テーブル42の中から探す。この要求レベルを満たすものは、CSP1〜CSP4のうちでCSP2だけであるから、「Method1」について使用するCSPは「CSP2」と記載する。
【0048】
また、「Method2」については、関連テーブル62によると関連項目が「セキュリティ」および「CSP経営状態」であるから、要求テーブル53で定義されている、「セキュリティ」が「3」以上かつ「CSP経営状態」が「5」以上という要求レベルを満たすCSP30を、評価テーブル42の中から探す。この要求レベルを満たすものはCSP1とCSP3の2つがあるが、この例ではCSP3を選ぶものとして、「Method2」について使用するCSPは「CSP3」と記載する。これは、「CSP経営状態」よりも「セキュリティ」の方が高いレベルが要求されていることから、「セキュリティ」についてCSP1とCSP3の評価を比べると、CSP1の「3」よりもCSP3の「2」の方が高いためである。このように、条件を満たすCSP30が複数存在するときは、そのメソッドについての関連項目の中で要求されるサービス・レベルが高い項目に着目し、その項目の評価が高いものを優先して選ぶようにしてもよい。
【0049】
また、「Method3」については、関連テーブル62によると関連項目が「仮想システムのパフォーマンス」、「稼働率」および「CSP経営状態」であるから、要求テーブル53で定義されている、「仮想システムのパフォーマンス」が「3」以上、「稼働率」が「2」以上かつ「CSP経営状態」が「5」以上という要求レベルを満たすCSP30を、評価テーブル42の中から探す。この要求レベルを満たすものは、CSP1だけであるから、「Method3」について使用するCSPは「CSP1」と記載する。
【0050】
以上のようにして作成される分配テーブル64が、図5Aに示したものである。なお、すべての関連項目について要求レベルを満たすCSP30が存在しないときは、そのメソッドについては例えばデフォルトのCSP30を、使用するCSPとしてもよい。または、要求レベルを満たす関連項目の個数が最も多いCSP30を、使用するCSPとしてもよい。
【0051】
次に、各CSC20が分配テーブル64を用いて適切なCSP30にメソッドを送信する際の動作について説明する。図7は、本発明の実施の形態におけるCSC20がCSP30にメソッドを送信する際の動作例を示したフローチャートである。
【0052】
まず、CSC20は、アプリケーション50を起動する(ステップ31)。アプリケーション50は、起動時にCSP選択ライブラリ60をロードする(ステップ32)。アプリケーション50内では、例えばサーブレット52が起動するときにCSP選択ライブラリ60のライブラリをロードする。そしてCSP選択ライブラリ60は、この起動時や、予め定めた期間ごと、または評価テーブル取得部61がCSD40から評価テーブル42を取得したときなどの適当なタイミングで図6の分配テーブル作成メソッドを実行し、分配テーブル64を作成している。
【0053】
ここで、CSC20のアプリケーション50は、エンド・ユーザ10からのリクエスト(トランザクション)を受け付ける(ステップ33)。一般に、リクエストは複数のメソッドに分解されて1つずつ呼び出されるが、本実施の形態では、このときどのCSP30を使用してメソッドを呼び出すかということをアプリケーション50自体が指定する必要はない。その代わり、そのメソッドが実行されるのに適切なCSP30を、CSP選択ライブラリ60が分配テーブル64を用いて選択する(ステップ34)。そしてCSP選択ライブラリ60のCSP選択部65が、そのメソッドを選択されたCSP30に対する命令に変換して、CSP30にリクエストを行う(ステップ35)。すなわち、アプリケーション50は、CSP選択ライブラリ60のAPIを使って、そのメソッドを選択されたCSP30に送信する。他にも実行すべきメソッドがあればステップ34に戻り、もう実行すべきメソッドがなければ動作を終了する(ステップ36)。
【0054】
本実施の形態では、CSC20がCSD40から評価テーブル42の更新を受け取る手法について、特にCSD40からのPush通知を利用することが可能である。このようなPush通知を利用した構成について、次に説明する。
【0055】
本実施の形態では、例えば、いずれかのCSP30が災害、その他の障害によりダウンした状態となった場合には、そのCSP30の資源情報に変更があった(ダウンが起こった)タイミングで、CSD40のCSP情報取得部41がその変更の情報を取得するようにする。そして、CSD40は評価テーブル42を更新し、評価テーブル通知部43がその更新した評価テーブル42をすべてのCSC20に対してPush通知するようにする。これにより、評価テーブル42が更新された場合に各CSC20が最新の評価テーブル42をタイムリーに受け取るように実装することができる。さらに、Push通知された最新の評価テーブル42を取得したことに応じて各CSC20のCSP選択ライブラリ60が図6の分配テーブル作成メソッドを行えば、各CSC20は各メソッドについて現時点で適切なCSP30が記載された分配テーブル64をもつことができる。これにより、各CSC20は、各メソッドを呼び出すときに現時点で適切なCSP30を動的に選択することが可能となる。
【0056】
図4A〜図4Cに示した例において、例えばCSP3がダウンした場合を考える。上述したように、「Method2」については適切なCSP30の候補として、CSP1とCSP3があった。しかし、この場合、各CSC20のCSP選択ライブラリ60はCSP3がダウンしたという情報を含んだ評価テーブル42を取得して図6の分配テーブル作成メソッドを行うため、「Method2」について使用すべきCSP30としてはCSP1が選ばれることになる。したがって、この場合に作成される分配テーブル64は、図5Bに示したものとなる。このように、各CSC20がCSD40からPush通知で最新の評価テーブル42を取得することにより、災害等があった場合でも、エンド・ユーザ10および各CSC20が受ける影響が最小限になるように、CSP30の選択を行うことが可能になる。
【0057】
以上説明したように、本実施の形態では、各CSP30の資源情報の評価を評価テーブル42としてCSD40が提供し、自己が要求するサービス・レベルおよび各メソッドについて関連する資源情報の項目を、それぞれ要求テーブル53および関連テーブル62として各CSC20が定義する。そして、これらのテーブルのフォーマットや資源情報の項目ごとのサービス・レベルの定義を、コンピュータ・システム全体で共通のものにする。これにより、各CSC20は、分配テーブル64を用いて各メソッドについて適切なCSP30を選択して使用することが可能になる。
【0058】
さらに本実施の形態では、各CSP30の資源情報に変更があるたびにCSD40が評価テーブル42を更新して各CSC20にPush通知し、各CSC20は最新の評価テーブル42を取得したことに応じて分配テーブル64を更新する。これにより、各CSC20は各メソッドについて現時点で適切なCSP30を選択して使用することが可能になる。
【0059】
最後に、本実施の形態を適用するのに好適なコンピュータのハードウェア構成について説明する。図8は、CSC20やCSD40を実現するコンピュータのハードウェア構成の一例を示した図である。図示するように、コンピュータは、演算手段であるCPU(Central Processing Unit)90aと、M/B(マザーボード)チップセット90bを介してCPU90aに接続されたメインメモリ90cと、同じくM/Bチップセット90bを介してCPU90aに接続された表示機構90dとを備える。また、M/Bチップセット90bには、ブリッジ回路90eを介して、ネットワークインターフェイス90fと、磁気ディスク装置(HDD)90gと、音声機構90hと、キーボード/マウス90iと、フレキシブルディスクドライブ90jとが接続されている。
【0060】
なお、図8において、各構成要素は、バスを介して接続される。例えば、CPU90aとM/Bチップセット90bの間や、M/Bチップセット90bとメインメモリ90cの間は、CPUバスを介して接続される。また、M/Bチップセット90bと表示機構90dとの間は、AGP(Accelerated Graphics Port)を介して接続してもよいが、表示機構90dがPCI Express対応のビデオカードを含む場合、M/Bチップセット90bとこのビデオカードの間は、PCI Express(PCIe)バスを介して接続される。また、ブリッジ回路90eと接続する場合、ネットワークインターフェイス90fについては、例えば、PCI Expressを用いることができる。また、磁気ディスク装置90gについては、例えば、シリアルATA(AT Attachment)、パラレル転送のATA、PCI(Peripheral Components Interconnect)を用いることができる。更に、キーボード/マウス90i、およびフレキシブルディスクドライブ90jについては、USB(Universal Serial Bus)を用いることができる。
【0061】
ここで、本発明のサービス・コンシューマおよびサービス・ディレクトリの機能は、すべてハードウェアで実現してもよいし、すべてソフトウェアで実現してもよい。また、ハードウェアおよびソフトウェアの両方により実現することも可能である。また、本発明は、コンピュータ、データ処理システム、コンピュータ・プログラムとして実現することができる。このコンピュータ・プログラムは、コンピュータにより読み取り可能な媒体に記憶され、提供され得る。ここで、媒体としては、電子的、磁気的、光学的、電磁的、赤外線または半導体システム(装置または機器)、あるいは、伝搬媒体が考えられる。また、コンピュータにより読み取り可能な媒体としては、半導体、ソリッドステート記憶装置、磁気テープ、取り外し可能なコンピュータディスケット、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、リジッド磁気ディスク、および光ディスクが例示される。現時点における光ディスクの例には、コンパクトディスク−リードオンリーメモリ(CD−ROM)、コンパクトディスク−リード/ライト(CD−R/W)およびDVDが含まれる。
【0062】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態には限定されない。本発明の精神および範囲から逸脱することなく様々に変更したり代替態様を採用したりすることが可能なことは、当業者に明らかである。
【符号の説明】
【0063】
10…エンド・ユーザ、20…クラウド・サービス・コンシューマ(CSC)、30…クラウド・サービス・プロバイダ(CSP)、40…クラウド・サービス・ディレクトリ(CSD)、41…CSP情報取得部、42…評価テーブル、43…評価テーブル通知部、50…アプリケーション、51…JSP、52…サーブレット、53…要求テーブル、60…CSP選択ライブラリ、61…評価テーブル取得部、62…関連テーブル、63…照合部、64…分配テーブル、65…CSP選択部

【特許請求の範囲】
【請求項1】
サービス・プロバイダを使用してエンド・ユーザにサービスを提供するサービス・コンシューマから当該サービス・プロバイダにメソッドを送信する方法であって、
サービス・プロバイダが提供するサービスおよび/または当該サービス・プロバイダの品質または状態を表す情報であって前記サービス・コンシューマがサービス・プロバイダを選択する際の基準となる資源情報を複数のサービス・プロバイダについて共通の形式で表した評価テーブルを取得するステップと、
取得された前記評価テーブルを参照することにより、前記サービス・コンシューマが呼び出すメソッドごとに、当該メソッドに関して当該サービス・コンシューマが要求するサービス・レベルを満たすサービス・プロバイダを前記複数のサービス・プロバイダの中から抽出するステップと、
前記サービス・コンシューマがメソッドを呼び出すときに、当該メソッドを当該メソッドについて抽出されたサービス・プロバイダに対する命令に変換して、当該命令を当該サービス・プロバイダに送信するステップと
を含む、方法。
【請求項2】
前記複数のサービス・プロバイダのいずれかの前記資源情報に変更があるたびに前記評価テーブルを更新するステップをさらに含み、
前記取得するステップでは、更新された前記評価テーブルを取得する、請求項1の方法。
【請求項3】
前記抽出するステップでは、前記複数のサービス・プロバイダのうちの一のサービス・プロバイダに障害が発生した場合に、当該一のサービス・プロバイダが利用不能であることを示す資源情報が反映された前記評価テーブルを参照することにより、前記サービス・コンシューマが呼び出すメソッドごとに、当該一のサービス・プロバイダを除いて当該複数のサービス・プロバイダの中から前記サービス・レベルを満たすサービス・プロバイダを抽出する、請求項2の方法。
【請求項4】
前記抽出するステップでは、取得された前記評価テーブルを参照することにより、前記サービス・コンシューマが呼び出すメソッドごとに、当該メソッドに関連するものとして予め定義されている前記資源情報の項目である関連項目に関して当該サービス・コンシューマが要求するサービス・レベルを満たすサービス・プロバイダを、前記複数のサービス・プロバイダの中から抽出する、請求項1ないし請求項3のいずれかの方法。
【請求項5】
前記抽出するステップでは、取得された前記評価テーブルを参照することにより、前記サービス・コンシューマが呼び出すメソッドごとに、サービス・プロバイダが提供するサービスの品質に影響を与え得る当該サービス・プロバイダの状態を表す情報の項目を含む当該メソッドの前記関連項目に関して当該サービス・コンシューマが要求するサービス・レベルを満たすサービス・プロバイダを、前記複数のサービス・プロバイダの中から抽出する、請求項4の方法。
【請求項6】
サービス・プロバイダを使用してエンド・ユーザにサービスを提供するサービス・コンシューマから当該サービス・プロバイダにメソッドを送信する方法であって、
サービス・プロバイダが提供するサービスおよび/または当該サービス・プロバイダの品質または状態を表す情報であって前記サービス・コンシューマがサービス・プロバイダを選択する際の基準となる資源情報を、予め定めた期間ごとに複数のサービス・プロバイダのそれぞれから取得するステップと、
前記資源情報を前記複数のサービス・プロバイダについて共通の形式で表した評価テーブルを、取得された最新の前記資源情報に基づいて作成または更新するステップと、
前記評価テーブルが更新されるたびに、更新された当該評価テーブルを取得するステップと、
更新された前記評価テーブルを取得したことに応じて、当該評価テーブルを参照することにより、前記サービス・コンシューマが呼び出すメソッドごとに、当該メソッドに関連するものとして予め定義されている前記資源情報の項目であってサービス・プロバイダが提供するサービスの品質に影響を与え得る当該サービス・プロバイダの状態を表す情報の項目を含む当該メソッドの関連項目に関して当該サービス・コンシューマが要求するサービス・レベルを満たすサービス・プロバイダを、前記複数のサービス・プロバイダの中から抽出するステップと、
前記サービス・コンシューマがメソッドを呼び出すときに、当該メソッドを当該メソッドについて抽出されたサービス・プロバイダに対する命令に変換して、当該命令を当該サービス・プロバイダに送信するステップとを含み、
前記抽出するステップでは、前記複数のサービス・プロバイダのうちの一のサービス・プロバイダに障害が発生した場合に、当該一のサービス・プロバイダが利用不能であることを示す資源情報が反映された前記評価テーブルを参照することにより、前記サービス・コンシューマが呼び出すメソッドごとに、当該一のサービス・プロバイダを除いて当該複数のサービス・プロバイダの中から前記サービス・レベルを満たすサービス・プロバイダを抽出する、方法。
【請求項7】
サービス・プロバイダを使用してエンド・ユーザにサービスを提供するサービス・コンシューマと、
サービス・プロバイダが提供するサービスおよび/または当該サービス・プロバイダの品質または状態を表す情報であって前記サービス・コンシューマがサービス・プロバイダを選択する際の基準となる資源情報を複数のサービス・プロバイダについて共通の形式で表した評価テーブルを提供するサービス・ディレクトリとを備え、
前記サービス・コンシューマが、
前記サービス・ディレクトリから前記評価テーブルを取得するテーブル取得部と、
前記テーブル取得部が取得した前記評価テーブルを参照することにより、自装置が呼び出すメソッドごとに、当該メソッドに関して自装置が要求するサービス・レベルを満たすサービス・プロバイダを前記複数のサービス・プロバイダの中から抽出する処理を行う抽出部と、
自装置がメソッドを呼び出すときに、当該メソッドを当該メソッドについて抽出されたサービス・プロバイダに対する命令に変換して、当該命令を当該サービス・プロバイダに送信する変換部と
を備える、コンピュータ・システム。
【請求項8】
予め定めた期間ごとに前記複数のサービス・プロバイダのそれぞれから前記資源情報を取得する資源情報取得部と、
前記資源情報取得部が取得した最新の前記資源情報に基づいて前記評価テーブルを作成または更新する作成部と、
前記作成部が作成または更新した前記評価テーブルを前記サービス・コンシューマに通知する通知部と
を前記サービス・ディレクトリが備える、請求項7のコンピュータ・システム。
【請求項9】
前記テーブル取得部が新たな前記評価テーブルを取得したことに応じて前記抽出部が前記抽出する処理を行う、請求項8のコンピュータ・システム。
【請求項10】
サービス・プロバイダを使用してエンド・ユーザにサービスを提供するコンピュータであって、
サービス・プロバイダが提供するサービスおよび/または当該サービス・プロバイダの品質または状態を表す情報であって自装置がサービス・プロバイダを選択する際の基準となる資源情報を複数のサービス・プロバイダについて共通の形式で表した評価テーブルを取得するテーブル取得部と、
前記テーブル取得部が取得した前記評価テーブルを参照することにより、自装置が呼び出すメソッドごとに、当該メソッドに関して自装置が要求するサービス・レベルを満たすサービス・プロバイダを前記複数のサービス・プロバイダの中から抽出する処理を行う抽出部と、
自装置がメソッドを呼び出すときに、当該メソッドを当該メソッドについて抽出されたサービス・プロバイダに対する命令に変換して、当該命令を当該サービス・プロバイダに送信する変換部と
を備える、コンピュータ。
【請求項11】
予め定めた期間ごとに前記複数のサービス・プロバイダのそれぞれから取得された最新の前記資源情報に基づいて作成または更新された前記評価テーブルを前記テーブル取得部が取得し、
前記テーブル取得部が新たな前記評価テーブルを取得したことに応じて前記抽出部が前記抽出する処理を行う、請求項10のコンピュータ。
【請求項12】
サービス・プロバイダを使用してエンド・ユーザにサービスを提供するサービス・コンシューマに複数のサービス・プロバイダについての評価テーブルを提供するコンピュータであって、
サービス・プロバイダが提供するサービスおよび/または当該サービス・プロバイダの品質または状態を表す情報であって前記サービス・コンシューマがサービス・プロバイダを選択する際の基準となる資源情報を、予め定めた期間ごとに前記複数のサービス・プロバイダのそれぞれから取得する資源情報取得部と、
前記資源情報を前記複数のサービス・プロバイダについて共通の形式で表した前記評価テーブルを、前記資源情報取得部が取得した最新の前記資源情報に基づいて作成または更新する作成部と、
前記作成部が作成または更新した前記評価テーブルを前記サービス・コンシューマに通知する通知部と
を備える、コンピュータ。
【請求項13】
サービス・プロバイダを使用してエンド・ユーザにサービスを提供するコンピュータが当該サービス・プロバイダにメソッドを送信するように機能させるプログラムであって、
前記コンピュータを、
サービス・プロバイダが提供するサービスおよび/または当該サービス・プロバイダの品質または状態を表す情報であって前記コンピュータがサービス・プロバイダを選択する際の基準となる資源情報を複数のサービス・プロバイダについて共通の形式で表した評価テーブルを取得するテーブル取得部と、
前記テーブル取得部が取得した前記評価テーブルを参照することにより、前記コンピュータが呼び出すメソッドごとに、当該メソッドに関して当該コンピュータが要求するサービス・レベルを満たすサービス・プロバイダを前記複数のサービス・プロバイダの中から抽出する抽出部と、
前記コンピュータがメソッドを呼び出すときに、当該メソッドを当該メソッドについて抽出されたサービス・プロバイダに対する命令に変換して、当該命令を当該サービス・プロバイダに送信する変換部
として機能させる、プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2013−89033(P2013−89033A)
【公開日】平成25年5月13日(2013.5.13)
【国際特許分類】
【出願番号】特願2011−229031(P2011−229031)
【出願日】平成23年10月18日(2011.10.18)
【出願人】(390009531)インターナショナル・ビジネス・マシーンズ・コーポレーション (4,084)
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【復代理人】
【識別番号】100104880
【弁理士】
【氏名又は名称】古部 次郎
【復代理人】
【識別番号】100118201
【弁理士】
【氏名又は名称】千田 武
【復代理人】
【識別番号】100118108
【弁理士】
【氏名又は名称】久保 洋之
【Fターム(参考)】