JP2013513838A - コンピュータ・アーキテクチャのプラグ・アンド・プレイ方式のサポートのための方法及びシステム - Google Patents

コンピュータ・アーキテクチャのプラグ・アンド・プレイ方式のサポートのための方法及びシステム Download PDF

Info

Publication number
JP2013513838A
JP2013513838A JP2012542428A JP2012542428A JP2013513838A JP 2013513838 A JP2013513838 A JP 2013513838A JP 2012542428 A JP2012542428 A JP 2012542428A JP 2012542428 A JP2012542428 A JP 2012542428A JP 2013513838 A JP2013513838 A JP 2013513838A
Authority
JP
Japan
Prior art keywords
socket
computer
plug
connection
role
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
Application number
JP2012542428A
Other languages
English (en)
Other versions
JP5719378B2 (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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2013513838A publication Critical patent/JP2013513838A/ja
Application granted granted Critical
Publication of JP5719378B2 publication Critical patent/JP5719378B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45575Starting, stopping, suspending or resuming virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Computer And Data Communications (AREA)

Abstract

【課題】 仮想データ・センタのようなコンピュータ・アーキテクチャ内のコンピュータ・マシン間の接続をプラグ・アンド・プレイ方式で管理するための方法を提供する。
【解決手段】 この方法は、少なくとも1つの接続管理構造体を事前に準備するステップであって、接続管理構造体は、2つのコンピュータ・マシン間のロール・ベースの接続を定義する接続エントリを含み、各接続エントリは、2つのコンピュータ・マシンのうちの一方に割り当てられるソケット・ロールであって、他方のコンピュータ・マシンとの接続を確立するためにソケット・ロールを有するコンピュータ・マシンにより提供されることが必要な情報を表わすソケット属性に関連付けられたソケット・ロールと、他方のコンピュータ・マシンに割り当てられるプラグ・ロールであって、ソケット・ロールを有するコンピュータ・マシンとの接続を確立するために他方のコンピュータ・マシンにより実行されることが必要とされる構成動作を表わすプラグ属性に関連付けられたプラグ・ロールとを定義する当該ステップと、少なくとも1つの接続管理構造体を用いて、コンピュータ・アーキテクチャ内のコンピュータ・マシン間の接続を管理するステップとを含む。
【選択図】 図6

Description

本発明は、一般に、コンピュータ・アーキテクチャに関し、具体的には、そのようなコンピュータ・アーキテクチャ内のコンピュータ・マシン間の接続を管理することに関する。
現代のコンピュータ・システムは次第に複雑になっているので、コンピュータ・システムの据付、維持及びサポートは、ますます困難で費用がかかるようになってきている。このような現代のコンピュータ・システムは、多くの場合、多数の相互依存的なアプリケーションを含んでいるので、全体としてのコンピュータ・システムをユニットとして管理しなければならない。このようなコンピュータ・アーキテクチャにおいては、物理的であれ仮想的であれ、異なるコンピュータ・マシン上で稼働するソフトウェア・アプリケーションが共通のコンピューティング目標を達成することができるように、これらのアプリケーション間の協調(cooperation)を管理する必要がある。しかしながら、相互接続されたソフトウェア・アプリケーションを適切に動作させるためのカスタマイズには、複雑なワークフローが伴う。ソフトウェア・アプリケーションは、一般に予めサイト内にインストールされており、次いで「イメージ化(imaged)」され、次いで新たなコンピュータ・マシン上で「非イメージ化(unimaged)」され、その後、新たなコンピュータ・マシン/ネットワーク用に再構成されて、再び稼働できるようになる。
特に、仮想コンピュータ・システムは、予め構築された(pre−built)ソフトウェア・ソリューションを表わすいくつかの仮想機器を含み、その各々は、ユニットとしてパッケージング、更新、維持及び管理がなされる1つ又は複数の仮想マシン(VM)で構成されている。従来のハードウェア機器とは異なり、これらのソフトウェア機器は、予め組み込まれたソリューションのスタックを、顧客が容易に取得し、配置し、管理することを可能にする。これは、評価のための時間をスピードアップし、ソフトウェアの開発、配布及び管理を単純化する。現行の仮想機器は単一の仮想マシンを含むものが多いが、現代のエンタープライズ・アプリケーション・モデルであるサービス指向アーキテクチャ(SOA)は、各層が1つ又は複数のマシンを含む複数の層を備えている。したがって、単一仮想マシン・モデルは多層サービスを配布するには不十分であるため、仮想機器は、より多くの仮想マシンで構成される必要がある。一例として、典型的なウェブ・アプリケーションは、提示論理を実装するウェブ層と、ビジネス論理を実装するアプリケーション・サーバ層と、バックエンド・データベース層という、3つの層で構成することができる。このようなウェブ・アプリケーションの実装は、これを層ごとに1つの3つの仮想マシンに分割する。
仮想データ・センタのような仮想コンピュータ・アーキテクチャにおいては、複雑な機器の配置及び棄却は、仮想機器を立ち上げるために多数の構成ステップを実行することを必要とする。従来、そのような構成プロセスは、例えばネットワーク情報(IP、ホスト名...)などのオペレーション・システム固有パラメータを割り当てるための初期再構成段階と、異なる仮想マシンにおいて稼働する異なるコンポーネント/製品間の通信、及び異なる仮想マシンにおいて稼働する異なる製品間の通信の確立/解除のための付加的な再構成段階とを必要とする。
現在、これらの再構成は、手動で行われるか、又は静的な値が入力された事前定義スクリプトの呼び出しによる。この手動構成は、時間がかかるものであり、ソフトウェア製品のトポロジが大きくなってますます複雑になり、相互接続されたコンポーネントのカスタマイズのために膨大な数のワークフローを必要とするようになるにつれて、エラーを伴う可能性がある。特に、異なるコンピュータ・マシンにおいて稼働し、異なるライフサイクルで管理されるアプリケーションの手動構成は、しばしば、エンドユーザに悪影響を与えかねない様々な構成上の問題をもたらす。
本発明の課題は、仮想データ・センタのようなコンピュータ・アーキテクチャ内のコンピュータ・マシン間の接続をプラグ・アンド・プレイ方式で管理するための方法を提供することである。
これらの問題及びその他の問題に対処するために、添付の独立請求項1に従うコンピュータ・システム内のコンピュータ・マシン間の接続を管理するための方法、並びにそれぞれ添付の請求項14及び請求項15に従う、コンピュータ・プログラム及びシステムが提供される。好ましい実施形態は、添付の独立請求項に定義される。
したがって、本発明は、コンピュータ・システム内で稼働するコンピュータ・マシンの効率的かつ動的なプラグ・アンド・プレイ・サポートを提供する。これにより、ターゲット環境に配置されたコンピュータ・マシンにおいて既に使用可能なソフトウェア・アプリケーションに対する新たなコンピュータ・マシンにおいて稼働するソフトウェア・アプリケーションの協調を、手動構成ステップを必要とすることなく、真のプラグ・アンド・プレイ(PnP)方式で管理することが可能になる。この構成は、1つ又は複数の接続管理構造体において定義された、所与の構成モデル及びポリシーの組を用いる。
接続管理構造体は、2つのコンピュータ・マシンが関与する各協調について、2つのコンピュータ・マシンのうちの一方に割り当てられるソケット・ロールと、他方のコンピュータ・マシンに割り当てられるプラグ・ロールとを定義する。
各コンピュータ・マシンは、配置時に、そのロール(役割)(ソケット又はプラグ)を取得することができる。したがって、コンピュータ・マシンのロールを静的に事前定義することは必要とされない。
ひとたび確立されると、構成方法は静的ではなく、環境によって又はユーザによりトリガされる動作によって生成されるイベントに基づいてこれを管理し、更新することができる。
本発明のさらなる利点は、図面及び詳細な説明を検討することで当業者には明らかとなろう。いかなる付加的な利点もここに組み入れることが意図される。
以下の説明で言及されるように、IBM及びRationalは、世界中の多数の管轄区域において、インターナショナル・ビジネス・マシーンズ・コーポレーションの商標又は登録商標である。
ここで、本発明の実施形態を添付の図面を参照して例示の目的で説明し、図中、類似の符号は同様の要素を示す。
本発明の実施形態によるコンピュータ・アーキテクチャ内のコンピュータ・マシンのプラグ・アンド・プレイ方式のサポートのためのシステムの高次の図を示す。 本発明の特定の実施形態によるプラグ・アンド・プレイ・システムを示すブロック図である。 プラグ・アンド・プレイ・サポートを必要とする3つのコンピュータ・マシンを含む例示的なターゲット環境を示す図である。 本発明の特定の実施形態による接続管理構造体の構造を示す。 本発明の特定の実施形態によるプラグ・アンド・プレイ・システムを示すブロック図である。 本発明の実施形態によるコンピュータ・マシンの接続を管理するためのフローチャートである。 配置時に、各コンピュータ・マシンに割り当てられるソケット・ロールを処理するためのフローチャートである。 配置時に、各コンピュータ・マシンに割り当てられるプラグ・ロールを処理するためのフローチャートを示す。 本発明の実施形態による、受信したイベントに基づいてコンピュータ・マシンの接続を動的に管理するためのフローチャートを示す。 所与のソケットが関与する接続に関連したイベントの受信に応答して、所与のソケットを再処理するためのフローチャートを示す。 所与のプラグが関与する接続に関連したイベントの受信に応答して、所与のプラグを再処理するためのフローチャートを示す。 本発明の特定の実施形態によるプラグ・アンド・プレイ・システムの例示的な実装を示す。 本発明の実施形態による、コンピュータ・マシン間の接続を管理するための例示的なユーザ・インターフェースの状態を示す。 本発明の実施形態による、コンピュータ・マシン間の接続を管理するための例示的なユーザ・インターフェースの状態を示す。
本発明の図面は、必ずしも縮尺通りのものではないことに注意されたい。図面は、単なる模式的な表現であり、本発明の特定のパラメータを描写することを意図するものではない。図面は、本発明の典型的な実施形態のみを示すことを意図するものであり、従って、本発明の範囲を限定するものとして考えるべきではない。
さらに、詳細な説明は、本発明の実施形態により用いられる構造体の例を示す付表E1により補完される。付表E1は、詳細な説明を分かり易くするため、及び参照を容易にするために、別途配置した。
本特許文書の開示の一部は、著作権保護の対象となり得る資料を含む。著作権者は、何人による、米国特許商標庁の特許ファイル又は記録に出ているとおりの本特許文書又は特許の開示のファクシミリでの複製にも異議はないが、それ以外の場合には、著作権及び/又は著者の権利の一切を留保する。
図1は、本発明の特定の実施形態による接続管理システム100の高次の図を示す。
接続管理システム100は、コンピュータ・アーキテクチャ200内のコンピュータ・マシン220、221、222、223及び224の間の接続をプラグ・アンド・プレイ方式で管理するために提供される。接続管理システム100は、以下「プラグ・アンド・プレイ」システムと称される。本説明において、「接続」及び「協調」という用語は、ターゲット環境内で共通のコンピューティング目標を達成するため及び/又は情報を交換するために2つのコンピュータ・マシンをアセンブルする又はリンクするプロセスを表す、同様の意味で用いられる。
図1に示される例示的なコンピュータ・アーキテクチャ200は、インターネット及び/又はローカル・ネットワークのような1つ又は複数のネットワークにより互いに接続された、サーバ(220、221、221)及びデータベース(223)のようなコンピュータ・マシン220−224の分散型ネットワークを含む。メッセージは、システムのコンポーネント間で流れる。
コンピュータ・アーキテクチャ200内の各コンピュータ・マシンは、多数の予めインストールされたソフトウェア・アプリケーション(独立型アプリケーション又はソフトウェア製品のようなアプリケーション・パッケージ)を含む。これは、異なるコンピュータ・マシン220−224間のワークフローにより特徴付けられるソフトウェア・トポロジを定義する。本発明の実施形態によるプラグ・アンド・プレイ・システム100は、異なるコンピュータ・マシンにインストールされたソフトウェア・アプリケーションが、共通のコンピューティング目標を達成するため及び/又は情報(例えば、エンドユーザに対する製品サービス)を交換するために、互いに接続し、かつ協調することを可能にする。
コンピュータ・マシン220−224は、コンピュータ・アーキテクチャ200が稼働する環境のタイプに応じて、物理マシン又は仮想マシンとすることができる。環境は、物理環境、仮想環境又は異種環境とすることができる。物理マシンは、限定はしないが、クライアント・コンピュータ、サーバ・コンピュータ、携帯型コンピュータ、埋込み型コントローラ、携帯型情報端末などを含む任意のタイプのコンピュータ、情報処理システム又はその他のプログラム可能電子デバイスを含む。
プラグ・アンド・プレイ・システム100がコンピュータ・アーキテクチャ200から分離して示されていたとしても、プラグ・アンド・プレイ・システム100を完全に又は部分的にコンピュータ・アーキテクチャ200内に含めることができることが、当業者には容易に理解されるであろう。
図2は、本発明の特定の実施形態によるプラグ・アンド・プレイ・システム100の詳細図を示す。
プラグ・アンド・プレイ・システム100は、コンピュータ・アーキテクチャ200内の2つのコンピュータ・マシン22間のロール(役割)ベースの協調をどのように確立するかを定義する、以下「ステレオケーブル・アダプタ」と称される1つ又は複数の接続管理構造体21を含む。
本説明において、「ステレオケーブル」という語は、本発明の実施形態によるプラグ・アンド・プレイ・システム100により管理されるコンピュータ・マシン間の接続を示すために用いられる。プラグ・アンド・プレイ・システム100は、コンピュータ・マシンがターゲット環境内に配置されたときに自動的に互いを認識してプラグ・アンド・プレイ方式で協調を確立することができるように、コンピュータ・マシン間の接続を管理する。
ステレオケーブル・アダプタは、2つのコンピュータ・マシン22間の各接続についてコンピュータ・マシンのロールを定義するいくつかの接続エントリ又はステレオケーブル・エントリを含むことができる。より詳細には、ステレオケーブル・アダプタ21内の各接続エントリは、接続に関与するコンピュータ・マシンのうちの一方に割り当てられるプラグ・ロールと、接続に関与する他方のコンピュータ・マシンに割り当てられるソケット・ロールとを定義する。
ステレオケーブル・エントリは、例えばRational Software Architectのようなモデル化ツールなどの特定のユーザ・インターフェースを用いてイメージを構築するときに、ステレオケーブル・カタログからステレオケーブル接続を選択すること可能にするユーザ・インターフェースから定義することができる。代替的に、ステレオケーブル・エントリは、例えば、カタログ内で事前定義されたステレオケーブルのリストからステレオケーブル接続をイメージに追加し、次いでイメージ内にインストールされた関連付けられたエンジンに対してそれらを配置することにより、それらを配置する前に事前定義することができる。ひとたび受信されると、新たなステレオケーブル接続は、処理される。このことは、基本イメージから始めて、配置前にプラグ・アンド・プレイ方式でサポートすべき全ての接続を追加することができるようになる可能性を与える。
ステレオケーブル・アダプタ21はさらに、ソケット・ロールを有するコンピュータ・マシンが他のコンピュータ・マシンとの接続を確立するために提供することが必要とされる情報を表わす、ソケット・ロールのためのソケット属性と、プラグ・ロールを有するコンピュータ・マシンがソケット・ロールを有する他のコンピュータ・マシンとの接続を確立するために実行することが必要とされる情報を表わす、プラグ・ロールのための構成動作とを定義する。
本発明の実施形態によれば、コンピュータ・アーキテクチャ内のコンピュータ・マシン22間の接続は、ステレオケーブル・アダプタ21を用いて管理される。このような方式で、コンピュータ・マシンを共通のコンピューティング目標及び/又は情報交換を達成するように動的に接続及び構成することが可能であり、ロール・ベースの協調に関与する各コンピュータ・マシンの構成は、同じロール・ベースの協調に関与する他のコンピュータ・マシンによって公表された又は発行されたある種の値に基づく。
これにより、本発明は、ターゲット環境に配置されたときにいかなる手動構成段階も必要とすることなくプラグ・アンド・プレイ方式で協調を確立するように自動的に互いを認識することが可能なコンピュータ・マシンの組に対応する、動的「ステレオ」機器を定義及び管理する。
図3は、3つの仮想マシン225、226及び227、即ち、仮想マシンVM1により表わされるTWSユーザ・インターフェース225(TES_UI)(TWSは、IBM Tivoli Workload Schedulerを意味する)、仮想マシンVM2により表わされるTWSサーバ226(TWS_server)、及び仮想マシンVM3により表わされるITMサーバ227(ITM_server)(ITMは、IBM Tivoli Monitoringを意味する)を含む、ターゲット仮想環境内に配置された、例示的なコンピュータ・アーキテクチャを示す。図示されるように、3つの接続、即ち、TWS_UI225とTWS_SERVER226との間の第1のロール・ベースの協調C1と、TWS_SERVER226とITM_SERVER227との間の第2のロール・ベースの協調C2と、TWS_UI225とITM_SERVER227との間の第3のロール・ベースの協調C3とが、ステレオケーブル・アダプタ21からプラグ・アンド・プレイ・システム100により確立されている。
図4は、本発明の特定の実施形態によるステレオケーブル・アダプタ21の構造を示す。図示されるように、コンピュータ・アーキテクチャ内の2つのコンピュータ・マシン22間の所与の接続に関連付けられた、ステレオケーブル・アダプタ21内の各ステレオケーブル・エントリ又は「ステレオケーブル」210は、2つのコンピュータ・マシン22のうちの一方に割り当てられた少なくとも1つのソケット・セクション又はソケット・ロール2101と、他方のコンピュータ・マシン22に割り当てられた少なくとも1つのプラグ・セクション又はプラグ・ロール2100とを含む。
ソケット・セクション又は「ソケット」2101は、所与の環境で稼働するソケット・ロールを有するコンピュータ・マシン(例えば、図3の例におけるTWS_Server226)が、同じ環境で稼働する別のコンピュータ・マシン(例えば、図3の例におけるTWS_UI225)との協調を確立するために提供することが必要とされる情報を記述する。マシン22は、ソケット・ロールが割り当てられたときに、ソケット定義により要求される情報を発行する。
例えば、発行される情報は、サーバのステータスについて(例えば、guestInfo.stereocables.socket.TWS_SERVER.status=“Enabled”)、サーバのポートについて(例えば、guestInfo.stereocables.socket.TWS_SERVER.port=“1234”)、ユーザについて(guestInfo.stereocables.socket.TWS_SERVER.user=“pciano”)又はサーバのタイプについて(guestInfo.stereocables.socket.TWS_SERVER.type=“distributed”)の情報を含むことができる。
プラグ2100は、所与の環境で稼働する所与のコンピュータ・マシンが、同じ環境で稼働する別のコンピュータ・マシンとの協調を確立するために実行することが必要とされる動作を記述する。マシンは、プラグ・ロールが割り当てられたときに、対応するソケット・ロールの役割を果たすマシンを探し当て、発行されたソケット情報を取得し、プラグ定義に記述された動作を実行する。プラグ動作に加えて、プラグは、関連したソケットが除去/更新されたときに実行すべきアンプラグ動作(例えば、ユーザ・インターフェースが(UI)接続することができるエンジン候補のリストからそのサーバを除去すること)をさらに含むことができる。
本発明による特定の実施形態において、ステレオケーブル・アダプタ21は、各マシン22にロードされる構成ファイルとして、特にXMLファイルとして定義することができる。例示的なXMLステレオケーブル・ファイル21は、付表E1に示される。付表E1に示されるように、XMLステレオケーブル・アダプタ内の各ステレオケーブル・エントリは、プラグ・セクション「<PlugSection>」内に、例えば「<PlugID>TWS_UI</PlugID>」のような1つ又は複数のプラグ定義を含む。
プラグ・セクション2100内の各プラグは、プラグ・ロールを有するコンピュータ・マシン(例えば、TWS_UI)を識別するプラグID(例えば「Plug ID1」)と、例えばタグ「<ConfigurationActions>」により識別される、ステレオケーブル接続のために実行することが必要とされる構成動作のパラメータを定義する構成動作サブセクションとを含むことができる。サブセクション<ConfigurationAction>内の各構成動作は、トリガ・タグ「<trigger>」の値を定義することができる(例えば、<trigger>の「deployment」値は、その構成が配置時に一度だけ呼び出されるべきものであることを指示するが、例えば「VM Start」のようなその他の<trigger>値は、その構成が仮想マシン「VM」が開始されるたびに呼び出されることを指示する)。このサブセクション<ConfigurationAction>内の各構成動作はさらに、「<ActionType>」のようなタグを用いて動作タイプ(例えば、動作タイプは「script」値を有する)を定義し、その動作の構成パラメータを(例えば「<ConfigurationParameter>」タグを用いて)定義し、「<Operation>」のようなタグにより識別される、その動作に伴う演算(例えば「/pino/driver4/scripts/TWSUI.sh」)を定義することができる。
ソケット・セクション2101内の各ソケットは、ソケット・ロールを有するコンピュータ・マシン(例えば、「TWS_Server」)を識別するソケットID、例えばタグ「<PublishedParameters>」により識別される、ソケット属性を定義する発行パラメータ・サブセクション、又は例えばタグ「<ConfigurationParameter>」により識別される構成パラメータを含むことができる。各構成パラメータの定義は、例えばタグ<ConfigurationName>により識別される構成名(例えば「host」)と、例えばタグ<ConfigurationValue>により識別される構成値(例えば「nc125050.location.ibm.com」)とを含むことができる。
ソケット・セクション2101及びプラグ・セクション2100は、例えばタグ「<Condition>」により指示される、プラグ又はソケットを処理するために満たされるべき条件を記述する条件サブセクションをさらに含むことができる。これは、検討されているステレオケーブルと別のステレオケーブルとの間での従属条件であり得る。以下の例は、例示的な条件サブセクションを示す。
Figure 2013513838
この例によれば、ソケットは、TSAM_TPM_END_POINTプラグがアクティブである場合にのみ処理される。
図2に戻ると、プラグ・アンド・プレイ・システム100はさらに、以下「ステレオケーブル・エンジン」と称される、少なくとも1つの接続管理ユニット23も含む。本発明による特定の実施形態において、各コンピュータ・マシン22に、それぞれのステレオケーブル・エンジン23を設けることができる。代替的に、各プラグ・アンド・プレイ・システム100は、図5に示されるように、別個のコンポーネント上、又は他のコンピュータ・マシンを管理することができる一意のコンピュータ・マシン上で稼働する、一意のステレオケーブル・エンジン23を含むことができる。図5は、ステレオケーブル・アダプタ21と全てのコンピュータ・マシン22とに接続された、コンピュータ・アーキテクチャ200内での接続を管理するための一意のステレオケーブル・エンジン23を示す。
以下の説明は、例示のみの目的で、図2に示されるような、コンピュータ・マシン22ごとに関連付けられた1つのステレオケーブル・エンジン23を含むプラグ・アンド・プレイ・システム100を参照して行う。
図2を参照すると、対応するマシン22に関連付けられた各ステレオケーブル・エンジン23は、配置時に、そのマシンに割り当てられたロールをステレオケーブル・アダプタ21内に収容された情報に従って処理するように適合される。各ステレオケーブル・エンジン23はまた、ステレオケーブル・アダプタ21を用いて、コンピュータ・アーキテクチャ200内のコンピュータ・マシン関連のイベント、例えば仮想データ・センタ型のコンピュータ・アーキテクチャにおける新たな仮想マシンの配置又は既存の仮想マシンの除去に基づいて、コンピュータ・アーキテクチャ構成を動的に管理するように規定されている。
ステレオケーブル・アダプタ21は、各コンピュータ・マシン22内の例えば専用ディレクトリ内にローカルに格納される場合もあり、あるいはデータベースのような外部記憶手段上に格納される場合もある。ステレオケーブル・アダプタが外部記憶装置内に格納されている実施形態においては、インターネットのようないずれかの既知の公衆又は専有のローカル又は広域のネットワークなどの適切な通信手段を通じてステレオケーブル・アダプタを取得するように、ステレオケーブル・エンジンを記憶装置に結合することができる。
本発明によるプラグ・アンド・プレイ・システム100は、使用可能なソケットを追跡し、制約条件に基づいて要求されたときにこれらのソケットをプラグに提供する、以下「ステレオケーブル・レジストリ」と称されるリポジトリ24をさらに含むことができる。リポジトリ24は、ステレオケーブル接続に関与するコンピュータ・マシンごとに1つのエントリを含むことができ、エントリごとに、
−コンピュータ・マシン識別子である「SystemID」、
−(「systemid」で識別されたコンピュータ・マシンと、接続に関与する他のコンピュータ・マシンとの間の)ステレオケーブル接続を識別する「ステレオケーブル(stereocable)」属性、
−そのステレオケーブル接続について、SystemIDにより識別されるコンピュータ・マシンのロール(プラグ又はソケット)を識別するロール(role)属性、
を含む、一組の属性を含むことができる。
レジストリ24内の各エントリはさらに、
−SystemIDで識別されたコンピュータ・マシンの環境を識別する環境(environment)属性、
−SystemIDで識別されたコンピュータ・マシンの名称を識別する名称(name)属性、
−そのエントリに関連付けられたコンピュータ・マシンのホスト名を識別する「ホスト名(hostname)」属性、
−そのエントリに関連付けられたコンピュータ・マシンのポートを識別する「ポート(port)」属性、及び
−コンピュータ・マシンのステータスを識別するステータス(status)属性(アクティブ又は非アクティブ)
などの、その他の属性を含むことができる。
さらに、リポジトリは、ステレオケーブル接続が確立されたときにそれを示す、プラグ・ロールを有するコンピュータ・マシン用の接続ステータス属性(「接続(connected)」属性)を含むことができる。
以下の2つのエントリは、仮想コンピュータ・アーキテクチャにおける、プラグ・ロールを有する第1の仮想マシンVM1とソケット・ロールを有する第2の仮想マシンVM2との間のステレオケーブル接続について、リポジトリ24に格納された例示的なエントリである。

SYSTEMID: VM2
StereoCable: (TWS_UI,TWS_SERVER)
Role: socket
Environment: TEST
Hostname:gciano.location.ibm.com
Port: 13331
Name: tws_distributed
User: tws85mdm
Status: active

SYSTEMID: VM1
StereoCable: (TWS_UI,TWS_SERVER)
Role: plug
Connected: VM2:TWS_SERVER
Status: active
Environment: TEST

代替的に、コンピュータ・マシン22は、上記の情報をステレオケーブル・アダプタから直接発行し、発行された情報を、ステレオケーブル・レジストリ24内への格納を要さず共有することができる。
プラグ・アンド・プレイ・システム100はまた、プラグ・アンド・プレイ・システム100内に維持されたプラグ及びソケット情報からコンピュータ・マシン接続の表示を動的に生成する、以下、ステレオケーブル・ユーザ・インターフェース(UI)と称されるユーザ・インターフェース25を含むこともできる。ステレオケーブル・ユーザ・インターフェース25は、ステレオケーブル・レジストリ24から、又はコンピュータ・マシン22にロードされたステレオケーブル・アダプタから直接、プラグ及びソケット情報にアクセスすることができる。
プラグ・アンド・プレイ・システム100に、コンピュータ・アーキテクチャ200(例えば、仮想データ・センタ)内のデータフロー交換を管理するためのコンピュータ・アーキテクチャ・マネジャ26を設けることもできる。特に、コンピュータ・アーキテクチャ・マネジャ26は、新たな仮想マシンの作成、仮想マシンの除去、又はソケットの発行/除去のような、コンピュータ・アーキテクチャ内のイベントに関連した情報を格納することができる。コンピュータ・アーキテクチャ・マネジャ26は、コンピュータ・アーキテクチャ200内で検知されたイベントに関連した情報を、適切な通信手段を通じてステレオケーブル・エンジン23に通信する。これにより、ステレオケーブル・エンジン23は、コンピュータ・アーキテクチャ内で生じている変化について常に知らされ、これらの変化を考慮してコンピュータ・マシン間の協調を管理することができる。
ひとたび配置時に確立されると、ステレオケーブル接続は、コンポーネントのライフサイクルを通じて、プラグ・アンド・プレイ・システム100により動的に管理される。ステレオケーブル・エンジン23は、接続を起動し、解除し、又は再起動するために、新たな各イベント(例えば、仮想データ・センタ型コンピュータ・アーキテクチャにおける新たな仮想マシン22の配置又は既存の仮想マシン22の除去など)を処理する。
ステレオケーブル・エンジン23は、ソケットが発行されたとき、更新されたとき、又は除去されたときに、変化を通知するためにイベントを生成することもできる。
図6は、配置時のステレオケーブル接続の初期化、並びにコンピュータ・アーキテクチャ200内で生成されたイベントに基づくコンピュータ・マシンのライフサイクル中のステレオケーブルの動的管理を説明するフローチャートを示す。
ステレオケーブルの初期化段階中に、ステレオケーブル接続のソケット・ロールを有するコンピュータ・マシンは、ステレオケーブル・アダプタ21内に維持されたソケット定義により要求される情報を発行する。発行された情報から、次にプラグ・コンピュータ・マシンが、対応するソケットを有するそれぞれのコンピュータ・マシンとの協調を確立する。ステレオケーブル初期化段階はまた、所与のステレオケーブル接続についてのプラグ・ロールを有する各コンピュータ・マシンが、要求されるソケット・ロールの役割を果たす他のコンピュータ・マシンを探し当て、発行されたソケット情報を取得し、プラグ定義に記述された動作を実行することも可能にする。
より詳細には、ステレオケーブル・エンジン23は、ステップ601において処理を開始する。処理は、配置時にトリガすることができる。
ステップ602において、これは、処理に必要な情報を取得するためにレジストリ24に接続する。
ステップ602は、エンジンにより用いられる例えばSLP(サービス・ロケーション・プロトコル)などのプロトコルが許可する場合には、レジストリの自動検出を用いて行うことができる。
ステップ603において、ステレオケーブル・エンジンは、コンピュータ・マシン・ロール、及びコンピュータ・マシンが属する環境をレジストリ24から取得する。
レジストリ24は、コンピュータ・アーキテクチャにおけるコンピュータ・マシン・ロールについてのステレオケーブル・エントリを格納しており、所与のコンピュータ・マシンについての各エントリは、ロール(プラグ又はソケット)と、そのコンピュータ・マシンとステレオケーブル接続に関与する他方のコンピュータ・マシンとの間のステレオケーブル接続と、そのマシンが属する環境とを識別するものである。
ステップ604において、コンピュータ・マシンに関連付けられたステレオケーブル・アダプタ21が取得される。ステレオケーブル・アダプタ21がコンピュータ・マシン内にローカルに格納されていない実施形態においては、ステレオケーブル・エンジン23は、適切な通信手段を通じて外部記憶装置からステレオケーブル・アダプタ21を取得し、次に、取得したステレオケーブル・アダプタをコンピュータ・マシン内に格納することができる。
ステップ605において、ステレオケーブル・エンジン23は、コンピュータ・マシンに関連付けられたソケット接続を処理する(段階A)。ソケット接続処理段階は、コンピュータ・マシンに割り当てられた各ソケット・ロールのソケット属性を発行し、対応するソケットを起動するように行われる。
ステップ606において、ステレオケーブル・エンジン23は、プラグ接続を処理する(段階B)。プラグ接続処理段階は、コンピュータ・マシンに割り当てられた各プラグ・ロールを処理し、各プラグ・ロールについて、要求されるソケット・ロールの役割を果たす他のコンピュータ・マシンを識別し、発行されたソケット情報を取得し、発行されたソケット情報を用いて、プラグ定義に記述された動作を実行するように行われる。
ひとたびコンピュータ・マシンに割り当てられたソケット及びプラグ・ロールの初期化が完了すると、コンピュータ・マシンのライフサイクル中に、コンピュータ・アーキテクチャ内で生成されるイベントに基づいてステレオケーブルを動的に管理するために段階Cが行われる。
図7は、ソケット接続を処理する段階A(ステップ605)を示すフローチャートである。
ステップ701において、ステレオケーブル・エンジンは、コンピュータ・マシンに関連付けられたステレオケーブル・アダプタ21をロードし、処理されているコンピュータ・マシンのステレオケーブル機能全体を無効にする。ステレオケーブル機能全体を無効にすることにより、それ自体のプラグを処理しているその他のステレオケーブル・エンジンが、不完全なソケット情報にアクセスすることが防止される。
以下のステップは、ステップ603において識別されたコンピュータ・マシン・ロールのうちの1つと等しい、ステレオケーブル・アダプタ21内に収容された各ソケット・ロールについて行われる(ステップ702)。
ステップ703において、ステレオケーブル・エンジン23は、ステレオケーブル・アダプタのソケット・セクションが、検討されているステレオケーブルと別のステレオケーブルとの間の従属条件を定義しているかどうかチェックする(<condition>サブセクションにおいて)。ソケットsocketID1の従属条件は、「別のソケットsocketID2が既にアクティブである場合にのみsocketID1を処理する」又は「plugID4がアクティブである場合にのみsocketID1を処理する」などのように、例えば、socketID1の処理が別のソケットの状態に依存することを表すものとすることができる。ソケットが従属条件を含む場合には、ステレオケーブルは、従属条件が満たされているかどうかチェックする。従属条件が満たされていない場合には、検討されているソケットの発行に関連したイベントの受信に応答して後で処理するために、ステップ704において、ソケットは作業キューに加えられる。従属条件が満たされている場合には、ステップ705において、現在のソケットの属性がステレオケーブル・アダプタから取得される。
ステップ706において、ソケット属性が発行又は公表される。ソケット属性はレジストリ24において発行することができ、それらが発行される方式は、レジストリの実装技術に依存する。例えば、レジストリがVMware技術(VMwareは、米国及び/又はその他の管轄区域におけるVMware,Inc.の登録商標又は商標である)によるものである場合には、VI(VMware Infrastructure)SDKを用いてソケット属性を発行することができ、レジストリがSLP(サービス・ロケーション・プロトコル)ディレクトリ・エージェントである場合には、発行は、SLP API(アプリケーション・プログラミング・インターフェース)を通じて行うことができる。
ステップ707において、ステレオケーブル・エンジンは、ソケットがアクティブであることを示す情報(ソケット・ステータス)を発行する。
ステップ708において、発行されたソケットについてのイベントが生成される。図2に示される実施形態において、発行されたソケットに関連したイベントは、コンピュータ・アーキテクチャ200内で発生するイベントを管理するコンピュータ・アーキテクチャ・マネジャ26に送られる。コンピュータ・アーキテクチャ・マネジャ26は、関連付けられたプラグを処理するためにソケットの発行を待機しているステレオケーブル・エンジン23を識別し、識別されたステレオケーブル・エンジン23がプラグの処理を開始できるように、ソケットの発行に関連したイベントをこれらのエンジンに送信するように適合されている。
ステップ709において、ステータス属性が「active」値を有する(例えば、Status:active)、発行されたソケットに関連するエントリが、レジストリ24内に加えられる。このエントリは、ソケット・ロールを有するコンピュータ・マシンの識別子(例えば、「SYSTEMID:VM2」)、ステレオケーブルの識別子(例えば、「StereoCable:(TWS_UI,TWS_SERVER)」)、コンピュータ・マシンのロール(例えば、「Role:socket」)、コンピュータ・マシンの環境(例えば、「Environment:TEST」)、並びにコンピュータ・マシンのホスト名、ポート、名称及びユーザ識別子などのその他の属性のような、発行されたソケットの属性を含むこともできる。
ステップ603において識別されたコンピュータ・マシン・ロールのうちの1つと合致したステレオケーブル・アダプタ内の各ソケット・ロールについて、ステップ702から709を反復することによって上記ステップが繰り返される。全てのソケット・ロールが処理されたら、ソケットの処理は終了し、そのコンピュータ・マシンのステレオケーブル機能全体がステップ710において有効にされる。
図8は、プラグ接続を処理する段階B(ステップ606)を示すフローチャートである。
検討されているコンピュータ・マシンに割り当てられた各プラグ・ロールについて、この処理Bは、そのコンピュータ・マシンが、ソケット・ロールの役割を果たす他のコンピュータ・マシンとの間で確立すべき接続を識別し、要求されるソケット・ロールを有するこれらのコンピュータ・マシンにより発行されたソケット情報を取得し、プラグ定義に記述された構成動作を実行して接続を確立することを可能にする。
ステップ801において、プラグ接続の処理が開始される。
ステップ802において、ステレオケーブル・エンジンは、コンピュータ・マシンに関連付けられた(コンピュータ・マシンにローカルに格納されていない場合には、ステップ604においてコンピュータ・マシンにロードされた)ステレオケーブル・アダプタ21にアクセスする。
以下のステップは、ステップ603において識別されたコンピュータ・マシン・ロールのうちの1つと等しい、ステレオケーブル・アダプタ21内の各プラグ・ロールについて行われる。
ステップ803において、ステレオケーブル・エンジン23は、プラグが、そのプラグとその他のステレオケーブルとの間の条件を定義する従属条件サブセクションを含むかどうかチェックする。従属条件が含まれている場合には、ステレオケーブル・エンジン23は、条件が満たされているかどうか判断する。従属条件が満たされていない場合には、後で処理するために、ステップ804において、プラグは作業キューに加えられる。
従属条件が満たされている場合には、ステレオケーブル・エンジンは、ステップ805において、ステレオケーブル・アダプタから、現在のプラグにより要求されるソケット情報の取得を開始する。これは、要求されたソケットを提供する同じ環境に属するコンピュータ・マシンを発見し、必要としているソケットについての情報を発行することを含む。
ステップ805において要求されるソケット・ロールを有するコンピュータ・マシンが発見されない場合には、ステップ806において、プラグは作業キューに加えられる。
ステップ703、803及び806における作業キューは、別々の作業キューを形成してもよく、又はステレオケーブル・エンジンが稼働しているところにローカルに格納される一意のキューを形成してもよい。
そうでない場合には、ステップ805において、要求されるソケット・ロールを有する一意のコンピュータ・マシン又は複数のコンピュータ・マシンのどちらかが見いだされているはずである。ステップ805において複数のコンピュータ・マシンが発見された場合には、ステップ807において、ステレオケーブル・アダプタ21内で定義されている、例えば「最初に見出されたソケットを選択する」又は「特定の属性の値に基づいてソケットを選択する」といった規則に基づいて、どのコンピュータ・マシンを選択すべきかが決定される。
ステップ808において、レジストリ24を用いて、要求されるソケット・ロールを有する識別されたコンピュータ・マシンについて、ソケットのステータスがアクティブかどうか判断される。識別されたコンピュータ・マシンは、ステップ805において見出されたコンピュータ・マシン、又はステップ805において複数のコンピュータ・マシンが発見された場合にステップ807において選択されたコンピュータ・マシンのいずれかを指す。識別されたコンピュータ・マシンのステータスがアクティブである場合には、対応する発行されたソケットの属性がレジストリ24から取得され、そのプラグ・ロールについてステレオケーブル・アダプタ内で定義された構成動作が呼び出され、発行されたソケットの属性がパラメータとして渡される。構成動作は、値を戻し、これはステレオケーブル・エンジンによりチェックされる。得られた値が、成功(successful)である場合には、構成の実装は成功したが、そうでない場合には、実装は成功しなかった。
次に、そのプラグが現在アクティブであるという情報(プラグ・ステータス)及びプラグ属性が、ステップ810において発行される。
ステップ811において、発行されたプラグについてのイベントが生成され、コンピュータ・アーキテクチャ・マネジャ26に送られる。
ステップ812において、ステータス属性が「active」に設定されたそのプラグについてのエントリが、レジストリ24に加えられる。このエントリは、プラグ・ロールを有するコンピュータ・マシンの識別子(例えば、「SYSTEMID:VM1」)、ステレオケーブル識別子(例えば、「SteroCable:(TWS_UI,TWS_SERVER)」)、コンピュータ・マシンのロール(例えば、「role:plug」)、コンピュータ・マシンの環境(例えば、「Environment:TEST」)、及び、どのソケットにそのプラグが接続されているかを示す情報(例えば、「Connected:IMAGE2:TWS_SERVER」)を含む、多数の属性を含むことができる。
ステップ603において識別されたコンピュータ・マシン・ロールのうちの1つと合致したステレオケーブル内の各プラグ・ロールについて、ステップ803から812を反復することによって上記ステップが繰り返される。
全てのプラグ・ロールが処理されたら、プラグ接続の処理は終了する。
図9は、動的段階Cにおいてステレオケーブルを動的に処理するためのフローチャートを示す(ステップ607)。
ステレオケーブルの動的処理は、ステップ900で開始される。
ステレオケーブルの動的処理は、接続に関連した変化が生じたとき(例えば、コンピュータ・マシンの除去)、ソケットがアクティブになったとき、コンピュータ・マシンが使用可能になったときなど、コンピュータ・アーキテクチャ200内で生成されるステレオケーブル接続に関連したイベントを考慮して実行される。
ステップ901は、ステレオケーブルのイベント(ソケット生成、ソケット除去、ソケットの発行/除去、又は仮想マシンの配置/棄却など)、及び特定のロール(プラグ又はソケット)を有するコンピュータ・マシンについてのマシン関連イベント(仮想マシンの配置、仮想マシンの棄却など)の収集を開始する。このステップは、図2に示された実施形態において、ステレオケーブル・エンジン23とコンピュータ・アーキテクチャ・マネジャ26との間の通信を通じて行うことができる。
ステップ902は、ステップ901の結果としてイベントが受信されたかどうか判定する。受信されていなければ、ステップ902においてイベントが受信されるまで、ステップ901とステップ902とが周期的に繰り返される。
イベントが受信されたなら、イベントに関連する情報がステップ903において取得される。この情報は、コンピュータ・アーキテクチャ・マネジャ26が提供することができる。
ステップ904において、受信したイベントが作業キュー内に存在するステレオケーブルに関連したものであるかどうかが、ステップ903で取得されたイベント情報に基づいて判定される。
ステレオケーブルが作業キューに格納されている場合には、ステップ905において、ステレオケーブルが作業キューから取得される。
ステップ906において、ステレオケーブルがソケットに対応するかどうか判定される。ソケットである場合には、ステップ907において、図7に関して説明したようにソケット接続が処理される(段階A)。
そうではなく、ステレオケーブルがプラグに対応する場合には、ステップ908において、図8に関して説明したようにプラグ接続が処理される(段階B)。
ステレオケーブルが作業キュー内で見つからなかった場合には(ステップ904)、ステップ909において、そのイベントが、レジストリ24内でエントリが生成されたステレオケーブルに関連したものであるかどうかが判定される。そうでない場合には、新たなイベントが受信されるまで、処理はステップ902に戻る。
そうではなく、ステレオケーブル・レジストリ24が、検討されているステレオケーブルについてのエントリを含む場合には、ステップ910において、ステレオケーブルがレジストリから取得される。ステップ911は、次に、ステレオケーブルがステップ912においてソケットと対応するかどうか判定する。これがソケットを表わす場合には、ステップ912において、ソケット接続再発行処理が行われる(段階D)。この事例は、要求されたアクティブなソケットを発行する新たなコンピュータ・マシンの発見に関連したイベント、又は要求されたアクティブなソケットを発行するコンピュータ・マシンの除去に関連したイベントに対して生じ得る。
そうではなく、ステレオケーブルがプラグを表わす場合には、ステップ913において、プラグ接続が再処理される(段階E)。この事例は、ステレオケーブル・レジストリ24内にエントリを有するプラグによって現在用いられているソケットを発行するコンピュータ・マシンの除去に関連したイベントに対して生じ得る。
図10は、ソケット接続の再発行を記述するフローチャートである(段階D)。ソケット接続の再発行は、例えば、幾つかの発行された情報が変更されたことを原因としてトリガされ得る。
ステップ1001において、ソケット接続再発行プロセスDが開始される。
ステップ1002において、ステレオケーブル・エンジンは、コンピュータ・マシンに関連付けられたステレオケーブル・アダプタ21をロードし、そのコンピュータ・マシンについてのステレオケーブル機能全体を無効にする。
ステップ1003において、受信されたイベントについての、ステップ911において識別されたアクティブなソケット属性が、ステレオケーブル・アダプタから取得される。
ステップ1004において、ソケット属性が発行される又は公表される。
ステップ1005において、ソケットがアクティブであるという情報(ソケットステータス)が発行される。
ステップ1006において、発行されたソケットについてのイベント、例えば、例示的なイベント:
「Event_ID = STEREOCABLES_SOCKET_PUBLISHED | STEREOCABLES_PLUG_PUBLISHED | POVERED_OFF | POVERED_ON | REMOVED
Event_Info= plugID or socketID
Event_Source = computing_machine_id
Event_Date
Event_Time」
が生成される。
図2に示された実施形態において、発行されたソケットに関連したイベントは、コンピュータ・アーキテクチャ・マネジャ26に送られる。
ステップ1007において、発行されたソケットに関連したエントリが、レジストリ24内で更新される。
ステップ1008において、ソケット接続再発行処理は、終了する。
図11は、プラグ接続の再処理の段階Eを記述するフローチャートである(ステップ913)。段階Eは、例えば、ソケットを含むコンピュータ・マシンが環境から除去され、これに接続されたプラグが、接続を確立するためにその環境内の新たなソケットを探す必要があるときにトリガされ得る。
ステップ1101において、プラグ接続再処理プロセスDが開始される。
ステップ1102において、ステレオケーブル・アダプタ21がロードされる。
ステップ1103において、アクティブなプラグについてステレオケーブル・アダプタ内で定義された構成動作が呼び出され、関連付けられたソケットの発行されたソケット属性がパラメータとして渡される。発行された属性は、レジストリ24から取得される。
ステップ1104において、そのプラグが現在アクティブであるという情報(プラグ・ステータス)が発行される。
ステップ1105において、アンプラグドされた(unplugged)プラグについてのイベントが送信される。ソケットがもはや使用可能でなくなっている場合には、プラグももはやそのソケットには接続されておらず、次いでアンプラグされる。ステップ1106において、そのプラグについてのエントリが作業キューに加えられる。次に、プラグ接続は、ステップ1107において、段階A(図7)に従って処理される。
ステップ1108において、プラグ接続の再発行処理は、終了する。
図12は、仮想データ・センタ型のコンピュータ・アーキテクチャへの本発明の例示的な適用を示す。仮想コンピュータ・アーキテクチャに限定するわけではないが、本発明は、そのようなアーキテクチャにとって特に有利である。
図示されるように、レジストリ24は、いくつかの仮想マシン・エントリ240、241を格納し、仮想マシン22についての各エントリは、所与のステレオケーブル接続についてそのマシンに割り当てられたロールを識別する。例えば、1つのエントリ240は、仮想マシンVM2(「TWS_server」)に関連したものであり、これはステレオケーブル接続(TWS_UI,TWS_server)についてのものであり、そのためにVM2は、環境TESTにおけるSOCKETロールを割り当てられている。このエントリはまた、ソケット属性である、「ホスト名」、「ポート」、「名称」、「ユーザ」を指定する。別のエントリ241は、仮想マシンVM1(「TWS_UI」)について表わされたものであり、これは環境TESTにおける同じステレオケーブル接続(TWS_UI,TWS_server)についてのものであり、VM1にはこの接続についてPLUGロールが割り当てられていることを示す。本発明の実施形態によれば、ステレオケーブル初期化段階において、VM2は、最初に、そのロールをレジストリ24から取得し、環境TESTについてのソケットTWS_SERVERのソケット属性を発行又は公表する。VM1は、そのロールをレジストリ24から取得する。これは環境TESTにおけるTWS_UIプラグであるので、同じ環境についてのTWS_SERVERソケット情報を取得する。これは、次にプラグ・スクリプトを実行し、発行されたソケット属性を用いて構成動作を実行することにより、ケーブル又は接続を起動する。
図13及び図14は、例示的なステレオケーブル・ユーザ・インターフェース25の、異なるステータスを示す。ステレオケーブル・ユーザ・インターフェース25を用いて、データ・センタ内のマシン間のステレオケーブル接続が表示され、確立された接続並びに関連したプラグ及びソケットについての詳細な情報が提供される。図13において、ITMサーバとTWSマスタとの間のステレオケーブル接続SC1、及びTWSサーバとTWSウェブ・ユーザ・インターフェースとの間の別の接続SC2が、環境TEST内に存在することが示される。TWS_serverには、ソケット・ロールが割り当てられ、このソケットはアクティブであること、一方、ITM_UAにはプラグ・ロールが割り当てられ、プラグはアクティブであることが示される。ステレオケーブル・ユーザ・インターフェース25は、ステレオケーブル・レジストリ24内に収容されたデータから動的に生成することもでき、又はマシンから受信されるデータから直接生成することもできる。
ステレオケーブルユーザ・インターフェース25にはさらに、新たなステレオケーブルをカスタマイズするための強化されたドラッグ・アンド・ドロップ機能を設けることができる。図14は、そのようなドラッグ・アンド・ドロップ機能を有する例示的なステレオケーブル・インターフェース25を表わす。図示されるように、このインターフェースは、ユーザが、切断された仮想マシン「ITM_6.2.1」をドラッグして、「TWS_85」にドロップすることを可能にする。この動作は、2つの仮想マシン間に新たなステレオケーブルを生成する。レジストリ内に既に存在するステレオケーブル候補のリストを示すこともでき、あるいは新たなステレオケーブルを白紙の状態から作成することも可能であり得る。
したがって、本発明は、物理的な環境で稼働する製品/コンポーネントを真のプラグ・アンド・プレイ方式で自動的に構成するための、効率的なソリューションを提供する。さらに、本発明は、新たなコンピュータ・マシンにおいて稼働する製品/コンポーネントを、ターゲット環境内に既に配置されたコンピュータ・マシンにおいて使用可能なアプリケーション/コンポーネントに対して、真のプラグ・アンド・プレイ方式で自動的に構成することも可能にする。
特に、本発明によるコンピュータ・システムを構成する方法及びシステムは、ステレオケーブル構造体により表わされる一組の所与の構成モデル及びポリシーに従って、製品/コンポーネントを動的に構成することを可能にする。各コンピュータ・マシンに割り当てられるロールを静的な方法(ソケットID及びプラグID)で事前定義する必要はない。対照的に、各マシンは、配置時に、又はその全ライフサイクル中にステレオケーブル接続に影響を与える変化があった場合に、そのロール及び割り当てられたステレオケーブルをステレオケーブル・エンジンから取得することができる。
ステレオケーブル内に記述される構成は、例えば自動構成のサポート若しくはステレオケーブル・ユーザ・インターフェースを通じた手動確認を求めるプロンプトを要求するポリシーのような、ポリシーに基づいて確立することもでき、又は制約条件の組(例えば、プラグは特定のプロパティを有するソケットにのみ接続できること、又は、1つのソケットは100より多くのプラグの接続をサポートできないこと)を満たすように確立することもできる。
ひとたび確立されると、構成は、静的ではなく、環境によって又はステレオケーブル・ユーザ・インターフェースからユーザによりトリガされる動作(例えば、新たなステレオケーブルを仮想マシンに加えること)によって生成されるイベントに基づいて、動的に管理及び更新することができる。
ステレオケーブル・アダプタ内に記述された構成動作は、例えば以下のトリガイベント:
−ソケットの発行、更新又は除去
−仮想マシンの配置又は除去
−仮想マシンの開始又は停止、等
のような、様々なトリガタイプに基づいて開始することができる。
構成値は、静的には定義されないが、ステレオケーブル構造体に記述されているように、ローカル・スクリプト、リモート・スクリプト、ウェブサービス等を呼び出す様々な方式で動的に取得することができる。例えば、ソケットは、それを必要とするプラグからリアルタイムで発見され、取得される幾つかの構成情報を発行することができる。
本発明の実施形態はまた、一般的なイベント(例えば、仮想マシンのスタートアップ/シャットダウン)だけでなく、(特に)もっと細かいイベント、例えば
−新たなソケットS1の発行:この場合、それを待機しているプラグを保持するマシンは、公表された情報を取得し、必要とされる構成を起動させる
−ソケットS2の更新:既にこれに接続されていたマシンは、公表された情報を取得し、必要とされる再構成プロセスを開始する
−ソケットS3の除去/停止:既にこれに接続されていたマシンは、必要な切断プロセスを開始し、次に構成プロセスを再始動する
を生成及び処理することにより、真の動的インフラストラクチャを提供する。
本発明により、共通のコンピューティング目標を達成し、及び/又は情報を交換するために、ソフトウェア・アプリケーションを動的に接続し、プラグ・アンド・プレイ方式で構成することができる。協調するコンピュータ・マシンの構成は、他のコンピュータ・マシンにより公表又は発行された幾つかの値に基づいて自動的に実行される。コンピュータ・マシン間での協調及び共通のコンピューティング目標を達成できるようにするために、手動構成ステップは必要とされない。本発明によるソリューションは、配置時のみならず、コンピュータ・マシンのライフサイクルの任意の時点で、透過的な接続管理を保証する。コンピュータ・アーキテクチャ内の接続(既に確立されたもの又は未だ確立されていないもの)に影響を与える可能性があるコンピュータ・アーキテクチャのいかなる変化も、コンピュータ・マシン間の協調を動的に管理するために考慮される。
本発明は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態、又はハードウェアとソフトウェアの要素の両方を含む実施形態の形態をとることができる。好ましい実施形態においては、本発明は、ソフトウェアとして実装され、これは、限定されるものではないが、ファームウェア、常駐ソフトウェア、マイクロコード等を含む。
さらに、本発明は、コンピュータ若しくは任意の命令実行システムによって又はそれらと組み合わせて用いられるプログラム・コードを提供する、コンピュータ使用可能媒体又はコンピュータ可読媒体からアクセス可能なコンピュータ・プログラム製品の形態をとることができる。この説明の目的については、コンピュータ使用可能媒体又はコンピュータ可読媒体は、命令実行システム、装置若しくはデバイスによって又はそれらと組み合わせて用いられるプログラムを収容し、格納し、通信し、伝搬し、又は移送することができる任意の有形の装置とすることができる。
媒体は、電子、磁気、光学、電磁気、赤外線若しくは半導体のシステム(又は装置若しくはデバイス)又は伝搬媒体とすることができる。コンピュータ可読媒体の例として、半導体メモリ又は固体メモリ、磁気テープ、リムーバブル・コンピュータ・ディスケット、ランダム・アクセス・メモリ(RAM)、読み出し専用メモリ(ROM)、剛性磁気ディスク及び光ディスクが挙げられる。光ディスクの現在の例として、コンパクト・ディスク−読み出し専用メモリ(CD−ROM)、コンパクト・ディスク−読み出し/書き込み(CD−R/W)及びDVDが挙げられる。
プログラム・コードを格納及び/又は実行するのに適したデータ処理システムは、システム・バスを通じて直接的又は間接的にメモリ要素に結合される少なくとも1つのプロセッサを含むものとすることができる。メモリ要素は、プログラム・コードの実際の実行中に使用されるローカル・メモリと、大容量記憶装置と、実行中に大容量記憶装置からコードを取り出す回数を減らすために少なくとも幾つかのプログラム・コードを一時的に格納するキャッシュ・メモリとを含むことができる。
入力/出力又はI/O装置(キーボード、ディスプレイ、ポインティング・デバイス等を含むが、これらに限定されない)は、直接的に又は介在するI/Oコントローラを通して、システムに結合することができる。
介在する私設ネットワーク又は公衆ネットワークを通して、データ処理システムを他のデータ処理システム又は遠隔のプリンタ若しくは記憶装置に結合することができるように、ネットワーク・アダプタをシステムに結合することもできる。モデム、ケーブル・モデム及びイーサネット・カードは、現在利用可能なタイプのネットワーク・アダプタのうちのほんの一部に過ぎない。
本発明の説明を例示及び説明の目的で提示してきたが、これは、網羅的であることも、本発明を開示された形態に限定することも意図していない。多くの修正及び変更が当業者には明らかであろう。実施形態は、本発明の原理、実際の用途を最も良く説明するため、及び、当業者が、意図される特定の使用に適したものとして種々の修正を有する種々の実施形態について本発明を理解できるように、選択され、かつ説明された。
付表1
Figure 2013513838
21:ステレオケーブル・アダプタ
22、220、221、222、223、224:コンピュータ・マシン
23:ステレオケーブル・エンジン
24:リポジトリ又はレジストリ
25:ステレオケーブル・ユーザ・インターフェース
26:コンピュータ・アーキテクチャ・マネジャ
100:プラグ・アンド・プレイ・システム
200:コンピュータ・アーキテクチャ
210:ステレオケーブル
225:TWSユーザ・インターフェース
226:TWSサーバ
227:ITMサーバ
240、241:仮想マシン・エントリ
2100:プラグ・セクション
2101:ソケット・セクション

Claims (15)

  1. コンピュータ・アーキテクチャ内のコンピュータ・マシン間の接続を管理するための方法であって、
    少なくとも1つの接続管理構造体を事前に準備するステップであって、前記接続管理構造体が、2つのコンピュータ・マシン間のロール・ベースの接続を定義する接続エントリを含み、各接続エントリが、前記2つのコンピュータ・マシンのうちの一方に割り当てられるソケット・ロールであって、他方のコンピュータ・マシンとの接続を確立するために前記ソケット・ロールを有するコンピュータ・マシンにより提供されることが必要とされる情報を表わすソケット属性に関連付けられたソケット・ロールと、前記他方のコンピュータ・マシンに割り当てられるプラグ・ロールであって、前記ソケット・ロールを有する前記コンピュータ・マシンとの接続を確立するために前記他方のコンピュータ・マシンにより実行されることが必要とされる構成動作を表わすプラグ属性に関連付けられたプラグ・ロールとを定義する、当該ステップと、
    前記少なくとも1つの接続管理構造体を用いて、前記コンピュータ・アーキテクチャ内の前記コンピュータ・マシン間の接続を管理するステップと
    を含む方法。
  2. 前記少なくとも1つの接続管理構造体が、各コンピュータ・マシンにロードされる構成ファイルを含む請求項1に記載の方法。
  3. 前記接続を管理するステップが、配置時に、各コンピュータ・マシンについて、前記少なくとも1つの接続管理構造体から前記コンピュータ・マシンに割り当てられた各ソケット・ロールを識別するステップと、識別された各ソケットを処理するステップとを含む、前記請求項のいずれかに記載の方法。
  4. 前記識別された各ソケットを処理するステップが、前記ソケットについての従属条件が満たされているかどうかに応じて決まり、前記コンピュータ・マシンに割り当てられた前記ソケット・ロールが前記従属条件を満たさない場合には、前記ソケットをキューに入れることを含む、請求項3に記載の方法。
  5. 前記接続を管理するステップが、前記少なくとも1つの接続管理構造体の接続エントリに関連したイベントの受信に応答して、前記接続エントリが、ソケット・ロールに関連付けられているかどうかを識別し、そうである場合には、前記識別されたソケットを処理することを含む、請求項1から請求項3までのいずれかに記載の方法。
  6. 前記識別されたソケットを処理するステップが、前記少なくとも1つの接続管理構造体において前記ソケットに関連付けられた前記ソケット属性を発行することを含む請求項3から請求項5までのいずれかに記載の方法。
  7. 前記識別されたソケットを処理するステップが、前記発行されたソケットのアクティブなステータスを発行すること、及び前記発行されたソケットについてのイベントを生成することをさらに含む請求項3から請求項6までの前記請求項のいずれかに記載の方法。
  8. 前記接続を管理するステップが、配置時に、各コンピュータ・マシンについて、前記少なくとも1つの接続管理構造体から前記コンピュータ・マシンに割り当てられた各プラグ・ロールを識別するステップと、識別された各プラグ・ロールを処理するステップとをさらに含む前記請求項のいずれかに記載の方法。
  9. 前記識別された各プラグ・ロールを処理するステップが、前記識別されたプラグについての従属条件が満たされているかどうかに応じて決まり、前記識別されたプラグが前記従属条件を満たさない場合には、前記識別されたプラグをキューに入れることを含む、請求項8に記載の方法。
  10. 前記接続を管理するステップが、前記少なくとも1つの接続管理構造体における接続エントリに関連したイベントの受信に応答して、前記接続エントリが、プラグ・ロールに関連付けられているかどうかを識別し、そうである場合には、前記識別されたプラグを処理することを含む、前記請求項のいずれかに記載の方法。
  11. 前記識別された各プラグを処理するステップが、前記少なくとも1つの接続管理構造体から、前記コンピュータ・アーキテクチャ内のコンピュータ・マシンの中から前記プラグにより要求される前記ソケット・ロールを有するコンピュータ・マシンを識別することを含む、前記請求項8から請求項10までのいずれかに記載の方法。
  12. 前記識別された各プラグを処理するステップが、前記要求されるソケット・ロールを有する前記識別されたコンピュータ・マシンの中の選択された1つのコンピュータ・マシンに関連付けられた前記発行されたソケット情報を取得すること、及び前記発行されたソケット情報を用いて、前記プラグ内に記述された前記構成動作を実行することをさらに含む請求項11に記載の方法。
  13. 前記プラグに関連した情報及び前記発行されたプラグについてのアクティブなステータスを発行すること、及び前記発行されたプラグについてのイベントを生成することをさらに含む、請求項12に記載の方法。
  14. コンピュータ・プログラムが適切なコンピュータデバイス上で実行されたときに請求項1から請求項13までのいずれか1項に記載の方法のステップを実行するための命令を含む、コンピュータ・プログラム。
  15. 請求項1から請求項13までのいずれか1項に記載の方法のステップを実行するように適合されたシステム。
JP2012542428A 2009-12-10 2010-11-16 コンピュータ・アーキテクチャのプラグ・アンド・プレイ方式のサポートのための方法及びシステム Active JP5719378B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP09178756.4 2009-12-10
EP09178756 2009-12-10
PCT/EP2010/067592 WO2011069782A1 (en) 2009-12-10 2010-11-16 A method and a system for plug and play support of computer architectures

Publications (2)

Publication Number Publication Date
JP2013513838A true JP2013513838A (ja) 2013-04-22
JP5719378B2 JP5719378B2 (ja) 2015-05-20

Family

ID=43530152

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012542428A Active JP5719378B2 (ja) 2009-12-10 2010-11-16 コンピュータ・アーキテクチャのプラグ・アンド・プレイ方式のサポートのための方法及びシステム

Country Status (4)

Country Link
JP (1) JP5719378B2 (ja)
CN (1) CN102652307B (ja)
TW (1) TW201140445A (ja)
WO (1) WO2011069782A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9134988B2 (en) 2010-11-23 2015-09-15 International Business Machines Corporation Managing pre-requisite of a software product virtual image
GB2508160A (en) 2012-11-21 2014-05-28 Ibm Avoiding conflicts between computing machines
GB2519114A (en) 2013-10-10 2015-04-15 Ibm Distribution of a service implemented by intra-connected virtual machines
CN111341456B (zh) * 2020-02-21 2024-02-23 中南大学湘雅医院 糖尿病足知识图谱生成方法、装置及可读存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009098909A1 (ja) * 2008-02-04 2009-08-13 Nec Corporation 仮想アプライアンス配備システム
WO2009104400A1 (ja) * 2008-02-22 2009-08-27 日本電気株式会社 情報処理装置、情報処理システム、設定プログラム送信方法及びサーバ設定プログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6865371B2 (en) * 2000-12-29 2005-03-08 International Business Machines Corporation Method and apparatus for connecting devices via an ad hoc wireless communication network
CN1916854A (zh) * 2005-08-19 2007-02-21 联想(北京)有限公司 一种管理与配置虚拟机的系统和方法
US8327350B2 (en) * 2007-01-02 2012-12-04 International Business Machines Corporation Virtual resource templates
US20080256535A1 (en) * 2007-04-10 2008-10-16 Novell, Inc. Tessellated virtual machines for common computing goals

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009098909A1 (ja) * 2008-02-04 2009-08-13 Nec Corporation 仮想アプライアンス配備システム
WO2009104400A1 (ja) * 2008-02-22 2009-08-27 日本電気株式会社 情報処理装置、情報処理システム、設定プログラム送信方法及びサーバ設定プログラム

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
CSNG200900524180; 梅田雅一: '仮想Linux環境を活用したSaaS型ネットワーク構築演習システムの開発' マルチメディア,分散,協調とモバイル(DICOMO2009)シンポジウム論文集 情報処理学会シンポジ 第2009巻,第1号, 20090701, p.1457-1464, 社団法人情報処理学会 *
JPN6014039485; 梅田雅一: '仮想Linux環境を活用したSaaS型ネットワーク構築演習システムの開発' マルチメディア,分散,協調とモバイル(DICOMO2009)シンポジウム論文集 情報処理学会シンポジ 第2009巻,第1号, 20090701, p.1457-1464, 社団法人情報処理学会 *
JPN6014039486; Sapuntzakis, C.: 'Virtual Appliances for Deploying and Maintaining Software' Proceeding LISA '03 Proceedings of the 17th USENIX conference on System administration , 2003, p.181-194 *

Also Published As

Publication number Publication date
WO2011069782A1 (en) 2011-06-16
CN102652307A (zh) 2012-08-29
JP5719378B2 (ja) 2015-05-20
CN102652307B (zh) 2016-08-03
TW201140445A (en) 2011-11-16

Similar Documents

Publication Publication Date Title
US11405274B2 (en) Managing virtual network functions
US11385938B2 (en) Cloud platform system
US9448822B2 (en) System and method for managing a virtual machine environment
CN104410672B (zh) 网络功能虚拟化应用升级的方法、转发业务的方法及装置
JP6329547B2 (ja) クラウドコンピューティング環境で使用するサービス管理エンジンを提供するためのシステムおよび方法
US8141090B1 (en) Automated model-based provisioning of resources
US7565310B2 (en) Method and system and program product for a design pattern for automating service provisioning
US9053580B2 (en) Data processing environment integration control interface
CN112437915A (zh) 云平台上监测多个集群和应用程序的方法
CN112424750A (zh) 云平台上的多集群供应及管理办法
WO2024077885A1 (zh) 容器集群的管理方法、装置、设备及非易失性可读存储介质
US9116874B2 (en) Virtual machine test system, virtual machine test method
WO2009098909A1 (ja) 仮想アプライアンス配備システム
US20100064009A1 (en) Method and Apparatus for a Common Cluster Model for Configuring, Managing, and Operating Different Clustering Technologies in a Data Center
CN112424752A (zh) 云平台上应用程序容器的卷(存储)供应方法
US11966768B2 (en) Apparatus and method for multi-cloud service platform
US20170048331A1 (en) Platform runtime abstraction
EP3883183A1 (en) Virtualization management method and device
WO2015057188A1 (en) Package dependency maps for distributed computing
JP5719378B2 (ja) コンピュータ・アーキテクチャのプラグ・アンド・プレイ方式のサポートのための方法及びシステム
US20130074068A1 (en) Method, System, and Computer Program for Implementing a Customizable Virtual Appliance
JP6393612B2 (ja) システムのバックアップ装置及びバックアップ方法
CN109491762B (zh) 容器状态控制方法及装置、存储介质、电子设备
US20130159973A1 (en) Activation logic generation for a software appliance
JP5492253B2 (ja) 制御装置、制御方法および制御プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130905

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140822

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140924

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141114

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150320

R150 Certificate of patent or registration of utility model

Ref document number: 5719378

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150