JP5420477B2 - 情報サービスシステム - Google Patents

情報サービスシステム Download PDF

Info

Publication number
JP5420477B2
JP5420477B2 JP2010119203A JP2010119203A JP5420477B2 JP 5420477 B2 JP5420477 B2 JP 5420477B2 JP 2010119203 A JP2010119203 A JP 2010119203A JP 2010119203 A JP2010119203 A JP 2010119203A JP 5420477 B2 JP5420477 B2 JP 5420477B2
Authority
JP
Japan
Prior art keywords
information
service
manager
resource
resource manager
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.)
Active
Application number
JP2010119203A
Other languages
English (en)
Other versions
JP2011248503A (ja
Inventor
典彦 前田
孝 青木
晃 小野澤
悠介 関原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2010119203A priority Critical patent/JP5420477B2/ja
Publication of JP2011248503A publication Critical patent/JP2011248503A/ja
Application granted granted Critical
Publication of JP5420477B2 publication Critical patent/JP5420477B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、製造後にも動作内容を再構成することが可能(リコンフィギャラブル)なLSI、プロセッサ、デバイスの応用方法に関するものである。本発明が適用される領域は、例えば、利用者端末が有線あるいは無線の通信を介してネットワーク上のサーバあるいはデータセンタと接続し、サーバあるいはデータセンタを利用する情報通信サービスの分野である。
近年、高速な通信ネットワークの普及に伴い、ユーザの手元にあるユーザ端末と、遠隔地に設置されているサーバコンピュータを連携動作させることによって、ユーザ端末から情報を登録したり、検索したり、加工したりできる情報サービスの提供が可能となってきている。
図1は、データセンタを備えた一般的な情報サービスシステムの構成を示すブロック図である。図1を参照すると、ユーザ端末121〜123が通信ネットワーク110に接続されている。また通信ネットワーク110にはネットワークスイッチ111が接続されている。ネットワークスイッチ111には更にサービス用ネットワーク112によってサーバコンピュータ141〜146が接続されている。サーバコンピュータ141〜146は更にオペレーション用ネットワーク113によってオペレーション用端末130と接続されている。
ユーザ端末121〜123は、それぞれ異なるユーザが所有する端末装置であり、通信ネットワーク110、ネットワークスイッチ111、およびサービス用ネットワーク112を介してサーバコンピュータ141〜146とデータ通信を行なうことが可能となっている。
サーバコンピュータ141〜146は、高速で計算を実行する機能や、大容量の情報を記憶する機能を有しており、情報の生成、加工、検索等を行なうことによって、ユーザ端末121〜123に対して情報サービスを提供する。
サーバコンピュータ141〜146は同一機能を有しており、どれか1台に故障等の障害が発生しても、他のサーバコンピュータが稼働し続けることによって、システム全体としてはサービス提供を継続することが可能となっている。
オペレーション用端末130は、サーバコンピュータ141〜146の運用者が操作する端末であり、オペレーション用ネットワーク113を介してサーバコンピュータ141〜146とデータ通信を行なうことが可能となっている。運用者はオペレーション用端末130を操作することにより、サーバコンピュータ141〜146の動作状況を確認したり、そこで動作するソフトウェアプログラムを更新したりできる。
このようなシステムにおいて、ユーザ端末121〜123からの情報サービスへのアクセスが多い場合、特定のサーバコンピュータに処理負荷が集中することを避けるため、ネットワークスイッチ111に負荷分散機能(ロードバランシング機能)を持たせて、処理負荷を複数のサーバコンピュータ141〜146に分散させる方法が取られる場合がある(非特許文献1参照)。
図1に示したようなシステムでは、データの生成、加工、検索などのデータ処理はサーバコンピュータ141〜146上のソフトウェアによって行なわれる。すなわち、データ処理はサーバコンピュータ141〜146内のCPU(Central Processing Unit)により逐次処理あるいは時分割処理によって実行される。
近年、通信ネットワークの高速化や広帯域化により、大容量のマルチメディアデータやリアルタイムデータが通信ネットワークを介して送受信されるようになった。そのため、この種のサーバコンピュータ141〜146で処理すべきデータ量が増加してきている。
この処理すべきデータ量の増加に対する対応方法の一つとして、ハードウェアのアクセラレータをサーバコンピュータに接続し、データ処理の一部をハードウェアで実行するという方法がある。ハードウェアのアクセラレータは、データ処理の汎用性という点ではCPUには劣るが、特定の処理であれば高速かつ低消費電力で実行することができる。このため、CPUによるソフトウェア処理と、アクセラレータによるハードウェア処理を組み合わせることにより、データ処理を効率的に行なうことが可能となる(非特許文献2参照)。
図2は、サーバコンピュータにアクセラレータを接続した構成の情報サービスシステムの構成を示すブロック図である。図2では、ハードウェアのアクセラレータ251〜253が、サーバコンピュータ141〜143にそれぞれ接続されており、各サーバコンピュータのデータ処理を支援する。
ハードウェアのアクセラレータとしては、特定の処理に最適化され、ハードウェア的に機能が固定化されたデバイスや装置を組み込んだものが挙げられる。アクセラレータの例として、ASIC(Application Specific Integrated Circuit)、ASSP(Application Specific Standard Produce)等のLSIがある。
また、それとは別に、機能が固定的でなく、回路構成を変更することによって多様な機能を実現することが可能なハードウェアのデバイスも存在する。そのようなものとして、CPLD(Complex Programmable Logic Device)、FPGA(Field Programmable Gate Array)等のリコンフィギャラブルデバイスがある。リコンフィギャラブルデバイスは、特定の処理に対する純粋な処理能力で比較した場合には専用LSIより劣るが、製品に組み込まれた後でも機能を修正したり、追加したりできるという強みを持っている(非特許文献3参照)。
このため、図2に示したような情報サービスシステムのアクセラレータ251〜253としてリコンフィギャラブルデバイスが利用されることもある。多数のリコンフィギャラブルデバイスを組み合わせて、物理計算や金融計算など、特定の科学計算処理を高速で実施するシステムもある(特許文献1参照)。
図3は、サーバコンピュータにリコンフィギャラブルデバイスを接続した情報サービスシステムの構成例を示すブロック図である。図3を参照すると、サーバコンピュータ341、342がオペレーション用ネットワーク313を介してオペレーション用端末330に接続されている。サーバコンピュータ341とサーバコンピュータ342の間にはアクセラレタータ351〜356が接続されている。
図3において、アクセラレータ351〜356は、隣接した同士で直接データを受け渡すことにより、全体として演算処理のパイプラインを形成する。
サーバコンピュータ341がアクセラレータ351〜356で形成されたパイプラインに入力データを与え、サーバコンピュータ342が演算結果である出力データをパイプラインから回収する。その場合、全てのサーバコンピュータと全てのアクセラレータは唯一つの科学計算課題の演算処理に利用される。システム運用者は、唯一つの科学計算課題のためのオペレーションを、サーバコンピュータ341、アクセラレータ351〜356、およびサーバコンピュータ342で構成された情報サービスシステムにて実行させることになる。
具体的には、運用者は、オペレータ用端末330から、オペレーション用ネットワーク313を介して、サーバコンピュータ341〜342と、アクセラレータ351〜356に指示を出すことができる。まずは準備段階として、運用者はサーバコンピュータ341〜342のそれぞれに必要なプログラムあるいはデータを設定し、同様にアクセラレータ351〜356のそれぞれに、担当処理に応じた回路構成を設定する。全ての準備作業が整ったら、運用者は実行段階として情報サービスシステムに演算を開始させ、演算が終了したらシステムを停止させる。
図3に示した様なシステムでは、1人のユーザの1つの利用目的のために全ての計算資源を用いることができる。そのため、アクセラレータ351〜356に対するリコンフィグ処理を行なう準備段階と、アクセラレータ351〜356を利用して実際に演算処理を行なう計算処理段階とを明確に分離されている。
なお、本明細書では、サーバコンピュータとハードウェアアクセラレータとをあわせて計算資源と呼ぶこともある。
特開2006−39790号公報
情報処理学会誌「情報処理」Vol.50 No.11 1080−1085、「特集 クラウドコンピューティング スケールアウトの技術」 情報処理学会誌「情報処理」Vol.50 No.2 95−99、「特集 アクセラレータ,再び アクセラレータ技術の影と光」 日経エレクトロニクス 2009年7月27日, 61−71、「やわらかくなるLSI」
上述したような一般的な技術には以下に示すような問題点がある。
(各サーバにアクセラレータが括りつけの場合の問題点)
図2に示したように、アクセラレータ251〜253がサーバコンピュータ141〜143にそれぞれ括りつけで接続されている場合、例えばアクセラレータ251が処理するデータは、必ずサーバコンピュータ141を経由して入出力することになる。サーバコンピュータ141が複数のユーザに向けた情報の提供を担当している場合、その内部で共通に利用されるバスやメモリ等では複数ユーザ向けのデータが混在することになる。
一つのサーバコンピュータ内では、演算処理やデータ転送は、時分割で行なわれるため、扱うデータが大容量ストリームデータである場合、サポートすべきユーザ数が増える程、サーバコンピュータ内のバス上でのデータコリジョンや処理落ちが発生する可能性が高くなる。そのような場合、サーバコンピュータ141に接続されたアクセラレータ251が高速でデータ処理が可能であったとしても、データの出入口となるサーバコンピュータ141側での処理がボトルネックとなり、最大限のパフォーマンスを発揮できない場合がある。
これを回避するために、1台のサーバコンピュータと1台のアクセラレータで1つの大容量ストリームデータをサポートする方法も考えられる。しかし、不特定多数のユーザが利用することを想定したデータセンタにおいては、用意すべき計算資源が増大してしまうという課題がある。
また、本来は時分割によるマルチプロセスを特徴としていたサーバコンピュータの性能を充分に活かせないという課題がある。
(複数のアクセラレータを束として利用する場合の問題点)
図3に示したような特定の科学計算を高速で実行するシステムにおいては、ただ一つの目的に全計算資源が利用される。しかし、不特定多数のユーザが計算資源を共有するような用途では、各ユーザがそれぞれ自由なタイミングで異なる情報サービスを要求してくるため、有限な計算資源を分割しながら運用することが必要となる。
また、あるユーザがシステムを利用していない状況でも、別のユーザがシステムを利用しているという状況が起こりえる。そのため、基本的には常に稼働状態を維持して、その稼働状態においてリコンフィグ動作を実施しなければならないという課題がある。
上述したような各問題点あるいはそれらが組み合わされることにより、計算資源を有効に利用した効率のよい情報サービスの提供が阻害されている。
本発明の目的は、計算資源を有効に利用して効率良く情報サービスを提供することが可能な技術を提供することである。
上記目的を達成するために、本発明の情報サービスシステムは、
割り当てられた実行回路を実体化し、該実行回路によって情報サービスのデータ処理を実行する、他のリソースに依存せずにデータの入出力が可能なハードウェアリソースを有するハードウェアリソース群と、
要求されたハードウェア機能に必要なハードウェアリソースを前記ハードウェアリソース群の中から確保し、確保した前記ハードウェアリソースに該ハードウェア機能の実行回路を実体化させるハードウェアリソースマネージャと、
前記ユーザから要求された情報サービスに必要なハードウェア機能を判別し、該ハードウェア機能を前記ハードウェアリソースマネージャに要求するサービスマネージャと、を有している。
本発明によれば、計算資源を有効に利用して効率良く情報サービスを提供することができる。
データセンタを備えた一般的な情報サービスシステムの構成を示すブロック図である。 サーバコンピュータにアクセラレータを接続した構成の情報サービスシステムの構成を示すブロック図である。 サーバコンピュータにリコンフィギャラブルデバイスを接続した情報サービスシステムの構成例を示すブロック図である。 本発明の実施形態による情報サービスシステムの構成を示すブロック図である。 計算資源管理における状態の遷移を示す図である。 サービス開始要求および検索の処理を示すシーケンス図である。 計算資源の予約処理を示すシーケンス図である。 構築処理を示すシーケンス図である。 実行プログラムおよび実行回路の初期化処理を示すシーケンス図である。 実行プログラムおよび実行回路の動作を開始させ、情報サービスの提供を開始させる動作始動処理を示すシーケンス図である。 ユーザ端末421からサービスマネージャ470にサービス終了が要求される様子を示すシーケンス図である。 動作停止処理を示すシーケンス図である。 終了化処理を示すシーケンス図である。 終了化処理を示すシーケンス図である。 情報サービスシステムが提供する情報サービスをシステムに追加あるいは削除するメンテナンス処理を示すシーケンス図である。 ある情報サービスにおけるユーザ端末とソフトウェア機能とハードウェア機能との接続構成の一例を示す図である。 サービス構成情報DB471、プログラム情報DB481、回路構成情報DB491が管理する情報を示す図である。 サービスマネージャ470、SWリソースマネージャ480、HWリソースマネージャ490が管理する情報の一例を示す図である。 情報サービスシステムのSWリソースおよびHWリソースに情報サービスのプログラムおよび回路が展開された様子を示す図である。 図19に示したようにプログラムと回路が展開されたシステムにおけるサーバ稼働状態DB482とRU稼働状態DB492の管理情報を示す図である。 第3の実施例による情報サービスシステムの構成を示すブロック図である。
本実施形態では、一般的なサーバコンピュータと、リコンフィギャラブルデバイスを用いたハードウェアアクセラレータを、それぞれ複数組み合わせてデータセンタに適用する新たな手法を提案する。特に、このデータセンタの計算処理能力は、複数のユーザに対し、各ユーザの要求に応じた異なるアプリケーションを同時に提供することができる。具体的な適用分野の例としては、音声や動画などのメディア情報処理、信号の暗号化および復号化を含むストリーミング処理など、高速での処理や実時間性が要求される情報サービスが挙げられる。
本発明の実施形態について図面を参照して詳細に説明する。
以下の説明において、リコンフィギュアラブルなデバイスを搭載し、ネットワークを介したデータ通信が可能なハードウェアアクセラレータを、リコンフィグユニット(RU(Reconfigurable Unit))と呼ぶこととする。
RUは、ネットワークを介して外部から回路構成情報を与えることにより、内部のデバイスの回路構成を変更可能である。RUの回路構成を変更することにより、提供する処理機能を変更することができる。なお、このようなRUそれ自体は市井技術として存在しているものである。
図4は、本発明の実施形態による情報サービスシステムの構成を示すブロック図である。図4を参照すると、ユーザ端末421〜423が通信ネットワーク410に接続されている。また通信ネットワーク410にはネットワークスイッチ411が接続されている。ネットワークスイッチ411には更にサービス用ネットワーク412によって、サービスマネージャ470、サーバコンピュータ441〜443、およびリコンフィグユニット(RU)451〜453が接続されている。サーバコンピュータ443〜443は、更にオペレーション用ネットワーク413によって、オペレーション用端末430、サービス構成情報データベース(以下、サービス構成情報DB)471、ソフトウェアリソースマネージャ(以下、SWリソースマネージャ)480、プログラム情報データベース(以下、プログラム情報DB)481、サーバ稼働状態データベース(以下、サーバ稼働状態DB)482、ハードウェアリソースマネージャ(以下、HWリソースマネージャ)490、回路構成情報データベース(以下、回路構成情報DB)491、およびリコンフィグユニット稼働状態データベース(以下、リコンフィグユニット稼働状態DB)492と接続されている。
RU451〜453は、上述したようなリコンフィギャラブルなデバイスを搭載し、ネットワークを介したデータ通信が可能なハードウェアアクセラレータである。RU451〜453は、ハードウェアリソースマネージャ490から与えられる回路構成の情報を基に内部に実行回路を展開し、その実行回路で処理を実行する。実行回路はRUの内部に閉じて展開されてもよく、あるいは1つの実行回路が複数のRUに跨って展開されてもよい。RU451〜453は直接接続する配線で相互に接続されており、1つの実行回路が複数のRUに跨っている場合、実行回路内でRU間をわたる信号はこの配線で伝達される。
ユーザ端末421〜423は、それぞれ異なるユーザが所有する端末装置であり、通信ネットワーク410、ネットワークスイッチ411、およびサービス用ネットワーク412を介してサーバコンピュータ441〜443およびリコンフィグユニット451〜453とデータ通信を行なうことができる。
オペレーション用端末430は、オペレーション用ネットワーク413に接続する全てのサーバコンピュータ441〜443およびリコンフィグユニット451〜453とデータ通信を行なうことができ、それら各々の動作状況を確認することができる。
以上に示した各構成要素は個々に既存の技術や製品として存在するものである。
続いて、本実施形態に特徴的な構成要素について述べる。
SWリソースマネージャ480は、サーバコンピュータ441〜443で提供するソフトウェア処理のための計算資源を管理するものとして設けられている。
プログラム情報DB481は、実際にサーバコンピュータ441〜443上で動作させる個々のプログラムの実行ファイルおよびそのプログラムを実行する際にサーバに掛かる負荷の負荷見積情報を記憶するデータベースとして設けられている。
サーバ稼働状態DB482は、サーバコンピュータ441〜443が、現在どのプログラムを実行しており、どのような負荷状況にあるかを記憶するデータベースとして設けられている。
HWリソースマネージャ490は、リコンフィグユニット451〜453で提供するハードウェア処理のための計算資源を管理するものとして設けられている。
回路構成情報DB491は、実際にリコンフィグユニット451〜453上に展開させる個々の回路の回路構成情報およびその回路を動作させる際にリコンフィグユニット451〜453に掛かる負荷の負荷見積情報を記憶するものとして設けられている。
リコンフィグユニット稼働状態DB492は、リコンフィグユニット451〜453が、現在どの回路を展開しており、どのような負荷状況にあるかを記憶するデータベースとして設けられている。
サービスマネージャ470は、各ユーザについての全体として情報サービスの実施を管理するものとして設けられている。サービスマネージャ470は、複数のユーザに対する情報サービスの提供について、それぞれの状態を個別に管理し、制御する。
サービス構成情報DB471は、個々の情報サービスと、それを実施するために必要となるソフトウェア機能およびハードウェア機能との対応関係を記憶するデータベースとして設けられている。
上述した各構成要素が組み合わされて、どのように機能するかについて以下に詳述する。
ユーザ向けの情報サービスは、ソフトウェアだけで実現できるサービス、ハードウェアだけで実現できるサービス、ソフトウェアとハードウェアを組み合わせて実現できるサービスの三種類に大別できる。ここではソフトウェアとハードウェアを組み合わせて実現する情報サービスを例として説明を行なう。
ここでは情報サービスの処理を以下のように分類する。
・ サービスの登録と削除
・ サービスの開始要求
・ サービス構成要素の検索
・ 予約
・ 構築
・ 初期化
・ 動作始動
・ サービスの終了要求
・ 動作停止
・ 終了化
・ 解体・解約
以下、それぞれの処理について順次説明する。
(サービスの登録と削除)
ソフトウェアSとハードウェアHの組み合わせによって実現される情報サービスAがある場合、運用者はオペレーション用端末430を操作し、情報サービスAに関して以下の各種登録処理を実施する。
プログラム情報DB481には以下の情報を追加登録する。
・ 雛形プログラムSのID
・ 雛形プログラムSのプログラム実体ファイル
・ 雛形プログラムSをサーバコンピュータで実行する時に生じる負荷情報
・ 雛形プログラムSの外部入出力ポート情報
回路構成情報DB491には以下の情報を追加登録する。
・ 雛形回路HのID
・ 雛形回路Hの回路構成情報実体
・ 雛形回路Hをリコンフィグユニットへ展開する時に生じる負荷情報
・ 雛形回路Hの入出力ポート情報
サービス構成情報DB471には以下の情報を追加登録する。
・ 情報サービスAのID
・ 情報サービスAを構成する雛形プログラムID
・ 情報サービスAを構成する雛形回路ID
・ ユーザ端末、雛形プログラム、雛形回路の各ポートの接続関係
なお、新しい情報サービスの情報を追加登録する際に、その情報サービスで用いられる雛形プログラムに相当するプログラムがプログラム情報DB481に既に登録されている場合、その登録されている情報が利用できる。そのため、運用者は新たな雛形プログラムを登録する必要はない。それと同様に、情報サービスで用いられる雛形回路に相当する回路が回路構成情報DB491に既に登録されている場合、その登録されている情報が利用できるため、新たな雛形回路を登録する必要は無い。
また、削除処理は、サービス構成情報DB471、プログラム情報DB481、回路構成情報DB491より、上記に示した項目を削除することによって行なわれる。
(サービスの開始要求)
サービスの開始要求は、ユーザ端末421〜423が、要求するサービスのサービスIDをサービスマネージャ470に送信することによって行なわれる。このとき、サービス動作をカスタマイズするための動作パラメタが合わせて通知される。
(サービス構成要素の検索)
サービスマネージャ470はユーザ端末421〜423が要求するサービスIDを受信し、情報サービスを提供するために必要なソフトウェア機能とハードウェア機能をサービス構成情報DBより検索する。この検索の結果、サービスマネージャ470は、サービス提供に必要なソフトウェア機能としての雛形プロラムIDと、同じくサービス提供に必要なハードウェア機能としての雛形回路IDを取得する。
(予約)
続いてサービスマネージャ470は、プログラムを展開して実行させることが可能なサーバコンピュータ、および、回路を展開して実行させることが可能なリコンフィグユニット(RU)を探し出し、それぞれの計算資源を予約する。
計算資源の予約の流れは以下の通りである。
サービスマネージャ470は、SWリソースマネージャ480に対して、雛形プログラムIDを通知し、このプログラムを実行することが可能な計算資源の割当を要求する。
SWリソースマネージャ480は、雛形プログラムIDを検索キーとして、プログラム情報DB481から雛形プログラムの実行用ファイルの本体、実行によって発生する負荷(発生負荷)、利用される入出力ポート等を含む、実行することになるプログラムの緒元情報を取得する。
次にSWリソースマネージャ480は、サーバ稼働状態DB482に対して、検索で得た発生負荷を受け入れることが可能なサーバコンピュータの検索を指示する。この結果、サーバ稼働状態DBより、プログラムを走らせることが可能なサーバコンピュータの一覧情報が、SWリソースマネージャ480に通知される。
SWリソースマネージャ480は、通知されたサーバコンピュータ一覧情報から一つのサーバコンピュータを選択し、サーバ稼働状態DB482に対し、今後発生する予定の負荷を示す負荷情報を通知する。
これまでの手続きにより、SWリソースマネージャ480は、雛形プログラムが、どのサーバコンピュータで実施されるべきかを把握したことになる。SWリソースマネージャ480は、雛形プログラムがどのサーバコンピュータで実施されるべきかという割当SWリソースを示す割当SWリソース情報を自身が管理する情報に追加する。
そして、SWリソースマネージャ480は、割当SWリソース情報IDを、サービスマネージャ470に通知し、必要な計算資源が予約できたことを通知する。
また、サービスマネージャ470は、HWリソースマネージャ490に対して、雛形回路IDを通知し、この回路を実現することが可能な計算リソースの割当を要求する。
HWリソースマネージャ490は、雛形回路IDを検索キーとして、回路構成情報DB491から雛形回路の実行用回路構成情報、発生負荷、入出力ポート等を含む、実行することになる回路の緒元情報を取得する。
次にHWリソースマネージャ490は、RU稼働状態DB492に対して、検索で得た発生負荷を受け入れることが可能なRUの検索を指示する。この結果、RU稼働状態DB492より、回路を展開して実行することが可能なRUの一覧情報がHWリソースマネージャ490に通知される。
HWリソースマネージャ490は、通知されたRU一覧情報から一つのRUを選択し、RU稼働状態DB492に対し、今後発生する予定の負荷を示す負荷情報を通知する。
これまでの手続きにより、HWリソースマネージャ490は、雛形回路が、どのRUで実施されるべきかを把握したことになる。HWリソースマネージャ490は、この雛形回路がどのRUで実施されるべきかという割当HWリソースを示す割当HWリソース情報として、自身が管理する情報に追加する。そしてHWリソースマネージャ490は、割当HWリソース情報IDを、サービスマネージャ470に通知し、必要な計算資源が予約できたことを通知する。
サービスマネージャ470は、SWリソースマネージャ480とHWリソースマネージャ490の両方から予約完了の通知を受けると、その後の処理が継続できると判断する。もし、どちらか一方あるいは両方から、「予約不可」という旨の返信があった場合、ユーザが要求する情報サービスは提供できないことになる。そのため、その場合、サービスマネージャ470は、ユーザ端末421〜423からのサービス要求に対し「サービス提供不可」の返信を行ない、またSWリソースマネージャ480、HWリソースマネージャ490を通して計算資源の予約を解除する。
なお、サービスマネージャ470からみて、SWリソースマネージャ480による予約の処理とHWリソースマネージャ490による予約の処理のどちらが先に実行されてもよく、また同時に実行されても構わない。
(構築)
サービスマネージャ470は、SWリソースマネージャ480とHWリソースマネージャ490の両方から割当リソース情報IDを受け取ると、ユーザ端末が要求する情報サービスが提供可能であると判断する。その場合、サービスマネージャ470は、予約された状態となっている計算資源によってソフトウェア機能およびハードウェア機能を実体のあるものとして構築するための構築処理を行う。
構築処理の流れは以下の通りである。
サービスマネージャ470は、SWリソースマネージャ480に対して、割当られたSWリソース情報IDと共に構築要求を通知する。
SWリソースマネージャ480は、構築要求の通知を受けると、自身が管理している割当情報を参照し、先ほど予約したサーバコンピュータに対してプログラムの実行用ファイル本体をロードし、ソフトウェア機能を実行プログラムとして実体化させる。
実行プログラムにはサーバコンピュータによって実行プログラムIDが付与される。このIDは、どのサーバコンピュータ上の、どの実行プログラムであるかを一意に特定する識別情報である。また、実行プログラムが実体化することにより、実行プログラムが利用する入出力ポートのアドレスが確定する。また、SWリソースマネージャ480が管理情報を設定することにより、SWリソースが実体化した実行プログラムが特定ユーザに割り当てられた状態となる。
サーバコンピュータは、実行プログラムIDおよび入出力ポートアドレスと共に、構築処理の完了をSWリソースマネージャ480に通知する。SWリソースマネージャ480は、サーバ稼働状態DB482に対し、予約していたサーバコンピュータに実行プロラムが展開されたことを通知する。また、SWリソースマネージャ480は、サービスマネージャ470に対して、割当SWリソースの構築が完了したことを通知する。このとき、実行プログラムの入出力ポート名と、そのアドレスに関する情報もあわせてサービスマネージャ470に通知される。
また、サービスマネージャ470は、HWリソースマネージャ490に対して、割当HWリソース情報IDと共に構築要求を通知する。
HWリソースマネージャ490は、構築要求の通知を受けると、自身が管理している割当情報を参照し、先ほど予約したRUに回路構成情報を展開させ、ハードウェア機能を実行回路として実体化させる。実行回路には、RUによって実行回路IDが付与される。このIDは、どのRU上の、どの実行プログラムであるかを一意に特定できる識別情報である。また回路が実体化することにより、実行回路が利用する入出力ポートのアドレスが確定する。また、HWリソースマネージャ490が管理情報を設定することにより、HWリソースが実体化した実行回路が特定ユーザに割り当てられた状態となる。
RUは、実行回路IDおよび入出力ポートアドレスと共に、構築処理の完了をHWリソースマネージャ490に通知する。HWリソースマネージャ490は、RU稼働状態DB492に対し、予約していたRUに実行回路が展開されたことを通知する。また、HWリソースマネージャ490は、サービスマネージャ470に対して割当HWリソースの構築が完了したことを通知する。このとき、実行回路の入出力ポート名と、そのアドレスに関する情報もあわせてサービスマネージャ470に通知される。
なお、サービスマネージャ470からみて、SWリソースマネージャ480による構築の処理とHWリソースマネージャ490による構築の処理のどちらが先に実行されてもよく、また同時に実行されても構わない。
(初期化)
上述した構築処理により、ソフトウェア機能がサーバコンピュータ上に、ハードウェア機能がリコンフィグユニット上に構築される。続いて、初期化処理を実施し、これら構築されたサービス構成要素に対して動作パラメタの設定や入出力ポート同士の対応付けを行なう。初期化の処理の流れは以下の通りである。
サービスマネージャ470は、SWリソースマネージャ480に対して、割当SWリソースの初期化要求を通知する。サービス要求時に動作パラメタが付されていた場合には、この動作パラメタの情報も合わせてSWリソースマネージャ480に通知される。また、構築処理の結果として得られた、入出力ポート名と確定したアドレスの全体も合わせてSWリソースマネージャ480に通知される。
SWリソースマネージャ480は、実行プログラムがロードされたサーバコンピュータに対して、動作パラメタ、入出力ポート名、および確定したアドレスの全体と合わせて、初期化要求を通知する。
これを受けて、サーバコンピュータは、実行プログラムの入出力ポートと、実行回路の入出力ポートおよびユーザ端末側の入出力ポートとの相互接続(アドレス指定)を行なう。また、サーバコンピュータは、動作パラメタに従って、実行プログラムの動作をカスタマイズする。
これらの初期化処理を行なうことにより、サーバコンピュータ上の実行プログラムは、サービス提供に必要なソフトウェア機能を動作させるための全ての準備処理が完了する。
実行プログラムの初期化が終わると、サーバコンピュータはSWリソースマネージャ480に対して初期化完了の通知を行なう。SWリソースマネージャ480は、サービスマネージャ470に対して、初期化完了を通知する。
また、サービスマネージャ470は、HWリソースマネージャ490に対して、割当HWリソースの初期化要求を通知する。サービス要求時に動作パラメタが付されていた場合には、この動作パラメタの情報もHWリソースマネージャ490に合わせて通知される。また、構築処理の結果として得られた入出力ポート名と確定したアドレスの全体もHWリソースマネージャ490に合わせて通知される。
HWリソースマネージャ490は、実行回路のロードされたRUに対して、動作パラメタ、入出力ポート名、および確定したアドレスの全体と合わせて、初期化要求を通知する。これを受けて、RUは、実行プログラムの入出力ポートと、実行回路の入出力ポートおよびユーザ端末側の入出力ポートとの相互接続(アドレス指定)を行なう。また、RUは、動作パラメタに従って実行回路の動作をカスタマイズする。
これらの初期化処理を行なうことにより、RU上の実行回路は、サービス提供に必要なハードウェア機能を動作させるための全ての準備処理が完了する。実行回路の初期化が終わると、RUはHWリソースマネージャ490に対して初期化完了の通知を行なう。HWリソースマネージャ490は、サービスマネージャ470に対して初期化完了を通知する。
なお、ここで、サービスマネージャ470からみて、SWリソースマネージャ480による初期化の処理と、HWリソースマネージャ490による初期化の処理のどちらが先に実行されてもよく、また同時に実行しても構わない。
(動作始動)
初期化処理により、ユーザ端末と実行プログラムおよび実行回路の入出力ポートとの接続関係が与えられて情報サービスを実行する準備が整う。続いて、サービスマネージャ470はサービス提供を開始するための動作始動処理を行なう。
動作開始処理の流れは以下の通りである。
サービスマネージャ470は、SWリソースマネージャ480に対して、割当SWリソースの動作始動要求を通知する。これを受けて、SWリソースマネージャ480は、サーバコンピュータに対し、動作始動要求を通知する。サーバコンピュータは、実行プログラムの実行を開始した後、SWリソースマネージャ480に対して動作始動完了を通知する。SWリソースマネージャ480は、サービスマネージャ470に対して動作始動完了を通知する。
また、サービスマネージャ470は、HWリソースマネージャ490に対して、割当HWリソースの動作始動要求を通知する。これを受けて、HWリソースマネージャ490は、RUに対して動作始動要求を通知する。RUは、実行回路の動作を開始した後、HWリソースマネージャ490に対して動作始動完了を通知する。HWリソースマネージャ490は、サービスマネージャ470に対して動作開始完了を通知する。
なお、サービスマネージャ470からみて、SWリソースマネージャ480による動作始動の処理とHWリソースマネージャ490による動作始動の処理のどちらが先に実行されてもよく、また同時に実行されても構わない。
ソフトウェア機能を提供する実行プログラム、ハードウェア機能を提供する実行回路の両方が動作始動すると、サービスマネージャ470はサービス始動をユーザ端末に通知する。この時、ユーザ端末の入出ポートが接続すべき、実行プログラムおよび実行回路の入出力ポートのアドレスも合わせて通知される。これによりユーザ端末が実行プログラムおよび実行回路に接続することが可能となる。
これまでに説明した「サービスの開始要求」から「動作始動」までの一連の処理が実行されることにより、ユーザ端末が要求した情報サービスがユーザ端末に提供される。
(サービスの終了要求)
サービスの終了要求は、運用者から終了を要求されたユーザ端末か、情報サービスの所定の処理を実行した実行プログラムまたは実行回路のいずれかによって発せられ、サービスマネージャ470に通知される。
(動作停止)
サービスマネージャ470が終了要求を受け付けると、情報サービスを構成している実行プログラムおよび実行回路の動作が停止される。
動作停止処理の流れは以下の通りである。
サービスマネージャ470は、SWリソースマネージャ480に対して、割当SWリソースの動作停止要求を通知する。これを受けて、SWリソースマネージャ480は、サーバコンピュータに対して動作停止要求を通知する。サーバコンピュータは、実行プログラムの動作を停止させた後、SWリソースマネージャ480に対して、動作停止完了を通知する。SWリソースマネージャ480は、サービスマネージャ470に対して動作停止完了を通知する。
また、サービスマネージャ470は、HWリソースマネージャ490に対して、割当HWリソースの動作始動要求を通知する。これを受けて、HWリソースマネージャ490は、RUに対して動作停止要求を通知する。RUは、実行回路の動作を停止させた後、HWリソースマネージャ490に対して動作停止完了を通知する。HWリソースマネージャ490は、サービスマネージャ470に対して動作停止完了を通知する。
なお、サービスマネージャ470からみて、SWリソースマネージャ480による動作停止の処理とHWリソースマネージャ490による動作停止の処理のどちらが先に実行されてもよく、また同時に実行されても構わない。
(終了化)
上述した動作停止処理により実行プログラムおよび実行回路が動作を停止すると、続いて、サービスマネージャ470は、実行プログラムおよび実行回路に用いられていた計算資源を初期化処理が行なわれる前の状態に戻す終了化を行う。
終了化の流れは以下の通りである。
サービスマネージャ470は、SWリソースマネージャ480に対して、割当SWリソースの終了化要求を通知する。SWリソースマネージャ480は、実行プログラムのあるサーバコンピュータに対して終了化要求を通知する。これを受けて、サーバコンピュータは、実行プログラムの入出力ポートの接続先アドレスと、カスタマイズされた動作内容を、初期化処理を行なう前のデフォルト値に戻す。実行プログラムの終了化が終わると、サーバコンピュータはSWリソースマネージャ480に対して、終了化完了の通知を行なう。SWリソースマネージャ480は、サービスマネージャ470に対して、終了化完了を通知する。
また、サービスマネージャ470は、HWリソースマネージャ490に対して、割当HWリソースの終了化要求を通知する。
HWリソースマネージャ490は、実行回路のあるRUに対して、終了化要求を通知する。これを受けて、RUは、実行回路の入出力ポートの接続先アドレスと、カスタマイズされた動作内容を、初期化処理を行う前のデフォルト値に戻す。実行回路の終了化が終わると、RUはHWリソースマネージャ490に対して、終了化完了の通知を行なう。HWリソースマネージャ490は、サービスマネージャ470に対して、終了化完了を通知する。
なお、サービスマネージャ470からみて、SWリソースマネージャ480による初期化の処理とHWリソースマネージャ490による初期化の処理のどちらが先に実行されてもよく、また同時に実行されても構わない。
また、ここに示した終了化処理は、実行プログラムのアンロードや実行回路の消去がすぐに行なわれるような場合には省略してもよい。
(解体・解約)
上述した動作停止処理および終了化処理により、割当SWリソースと割当HWリソースの両方が、その割当を解除することが可能な状況となる。それに続いて、実体化されていた計算資源を削除する解体処理と、その計算資源のユーザへの割当を削除する解約処理を行ない、計算資源を他のサービスおよび他のユーザに割当可能な資源に還す処理を行なう。
解体処理および解約処理の流れは以下の通りである。
サービスマネージャ470は、SWリソースマネージャ480に対して、割当SWリソース情報IDと共に、解体・解約要求を通知する。SWリソースマネージャ480は、解体・解約要求の通知を受けると、自身が管理している割当情報を参照し、サーバコンピュータに対して、実行プログラムのアンロードを要求し、構築したソフトウェア機能の解体を実施させる。さらにSWリソースマネージャ480は、今回のサービス提供における特定ユーザに対するSWリソース割当の管理情報を削除する。また、SWリソースマネージャ480は、実行プログラムのアンロードと割当リソースの開放を確認し、解体・解約の完了をサービスマネージャ470に通知する。
また、サービスマネージャ470は、HWリソースマネージャ490に対して、割当HWリソース情報IDと共に、解体・解約要求を通知する。HWリソースマネージャ490は、解体・解約要求の通知を受けると、自身が管理している割当情報を参照し、RUに対して、実行回路の削除を要求し、構築したハードウェア機能の解体を実施させる。さらにHWリソースマネージャ490は、今回のサービス提供における特定ユーザに対するHWリソース割当の管理情報を削除する。HWリソースマネージャ490は、実行回路の削除と割当リソースの開放を確認し、解体・解約の完了をサービスマネージャ470に通知する。
サービスマネージャ470は、割当SWリソースが解体・解約された旨の通知と割当HWリソースが解体・解約された旨の通知の両方を受けると、今回のサービスの提供のために自身が管理していた情報を削除し、サービスの要求処理から始まった情報サービスの一連の処理を終端させる。
また、このときに、サービスマネージャ470がユーザ端末に対してサービス終了を通知することにしてもよい。ただし、ユーザ端末に対してサービス終了を通知するタイミングは、動作停止が完了したとき、あるいは終了化処理が完了したときにしてもよい。
なお、サービスマネージャ470からみて、SWリソースマネージャ480による解体・解約の処理とHWリソースマネージャ490による解体・解約の処理のどちらが先に実行されてもよく、また同時に実行されても構わない。
なお、本実施形態では説明を簡潔にするために、1つのユーザ端末から要求された1つの情報サービスの実行に着目した説明をしてきたが、実際には複数のユーザ端末から要求された情報サービスが同時に実行されるのが通常である。その場合、複数あるサーバコンピュータ441〜443やRU451〜453を同時に複数のユーザの情報サービスに割り当てることができる。
例えば、複数のユーザ端末の情報サービスの複数の実行回路が複数のRU上にそれぞれ構築されてもよく、また1つのユーザ端末の1つの情報サービスの1つの実行回路が複数のRUを跨いで構築されてもよい。
以上説明したように、本実施形態のシステムは、ハードウェアのアクセラレータ(RU451〜453)をネットワーク上においてサーバコンピュータ441〜443と並列に配置しているので、ソフトウェアの処理とハードウェアの処理のデータ入出力を別個独立に行うことができ、ハードウェアのアクセラレータによる処理の実行においてサーバコンピュータ441〜443の構成がボトルネックになることが無い。
また、SWリソースマネージャ480はソフトウェアの計算資源であるサーバコンピュータ441〜443を個々に管理し、HWリソースマネージャ490はハードウェアの計算資源であるRU451〜453を個々に管理し、ユーザからの要求に応じてオンデマンドで計算資源をユーザおよび情報サービスに割り当てて実体化するので、予め過剰な計算資源を用意しておく必要が無く、有限な計算資源を要求に応じて有効に活用することができる。
また、再構成可能なハードウェアにより、要求に応じて実行回路を構築するため、様々な情報サービスが混在しても個々のサービスに専用回路が不要となるので、統計多重効果が期待でき、用意しておくべきハードウェアの計算資源を削減することができる。
また、サービスマネージャ470が複数ユーザのそれぞれに対する情報サービスの提供を管理し、個々の情報サービスの状況に応じてSWリソースマネージャ480およびHWリソースマネージャ490を制御するので、複数のユーザに対して並行して個々に情報サービスを提供することができる。システムを複数のユーザおよび複数の情報サービスが共有する場合にも、ある情報サービスのためのリコンフィグ処理のためにシステム全体を停止させずに他の情報サービスを継続することができる。
また、本実施形態では、サービスマネージャ470がサービス用ネットワーク412とオペレーション用ネットワーク413の両方に接続されている。そして、サービスマネージャ470はサービス用ネットワーク412によってユーザ端末と通信し、オペレーション用ネットワーク413によってSWリソースマネージャ480およびHWリソースマネージャ490と通信する。そのため、サービス開始要求のようなユーザ端末421〜423とサービスマネージャ470の通信のネットワーク負荷によるSWリソースおよびHWリソースの通信への影響が低減され、かつ、サービスマネージャ470とSWリソースマネージャ480およびHWリソースマネージャ490との通信のネットワーク負荷によるSWリソースおよびHWリソースの通信への影響が低減される。
また、専用機能などのための拡張ボードをサーバコンピュータに搭載する構成では拡張ボードを増設するためにサーバコンピュータを増設する必要があったが、本実施形態では、RU451〜453がサーバコンピュータ441〜443と並列に配置されているので、ハードウェアとソフトウェアのそれぞれの増減を独立に行うことができ、システム構成の自由度が向上する。
(第1の実施例)
第1の実施例による情報サービスシステムは、図4に示したものと同様の構成を有している。図4に示されているサーバコンピュータ441〜443と、リコンフィグユニット451〜453は、実際に情報サービスの計算処理を実施する計算資源である。この計算資源は、複数のユーザ、複数のサービスで共有される。
図5は、計算資源管理における状態の遷移を示す図である。本実施例では、計算資源の状態を図5に示すように場合わけすることにより、計算資源の管理を容易にしている。
「未使用」は、まだその計算資源がどのユーザにも割当てられておらず、プログラムのロードや、回路の展開が為されていない状態を指す。「予約済」は、情報サービスを構成するために、その計算資源が特定のユーザに割当てられているが、この時点では、プログラムのロードや、回路の展開が為されていない状態を指す。「構築済」は、情報サービスを構成するために、その計算資源が特定のユーザに割当てられており、かつ、プログラムのロードや、回路の展開が為された状態を指す。「動作待機」は、プログラムや回路に、個別の動作パラメタが与えられ、実際に情報提供サービスを開始することが可能な待機状態を指す。「動作実行」は、実際にプログラムや回路が情報サービス提供に利用されていて、計算資源が動作状態にあることを指す。
以上のような計算資源の状態遷移の過程について図6〜14を用いて以下に説明する。
図6は、サービス開始要求および検索の処理を示すシーケンス図である。
図6を参照すると、ユーザ端末421より、サービスマネージャ470に対して、情報サービスの要求が行なわれている。この時、ユーザ端末421からサービスマネージャ470に対して、情報サービスIDだけでなく、動作パラメタも一緒に通知されることもある。サービスマネージャ470は、情報サービスを構成するのに必要な、ソフトウェア機能を実現する雛形プログラムの識別情報である雛形プログラムIDと、ハードウェア機能を実現する雛形回路の識別情報である雛形回路IDを、サービス構成情報DB471から取得する。
図7は、計算資源の予約処理を示すシーケンス図である。
まずソフトウェア機能に関して、サービスマネージャ470は、雛形プログラムIDをSWリソースマネージャ480に送る。これを元に、SWリソースマネージャ480は、当該プログラムの負荷情報など、諸元情報をプログラム情報DB481より取得する。続いてSWリソースマネージャ480は、当該プログラムを追加動作させることが可能なサーバコンピュータをサーバ稼働状態DB482に問い合わせ、候補一覧を得る。SWリソースマネージャ480は、候補一覧のなかから、当該プログラムを動作させるサーバコンピュータを一つ選び、サーバ稼働状態DB482に資源の予約を要求する。なお、この時、候補一覧からサーバコンピュータを選ぶ方法としては、その時点で最も負荷の小さいサーバに割当てるという方法や、同じ雛形プログラムが展開されているサーバに対して優先的に割当てるという方法などが挙げられる。
以上、ソフトウェア機能に関する予約について示したが、ハードウェア機能に関する予約に関しても同様に行なわれる。ハードウェア機能に関しては、サービスマネージャ470は、雛形回路IDをHWリソースマネージャ490に送る。これを元に、HWリソースマネージャ490は、当該回路の負荷情報など、諸元情報を回路構成情報DB491より取得する。続いてHWリソースマネージャ490は、当該回路を追加動作させることが可能なRUをRU稼働状態DB492に問い合わせ、候補一覧を得る。HWリソースマネージャ490は、候補一覧のなかから、当該回路を動作させるRUを一つ選び、RU稼働状態DB492に資源の予約を要求する。
図8は、構築処理を示すシーケンス図である。
図8では、サービスマネージャ470が、SWリソースマネージャ480とHWリソースマネージャ490に指示を送り、サーバコンピュータに実行プログラムを、リコンフィグユニットに実行回路を構築させる。これにより、実行プログラムおよび実行回路が具体的に計算資源上に実体化するため、実行プログラムおよび実行回路の各々が利用する通信ポートのアドレスが確定され、このアドレス情報がサービスマネージャ470に通知される。
図9は、実行プログラムおよび実行回路の初期化処理を示すシーケンス図である。
初期化処理において、サービスマネージャ470は、まず、サービス要求時にユーザ端末421から示されていた動作パラメタをプログラムや回路に反映することによりプログラムや回路の動作変数等を設定する。また、構築処理で明らかとなった通信ポートのアドレス情報をプログラムおよび回路のそれぞれに相互に設定することにより、ユーザ端末と実行プログラムと実行回路の間の通信経路を確立し、動作の準備を整える。
図10は、実行プログラムおよび実行回路の動作を開始させ、情報サービスの提供を開始させる動作始動処理を示すシーケンス図である。
サービスマネージャ470がSWリソースマネージャ480およびHWリソースマネージャ490に動作始動を要求し、それを受けたSWリソースマネージャ480とHWリソースマネージャ490がそれぞれサーバコンピュータの実行プログラムとRUの実行回路を始動させる。
図11は、ユーザ端末421からサービスマネージャ470にサービス終了が要求される様子を示すシーケンス図である。ここではユーザ端末421からサービスマネージャ470にサービス終了が要求されるものとしている。
図12は、動作停止処理を示すシーケンス図である。図11に示したようにサービス終了要求を受けたサービスマネージャ470は、SWリソースマネージャ480およびHWリソースマネージャ490に動作停止を要求する。動作停止要求を受けたSWリソースマネージャ480はサーバコンピュータ上の実行プログラムの動作を停止し、同じく動作停止要求を受けたHWリソースマネージャ490はRU上の実行回路の動作を停止する。
図13は、終了化処理を示すシーケンス図である。
サービスマネージャ470がSWリソースマネージャ480およびHWリソースマネージャ490に終了化を要求し、それを受けたSWリソースマネージャ480およびHWリソースマネージャ490が、上述した初期化処理でプログラムや回路に適用されたカスタマイズおよび設定された通信経路を解除し、プログラムおよび回路を初期化処理前の「構築済」の状態に戻す。
図14は、計算資源の解体および解約の処理を示すシーケンス図である。
サービスマネージャ470は、SWリソースマネージャ480にSWリソースの解体・解約を要求し、HWリソースマネージャ490にHWリソースの解体・解約を要求する。それを受けたSWリソースマネージャ480は、サーバコンピュータ上のプログラムをアンロードするとともに、そのプログラムへのユーザ割り当てを削除する。同様に解体・解約の要求を受けたHWリソースマネージャ490は、RU上の回路を解体するとともに、その回路へのユーザ割り当てを削除する。これらによってSWリソースおよびHWリソースは予約がされていない状態に戻る。
図15は、情報サービスシステムが提供する情報サービスをシステムに追加あるいは削除するメンテナンス処理を示すシーケンス図である。この情報サービスを追加する処理は、図6〜14に示した情報サービスの提供の前に予め行われる処理である。
情報サービスの追加あるいは削除の処理には、雛形回路の追加あるいは削除の処理と、雛形プログラムの追加あるいは削除の処理と、情報サービスの追加あるいは削除の処理とが含まれる。
雛形回路の追加あるいは削除の処理においては、オペレーション用端末430が、運用者の操作に従って回路構成情報DB491に新たな雛形回路の諸元情報を追加したり、あるいは回路構成情報DB491から雛形回路の諸元情報を削除したりする。
雛形プログラムの追加あるいは削除の処理においては、オペレーション用端末430が、運用者の操作に従ってプログラム情報DB481に新たな雛形プログラムの諸元情報を追加したり、あるいはプログラム情報DB481から雛形プログラムの諸元情報を削除したりする。
情報サービスの追加あるいは削除の処理においては、オペレーション用端末430が、運用者の操作に従ってサービス構成情報DB471に新たなサービスの情報を追加したり、あるいはサービス構成情報DB471からサービスの情報を削除したりする。ここで追加されたり削除されたりするサービスの情報には、情報サービスの識別情報であるサービスIDと、その情報サービスに用いられる雛形プログラムおよび雛形回路の識別情報である雛形プログラムIDおよび雛形回路IDとを対応付ける対応付け情報が含まれている。
続いて、図16〜20を用いて、サービスマネージャ470、SWリソースマネージャ480、HWリソースマネージャ490、サービス構成情報DB471、プログラム情報DB481、回路構成情報DB491が保持あるいは利用するデータの例について説明する。
図16は、ある情報サービスにおけるユーザ端末とソフトウェア機能とハードウェア機能との接続構成の一例を示す図である。図16には、情報サービスA200を実現する構成が示されている。情報サービスA200は、ユーザ端末U、ソフト機能S01、ハード機能H21、ハード機能H22により実現されるものとする。
図16の例では、ユーザ端末Uでは、通信ポートP1がハードウェア機能H21の通信ポートP1と接続され、通信ポートP2がハードウェア機能H22の通信ポートP2と接続され、通信ポートP3がソフトウェア機能S01の通信ポートP1と接続されている。また、ソフトウェア機能S01の通信ポートP2はハードウェア機能H22の通信ポートP3接続されている。また、ハードウェア機能H21の通信ポートP2はハードウェア機能H22の通信ポートP1と接続されている。
この相互接続による通信を利用してユーザ端末Uとソフトウェア機能S01とハードウェア機能H21、22が連携動作することにより、情報サービスA200が実現される。
図17は、サービス構成情報DB471、プログラム情報DB481、回路構成情報DB491が管理する情報を示す図である。サービス構成情報DB471には、情報サービスA200には、ソフトウェア機能S01、ハードウェア機能H21、H22が構成要素となることが記憶されている。またサービス構成情報DB471には、更に、それぞれの通信ポートをどのように接続するかというポート接続関係定義の情報が含まれている。
また、プログラム情報DB481には、ソフトウェア機能S01の諸元情報が記憶されており、その諸元情報にプログラムの実体ファイル、想定される負荷、入出力ポートが含まれている。
また、回路構成情報DB491には、ハードウェア機能H21、H22の諸元情報が記憶されており、その諸元情報には回路構成用の実体ファイル、想定される負荷、入出力ポートが含まれている。
なお、ソフトウェア機能の負荷として、ここではメモリ使用量を例として挙げているが、本発明がこれに限定されるものではない。例えば、メモリ使用量の他にCPU負荷など他の要素を組み合わせたものであっても構わない。同様に、ハードウェア機能の負荷として、ここでは領域面積を例として挙げているが、本発明がこれに限定されるものではない。例えば、領域面積の他に消費電力など他の要素を組み合わせたものであっても構わない。
図18は、サービスマネージャ470、SWリソースマネージャ480、HWリソースマネージャ490が管理する情報の一例を示す図である。図18を参照すると、図5に示した各処理に伴って、サービスマネージャ470、SWリソースマネージャ480、およびHWリソースマネージャ490のそれぞれの情報の値が確定したり、削除されたりする様子が示されている。
例えば、サービス開始要求の処理によって、サービスマネージャ470が管理する情報に新たな情報サービスのエントリが追加される。その状態では、その情報サービスに対応する情報がSWリソースマネージャ480やHWリソースマネージャ490には存在しない。処理が進んで予約の処理が行われると、SWリソースマネージャ480やHWリソースマネージャ490にエントリが追加される。
図19は、情報サービスシステムのSWリソースおよびHWリソースに情報サービスのプログラムおよび回路が展開された様子を示す図である。図19の例では、SWリソースであるサーバコンピュータが3台、HWリソースであるリコンフィグユニットが3台示されている。
この例では、プログラムxpg01、xpg02がサーバコンピュータsv01に展開され、実体化されている。また、プログラムxpg03、xpg04が展開され、実体化されている。
また、回路xct01、xct02がリコンフィグユニットru01に展開され、実体化されている。また、回路xct03がリコンフィグユニットru02に展開され、実体化されている。また、回路xct04がリコンフィグユニットru03に展開され、実体化されている。
リコンフィグユニットru01〜ru03はそれぞれ内部がA、B、C、Dの4区画に分かれている。回路は複数の区画に跨って構成することができる。例えば、回路xct02は、リコンフィグユニットru01の区画A、Bに跨って構成されている。
図20は、図19に示したようにプログラムと回路が展開されたシステムにおけるサーバ稼働状態DB482とRU稼働状態DB492の管理情報を示す図である。
サーバ稼働状態DB482には、各サーバコンピュータに関する管理情報であるサーバコンピュータ管理情報と、各実行プログラムに関する管理情報である実行プログラム管理情報とが保持されている。
RU稼働状態DB492には、各RUに関する管理情報であるリコンフィグユニット管理情報と、各実行回路に関する管理情報である実行回路管理情報とが保持されている。
これらの管理情報はサーバコンピュータ、リコンフィグユニット、実行プログラム、および実行回路の即時的な稼働状態を示すものであり、実際のサーバコンピュータおよび実際のリコンフィグユニットより一定時間おきに収集された実測値で更新される。
(第2の実施例)
上述した実施形態のシステムでは有限な計算資源を複数ユーザで共有利用している。そのため一時的に大勢のユーザがシステムにアクセスしてくると計算資源が不足し、計算資源が割り当てられないユーザが出てくる。一般的な手法を用いた場合、早い者勝ちで計算資源が割り当てられることになる。しかし、早い者勝ちで計算資源を割り当てた場合、優先度の高いユーザや優先度の高い情報サービスに計算資源が割り当てられないということが起こる。
それを回避するために、第2の実施例では、情報サービスの動作パラメタに優先度を設定し、その優先度に基づいて、SWリソースおよびHWリソースといった計算資源を割り当てる。一例として、ここでは、サーバコンピュータまたはリコンフィグユニットに空き資源が存在しない状況において、新たな情報サービスの要求が発生した場合、既に動作している情報サービスのうち新たな情報サービスよりも優先度が低いサービスを強制終了して計算資源を回収し、新たに要求のあった情報サービスに割当てることにする。
サービスを開始しようとするとき、ユーザ端末421〜423は、サービスマネージャ470に送信するサービス開始要求内の動作パラメタに優先度を含める。具体的には、図6のサービス開始要求に含まれている動作パラメタに優先度の値を設定することにすればよい。
サービス開始要求を受けたサービスマネージャ470は、SWリソースマネージャ480とHWリソースマネージャ490に計算資源の割り当てを要求するときに、この優先度も通知する。具体的には、図7のSWリソースの仮予約要求およびHWリソースの仮予約要求に優先度の値を設定することにすればよい。
SWリソースマネージャ480およびHWリソースマネージャ490は、通知された優先度に基づく判断で計算資源の割り当てを決定する。
一例として、優先度が高い方から順に、1、2、3、4、5を表現されるものとする。サーバコンピュータとリコンフィグユニットの両方あるいは一方に空き資源が存在しない状況において、新たにサービス要求が優先度3で発生した場合、既に動作している優先度5のサービスを、システムにより強制終了して計算資源を回収し、新たなサービスに割当てる。
そのために、SWリソースマネージャ480は、図20に示したサーバ稼働状態DB482の実行プログラム管理情報に、更に実行プログラム毎に優先度を記録しておく。そして、新たに要求された情報サービスに計算資源を割り当てるとき、SWリソースマネージャ480は、新たな情報サービスの優先度と実行プログラム管理情報に記録されている優先度を比較し、新たな情報サービスよりも優先度の低い情報サービスを強制終了する。情報サービスの強制終了を行うときにはSWリソースマネージャ480がサービスマネージャ470に対してサービスの終了要求を送り、サービスマネージャ470がSWリソースマネージャ480およびHWリソースマネージャ490に、動作停止、終了化、計算資源の解体・解約を要求する。
同様に、HWリソースマネージャ490は、図20に示したRU稼働状態DB492の実行回路管理情報に、更に実行回路毎に優先度を記録しておく。そして、新たに要求された情報サービスに計算資源を割り当てるとき、HWリソースマネージャ490は、新たな情報サービスの優先度と実行回路管理情報に記録されている優先度を比較し、新たな情報サービスよりも優先度の低い情報サービスを強制終了する。情報サービスの強制終了を行うときにはHWリソースマネージャ490がサービスマネージャ470に対してサービスの終了要求を送り、サービスマネージャ470がSWリソースマネージャ480およびHWリソースマネージャ490に、動作停止、終了化、計算資源の解体・解約を要求する。
以上の動作により、第の実施例では複数のユーザがシステムを共有利用する場合でも優先度の高いサービスを優先的に実行することができる。
(第3の実施例)
図4には、サーバコンピュータ441〜443とリコンフィグユニット451〜453は直接接続されていない構成のシステムを例示した。しかし、本発明はこれに限定されるものではない。他の例としてサーバコンピュータとリコンフィグユニットの間を直接接続し、実行プログラムと実行回路の間の信号をサーバコンピュータとリコンフィグユニットで直接送受信することにしてもよい。
図21は、第3の実施例による情報サービスシステムの構成を示すブロック図である。図21を参照すると、第3の実施例によるシステムは、サーバコンピュータ441とリコンフィグユニット451が接続され、サーバコンピュータ442とリコンフィグユニット452が接続され、サーバコンピュータ443とリコンフィグユニット453が接続されている点で図4のシステムと異なる。これらの接続は、サービス用ネットワーク412やオペレーション用ネットワーク413から分離された専用バスで構成されている。
サーバコンピュータ上に構築された実行プログラムと、そのサーバコンピュータと直接接続されたリコンフィグユニット上に構築された実行回路の間では専用バスでデータが送受信される。ただし、リコンフィグユニット451〜453は、図4のものと同様、サービス用ネットワーク412にも接続されており、ユーザ端末421〜423、他のリコンフィグユニット、直接接続されていないサーバコンピュータとの間では、直接接続されたサーバコンピュータに依存せずにデータの入出力が可能である。
更に本実施例では、リコンフィグユニット451〜453は、サービス用ネットワーク412に対して複数のネットワークインタフェースを有し、内部に複数の実行回路を構築する場合には実行回路毎に独立したネットワークインタフェースを用いる。これにより、データを送受信するときに実行回路間で生じるパケットのコリジョンを低減することができる。そして、特にストリーム処理を円滑化し、ストリーム処理を伴う情報サービスの品質を向上させることができる。
410 通信ネットワーク
411 ネットワークスイッチ
412 サービス用ネットワーク
413 オペレーション用ネットワーク
421 ユーザ端末
430 オペレーション用端末
441〜443 サーバコンピュータ
451〜453 リコンフィグユニット
470 サービスマネージャ
471 サービス構成情報データベース
480 SWリソースマネージャ
481 プログラム情報データベース
482 サーバ稼働状態データベース
490 ハードウェアリソースマネージャ
491 回路構成情報データベース
492 リコンフィグユニット稼働状態データベース

Claims (10)

  1. 割り当てられた実行回路を実体化して該実行回路によって情報サービスのデータ処理を実行し、他のリソースに依存せずにデータの入出力が可能なハードウェアリソースを有するハードウェアリソース群と、
    要求されたハードウェア機能に必要なハードウェアリソースを前記ハードウェアリソース群の中から確保し、確保した前記ハードウェアリソースに該ハードウェア機能の実行回路を実体化させるハードウェアリソースマネージャと、
    ーザから要求された情報サービスに必要なハードウェア機能を判別し、該ハードウェア機能を前記ハードウェアリソースマネージャに要求するサービスマネージャと、を有する情報サービスシステム。
  2. 割り当てられた実行プログラムを実体化し、該実行プログラムによって情報サービスのデータ処理を実行するソフトウェアリソースを有するソフトウェアリソース群と、
    要求されたソフトウェア機能に必要なソフトウェアリソースを前記ソフトウェアリソース群の中から確保し、確保した前記ソフトウェアリソースに該ソフトウェア機能の実行プログラムを実体化させるソフトウェアリソースマネージャと、を更に有し、
    前記サービスマネージャは、前記ユーザから要求された情報サービスに必要なソフウェア機能を更に判別し、該ソフトウェア機能を前記ソフトウェアリソースマネージャに要求する、
    請求項1に記載の情報サービスシステム。
  3. 前記ソフトウェアリソースは、ユーザ端末との通信に用いられるサービス用ネットワークに接続されたサーバコンピュータであり、前記ハードウェアリソースは前記サービス用ネットワークに前記サーバコンピュータと並列に接続されたデバイスである、請求項2に記載の情報サービスシステム。
  4. 前記サーバコンピュータおよび前記デバイスは、前記ソフトウェアリソースマネージャおよび前記ハードウェアリソースマネージャが接続されたオペレーション用ネットワークに更に接続され、
    前記サービスマネージャが前記サービス用ネットワークと前記オペレーション用ネットワークの両方に接続され、前記サービス用ネットワークによって前記ユーザ端末と通信し、前記オペレーション用ネットワークによって前記ソフトウェアリソースマネージャおよび前記ハードウェアリソースマネージャと通信する、
    請求項3に記載の情報サービスシステム。
  5. 前記サーバコンピュータと前記デバイスを直接接続する配線があり、
    前記サーバコンピュータ上の実行プログラムと前記デバイス上の実行回路との間では前記配線で信号を伝送する、
    請求項3または4に記載の情報サービスシステム。
  6. 前記ハードウェアリソースは任意の回路を適宜構築することが可能なリコンフィギャラブルデバイスである、請求項1から5のいずれか1項に記載の情報サービスシステム。
  7. 前記リコンフィギャラブルデバイスが複数個あり、前記複数のリコンフィギャラブルデバイスを同時に複数のユーザの情報サービスにそれぞれ割り当てることができる、請求項6に記載の情報サービスシステム。
  8. 前記リコンフィギャラブルデバイスが複数個あり、前記リコンフィギャラブルデバイス同士を直接接続する配線があり、
    前記リコンフィギャラブルデバイスを跨いて構築される実行回路は該配線でリコンフィギャラブルデバイス間の信号を伝送する、
    請求項6または7に記載の情報サービスシステム。
  9. 雛形回路の構成を表す構成情報と該雛形回路を実行回路に実体化した場合に生じる負荷を示す発生負荷とを含む諸元情報が予め記録された回路構成情報データベースと、
    前記ハードウェアリソースによって実体化されている実行回路と前記ハードウェアリソース群に生じている負荷を示す負荷状況とが記録される稼働状態データベースと、を更に有し、
    前記サービスマネージャは、前記ハードウェア機能を実現するのに用いるべき雛形回路を前記ハードウェアリソースマネージャに通知し、
    前記ハードウェアリソースマネージャは、前記回路構成情報データベースにおける前記雛形回路の発生負荷と、前記稼働状態データベースにおける前記負荷状況とに基づいて、該雛形回路のために確保するハードウェアリソースを決定する、
    請求項1から8のいずれか1項に記載の情報サービスシステム。
  10. 前記ユーザから要求される前記情報サービスには優先度が設定されており、
    前記サービスマネージャは前記ハードウェアリソースマネージャに前記優先度を通知し、
    前記ハードウェアリソースマネージャは、前記情報サービスのハードウェア機能に必要なハードウェアリソースを前記ハードウェアリソース群の中から確保するとき、前記優先度の高い情報サービスを優先させる、
    請求項1から9のいずれか1項に記載の情報サービスシステム。
JP2010119203A 2010-05-25 2010-05-25 情報サービスシステム Active JP5420477B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010119203A JP5420477B2 (ja) 2010-05-25 2010-05-25 情報サービスシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010119203A JP5420477B2 (ja) 2010-05-25 2010-05-25 情報サービスシステム

Publications (2)

Publication Number Publication Date
JP2011248503A JP2011248503A (ja) 2011-12-08
JP5420477B2 true JP5420477B2 (ja) 2014-02-19

Family

ID=45413704

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010119203A Active JP5420477B2 (ja) 2010-05-25 2010-05-25 情報サービスシステム

Country Status (1)

Country Link
JP (1) JP5420477B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5876319B2 (ja) * 2012-02-21 2016-03-02 日本電信電話株式会社 サービス提供システム、サービス提供方法、リソースマネージャ、プログラム
JP2015099445A (ja) * 2013-11-18 2015-05-28 三菱電機株式会社 情報処理装置、デバイス利用方法およびデバイス利用プログラム
JP6438144B2 (ja) * 2015-08-18 2018-12-12 日本電信電話株式会社 リソース構成システム、リソース構成方法及びリソース構成プログラム
JP6620595B2 (ja) 2016-02-25 2019-12-18 富士通株式会社 情報処理システム、情報処理装置、管理装置、処理プログラム、及び処理方法
WO2022038781A1 (ja) * 2020-08-21 2022-02-24 富士通株式会社 通信制御プログラム、通信制御方法および通信制御装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4460512B2 (ja) * 2005-05-06 2010-05-12 株式会社日立製作所 計算機システムおよび計算機制御方法
JP2007272278A (ja) * 2006-03-30 2007-10-18 Pioneer Electronic Corp 分散処理機能を有する信号処理装置および分散処理システム
JP2010044578A (ja) * 2008-08-12 2010-02-25 Toshiba Corp マルチコアプロセッサ

Also Published As

Publication number Publication date
JP2011248503A (ja) 2011-12-08

Similar Documents

Publication Publication Date Title
US11960915B2 (en) Method and apparatus for creating virtual machine based on parameter information of a virtual network interface card
US11494322B2 (en) Computing system with hardware reconfiguration mechanism and method of operation thereof
US10305823B2 (en) Network interface card configuration method and resource management center
KR102199278B1 (ko) 가속 자원 처리 방법 및 장치, 및 네트워크 기능 가상화 시스템
US10318550B2 (en) Systems and methods for autonomous resource discovery, management, and stitching
JP7400105B2 (ja) データ処理方法、装置、分散型データフロープログラミングフレームワーク及び関連コンポーネント
KR102361929B1 (ko) 동적 호스트 디바이스 인스턴스 모델 재구성을 이용한 제공자 네트워크에서의 수용량 관리
CN111698112B (zh) 一种容器化虚拟网络功能vnf的资源管理方法及装置
US11196640B2 (en) Releasing and retaining resources for use in a NFV environment
KR102184512B1 (ko) 관리 방법 및 디바이스
JP5420477B2 (ja) 情報サービスシステム
CN107209642B (zh) 用于控制云环境中的资源的方法和实体
CN110291502B (zh) 一种调度加速资源的方法、装置及加速系统
WO2019160030A1 (ja) サービス提供システム、資源割り当て方法、及び資源割り当てプログラム
KR102036731B1 (ko) 가상화 네트워크 기능 클러스터링 구성 시스템 및 방법
CN111078516A (zh) 分布式性能测试方法、装置、电子设备
EP3629160B1 (en) Method and device for managing vnf instantiation
CN108886476B (zh) 虚拟交换机数据平面和数据平面迁移的多个提供器框架
CN114020408A (zh) 一种任务分片配置方法及装置、设备、存储介质
KR20220118756A (ko) 분리된 데이터 센터 자원 관리 방법 및 장치
JP5533877B2 (ja) データセンタシステム、再構成可能ノード、再構成可能ノード制御方法、再構成可能ノード制御プログラム
CN109257201B (zh) 一种License的发送方法和装置
WO2024069846A1 (ja) 仮想化ネットワーク機能のためのリソース割り当ての動的な変更
CN116954877A (zh) 一种分布式资源共享方法及相关装置
JP2024502038A (ja) スケーリング方法および装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120831

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7426

Effective date: 20130304

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131003

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131008

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131029

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: 20131119

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131120

R150 Certificate of patent or registration of utility model

Ref document number: 5420477

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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