JP4627768B2 - データ転送を制限し分散コンピュータのソフトウェアコンポーネントを管理するためのシステム - Google Patents

データ転送を制限し分散コンピュータのソフトウェアコンポーネントを管理するためのシステム Download PDF

Info

Publication number
JP4627768B2
JP4627768B2 JP2007141157A JP2007141157A JP4627768B2 JP 4627768 B2 JP4627768 B2 JP 4627768B2 JP 2007141157 A JP2007141157 A JP 2007141157A JP 2007141157 A JP2007141157 A JP 2007141157A JP 4627768 B2 JP4627768 B2 JP 4627768B2
Authority
JP
Japan
Prior art keywords
node
bmonitor
ownership
cluster
data
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.)
Expired - Fee Related
Application number
JP2007141157A
Other languages
English (en)
Other versions
JP2007287165A (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.)
Microsoft Corp
Original Assignee
Microsoft 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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2007287165A publication Critical patent/JP2007287165A/ja
Application granted granted Critical
Publication of JP4627768B2 publication Critical patent/JP4627768B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer And Data Communications (AREA)
  • Storage Device Security (AREA)
  • Debugging And Monitoring (AREA)
  • Multi Processors (AREA)

Description

本発明はコンピュータシステムの管理に関する。さらに詳しくは、本発明は、データ転送を制限し分散コンピュータのソフトウェアコンポーネントを管理するためのシステム、方法、コンピュータ読取可能媒体、およびコンピュータ読取可能メモリに関する。
インターネット (the Internet) とその使用は、この近年に大幅に拡張しており、その拡張は今後も続くことが予想されている。インターネットの顕著な使い方の1つは、ワールドワイドウェブ(World Wide Web WWW。”Web”とも呼ばれている)であり、これは、ユーザが、見たりさもなければ提供したりできるドキュメントの集まりであり(”ウェブページ”と呼ばれる)、そこには、ユーザがアクセスできる1つまたは複数の他のページへのリンクが含まれているのが代表的である。多くの企業や個人は、プレゼンスをWeb上に創設し、1または2以上のWebページで自社または自分のことを記述し、自社製品やサービスを説明し、他の対象の情報を特定し、商品やサービスの購入を可能にする、といったことを行っているのが代表的である。
Webページは、Webページを「ホストする」とも呼ばれるプロセスである、1つまたは複数のWebサーバを通して、Web上で利用可能になっているのが代表的である。これらのWebページは、そのページを見ることを要求した、誰にでも自由に利用可能になっているときもあれば(例えば、会社の広告)、Webページへのアクセスが制限されているときもある(例えば、Webページにアクセスするには、パスワードが要求されることがある)。Webページを見ることを要求している人が非常に多数であると(特に、Webがグローバルにアクセス可能であること鑑みて)、十分にWebページをホストするためには、非常に多数のサーバが必要になる場合がある(例えば、同じWebページを複数のサーバでホストすると、そのWebページに同時にアクセスできる人の数が増加することになる)。さらに、Webは地理的に分散しており、アクセスに統一性がないため、サーバを異なるリモートロケーションに分散化し、世界の異なるロケーションにいる人々のアクセスタイムを最小限にすることが、しばしば望まれている。さらに、人々は、一日中Webページを見ている傾向があるので(この場合も、特にWebがグローバルにアクセス可能であることに鑑みて)、Webページをホストするサーバは、毎日24時間の間、機能状態に保っておく必要がある。
しかし、非常に多数のサーバを管理することは、困難になることがある。サーバを稼動状態に保つためには、高信頼電源が必要になる。盗みや他の悪意のある人が、サーバを破損したり、サーバにしのび込んだりする試みを防止するためには、物理的セキュリティが必要になる。アクセス要求がサーバに確実に到達することを保証するためには、高信頼インターネットコネクションが必要になる。サーバが正しく動作することを保証するためには、正しい動作環境(例えば、温度、湿度など)が必要になる。そこで、企業がこれらの問題に対処するのを支援する「共同ロケーション施設(co-location facilities)」が発達してきた。
ここで、共同ロケーション施設とは、複数のサーバを収容できる複合施設 (complex) のことである。共同ロケーション施設は、高信頼インターネットコネクション、高信頼電源、および適切な動作環境を提供しているのが代表的である。また、共同ロケーション施設は、複数のセキュアエリア(例えば、ケージ (cage))を含み、異なる企業が自社サーバをそこに置いておくことを可能にしているのが代表的である。特定の企業が共同ロケーション施設に置いておくサーバの集まりは、実際には、任意の個々の共同ロケーション施設に、単独のサーバだけが置かれているとしても、「サーバクラスタ(server cluster)」と呼ばれている。この場合、その特定企業は、自社サーバクラスタ内のサーバのオペレーションの管理を担当することになる。
しかしながら、このような共同ロケーション施設にも、問題が起こっている。1つの問題は、データのセキュリティ (data security) である。異なる企業(競争企業でさえも)は、同一共同ロケーション施設にサーバクラスタを置くことが可能になっている。このような状況では、ある企業を目的にインターネットから受信された(またはサーバクラスタ内のサーバから送信された)データが、その共同ロケーション施設に置かれている別の企業のサーバにルーチング(経路選択)されないようにする配慮が必要である。
もう1つの問題は、共同ロケーション施設に置かれた後の、サーバの管理の問題である。現在では、ある企業に属するシステムアドミニストレータ(システム管理者)は、サーバに障害(または他の問題)が起きたとき、共同ロケーション施設のアドミニストレータに連絡し(電話によるのが代表的)、特定のサーバをリセットすること(サーバ側のハードウェアリセットボタンを押すか、あるいはサーバをパワーオフした後で、パワーオンをする方法が代表的)をアドミニストレータに要求することが可能になっている。この限られたリセットだけの機能では、企業が得られる管理機能が非常に乏しい。別の方法として、企業に属するシステムアドミニストレータは、自身で共同ロケーション施設に赴き、障害を起こしたサーバに立ち会うことが可能になっている。残念ながら、システムアドミニストレータが共同ロケーション施設に赴いて、サーバに立ち会うようにすると、大量の時間が浪費されることになる。従って、サーバコンピュータを共同ロケーション施設で管理する改善方法があると、好都合である。
さらに、世界各国に置かれている個人ユーザのコンピュータの数は増加を続けており、その形体としては、パーソナルコンピュータ(PC)、パーソナルデジタルアシスタント (personal digital assistant PDA)、ポケットコンピュータ、パームサイズ (palm-sized) コンピュータ、ハンドヘルドコンピュータ、デジタルセルラーホン (digital cellular phone) などがある。これらユーザコンピュータ上のソフトウェアの管理は非常に面倒で、時間のかかる仕事であり、また、これらのマシンのユーザは非専門家であることが多いため、これらのユーザにとっては特に困難になっている。システムアドミニストレータや技術者は、ユーザコンピュータが置かれているリモートロケーションに赴くか、あるいは電話で管理オペレーションをウォークスルー (walk-through) することがよく行われている。ユーザが介入することなく、ユーザのロケーションでリモートコンピュータを管理するように改善すると、さらに好都合である。
本発明は、このような問題に鑑みてなされたもので、その目的とするところは、コンピュータシステムの管理を改善することができる、データ転送を制限し分散コンピュータのソフトウェアコンポーネントを管理するためのシステムおよび方法を提供することにある。
以下では、共同ロケーション施設 (co-location facility) に置かれているサーバコンピュータのクラスタにおいて、データ転送を制限し、ソフトウェアコンポーネントを管理することが説明されている。
本発明の一態様によれば、コントローラ(”BMonitor”と名付けられている)はコンピュータ(例えば、共同ロケーション施設に置かれた各ノード)に置かれている。BMonitorは複数のフィルタを含み、共同ロケーション施設内の別のノードやインターネット経由でコンピュータに結合されたクライアントコンピュータなどのように、データをどことの間で送受信できるかがこれらのフィルタによって特定されるようになっている。これらのフィルタは、コンピュータのオペレーション期間に、コンピュータに結合された1つまたは複数の管理デバイス (management device) によって変更することが可能になっている。
別の態様によれば、”BMonitor”と名付けられたコントローラ(コンピュータに置かれている)は、そのコンピュータ上に存在するソフトウェアコンポーネントを管理している。要求が外部ソースからBMonitorによって受信されると、その要求はBMonitorによって実行される。この要求は、コンピュータと同じ場所に置かれている管理コンソールからでも、コンピュータから離れた場所に置かれている管理コンソールからでも、出すことが可能になっている。
別の態様によれば、”BMonitor”と名付けられたコントローラ(コンピュータに置かれている)は、複数の管理デバイス間のやりとりを仲介するトラステッドサードパーティ(trusted third party:第三者機関)の働きをしている。BMonitorは複数の所有権ドメイン (ownership domain) を維持しており、各ドメインは管理デバイスに対応づけられていると共に、各ドメインは、どのタイプの管理機能(function)をBMonitorに実行させることを指示できるかを示す、独自の権利セットをもっている。1つの所有権ドメインだけが、どの時点においてもトップレベルドメインになっており、このトップレベルドメインは、下位レベルのドメインよりも権利セットがさらに拡大されている。トップレベルドメインは、他の管理デバイスに対応づけられる、新しい所有権ドメインを作成することができ、また、トップレベルドメインを削除し、それに対応する管理デバイスの管理権を、下位レベル所有権ドメインに対応する管理デバイスによって、いつでも取り消すことが可能になっている。トップレベル所有権ドメインになっている所有権ドメインが変更されるたびに、コンピュータのシステムメモリは消去できるので、ある所有権ドメインからの機密情報が、他の所有権ドメインに対応するデバイスによって利用されることが防止されている。
別の態様によれば、BMonitorは、ノードで実行されている他のソフトウェアエンジン (software engine) よりも高い特権レベルで実行されるため、他のソフトウェアエンジンがBMonitorによって設定された制限に干渉するのを防止している。
以下には、添付図面を参照して本発明について説明されているが、本発明は以下の説明に限定されるものではない。また、図面全体を通して、類似のコンポーネントおよび/または機能は、同一符号を用いて示されている。
本発明によれば、本発明によれば、共同ロケーション施設に置かれているサーバコンピュータのクラスタにおいて、データ転送を制限し、ソフトウェアコンポーネントを管理することにより、コンピュータシステムの管理を効率よく行える。
以下、図面を参照して本発明の実施形態を詳細に説明する。なお、各図面において同様の機能を有する箇所には同一の符号を付し、説明の重複は省略する。
図1は、本発明のいくつかの実施形態で使用できるような、クライアント/サーバネットワークシステムと環境を示す図である。一般的に、システムは、1つまたは複数(n個)のクライアントコンピュータ1021〜102nと、各々が複数のサーバコンピュータのクラスタ(サーバクラスタ)1061−1、1061−2、106m−1、106m−2を含んでいる1つまたは複数(m個)の共同ロケーション施設1041〜104mと、1つまたは複数の管理デバイス110と、1つまたは複数の別設(例えば、共同ロケーション施設に含まれていない)サーバ112とを含んでいる。これらのサーバ、クライアントコンピュータ、および管理デバイスは、データ通信ネットワーク108を通して相互に通信している。図1の通信ネットワークは、インターネットのような公衆ネットワーク108を含んでいる。インターネットに加えて、あるいはその代用として、他のタイプの通信ネットワークを使用することも可能であり、その中には、ローカルエリアネットワーク (local area network LAN)、広域ネットワーク (wide area network WAN) などが含まれている。データ通信ネットワーク108の構築は、さまざまな方法で行うことが可能であり、その中には、ワイヤード(有線)および/またはワイヤレス(無線)通信媒体が含まれている。
ネットワーク108を利用した通信を行うには、広範囲にわたる通信プロトコルの使用が可能である。ある実装では、クライアントコンピュータ1021〜102nとクラスタ1061−2、106m−1、106m−2内のサーバコンピュータは、ハイパーテキスト転送プロトコル (Hypertext Transfer Protocol HTTP) を使用して相互に通信することが可能になっており、そこでは、Webページはサーバコンピュータによってホストされ、HTML(Hypertext Markup Language)またはXML(eXtensible Markup Language)などの、マークアップ言語で書かれている。
管理デバイス110は、デバイス110から離れたロケーションに置かれている1つまたは複数のコンピューティングデバイスのソフトウェアコンポーネントを管理する働きをする。この管理の中には、管理されるコンピューティングデバイスとの間でやりとりされるデータ転送を制限することを含めることも可能である。図1に示す例では、管理デバイス110は、クライアント1021〜102n、サーバクラスタ1061−1、1061−2、106m−1、106m−2、またはサーバ112の、1つまたは複数をリモートで管理することが可能になっている。リモートで管理できるコンピューティングデバイスは広範囲にわたっており、その中には、パーソナルコンピュータ (personal computer PC)、ネットワークPC、マルチプロセッサシステム、マイクロプロセッサベースまたはプログラマブルな家庭用電化製品、ミニコンピュータ、メインフレームコンピュータ、ゲーミングコンソール (gaming console)、インターネット機器、パーソナルデジタルアシスタント (personal digital assistant PDA)、ポケットコンピュータ、パームサイズ (palm-sized) コンピュータ、ハンドヘルドコンピュータ、デジタルセルラーホン (digital cellular phone)、などが含まれている。コンピューティングデバイスのリモート管理は、以下に詳しく説明されているように、コマンドをネットワーク108経由でデバイスに伝達することによって行われる。
以下の説明では、本発明の実施形態は、プログラムモジュールのように、1つまたは複数の従来パーソナルコンピュータによって実行されるコンピュータ実行可能命令の一般的意味において説明されている。一般的に、プログラムモジュールには、特定のタスクを実行し、あるいは特定の抽象データ型を実装している、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などが含まれている。さらに、当業者ならば理解されるように、本発明の種々実施形態は、他のコンピュータシステム構成で実施することが可能であり、その中には、ハンドヘルドデバイス、ゲーミングコンソール (gaming console)、インターネットアプライアンス (Internet appliance)、マルチプロセッサシステム、マイクロプロセッサベースまたはプログラマブルな家庭用電化製品、ネットワークPC、ミニコンピュータ、メインフレームコンピュータなどが含まれている。分散コンピュータ環境では、プログラムモジュールは、ローカルとリモートの両方のメモリストレージデバイスに置いておくことが可能になっている。
別の方法として、本発明の実施形態は、ハードウェアで実現することも、ハードウェア、ソフトウェア、および/またはファームウェアの組み合わせで実現することもできる。例えば、本発明は、その全体または一部を1つまたは複数の特定用途向け集積回路 (application specific integrated circuit ASIC) またはプログラム可能論理デバイス (programmable logic device PLD) に実装させることが可能になっている。
図2は、本発明のいくつかの実施形態に従って使用できるコンピュータ142の例を示す概要図である。図示のコンピュータ142の例としては、図1のクライアントコンピュータ1021〜102nとしての機能をもつコンピュータ、図1の共同ロケーション施設1041〜104mや他のロケーションに置かれているコンピュータやノード(例えば、以下に説明する図5のノード248)、あるいはローカルまたはリモート管理コンソールがあり、これらは、以下に詳しく説明されている。
コンピュータ142は、1つまたは複数のプロセッサまたは処理ユニット144、システムメモリ146、およびシステムメモリ146を含む種々のシステムコンポーネントをプロセッサ144に結合しているバス148を含んでいる。バス148は、数種タイプのバス構造のいずれかの1つまたは複数を表しており、その中には、種々のバスアーキテクチャのいずれかを採用しているメモリバスまたはメモリコントローラ、ペリフェラル(周辺)バス、高速グラフィックスポート、およびプロセッサまたはローカルバスが含まれている。システムメモリとしては、リードオンリメモリ (read only memory ROM) 150とランダムアクセスメモリ (random access memory RAM) 152がある。基本入出力システム (basic input/output system BIOS) 154は、スタートアップ中のように、コンピュータ142内の要素間で情報を転送するのを支援する基本ルーチンで構成され、ROM 150に格納されている。
コンピュータ142は、さらに、ハードディスク(図示せず)との間で読み書きを行い、ハードディスクドライブインタフェース157(例えば、SCSI、ATA、他のタイプのインタフェース)を介してバス148に接続されているハードディスクドライブ156、リムーバル磁気ディスク160との間で読み書きを行い、磁気ディスクドライブインタフェース161を介してバス148に接続されている磁気ディスクドライブ158、およびCD-ROMやDVD、その他の光メディアなどの、リムーバル光ディスク164との間で読み書きを行い、光ドライブインタフェース165を介してバス148に接続されている光ディスクドライブ162を装備している。これらのドライブおよびそれぞれに関連するコンピュータ読取可能媒体は不揮発性ストレージとして、コンピュータ142のためのコンピュータ読取可能命令、データ構造、プログラムモジュールおよび他のデータを格納している。ここで説明している例示環境では、ハードディスク、リムーバル磁気ディスク160およびリムーバル光ディスク164が採用されているが、当業者ならば理解されるように、コンピュータによってアクセス可能なデータを格納しておくことができる他のタイプのコンピュータ読取可能媒体を、例示動作環境で使用することも可能であり、そのようなものとしては、磁気カセット、フラッシュメモリカード、デジタルビデオディスク、ランダムアクセスメモリ (RAM)、リードオンリメモリ (ROM) などがある。
いくつかのプログラムモジュールは、ハードディスク、磁気ディスク160、光ディスク164、ROM 150またはRAM 152に格納しておくことが可能であり、その中には、オペレーティングシステム170a、170b、1つまたは複数のアプリケーションプログラム172a、172b、他のプログラムモジュール174a、174b、およびプログラムデータ176a、176bが含まれている。ユーザは、キーボード178やポインティングデバイス180などの、入力デバイスを通してコマンドと情報をコンピュータ142に入力することができる。他の入力デバイス(図示せず)としては、マイクロホン、ジョイスティック、ゲームパッド、サテライトディッシュ、スキャナなどがある。上記および他の入力デバイスは、システムバスに結合されているインタフェース168を介して処理ユニット144に接続されている。モニタ184や他のタイプのディスプレイデバイスも、ビデオアダプタ186のような、インタフェースを介してシステムバス148に接続されている。モニタのほかに、パーソナルコンピュータは、スピーカやプリンタのような、他のペリフェラル(周辺)出力デバイス(図示せず)を装備しているのが代表的である。
コンピュータ142は、オプションとして、リモートコンピュータ188のような、1つまたは複数のリモートコンピュータとの論理コネクションを使用するネットワーキング環境で動作している。リモートコンピュータ188は、別のパーソナルコンピュータ、サーバ、ルータ、ネットワークPC、ピアデバイス(peer device)または他の共通ネットワークノードにすることが可能であり、図2にはメモリストレージデバイス190だけが示されているが、コンピュータ142に関連して上述した要素の多くまたは全部を含んでいるのが代表的である。図2に示す論理コネクションとしては、ローカルエリアネットワーク (LAN) 192と広域ネットワーク (WAN) 194がある。このようなネットワーキング環境は、オフィス、企業内 (enterprise-wide) コンピュータネットワーク、イントラネット (intranet)、およびインターネットで普及している。ここで説明している本発明の実施形態では、リモートコンピュータ188は、Microsoft Corporation (Redmond, Washington州) で製造され、販売されている”Internet Explorer” Webブラウザなどの、インターネットWebブラウザプログラム(これは、オプションとして、オペレーティングシステムに組み込まれていることもある)を実行している。
LANネットワーキング環境で使用されるときは、コンピュータ142は、ネットワークインタフェースまたはアダプタ196を通してローカルネットワーク192に接続されている。WANネットワーキング環境で使用されるときは、コンピュータ142は、インターネットなどの広域ネットワーク194上の通信を確立するためのモデム198や他のコンポーネントを装備しているのが代表的である。モデム198は内蔵型と外付け型があり、どちらも、インタフェース(例えば、シリアルポートインタフェース168)を介してシステムバス148に接続されている。ネットワーキング環境では、パーソナルコンピュータ142に関連して上述したプログラムモジュールまたはその一部は、リモートメモリストレージデバイスに格納しておくことができる。以上から理解されるように、図示のネットワークコネクションは例示であり、コンピュータ間の通信リンクを確立する他の手段を使用することも可能である。
一般的に、コンピュータ142のデータプロセッサは、コンピュータの種々のコンピュータ読取可能媒体に時期を異にして格納されている命令によってプログラムされている。プログラムとオペレーティングシステムは、例えば、フロッピー(登録商標)ディスクやCD-ROMに入れて配布されるのが代表的である。これらは、そこからインストールされ又は、コンピュータの二次メモリ (secondary memory) にロードされる。実行時に、これらは、少なくともその一部が、コンピュータの一次電子メモリ (primary electronic memory) にロードされている。ここで説明している本発明によれば、マイクロプロセッサまたは他のデータプロセッサと関連付けて以下に説明されているステップを実現するための命令またはプログラムは、上記および他のタイプのコンピュータ読取可能ストレージ媒体に収められている。また、本発明によれば、コンピュータ自体が、後述する方法と手法に従ってプログラムされるようになっている。さらに、コンピュータのある種のサブコンポーネントは、後述する機能とステップを実行するようにプログラム可能になっている。本発明によれば、そのようなサブコンポーネントは下述するようにプログラムされるようになっている。さらに、ここで説明している本発明によれば、データ構造は、下述するように、種々タイプのメモリ媒体上に具現化されている。
説明の便宜上、プログラムおよびオぺレーティングシステムのような他の実行可能プログラムコンポーネントは、ここでは個別的ブロックとして示されているが、当然に理解されるように、このようなプログラムとコンポーネントは、時期を異にしてコンピュータの異なるストレージコンポーネントに置かれていて、コンピュータのデータプロセッサによって実行されるようになっている。
図3は、例示の共同ロケーション施設を示す詳細ブロック図である。共同ロケーション施設104は、図示のように複数のノード210−1〜210−n(サーバコンピュータとも呼ばれる)を含んでいる。共同ロケーション施設104は、ノードをいくつでも収容することが可能であり、数千にもわたる数のノードを容易に収容することが可能になっている。
ノードは、サーバクラスタ(またはノードクラスタ)と呼ばれる、いくつかのクラスタにグループ化されている。説明を簡単にし、図面の混乱を避けるために、図3にはただ1つのクラスタ212だけが示されている。各サーバクラスタは、共同ロケーション施設104の特定カスタマに対応するノードを含んでいる。あるサーバクラスタのノードは、他のサーバクラスタのノードから物理的に隔離されている。この物理的隔離は、共同ロケーション施設104でのロックされた個別ケージや個別ルームのように、異なる形体にすることができる。サーバクラスタを物理的に隔離すると、共同ロケーション施設104のカスタマは、自分だけが自分のノードに物理的にアクセスできることが保証される(他のカスタマはアクセスできない)。別の方法として、サーバクラスタは、相互に対して物理的にではなく、論理的に隔離することも可能である(例えば、以下で詳しく説明するクラスタ境界を使用して)。
ランドロード/テナント関係(貸主/借主 (lessor/lessee) 関係とも呼ばれる)は、ノードをベースにして設定することも可能である。共同ロケーション施設104の所有者(および/またはオペレータ)は、個々のノードを所有している(さもなければ、その権利を有している)ので、「ランドロード」と見ることができる。共同ロケーション施設104のカスタマは、ランドロードからノードをリースするので、「テナント」と見ることができる。ランドロードは、どのタイプのデータまたはプログラムがテナントによってノードにストアされているかには無関心であるのが一般的であるが、クラスタに境界を設けて、異なるクラスタからのノードが、相互に通信するのを防止するようにしている。これについては、以下に詳しく説明されている。さらに、ノードを使用すると、テナントは、そのノードがテナントだけにリースされるとしても、ランドロードがテナントによってストアされた機密情報にアクセスできないとの保証が得られる。
異なるクラスタのノードは、物理的に隔離されていても、ネットワークコネクション(1つまたは複数)216へのアクセス、場合によっては、アプリケーションオペレーション管理コンソール242へのアクセスを可能にする、同じトランスポート媒体(1つまたは複数)211に物理的に結合されていることがよくある。これについては、以下に詳しく説明されている。このトランスポート媒体はワイヤド(有線)またはワイヤレス(無線)にすることができる。
各ノードは、共有トランスポート媒体211に結合できるので、各ノードは、他のどのノードとの間でデータを送受信できるかを制限するように構成可能になっている。いくつかの異なるノードをテナントのサーバクラスタに含めることが可能になっていれば、テナントは、そのクラスタ内の異なるクラスタの間でデータを、処理や保管などの目的のために、受け渡しできることを望む場合がある。しかし、テナントは、サーバクラスタに属していない他のノードにデータが渡されるのを望まないのが一般的である。他のどのノードとの間でデータを送受信できるかを制限するようにクラスタ内の各ノードを構成すると、サーバクラスタの境界を設定し、適用することが可能になる。このようなサーバクラスタ境界を設定し、適用すると、テナントのデータがクラスタに属していないノードに誤って、あるいは不正に転送されることが防止される。
ランドロードによって設定される、これらの初期境界は、異なるカスタマのノード間の通信を防止するので、各カスタマのデータがそのカスタマの他のノードに渡されることが保証されることになる。カスタマ自身も、そのクラスタ内にサブ境界を別に定義し、ノードのサブクラスタを設定すると、そこから出入りするデータが、クラスタ内の他のノードとの間で受け渡しされることが防止される。カスタマは、そのようなサブクラスタ境界を自由に追加し、変更し、削除し、その他を行うことができるが、それが許されるのは、ランドロードによって定義された境界(つまり、クラスタ境界)内に限られている。従って、カスタマは、ノードとの間で行われる通信が、同じクラスタに属していない別のノードにまで拡張されるような形で境界を変更することはできない。
共同ロケーション施設104は、ノードノード210−1〜210−nの各々に対して高信頼電源214と高信頼ネットワークコネクション(1つまたは複数−以下同じ)216(例えば、図1のネットワーク108)を提供している。電源214とネットワークコネクション216はノードノード210−1〜210−nのすべてによって共有されているが、別の方法として、ノードノード210−1〜210−nまたはノードグループ(例えば、クラスタ)に別の電源214とネットワークコネクション216を提供することも可能である。高信頼電源を提供するための広範囲にわたる、従来のメカニズムは、いずれも、電源障害(停電)時のバックアップ発電機、冗長発電機、バッテリ、燃料電池、あるいは他の蓄電メカニズムと併用して、電力会社から供給される電力のような、高信頼電源214を提供するために使用することができる。同様に、高信頼ネットワークコネクションを提供するための広範囲にわたる、従来のメカニズムは、いずれも、冗長コネクショントランスポート媒体、異種のコネクション媒体、異なるアクセスポイント(例えば、異なるインターネットアクセスポイント、異なるインターネットサービスプロバイダ (Internet service provider ISP) など)などの、ネットワークコネクション216を提供するために使用することができる。
いくつかの実施形態では、ノードノード210−1〜210−nは、共同ロケーション施設104のオペレータまたは所有者によって、施設104のスペースおよびサービス(例えば、高信頼電源214とネットワークコネクション216)と一緒にカスタマにリースまたは販売されている。他の実施形態では、施設104のスペースとサービスはカスタマにリースされる一方、1つまたは複数のノードはカスタマによって用意されるようになっている。
各ノードノード210−1〜210−nの管理は多層方式で行われる。図4は、例示の多層管理アーキテクチャを示すブロック図である。この多層アーキテクチャは3層からなっている。すなわち、クラスタオペレーション管理層230、アプリケーションオペレーション管理層232、およびアプリケーション開発層234である。クラスタオペレーション管理層230は、管理されるサーバ(1つまたは複数−以下同じ)と同じロケーションに(例えば、共同ロケーション施設に)ローカルに実装され、サーバのハードウェアオペレーションを管理することを担当している。図示の例では、クラスタオペレーション管理層230は、どのソフトウェアコンポーネントがノードノード210−1〜210−nで実行されているかには無関係であり、関係があるのは、ノードノード210−1〜210−nのハードウェアオペレーションを継続することと、ノードクラスタ間に境界を設定することだけである。
これに対して、アプリケーションオペレーション管理層232は、管理されるサーバが置かれている場所とは別の(例えば、共同ロケーション施設とは別の)リモートロケーションにあって、サーバに結合されていてまだ通信状態にあるクライアントコンピュータのロケーションに実装されている。アプリケーションオペレーション管理層232は、サーバのソフトウェアオペレーションを管理し、サーバクラスタ内にサブ境界を定義することを担当している。クライアントをサーバに結合するには、インターネット経由や専用(例えば、ダイヤルアップ)コネクション経由といったように、さまざまな方法で行うことが可能になっている。また、クライアントは、サーバに結合したままにしておくことも、不定期に(例えば、管理目的のための必要時のみ)結合することも可能である。
アプリケーション開発層234は、サーバとは別のロケーション(例えば、共同ロケーション施設とは別のロケーション)に置かれている、別のクライアントコンピュータに実装されており、サーバ上で実行されるソフトウェアコンポーネントまたはエンジンを開発することを担当している。別の方法として、共同ロケーション施設104のノードノード210−1〜210−nに置かれているカレントソフトウェアにリモートクライアントがアクセスすることによって、ノードのための追加ソフトウェアコンポーネントやエンジンを開発することも可能である。アプリケーション開発層234が実装されているクライアントは、アプリケーションオペレーション管理層232が実装されているクライアントとは別のクライアントであるのが一般的であるが、これらの2層232と234は、同じクライアントに(少なくとも部分的に)実装させることも可能である。
図4には3層だけが示されているが、これとは別に、多層アーキテクチャは異なる数の層で構成することも可能である。例えば、アプリケーションオペレーション管理層を2層に分割し、各層に異なる(またはオーバラップする)責任をもたせれば、結果的に、4層のアーキテクチャが得られることになる。これらの層での管理は、同じ場所(例えば、単独のアプリケーション管理コンソールを共用にする)からでも、異なる場所(例えば、2つの異なるオペレーション管理コンソール)からでも行うことができる。
図3に戻って説明すると、共同ロケーション施設104は、各サーバクラスタのためのクラスタオペレーション管理コンソールを含んでいる。図3の例では、クラスタオペレーション管理コンソール240はクラスタ212に対応付けられている。クラスタオペレーション管理コンソール240はクラスタ212のためのクラスタオペレーション管理層230(図4)を実装しており、クラスタ212内のノードのハードウェアオペレーションを管理することを担当している。クラスタオペレーション管理コンソール240はクラスタ212内のハードウェアをモニタリングし、ハードウェア障害を判別することを試みている。広範囲にわたる、どのようなハードウェア障害でもモニタリングすることが可能であり、その中には、プロセッサ障害、バス障害、メモリ障害などが含まれている。ハードウェアオペレーションをモニタリングする方法は、クラスタオペレーション管理コンソール240が、応答するように特定のハードウェアの使用を要求するテストメッセージや制御シグナルをノードへ送信するとか(無応答または誤りのある応答は障害が起きたことを示している)、特定のハードウェアの使用を要求するテストメッセージや制御シグナルを生成させ、ノードからクラスタオペレーション管理コンソール240へ定期的に送信させるとか(特定の時間期間内にこのメッセージまたは制御シグナルを受信しないときは、障害が起きたことを示している)、といったように、種々の方法が可能である。別の方法として、クラスタオペレーション管理コンソール240は、どのタイプのハードウェア障害が発生したかを判別することを試みるのではなく、障害が起きたことだけを判別するようにすることもできる。
ハードウェア障害が検出されると、クラスタオペレーション管理コンソール240は、その障害を訂正するように働く。クラスタオペレーション管理コンソール240が取るアクションは、ハードウェアだけでなく、障害のタイプによっても異なることがあり、また、サーバクラスタが異なると異なることもある。訂正アクションとしては、アドミニストレータに通知すること(例えば、ライトの点滅、オーディオアラーム、電子メールメッセージ、セルホンまたはページャのコール、など)、問題を物理的に訂正することを試みること(例えば、ノードをリブートする、障害を起こしたノードの代わりに別のバックアップノードを起動する、など)がある。
クラスタオペレーション管理コンソール240は、共同ロケーション施設104内にクラスタ境界も設定する。コンソール240によって設定されたクラスタ境界は、あるクラスタ(例えば、クラスタ212)内のノード210−3が、別のクラスタ(例えば、クラスタ212に属さないクラスタ)と通信するのを防止し、他方では、これと同時に、クラスタ内のノード210−3がそのクラスタ内の他のノードと通信する能力を妨げないようにする。これらの境界によると、テナントは、ネットワークコネクション216がテナントによって共有されている場合であっても、施設104に置かれた他のテナントのノードに自分のデータを伝達できないことを知ることができるので、テナントのデータのセキュリティが得られることになる。
図示の例では、共同ロケーション施設104の各クラスタは、専用クラスタオペレーション管理コンソールを含んでいる。別の方法として、単独のクラスタオペレーション管理コンソールを複数のサーバクラスタに対応付けて、そのハードウェアオペレーションを管理させることも可能である。別の代替方法によれば、複数のクラスタオペレーション管理コンソールを単独のサーバクラスタに対応付けて、そのハードウェアオペレーションを管理させることも可能である。このような複数コンソールに単独のサーバクラスタを、共有方式で管理させることも、1つのコンソールを、別のコンソールのバックアップとして動作させることもできる(例えば、冗長性をもたせると信頼性が向上するので、保守などが容易化される)。
アプリケーションオペレーション管理コンソール242も、共同ロケーション施設104に結合され、通信状態に置かれている。アプリケーションオペレーション管理コンソール242は、共同ロケーション施設104から離れたロケーションに置かれている(つまり、共同ロケーション施設104内ではなく、カスタマのオフィスに置かれているのが代表的である)。共同ロケーション施設104の各々のサーバクラスタに異なるアプリケーションオペレーション管理コンソール242を対応付けることができるが、別の方法として、単独のサーバクラスタに複数のコンソール242を対応付けることも、複数のサーバクラスタに単独のコンソール242を対応付けることも可能である。アプリケーションオペレーション管理コンソール242は、クラスタ212のためのアプリケーションオペレーション管理層232(図4)を実装しており、クラスタ212内のソフトウェアオペレーションを管理するだけでなく、クラスタ212内のサブ境界をセキュアにすることも担当している。
アプリケーションオペレーション管理コンソール242はクラスタ212内のソフトウェアをモニタリングしており、ソフトウェア障害を判別することを試みている。広範囲にわたるソフトウェア障害をモニタリングすることが可能であり、例えば、「ハングアップした」または無応答のアプリケーションプロセスまたはスレッド、アプリケーションプロセスまたはスレッドの実行時エラーなどの、ソフトウェア障害をモニタリングすることができる。ソフトウェアオペレーションのモニタリング方法はさまざまな方法が可能であり(上述したハードウェアオペレーションのモニタリングと同様である)、例えば、アプリケーションオペレーション管理コンソール242が、応答するように特定のルーチンの使用を要求するテストメッセージや制御シグナルをノード上で実行中の特定プロセスまたはスレッドに送信する(無応答または誤った応答は障害が起きたことを示している)。または、特定ソフトウェアルーチンの使用を要求するメッセージや制御シグナルを生成させ、ノード上で実行中のプロセスまたはスレッドからアプリケーションオペレーション管理コンソール242に定期的に送信させるとか(このようなメッセージや制御シグナルを特定時間の期間内に受け取らなかったときは、障害が起きたことを示している)、といった方法が可能である。別の方法として、アプリケーションオペレーション管理コンソール242は、どのタイプのソフトウェア障害が発生したかを判別する試みを行うのではなく、障害が発生したことだけを判別するようにすることもできる。
ソフトウェア障害が検出されると、アプリケーションオペレーション管理コンソール242は、その障害を訂正するように働く。アプリケーションオペレーション管理コンソール242が取るアクションは、ソフトウェアだけでなく、障害のタイプによっても異なることがあり、また、サーバクラスタが異なると異なることもある。訂正アクションとしては、アドミニストレータに通知すること(例えば、ライトの点滅、オーディオアラーム、電子メールメッセージ、セルホンまたはページャのコール、など)、問題を訂正することを試みること(例えば、ノードをリブートする、ソフトウェアコンポーネントまたはエンジンのイメージを再ロードする、プロセスを終了した後再実行する、など)がある。
従って、ノード210−1〜210−nの管理は、ノードと同一ロケーションに置かれている他のノード(存在する場合)の数に関係なく、複数のマネージャに分散化されている。この多層管理によると、ハードウェアオペレーション管理はアプリケーションオペレーション管理から分離されるので、ノードに対する管理責任を、2つの異なるコンソール(各々は異なるエンティティの制御下に置かれている)に分担させることが可能になる。
図5は、本発明のいくつかの実施形態による、リモートで管理される例示ノードを示す詳細ブロック図である。ノード248は、共同ロケーション施設のノード210−1〜210−nにすることも、別設のデバイス(例えば、図1のクライアント102−1〜102−nまたはサーバ112)にすることも可能である。ノード248は、”BMonitor”と呼ばれるモニタ250、および複数のソフトウェアコンポーネントまたはエンジン252を含み、大容量ストレージデバイス262に結合されている(大容量ストレージデバイスを内蔵している場合もある)。図示の例では、ノード248は、複数の特権レベル (privilege level)(例えば、x86アーキテクチャプロセッサにおけるリング)をサポートするプロセッサ(1または複数)を搭載したコンピューティングデバイスになっている。図示の例では、これらの特権レベルはリング (ring) と呼ばれているが、異なるプロセッサアーキテクチャを採用している別の実装では、別の用語が用いられている場合がある。この複数リングによれば、1組の優先レベル (prioritized level) が用意され、ソフトウェアがその優先レベルで実行されるようになっている。なお、優先レベルは4レベル(リング0, 1, 2, 3)になっていることが多い。リング0は、最大特権リングと呼ばれるのが代表的である。リング0で実行されるソフトウェアプロセスは、特権の低いリングで実行されるプロセスよりも、アクセスできる機能(例えば、命令)が多くなっているのが代表的である。さらに、特定のリングで実行されているプロセッサは、優先度の高いリングのコードやデータを変更することができない。図示の例では、BMonitor 250はリング0で実行されるのに対し、エンジン252はリング1(またはリング2および/または3)で実行されている。従って、BMonitor250(リング0で実行されている)のコードまたはデータは、エンジン252(リング1で実行されている)によって直接に変更することができない。むしろ、このような変更は、エンジン252がBMonitor250に変更を依頼することによって(例えば、BMonitor250にメッセージを送るとか、BMonitor250の関数を呼び出すとか、といった方法で)行われる必要がある。BMonitor250をリング0で実装すると、BMonitor250は、BMonitor250によって課されている制限をバイパスしようとする統制されていないあるいは悪意のあるエンジン252から保護されることになる。
別の方法として、BMonitor250は、統制されていないあるいは悪意のあるエンジン252からBMonitor250を保護する、他の方法で実装することも可能である。例えば、ノード248は、1つはエンジン252を実行するためのプロセッサ、もう1つはBMonitor250を実行するためのプロセッサといったように、複数のプロセッサを含むことができる。エンジン252が実行されているプロセッサとは別のプロセッサでBMonitor250だけを実行させるようにすると、BMonitor250をエンジン252から効果的にシールドすることが可能になる。
BMonitor250は、ノード248の基本的制御モジュールである。つまり、これは、ネットワークインタフェースカードとメモリマネージャの両方を制御している(オプションとして、内蔵している場合もある)。ネットワークインタフェースカード(これは、BMonitor250とは別になっていることもあれば、BMonitor250がネットワークインタフェースカードに内蔵されていることもある)を制御すると、BMonitor250は、ノード248との間で送受されるデータを制御することができる。メモリマネージャを制御すると、BMonitor250は、ノード248で実行されているエンジン252に対するメモリの割り振りを制御できるので、統制されていないあるいは悪意のあるエンジンがBMonitor250のオペレーションに干渉するのを防止することができる。
ノード248の種々の態様がBMonitor250(例えば、ネットワークインタフェースカード)の制御下に置かれていることがあっても、BMonitor250は、その機能の少なくとも一部を、ノード248で実行されているエンジン252が利用できるようにしている。BMonitor250は、データを別のノード248やインターネットに送出するといったように、エンジン252がそこから機能へのアクセスを要求できるようにするインタフェースとなっている(例えば、以下で詳しく説明するコントローラ254を通して)。これらの要求は、メッセージを送信する、関数をコールする、といったように、さまざまな形体にすることができる。
BMonitor250は、コントローラ254、ネットワークインタフェース256、1つまたは複数のフィルタ258、1つまたは複数の鍵259、およびBMonitor250制御プロトコル (BMonitor Control Protocol BMCP) モジュール260を含んでいる。ネットワークインタフェース256は、ノード248とネットワーク(例えば、図1のネットワーク108)とを結ぶインタフェースとなっている。共同ロケーション施設に置かれた他の、どのノード(および/または他のソース)またはターゲット(例えば、図1のインターネット108に結合されている)との間でデータを送受信できるか(あるいは送受信できないか)は、フィルタ258によって判別される。これらのノードまたは他のソース/ターゲットを判別するには、ネットワークアドレス(例えば、インターネットプロトコル (Internet Protocol IP) アドレス)、ある種のグローバルにユニークな識別子 (ID)、ローカルにユニークな識別子(例えば、共同ロケーション施設104が所有するまたは独自の番号付け方式)といった、さまざまな方法で行うことが可能である。
フィルタ258は、ノードへのアクセスを完全に制限することも(例えば、ノードとの間でデータの送受信ができない)、ノードへのアクセスを部分的に制限することもできる。部分的アクセス制限は、さまざまな形体にすることができる。例えば、ノードからデータを受信できるが、ノードには送信できない(またはその逆)、といったようにノードを制限することができる。別の例として、あるタイプのデータ(例えば、HTTPなどの、ある種のプロトコルに準拠する通信)だけが、ノードとの間で送信および/または受信できるようにノードを制限することもできる。特定タイプのデータに基づくフィルタリングをどのように実装するかは、データをパケットに入れ、そのパケットに含まれるデータのタイプを示すヘッダ情報と一緒にデータを伝達するといった、さまざまな方法が可能である。
フィルタ258は、図1の1つまたは複数の管理デバイス110によっても、あるいは図3のアプリケーションオペレーション管理コンソール242またはクラスタオペレーション管理コンソール240のどちらかによっても、追加することができる。図示の例では、クラスタオペレーション管理コンソール240によって追加されたフィルタ(クラスタ境界を設定するために)は、ノードへの完全アクセスを制限しているのに対し(例えば、別のノードへのアクセスはすべてが禁止される)、アプリケーションオペレーション管理コンソール242によって(クラスタ内にサブ境界を設定するために)または管理デバイス110によって追加されたフィルタは、ノードへの完全アクセスまたは部分的アクセスのどちらかを制限することが可能になっている。
コントローラ254も、どのフィルタをフィルタ258に追加できるかに対していくつかの制限を設けている。図3と4に示す多層管理アーキテクチャでは、コントローラ254は、クラスタオペレーション管理コンソール240が、必要とするどのフィルタでも追加できるようにしている(これにより、クラスタの境界が定義される)。他方、コントローラ254は、少なくともその制限度が、コンソール240によって追加されたフィルタと同じであるフィルタだけを、アプリケーションオペレーション管理コンソール242が追加することに制限している。コンソール242が、コンソール240によって追加されたフィルタより制限度の低いフィルタを追加しようとすると(その場合には、サブ境界はクラスタ境界を越えることになる)、コントローラ254は、そのフィルタを追加することを拒否する(別の方法として、制限度が低くならないようにフィルタを修正することも可能である)。このような制限を設けると、コントローラ254は、アプリケーションオペレーション管理レベルで設定されたサブ境界が、クラスタオペレーション管理レベルで設定されたクラスタ境界を越えるのを防止することができる。
コントローラ254は、1つまたは複数のフィルタ258を使用して、ノード248から送信されるおよび/またはノード248によって受信されるデータパケットを制限するように動作する。あるエンジン252を目的としたデータ、またはエンジン252から別のノードに送られるデータは、すべてがネットワークインタフェ−ス256とフィルタ258を経由して渡される。コントローラ254はデータにフィルタ258を適用し、データのターゲット(例えば、そのデータを収めているパケットのヘッダ部分に指定されているのが代表的)を、フィルタ258に指定されている許容された(および/または制限された)ノード(および/またはネットワークアドレス)と比較する。データのターゲットが許容されていることをフィルタ258が示していれば、コントローラ254は、データがターゲットに渡されること(ノード248に送り込まれるか、あるいはノード248から送出されること)を許可する。他方、データのターゲットが許容されないことをフィルタ258が示していれば、コントローラ254は、データがターゲットに渡されるのを禁止する。コントローラ254は、データをターゲットに渡すことができないとの通知をデータのソース(送信元)に戻すこともあれば、データを無視または破棄するだけのこともある。
コントローラ254によってフィルタ258をデータに適用すると、サーバクラスタ(図3)の境界に制限を設けることが可能になる。フィルタ258は、サーバクラスタ(例えば、クラスタ212)内の全ノードのノードアドレスを使用してプログラムすることができる(例えば、図3のアプリケーションオペレーション管理コンソール242によって)。このようにすると、コントローラ254は、サーバクラスタに属していないノードから受信されたデータが、エンジン252に渡されるのを防止し、同様に、サーバクラスタ内のノードとは別のノードへ送られるデータが送信されるのを防止する。同様に、インターネット108(図1)から受信されたデータはターゲットノード248を特定できるので(例えば、IPアドレスによって)、ターゲットノードとは別のノードのコントローラ254は、データがエンジン252に渡されるのを防止することになる。さらに、フィルタ258はクラスタオペレーション管理コンソール240によって容易に修正を加えることができるので、サーバクラスタ境界は、サーバクラスタでの変更を受け入れるように容易に変更することができる(例えば、ノードをサーバクラスタに追加することおよび/またはサーバクラスタからノードを除去すること)。
BMCPモジュール260は分散ホスト制御プロトコル (Distributed Host Control Protocol DHCP) を実装しているので、BMonitor250(従って、ノード248)がDHCPサーバ(例えば、図3のクラスタオペレーション管理コンソール240)からIPアドレスを取得することを可能にしている。ノード248の初期化プロセス期間に、BMCPモジュール260は、DHCPサーバにIPアドレスを要求し、この要求を受けて、DHCPサーバはIPアドレスをモジュール260に与える。DHCPに関する詳細情報は、Microsoft Corporation (Redmond, Washington州) から入手することができる。
ソフトウェアエンジン252は、広範囲にわたる従来のソフトウェアコンポーネントのどれかを含んでいる。エンジン252の例としては、オペレーティングシステム(例えば、Windows(登録商標) NT)、ロードバランシング (load balancing) サーバコンポーネント(例えば、複数ノード248の処理負荷を平衡化する)、キャッシングサーバコンポーネント(例えば、別のノード248からの、またはインターネット経由で受信したデータおよび/または命令をキャッシュする)、ストレージマネージャコンポーネント(例えば、別のノード248からの、またはインターネット経由で受信したデータのストレージを管理する)、などがある。ある実装では、エンジン252の各々はプロトコルベースのエンジンであるので、エンジン252およびBMonitor250が同じプログラミング言語で書かれていなくても、メッセージおよび/または関数コールを通して、BMonitor250および他のエンジン252と通信する。
コントローラ254はローダ264と併用されて、エンジン252の実行を制御することを担当している。この制御は、エンジン252の実行開始または起動、エンジン252の実行終了、ストレージデバイスからのエンジン252のイメージの再ロード、エンジン252の実行のデバッグ、などのように、さまざまな形体にすることができる。コントローラ254は、これらの制御アクションのどれをとるか、その制御アクションをいつとるか、に関する指示を、図3のアプリケーションオペレーション管理コンソール242から受け取る。エンジン252の実行を起動させる場合には(その実行が最近に中止されたエンジンをリスタートすることを含む)、コントローラ254はローダ264と通信して、エンジン252のイメージをストレージデバイス(例えば、デバイス262、ROMなど)からノード248のメモリ(例えば、RAM)にロードする。ローダ264は従来と同じように動作して、エンジンのイメージをストレージデバイスからメモリにコピーし、必要とされるオぺレーティングシステムのパラメータを初期化してエンジン252が実行されるようにする。従って、エンジン252の制御は、実際には、管理されるノード248と同じロケーションでローカルにではなく、リモートデバイスによって管理される。
コントローラ254は、図3のアプリケーションオペレーション管理コンソール242または図1の管理デバイス110が、フィルタセット258からどのフィルタを追加するか(および/または除去するか)を、そこから指定できるインタフェースともなっている。
コントローラ254は、図3のクラスタオペレーション管理コンソール240が、そこからコマンドをコントローラ254に渡すことができるインタフェースも備えている。ノードをリブートする、ノードをシャットダウンする、ノードを低電力ステートに(例えば、サスペンドまたはスタンバイステートに)する、クラスタ境界を変更する、暗号鍵(存在する場合)を変更する、といったように、種々タイプのハードウェアオペレーション中心のコマンドを、クラスタオペレーション管理コンソール240からコントローラ254に伝達することが可能になっている。
コントローラ254は、さらに、BMonitor250に対して暗号化サポートを行うので(これはオプションである)、データを大容量ストレージデバイス262(例えば、磁気ディスク、光ディスクなど)にセキュアにストアしておくこと、およびノード248とオペレーション管理コンソール(例えば、図3のコンソール240または242)または他の管理デバイス(例えば、図1の管理デバイス110)の間でセキュアな通信を行うことを可能にしている。コントローラ254は複数の暗号鍵を保存しており、その中には、対称鍵 (symmetric keys)(秘密鍵暗号化で使用される秘密鍵)、公開/秘密鍵ペア(公開鍵暗号化を目的とする)などのように、データを暗号化しおよび/またはデータを解読する際に使用される、さまざまな異種の鍵を含めることが可能である。
BMonitor250は公開鍵暗号化手法 (public key cryptography) を利用して、ノード248と管理コンソール(例えば、図3のコンソール240と242)または管理デバイス(例えば、図1の管理デバイス110)の間でセキュアな通信が行われるようにしている。この公開鍵暗号化手法は、公開鍵 (public key) と秘密鍵 (private key) の両方を含む鍵ペア (key pair) と暗号化アルゴリズム (encryption algorithm) をベースにしている。暗号化アルゴリズムは、公開鍵に基づいてデータを暗号化し、秘密鍵がなければデータが効率的に解読されないようにする。従って、公開鍵保持者からの通信は、公開鍵を使用して暗号化されるので、秘密鍵所有者だけがその通信を解読できるようにしている。公開鍵暗号化手法は、周知のRSA (Rivest, Shamir, Adelman) 暗号化手法のように、さまざまなものが使用可能である。暗号化手法の基礎入門書として、Bruce Schneir著「応用暗号化手法:プロトコル、アルゴリズム、およびCによるソースコード(Applied Cryptography: Protocols, Algorithms, and Source Code in C)」、John Wiley & Sons、初版著作権所有1994(または第2版著作権所有1996)がある。
BMonitor250は、ランドロードとテナントの両者のための公開/秘密鍵ペアを含むように初期化されている。これらの鍵ペアはBMonitor250によって生成できるが、別の方法として、他のコンポーネントが生成して、BMonitor250にストアしておくこともできる(この場合、他のコンポーネントは鍵ペアの情報を壊さないものとして信頼されている)。本明細書では、Uは公開鍵を示し、Rは秘密鍵を示すように使用されている。ランドロード用の公開/秘密鍵ペアは (UL, RL) と呼ばれ、テナント用の公開/秘密鍵ペアは (UT, RT) と呼ばれる。BMonitor250は、公開鍵ULとUTをランドロードが利用できるようにしているが、秘密鍵RLとRT は秘密に保っている。図示の例では、BMonitor250は、秘密鍵RLとRT を公開することがないので、ランドロードだけでなく、テナントも、公開鍵を使用して暗号化した情報(例えば、それぞれ、図3のクラスタオペレーション管理コンソール240とアプリケーションオペレーション管理コンソール242を通して)が、BMonitor250以外の、他のどのエンティティによっても解読されないことが保証される。
ランドロードに公開鍵ULとUTが与えられると、ランドロードは特定のテナントにノード210−1〜210−nを割り当て、そのテナントに公開鍵UTを与えることができる。この公開鍵UTを使用すると、テナントは、BMonitor250だけが解読できる(秘密鍵RTを使用して)、BMonitor250への通信を暗号化することができる。必ずしも必要ではないが、テナント用の慎重な初期ステップでは、BMonitor250が新しい公開/秘密鍵ペア (UT, RT) を生成することをBMonitor250に要求するようになっている。この要求を受けて、コントローラ254またはBMonitor250の鍵ジェネレータ (key generator)(図示せず)は、さまざまな周知方法のいずれかで新しい公開/秘密鍵ペアを生成し、その新鍵ペアをテナント鍵ペアとしてストアし、新公開鍵UTをテナントに送り返す。新鍵ペアを生成すると、テナントは、ランドロードを含めて、他のどのエンティティにも、テナントの公開鍵UTが気づかれないことが保証される。さらに、テナントは、新しい鍵ペアを別の時期に生成させることも可能になっている。
BMonitor250が秘密鍵をストアし、テナントに公開鍵を知らせるときの公開/秘密鍵ペアがあると、情報をテナントからBMonitor250にセキュアに伝えることが可能になる。情報がBMonitor250からテナントにセキュアに伝えられることを保証するために、別の公開/秘密鍵ペアがテナントによって生成され、公開鍵部分がBMonitor250に伝えられる。従って、BMonitor250からテナントへのどの通信も、この公開鍵部分を使用して暗号化することができ、対応する秘密鍵の保持者によってのみ(つまり、テナントによってのみ)解読されることができる。
BMonitor250はまた、ディスク鍵を、鍵259の1つとして保持しており、これは、1つまたは複数の対称鍵を使用して生成される(ここで、対称鍵 (symmetric keys) とは、秘密鍵暗号化で使用される秘密鍵のことである)。対称鍵でもあるディスク鍵は、情報を大容量ストレージデバイス262にストアするためにBMonitor250によって使用される。BMonitor250はディスク鍵をセキュアに保っているので、これは、ノードが大容量ストレージデバイス262にストアしたデータを暗号化し、ノードが大容量ストレージデバイス262から取り出したデータを解読するためにだけ使用される(従って、ランドロードとテナントを含めて、他のどのエンティティにも、ディスク鍵を知らせないで済むようになっている)。
ディスク鍵を使用すると、大容量ストレージデバイス262にストアされているデータは、それを暗号化したノード248だけが解読でき、他のどのノードまたはデバイスも解読できないことが保証される。従って、例えば、大容量ストレージデバイス262が取り外されているような場合に、デバイス262上のデータを読み取る試みが行われると、その試みは失敗することになる。BMonitor250は、データのソースに関係なく、大容量ストレージデバイス262にストアされているデータを、ディスク鍵を使用して暗号化する。例えば、データのソースとしては、テナントのカスタマが使用しているクライアントデバイス(例えば、図1のクライアント1021〜102n)、管理デバイス(例えば、図1のデバイス110または図3のコンソール240または242)などがある。
ある実装では、ディスク鍵は、各管理デバイスに対応するストレージ鍵を組み合わせることによって生成される。ストレージ鍵を組み合わせるには、さまざまな仕方が可能であり、ある実装では、鍵の一方を他方の鍵を暗号化するために使用し、その結果の値を鍵のもう1つの鍵で暗号化するようにして組み合わされている。
さらに、BMonitor250は、ノード248の管理を分担している複数の、相互に不信の管理エージェント間のやりとりを仲介するトラステッドサードパーティ(第三者機関)の働きをしている。例えば、ノード248のランドロードとテナントは、お互いを完全に信用していないのが代表的である。そのため、BMonitor250はトラステッドサードパーティの働きをして、特定のエンティティまたはエージェントによってBMonitor250に利用可能にされた情報がそのエンティティまたはエージェントだけがアクセスでき、他のエンティティやエージェントはアクセスできないことを、ノード248の貸主 (lessor) と借主 (lessee) に信頼させるようにしている(例えば、貸主が与えた機密情報は借主がアクセスすることできない。その逆も同じである)。BMonitor250は、階層化された所有権ドメイン (ownership domain DO) のセットを使用して、この信頼を生みやすくしている。所有権ドメインは、BMonitor250における認証と権利の基本単位であり、各管理エンティティまたはエージェント(例えば、貸主と借主)は、別々の所有権ドメインに対応付けられている(なお、各管理エンティティが複数の管理デバイスをもっていれば、そこから管理責任を行使することができる)。
図6は、本発明のいくつかの実施形態による例示の所有権ドメインのセットを示すブロック図である。複数(x個)の所有権ドメイン280、282、および284は、所有権ドメインスタック286として編成されている。各所有権ドメイン280〜284は、特定の管理レベルおよび1つまたは複数の管理デバイス(例えば、図1のデバイス110、図3のコンソール240と242など)に対応付けられている。ベースまたはルート (root) 所有権ドメイン280は、上述したランドロードのように、ノードの実際の所有者に対応している。次の下位所有権ドメイン282は、ハードウェアの所有者からハードウェアをリースしているエンティティ(例えば、上述したテナント)に対応している。特定の所有者ドメイン内の管理デバイスは、所有権ドメインスタック286上で上位にある別の管理デバイス用に、別の所有権ドメインをセットアップすることができる。例えば、ノードがリースされているエンティティは、別のエンティティ用に別の所有権ドメインをセットアップすることができる(例えば、データベースクラスタを実装しているノードクラスタをセットアップするために)。
新しい所有権ドメインが作成されると、その所有権ドメインは、所有権ドメインスタック286の先頭にプッシュされる。これは、別の新しい所有権ドメインを作成するか、あるいはその権利が取り消されるまで、トップレベル所有権ドメインのままになっている。所有権ドメインの権利は、所有権ドメインスタック286上の、いずれかの下位レベル所有権ドメイン内のデバイスによって取り消すことが可能であり、取り消されると、その所有権ドメインは、他の上位レベル所有権ドメインがあれば、それと一緒にスタック286からポップされる(除去される)。例えば、ノード248の所有者(所有権ドメイン280)が所有権ドメイン282の権利を取り消すようなことがあると、所有権ドメイン282と284は所有権ドメインスタック286からポップされることになる。
各所有権ドメインは、対応する権利セットをもっている。図示の例では、トップレベル所有権ドメインは1つの権利セットをもち、その中には、次のような権利が含まれている。すなわち、(1) 新しい所有権ドメインを所有権ドメインスタック上にプッシュする権利、(2) ノード内のいずれかのシステムメモリにアクセスする権利、(3) ノード内のまたはノードに結合された、いずれかの大容量ストレージデバイスにアクセスする権利、(4) ノードに置かれたパケットフィルタを修正(追加、除去、または変更)する権利、(5) ノード上でソフトウェアエンジン(例えば、図5のエンジン252)の実行を開始する権利、(6) ノードをリセットすることも含めて、ノード上でソフトウェアエンジンの実行を中止する権利、(7) ノード上でソフトウェアエンジンをデバッグする権利、(8) 自身の認証信用証明 (authentication credential)(例えば、その公開鍵またはID)を変更する権利、(9) 自身のストレージ鍵を修正する権利、(10) エンジンイベント、マシンイベント、および/またはパケットフィルタイベントなどのイベントに加入する権利(例えば、これらのイベントの1つが起こったとき管理コンソールまたは他のデバイスに通知する)である。さらに、下位レベル所有権ドメインの各々は別の権利セットをもち、その中には、次のような権利が含まれている。すなわち、(1) 既存の所有権ドメインをポップする権利、(2) ノードに置かれたパケットフィルタを修正(追加、削除、または変更)する権利、(3) 自身の認証信用証明(例えば、公開鍵またはID)を変更する権利、(4) マシンイベントおよび/またはパケットフィルタイベントに加入する権利である。別の方法として、上記権利の一部をセットから除くことも(例えば、状況に応じては、ノード上でソフトウェアエンジンをデバックする権利は必要でない場合がある)、他の権利をセットに含めることも可能である(例えば、トップレベルノードに、自身を所有権ドメインスタックからポップオフする権利を含めることができる)。
所有権ドメインは、オペレーション期間中に何度でも、所有権ドメインスタックに追加したり、そこから除去したりすることができる。どの所有権ドメインが除去および/または追加されるかは、実行されているアクティビティによって変化する。1つの例として、ノード248の所有者(ルート所有権ドメイン280に対応する)がノード248上でなんらかのオペレーションを実行することを望んでいると、すべての上位レベル所有権ドメイン282〜284が取り消され、望みのオペレーションが実行され(所有権ドメイン280がトップレベルドメインになるので、拡張権利セットが利用可能になる)、新しい所有権ドメインを作成し、所有権ドメインスタック286に追加することが可能になる(例えば、以前にトップレベル所有権ドメインに対応付けられていた管理エージェントは、以前の位置に戻されることになる)。
BMonitor250は、所有権ドメインの1つに対応するエンティティ(例えば、そのエンティティによって制御されている管理コンソール)から要求が受け取られるたびに、その所有権ドメインがどの権利をもっているかをチェックする。所有権ドメインが要求を実現するために必須の権利をもっていれば、BMonitor250はその要求を実行する。しかし、所有権ドメインが必須の権利セットをもっていなければ、要求は実行されない(例えば、要求が実行できないとの通知を要求側に戻すことも、要求を無視するだけにすることもできる)。
図示の例では、各所有権ドメインは識別子 (ID)、公開鍵、およびストレージ鍵を含んでいる。識別子は、所有権ドメインのユニーク識別子として使用され、公開鍵は、その所有権ドメインに対応する管理デバイスにセキュアな通信を送信するために使用され、ストレージ鍵は、大容量ストレージデバイスにストアされた情報を暗号化するために(少なくとも部分的に)使用される。追加の秘密鍵を各々の所有権ドメインごとに含めておくと、所有権ドメインに対応する管理デバイスは、BMonitorにセキュアな通信を送信することが可能になる。ルート所有権ドメイン280が作成されるとき、これはそのIDと公開鍵をもつように初期化される(例えば、BMonitor250によって)。ルート所有権ドメイン280は、ストレージ鍵(および秘密鍵)を含むように初期化することも可能であり、あるいは後で追加することも可能である(例えば、BMonitor250に生成させるとか、管理コンソールからBMonitor250に伝える、など)。同様に、新しい所有権ドメインが作成されるたびに、その新所有権ドメインを作成する所有権ドメインは、IDと公開鍵を、新所有権ドメインのBMonitor250に伝達する。ストレージ鍵(および秘密鍵)は、所有権ドメインの作成時でも、あるいはその後でも、新所有権ドメインのために作成することができる。
BMonitor250は、所有権ドメインの各々に対応する管理デバイスを認証する。BMonitorは、管理デバイスが認証されるまでは、その管理デバイスからのどのコマンドも受け付けず、特定の所有権ドメインの機密情報(暗号鍵)を、自身をその所有権ドメインに対応するものとして認証できる管理デバイスにだけ公開する。この認証プロセスは、ノードのオペレーション期間中、何度でも行うことができるので、1つまたは複数の所有権ドメインの管理デバイスは時間の経過と共に変わることになる。管理デバイスの認証を行うには、さまざまな方法が可能である。ある実装では、管理デバイスがBMonitor250とのコネクションを要求し、自分が特定の所有権ドメインに対応していることを主張すると、BMonitor250はトークン(例えば、ランダムな数)を生成し、所有権ドメインの公開鍵でトークンを暗号化し、その暗号化トークンを要求側管理デバイスに送信する。暗号化トークンを受け取ると、管理デバイスは、その秘密鍵を使用してトークンを解読し、解読したトークンをBMonitor250に戻す。戻されたトークンがBMonitor250によって生成されたトークンに一致していると、管理デバイスの認証性が確認される(これは、対応する秘密鍵をもつ管理デバイスだけがトークンを解読できるからである)。類似のプロセスを使用して、BMonitor250が自身を管理デバイスに対して認証することも可能である。
認証されると、管理デバイスは要求をBMonitor250に伝達し、その要求のいずれかを実行させることができる(ただし、そうする権利を持っていることが条件である)。必ずしも必要でないが、管理コンソールにとって賢明なことは、初めて自身をBMonitor250に対して認証したとき、その公開鍵/秘密鍵ペアを変更しておくことである。
新しい所有権ドメインが作成されるとき、その新所有権ドメインを作成する管理デバイスは、オプションとして、既存のエンジン252を終了し、システムメモリと大容量ストレージデバイスを消去しておくことができる。このようにすると、暗号化に上乗せされる形でセキュリティレベルが強化されるので、ある管理デバイスが、別の管理デバイスによってハードウェア上にストアされた情報にアクセスすることが防止されることになる。さらに、所有権ドメインがスタックからポップされるたびに、BMonitor250は既存のエンジン252を終了し、システムメモリを消去し、その所有権ドメインのストレージ鍵も消去する。従って、その所有権ドメインによってストアされた情報は、残りの所有権ドメインによってアクセスされることはない。つまり、メモリは消去されているので、データはメモリになく、ストレージ鍵なしでは、大容量ストレージデバイス上の情報を解読することができない。別の方法として、BMonitor250は、大容量ストレージデバイスも消去することが可能である。しかし、鍵を消去し、データを暗号化したままにしておけば、BMonitor250は、ポップされた所有権ドメインが再作成されるとき(同じストレージ鍵を使用すれば)、データを回復することが可能になる。
図7は、本発明のいくつかの実施形態によるBMonitor250の全体的オペレーションを示すフロー図である。初めに、BMonitor250は、送られてくる入力をモニタリングしている(ブロック290)。これらの入力が送られてくるソースは、別のノード248、ネットワークコネクション216を経由するクライントコンピュータ(図3)、クライアントオペレーション管理コンソール240、アプリケーションオペレーション管理コンソール242、エンジン252、管理デバイス110(図1)といったように、さまざまである。
受け取った要求が制御要求であれば(例えば、図3のコンソール240または242の1つ、または図1の管理デバイスからの)、要求側デバイスがその要求に対して必要な権利を持っているかどうかがチェックされる(トップレベル所有権ドメインに基づいて)(ブロック292)。要求側デバイスが必要な権利をもっていなければ、BMonitor250は要求を実行することなく、入力のモニタリング(ブロック290)に戻る。しかし、要求側デバイスが必要な権利をもっていれば、要求は実行され(ブロック294)、BMonitor250は受け取った入力のモニタリング(ブロック290)を続ける。しかし、受け取った要求がデータ要求であるときは(例えば、別のノード248またはネットワークコネクション216経由のクライアントコンピュータからのインバウンド、エンジン252からのアウトバウンドなど)、BMonitor250は要求を受け付けるか、さもなければ拒否し(ブロック296)、送られている入力のモニタリング(ブロック290)を続ける。BMonitor250が要求を受け付けるかどうかは、上述したように、フィルタ258(図5)によって決まる。
図8は、本発明のいくつかの実施形態によるアウトバウンドデータ要求を処理するときの例示プロセスを示すフローチャートである。図8のプロセスは、図5のBMonitor250に実装されており、ソフトウェアで実行することができる。図8のプロセスを、図1、3および5に示すコンポーネントと関連付けて説明すると、次の通りである。
初めに、アウトバウンドデータ要求が受信される(ステップ300)。コントローラ254は、その要求をアウトバウンド要求制約条件 (request restrictions) と比較する(ステップ302)。この比較は、データに対応する情報(例えば、データを収めているパケットのヘッダ内の情報またはデータに内在する情報。例えば、データ要求がBMonitor250に渡されたときの仕方(例えば、複数の関数コールのどれが使用されたか)などの情報)にアクセスし、フィルタ258が維持しているアウトバウンド要求制約条件と比較することにより行われる。この比較を行うと、BMonitor250は、アウトバウンドデータ要求をターゲットに渡すことが許されるかどうかを判断することができる(ステップ304)。例えば、どのターゲットにデータを送信できないかをフィルタ258が示す場合、アウトバウンドデータ要求をターゲットに渡すことが許されるのは、ターゲット識別子( ID) がフィルタ258で特定されていないときだけである。
アウトバウンドデータ要求をターゲットに渡すことが許されていれば、BMonitor250は、要求をターゲットに送信する(ステップ306)。例えば、BMonitor250は、トランスポート媒体211を経由して(ネットワークコネクション216を経由することもある)要求を該当ターゲットに送信することも、別のコネクションを経由してネットワーク108に送信することもできる。しかし、アウトバウンドデータ要求をターゲットに渡すことが許されていなければ、BMonitor250は要求を拒否する(ステップ308)。BMonitor250は、オプションとして、要求が拒否されたとの通知を、その要求のソースに送信することも、要求をドロップするだけのことも可能である。
図9は、本発明のいくつかの実施形態によるインバウンドデータ要求を処理するときの例示プロセスを示すフローチャートである。図9のプロセスは図5のBMonitor250に実装され、ソフトウェアで実行することが可能である。図9のプロセスを、図5に示すコンポーネントと関連付けて説明すると、次の通りである。
初めに、インバウンドデータ要求が受信される(ステップ310)。コントローラ254は、その要求をインバウンド要求制約条件と比較する(ステップ312)。この比較は、データに対応する情報にアクセスし、フィルタ258が維持しているインバウンド要求制約条件と比較することにより行われる。この比較を行うと、BMonitor250は、ソフトウェアエンジン252のどれが、データ要求を受信することが許されるかどうかを判断することができる(ステップ314)。例えば、どのソースからデータを受信できるかをフィルタ258が示す場合、エンジン252がデータ要求を受信することが許されるのは、データのソースがフィルタ258で特定されているときだけである。
インバウンドデータ要求を受信することが許されていれば、BMonitor250は、その要求をターゲットのエンジン252に転送する(ステップ316)。しかし、インバウンドデータ要求をソースから受信することが許されていなければ、BMonitor250は要求を拒否する(ステップ318)。BMonitor250は、オプションとして、要求が拒否されたとの通知を、その要求のソースに送信することも、要求をドロップするだけのことも可能である。
結論
上述してきた説明では、構造上の特徴および/または方法ステップに特有の用語が用いられているが、当然に理解されるように、請求項に定義されている本発明は、上述してきた特定の特徴やステップに限定されるものではない。むしろ、特定の特徴とステップは、本発明を実施するための例示形態として開示されたものである。
本発明のいくつかの実施形態で使用できるような、クライアント/サーバネットワークシステムと環境を示す図である。 本発明のいくつかの実施形態に従って使用できるコンピュータの例を示す概要図である。 例示の共同ロケーション施設を示す詳細ブロック図である。 例示の多層管理アーキテクチャを示すブロック図である。 本発明のいくつかの実施形態による例示のノードを示す詳細ブロック図である。 本発明のいくつかの実施形態による例示の所有権ドメインセットを示すブロック図である。 本発明のいくつかの実施形態によるBMonitorの全体的オペレーションを示すフロー図である。 本発明のいくつかの実施形態によるアウトバウンドデータ要求を処理するための例示プロセスを示すフローチャートである。 本発明のいくつかの実施形態によるインバウンドデータ要求を処理するための例示プロセスを示すフローチャートである。
符号の説明
1021〜102n クライアント
1041〜104m 共同ロケーション施設
1061−1、1061−2、106m−1、106m−1 サーバクラスタ
108 インターネット
110 管理デバイス
112 サーバ
210−1〜210−n ノード
230 クラスタオペレーション管理層
232 アプリケーションオペレーション管理層
234 アプリケーション開発層
240 クラスタオペレーション管理コンソール
242 アプリケーションオペレーション管理コンソール
248 ノード
250 BMonitor
252 エンジン
256 ネットワークインタフェース
258 フィルタ
259 鍵
260 BMCPモジュール
262 大容量ストレージデバイス
264 ローダ
280、282、284 所有権ドメイン
286 所有権ドメインスタック

