JP2005539320A - 自己管理分散計算システムを構築する方法、コンピュータ・プログラム、およびデータ処理システム(自己管理計算処理システム) - Google Patents

自己管理分散計算システムを構築する方法、コンピュータ・プログラム、およびデータ処理システム(自己管理計算処理システム) Download PDF

Info

Publication number
JP2005539320A
JP2005539320A JP2004537040A JP2004537040A JP2005539320A JP 2005539320 A JP2005539320 A JP 2005539320A JP 2004537040 A JP2004537040 A JP 2004537040A JP 2004537040 A JP2004537040 A JP 2004537040A JP 2005539320 A JP2005539320 A JP 2005539320A
Authority
JP
Japan
Prior art keywords
component
proposed
conditions
data processing
processing system
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.)
Pending
Application number
JP2004537040A
Other languages
English (en)
Other versions
JP2005539320A5 (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 JP2005539320A publication Critical patent/JP2005539320A/ja
Publication of JP2005539320A5 publication Critical patent/JP2005539320A5/ja
Pending legal-status Critical Current

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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Multi Processors (AREA)

Abstract

【課題】「自律的要素」からなる自己管理分散計算処理システムを構築する方法、コンピュータ・プログラム、およびデータ処理システムを提供すること。
【解決手段】「自律的要素」からなる自己管理分散計算処理システムを構築する方法、コンピュータ・プログラム、およびデータ処理システムが開示される。自律的要素はサービス・セットを提供し、それを他の自律的要素に提供することができる。自律的要素間の関連には、そのようなサービスの提供および消費が含まれる。これらの関連は、それが、システムの各部分が実装され、または配置されるときではなく、システムの動作中に確立され得るという意味で、「遅延バインド」される。これらの関連は、関連が、時間の経過にとともに開始し、終了し、変化し得るという意味で、動的である。これらの関連は、その関連を確立する要素間の相互通信のプロセスによってそこに到達するという意味で、折衝されるものである。

Description

本発明は、一般に、改良型のデータ処理システムに関し、詳細には、ハードウェアおよびソフトウェア・コンポーネントを管理する方法および装置に関する。より詳細には、本発明は、機能要件を達成するためにハードウェアおよびソフトウェア・コンポーネントを自動的に識別し、自己管理する方法および装置に関する。
現代の計算処理技術は、限りなく複雑で、絶え間なく変化する環境を生み出している。1つのそのような環境がインターネットであり、これを「インターネットワーク」ともいう。インターネットは、データ転送、および送信側ネットワークのプロトコルから受信側ネットワークによって使用されるプロトコルへメッセージの変換を処理するゲートウェイによって相互に結合された、おそらく異種のコンピュータ・ネットワークの集合である。大文字で始まるとき、「インターネット」という用語は、TCP/IPプロトコル・スイートを使用するネットワークおよびゲートウェイの集まりをいう。現在、インターネットを介してデータを転送する際に最も一般に用いられる方法は、単に「Web(ウェブ)」とも呼ばれる、ワールド・ワイド・ウェブ環境を用いるものである。ファイル転送プロトコル(FTP)やゴーファ(Gopher)といった、情報を転送する他のインターネット・リソースも存在するが、Webほどの人気を得ていない。Web環境では、サーバおよびクライアントは、様々なデータ・ファイル(例えばテキスト、静止画像、音声、動画など)の転送を処理する公知のプロトコルである、ハイパーテキスト転送プロトコル(HTTP)を用いてデータ・トランザクションを行う。様々なデータ・ファイル中の情報は、標準ページ記述言語であるハイパーテキスト・マークアップ言語(HTML)によってユーザへの提示のためにフォーマットされる。また、インターネットは、ブラウザを用いてユーザにアプリケーションを転送するのにも広く使用される。しばしば、ユーザは、インターネットを介してソフトウェア・パッケージをサーチし、それを入手することがある。
他の種類の複雑なネットワーク・データ処理システムには、大企業での作業を円滑に行わせるために作成されたものが含まれる。多くの場合、これらのネットワークは、世界中の様々な場所にある諸地域にまたがることがある。また、これらの複雑なネットワークは、業務を行うための仮想製品ネットワークの一部としてインターネットを使用することもある。これらのネットワークは、そのネットワーク内で使用されるソフトウェアを管理し、更新する必要によりさらに複雑になる。
ソフトウェアが発展してますます「自律的」になるにつれて、ハードウェアおよびソフトウェアを管理する作業は、管理者によって行われるのではなく、ますます、コンピュータ自体によって行われるようになる。コンピュータ・システムを管理する現在の機構は、コンピュータ・システムが自己構成、自己最適化、自己防御、および自己修復を行う「自律的」プロセスに向かいつつある。例えば、多くのオペレーティング・システムおよびソフトウェア・パッケージは、ユーザ指定要件に基づいて特定のソフトウェア・コンポーネントを自動的に探す。これらのインストールおよび更新機構は、しばしば、更新または必要とされるコンポーネントが存在するかどうか調べるために事前に選択された場所でインターネットに接続する。更新などのコンポーネントが存在する場合、ユーザにメッセージが提示され、そこでユーザにそのコンポーネントをダウンロードし、インストールすべきかどうか尋ねる。そのようなシステムの一例がオープンソースのDebian GNU/Linux(デビアン・グヌー/リナックス)オペレーティング・システムの一部であるパケット管理プログラム「dselect」である。いくつかのウイルス検査プログラムはバックグラウンドで(Unix(R)用語を用いるために「デーモン」プロセスとして)走り、ウイルスを自動的に検出し、それらを除去し、損傷を修復することができる。
ElmasriおよびNavathe、「データベース・システムの基本(Fundamentalsof Database Systems)」、第3版、アディソン・ウェスレイ(Addison Wesley)、(2000)、41〜66頁
「自律的」計算処理に向けての次のステップには、ユーザ介入を必要とせずに必要なハードウェアおよびソフトウェア・コンポーネントを識別し、インストールし、管理することが伴う。したがって、当分野では、ハードウェアおよびソフトウェア・コンポーネントを識別し、インストールし、構成し、管理するより自動化されたプロセスが求められている。
本発明は、「自律的要素」からなる自己管理分散計算処理システムを構築する方法、コンピュータ・プログラム、データ処理システムを対象とする。自律的要素は、サービス・セットを提供し、それを他の自律的要素に提供することができる。自律的要素間の関連には、そのようなサービスの提供および消費が含まれる。これらの関連は、それが、システムの各部分が実装され、または展開されるときではなく、システムの動作中に確立され得るという意味で、「遅延バインド」される。これらの関連は、関連が、時間の経過にとともに開始し、終了し、変化し得るという意味で、動的である。これらの関連は、その関連を確立する要素間の相互通信のプロセスによってそこに到達するという意味で、折衝(negotiated)されるものである。制約条件および基本設定を含むポリシーが自律的要素に対して指定され得る。自律的要素によって確立される任意の関連は、その自律的要素のポリシーと整合性が取れなければならない。関連の過程で、自律的要素は、その挙動をそのポリシーと整合するように調整しようと試みなければならない。
本発明の新規の特徴であると考えられる特性は、添付の特許請求の範囲に記載されている。しかしながら、本発明自体、ならびにその好ましい使用形態、さらなる目的および利点は、以下の例示的実施形態の詳細な説明を添付の図面と併せて読めば、最もよく理解されるであろう。
次に図を参照すると、図1には、本発明が実施され得るデータ処理システムのネットワークの絵図が示されている。ネットワーク・データ処理システム100は、本発明が実施され得るコンピュータのネットワークである。ネットワーク・データ処理システム100はネットワーク102を含み、それは、ネットワーク・データ処理システム100内で相互に接続された様々な装置およびコンピュータの間の通信リンクを提供するのに使用される媒体である。ネットワーク102は、有線、無線通信リンクや、光ファイバ・ケーブルなどの接続を含み得る。
図示の例では、サーバ104は、記憶装置106と共にネットワーク102に接続される。また、クライアント108、110、112もネットワーク102に接続される。これらのクライアント108、110、112は、例えば、パーソナル・コンピュータやネットワーク・コンピュータとすることができる。図示の例では、サーバ104は、クライアント108〜112に、ブート・ファイル、オペレーティング・システム・イメージ、アプリケーションなどのデータを提供する。クライアント108、110、112はサーバ104に対するクライアントである。ネットワーク・データ処理システム100は、図示しない他のサーバ、クライアント、他のデバイスを含み得る。図示の例では、ネットワーク・データ処理システム100は、伝送制御プロトコル/インターネット・プロトコル(TCP/IP)プロトコル・スイートを使用して相互にやりとりするネットワークおよびゲートウェイの世界規模の集まりを表すネットワーク102を含むインターネットである。インターネットの中心には、データおよびメッセージを経路指定する何千もの商用、政府機関、教育機関などのコンピュータ・システムからなる、主要ノードまたはホスト・コンピュータ間の高速データ通信回線のバックボーンがある。当然ながら、ネットワーク・データ処理システム100は、例えば、イントラネット、ローカル・エリア・ネットワーク(LAN)、広域ネットワーク(WAN)など、いくつかの異なる種類のネットワークとして実施することもできる。図1は一例を示すためのものであり、本発明をアーキテクチャ的に限定するものではない。
図2を参照すると、本発明の好ましい実施形態による、図1のサーバ104などのサーバとして実施され得るデータ処理システムの構成図が示されている。データ処理システム200は、システム・バス206に接続された複数のプロセッサ202、204を含む対照型マルチプロセッサ(SMP)システムとすることができる。代替として、シングル・プロセッサ・システムを用いることもできる。システム・バス206には、メモリ・コントローラ/キャッシュ208も接続され、それがローカル・メモリ209へのインターフェイスを提供する。入出力バス・ブリッジ210はシステム・バス206に接続され、入出力バス212へのインターフェイスを提供する。メモリ・コントローラ/キャッシュ208および入出力バス・ブリッジ210は、図示ように統合され得る。
入出力バス212に接続された周辺装置相互接続(PCI)バス・ブリッジ214は、PCIローカル・バス216へのインターフェイスを提供する。PCIローカル・バス216にはいくつかのモデムが接続され得る。典型的なPCIバス実装形態は、4つのPCI拡張スロットまたはアドイン・コネクタをサポートする。図1のクライアント108〜112への通信リンクは、アドイン・ボードによってPCIローカル・バス216に接続されたモデム218およびネットワーク・アダプタ220を介して提供され得る。
追加のPCIバス・ブリッジ222、224は、追加のPCIローカル・バス226、228のためのインターフェイスを提供し、そこから追加のモデムまたはネットワーク・アダプタをサポートすることができる。このようにして、データ処理システム200は、複数のネットワーク・コンピュータへの接続を可能にする。図示のように入出力バス212には、直接または間接に、メモリマップ・グラフィック・アダプタ230およびハード・ディスク232も接続され得る。
図2に示すハードウェアは多様であることを当分野の技術者は理解するであろう。例えば、図示のハードウェアに加えて、またはその代わりに、光ディスク・ドライブなど他の周辺装置を使用することもできる。図示の例は、本発明に関するアーキテクチャ上の限定を示唆するためのものではない。
図2に示すデータ処理システムは、例えば、拡張対話式エグゼクティブ(AIX)オペレーティング・システムまたはLinuxオペレーティング・システムを走らせる、米国ニューヨーク州アーモンク(Armonk, New York)所在のインターナショナル・ビジネス・マシーンズ社の製品、IBM eServer pSeriesシステムとすることができる。
次に図3を参照すると、本発明が実施され得るデータ処理システムを示す構成図が示されている。データ処理システム300は、クライアント・コンピュータの一例である。データ処理システム300は、周辺装置相互接続(PCI)ローカル・バス・アーキテクチャを用いる。図示の例はPCIバスを用いるが、アクセラレーテッド・グラフィックス・ポート(AGP)や産業標準アーキテクチャ(ISA)など他のバス・アーキテクチャも使用され得る。プロセッサ302およびメイン・メモリ304はPCIブリッジ308を介してPCIローカル・バス306に接続される。PCIブリッジ308は、プロセッサ302のための統合されたメモリ・コントローラおよびキャッシュ・メモリも含み得る。直接コンポーネント接続によって、またはアドイン・ボードを介して、PCIローカル・バス306への追加接続を行うこともできる。図示の例では、ローカル・エリア・ネットワーク(LAN)アダプタ310、SCSIホスト・バス・アダプタ312、および拡張バス・インターフェイス314は、直接コンポーネント接続によってPCIローカル・バス306に接続される。それとは対照的に、オーディオ・アダプタ316、グラフィックス・アダプタ318、およびオーディオ/ビデオ・アダプタ319は、拡張スロットに挿入されたアドイン・ボードによってPCIローカル・バス306に接続される。拡張バス・インターフェイス314は、キーボードおよびマウス・アダプタ320、モデム322、および追加メモリ324のための接続を提供する。小型コンピュータ・システム・インターフェイス(SCSI)ホスト・バス・アダプタ312は、ハード・ディスク・ドライブ326、テープ・ドライブ328、およびCD−ROMドライブ330のための接続を提供する。典型的なPCIローカル・バス実装形態は、3つまたは4つのPCI拡張スロットまたはアドイン・コネクタをサポートする。
オペレーティング・システムはプロセッサ302上で走り、図3のデータ処理システム300内の様々なコンポーネントを調整し、その制御を実現するのに使用される。オペレーティング・システムは、マイクロソフト社から入手可能なWindows(R)XPなど、市販のオペレーティング・システムとすることができる。Java(R)などのオブジェクト指向プログラミング・システムは、オペレーティング・システムと共に走り、データ処理システム300上で実行されるJava(R)プログラムまたはアプリケーションからオペレーティング・システムへの呼び出しを提供することができる。「Java(R)」はサン・マイクロシステムズ社の商標である。オペレーティング・システム、オブジェクト指向オペレーティング・システム、およびアプリケーションまたはプログラムの命令は、ハード・ディスク・ドライブ326などの記憶装置上に位置し、プロセッサ302による実行のためにメイン・メモリ304にロードされ得る。
図3のハードウェアは実装形態に応じて変化し得ることを当分野の技術者は理解するであろう。図3に示すハードウェアに加えて、またはその代わりに、フラッシュ読取り専用メモリ(ROM)、同等の不揮発性メモリ、光ディスク・ドライブなど、その他の内蔵ハードウェアまたは周辺装置を使用することもできる。また、本発明のプロセスはマルチプロセッサ・データ処理システムにも適用され得る。
別の例として、データ処理システム300は、何らかの種類のネットワーク通信インターフェイスを利用せずにブート可能なように構成された独立型システムとすることもできる。別の例として、データ処理システム300は、オペレーティング・システム・ファイルまたはユーザ生成データあるいはその両方を格納する不揮発性メモリを提供するためにROMまたはフラッシュROMあるいはその両方を用いて構成された、携帯情報端末(PDA)装置とすることもできる。
図3に示す例および前述の例は、アーキテクチャ上の限定を示唆するものではない。例えば、データ処理システム300は、PDAの形を取る以外に、ノート型コンピュータやハンドヘルド・コンピュータとすることもできる。データ処理システム300は、キオスクやWebアプライアンスとすることもできる。
本発明は、自己管理分散計算処理システムを構築する方法および装置を対象とするものである。そのような計算処理システム(例えばデータベース、記憶システム、Webサーバ、ファイル・サーバなど)を構成するハードウェアおよびソフトウェア・コンポーネントは、「自律的要素」と呼ばれる自己管理コンポーネントである。自律的要素は従来の計算処理機能(データベースなど)を付加的自己管理機能と結合する。図4は、本発明の好ましい実施形態による自律的要素を示す図である。図4に示す好ましい実施形態によれば、自律的要素400は、管理ユニット402および機能ユニット404を含む。管理ユニットと機能ユニットの間の分離は、単に概念的なものにすぎず、自律的要素が、図4に示すように明確に別個のユニットに分離される必要はないことを当分野の技術者は理解するであろう。
管理ユニット402は、自律的要素400の自己管理機能を扱う。特に、管理ユニット402は、監視/制御インターフェイス414で示すように、自律的要素400での目標セットに従って機能ユニット404を調整し、管理するためのものである。また、管理ユニット402は、アクセス制御インターフェイス416で示すように、機能ユニット404へのアクセスを、機能ユニット404を使用する許可を持つ他のシステム・コンポーネント(他の自律的要素など)に制限するためのものでもある。管理ユニット402は、(入力チャネル406や出力チャネル408を介するなどして)他の自律的要素との関連を確立し、維持するためのものでもある。
機能ユニット404は、自律的要素400の意図された機能に応じて、他のシステム・コンポーネントによって(入力チャネル410を介するなどして)提供されるサービスを消費し、(出力チャネル412を介するなどして)他のシステム・コンポーネントにサービスを提供する。例えば、自律的データベース要素は、データベース・サービスを提供し、自律的記憶要素は記憶サービスを提供する。自律的要素400などの自律的要素は、ソフトウェア・コンポーネントとすることも、ハードウェア・コンポーネントとすることも、両者の何らかの組み合わせとすることもできることに留意すべきである。自律的計算処理の1つの目標は、所与の機能の基礎となる実装形態間の厳格な区別を行わずに、抽象化の機能レベルで計算処理サービスを提供することである。
自律的要素は、(それ自体自律的要素であり得る)他のコンポーネントにサービスを提供し、または他のコンポーネントからサービスを受け取り、あるいはその両方を行うことによって動作する。自律的要素がそのように協働するためには、自律的要素が、必要とされる機能を提供するその他のコンポーネントを探し出し、それらとの関連を確立するための機構を必要とする。図5は、本発明の好ましい実施形態に従って構築されたそのような機構を示す図である。
自律的要素である「要求側コンポーネント」500は、その機能を達成するために別のコンポーネントのサービスを必要とする。好ましい実施形態では、そのような機能は、規則および目標のポリシーの観点から定義され得る。ポリシー・サーバ・コンポーネント502は、計算処理システム中の他の自律的要素のためのポリシーを定める自律的要素である。図5で、ポリシー・サーバ・コンポーネント502は、要求側コンポーネント500が従うための規則および目標のポリシーを定め、このポリシーを要求側コンポーネント500に伝える。ネットワーク通信の状況では、例えば、必要とされる暗号による保護の標準をポリシーに含まれる規則とし、所望のサービス品質(QoS)をポリシーの目標とすることができる。
要求側コンポーネント500の指定されたポリシーを推進するために、要求側コンポーネント500は、さらに別のコンポーネントからのサービス(例えば、データの暗号化)を必要とする。そのようなサービスを獲得するために、要求側コンポーネント500は、別の自律的要素であるディレクトリ・コンポーネント504に照会する。ディレクトリ・コンポーネント504は、好ましくは、必要とされる機能を提供するコンポーネントに機能要件をマップする一種のデータベースである。ディレクトリ・サービスでのデータベース・スキーマの一例を図7に示す。
好ましい実施形態では、ディレクトリ・コンポーネント504は、WSDL(Webサービス記述言語)などの標準化ディレクトリ・サービス方式、およびプログラムが特定のサービスを提供する実体を探し出し、それらのサービスとどのようにしてやりとりし、トランザクションを実行するか自動的に判定するUDDI(汎用的な記述、発見および統合)などのシステムを使用して、ディレクトリ・サービスを提供することができる。WSDLは、インターナショナル・ビジネス・マシーンズ社、アリバ社、マイクロソフト社などの企業の代表者らによって作成された、ワールドワイド・ウェブ・コンソーシアムが検討中の規格案である。UDDIバージョン3は、Webサービス・アプリケーションおよびサービスに使用されている現在の仕様である。UDDIに対する将来の策定および変更は、OASIS(構造化情報標準推進機構)が取り扱う。
ディレクトリ・コンポーネント504は、要求側コンポーネント500に、要求側コンポーネント500が必要とされるコンポーネント506のサービスを利用できるようにする情報を提供する。そのような情報には、必要とされるコンポーネント506とやりとりできるようにする(ネットワーク・アドレスなどの)アドレスや、要求側コンポーネント500が必要とされるコンポーネント506にバインドし、それを利用できるようにするダウンロード可能コードまたはダウンロード可能コードへのアドレスや、要求側コンポーネント500が必要とされるコンポーネント506のサービスを利用できるようにする他の任意の適当な情報が含まれ得る。
ディレクトリ・コンポーネント504などのディレクトリ・サービスのためのデータベース・スキーマの一例を、実体関連(ER)図の形で図7に示す。データベース・モデル化へのER(実体関連)手法はデータベースの概念的設計のための意味を提供する。ER手法を用いると、データベース情報は、実体、実体の属性、および実体間の関連で表され、以下の定義が適用される。各定義に対応するモデル化の意味を図6に示す。図6は、ER図に関するさらなる材料を含み、参照により本明細書に組み込まれる、ElmasriおよびNavathe、「データベース・システムの基本(Fundamentals of Database Systems)」、第3版、アディソン・ウェスレイ(AddisonWesley)、(2000)、41〜66頁から転用したものである。
実体:実体とはそれに関する情報が収集される基本オブジェクトである。例えば、企業の人員に関する情報を含むデータベースでは、実体を「従業員」とすることができる。ERモデルでは、実体は囲み線で表される。実体は、その別のエンティティに対する依存性に関連して、弱いまたは強いと呼ぶことができる。強い実体は、別のエンティティへの依存性を示さない。すなわち、その存在は別の実体の存在を必要としない。図6に示すように、強い実体は、単一の影なし囲み線で表される。弱い実体は、その存在を別の実体から派生させる。例えば、作業時間スケジュールが、それが従業員に関連付けられている場合にのみ存在し得る場合には、実体「作業時間スケジュール」は、その存在を実体「従業員」から派生させる。図6に示すように、弱い実体は、同心の二重囲み線で表される。
属性:属性とは、実体に記述性を与えるラベルである(名前、色など)。2種類の属性が存在する。キー属性は、実体の出現を区別する。例えば、米国では、社会保障番号は、個人を区別するキー属性である。記述子属性は、単に、実体出現を記述するだけである(性別、体重など)。図6に示すようにERモデルでは、属性は、それが付随する実体(囲み線)に結合された長円形で表される。
場合によっては、属性は複数の値を持ち得る。例えば、会社を表す実体は、多値属性「場所」を持ち得る。その会社が複数の場所を持つ場合、その属性「場所」は複数の値を持つことになる。多値属性は、図6に示すように、同心の二重長円形で表される。複数のグループ化された属性から1つの複合属性が形成されることもある。複合属性は、図6に示すように、木構造で表される。派生属性とは、データベースに明示的に格納される必要がなく、実体のその他の属性から計算し、あるいは派生させることのできる属性である。派生属性は、図6に示すように破線の長円形で表される。
関連:関連とは、実体出現間に示される接続性である。関連は、1対1とすることも、1対多とすることも、多対多とすることもでき、実体による関連への関与は任意選択とすることも必須とすることもできる。例えば、企業の人員に関する情報を含むデータベースでは、従業員実体出現間の関係「〜と結婚している」は、(1人の従業員が多くとも1人の配偶者を持つとされる場合)1対1である。さらに、この関係への関与は、未婚の従業員も存在し得るため、任意選択である。第2の例として、企業ポリシーで、あらゆる従業員が厳密に1人の管理者を持つと規定している場合、従業員実体出現間の関連「〜によって管理されている」は多対1であり(多数の従業員が同じ管理者を持ち得る)、必須である(あらゆる従業員が管理者を持たねばならない)。
図6に示すように、ERモデルでは、関連はひし形で表される。関連は複数の実体を伴い得る。関連での基数比(1対1、1対多など)は、文字「1」および「N」を用いて1:1または1:Nの基数比を示すことにより、または図6に示すような明示的構造的制約条件の使用により表される。一実体のすべてのインスタンスがその関連に関与するとき、その実体の囲み線は、二重線でその関連のひし形に接続される。そうでない場合、図6のように、その実体と関連を単線で接続する。場合によっては、関連が、実際には、その間連中の実体の1つを識別し、または定義することもある。それらの識別する関連は、やはり図6に示す、同心の二重ひし形で表される。
次に図7を見ると、本発明の好ましい実施形態による、ディレクトリ・サービスのためのデータベース・スキーマの一例が示されている。図7に示す例示的スキーマは、単に、例示的性格のものにすぎず、本発明の範囲をどんな特定のデータベース構造に限定するためのものでもないことに留意すべきである。図7は、単に、本発明の好ましい実施形態によるディレクトリ・サービス・データベースの可能な内容および編成を示すためのものにすぎない。
コンポーネント実体700は、計算処理システム中の個々の自律的要素を表す。各コンポーネント(700)は、いくつかのサービス(サービス実体704)を提供する(「〜を提供する」関連702)。しかしながら、コンポーネントが所望のサービスを提供するためには、そのコンポーネントは、用法実体706で表される特定の方法で「使用」されなければならず、それがこの3者関連「〜を提供する」702への第3の関与者を形成する。用法実体706は、当該のコンポーネントのサービスを利用するための指示を表す。これらの指示には、ソフトウェアベースの自律的要素の場合にはそのコンポーネントの実行可能コード、そのコンポーネントとやりとりするためのアドレス、または自律的要素が当該のコンポーネントと関連を結ぶことができるようにする他の任意の情報が含まれ得る。
図7で説明するスキーマなどのデータベース・スキーマは、リレーショナル、オブジェクト指向、オブジェクト・リレーショナル、または演繹的データベース管理システムといったデータベース管理システムを用いて実施され得る。また、本発明の好ましい実施形態内では、当分野で利用可能な他のデータ記憶パラダイムも可能である。
図8〜9に、本発明の好ましい実施形態による別の自律的要素のサービスを利用する自律的要素の一例を示す。図8を見ると、様々な自律的要素を含む計算処理システム800が示されている。1つのそのような自律的要素であるWebサーバ要素802は、Webページを保持するための記憶空間を必要とする。記憶サービスを利用するために、Webサーバ要素802は、計算処理システム800中の利用可能な自律的要素のサービスすべてを登録しているディレクトリ・コンポーネント804に照会する。
図8で、記憶要素806は、Webサーバ要素802が利用可能な記憶空間を持つ。ディレクトリ・コンポーネント804は、この空間の利用可能性を反映し、Webサーバ要素802の記憶ニーズに記憶コンポーネント806を使用するための指示をWebサーバ要素802に返す。図9で、Webサーバ要素802は、ディレクトリ・コンポーネント804によって提供された指示に従って記憶要素806との関連を結んでいるものとして示されている。
記憶要素806との関連を結ぶ際に、Webサーバ要素802は、好ましい実施形態では、記憶要素806およびWebサーバ要素802のポリシーに従ってその関連の条件を折衝する。そのような条件は、利用される個々のサービスに応じて変化することを当分野の技術者は理解するであろう。しかしながら、一般に、関連の条件は、2つの自律的要素間の相互のやりとりで導出される。このやりとりは、好ましい実施形態では、XML(拡張可能なマークアップ言語)、XMLスキーマ、または機械可読構造化情報を交換するための他の何らかの言語といったデータ交換言語を用いて行われ得る。
一般に、2つの自律的要素間の関連の条件は、属性/値対で表現することができ、ポリシーは、許容値および推奨値に限界を設定する規則および目標、ならびにどちら側にも強い要件がない場合に適用され得るデフォルト値を提供することができる。図10は、本発明の好ましい実施形態による、2つの自律的要素間の関連の条件がポリシーによってどのように規定され得るかを示すER図である。
関連中の自律的要素の1つに関して、その関連の条件(例えば、ネットワーク接続でのサービス品質など)が条件実体1000によって表される。各条件(1000)は、条件種類実体1004および「〜という種類を持つ」関連1002によって表される種類を持つ。例えば、サービス品質を表す条件の場合、その条件の種類は「サービス品質」である。条件の種類は、この例ではその「名前」によって識別される(名前属性1006)。各折衝条件(1000)は、その関連の合意された条件と整合する複数の値(値属性1014)を持ち得る。例えば、2つの自律的要素は、折衝を介して、2つの異なるデータ転送速度が許容されることに合意し得る。そのような場合、「データ転送速度」条件は、異なる速度を表す2つの異なる値を持つことになる。
個々の自律的要素のポリシーにおいて、各条件の種類(1014)は、必須制約条件(必須制約条件属性1008)、推奨値(推奨値属性1010)、デフォルト値(デフォルト値属性1012)、またはそれら3つの属性の何らかの組み合わせを持ち得る。任意選択で、各値設定は、それに関連付けられた、その値設定の相対的望ましさを表すスカラ・ユーティリティを持ち得る。各可能な値設定からこのユーティリティへのマッピングは、ユーティリティ関数と呼ばれる(ユーティリティ関数1016)。必須制約条件(1008)は、当該の自律的要素のポリシーに従って当該の特定の種類の条件が保持し得る、(1つまたは複数の)値に対する不可侵の制約条件を表す。推奨値(1010)は、当該の自律的要素のポリシーに従って特定の種類の条件が保持すべき好ましい値または値の範囲を表すが、これらの推奨値は要件ではない(すなわち、折衝可能である)。デフォルト値(1012)は、ある関連の相手側(自律的要素)がその条件に関する基本設定を示さないときに入力され得る、個々の条件での「既定」値を表す。デフォルト値は、折衝プロセスにおいて、関連の重要性の低い詳細が最終的に決定されるようにする。ユーティリティ関数は、自律的要素が最初に構成され、または配置されるときに確立される固定の関連とすることもでき、自律的要素の配置中またはその後の任意の時点において人間がそれを入力することもでき、自律的要素が、値設定案を用いたサービスの受け取りまたは提供の影響を評価するのに用いることのできるモデルから動的に計算することもできる。
図11は、本発明の好ましい実施形態による、要素の一方の観点から見た、2つの自律的要素間の関連の条件を折衝するプロセスを示す流れ図である。2つの要素間の関連を規定する条件の提案が相手側の要素に提示される(ブロック1100)。相手側の自律的要素から応答が受け取られる(ブロック1102)。その応答が最初の提案の受諾であった場合(ブロック1104:Yes)、合意された条件に従ってその関連を開始することを指示する肯定応答が相手側の自律的要素に送られる(ブロック1106)。
応答が受諾でなかった場合(ブロック1104:No)、その応答が、実際には、提案した前の条件セットと異なる条件を提供する対案であるかどうかが判定される(ブロック1108)。応答が対案ではなかった場合(ブロック1108:No)、折衝は失敗しており、プロセスが終了する。応答が対案であった場合(ブロック1108:Yes)、その対案の条件がポリシーの要件を満たす(すなわち、任意の必須制約条件に適合する)かどうかが判定される(ブロック1110)。それらの条件がポリシー要件を満たさない場合(ブロック1110:No)、ポリシー要件に適合する新しい対案を生成する試みがなされる(ブロック1112)。その試みに成功した場合(ブロック1114:Yes)、その対案が相手側の自律的コンポーネントに提示され、プロセスはブロック1102に回帰して次の応答を受け取る。その試みが成功しなかった場合(ブロック1114:No)、プロセスは失敗で終了する。
しかしながら、ブロック1102で受け取った対案が要件を満たした場合(ブロック1110:Yes)、改善された条件(すなわち、推奨値により適合する条件)を求めるべきかどうか判定するためにポリシーが照会される(ブロック1118)。そうである場合(ブロック1118:Yes)、より望ましい条件を有する新しい対案を生成する試みがなされる(ブロック1120)。例えば、ユーティリティ関数が使用されている場合、より高いユーティリティを持つ新しい対案を生成する試みがなされるはずである。この試みに成功した場合、その対案が相手側の自律的要素に送られ(ブロック1116)、プロセスはブロック1102に回帰して次の応答を受け取る。新しい対案を形成する試みに成功せず(ブロック1122:No)、または改善された条件を求めるべきではないと判定された(ブロック1118)場合、相手側の要素の条件の受諾が相手側の自律的要素に送られる(ブロック1124)。
第2の好ましい実施形態では、折衝はより非対称な形を取り得る。この非対称な折衝では、一方の側だけが提案を生成し、相手側はそれを受諾し、または拒絶する。より詳細には、第1者は、折衝の各段階において1つまたは複数の提案を行うことも、その折衝を終了することもできる。第2者は、提案すべてを拒絶することも、提案のうちの多くとも1つを受諾することも、折衝の終了を望むと知らせることもできる。折衝は、一方の側またはその相手側が明示的にそれを終了するまで続く。第2者が提案を受諾した場合でさえも、第1者は、次の段階で、そのうちの1つが第2者にとってもより望ましいものであると判明することを願って、第1者にとってより有益な新しい提案セットを提案することができる。折衝が終了すると、最後に受諾された提案が合意とみなされる。受諾された提案がなかった場合、両者は、合意に達することに失敗している。
自己管理の重要な態様は、計算処理システムで発生し得る障害を検出し、処理し得ることである。障害の自己管理を可能にするために、本発明に様々な障害耐性方式を組み込むことができる。計算処理システムでの障害は、1つまたは複数のコンポーネントでの誤動作の結果であり得る。例えば、ディスク・ドライブが物理的に壊れ、記憶要素を動作不能にすることがある。別の障害の原因が能動的攻撃である。能動的攻撃では、1つまたは複数のコンポーネントが標的とされ、妨害される。これは、コンピュータ・ウイルス、ネットワーク攻撃(サービス拒否攻撃など)、セキュリティ違反などの結果であり得る。真に自律的な計算処理システムは、リアルタイムで自動的に障害を検出、処理できるはずである。
図12〜15に、本発明の好ましい実施形態による、自律的計算処理システムでの障害検出および処理の一例を示す。図12〜15に示す障害耐性技術は、単に、本発明の好ましい実施形態での障害検出および処理の一例にすぎず、限定を意図したものではないことを理解することは重要である。
図12は、いくつかの自律的要素を含む計算処理システム1200を示す図である。データベース要素1202は、データベース・サービスを提供し、記憶要素1206および冗長記憶要素1204の記憶サービスを利用する。図に示すように、記憶要素1206は、動作不能になっている。データベース要素1202は、記憶要素1206との通信を維持し、図13に示すように、記憶要素1206の誤動作を検出し、その記憶要素1206との関連を終了する。
図13で、記憶要素1206との関連を終了したことに応答して、データベース要素1202は、計算処理システム1200中の他の記憶サービスを探し出すためにディレクトリ要素1300に照会する。ディレクトリ要素1300は、データベース要素1202に、記憶要素1302が利用可能であることを指示する。ディレクトリ要素1300が記憶要素1302を利用可能な記憶要素として識別したことに応答して、データベース要素1202は、図14に示すように、記憶要素1302との関連を結ぶ。
起こり得る任意の将来の障害に備えて冗長なサービスを回復するために、データベース要素1202は、図14に示すように、記憶要素1204から記憶要素1302に状態情報をコピーする。データベース要素1202からの状態情報が記憶要素1302にコピーされると、記憶要素1302は、次に、図15に示すように、動作不能な記憶要素1206の代わりに機能する。
図16は、本発明の好ましい実施形態による、障害または危殆化からの回復プロセスを表す流れ図である。攻撃または誤動作による、計算処理システム中の1つまたは複数のコンポーネントの危殆化が検出された場合(ブロック1600)、それによって潜在的に危殆化されたサービスが識別される(ブロック1602)。次いで、それらのサービスが終了される(ブロック1604)。影響を受けるサービスを危殆化されやすくする任意の特定の脆弱性が識別され得た場合、そのような脆弱性が診断される(ブロック1606)。計算処理システムの危殆化状態を修正する措置の計画が策定される(ブロック1608)。そのような修正計画の例には、セキュリティ対策を増大させること、冗長度またはエラー訂正のレベルを上げることなどが含まれる。次いで、その計画が実行されて、危殆化された要素が再供給され、サービスが復元される(ブロック1610)。危殆化されたサービスのいずれかがステートフルである(すなわち状態情報を必要とする)場合(ブロック1612:Yes)、再供給されたサービスにその状態情報が復元される(ブロック1614)。いずれの場合も、プロセスは、最終的に、任意の今後の障害に備えてブロック1600に回帰する。
以上、本発明を完全に機能するデータ処理システムの状況で説明してきたが、本発明のプロセスは、命令などの機能記述的材料のコンピュータ可読媒体の形、および他の様々な形で配布することが可能であり、その配布を実行するのに実際に使用される信号搬送媒体の個々の種類を問わず本発明が等しく適用可能であることを、当分野の技術者が理解するであろうことに留意することは重要である。コンピュータ可読媒体の例には、フロッピー(R)・ディスク、ハード・ディスク・ドライブ、RAM、CD−ROM、DVD−ROMなどの記録可能型媒体と、例えば無線周波数や光波伝送といった伝送形態を用いたディジタルおよびアナログ通信リンク、有線または無線通信リンクなどの伝送型媒体が含まれる。コンピュータ可読媒体は、個々のデータ処理システムでの実際の使用のために復号化される符号化形式の形を取り得る。機能記述的材料は、マシンに機能を付与する情報である。機能記述的材料には、それだけに限らないが、コンピュータ・プログラム、命令、規則、事実、計算可能関数の定義、オブジェクト、データ構造が含まれる。
本発明の記述は、図示と説明のために提示したものであり、網羅的であることも、開示の形の発明に限定することも意図していない。多くの改変形態および変形形態が当分野の技術者には明らかであろう。実施形態は、本発明の原理、実際の用途を最も適切に説明するためと同時に、当分野の技術者が、企図される個々の用途に適するような様々な改変を伴う様々な実施形態のために本発明を理解することができるように選択、記述したものである。
本出願では、セットとは、ゼロ以上のものであると定義される。複数とは、1つまたは複数のものであると定義される。セットまたは複数のサブセットとは、ゼロ以上の物を含み、そのうちのすべてが元のセットまたは複数から取られたものであるセットであると定義される。
本発明が実施され得るネットワークで接続されたデータ処理システムを示す図である。 図1のネットワークで接続されたデータ処理システム内のサーバ・システムを示す構成図である。 図1のネットワークで接続されたデータ処理システム内のクライアント・システムを示す構成図である。 本発明の好ましい実施形態による自律的要素を示す図である。 本発明の好ましい実施形態による自律的要素間のサービス提供関連を確立する機構を示す図である。 本明細書で使用するER(実体関連図)中のシンボルの凡例を示す図である。 本発明の好ましい実施形態によるディレクトリ・サービスでのデータベース・スキーマの一例を示す図である。 本発明の好ましい実施形態による別の自律的要素のサービスを利用する自律的要素の一例を示す図である。 本発明の好ましい実施形態による別の自律的要素のサービスを利用する自律的要素の一例を示す図である。 本発明の好ましい実施形態による、2つの自律的要素間の関連の条件がポリシーによってどのように規定され得るかを示すER図である。 本発明の好ましい実施形態による、要素の一方の観点から見た2つの自律的要素間の関連の条件を折衝するプロセスを示す流れ図である。 本発明の好ましい実施形態による、自律的計算処理システムにおける障害検出および処理の一例を示す図である。 本発明の好ましい実施形態による、自律的計算処理システムにおける障害検出および処理の一例を示す図である。 本発明の好ましい実施形態による、自律的計算処理システムにおける障害検出および処理の一例を示す図である。 本発明の好ましい実施形態による、自律的計算処理システムにおける障害検出および処理の一例を示す図である。 本発明の好ましい実施形態による、障害または危殆化からの回復のプロセスを示す流れ図である。

Claims (42)

  1. 計算処理環境において少なくとも1つのコンポーネントを管理するコンピュータベースの方法であって、
    データ処理システム中の第1のコンポーネントによって必要とされる特定の機能を識別する段階と、
    前記特定の機能を提供するように適合された少なくとも1つの別のコンポーネントに関するディレクトリ中の情報を探し出す段階と、
    前記第1のコンポーネントおよび前記少なくとも1つの別のコンポーネントが動作するための条件を調整する段階と、および
    前記第1のコンポーネントに前記特定の機能を提供するために、前記少なくとも1つの別のコンポーネントとバインドして前記少なくとも1つの別のコンポーネントとの関連を形成する段階
    を含む方法。
  2. 前記少なくとも1つの別のコンポーネントが、ハードウェア・コンポーネントおよびソフトウェア・コンポーネントの少なくとも1つを含む、請求項1に記載の方法。
  3. 前記情報が、前記少なくとも1つの別のコンポーネントの少なくとも1つのアドレス、前記少なくとも1つの別のコンポーネントの用法指示、および前記少なくとも1つの別のコンポーネントのプログラム・コードの少なくとも1つを含む、請求項1に記載の方法。
  4. 前記ディレクトリが前記データ処理システム中のコンポーネントを形成する、請求項1に記載の方法。
  5. 前記少なくとも1つの別のコンポーネントとバインドする段階が、前記第1のコンポーネントと前記少なくとも1つの別のコンポーネントの間の通信を開始する段階を含む、請求項1に記載の方法。
  6. 前記少なくとも1つの別のコンポーネントとバインドする段階が、前記少なくとも1つの別のコンポーネントを配置する段階を含む、請求項1に記載の方法。
  7. 条件を調整する段階が、
    条件案セットを受け取る段階、
    前記条件案セットを検討して、前記条件案セットが所定のポリシーに適合するかどうか判定する段階、および
    前記条件案セットが前記所定のポリシーに違反することに応答して、前記所定のポリシーに適合する第2の条件案セットを送る段階
    を含む、請求項1に記載の方法。
  8. 条件を調整する段階が、
    条件案セットを受け取る段階、
    前記条件案セットを検討して、前記条件案セットが所定のポリシーでの推奨値を反映しているかどうか判定する段階、および
    前記条件案セットが前記所定のポリシーでの前記推奨値を反映していないことに応答して、前記所定のポリシーでの前記推奨値をよりよく反映する第2の条件案セットを送る段階
    を含む、請求項1に記載の方法。
  9. 条件を調整する段階が、
    条件案セットを受け取る段階、
    所定のポリシーを考慮して前記条件案セットを検討する段階、および
    前記条件案セットが前記所定のポリシーでの推奨値および要件を反映していないことに応答して、前記条件案セットの拒絶を指示するメッセージを送る段階
    を含む、請求項1に記載の方法。
  10. 条件を調整する段階が、
    複数の条件案セットを受け取る段階、
    所定のポリシーを考慮して前記複数の条件案セットを検討する段階、および
    前記所定のポリシーに基づいて選択された前記複数の条件案セットのサブセットの受諾を指示するメッセージを送る段階
    を含む、請求項1に記載の方法。
  11. 前記少なくとも1つの別のコンポーネントでの障害を検出する段階、
    前記障害を検出したことに応答して、前記少なくとも1つの別のコンポーネントとの前記関連を終了する段階、および
    前記少なくとも1つの別のコンポーネントとの前記関連を終了したことに応答して、少なくとも1つの置き換えコンポーネントとバインドする段階
    をさらに含む、請求項1に記載の方法。
  12. 前記障害が誤動作である、請求項11に記載の方法。
  13. 前記障害が、前記少なくとも1つの別のコンポーネントに対する攻撃である、請求項11に記載の方法。
  14. 前記少なくとも1つの別のコンポーネントに関連付けられた状態情報と一致する状態情報を維持する少なくとも1つの冗長コンポーネントとバインドする段階、
    前記少なくとも1つの別のコンポーネントとの前記関連を終了したことに応答して、前記少なくとも1つの冗長コンポーネントから前記少なくとも1つの置き換えコンポーネントに前記状態情報を復元する段階
    をさらに含む、請求項11に記載の方法。
  15. コンポーネントを管理するためのプログラムであって、該プログラムがコンピュータに
    データ処理システム中の第1のコンポーネントによって必要とされる特定の機能を識別する機能、
    前記特定の機能を提供するように適合された少なくとも1つの別のコンポーネントに関するディレクトリ中の情報を探し出す機能、
    前記第1のコンポーネントおよび前記少なくとも1つの別のコンポーネントが動作するための条件を調整する機能、および
    前記第1のコンポーネントに前記特定の機能を提供するために、前記少なくとも1つの別のコンポーネントとバインドして前記少なくとも1つの別のコンポーネントとの関連を形成する機能
    を実現させるコンピュータ・プログラム。
  16. 前記少なくとも1つの別のコンポーネントが、ハードウェア・コンポーネントおよびソフトウェア・コンポーネントの少なくとも1つを含む、請求項15に記載のコンピュータ・プログラム。
  17. 前記情報が、前記少なくとも1つの別のコンポーネントのアドレス、前記少なくとも1つの別のコンポーネントの用法指示、および前記少なくとも1つの別のコンポーネントのプログラム・コードの少なくとも1つを含む、請求項15に記載のコンピュータ・プログラム。
  18. 前記ディレクトリが前記データ処理システム中のコンポーネントを形成する、請求項15に記載のコンピュータ・プログラム。
  19. 前記少なくとも1つの別のコンポーネントとバインドする機能が、前記第1のコンポーネントと前記少なくとも1つの別のコンポーネントの間の通信を開始する機能を含む、請求項15に記載のコンピュータ・プログラム。
  20. 前記少なくとも1つの別のコンポーネントとバインドする機能が、前記少なくとも1つの別のコンポーネントを配置する機能を含む、請求項15に記載のコンピュータ・プログラム。
  21. 条件を調整する機能が、
    条件案セットを受け取る機能、
    前記条件案セットを検討して、前記条件案セットが所定のポリシーに適合するかどうか判定する機能、および
    前記条件案セットが前記所定のポリシーに違反することに応答して、前記所定のポリシーに適合する第2の条件案セットを送る機能
    を含む、請求項15に記載のコンピュータ・プログラム。
  22. 条件を調整する機能が、
    条件案セットを受け取る機能、
    前記条件案セットを検討して、前記条件案セットが所定のポリシーでの推奨値を反映しているかどうか判定する機能、および
    前記条件案セットが前記所定のポリシーでの前記推奨値を反映していないことに応答して、前記所定のポリシーでの前記推奨値をよりよく反映する第2の条件案セットを送る機能
    を含む、請求項15に記載のコンピュータ・プログラム。
  23. 条件を調整する機能が、
    条件案セットを受け取る機能、
    所定のポリシーを考慮して前記条件案セットを検討する機能、および
    前記条件案セットが前記所定のポリシーでの推奨値および要件を反映していないことに応答して、前記条件案セットの拒絶を指示するメッセージを送る機能
    を含む、請求項15に記載のコンピュータ・プログラム。
  24. 条件を調整する機能が、
    複数の条件案セットを受け取る機能、
    所定のポリシーを考慮して前記複数の条件案セットを検討する機能、および
    前記所定のポリシーに基づいて選択された前記複数の条件案セットのサブセットの受諾を指示するメッセージを送る機能
    を含む、請求項15に記載のコンピュータ・プログラム。
  25. 前記少なくとも1つの別のコンポーネントでの障害を検出する機能、
    前記障害を検出したことに応答して、前記少なくとも1つの別のコンポーネントとの前記関連を終了する機能、および
    前記少なくとも1つの別のコンポーネントとの前記関連を終了したことに応答して、少なくとも1つの置き換えコンポーネントとバインドする機能
    をさらに含む、請求項15に記載のコンピュータ・プログラム。
  26. 前記障害が誤動作である、請求項25に記載のコンピュータ・プログラム。
  27. 前記障害が、前記少なくとも1つの別のコンポーネントに対する攻撃である、請求項25に記載のコンピュータ・プログラム。
  28. 前記少なくとも1つの別のコンポーネントに関連付けられた状態情報と一致する状態情報を維持する少なくとも1つの冗長コンポーネントとバインドする機能、
    前記少なくとも1つの別のコンポーネントとの前記関連を終了したことに応答して、前記少なくとも1つの冗長コンポーネントから前記少なくとも1つの置き換えコンポーネントに前記状態情報を復元する機能
    をさらに含む、請求項25に記載のコンピュータ・プログラム。
  29. データ処理システム中の第1のコンポーネントによって必要とされる特定の機能を識別する手段と、
    前記特定の機能を提供するように適合された少なくとも1つの別のコンポーネントに関するディレクトリ中の情報を探し出す手段と、
    前記第1のコンポーネントおよび前記少なくとも1つの別のコンポーネントが動作するための条件を調整する手段と、
    前記第1のコンポーネントに前記特定の機能を提供するために、前記少なくとも1つの別のコンポーネントとバインドして前記少なくとも1つの別のコンポーネントとの関連を形成する手段と
    を含むデータ処理システム。
  30. 前記少なくとも1つの別のコンポーネントが、ハードウェア・コンポーネントおよびソフトウェア・コンポーネントの少なくとも1つを含む、請求項29に記載のデータ処理システム。
  31. 前記情報が、前記少なくとも1つの別のコンポーネントのアドレス、前記少なくとも1つの別のコンポーネントの用法指示、および前記少なくとも1つの別のコンポーネントのプログラム・コードの少なくとも1つを含む、請求項29に記載のデータ処理システム。
  32. 前記ディレクトリが前記データ処理システム中のコンポーネントを形成する、請求項29に記載のデータ処理システム。
  33. 前記少なくとも1つの別のコンポーネントとバインドする手段が、前記第1のコンポーネントと前記少なくとも1つの別のコンポーネントの間の通信を開始する手段を含む、請求項29に記載のデータ処理システム。
  34. 前記少なくとも1つの別のコンポーネントとバインドする手段が、前記少なくとも1つの別のコンポーネントを配置する手段を含む、請求項29に記載のデータ処理システム。
  35. 条件を調整する手段が、
    条件案セットを受け取る手段、
    前記条件案セットを検討して、前記条件案セットが所定のポリシーに適合するかどうか判定する手段、および
    前記条件案セットが前記所定のポリシーに違反することに応答して、前記所定のポリシーに適合する第2の条件案セットを送る手段
    を含む、請求項29に記載のデータ処理システム。
  36. 条件を調整する手段が、
    条件案セットを受け取る手段、
    前記条件案セットを検討して、前記条件案セットが所定のポリシーでの推奨値を反映しているかどうか判定する手段、および
    前記条件案セットが前記所定のポリシーでの前記推奨値を反映していないことに応答して、前記所定のポリシーでの前記推奨値をよりよく反映する第2の条件案セットを送る手段
    を含む、請求項29に記載のデータ処理システム。
  37. 条件を調整する手段が、
    条件案セットを受け取る手段、
    所定のポリシーを考慮して前記条件案セットを検討する手段、および
    前記条件案セットが前記所定のポリシーでの推奨値および要件を反映していないことに応答して、前記条件案セットの拒絶を指示するメッセージを送る手段
    を含む、請求項29に記載のデータ処理システム。
  38. 条件を調整する手段が、
    複数の条件案セットを受け取る手段、
    所定のポリシーを考慮して前記複数の条件案セットを検討する手段、および
    前記所定のポリシーに基づいて選択された前記複数の条件案セットのサブセットの受諾を指示するメッセージを送る手段
    を含む、請求項29に記載のデータ処理システム。
  39. 前記少なくとも1つの別のコンポーネントでの障害を検出する手段と、
    前記障害を検出したことに応答して、前記少なくとも1つの別のコンポーネントとの前記関連を終了する手段と、
    前記少なくとも1つの別のコンポーネントとの前記関連を終了したことに応答して、少なくとも1つの置き換えコンポーネントとバインドする手段と
    をさらに含む、請求項29に記載のデータ処理システム。
  40. 前記障害が誤動作である、請求項39に記載のデータ処理システム。
  41. 前記障害が、前記少なくとも1つの別のコンポーネントに対する攻撃である、請求項39に記載のデータ処理システム。
  42. 前記少なくとも1つの別のコンポーネントに関連付けられた状態情報と一致する状態情報を維持する少なくとも1つの冗長コンポーネントとバインドする手段と、
    前記少なくとも1つの別のコンポーネントとの前記関連を終了したことに応答して、前記少なくとも1つの冗長コンポーネントから前記少なくとも1つの置き換えコンポーネントに前記状態情報を復元する手段と
    をさらに含む、請求項39に記載のデータ処理システム。
JP2004537040A 2002-09-20 2003-08-13 自己管理分散計算システムを構築する方法、コンピュータ・プログラム、およびデータ処理システム(自己管理計算処理システム) Pending JP2005539320A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/252,247 US20040059704A1 (en) 2002-09-20 2002-09-20 Self-managing computing system
PCT/EP2003/010079 WO2004027610A2 (en) 2002-09-20 2003-08-13 Method and apparatus for managing hardware and software components

Publications (2)

Publication Number Publication Date
JP2005539320A true JP2005539320A (ja) 2005-12-22
JP2005539320A5 JP2005539320A5 (ja) 2006-09-07

Family

ID=31992913

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004537040A Pending JP2005539320A (ja) 2002-09-20 2003-08-13 自己管理分散計算システムを構築する方法、コンピュータ・プログラム、およびデータ処理システム(自己管理計算処理システム)

Country Status (12)

Country Link
US (1) US20040059704A1 (ja)
EP (1) EP1540476A2 (ja)
JP (1) JP2005539320A (ja)
KR (1) KR100745432B1 (ja)
CN (1) CN100356331C (ja)
AU (1) AU2003260503A1 (ja)
BR (1) BR0314630A (ja)
CA (1) CA2498059A1 (ja)
MX (1) MXPA05002861A (ja)
PL (1) PL375881A1 (ja)
TW (1) TWI260519B (ja)
WO (1) WO2004027610A2 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7720770B1 (en) * 2000-07-10 2010-05-18 Nobuyoshi Morimoto System and method for negotiating improved terms for products and services being purchased through the internet
JP4485141B2 (ja) 2003-04-10 2010-06-16 株式会社日立製作所 ネットワーク上のサービス公開及び提供方法並びにそのプログラム
CA2435655A1 (en) * 2003-07-21 2005-01-21 Symbium Corporation Embedded system administration
US7603340B2 (en) * 2003-09-04 2009-10-13 Oracle International Corporation Automatic workload repository battery of performance statistics
US7734561B2 (en) * 2003-12-15 2010-06-08 International Business Machines Corporation System and method for providing autonomic management of a networked system using an action-centric approach
US20060026054A1 (en) * 2004-07-28 2006-02-02 International Business Machines Corporation Method, apparatus, and program for implementing an automation computing evaluation scale to generate recommendations
GB2416872A (en) * 2004-07-30 2006-02-08 Canon Kk System for managing tasks on a network by using a service discover, a task manager and a service publisher
US7668930B2 (en) 2004-11-18 2010-02-23 International Business Machines Corporation Web service distribution system over the World Wide Web using web services description language (WSDL) standard including implementation for uniformly generating all fault conditions in WSDL message format
US20060230133A1 (en) * 2005-03-24 2006-10-12 International Business Machines Corporation On demand problem determination based on remote autonomic modification of web application server operating characteristics
CA2504333A1 (en) * 2005-04-15 2006-10-15 Symbium Corporation Programming and development infrastructure for an autonomic element
US7546222B2 (en) 2005-06-12 2009-06-09 Infosys Technologies, Ltd. System for performance and scalability analysis and methods thereof
US8990811B2 (en) * 2007-10-19 2015-03-24 Oracle International Corporation Future-based performance baselines
US9021074B2 (en) * 2007-11-08 2015-04-28 International Business Machines Corporation System and method for providing server status awareness
US7788534B2 (en) * 2007-12-11 2010-08-31 International Business Machines Corporation Method for monitoring and managing a client device in a distributed autonomic computing environment
ATE521182T1 (de) * 2008-01-15 2011-09-15 Axis Ab Verfahren und vorrichtungen zur handhabung von zugangsvorrechten
US9021392B2 (en) * 2010-07-26 2015-04-28 Sap Se Managing extension projects with repository based tagging
CN102141938B (zh) * 2010-12-03 2013-01-30 华为技术有限公司 多线程系统中软件负荷的调整方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05173821A (ja) * 1991-12-19 1993-07-13 Tetsuo Tomiyama 機能冗長系を備えた機械システム
JPH10254701A (ja) * 1997-03-10 1998-09-25 Mitsubishi Electric Corp 分散オブジェクトシステム
JPH10283332A (ja) * 1997-03-31 1998-10-23 Internatl Business Mach Corp <Ibm> ソフトウェア・アプリケーションの中断のない処理の実現方法
WO2002035312A2 (en) * 2000-10-16 2002-05-02 Goahead Software Inc. Techniques for maintaining high availability of networked systems
JP2002215486A (ja) * 2000-08-31 2002-08-02 Schneider Autom Wsdlに基づいたコントローラ装置用通信システム
JP2002259126A (ja) * 2001-02-16 2002-09-13 Abb Res Ltd 分散型制御システムのためのソフトウェア構成要素及び制御システムを設計するための方法

Family Cites Families (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US235158A (en) * 1880-12-07 Ore-grinding apparatus
US100036A (en) * 1870-02-22 Improvement in registering-punch for railroad conductors
US143819A (en) * 1873-10-21 Improvement in slide-valve mechanisms
DE4305522C2 (de) * 1993-02-17 1996-03-28 Daimler Benz Ag Einrichtung zur rechnergestützten Diagnose eines aus Modulen bestehenden technischen Systems
CA2119085C (en) * 1994-03-15 2002-01-15 Deborah L. Pinard Adaptive communication system
GB9508283D0 (en) * 1995-02-07 1995-06-14 British Telecomm Information services provision and management
US5701400A (en) * 1995-03-08 1997-12-23 Amado; Carlos Armando Method and apparatus for applying if-then-else rules to data sets in a relational data base and generating from the results of application of said rules a database of diagnostics linked to said data sets to aid executive analysis of financial data
US5909544A (en) * 1995-08-23 1999-06-01 Novell Inc. Automated test harness
GB9519678D0 (en) * 1995-09-27 1995-11-29 Philips Electronics Nv Behaviour prediction
US6026374A (en) * 1996-05-30 2000-02-15 International Business Machines Corporation System and method for generating trusted descriptions of information products
US5790789A (en) * 1996-08-02 1998-08-04 Suarez; Larry Method and architecture for the creation, control and deployment of services within a distributed computer environment
US6031990A (en) * 1997-04-15 2000-02-29 Compuware Corporation Computer software testing management
US6055562A (en) * 1997-05-01 2000-04-25 International Business Machines Corporation Dynamic mobile agents
US5935264A (en) * 1997-06-10 1999-08-10 Micron Technology, Inc. Method and apparatus for determining a set of tests for integrated circuit testing
GB2329266A (en) * 1997-09-10 1999-03-17 Ibm Automatic error recovery in data processing systems
US6125359A (en) * 1997-09-23 2000-09-26 Unisys Corporation Method and apparatus for identifying the coverage of a test sequence in a rules-based expert system
US6256771B1 (en) * 1997-10-16 2001-07-03 At&T Corp. Method and apparatus for providing a dynamic service composition software architecture
US6286131B1 (en) * 1997-12-03 2001-09-04 Microsoft Corporation Debugging tool for linguistic applications
GB2333864B (en) * 1998-01-28 2003-05-07 Ibm Distribution of software updates via a computer network
US6023586A (en) * 1998-02-10 2000-02-08 Novell, Inc. Integrity verifying and correcting software
CN1298516A (zh) * 1998-02-26 2001-06-06 太阳微系统公司 租用存储器的方法和系统
DE19810814B4 (de) * 1998-03-12 2004-10-28 Telefonaktiebolaget Lm Ericsson (Publ) Rechnersystem und Zustandskopierverfahren zur skalierbaren Software-Aktualisierung
US6360331B2 (en) * 1998-04-17 2002-03-19 Microsoft Corporation Method and system for transparently failing over application configuration information in a server cluster
US6330561B1 (en) * 1998-06-26 2001-12-11 At&T Corp. Method and apparatus for improving end to end performance of a data network
US6182245B1 (en) * 1998-08-31 2001-01-30 Lsi Logic Corporation Software test case client/server system and method
US6622157B1 (en) * 1998-09-28 2003-09-16 Certeon, Inc. Extending network services using mobile agents
US6269467B1 (en) * 1998-09-30 2001-07-31 Cadence Design Systems, Inc. Block based design methodology
JP2000181890A (ja) * 1998-12-15 2000-06-30 Fujitsu Ltd マルチプロセッサ交換機及びその主プロセッサ切替方法
US6851115B1 (en) * 1999-01-05 2005-02-01 Sri International Software-based architecture for communication and cooperation among distributed electronic agents
US6353897B1 (en) * 1999-01-06 2002-03-05 International Business Machines Corporation Object oriented apparatus and method for testing object oriented software
US6947797B2 (en) * 1999-04-02 2005-09-20 General Electric Company Method and system for diagnosing machine malfunctions
US6473794B1 (en) * 1999-05-27 2002-10-29 Accenture Llp System for establishing plan to test components of web based framework by displaying pictorial representation and conveying indicia coded components of existing network framework
US7472349B1 (en) * 1999-06-01 2008-12-30 Oracle International Corporation Dynamic services infrastructure for allowing programmatic access to internet and other resources
US6529950B1 (en) * 1999-06-17 2003-03-04 International Business Machines Corporation Policy-based multivariate application-level QoS negotiation for multimedia services
US6467088B1 (en) * 1999-06-30 2002-10-15 Koninklijke Philips Electronics N.V. Reconfiguration manager for controlling upgrades of electronic devices
US7103647B2 (en) * 1999-08-23 2006-09-05 Terraspring, Inc. Symbolic definition of a computer system
US6779016B1 (en) * 1999-08-23 2004-08-17 Terraspring, Inc. Extensible computing system
US6584455B1 (en) * 1999-12-14 2003-06-24 International Business Machines Corporation System and method for predicting design errors in integrated circuits
US6834341B1 (en) * 2000-02-22 2004-12-21 Microsoft Corporation Authentication methods and systems for accessing networks, authentication methods and systems for accessing the internet
EP1285354B1 (en) * 2000-05-09 2004-03-03 Sun Microsystems, Inc. Method and apparatus for proximity discovery of services
US6970869B1 (en) * 2000-05-09 2005-11-29 Sun Microsystems, Inc. Method and apparatus to discover services and negotiate capabilities
US20040236843A1 (en) * 2001-11-15 2004-11-25 Robert Wing Online diagnosing of computer hardware and software
US6804709B2 (en) * 2001-02-20 2004-10-12 Microsoft Corporation System uses test controller to match different combination configuration capabilities of servers and clients and assign test cases for implementing distributed testing
JP3828379B2 (ja) * 2001-05-17 2006-10-04 富士通株式会社 テスト仕様生成支援装置、方法、プログラム及び記録媒体
US7412502B2 (en) * 2002-04-18 2008-08-12 International Business Machines Corporation Graphics for end to end component mapping and problem-solving in a network environment
US7165074B2 (en) * 2002-05-08 2007-01-16 Sun Microsystems, Inc. Software development test case analyzer and optimizer

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05173821A (ja) * 1991-12-19 1993-07-13 Tetsuo Tomiyama 機能冗長系を備えた機械システム
JPH10254701A (ja) * 1997-03-10 1998-09-25 Mitsubishi Electric Corp 分散オブジェクトシステム
JPH10283332A (ja) * 1997-03-31 1998-10-23 Internatl Business Mach Corp <Ibm> ソフトウェア・アプリケーションの中断のない処理の実現方法
JP2002215486A (ja) * 2000-08-31 2002-08-02 Schneider Autom Wsdlに基づいたコントローラ装置用通信システム
WO2002035312A2 (en) * 2000-10-16 2002-05-02 Goahead Software Inc. Techniques for maintaining high availability of networked systems
JP2002259126A (ja) * 2001-02-16 2002-09-13 Abb Res Ltd 分散型制御システムのためのソフトウェア構成要素及び制御システムを設計するための方法

Also Published As

Publication number Publication date
BR0314630A (pt) 2005-08-02
TWI260519B (en) 2006-08-21
TW200409003A (en) 2004-06-01
AU2003260503A1 (en) 2004-04-08
US20040059704A1 (en) 2004-03-25
WO2004027610A3 (en) 2004-12-09
CA2498059A1 (en) 2004-04-01
CN100356331C (zh) 2007-12-19
KR20050055715A (ko) 2005-06-13
PL375881A1 (en) 2005-12-12
EP1540476A2 (en) 2005-06-15
MXPA05002861A (es) 2005-08-02
WO2004027610A2 (en) 2004-04-01
KR100745432B1 (ko) 2007-08-02
AU2003260503A8 (en) 2004-04-08
CN1682190A (zh) 2005-10-12

Similar Documents

Publication Publication Date Title
JP2005539320A (ja) 自己管理分散計算システムを構築する方法、コンピュータ・プログラム、およびデータ処理システム(自己管理計算処理システム)
US7853675B2 (en) Automatically enforcing change control in operations performed by operational management products
Narain et al. Declarative infrastructure configuration synthesis and debugging
Wohlstadter et al. GlueQoS: Middleware to sweeten quality-of-service policy interactions
US20060248577A1 (en) Using SSO processes to manage security credentials in a provisioning management system
US8041955B2 (en) Grid mutual authorization through proxy certificate generation
US20020184344A1 (en) Executing dynamically assigned functions while providing services
US20070288280A1 (en) Rule management using a configuration database
US20080059214A1 (en) Model-Based Policy Application
US20080270411A1 (en) Distributed behavior controlled execution of modeled applications
US20090070853A1 (en) Security Policy Validation For Web Services
US7565416B1 (en) Automatic application of implementation-specific configuration policies
US20060015727A1 (en) Method and apparatus for identifying purpose and behavior of run time security objects using an extensible token framework
US20070005320A1 (en) Model-based configuration management
JP2021528749A (ja) 自動パケットレスネットワーク到達可能性分析
KR101832535B1 (ko) 서비스로서 신뢰할 수 있는 장치 클레임 제공 기법
US10282461B2 (en) Structure-based entity analysis
US7996674B2 (en) LDAP user authentication
US9563482B2 (en) Method for imposing policy modification constraints
US20060005234A1 (en) Method and apparatus for handling custom token propagation without Java serialization
US20110004926A1 (en) Automatically Handling Proxy Server and Web Server Authentication
Agrawal et al. Policy technologies for self-managing systems
US7426551B1 (en) System, method and computer program product for dynamic system adaptation using contracts
US6675259B2 (en) Method and apparatus for validating and ranking disk units for switching
US20200177544A1 (en) Secure internet gateway

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060711

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060711

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20090206

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090929

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20091014

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091014

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20091014

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20091016

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100830

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20100901

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20100901

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110607