Claims (2)

  1. 共同ロケーション施設内に設けられた複数のノードと、
    前記複数のノードを管理する複数の管理デバイスであって、前記複数の管理デバイスの各々は、順序付けられた複数の所有権ドメインの別々の1つに対応付けられ、前記複数の所有権ドメインのうち最も上位に順位付けられた所有権ドメインは、新しい所有権ドメインを作成する権利と、前記管理デバイスに関連付けられた複数のノード内のいずれかのシステムメモリにアクセスする権利とを含む第1の権利セットを有するトップレベル所有権ドメインであり、前記複数の所有権ドメインのうちの前記トップレベル所有権ドメイン以外の所有権ドメインの各々は、上位に順序付けられた所有権ドメインを取り消す権利を含む第2の権利セットを有する、管理デバイスとを備えるシステムであって、
    前記所有権ドメインが取り消され、当該取り消された所有権ドメインよりも上位に順序付けられた所有権ドメインがある場合、前記取り消された所有権ドメインよりも上位に順序付けられた全ての所有権ドメインを取り消し、
    前記新しい所有権ドメインが作成される場合、当該新しい所有権ドメインが前記トップレベル所有権ドメインとなり、前記新しい所有権ドメインを作成した管理デバイスが管理するノードのシステムメモリに格納された情報を消去することを特徴とするシステム。
  2. 請求項1に記載のシステムにおいて、前記第1の権利セットは、前記ノードに結合された大容量ストレージデバイスにアクセスする権利と、および前記ノード内のフィルタに変更を加える権利とをさらに含み、前記第2の権利セットは、前記ノード内のフィルタに変更を加える権利と、前記所有権ドメインに対する認証信用証明を変更する権利と、前記ノードにおけるマシンイベント及びパケットフィルタイベントに加入する権利とをさらに含むことを特徴とするシステム。
JP2007141157A 2000-10-24 2007-05-28 データ転送を制限し分散コンピュータのソフトウェアコンポーネントを管理するためのシステム Expired - Fee Related JP4627768B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09/695,820 US6886038B1 (en) 2000-10-24 2000-10-24 System and method for restricting data transfers and managing software components of distributed computers

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2001326848A Division JP4188584B2 (ja) 2000-10-24 2001-10-24 データ転送を制限し分散コンピュータのソフトウェアコンポーネントを管理するためのシステム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2010233677A Division JP2011040096A (ja) 2000-10-24 2010-10-18 データ転送を制限し分散コンピュータのソフトウェアコンポーネントを管理するためのシステムおよび方法

Publications (2)

Publication Number Publication Date
JP2007287165A JP2007287165A (ja) 2007-11-01
JP4627768B2 true JP4627768B2 (ja) 2011-02-09

Family

ID=24794589

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2001326848A Expired - Fee Related JP4188584B2 (ja) 2000-10-24 2001-10-24 データ転送を制限し分散コンピュータのソフトウェアコンポーネントを管理するためのシステム
JP2007141157A Expired - Fee Related JP4627768B2 (ja) 2000-10-24 2007-05-28 データ転送を制限し分散コンピュータのソフトウェアコンポーネントを管理するためのシステム
JP2010233677A Pending JP2011040096A (ja) 2000-10-24 2010-10-18 データ転送を制限し分散コンピュータのソフトウェアコンポーネントを管理するためのシステムおよび方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2001326848A Expired - Fee Related JP4188584B2 (ja) 2000-10-24 2001-10-24 データ転送を制限し分散コンピュータのソフトウェアコンポーネントを管理するためのシステム

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2010233677A Pending JP2011040096A (ja) 2000-10-24 2010-10-18 データ転送を制限し分散コンピュータのソフトウェアコンポーネントを管理するためのシステムおよび方法

Country Status (3)

Country Link
US (6) US6886038B1 (ja)
EP (2) EP1202526A3 (ja)
JP (3) JP4188584B2 (ja)

Families Citing this family (85)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7117239B1 (en) 2000-07-28 2006-10-03 Axeda Corporation Reporting the state of an apparatus to a remote computer
US8108543B2 (en) 2000-09-22 2012-01-31 Axeda Corporation Retrieving data from a server
US7185014B1 (en) 2000-09-22 2007-02-27 Axeda Corporation Retrieving data from a server
US6907395B1 (en) * 2000-10-24 2005-06-14 Microsoft Corporation System and method for designing a logical model of a distributed computer system and deploying physical resources according to the logical model
US7606898B1 (en) 2000-10-24 2009-10-20 Microsoft Corporation System and method for distributed management of shared computers
JP3859450B2 (ja) * 2001-02-07 2006-12-20 富士通株式会社 秘密情報管理システムおよび情報端末
US7171554B2 (en) * 2001-08-13 2007-01-30 Hewlett-Packard Company Method, computer program product and system for providing a switch user functionality in an information technological network
US7254601B2 (en) 2001-12-20 2007-08-07 Questra Corporation Method and apparatus for managing intelligent assets in a distributed environment
US7178149B2 (en) 2002-04-17 2007-02-13 Axeda Corporation XML scripting of soap commands
US20040093595A1 (en) * 2002-08-08 2004-05-13 Eric Bilange Software application framework for network-connected devices
US8544084B2 (en) 2002-08-19 2013-09-24 Blackberry Limited System and method for secure control of resources of wireless mobile communication devices
CA2411424A1 (en) * 2002-11-08 2004-05-08 Bell Canada Method and system for effective switching between set-top box services
US7359932B2 (en) 2002-12-12 2008-04-15 International Business Machines Corporation Method and data processing system for microprocessor communication in a cluster-based multi-processor system
US7356568B2 (en) 2002-12-12 2008-04-08 International Business Machines Corporation Method, processing unit and data processing system for microprocessor communication in a multi-processor system
US7360067B2 (en) 2002-12-12 2008-04-15 International Business Machines Corporation Method and data processing system for microprocessor communication in a cluster-based multi-processor wireless network
US7493417B2 (en) 2002-12-12 2009-02-17 International Business Machines Corporation Method and data processing system for microprocessor communication using a processor interconnect in a multi-processor system
JP4274311B2 (ja) * 2002-12-25 2009-06-03 富士通株式会社 識別情報作成方法、情報処理装置及びコンピュータプログラム
US7966418B2 (en) 2003-02-21 2011-06-21 Axeda Corporation Establishing a virtual tunnel between two computer programs
US7890543B2 (en) 2003-03-06 2011-02-15 Microsoft Corporation Architecture for distributed computing system and automated design, deployment, and management of distributed applications
US8122106B2 (en) 2003-03-06 2012-02-21 Microsoft Corporation Integrating design, deployment, and management phases for systems
US7072807B2 (en) * 2003-03-06 2006-07-04 Microsoft Corporation Architecture for distributed computing system and automated design, deployment, and management of distributed applications
US7689676B2 (en) 2003-03-06 2010-03-30 Microsoft Corporation Model-based policy application
US7571354B2 (en) * 2003-05-09 2009-08-04 Sun Microsystems, Inc. System and method for request routing
US7469417B2 (en) * 2003-06-17 2008-12-23 Electronic Data Systems Corporation Infrastructure method and system for authenticated dynamic security domain boundary extension
US7590736B2 (en) * 2003-06-30 2009-09-15 Microsoft Corporation Flexible network load balancing
US7606929B2 (en) * 2003-06-30 2009-10-20 Microsoft Corporation Network load balancing with connection manipulation
US7636917B2 (en) * 2003-06-30 2009-12-22 Microsoft Corporation Network load balancing with host status information
US20050022202A1 (en) * 2003-07-09 2005-01-27 Sun Microsystems, Inc. Request failover mechanism for a load balancing system
US7400878B2 (en) 2004-02-26 2008-07-15 Research In Motion Limited Computing device with environment aware features
US7778422B2 (en) 2004-02-27 2010-08-17 Microsoft Corporation Security associations for devices
JP4465387B2 (ja) 2004-04-30 2010-05-19 リサーチ イン モーション リミテッド データ伝送を処理するシステムおよび方法
US20050246529A1 (en) 2004-04-30 2005-11-03 Microsoft Corporation Isolated persistent identity storage for authentication of computing devies
US8010644B1 (en) * 2005-02-23 2011-08-30 Sprint Communications Company L.P. Method and system for deploying a network monitoring service within a communication network
US8489728B2 (en) 2005-04-15 2013-07-16 Microsoft Corporation Model-based system monitoring
US7797147B2 (en) 2005-04-15 2010-09-14 Microsoft Corporation Model-based system monitoring
US7614082B2 (en) 2005-06-29 2009-11-03 Research In Motion Limited System and method for privilege management and revocation
US20070016393A1 (en) * 2005-06-29 2007-01-18 Microsoft Corporation Model-based propagation of attributes
US8549513B2 (en) 2005-06-29 2013-10-01 Microsoft Corporation Model-based virtual system provisioning
US8149866B2 (en) * 2005-10-14 2012-04-03 Dell Products L.P. System and method for filtering communications at a network interface controller
US7941309B2 (en) 2005-11-02 2011-05-10 Microsoft Corporation Modeling IT operations/policies
US20070294596A1 (en) * 2006-05-22 2007-12-20 Gissel Thomas R Inter-tier failure detection using central aggregation point
US7760695B2 (en) * 2006-09-29 2010-07-20 Symbol Technologies, Inc. Methods and systems for centralized cluster management in wireless switch architecture
US8370479B2 (en) 2006-10-03 2013-02-05 Axeda Acquisition Corporation System and method for dynamically grouping devices based on present device conditions
US8433730B2 (en) 2006-10-31 2013-04-30 Ariba, Inc. Dynamic data access and storage
US8065397B2 (en) 2006-12-26 2011-11-22 Axeda Acquisition Corporation Managing configurations of distributed devices
US8478861B2 (en) 2007-07-06 2013-07-02 Axeda Acquisition Corp. Managing distributed devices with limited connectivity
US20090058098A1 (en) * 2007-08-13 2009-03-05 Michael Patrick Flynn Backup generators
JP2009086802A (ja) * 2007-09-28 2009-04-23 Hitachi Ltd 認証仲介方法およびシステム
JP5176482B2 (ja) * 2007-10-26 2013-04-03 富士通株式会社 管理プログラム、管理方法、管理装置および通信システム
CA2811839C (en) 2010-09-24 2017-09-05 Research In Motion Limited Method and apparatus for differentiated access control
WO2012037658A1 (en) 2010-09-24 2012-03-29 Research In Motion Limited Method and apparatus for differentiated access control
US9147085B2 (en) 2010-09-24 2015-09-29 Blackberry Limited Method for establishing a plurality of modes of operation on a mobile device
EP2453631B1 (en) 2010-11-15 2016-06-22 BlackBerry Limited Data source based application sandboxing
US8774143B2 (en) * 2010-11-18 2014-07-08 General Electric Company System and method of communication using a smart meter
US8862871B2 (en) 2011-04-15 2014-10-14 Architecture Technology, Inc. Network with protocol, privacy preserving source attribution and admission control and method
US9342254B2 (en) * 2011-06-04 2016-05-17 Microsoft Technology Licensing, Llc Sector-based write filtering with selective file and registry exclusions
US20130039266A1 (en) 2011-08-08 2013-02-14 Research In Motion Limited System and method to increase link adaptation performance with multi-level feedback
KR101326896B1 (ko) * 2011-08-24 2013-11-11 주식회사 팬택 단말기 및 이를 이용하는 어플리케이션의 위험도 제공 방법
US9497220B2 (en) 2011-10-17 2016-11-15 Blackberry Limited Dynamically generating perimeters
US9161226B2 (en) 2011-10-17 2015-10-13 Blackberry Limited Associating services to perimeters
US9613219B2 (en) 2011-11-10 2017-04-04 Blackberry Limited Managing cross perimeter access
US8799227B2 (en) 2011-11-11 2014-08-05 Blackberry Limited Presenting metadata from multiple perimeters
US9262604B2 (en) 2012-02-01 2016-02-16 Blackberry Limited Method and system for locking an electronic device
US9698975B2 (en) 2012-02-15 2017-07-04 Blackberry Limited Key management on device for perimeters
CA2805960C (en) 2012-02-16 2016-07-26 Research In Motion Limited Method and apparatus for management of multiple grouped resources on device
US9306948B2 (en) 2012-02-16 2016-04-05 Blackberry Limited Method and apparatus for separation of connection data by perimeter type
US9077622B2 (en) 2012-02-16 2015-07-07 Blackberry Limited Method and apparatus for automatic VPN login on interface selection
EP2629480B1 (en) 2012-02-17 2019-04-03 BlackBerry Limited Designation Of Classes For Certificates And Keys
CA2799903C (en) 2012-02-17 2017-10-24 Research In Motion Limited Certificate management method based on connectivity and policy
US8561142B1 (en) * 2012-06-01 2013-10-15 Symantec Corporation Clustered device access control based on physical and temporal proximity to the user
US9369466B2 (en) 2012-06-21 2016-06-14 Blackberry Limited Managing use of network resources
US8972762B2 (en) 2012-07-11 2015-03-03 Blackberry Limited Computing devices and methods for resetting inactivity timers on computing devices
US8656016B1 (en) 2012-10-24 2014-02-18 Blackberry Limited Managing application execution and data access on a device
US9075955B2 (en) 2012-10-24 2015-07-07 Blackberry Limited Managing permission settings applied to applications
US9264413B2 (en) * 2012-12-06 2016-02-16 Qualcomm Incorporated Management of network devices utilizing an authorization token
EP2951676B1 (en) 2013-01-29 2020-12-30 BlackBerry Limited Managing application access to data
US20140280698A1 (en) * 2013-03-13 2014-09-18 Qnx Software Systems Limited Processing a Link on a Device
US9787531B2 (en) * 2013-10-11 2017-10-10 International Business Machines Corporation Automatic notification of isolation
WO2016100545A1 (en) * 2014-12-16 2016-06-23 Noderprime, Inc. Computer servers for datacenter managment
EP3234852B1 (en) * 2014-12-19 2020-01-15 Private Machines Inc. Systems and methods for using extended hardware security modules
US9961012B2 (en) * 2015-12-21 2018-05-01 Microsoft Technology Licensing, Llc Per-stage assignment of pipelines agents
US10122799B2 (en) 2016-03-29 2018-11-06 Experian Health, Inc. Remote system monitor
US10587628B2 (en) * 2016-09-29 2020-03-10 Microsoft Technology Licensing, Llc Verifiable outsourced ledgers
WO2019148482A1 (en) * 2018-02-05 2019-08-08 Cisco Technology, Inc. Configurable storage server with multiple sockets
JP7020684B2 (ja) * 2018-11-26 2022-02-16 株式会社ソフイア 遊技機

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000155729A (ja) * 1998-06-04 2000-06-06 Compaq Computer Corp 改良したクラスタ管理方法及び装置

Family Cites Families (214)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5031089A (en) 1988-12-30 1991-07-09 United States Of America As Represented By The Administrator, National Aeronautics And Space Administration Dynamic resource allocation scheme for distributed heterogeneous computer systems
JPH0488489A (ja) 1990-08-01 1992-03-23 Internatl Business Mach Corp <Ibm> 一般化ハフ変換を用いた文字認識装置および方法
JPH04287290A (ja) 1990-11-20 1992-10-12 Imra America Inc ハフ変換画像処理装置
DE69228621T2 (de) * 1991-02-25 1999-07-22 Hewlett Packard Co Objektorientiertes verteiltes Rechnersystem
US7043407B2 (en) * 1997-03-10 2006-05-09 Trilogy Development Group, Inc. Method and apparatus for configuring systems
WO1996016497A1 (en) * 1994-11-21 1996-05-30 Oracle Corporation Transferring binary large objects (blobs) in a network environment
US5766271A (en) * 1994-11-24 1998-06-16 Sanyo Electric Co., Ltd. Process for producing solid electrolyte capacitor
US5872928A (en) * 1995-02-24 1999-02-16 Cabletron Systems, Inc. Method and apparatus for defining and enforcing policies for configuration management in communications networks
US5724508A (en) * 1995-03-09 1998-03-03 Insoft, Inc. Apparatus for collaborative computing
US5678041A (en) * 1995-06-06 1997-10-14 At&T System and method for restricting user access rights on the internet based on rating information stored in a relational database
US5895499A (en) * 1995-07-03 1999-04-20 Sun Microsystems, Inc. Cross-domain data transfer using deferred page remapping
US5872914A (en) * 1995-08-31 1999-02-16 International Business Machines Corporation Method and apparatus for an account managed object class model in a distributed computing environment
US5793763A (en) 1995-11-03 1998-08-11 Cisco Technology, Inc. Security system for network address translation systems
US5684800A (en) * 1995-11-15 1997-11-04 Cabletron Systems, Inc. Method for establishing restricted broadcast groups in a switched network
US5828846A (en) * 1995-11-22 1998-10-27 Raptor Systems, Inc. Controlling passage of packets or messages via a virtual connection or flow
US5801970A (en) 1995-12-06 1998-09-01 Martin Marietta Corporation Model-based feature tracking system
US5898830A (en) * 1996-10-17 1999-04-27 Network Engineering Software Firewall providing enhanced network security and user transparency
US5768271A (en) * 1996-04-12 1998-06-16 Alcatel Data Networks Inc. Virtual private network
US6085238A (en) * 1996-04-23 2000-07-04 Matsushita Electric Works, Ltd. Virtual LAN system
US5748958A (en) 1996-04-30 1998-05-05 International Business Machines Corporation System for utilizing batch requests to present membership changes to process groups
US6075776A (en) * 1996-06-07 2000-06-13 Nippon Telegraph And Telephone Corporation VLAN control system and method
US6434598B1 (en) * 1996-07-01 2002-08-13 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server graphical user interface (#9) framework in an interprise computing framework system
US5822531A (en) * 1996-07-22 1998-10-13 International Business Machines Corporation Method and system for dynamically reconfiguring a cluster of computer systems
US5930798A (en) * 1996-08-15 1999-07-27 Predicate Logic, Inc. Universal data measurement, analysis and control system
US5948055A (en) 1996-08-29 1999-09-07 Hewlett-Packard Company Distributed internet monitoring system and method
US5832529A (en) * 1996-10-11 1998-11-03 Sun Microsystems, Inc. Methods, apparatus, and product for distributed garbage collection
US6061740A (en) * 1996-12-09 2000-05-09 Novell, Inc. Method and apparatus for heterogeneous network management
GB9626241D0 (en) * 1996-12-18 1997-02-05 Ncr Int Inc Secure data processing method and system
JPH10208056A (ja) 1997-01-16 1998-08-07 Honda Motor Co Ltd 直線検出方法
US5826015A (en) 1997-02-20 1998-10-20 Digital Equipment Corporation Method and apparatus for secure remote programming of firmware and configurations of a computer over a network
US6151688A (en) 1997-02-21 2000-11-21 Novell, Inc. Resource management in a clustered computer system
US5968126A (en) * 1997-04-02 1999-10-19 Switchsoft Systems, Inc. User-based binding of network stations to broadcast domains
US6065058A (en) * 1997-05-09 2000-05-16 International Business Machines Corp. Dynamic push filtering based on information exchanged among nodes in a proxy hierarchy
US6266721B1 (en) * 1997-05-13 2001-07-24 Micron Electronics, Inc. System architecture for remote access and control of environmental management
US6070243A (en) 1997-06-13 2000-05-30 Xylan Corporation Deterministic user authentication service for communication network
US6108699A (en) * 1997-06-27 2000-08-22 Sun Microsystems, Inc. System and method for modifying membership in a clustered distributed computer system and updating system configuration
US6389464B1 (en) * 1997-06-27 2002-05-14 Cornet Technology, Inc. Device management system for managing standards-compliant and non-compliant network elements using standard management protocols and a universal site server which is configurable from remote locations via internet browser technology
FR2765702B1 (fr) * 1997-07-02 2001-07-06 Bull Sa Architecture de systeme de traitement de l'information
JP3829425B2 (ja) * 1997-08-08 2006-10-04 ブラザー工業株式会社 インクジェット記録装置
US5960371A (en) 1997-09-04 1999-09-28 Schlumberger Technology Corporation Method of determining dips and azimuths of fractures from borehole images
US6141749A (en) 1997-09-12 2000-10-31 Lucent Technologies Inc. Methods and apparatus for a computer network firewall with stateful packet filtering
US5991886A (en) * 1997-09-15 1999-11-23 Lucent Technologies Inc. Portable electronic device having a travel mode for use when demonstrating operability of the device to security personnel
US6574661B1 (en) 1997-09-26 2003-06-03 Mci Communications Corporation Integrated proxy interface for web based telecommunication toll-free network management using a network manager for downloading a call routing tree to client
JP3649367B2 (ja) * 1997-09-26 2005-05-18 ソニー株式会社 パケット伝送制御方法および装置
US6065053A (en) * 1997-10-01 2000-05-16 Micron Electronics, Inc. System for resetting a server
EP0907145A3 (en) 1997-10-03 2003-03-26 Nippon Telegraph and Telephone Corporation Method and equipment for extracting image features from image sequence
US6192401B1 (en) * 1997-10-21 2001-02-20 Sun Microsystems, Inc. System and method for determining cluster membership in a heterogeneous distributed system
US5999712A (en) * 1997-10-21 1999-12-07 Sun Microsystems, Inc. Determining cluster membership in a distributed computer system
US6047325A (en) 1997-10-24 2000-04-04 Jain; Lalit Network device for supporting construction of virtual local area networks on arbitrary local and wide area computer networks
US6178529B1 (en) * 1997-11-03 2001-01-23 Microsoft Corporation Method and system for resource monitoring of disparate resources in a server cluster
US6088734A (en) * 1997-11-12 2000-07-11 International Business Machines Corporation Systems methods and computer program products for controlling earliest deadline first scheduling at ATM nodes
US5901958A (en) * 1997-12-01 1999-05-11 Andrews; Douglas S. Method of playing a royal card stud poker game at a casino gaming table
US6125447A (en) * 1997-12-11 2000-09-26 Sun Microsystems, Inc. Protection domains to provide security in a computer system
US6035405A (en) * 1997-12-22 2000-03-07 Nortel Networks Corporation Secure virtual LANs
US6496187B1 (en) 1998-02-17 2002-12-17 Sun Microsystems, Inc. Graphics system configured to perform parallel sample to pixel calculation
US6484261B1 (en) * 1998-02-17 2002-11-19 Cisco Technology, Inc. Graphical network security policy management
WO1999052237A1 (en) 1998-04-03 1999-10-14 Vertical Networks Inc. System and method for transmitting voice and data using intelligent bridged tdm and packet buses
US6208345B1 (en) * 1998-04-15 2001-03-27 Adc Telecommunications, Inc. Visual data integration system and method
US6167052A (en) * 1998-04-27 2000-12-26 Vpnx.Com, Inc. Establishing connectivity in networks
US6308174B1 (en) * 1998-05-05 2001-10-23 Nortel Networks Limited Method and apparatus for managing a communications network by storing management information about two or more configuration states of the network
US6311144B1 (en) * 1998-05-13 2001-10-30 Nabil A. Abu El Ata Method and apparatus for designing and analyzing information systems using multi-layer mathematical models
FR2779018B1 (fr) 1998-05-22 2000-08-18 Activcard Terminal et systeme pour la mise en oeuvre de transactions electroniques securisees
US6259448B1 (en) * 1998-06-03 2001-07-10 International Business Machines Corporation Resource model configuration and deployment in a distributed computer network
GB2338154B (en) * 1998-06-05 2003-01-29 3Com Technologies Ltd System for providing fair access for vlans to a shared transmission medium
US6360265B1 (en) 1998-07-08 2002-03-19 Lucent Technologies Inc. Arrangement of delivering internet protocol datagrams for multimedia services to the same server
US6427163B1 (en) * 1998-07-10 2002-07-30 International Business Machines Corporation Highly scalable and highly available cluster system management scheme
US6466932B1 (en) 1998-08-14 2002-10-15 Microsoft Corporation System and method for implementing group policy
US6266707B1 (en) 1998-08-17 2001-07-24 International Business Machines Corporation System and method for IP network address translation and IP filtering with dynamic address resolution
US6717949B1 (en) 1998-08-31 2004-04-06 International Business Machines Corporation System and method for IP network address translation using selective masquerade
US6324571B1 (en) * 1998-09-21 2001-11-27 Microsoft Corporation Floating single master operation
US6546553B1 (en) * 1998-10-02 2003-04-08 Microsoft Corporation Service installation on a base function and provision of a pass function with a service-free base function semantic
US6728885B1 (en) 1998-10-09 2004-04-27 Networks Associates Technology, Inc. System and method for network access control using adaptive proxies
US6570875B1 (en) * 1998-10-13 2003-05-27 Intel Corporation Automatic filtering and creation of virtual LANs among a plurality of switch ports
US6286052B1 (en) * 1998-12-04 2001-09-04 Cisco Technology, Inc. Method and apparatus for identifying network data traffic flows and for applying quality of service treatments to the flows
US6393485B1 (en) * 1998-10-27 2002-05-21 International Business Machines Corporation Method and apparatus for managing clustered computer systems
US6212559B1 (en) * 1998-10-28 2001-04-03 Trw Inc. Automated configuration of internet-like computer networks
US6691165B1 (en) * 1998-11-10 2004-02-10 Rainfinity, Inc. Distributed server cluster for controlling network traffic
US6353806B1 (en) * 1998-11-23 2002-03-05 Lucent Technologies Inc. System level hardware simulator and its automation
US6393456B1 (en) 1998-11-30 2002-05-21 Microsoft Corporation System, method, and computer program product for workflow processing using internet interoperable electronic messaging with mime multiple content type
US6108702A (en) * 1998-12-02 2000-08-22 Micromuse, Inc. Method and apparatus for determining accurate topology features of a network
US6336171B1 (en) * 1998-12-23 2002-01-01 Ncr Corporation Resource protection in a cluster environment
US6393474B1 (en) * 1998-12-31 2002-05-21 3Com Corporation Dynamic policy management apparatus and method using active network devices
US6691168B1 (en) 1998-12-31 2004-02-10 Pmc-Sierra Method and apparatus for high-speed network rule processing
US6449650B1 (en) * 1999-02-01 2002-09-10 Redback Networks Inc. Methods and apparatus for deploying quality of service policies on a data communication network
US6515969B1 (en) * 1999-03-01 2003-02-04 Cisco Technology, Inc. Virtual local area network membership registration protocol for multiple spanning tree network environments
US6549934B1 (en) * 1999-03-01 2003-04-15 Microsoft Corporation Method and system for remote access to computer devices via client managed server buffers exclusively allocated to the client
US6760775B1 (en) * 1999-03-05 2004-07-06 At&T Corp. System, method and apparatus for network service load and reliability management
US6564252B1 (en) * 1999-03-11 2003-05-13 Microsoft Corporation Scalable storage system with unique client assignment to storage server partitions
US6510509B1 (en) 1999-03-29 2003-01-21 Pmc-Sierra Us, Inc. Method and apparatus for high-speed network rule processing
US6564261B1 (en) 1999-05-10 2003-05-13 Telefonaktiebolaget Lm Ericsson (Publ) Distributed system to intelligently establish sessions between anonymous users over various networks
US6425126B1 (en) * 1999-05-19 2002-07-23 International Business Machines Corporation Apparatus and method for synchronizing software between computers
US6470332B1 (en) 1999-05-19 2002-10-22 Sun Microsystems, Inc. System, method and computer program product for searching for, and retrieving, profile attributes based on other target profile attributes and associated profiles
US6957186B1 (en) * 1999-05-27 2005-10-18 Accenture Llp System method and article of manufacture for building, managing, and supporting various components of a system
US6631141B1 (en) * 1999-05-27 2003-10-07 Ibm Corporation Methods, systems and computer program products for selecting an aggregator interface
US6542504B1 (en) * 1999-05-28 2003-04-01 3Com Corporation Profile based method for packet header compression in a point to point link
US6968371B1 (en) 1999-06-23 2005-11-22 Clearwire Corporation Design for scalable network management systems
US6549516B1 (en) 1999-07-02 2003-04-15 Cisco Technology, Inc. Sending instructions from a service manager to forwarding agents on a need to know basis
US6466984B1 (en) 1999-07-02 2002-10-15 Cisco Technology, Inc. Method and apparatus for policy-based management of quality of service treatments of network data traffic flows by integrating policies with application programs
US6480955B1 (en) * 1999-07-09 2002-11-12 Lsi Logic Corporation Methods and apparatus for committing configuration changes to managed devices prior to completion of the configuration change
US6584499B1 (en) * 1999-07-09 2003-06-24 Lsi Logic Corporation Methods and apparatus for performing mass operations on a plurality of managed devices on a network
US6466978B1 (en) * 1999-07-28 2002-10-15 Matsushita Electric Industrial Co., Ltd. Multimedia file systems using file managers located on clients for managing network attached storage devices
US6601233B1 (en) * 1999-07-30 2003-07-29 Accenture Llp Business components framework
US6609198B1 (en) * 1999-08-05 2003-08-19 Sun Microsystems, Inc. Log-on service providing credential level change without loss of session continuity
US6813778B1 (en) * 1999-08-16 2004-11-02 General Instruments Corporation Method and system for downloading and managing the enablement of a list of code objects
US6684335B1 (en) 1999-08-19 2004-01-27 Epstein, Iii Edwin A. Resistance cell architecture
US6597956B1 (en) * 1999-08-23 2003-07-22 Terraspring, Inc. Method and apparatus for controlling an extensible computing system
US6587876B1 (en) * 1999-08-24 2003-07-01 Hewlett-Packard Development Company Grouping targets of management policies
US6370573B1 (en) * 1999-08-31 2002-04-09 Accenture Llp System, method and article of manufacture for managing an environment of a development architecture framework
US7139999B2 (en) * 1999-08-31 2006-11-21 Accenture Llp Development architecture framework
US6772333B1 (en) * 1999-09-01 2004-08-03 Dickens Coal Llc Atomic session-start operation combining clear-text and encrypted sessions to provide id visibility to middleware such as load-balancers
US7103185B1 (en) * 1999-12-22 2006-09-05 Cisco Technology, Inc. Method and apparatus for distributing and updating private keys of multicast group managers using directory replication
US6654796B1 (en) * 1999-10-07 2003-11-25 Cisco Technology, Inc. System for managing cluster of network switches using IP address for commander switch and redirecting a managing request via forwarding an HTTP connection to an expansion switch
US7404175B2 (en) * 2000-10-10 2008-07-22 Bea Systems, Inc. Smart generator
US6487622B1 (en) * 1999-10-28 2002-11-26 Ncr Corporation Quorum arbitrator for a high availability system
JP3463803B2 (ja) * 1999-11-09 2003-11-05 松下電器産業株式会社 クラスタサーバ装置
WO2001035278A1 (en) * 1999-11-10 2001-05-17 Fakhouri Sameh A A decision based system for managing distributed resources and modeling the global optimization problem
US6609148B1 (en) * 1999-11-10 2003-08-19 Randy Salo Clients remote access to enterprise networks employing enterprise gateway servers in a centralized data center converting plurality of data requests for messaging and collaboration into a single request
US6615256B1 (en) * 1999-11-29 2003-09-02 Microsoft Corporation Quorum resource arbiter within a storage network
US6529953B1 (en) * 1999-12-17 2003-03-04 Reliable Network Solutions Scalable computer network resource monitoring and location system
US7069432B1 (en) * 2000-01-04 2006-06-27 Cisco Technology, Inc. System and method for providing security in a telecommunication network
US6769008B1 (en) * 2000-01-10 2004-07-27 Sun Microsystems, Inc. Method and apparatus for dynamically altering configurations of clustered computer systems
US6862613B1 (en) * 2000-01-10 2005-03-01 Sun Microsystems, Inc. Method and apparatus for managing operations of clustered computer systems
US6493715B1 (en) * 2000-01-12 2002-12-10 International Business Machines Corporation Delivery of configuration change in a group
US7315801B1 (en) * 2000-01-14 2008-01-01 Secure Computing Corporation Network security modeling system and method
US6754716B1 (en) * 2000-02-11 2004-06-22 Ensim Corporation Restricting communication between network devices on a common network
US7155490B1 (en) * 2000-03-01 2006-12-26 Freewebs Corporation System and method for providing a web-based operating system
JP3790655B2 (ja) 2000-03-06 2006-06-28 富士通株式会社 ラベルスイッチネットワークシステム
US6601101B1 (en) * 2000-03-15 2003-07-29 3Com Corporation Transparent access to network attached devices
US6868062B1 (en) * 2000-03-28 2005-03-15 Intel Corporation Managing data traffic on multiple ports
US6364439B1 (en) * 2000-03-31 2002-04-02 Interland, Inc. Computer storage systems for computer facilities
US6636929B1 (en) * 2000-04-06 2003-10-21 Hewlett-Packard Development Company, L.P. USB virtual devices
US6748447B1 (en) * 2000-04-07 2004-06-08 Network Appliance, Inc. Method and apparatus for scalable distribution of information in a distributed network
US6718361B1 (en) * 2000-04-07 2004-04-06 Network Appliance Inc. Method and apparatus for reliable and scalable distribution of data files in distributed networks
US7403901B1 (en) * 2000-04-13 2008-07-22 Accenture Llp Error and load summary reporting in a health care solution environment
JP2004534973A (ja) * 2000-04-14 2004-11-18 ゴー アヘッド ソフトウェア インコーポレイテッド ネットワークデバイスのアップグレードシステム及び方法
US6574195B2 (en) * 2000-04-19 2003-06-03 Caspian Networks, Inc. Micro-flow management
US6904458B1 (en) * 2000-04-26 2005-06-07 Microsoft Corporation System and method for remote management
US7054943B1 (en) * 2000-04-28 2006-05-30 International Business Machines Corporation Method and apparatus for dynamically adjusting resources assigned to plurality of customers, for meeting service level agreements (slas) with minimal resources, and allowing common pools of resources to be used across plural customers on a demand basis
US6675308B1 (en) * 2000-05-09 2004-01-06 3Com Corporation Methods of determining whether a network interface card entry within the system registry pertains to physical hardware or to a virtual device
US6801937B1 (en) * 2000-05-31 2004-10-05 International Business Machines Corporation Method, system and program products for defining nodes to a cluster
US7418489B2 (en) 2000-06-07 2008-08-26 Microsoft Corporation Method and apparatus for applying policies
US6718379B1 (en) * 2000-06-09 2004-04-06 Advanced Micro Devices, Inc. System and method for network management of local area networks having non-blocking network switches configured for switching data packets between subnetworks based on management policies
US6928482B1 (en) * 2000-06-29 2005-08-09 Cisco Technology, Inc. Method and apparatus for scalable process flow load balancing of a multiplicity of parallel packet processors in a digital communication network
ES2249450T3 (es) * 2000-07-05 2006-04-01 ERNST &amp; YOUNG LLP Metodo y aparato para proporcionar servicios informaticos.
US7366755B1 (en) * 2000-07-28 2008-04-29 International Business Machines Corporation Method and apparatus for affinity of users to application servers
US20020143960A1 (en) * 2000-08-02 2002-10-03 Erez Goren Virtual network generation system and method
US6609213B1 (en) 2000-08-10 2003-08-19 Dell Products, L.P. Cluster-based system and method of recovery from server failures
US6820121B1 (en) * 2000-08-24 2004-11-16 International Business Machines Corporation Methods systems and computer program products for processing an event based on policy rules using hashing
US6976269B1 (en) * 2000-08-29 2005-12-13 Equinix, Inc. Internet co-location facility security system
AU2001288757A1 (en) * 2000-09-01 2002-03-13 Op40, Inc. System, method, uses, products, program products, and business methods for distributed internet and distributed network services
US7069204B1 (en) * 2000-09-28 2006-06-27 Cadence Design System, Inc. Method and system for performance level modeling and simulation of electronic systems having both hardware and software elements
US7047518B2 (en) * 2000-10-04 2006-05-16 Bea Systems, Inc. System for software application development and modeling
US7093288B1 (en) * 2000-10-24 2006-08-15 Microsoft Corporation Using packet filters and network virtualization to restrict network communications
US20020107954A1 (en) * 2000-10-31 2002-08-08 Glen Ferguson Data model for automated server configuration
US20040073443A1 (en) * 2000-11-10 2004-04-15 Gabrick John J. System for automating and managing an IP environment
US7027412B2 (en) * 2000-11-10 2006-04-11 Veritas Operating Corporation System for dynamic provisioning of secure, scalable, and extensible networked computer environments
US8255513B2 (en) * 2000-12-14 2012-08-28 Hewlett-Packard, Caribe B.V. Topology information system for a managed world
US20020075844A1 (en) * 2000-12-15 2002-06-20 Hagen W. Alexander Integrating public and private network resources for optimized broadband wireless access and method
US6856591B1 (en) * 2000-12-15 2005-02-15 Cisco Technology, Inc. Method and system for high reliability cluster management
US6769005B1 (en) * 2001-02-13 2004-07-27 Silicon Access Networks Method and apparatus for priority resolution
US7246351B2 (en) * 2001-02-20 2007-07-17 Jargon Software System and method for deploying and implementing software applications over a distributed network
US20020118642A1 (en) * 2001-02-27 2002-08-29 Lee Daniel Joseph Network topology for use with an open internet protocol services platform
US7069337B2 (en) * 2001-03-20 2006-06-27 Mci, Inc. Policy-based synchronization of per-class resources between routers in a data network
US7028228B1 (en) * 2001-03-28 2006-04-11 The Shoregroup, Inc. Method and apparatus for identifying problems in computer networks
US7073059B2 (en) 2001-06-08 2006-07-04 Hewlett-Packard Development Company, L.P. Secure machine platform that interfaces to operating systems and customized control programs
US6968551B2 (en) * 2001-06-11 2005-11-22 John Hediger System and user interface for generation and processing of software application installation instructions
US6965800B2 (en) * 2001-06-29 2005-11-15 National Instruments Corporation System of measurements experts and method for generating high-performance measurements software drivers
US7058181B2 (en) * 2001-08-02 2006-06-06 Senforce Technologies, Inc. Wireless bridge for roaming in network environment
US20030041139A1 (en) 2001-08-14 2003-02-27 Smartpipes, Incorporated Event management for a remote network policy management system
US7159125B2 (en) 2001-08-14 2007-01-02 Endforce, Inc. Policy engine for modular generation of policy for a flat, per-device database
US7043393B2 (en) * 2001-08-15 2006-05-09 National Instruments Corporation System and method for online specification of measurement hardware
CA2357087C (en) * 2001-09-06 2009-07-21 Cognos Incorporated Deployment manager for organizing and deploying an application in a distributed computing environment
US7500069B2 (en) * 2001-09-17 2009-03-03 Hewlett-Packard Development Company, L.P. System and method for providing secure access to network logical storage partitions
US7769823B2 (en) * 2001-09-28 2010-08-03 F5 Networks, Inc. Method and system for distributing requests for content
AU2002328726A1 (en) * 2001-09-28 2003-04-14 Codagen Technologies Corp. A system and method for managing architectural layers within a software model
US7140000B2 (en) * 2001-10-09 2006-11-21 Certusoft Knowledge oriented programming
US7200665B2 (en) * 2001-10-17 2007-04-03 Hewlett-Packard Development Company, L.P. Allowing requests of a session to be serviced by different servers in a multi-server data service system
US7188364B2 (en) * 2001-12-20 2007-03-06 Cranite Systems, Inc. Personal virtual bridged local area networks
US7188335B1 (en) * 2001-12-28 2007-03-06 Trilogy Development Group, Inc. Product configuration using configuration patterns
US7506058B2 (en) 2001-12-28 2009-03-17 International Business Machines Corporation Method for transmitting information across firewalls
US20030138105A1 (en) * 2002-01-18 2003-07-24 International Business Machines Corporation Storing keys in a cryptology device
US7568019B1 (en) * 2002-02-15 2009-07-28 Entrust, Inc. Enterprise management system for normalization, integration and correlation of business measurements with application and infrastructure measurements
DE60318919T2 (de) 2002-03-29 2009-01-29 Advics Co., Ltd., Kariya Fahrzeugsteuervorrichtung mit Servolenkung
US7130881B2 (en) * 2002-05-01 2006-10-31 Sun Microsystems, Inc. Remote execution model for distributed application launch and control
US8611363B2 (en) 2002-05-06 2013-12-17 Adtran, Inc. Logical port system and method
US6681262B1 (en) * 2002-05-06 2004-01-20 Infinicon Systems Network data flow optimization
US6748958B1 (en) * 2002-06-17 2004-06-15 Patrick Gwen Flosser apparatus with floss tightening mechanism
US20050193103A1 (en) * 2002-06-18 2005-09-01 John Drabik Method and apparatus for automatic configuration and management of a virtual private network
US6801528B2 (en) * 2002-07-03 2004-10-05 Ericsson Inc. System and method for dynamic simultaneous connection to multiple service providers
US7210143B2 (en) * 2002-07-17 2007-04-24 International Business Machines Corporation Deployment of applications in a multitier compute infrastructure
US20040078787A1 (en) * 2002-07-19 2004-04-22 Michael Borek System and method for troubleshooting, maintaining and repairing network devices
US7505872B2 (en) * 2002-09-11 2009-03-17 International Business Machines Corporation Methods and apparatus for impact analysis and problem determination
US20040054791A1 (en) 2002-09-17 2004-03-18 Krishnendu Chakraborty System and method for enforcing user policies on a web server
US7933983B2 (en) * 2002-12-17 2011-04-26 Hewlett-Packard Development Company, L.P. Method and system for performing load balancing across control planes in a data center
CA2515411A1 (en) * 2003-02-21 2004-09-02 Telecom Italia S.P.A. Method and system for managing network access device using a smart card
AU2004216040A1 (en) * 2003-02-24 2004-09-10 Bea Systems, Inc. System and method for server load balancing and server affinity
US7689676B2 (en) * 2003-03-06 2010-03-30 Microsoft Corporation Model-based policy application
US7072807B2 (en) * 2003-03-06 2006-07-04 Microsoft Corporation Architecture for distributed computing system and automated design, deployment, and management of distributed applications
US20040220792A1 (en) * 2003-04-30 2004-11-04 Gallanis Peter Thomas Performance modeling for information systems
US7389411B2 (en) * 2003-08-29 2008-06-17 Sun Microsystems, Inc. Secure transfer of host identities
US7237267B2 (en) * 2003-10-16 2007-06-26 Cisco Technology, Inc. Policy-based network security management
US7103874B2 (en) * 2003-10-23 2006-09-05 Microsoft Corporation Model-based management of computer systems and distributed applications
US7765540B2 (en) * 2003-10-23 2010-07-27 Microsoft Corporation Use of attribution to describe management information
US7778888B2 (en) * 2003-12-11 2010-08-17 International Business Machines Corporation Method for dynamically and automatically setting up offerings for IT services
US20050181775A1 (en) * 2004-02-13 2005-08-18 Readyalert Systems, Llc Alert notification service
US7571082B2 (en) * 2004-06-22 2009-08-04 Wells Fargo Bank, N.A. Common component modeling
US8627149B2 (en) * 2004-08-30 2014-01-07 International Business Machines Corporation Techniques for health monitoring and control of application servers
US7506338B2 (en) * 2004-08-30 2009-03-17 International Business Machines Corporation Method and apparatus for simplifying the deployment and serviceability of commercial software environments
WO2006043320A1 (ja) * 2004-10-20 2006-04-27 Fujitsu Limited アプリケーション管理プログラム、アプリケーション管理方法、およびアプリケーション管理装置
US7653903B2 (en) * 2005-03-25 2010-01-26 Sony Corporation Modular imaging download system
US7797147B2 (en) * 2005-04-15 2010-09-14 Microsoft Corporation Model-based system monitoring
US7802144B2 (en) * 2005-04-15 2010-09-21 Microsoft Corporation Model-based system monitoring
US7743373B2 (en) * 2005-05-06 2010-06-22 International Business Machines Corporation Method and apparatus for managing software catalog and providing configuration for installation
US7587453B2 (en) * 2006-01-05 2009-09-08 International Business Machines Corporation Method and system for determining application availability

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000155729A (ja) * 1998-06-04 2000-06-06 Compaq Computer Corp 改良したクラスタ管理方法及び装置

Also Published As

Publication number Publication date
EP1202526A3 (en) 2004-05-19
JP2007287165A (ja) 2007-11-01
JP2011040096A (ja) 2011-02-24
US20050192971A1 (en) 2005-09-01
EP1202526A2 (en) 2002-05-02
JP4188584B2 (ja) 2008-11-26
US7043545B2 (en) 2006-05-09
US20050102403A1 (en) 2005-05-12
EP2237523A2 (en) 2010-10-06
EP2237523A3 (en) 2011-01-19
US20050102404A1 (en) 2005-05-12
US6886038B1 (en) 2005-04-26
US20050102388A1 (en) 2005-05-12
JP2002202952A (ja) 2002-07-19
US20100287271A1 (en) 2010-11-11
US7016950B2 (en) 2006-03-21

Similar Documents

Publication Publication Date Title
JP4627768B2 (ja) データ転送を制限し分散コンピュータのソフトウェアコンポーネントを管理するためのシステム
JP4261096B2 (ja) 共有コンピュータの分散管理のためのシステムおよび方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100716

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101018

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101108

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131119

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees