JP2002202952A - System and method for restricting data transfer and managing software components of distributed computers - Google Patents

System and method for restricting data transfer and managing software components of distributed computers

Info

Publication number
JP2002202952A
JP2002202952A JP2001326848A JP2001326848A JP2002202952A JP 2002202952 A JP2002202952 A JP 2002202952A JP 2001326848 A JP2001326848 A JP 2001326848A JP 2001326848 A JP2001326848 A JP 2001326848A JP 2002202952 A JP2002202952 A JP 2002202952A
Authority
JP
Japan
Prior art keywords
computer
node
management
rights
readable media
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2001326848A
Other languages
Japanese (ja)
Other versions
JP2002202952A5 (en
JP4188584B2 (en
Inventor
Bassam Tabbara
タバラ バサム
Galen C Hunt
シー.ハント ガレン
Aamer Hydrie
ハイドリー アーマー
Steven P Levi
ピー.レビ スティーブン
David S Stutz
エス.スチューツ デービッド
Robert V Welland
ブイ.ウェランド ロバート
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 JP2002202952A publication Critical patent/JP2002202952A/en
Publication of JP2002202952A5 publication Critical patent/JP2002202952A5/ja
Application granted granted Critical
Publication of JP4188584B2 publication Critical patent/JP4188584B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

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)

Abstract

PROBLEM TO BE SOLVED: To improve the management of a computer system. SOLUTION: A BMonitor 250 situated on a computer includes a plurality of filters 258 that identify where data can be sent to and/or received from as a client computer coupled to a computer via another node set in a common location facility or the Internet. The BMonitor 250 further receives a request related to the management of a software component executed on the computer from an external source and executes it, whereby the external source can perform the start, termination, debug or the like of the software component. The BMonitor 250 also functions as a trusted third party for intermediating the interaction among a plurality of external sources for managing the computer.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明はコンピュータシステ
ムの管理に関する。さらに詳しくは、本発明は、データ
転送を制限し分散コンピュータのソフトウェアコンポー
ネントを管理するためのシステム、方法、コンピュータ
読取可能媒体、およびコンピュータ読取可能メモリに関
する。
The present invention relates to the management of computer systems. More particularly, the present invention relates to systems, methods, computer-readable media, and computer-readable memories for limiting data transfer and managing software components of distributed computers.

【0002】[0002]

【従来の技術】インターネット (the Internet) とその
使用は、この近年に大幅に拡張しており、その拡張は今
後も続くことが予想されている。インターネットの顕著
な使い方の1つは、ワールドワイドウェブ(World Wide
Web WWW。"Web"とも呼ばれている)であり、これは、
ユーザが、見たりさもなければ提供したりできるドキュ
メントの集まりであり(”ウェブページ”と呼ばれ
る)、そこには、ユーザがアクセスできる1つまたは複
数の他のページへのリンクが含まれているのが代表的で
ある。多くの企業や個人は、プレゼンスをWeb上に創設
し、1または2以上のWebページで自社または自分のこ
とを記述し、自社製品やサービスを説明し、他の対象の
情報を特定し、商品やサービスの購入を可能にする、と
いったことを行っているのが代表的である。
BACKGROUND OF THE INVENTION The Internet and its use have expanded significantly in recent years and are expected to continue. One of the prominent uses of the Internet is the World Wide Web.
Web WWW. Also called "Web"),
A collection of documents that a user can view or otherwise provide (referred to as a "web page"), which includes links to one or more other pages that the user can access Is typical. Many businesses and individuals create their presence on the Web, describe themselves or themselves on one or more Web pages, describe their products and services, identify other targeted information, Typically, it is possible to purchase services and services.

【0003】Webページは、Webページを「ホストする」
とも呼ばれるプロセスである、1つまたは複数のWebサ
ーバを通して、Web上で利用可能になっているのが代表
的である。これらのWebページは、そのページを見るこ
とを要求した、誰にでも自由に利用可能になっていると
きもあれば(例えば、会社の広告)、Webページへのア
クセスが制限されているときもある(例えば、Webペー
ジにアクセスするには、パスワードが要求されることが
ある)。Webページを見ることを要求している人が非常
に多数であると(特に、Webがグローバルにアクセス可
能であること鑑みて)、十分にWebページをホストする
ためには、非常に多数のサーバが必要になる場合がある
(例えば、同じWebページを複数のサーバでホストする
と、そのWebページに同時にアクセスできる人の数が増
加することになる)。さらに、Webは地理的に分散して
おり、アクセスに統一性がないため、サーバを異なるリ
モートロケーションに分散化し、世界の異なるロケーシ
ョンにいる人々のアクセスタイムを最小限にすること
が、しばしば望まれている。さらに、人々は、一日中We
bページを見ている傾向があるので(この場合も、特にW
ebがグローバルにアクセス可能であることに鑑みて)、
Webページをホストするサーバは、毎日24時間の間、機
能状態に保っておく必要がある。
[0003] Web pages "host" Web pages.
It is typically made available on the Web through one or more Web servers, a process also known as. These web pages may be freely available to anyone who requests to view them (for example, company advertisements), or if access to the web page is restricted. Yes (for example, accessing a web page may require a password). If a very large number of people are requesting to view a web page (especially in view of the web being accessible globally), a large number of servers will be needed to host the web page sufficiently. (For example, hosting the same web page on multiple servers will increase the number of people who can access the web page simultaneously). In addition, because the Web is geographically dispersed and access is not uniform, it is often desirable to distribute servers to different remote locations and minimize access times for people at different locations in the world. ing. In addition, people spend all day on We
Since they tend to look at page b (again, especially in W
eb is globally accessible),
The server that hosts the web page needs to be up and running 24 hours a day.

【0004】しかし、非常に多数のサーバを管理するこ
とは、困難になることがある。サーバを稼動状態に保つ
ためには、高信頼電源が必要になる。盗みや他の悪意の
ある人が、サーバを破損したり、サーバにしのび込んだ
りする試みを防止するためには、物理的セキュリティが
必要になる。アクセス要求がサーバに確実に到達するこ
とを保証するためには、高信頼インターネットコネクシ
ョンが必要になる。サーバが正しく動作することを保証
するためには、正しい動作環境(例えば、温度、湿度な
ど)が必要になる。そこで、企業がこれらの問題に対処
するのを支援する「共同ロケーション施設(co-location
facilities)」が発達してきた。
However, managing a very large number of servers can be difficult. In order to keep the server running, a highly reliable power supply is required. Physical security is needed to prevent theft and other malicious people from attempting to damage or squash the server. A reliable Internet connection is required to ensure that access requests reach the server. To ensure that the server operates properly, a correct operating environment (for example, temperature, humidity, etc.) is required. Therefore, co-location facilities (co-location facilities) can help businesses address these issues.
facilities) ”has developed.

【0005】ここで、共同ロケーション施設とは、複数
のサーバを収容できる複合施設 (complex) のことであ
る。共同ロケーション施設は、高信頼インターネットコ
ネクション、高信頼電源、および適切な動作環境を提供
しているのが代表的である。また、共同ロケーション施
設は、複数のセキュアエリア(例えば、ケージ (cag
e))を含み、異なる企業が自社サーバをそこに置いてお
くことを可能にしているのが代表的である。特定の企業
が共同ロケーション施設に置いておくサーバの集まり
は、実際には、任意の個々の共同ロケーション施設に、
単独のサーバだけが置かれているとしても、「サーバク
ラスタ(server cluster)」と呼ばれている。この場合、
その特定企業は、自社サーバクラスタ内のサーバのオペ
レーションの管理を担当することになる。
[0005] Here, the shared location facility is a complex facility capable of accommodating a plurality of servers. Co-location facilities typically provide a reliable Internet connection, a reliable power source, and a suitable operating environment. In addition, co-location facilities may have multiple secure areas (eg,
e)), typically allowing different companies to keep their servers there. The collection of servers that a particular company keeps at a co-location facility is, in effect, any arbitrary co-location facility.
Even though only a single server is located, it is called a "server cluster". in this case,
That particular company will be responsible for managing the operation of the servers in its server cluster.

【0006】[0006]

【発明が解決しようとする課題】しかしながら、このよ
うな共同ロケーション施設にも、問題が起こっている。
1つの問題は、データのセキュリティ (data security)
である。異なる企業(競争企業でさえも)は、同一共
同ロケーション施設にサーバクラスタを置くことが可能
になっている。このような状況では、ある企業を目的に
インターネットから受信された(またはサーバクラスタ
内のサーバから送信された)データが、その共同ロケー
ション施設に置かれている別の企業のサーバにルーチン
グ(経路選択)されないようにする配慮が必要である。
However, problems also arise with such co-location facilities.
One problem is data security.
It is. Different companies (even competitors) have been able to place server clusters in the same co-location facility. In such a situation, data received from the Internet (or transmitted from a server in a server cluster) for one company is routed to another company's server located at the co-location facility. Care must be taken to prevent this from happening.

【0007】もう1つの問題は、共同ロケーション施設
に置かれた後の、サーバの管理の問題である。現在で
は、ある企業に属するシステムアドミニストレータ(シ
ステム管理者)は、サーバに障害(または他の問題)が
起きたとき、共同ロケーション施設のアドミニストレー
タに連絡し(電話によるのが代表的)、特定のサーバを
リセットすること(サーバ側のハードウェアリセットボ
タンを押すか、あるいはサーバをパワーオフした後で、
パワーオンをする方法が代表的)をアドミニストレータ
に要求することが可能になっている。この限られたリセ
ットだけの機能では、企業が得られる管理機能が非常に
乏しい。別の方法として、企業に属するシステムアドミ
ニストレータは、自身で共同ロケーション施設に赴き、
障害を起こしたサーバに立ち会うことが可能になってい
る。残念ながら、システムアドミニストレータが共同ロ
ケーション施設に赴いて、サーバに立ち会うようにする
と、大量の時間が浪費されることになる。従って、サー
バコンピュータを共同ロケーション施設で管理する改善
方法があると、好都合である。
[0007] Another problem is that of managing servers after being placed in a co-location facility. Currently, a system administrator (system administrator) belonging to a company contacts a co-location facility administrator (typically by telephone) when a server failure (or other problem) occurs and calls a particular server. Reset the server (by pressing the server's hardware reset button or after powering off the server,
It is possible to request an administrator for a typical power-on method. With this limited reset-only function, the management functions available to the company are very poor. Alternatively, a system administrator belonging to a company may go to a co-location facility on its own,
It is now possible to witness a failed server. Unfortunately, a large amount of time is wasted when a system administrator goes to a co-location facility and attends a server. Accordingly, it would be advantageous to have an improved way of managing server computers at a co-location facility.

【0008】さらに、世界各国に置かれている個人ユー
ザのコンピュータの数は増加を続けており、その形体と
しては、パーソナルコンピュータ(PC)、パーソナル
デジタルアシスタント (personal digital assistant
PDA)、ポケットコンピュータ、パームサイズ (palm-siz
ed) コンピュータ、ハンドヘルドコンピュータ、デジタ
ルセルラーホン (digital cellular phone) などがあ
る。これらユーザコンピュータ上のソフトウェアの管理
は非常に面倒で、時間のかかる仕事であり、また、これ
らのマシンのユーザは非専門家であることが多いため、
これらのユーザにとっては特に困難になっている。シス
テムアドミニストレータや技術者は、ユーザコンピュー
タが置かれているリモートロケーションに赴くか、ある
いは電話で管理オペレーションをウォークスルー (walk
-through) することがよく行われている。ユーザが介入
することなく、ユーザのロケーションでリモートコンピ
ュータを管理するように改善すると、さらに好都合であ
る。
[0008] Furthermore, the number of personal user computers located in various countries around the world continues to increase, and in the form of personal computers (PC), personal digital assistants (personal digital assistants).
PDA), pocket computer, palm size (palm-siz
ed) Computers, handheld computers, digital cellular phones, etc. Managing the software on these user computers is a very tedious and time-consuming task, and the users of these machines are often non-professionals,
It is especially difficult for these users. The system administrator or technician can go to the remote location where the user's computer is located or walk through administrative operations over the telephone.
-through) is often done. It would be even more advantageous to improve the remote computer management at the user's location without user intervention.

【0009】本発明は、このような問題に鑑みてなされ
たもので、その目的とするところは、コンピュータシス
テムの管理を改善することができる、データ転送を制限
し分散コンピュータのソフトウェアコンポーネントを管
理するためのシステムおよび方法を提供することにあ
る。
The present invention has been made in view of the above problems, and has as its object to limit the data transfer and manage software components of a distributed computer, which can improve the management of a computer system. To provide a system and method.

【0010】[0010]

【課題を解決するための手段】以下では、共同ロケーシ
ョン施設 (co-location facility) に置かれているサー
バコンピュータのクラスタにおいて、データ転送を制限
し、ソフトウェアコンポーネントを管理することが説明
されている。
SUMMARY OF THE INVENTION In the following, it is described that data transfer is restricted and software components are managed in a cluster of server computers located in a co-location facility.

【0011】本発明の一態様によれば、コントロー
ラ("BMonitor"と名付けられている)はコンピュータ
(例えば、共同ロケーション施設に置かれた各ノード)
に置かれている。BMonitorは複数のフィルタを含み、共
同ロケーション施設内の別のノードやインターネット経
由でコンピュータに結合されたクライアントコンピュー
タなどのように、データをどことの間で送受信できるか
がこれらのフィルタによって特定されるようになってい
る。これらのフィルタは、コンピュータのオペレーショ
ン期間に、コンピュータに結合された1つまたは複数の
管理デバイス (management device) によって変更する
ことが可能になっている。
According to one aspect of the invention, the controller (named "BMonitor") is a computer (eg, each node located at a co-location facility).
Has been placed. BMonitor includes multiple filters that determine where data can be sent to and from, such as another node in a co-location facility or a client computer coupled to the computer via the Internet. It has become. These filters can be changed by one or more management devices coupled to the computer during operation of the computer.

【0012】別の態様によれば、"BMonitor"と名付けら
れたコントローラ(コンピュータに置かれている)は、
そのコンピュータ上に存在するソフトウェアコンポーネ
ントを管理している。要求が外部ソースからBMonitorに
よって受信されると、その要求はBMonitorによって実行
される。この要求は、コンピュータと同じ場所に置かれ
ている管理コンソールからでも、コンピュータから離れ
た場所に置かれている管理コンソールからでも、出すこ
とが可能になっている。
According to another aspect, a controller (located on a computer) named "BMonitor" comprises:
Manages the software components that exist on the computer. When a request is received by BMonitor from an external source, the request is executed by BMonitor. The request can be made from a management console co-located with the computer or from a management console co-located with the computer.

【0013】別の態様によれば、" BMonitor"と名付け
られたコントローラ(コンピュータに置かれている)
は、複数の管理デバイス間のやりとりを仲介するトラス
テッドサードパーティ(trusted third party:第三者
機関)の働きをしている。BMonitorは複数の所有権ドメ
イン (ownership domain) を維持しており、各ドメイン
は管理デバイスに対応づけられていると共に、各ドメイ
ンは、どのタイプの管理機能(function)をBMonitorに
実行させることを指示できるかを示す、独自の権利セッ
トをもっている。1つの所有権ドメインだけが、どの時
点においてもトップレベルドメインになっており、この
トップレベルドメインは、下位レベルのドメインよりも
権利セットがさらに拡大されている。トップレベルドメ
インは、他の管理デバイスに対応づけられる、新しい所
有権ドメインを作成することができ、また、トップレベ
ルドメインを削除し、それに対応する管理デバイスの管
理権を、下位レベル所有権ドメインに対応する管理デバ
イスによって、いつでも取り消すことが可能になってい
る。トップレベル所有権ドメインになっている所有権ド
メインが変更されるたびに、コンピュータのシステムメ
モリは消去できるので、ある所有権ドメインからの機密
情報が、他の所有権ドメインに対応するデバイスによっ
て利用されることが防止されている。
According to another aspect, a controller named "BMonitor" (located on a computer)
Is acting as a trusted third party that mediates interactions between multiple managed devices. BMonitor maintains multiple ownership domains, each of which is associated with a managed device, and each domain instructs BMonitor to perform which type of management function. They have their own set of rights that show what they can do. Only one ownership domain is a top-level domain at any one time, and this top-level domain has a larger set of rights than lower-level domains. The top-level domain can create a new ownership domain that can be associated with other managed devices, and can delete the top-level domain and transfer the corresponding management device's management rights to the lower-level ownership domain. The corresponding management device allows it to be revoked at any time. Each time the ownership domain that changes to the top-level ownership domain changes, the computer's system memory can be erased, so sensitive information from one ownership domain is used by devices corresponding to other ownership domains. Is prevented.

【0014】別の態様によれば、BMonitorは、ノードで
実行されている他のソフトウェアエンジン (software e
ngine) よりも高い特権レベルで実行されるため、他の
ソフトウェアエンジンがBMonitorによって設定された制
限に干渉するのを防止している。
[0014] According to another aspect, BMonitor is a software engine running on the node.
It runs at a higher privilege level than ngine), preventing other software engines from interfering with the limits set by BMonitor.

【0015】以下には、添付図面を参照して本発明につ
いて説明されているが、本発明は以下の説明に限定され
るものではない。また、図面全体を通して、類似のコン
ポーネントおよび/または機能は、同一符号を用いて示
されている。
Hereinafter, the present invention will be described with reference to the accompanying drawings, but the present invention is not limited to the following description. Also, similar components and / or functions are denoted by the same reference numerals throughout the drawings.

【0016】[0016]

【発明の実施の形態】以下、図面を参照して本発明の実
施形態を詳細に説明する。なお、各図面において同様の
機能を有する箇所には同一の符号を付し、説明の重複は
省略する。
Embodiments of the present invention will be described below in detail with reference to the drawings. In the drawings, portions having the same functions are denoted by the same reference numerals, and overlapping description will be omitted.

【0017】図1は、本発明のいくつかの実施形態で使
用できるような、クライアント/サーバネットワークシ
ステムと環境を示す図である。一般的に、システムは、
1つまたは複数(n個)のクライアントコンピュータ1
021〜102nと、各々が複数のサーバコンピュータ
のクラスタ(サーバクラスタ)1061−1、1061
−2、106m−1、106m−2を含んでいる1つま
たは複数(m個)の共同ロケーション施設1041〜1
04mと、1つまたは複数の管理デバイス110と、1
つまたは複数の別設(例えば、共同ロケーション施設に
含まれていない)サーバ112とを含んでいる。これら
のサーバ、クライアントコンピュータ、および管理デバ
イスは、データ通信ネットワーク108を通して相互に
通信している。図1の通信ネットワークは、インターネ
ットのような公衆ネットワーク108を含んでいる。イ
ンターネットに加えて、あるいはその代用として、他の
タイプの通信ネットワークを使用することも可能であ
り、その中には、ローカルエリアネットワーク (local
area network LAN)、広域ネットワーク (wide areanet
work WAN) などが含まれている。データ通信ネットワ
ーク108の構築は、さまざまな方法で行うことが可能
であり、その中には、ワイヤード(有線)および/また
はワイヤレス(無線)通信媒体が含まれている。
FIG. 1 is a diagram illustrating a client / server network system and environment, such as may be used in some embodiments of the present invention. In general, the system
One or more (n) client computers 1
021-102n, each of which is a cluster of a plurality of server computers (server cluster) 1061-1, 1061
One or more (m) co-location facilities 1041-1 including -2, 106m-1, 106m-2
04m, one or more management devices 110, 1
And one or more separate (eg, not included in a co-location facility) server 112. These servers, client computers, and management devices are in communication with each other through a data communication network 108. The communication network of FIG. 1 includes a public network 108, such as the Internet. In addition to or as an alternative to the Internet, other types of communication networks may be used, including local area networks (local
area network LAN), wide area network (wide areanet
work WAN). The construction of the data communication network 108 can be accomplished in a variety of ways, including wired and / or wireless communication media.

【0018】ネットワーク108を利用した通信を行う
には、広範囲にわたる通信プロトコルの使用が可能であ
る。ある実装では、クライアントコンピュータ1021
〜102nとクラスタ1061−2、106m−1、1
06m−2内のサーバコンピュータは、ハイパーテキス
ト転送プロトコル (Hypertext Transfer Protocol HTT
P) を使用して相互に通信することが可能になってお
り、そこでは、Webページはサーバコンピュータによっ
てホストされ、HTML(Hypertext Markup Language)また
はXML(eXtensible Markup Language)などの、マークア
ップ言語で書かれている。
A wide range of communication protocols can be used to perform communication using the network 108. In one implementation, the client computer 1021
〜10102n and clusters 1061-2, 106m-1, 1
The server computer in 06m-2 is a Hypertext Transfer Protocol HTT
P) to communicate with each other, where web pages are hosted by server computers and are written in a markup language such as HTML (Hypertext Markup Language) or XML (eXtensible Markup Language). has been written.

【0019】管理デバイス110は、デバイス110か
ら離れたロケーションに置かれている1つまたは複数の
コンピューティングデバイスのソフトウェアコンポーネ
ントを管理する働きをする。この管理の中には、管理さ
れるコンピューティングデバイスとの間でやりとりされ
るデータ転送を制限することを含めることも可能であ
る。図1に示す例では、管理デバイス110は、クライ
アント1021〜102n、サーバクラスタ1061−
1、1061−2、106m−1、106m−2、また
はサーバ112の、1つまたは複数をリモートで管理す
ることが可能になっている。リモートで管理できるコン
ピューティングデバイスは広範囲にわたっており、その
中には、パーソナルコンピュータ (personal computer
PC)、ネットワークPC、マルチプロセッサシステム、マ
イクロプロセッサベースまたはプログラマブルな家庭用
電化製品、ミニコンピュータ、メインフレームコンピュ
ータ、ゲーミングコンソール (gaming console)、イン
ターネット機器、パーソナルデジタルアシスタント (pe
rsonal digital assistant PDA)、ポケットコンピュー
タ、パームサイズ (palm-sized) コンピュータ、ハンド
ヘルドコンピュータ、デジタルセルラーホン (digital
cellular phone)、などが含まれている。コンピューテ
ィングデバイスのリモート管理は、以下に詳しく説明さ
れているように、コマンドをネットワーク108経由で
デバイスに伝達することによって行われる。
The management device 110 serves to manage software components of one or more computing devices located at a location remote from the device 110. This management can include limiting data transfer to and from the managed computing device. In the example illustrated in FIG. 1, the management device 110 includes clients 1021 to 102n, a server cluster 1061-
1, 1061-2, 106m-1, 106m-2 or one or more of the servers 112 can be remotely managed. There is a wide range of computing devices that can be managed remotely, including personal computers.
PCs, network PCs, multiprocessor systems, microprocessor-based or programmable consumer electronics, minicomputers, mainframe computers, gaming consoles, Internet devices, personal digital assistants (pe
rsonal digital assistant PDA), pocket computer, palm-sized computer, handheld computer, digital cellular phone (digital
cellular phone). Remote management of a computing device is accomplished by communicating commands to the device over a network 108, as described in more detail below.

【0020】以下の説明では、本発明の実施形態は、プ
ログラムモジュールのように、1つまたは複数の従来パ
ーソナルコンピュータによって実行されるコンピュータ
実行可能命令の一般的意味において説明されている。一
般的に、プログラムモジュールには、特定のタスクを実
行し、あるいは特定の抽象データ型を実装している、ル
ーチン、プログラム、オブジェクト、コンポーネント、
データ構造などが含まれている。さらに、当業者ならば
理解されるように、本発明の種々実施形態は、他のコン
ピュータシステム構成で実施することが可能であり、そ
の中には、ハンドヘルドデバイス、ゲーミングコンソー
ル (gaming console)、インターネットアプライアンス
(Internet appliance)、マルチプロセッサシステム、マ
イクロプロセッサベースまたはプログラマブルな家庭用
電化製品、ネットワークPC、ミニコンピュータ、メイン
フレームコンピュータなどが含まれている。分散コンピ
ュータ環境では、プログラムモジュールは、ローカルと
リモートの両方のメモリストレージデバイスに置いてお
くことが可能になっている。
In the following description, embodiments of the present invention are described in the general sense of computer-executable instructions, such as program modules, being executed by one or more conventional personal computers. Generally, program modules include routines, programs, objects, components, or components that perform particular tasks or implement particular abstract data types.
The data structure is included. Further, as will be appreciated by those skilled in the art, various embodiments of the present invention may be implemented with other computer system configurations, including handheld devices, gaming consoles, and Internet devices. Appliance
(Internet appliances), multiprocessor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, etc. In a distributed computing environment, program modules can be located in both local and remote memory storage devices.

【0021】別の方法として、本発明の実施形態は、ハ
ードウェアで実現することも、ハードウェア、ソフトウ
ェア、および/またはファームウェアの組み合わせで実
現することもできる。例えば、本発明は、その全体また
は一部を1つまたは複数の特定用途向け集積回路 (appl
ication specific integrated circuit ASIC) または
プログラム可能論理デバイス (programmable logic dev
ice PLD) に実装させることが可能になっている。
Alternatively, embodiments of the present invention may be implemented in hardware or a combination of hardware, software, and / or firmware. For example, the present invention may incorporate, in whole or in part, one or more application-specific integrated circuits (appl).
Communication specific integrated circuit ASIC) or programmable logic device (programmable logic dev)
ice PLD).

【0022】図2は、本発明のいくつかの実施形態に従
って使用できるコンピュータ142の例を示す概要図で
ある。図示のコンピュータ142の例としては、図1の
クライアントコンピュータ1021〜102nとしての
機能をもつコンピュータ、図1の共同ロケーション施設
1041〜104mや他のロケーションに置かれている
コンピュータやノード(例えば、以下に説明する図5の
ノード248)、あるいはローカルまたはリモート管理
コンソールがあり、これらは、以下に詳しく説明されて
いる。
FIG. 2 is a schematic diagram illustrating an example of a computer 142 that may be used in accordance with some embodiments of the present invention. As an example of the computer 142 shown, a computer having functions as the client computers 1021 to 102n in FIG. 1, a computer or node located in the co-location facility 1041 to 104m in FIG. There is a node 248) of FIG. 5 described, or a local or remote management console, which are described in detail below.

【0023】コンピュータ142は、1つまたは複数の
プロセッサまたは処理ユニット144、システムメモリ
146、およびシステムメモリ146を含む種々のシス
テムコンポーネントをプロセッサ144に結合している
バス148を含んでいる。バス148は、数種タイプの
バス構造のいずれかの1つまたは複数を表しており、そ
の中には、種々のバスアーキテクチャのいずれかを採用
しているメモリバスまたはメモリコントローラ、ペリフ
ェラル(周辺)バス、高速グラフィックスポート、およ
びプロセッサまたはローカルバスが含まれている。シス
テムメモリとしては、リードオンリメモリ (read only
memory ROM) 150とランダムアクセスメモリ (rando
m access memory RAM) 152がある。基本入出力シス
テム (basic input/output system BIOS) 154は、
スタートアップ中のように、コンピュータ142内の要
素間で情報を転送するのを支援する基本ルーチンで構成
され、ROM 150に格納されている。
Computer 142 includes one or more processors or processing units 144, a system memory 146, and a bus 148 that couples various system components including the system memory 146 to the processor 144. Bus 148 represents any one or more of several types of bus structures, including a memory bus or memory controller employing any of a variety of bus architectures, and peripherals. Includes a bus, a high-speed graphics port, and a processor or local bus. Read-only memory (read only memory)
memory ROM) 150 and random access memory (rando
m access memory RAM) 152. The basic input / output system BIOS 154 is
It is comprised of basic routines that assist in transferring information between elements within computer 142, such as during startup, and is stored in ROM 150.

【0024】コンピュータ142は、さらに、ハードデ
ィスク(図示せず)との間で読み書きを行い、ハードデ
ィスクドライブインタフェース157(例えば、SCSI、
ATA、他のタイプのインタフェース)を介してバス14
8に接続されているハードディスクドライブ156、リ
ムーバル磁気ディスク160との間で読み書きを行い、
磁気ディスクドライブインタフェース161を介してバ
ス148に接続されている磁気ディスクドライブ15
8、およびCD-ROMやDVD、その他の光メディアなどの、
リムーバル光ディスク164との間で読み書きを行い、
光ドライブインタフェース165を介してバス148に
接続されている光ディスクドライブ162を装備してい
る。これらのドライブおよびそれぞれに関連するコンピ
ュータ読取可能媒体は不揮発性ストレージとして、コン
ピュータ142のためのコンピュータ読取可能命令、デ
ータ構造、プログラムモジュールおよび他のデータを格
納している。ここで説明している例示環境では、ハード
ディスク、リムーバル磁気ディスク160およびリムー
バル光ディスク164が採用されているが、当業者なら
ば理解されるように、コンピュータによってアクセス可
能なデータを格納しておくことができる他のタイプのコ
ンピュータ読取可能媒体を、例示動作環境で使用するこ
とも可能であり、そのようなものとしては、磁気カセッ
ト、フラッシュメモリカード、デジタルビデオディス
ク、ランダムアクセスメモリ (RAM)、リードオンリメモ
リ (ROM) などがある。
The computer 142 further reads and writes data from and to a hard disk (not shown) and a hard disk drive interface 157 (for example, SCSI,
Bus 14 via ATA, other types of interfaces)
8 for reading and writing between the hard disk drive 156 and the removable magnetic disk 160 connected to
The magnetic disk drive 15 connected to the bus 148 via the magnetic disk drive interface 161
8, and CD-ROM, DVD and other optical media,
Read and write with the removable optical disk 164,
An optical disk drive 162 connected to a bus 148 via an optical drive interface 165 is provided. These drives and their associated computer-readable media store, as non-volatile storage, computer readable instructions, data structures, program modules, and other data for computer 142. Although the example environment described herein employs a hard disk, removable magnetic disk 160 and removable optical disk 164, data accessible by a computer may be stored as will be appreciated by those skilled in the art. Other types of computer readable media that can be used in the exemplary operating environment may be used, such as magnetic cassettes, flash memory cards, digital video disks, random access memory (RAM), read only Memory (ROM), etc.

【0025】いくつかのプログラムモジュールは、ハー
ドディスク、磁気ディスク160、光ディスク164、
ROM 150またはRAM 152に格納しておくことが可能
であり、その中には、オペレーティングシステム170
a、170b、1つまたは複数のアプリケーションプロ
グラム172a、172b、他のプログラムモジュール
174a、174b、およびプログラムデータ176
a、176bが含まれている。ユーザは、キーボード1
78やポインティングデバイス180などの、入力デバ
イスを通してコマンドと情報をコンピュータ142に入
力することができる。他の入力デバイス(図示せず)と
しては、マイクロホン、ジョイスティック、ゲームパッ
ド、サテライトディッシュ、スキャナなどがある。上記
および他の入力デバイスは、システムバスに結合されて
いるインタフェース168を介して処理ユニット144
に接続されている。モニタ184や他のタイプのディス
プレイデバイスも、ビデオアダプタ186のような、イ
ンタフェースを介してシステムバス148に接続されて
いる。モニタのほかに、パーソナルコンピュータは、ス
ピーカやプリンタのような、他のペリフェラル(周辺)
出力デバイス(図示せず)を装備しているのが代表的で
ある。
Some program modules include a hard disk, a magnetic disk 160, an optical disk 164,
It can be stored in ROM 150 or RAM 152, including operating system 170
a, 170b, one or more application programs 172a, 172b, other program modules 174a, 174b, and program data 176
a and 176b. The user has keyboard 1
Commands and information can be entered into the computer 142 through input devices, such as 78 and pointing device 180. Other input devices (not shown) include a microphone, joystick, game pad, satellite dish, scanner, and the like. These and other input devices are connected to the processing unit 144 via an interface 168 that is coupled to the system bus.
It is connected to the. A monitor 184 and other types of display devices are also connected to the system bus 148 via an interface, such as a video adapter 186. In addition to monitors, personal computers include other peripherals, such as speakers and printers.
Typically, an output device (not shown) is provided.

【0026】コンピュータ142は、オプションとし
て、リモートコンピュータ188のような、1つまたは
複数のリモートコンピュータとの論理コネクションを使
用するネットワーキング環境で動作している。リモート
コンピュータ188は、別のパーソナルコンピュータ、
サーバ、ルータ、ネットワークPC、ピアデバイス(peer
device)または他の共通ネットワークノードにすること
が可能であり、図2にはメモリストレージデバイス19
0だけが示されているが、コンピュータ142に関連し
て上述した要素の多くまたは全部を含んでいるのが代表
的である。図2に示す論理コネクションとしては、ロー
カルエリアネットワーク (LAN) 192と広域ネットワ
ーク (WAN) 194がある。このようなネットワーキン
グ環境は、オフィス、企業内 (enterprise-wide) コン
ピュータネットワーク、イントラネット (intranet)、
およびインターネットで普及している。ここで説明して
いる本発明の実施形態では、リモートコンピュータ18
8は、Microsoft Corporation (Redmond, Washington
州) で製造され、販売されている"Internet Explorer"
Webブラウザなどの、インターネットWebブラウザプログ
ラム(これは、オプションとして、オペレーティングシ
ステムに組み込まれていることもある)を実行してい
る。
Computer 142 is optionally operating in a networking environment using logical connections with one or more remote computers, such as remote computer 188. Remote computer 188 can be another personal computer,
Server, router, network PC, peer device (peer
device) or other common network node, FIG.
Although only zeros are shown, they typically include many or all of the elements described above in connection with computer 142. The logical connections shown in FIG. 2 include a local area network (LAN) 192 and a wide area network (WAN) 194. Such networking environments include offices, enterprise-wide computer networks, intranets,
And is popular on the Internet. In the embodiment of the invention described here, the remote computer 18
8 is Microsoft Corporation (Redmond, Washington
Internet Explorer "manufactured and sold in
Runs an Internet Web browser program, such as a Web browser, which may optionally be built into the operating system.

【0027】LANネットワーキング環境で使用されると
きは、コンピュータ142は、ネットワークインタフェ
ースまたはアダプタ196を通してローカルネットワー
ク192に接続されている。WANネットワーキング環境
で使用されるときは、コンピュータ142は、インター
ネットなどの広域ネットワーク194上の通信を確立す
るためのモデム198や他のコンポーネントを装備して
いるのが代表的である。モデム198は内蔵型と外付け
型があり、どちらも、インタフェース(例えば、シリア
ルポートインタフェース168)を介してシステムバス
148に接続されている。ネットワーキング環境では、
パーソナルコンピュータ142に関連して上述したプロ
グラムモジュールまたはその一部は、リモートメモリス
トレージデバイスに格納しておくことができる。以上か
ら理解されるように、図示のネットワークコネクション
は例示であり、コンピュータ間の通信リンクを確立する
他の手段を使用することも可能である。
When used in a LAN networking environment, computer 142 is connected to local network 192 through a network interface or adapter 196. When used in a WAN networking environment, computer 142 typically includes a modem 198 and other components for establishing communication over a wide area network 194, such as the Internet. The modem 198 has a built-in type and an external type, and both are connected to the system bus 148 via an interface (for example, a serial port interface 168). In a networking environment,
The program modules described above in connection with personal computer 142, or portions thereof, may be stored in a remote memory storage device. As can be appreciated, the network connections shown are exemplary and other means of establishing a communications link between the computers may be used.

【0028】一般的に、コンピュータ142のデータプ
ロセッサは、コンピュータの種々のコンピュータ読取可
能媒体に時期を異にして格納されている命令によってプ
ログラムされている。プログラムとオペレーティングシ
ステムは、例えば、フロッピー(登録商標)ディスクや
CD-ROMに入れて配布されるのが代表的である。これら
は、そこからインストールされ又は、コンピュータの二
次メモリ (secondary memory) にロードされる。実行時
に、これらは、少なくともその一部が、コンピュータの
一次電子メモリ (primary electronic memory) にロー
ドされている。ここで説明している本発明によれば、マ
イクロプロセッサまたは他のデータプロセッサと関連付
けて以下に説明されているステップを実現するための命
令またはプログラムは、上記および他のタイプのコンピ
ュータ読取可能ストレージ媒体に収められている。ま
た、本発明によれば、コンピュータ自体が、後述する方
法と手法に従ってプログラムされるようになっている。
さらに、コンピュータのある種のサブコンポーネント
は、後述する機能とステップを実行するようにプログラ
ム可能になっている。本発明によれば、そのようなサブ
コンポーネントは下述するようにプログラムされるよう
になっている。さらに、ここで説明している本発明によ
れば、データ構造は、下述するように、種々タイプのメ
モリ媒体上に具現化されている。
Generally, the data processors of computer 142 are programmed with instructions stored at different times in the various computer-readable media of the computer. Programs and operating systems may include, for example, floppy disks or
It is typically distributed on a CD-ROM. These are installed from there or loaded into a secondary memory of the computer. At runtime, they are at least partially loaded into the computer's primary electronic memory. According to the invention described herein, the instructions or programs for implementing the steps described below in connection with a microprocessor or other data processor are described above and in other types of computer-readable storage media. It is stored in. Further, according to the present invention, the computer itself is programmed according to the method and method described later.
Further, certain sub-components of the computer are programmable to perform the functions and steps described below. According to the invention, such sub-components are to be programmed as described below. Further, in accordance with the invention described herein, the data structures are embodied on various types of memory media, as described below.

【0029】説明の便宜上、プログラムおよびオぺレー
ティングシステムのような他の実行可能プログラムコン
ポーネントは、ここでは個別的ブロックとして示されて
いるが、当然に理解されるように、このようなプログラ
ムとコンポーネントは、時期を異にしてコンピュータの
異なるストレージコンポーネントに置かれていて、コン
ピュータのデータプロセッサによって実行されるように
なっている。
For convenience of explanation, other executable program components, such as programs and operating systems, are shown here as individual blocks, but it will be understood that such programs and components Are located in different storage components of the computer at different times and are executed by the data processor of the computer.

【0030】図3は、例示の共同ロケーション施設を示
す詳細ブロック図である。共同ロケーション施設104
は、図示のように複数のノード210−1〜210−n
(サーバコンピュータとも呼ばれる)を含んでいる。共
同ロケーション施設104は、ノードをいくつでも収容
することが可能であり、数千にもわたる数のノードを容
易に収容することが可能になっている。
FIG. 3 is a detailed block diagram illustrating an exemplary co-location facility. Joint location facility 104
Represents a plurality of nodes 210-1 to 210-n
(Also called a server computer). The co-location facility 104 can accommodate any number of nodes, and can easily accommodate thousands of nodes.

【0031】ノードは、サーバクラスタ(またはノード
クラスタ)と呼ばれる、いくつかのクラスタにグループ
化されている。説明を簡単にし、図面の混乱を避けるた
めに、図3にはただ1つのクラスタ212だけが示され
ている。各サーバクラスタは、共同ロケーション施設1
04の特定カスタマに対応するノードを含んでいる。あ
るサーバクラスタのノードは、他のサーバクラスタのノ
ードから物理的に隔離されている。この物理的隔離は、
共同ロケーション施設104でのロックされた個別ケー
ジや個別ルームのように、異なる形体にすることができ
る。サーバクラスタを物理的に隔離すると、共同ロケー
ション施設104のカスタマは、自分だけが自分のノー
ドに物理的にアクセスできることが保証される(他のカ
スタマはアクセスできない)。別の方法として、サーバ
クラスタは、相互に対して物理的にではなく、論理的に
隔離することも可能である(例えば、以下で詳しく説明
するクラスタ境界を使用して)。
The nodes are grouped into several clusters called server clusters (or node clusters). For simplicity of explanation and to avoid confusion in the drawing, only one cluster 212 is shown in FIG. Each server cluster is a co-location facility 1
04 includes nodes corresponding to specific customers. A node of one server cluster is physically isolated from a node of another server cluster. This physical isolation
Different configurations are possible, such as locked individual cages or individual rooms at the co-location facility 104. Physically isolating the server cluster ensures that only the co-location facility 104 customers have physical access to their nodes (other customers cannot). Alternatively, the server clusters may be logically isolated from each other, rather than physically, (eg, using cluster boundaries described in more detail below).

【0032】ランドロード/テナント関係(貸主/借主
(lessor/lessee) 関係とも呼ばれる)は、ノードをベー
スにして設定することも可能である。共同ロケーション
施設104の所有者(および/またはオペレータ)は、
個々のノードを所有している(さもなければ、その権利
を有している)ので、「ランドロード」と見ることがで
きる。共同ロケーション施設104のカスタマは、ラン
ドロードからノードをリースするので、「テナント」と
見ることができる。ランドロードは、どのタイプのデー
タまたはプログラムがテナントによってノードにストア
されているかには無関心であるのが一般的であるが、ク
ラスタに境界を設けて、異なるクラスタからのノード
が、相互に通信するのを防止するようにしている。これ
については、以下に詳しく説明されている。さらに、ノ
ードを使用すると、テナントは、そのノードがテナント
だけにリースされるとしても、ランドロードがテナント
によってストアされた機密情報にアクセスできないとの
保証が得られる。
Land Road / Tenant Relationship (Lender / Lender
(also called a (lessor / lessee) relationship) can be set on a node basis. The owner (and / or operator) of the co-location facility 104 may:
Because it owns (or otherwise has its rights) the individual node, it can be viewed as a “land road”. The co-location facility 104 customer can be viewed as a "tenant" because it leases nodes from Land Road. Landloading is generally indifferent to what type of data or programs are stored on nodes by tenants, but demarcates clusters so that nodes from different clusters communicate with each other I try to prevent it. This is described in more detail below. In addition, the use of nodes provides tenants with the assurance that landlords cannot access sensitive information stored by tenants, even if the nodes are leased only to tenants.

【0033】異なるクラスタのノードは、物理的に隔離
されていても、ネットワークコネクション(1つまたは
複数)216へのアクセス、場合によっては、アプリケ
ーションオペレーション管理コンソール242へのアク
セスを可能にする、同じトランスポート媒体(1つまた
は複数)211に物理的に結合されていることがよくあ
る。これについては、以下に詳しく説明されている。こ
のトランスポート媒体はワイヤド(有線)またはワイヤ
レス(無線)にすることができる。
Nodes of different clusters, even if physically isolated, can access network connection (s) 216 and, in some cases, access application operation management console 242, with the same transformer. Often it is physically coupled to the port medium (s) 211. This is described in more detail below. This transport medium can be wired or wireless.

【0034】各ノードは、共有トランスポート媒体21
1に結合できるので、各ノードは、他のどのノードとの
間でデータを送受信できるかを制限するように構成可能
になっている。いくつかの異なるノードをテナントのサ
ーバクラスタに含めることが可能になっていれば、テナ
ントは、そのクラスタ内の異なるクラスタの間でデータ
を、処理や保管などの目的のために、受け渡しできるこ
とを望む場合がある。しかし、テナントは、サーバクラ
スタに属していない他のノードにデータが渡されるのを
望まないのが一般的である。他のどのノードとの間でデ
ータを送受信できるかを制限するようにクラスタ内の各
ノードを構成すると、サーバクラスタの境界を設定し、
適用することが可能になる。このようなサーバクラスタ
境界を設定し、適用すると、テナントのデータがクラス
タに属していないノードに誤って、あるいは不正に転送
されることが防止される。
Each node has a shared transport medium 21
1 so that each node can be configured to limit which other nodes can send and receive data. If it is possible for several different nodes to be included in the tenant's server cluster, the tenant wants to be able to pass data between different clusters within that cluster for purposes such as processing and storage. There are cases. However, tenants generally do not want data to be passed to other nodes that do not belong to the server cluster. By configuring each node in the cluster to limit which data can be sent to or received from any other node, you can set the boundaries of the server cluster,
It becomes possible to apply. When such a server cluster boundary is set and applied, it is prevented that tenant data is erroneously or illegally transferred to a node that does not belong to the cluster.

【0035】ランドロードによって設定される、これら
の初期境界は、異なるカスタマのノード間の通信を防止
するので、各カスタマのデータがそのカスタマの他のノ
ードに渡されることが保証されることになる。カスタマ
自身も、そのクラスタ内にサブ境界を別に定義し、ノー
ドのサブクラスタを設定すると、そこから出入りするデ
ータが、クラスタ内の他のノードとの間で受け渡しされ
ることが防止される。カスタマは、そのようなサブクラ
スタ境界を自由に追加し、変更し、削除し、その他を行
うことができるが、それが許されるのは、ランドロード
によって定義された境界(つまり、クラスタ境界)内に
限られている。従って、カスタマは、ノードとの間で行
われる通信が、同じクラスタに属していない別のノード
にまで拡張されるような形で境界を変更することはでき
ない。
These initial boundaries, set by the land load, prevent communication between nodes of different customers, thus ensuring that each customer's data is passed to other nodes of that customer. . If the customer himself defines sub-boundaries within the cluster separately and sets up sub-clusters of nodes, data coming in and out of them is prevented from being passed to and from other nodes in the cluster. The customer is free to add, modify, delete, etc., such sub-cluster boundaries, but only within the boundaries defined by the land load (ie, the cluster boundaries). Is limited to Thus, the customer cannot change the boundaries in such a way that the communication made with a node extends to another node that does not belong to the same cluster.

【0036】共同ロケーション施設104は、ノードノ
ード210−1〜210−nの各々に対して高信頼電源
214と高信頼ネットワークコネクション(1つまたは
複数−以下同じ)216(例えば、図1のネットワーク
108)を提供している。電源214とネットワークコ
ネクション216はノードノード210−1〜210−
nのすべてによって共有されているが、別の方法とし
て、ノードノード210−1〜210−nまたはノード
グループ(例えば、クラスタ)に別の電源214とネッ
トワークコネクション216を提供することも可能であ
る。高信頼電源を提供するための広範囲にわたる、従来
のメカニズムは、いずれも、電源障害(停電)時のバッ
クアップ発電機、冗長発電機、バッテリ、燃料電池、あ
るいは他の蓄電メカニズムと併用して、電力会社から供
給される電力のような、高信頼電源214を提供するた
めに使用することができる。同様に、高信頼ネットワー
クコネクションを提供するための広範囲にわたる、従来
のメカニズムは、いずれも、冗長コネクショントランス
ポート媒体、異種のコネクション媒体、異なるアクセス
ポイント(例えば、異なるインターネットアクセスポイ
ント、異なるインターネットサービスプロバイダ (Inte
rnet service provider ISP) など)などの、ネットワ
ークコネクション216を提供するために使用すること
ができる。
The co-location facility 104 includes a trusted power source 214 and a trusted network connection (s) 216 (eg, network 108 of FIG. 1) for each of node nodes 210-1 through 210-n. ). The power supply 214 and the network connection 216 are connected to the node nodes 210-1 to 210-.
n, but alternatively, another power supply 214 and network connection 216 may be provided to node nodes 210-1 to 210-n or a group of nodes (eg, a cluster). A wide range of conventional mechanisms for providing reliable power supplies, all in combination with backup generators, redundant generators, batteries, fuel cells, or other storage mechanisms in the event of a power failure (outage) It can be used to provide a reliable power supply 214, such as power supplied by a company. Similarly, a wide range of conventional mechanisms for providing reliable network connections include redundant connection transport media, heterogeneous connection media, different access points (eg, different Internet access points, different Internet service providers ( Inte
rnet service provider (ISP), etc.).

【0037】いくつかの実施形態では、ノードノード2
10−1〜210−nは、共同ロケーション施設104
のオペレータまたは所有者によって、施設104のスペ
ースおよびサービス(例えば、高信頼電源214とネッ
トワークコネクション216)と一緒にカスタマにリー
スまたは販売されている。他の実施形態では、施設10
4のスペースとサービスはカスタマにリースされる一
方、1つまたは複数のノードはカスタマによって用意さ
れるようになっている。
In some embodiments, node 2
10-1 to 210-n are co-location facilities 104
Is leased or sold to customers along with the space and services of facility 104 (eg, trusted power source 214 and network connection 216). In another embodiment, the facility 10
Four spaces and services are leased to the customer, while one or more nodes are provided by the customer.

【0038】各ノードノード210−1〜210−nの
管理は多層方式で行われる。図4は、例示の多層管理ア
ーキテクチャを示すブロック図である。この多層アーキ
テクチャは3層からなっている。すなわち、クラスタオ
ペレーション管理層230、アプリケーションオペレー
ション管理層232、およびアプリケーション開発層2
34である。クラスタオペレーション管理層230は、
管理されるサーバ(1つまたは複数−以下同じ)と同じ
ロケーションに(例えば、共同ロケーション施設に)ロ
ーカルに実装され、サーバのハードウェアオペレーショ
ンを管理することを担当している。図示の例では、クラ
スタオペレーション管理層230は、どのソフトウェア
コンポーネントがノードノード210−1〜210−n
で実行されているかには無関係であり、関係があるの
は、ノードノード210−1〜210−nのハードウェ
アオペレーションを継続することと、ノードクラスタ間
に境界を設定することだけである。
Each of the nodes 210-1 to 210-n is managed in a multilayer system. FIG. 4 is a block diagram illustrating an exemplary multi-tier management architecture. This multi-layer architecture consists of three layers. That is, the cluster operation management layer 230, the application operation management layer 232, and the application development layer 2
34. The cluster operation management layer 230
It is implemented locally at the same location (e.g., at a co-location facility) as the managed server (s)-and is responsible for managing the hardware operation of the server. In the illustrated example, the cluster operation management layer 230 determines which software components are node nodes 210-1 to 210-n.
Irrespective of whether it is running on a node cluster, it is only relevant to continue the hardware operation of node nodes 210-1 to 210-n and to set boundaries between node clusters.

【0039】これに対して、アプリケーションオペレー
ション管理層232は、管理されるサーバが置かれてい
る場所とは別の(例えば、共同ロケーション施設とは別
の)リモートロケーションにあって、サーバに結合され
ていてまだ通信状態にあるクライアントコンピュータの
ロケーションに実装されている。アプリケーションオペ
レーション管理層232は、サーバのソフトウェアオペ
レーションを管理し、サーバクラスタ内にサブ境界を定
義することを担当している。クライアントをサーバに結
合するには、インターネット経由や専用(例えば、ダイ
ヤルアップ)コネクション経由といったように、さまざ
まな方法で行うことが可能になっている。また、クライ
アントは、サーバに結合したままにしておくことも、不
定期に(例えば、管理目的のための必要時のみ)結合す
ることも可能である。
In contrast, the application operation management layer 232 is located at a remote location (eg, separate from the co-location facility) where the managed server is located and is coupled to the server. Implemented at the location of the client computer that is still in communication. The application operation management layer 232 is responsible for managing server software operations and defining sub-boundaries within a server cluster. Clients can be coupled to the server in a variety of ways, such as via the Internet or a dedicated (eg, dial-up) connection. Also, the client may remain attached to the server or may be attached on an irregular basis (eg, only when needed for administrative purposes).

【0040】アプリケーション開発層234は、サーバ
とは別のロケーション(例えば、共同ロケーション施設
とは別のロケーション)に置かれている、別のクライア
ントコンピュータに実装されており、サーバ上で実行さ
れるソフトウェアコンポーネントまたはエンジンを開発
することを担当している。別の方法として、共同ロケー
ション施設104のノードノード210−1〜210−
nに置かれているカレントソフトウェアにリモートクラ
イアントがアクセスすることによって、ノードのための
追加ソフトウェアコンポーネントやエンジンを開発する
ことも可能である。アプリケーション開発層234が実
装されているクライアントは、アプリケーションオペレ
ーション管理層232が実装されているクライアントと
は別のクライアントであるのが一般的であるが、これら
の2層232と234は、同じクライアントに(少なく
とも部分的に)実装させることも可能である。
The application development layer 234 is implemented on another client computer located at a different location from the server (for example, a different location from the co-location facility), and is implemented by software executed on the server. Responsible for developing components or engines. Alternatively, node nodes 210-1 to 210- of co-location facility 104
It is also possible to develop additional software components and engines for the nodes by accessing the current software located at n. The client in which the application development layer 234 is implemented is generally a different client from the client in which the application operation management layer 232 is implemented. However, these two layers 232 and 234 are not It is also possible (at least partially) to implement.

【0041】図4には3層だけが示されているが、これ
とは別に、多層アーキテクチャは異なる数の層で構成す
ることも可能である。例えば、アプリケーションオペレ
ーション管理層を2層に分割し、各層に異なる(または
オーバラップする)責任をもたせれば、結果的に、4層
のアーキテクチャが得られることになる。これらの層で
の管理は、同じ場所(例えば、単独のアプリケーション
管理コンソールを共用にする)からでも、異なる場所
(例えば、2つの異なるオペレーション管理コンソー
ル)からでも行うことができる。
Although only three layers are shown in FIG. 4, alternatively, a multi-layer architecture can be composed of a different number of layers. For example, splitting the application operations management layer into two layers, with each layer having different (or overlapping) responsibilities, would result in a four-tier architecture. Management at these tiers can be from the same location (eg, sharing a single application management console) or from different locations (eg, two different operations management consoles).

【0042】図3に戻って説明すると、共同ロケーショ
ン施設104は、各サーバクラスタのためのクラスタオ
ペレーション管理コンソールを含んでいる。図3の例で
は、クラスタオペレーション管理コンソール240はク
ラスタ212に対応付けられている。クラスタオペレー
ション管理コンソール240はクラスタ212のための
クラスタオペレーション管理層230(図4)を実装し
ており、クラスタ212内のノードのハードウェアオペ
レーションを管理することを担当している。クラスタオ
ペレーション管理コンソール240はクラスタ212内
のハードウェアをモニタリングし、ハードウェア障害を
判別することを試みている。広範囲にわたる、どのよう
なハードウェア障害でもモニタリングすることが可能で
あり、その中には、プロセッサ障害、バス障害、メモリ
障害などが含まれている。ハードウェアオペレーション
をモニタリングする方法は、クラスタオペレーション管
理コンソール240が、応答するように特定のハードウ
ェアの使用を要求するテストメッセージや制御シグナル
をノードへ送信するとか(無応答または誤りのある応答
は障害が起きたことを示している)、特定のハードウェ
アの使用を要求するテストメッセージや制御シグナルを
生成させ、ノードからクラスタオペレーション管理コン
ソール240へ定期的に送信させるとか(特定の時間期
間内にこのメッセージまたは制御シグナルを受信しない
ときは、障害が起きたことを示している)、といったよ
うに、種々の方法が可能である。別の方法として、クラ
スタオペレーション管理コンソール240は、どのタイ
プのハードウェア障害が発生したかを判別することを試
みるのではなく、障害が起きたことだけを判別するよう
にすることもできる。
Returning to FIG. 3, co-location facility 104 includes a cluster operations management console for each server cluster. In the example of FIG. 3, the cluster operation management console 240 is associated with the cluster 212. The cluster operations management console 240 implements the cluster operations management layer 230 (FIG. 4) for the cluster 212 and is responsible for managing the hardware operations of the nodes in the cluster 212. The cluster operations management console 240 monitors the hardware in the cluster 212 and attempts to determine a hardware failure. It is possible to monitor any wide range of hardware faults, including processor faults, bus faults, memory faults, etc. The method of monitoring the hardware operation may be such that the cluster operation management console 240 sends a test message or control signal to the node requesting the use of specific hardware to respond (no response or an erroneous response indicates a failure). Has occurred, indicating that a test message or control signal requesting the use of specific hardware has been generated and periodically transmitted from the node to the cluster operations management console 240 (within a specific time period). Various methods are possible, such as not receiving a message or control signal indicating that a fault has occurred). Alternatively, rather than trying to determine what type of hardware failure has occurred, the cluster operations management console 240 may determine only that a failure has occurred.

【0043】ハードウェア障害が検出されると、クラス
タオペレーション管理コンソール240は、その障害を
訂正するように働く。クラスタオペレーション管理コン
ソール240が取るアクションは、ハードウェアだけで
なく、障害のタイプによっても異なることがあり、ま
た、サーバクラスタが異なると異なることもある。訂正
アクションとしては、アドミニストレータに通知するこ
と(例えば、ライトの点滅、オーディオアラーム、電子
メールメッセージ、セルホンまたはページャのコール、
など)、問題を物理的に訂正することを試みること(例
えば、ノードをリブートする、障害を起こしたノードの
代わりに別のバックアップノードを起動する、など)が
ある。
When a hardware failure is detected, the cluster operations management console 240 acts to correct the failure. The actions taken by the cluster operations management console 240 may vary depending on the type of fault, as well as the hardware, and may differ for different server clusters. Corrective actions include notifying the administrator (eg, flashing lights, audio alarms, e-mail messages, cell phone or pager calls,
And trying to physically correct the problem (eg, rebooting the node, booting another backup node instead of the failed node, etc.).

【0044】クラスタオペレーション管理コンソール2
40は、共同ロケーション施設104内にクラスタ境界
も設定する。コンソール240によって設定されたクラ
スタ境界は、あるクラスタ(例えば、クラスタ212)
内のノード210−3が、別のクラスタ(例えば、クラ
スタ212に属さないクラスタ)と通信するのを防止
し、他方では、これと同時に、クラスタ内のノード21
0−3がそのクラスタ内の他のノードと通信する能力を
妨げないようにする。これらの境界によると、テナント
は、ネットワークコネクション216がテナントによっ
て共有されている場合であっても、施設104に置かれ
た他のテナントのノードに自分のデータを伝達できない
ことを知ることができるので、テナントのデータのセキ
ュリティが得られることになる。
Cluster operation management console 2
40 also sets cluster boundaries within the co-location facility 104. The cluster boundary set by the console 240 is a certain cluster (for example, the cluster 212).
Prevent the node 210-3 within the cluster from communicating with another cluster (e.g., a cluster that does not belong to the cluster 212).
0-3 should not interfere with the ability to communicate with other nodes in the cluster. These boundaries allow tenants to know that their data cannot be transmitted to other tenant nodes located at facility 104, even if network connection 216 is shared by tenants. Thus, security of tenant data can be obtained.

【0045】図示の例では、共同ロケーション施設10
4の各クラスタは、専用クラスタオペレーション管理コ
ンソールを含んでいる。別の方法として、単独のクラス
タオペレーション管理コンソールを複数のサーバクラス
タに対応付けて、そのハードウェアオペレーションを管
理させることも可能である。別の代替方法によれば、複
数のクラスタオペレーション管理コンソールを単独のサ
ーバクラスタに対応付けて、そのハードウェアオペレー
ションを管理させることも可能である。このような複数
コンソールに単独のサーバクラスタを、共有方式で管理
させることも、1つのコンソールを、別のコンソールの
バックアップとして動作させることもできる(例えば、
冗長性をもたせると信頼性が向上するので、保守などが
容易化される)。
In the illustrated example, the co-location facility 10
Each cluster 4 includes a dedicated cluster operations management console. As another method, a single cluster operation management console can be associated with a plurality of server clusters to manage its hardware operation. According to another alternative, multiple cluster operations management consoles may be associated with a single server cluster to manage its hardware operations. Such a plurality of consoles can manage a single server cluster in a shared manner, or one console can operate as a backup for another console (for example,
With redundancy, reliability is improved and maintenance is facilitated.)

【0046】アプリケーションオペレーション管理コン
ソール242も、共同ロケーション施設104に結合さ
れ、通信状態に置かれている。アプリケーションオペレ
ーション管理コンソール242は、共同ロケーション施
設104から離れたロケーションに置かれている(つま
り、共同ロケーション施設104内ではなく、カスタマ
のオフィスに置かれているのが代表的である)。共同ロ
ケーション施設104の各々のサーバクラスタに異なる
アプリケーションオペレーション管理コンソール242
を対応付けることができるが、別の方法として、単独の
サーバクラスタに複数のコンソール242を対応付ける
ことも、複数のサーバクラスタに単独のコンソール24
2を対応付けることも可能である。アプリケーションオ
ペレーション管理コンソール242は、クラスタ212
のためのアプリケーションオペレーション管理層232
(図4)を実装しており、クラスタ212内のソフトウ
ェアオペレーションを管理するだけでなく、クラスタ2
12内のサブ境界をセキュアにすることも担当してい
る。
An application operations management console 242 is also coupled to the co-location facility 104 and is in communication. The application operations management console 242 is located at a location remote from the co-location facility 104 (ie, typically at the customer's office rather than within the co-location facility 104). A different application operations management console 242 for each server cluster of the co-location facility 104
Alternatively, a plurality of consoles 242 may be associated with a single server cluster, or a single console 24 may be associated with a plurality of server clusters.
2 can also be associated. The application operation management console 242 is connected to the cluster 212
Operation management layer 232 for
(FIG. 4), which not only manages software operations in the cluster 212 but also
12 is also responsible for securing sub-boundaries.

【0047】アプリケーションオペレーション管理コン
ソール242はクラスタ212内のソフトウェアをモニ
タリングしており、ソフトウェア障害を判別することを
試みている。広範囲にわたるソフトウェア障害をモニタ
リングすることが可能であり、例えば、「ハングアップ
した」または無応答のアプリケーションプロセスまたは
スレッド、アプリケーションプロセスまたはスレッドの
実行時エラーなどの、ソフトウェア障害をモニタリング
することができる。ソフトウェアオペレーションのモニ
タリング方法はさまざまな方法が可能であり(上述した
ハードウェアオペレーションのモニタリングと同様であ
る)、例えば、アプリケーションオペレーション管理コ
ンソール242が、応答するように特定のルーチンの使
用を要求するテストメッセージや制御シグナルをノード
上で実行中の特定プロセスまたはスレッドに送信する
(無応答または誤った応答は障害が起きたことを示して
いる)。または、特定ソフトウェアルーチンの使用を要
求するメッセージや制御シグナルを生成させ、ノード上
で実行中のプロセスまたはスレッドからアプリケーショ
ンオペレーション管理コンソール242に定期的に送信
させるとか(このようなメッセージや制御シグナルを特
定時間の期間内に受け取らなかったときは、障害が起き
たことを示している)、といった方法が可能である。別
の方法として、アプリケーションオペレーション管理コ
ンソール242は、どのタイプのソフトウェア障害が発
生したかを判別する試みを行うのではなく、障害が発生
したことだけを判別するようにすることもできる。
The application operation management console 242 monitors software in the cluster 212 and attempts to determine a software failure. A wide range of software faults can be monitored, for example, software faults such as "hanged" or unresponsive application processes or threads, runtime errors in application processes or threads, and the like. The method of monitoring the software operation can be various (similar to the monitoring of the hardware operation described above), for example, a test message in which the application operation management console 242 requests the use of a specific routine to respond. Or send a control signal to a specific process or thread running on the node (no response or wrong response indicates failure). Alternatively, a message or control signal requesting the use of a specific software routine is generated, and a process or thread running on the node is periodically transmitted to the application operation management console 242 (such a message or control signal is specified). If not received within a period of time, it indicates that a failure has occurred). Alternatively, rather than attempting to determine what type of software failure has occurred, the application operations management console 242 may determine only that a failure has occurred.

【0048】ソフトウェア障害が検出されると、アプリ
ケーションオペレーション管理コンソール242は、そ
の障害を訂正するように働く。アプリケーションオペレ
ーション管理コンソール242が取るアクションは、ソ
フトウェアだけでなく、障害のタイプによっても異なる
ことがあり、また、サーバクラスタが異なると異なるこ
ともある。訂正アクションとしては、アドミニストレー
タに通知すること(例えば、ライトの点滅、オーディオ
アラーム、電子メールメッセージ、セルホンまたはペー
ジャのコール、など)、問題を訂正することを試みるこ
と(例えば、ノードをリブートする、ソフトウェアコン
ポーネントまたはエンジンのイメージを再ロードする、
プロセスを終了した後再実行する、など)がある。
When a software fault is detected, the application operations management console 242 operates to correct the fault. The actions taken by the application operations management console 242 may differ not only by software, but also by the type of failure, and may differ for different server clusters. Corrective actions include notifying the administrator (eg, flashing lights, audio alarms, e-mail messages, cell phone or pager calls, etc.), attempting to correct the problem (eg, rebooting the node, software Reload the component or engine image,
And then re-execute after terminating the process).

【0049】従って、ノード210−1〜210−nの
管理は、ノードと同一ロケーションに置かれている他の
ノード(存在する場合)の数に関係なく、複数のマネー
ジャに分散化されている。この多層管理によると、ハー
ドウェアオペレーション管理はアプリケーションオペレ
ーション管理から分離されるので、ノードに対する管理
責任を、2つの異なるコンソール(各々は異なるエンテ
ィティの制御下に置かれている)に分担させることが可
能になる。
Accordingly, the management of the nodes 210-1 to 210-n is distributed to a plurality of managers regardless of the number of other nodes (if any) located at the same location as the node. With this multi-tiered management, hardware operations management is separated from application operations management, so that administrative responsibility for a node can be divided between two different consoles, each under the control of a different entity. become.

【0050】図5は、本発明のいくつかの実施形態によ
る、リモートで管理される例示ノードを示す詳細ブロッ
ク図である。ノード248は、共同ロケーション施設の
ノード210−1〜210−nにすることも、別設のデ
バイス(例えば、図1のクライアント102−1〜10
2−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)で実行されている。従って、BM
onitor250(リング0で実行されている)のコードま
たはデータは、エンジン252(リング1で実行されて
いる)によって直接に変更することができない。むし
ろ、このような変更は、エンジン252がBMonitor25
0に変更を依頼することによって(例えば、BMonitor2
50にメッセージを送るとか、BMonitor250の関数を
呼び出すとか、といった方法で)行われる必要がある。
BMonitor250をリング0で実装すると、BMonitor25
0は、BMonitor250によって課されている制限をバイ
パスしようとする統制されていないあるいは悪意のある
エンジン252から保護されることになる。
FIG. 5 is a detailed block diagram illustrating an exemplary node managed remotely according to some embodiments of the present invention. Node 248 may be a node 210-1 to 210-n of a co-location facility, or may be a separate device (e.g., clients 102-1 to 102-1 of FIG. 1).
2-n or server 112).
Node 248 includes a monitor 250 called "BMonitor",
And a plurality of software components or engines 252 and is coupled to the mass storage device 262 (which may incorporate the mass storage device). In the depicted example, node 248 is a computing device with one or more processors that support multiple privilege levels (eg, rings in x86 architecture processors). In the illustrated example, these privilege levels are called rings, but other implementations employing different processor architectures may use different terms. According to the plurality of rings, a set of prioritized levels is prepared, and software is executed at the priority level. The priority level is 4 levels (ring 0,
1, 2, 3). Ring 0 is typically called the most privileged ring. A software process executed on ring 0 typically has more accessible functions (eg, instructions) than a process executed on a less privileged ring. Further, a processor running on a particular ring cannot change the code or data on the higher priority ring. In the illustrated example, BMonitor 250 runs on ring 0, while engine 252 runs on ring 1 (or rings 2 and / or 3). Therefore, BM
The code or data of the onitor 250 (running on ring 0) cannot be changed directly by the engine 252 (running on ring 1). Rather, such a change is caused by the engine 252
0 by asking for a change (eg, BMonitor2
(For example, by sending a message to BMonitor 50 or calling a function of BMonitor 250).
When BMonitor250 is implemented in ring 0, BMonitor25
0 will be protected from uncontrolled or malicious engines 252 trying to bypass the restrictions imposed by BMonitor 250.

【0051】別の方法として、BMonitor250は、統制
されていないあるいは悪意のあるエンジン252からBM
onitor250を保護する、他の方法で実装することも可
能である。例えば、ノード248は、1つはエンジン2
52を実行するためのプロセッサ、もう1つはBMonitor
250を実行するためのプロセッサといったように、複
数のプロセッサを含むことができる。エンジン252が
実行されているプロセッサとは別のプロセッサでBMonit
or250だけを実行させるようにすると、BMonitor25
0をエンジン252から効果的にシールドすることが可
能になる。
[0051] Alternatively, BMonitor 250 sends BM from uncontrolled or malicious engine 252 to BM.
Other ways of protecting the onitor 250 can be implemented. For example, node 248 has one engine 2
Processor to execute 52, another is BMonitor
Multiple processors may be included, such as a processor to execute 250. BMonit on a different processor than the processor on which the engine 252 is running
If you run only or250, BMonitor25
0 can be effectively shielded from the engine 252.

【0052】BMonitor250は、ノード248の基本的
制御モジュールである。つまり、これは、ネットワーク
インタフェースカードとメモリマネージャの両方を制御
している(オプションとして、内蔵している場合もあ
る)。ネットワークインタフェースカード(これは、BM
onitor250とは別になっていることもあれば、BMonit
or250がネットワークインタフェースカードに内蔵さ
れていることもある)を制御すると、BMonitor250
は、ノード248との間で送受されるデータを制御する
ことができる。メモリマネージャを制御すると、BMonit
or250は、ノード248で実行されているエンジン2
52に対するメモリの割り振りを制御できるので、統制
されていないあるいは悪意のあるエンジンがBMonitor2
50のオペレーションに干渉するのを防止することがで
きる。
BMonitor 250 is a basic control module of node 248. That is, it controls both the network interface card and the memory manager (optionally built-in). Network interface card (this is BM
Onitor 250 may be different, BMonit
or monitor may be built into the network interface card).
Can control data sent to and received from the node 248. When controlling the memory manager, BMonit
or250 is engine 2 running on node 248
Control over memory allocation to the BMonitor2
It can be prevented from interfering with the 50 operations.

【0053】ノード248の種々の態様がBMonitor25
0(例えば、ネットワークインタフェースカード)の制
御下に置かれていることがあっても、BMonitor250
は、その機能の少なくとも一部を、ノード248で実行
されているエンジン252が利用できるようにしてい
る。BMonitor250は、データを別のノード248やイ
ンターネットに送出するといったように、エンジン25
2がそこから機能へのアクセスを要求できるようにする
インタフェースとなっている(例えば、以下で詳しく説
明するコントローラ254を通して)。これらの要求
は、メッセージを送信する、関数をコールする、といっ
たように、さまざまな形体にすることができる。
The various aspects of node 248 are
0 (eg, a network interface card).
Makes at least some of its functions available to the engine 252 running on the node 248. The BMonitor 250 sends the data to another node 248 or the Internet,
2 is an interface from which access to functions can be requested (e.g., through a controller 254 described in detail below). These requests can take various forms, such as sending a message, calling a function, and so on.

【0054】BMonitor250は、コントローラ254、
ネットワークインタフェース256、1つまたは複数の
フィルタ258、1つまたは複数の鍵259、およびBM
onitor250制御プロトコル (BMonitor Control Proto
col BMCP) モジュール260を含んでいる。ネットワ
ークインタフェース256は、ノード248とネットワ
ーク(例えば、図1のネットワーク108)とを結ぶイ
ンタフェースとなっている。共同ロケーション施設に置
かれた他の、どのノード(および/または他のソース)
またはターゲット(例えば、図1のインターネット10
8に結合されている)との間でデータを送受信できるか
(あるいは送受信できないか)は、フィルタ258によ
って判別される。これらのノードまたは他のソース/タ
ーゲットを判別するには、ネットワークアドレス(例え
ば、インターネットプロトコル (Internet Protocol I
P) アドレス)、ある種のグローバルにユニークな識別
子(ID)、ローカルにユニークな識別子(例えば、共同ロ
ケーション施設104が所有するまたは独自の番号付け
方式)といった、さまざまな方法で行うことが可能であ
る。
BMonitor 250 includes a controller 254,
Network interface 256, one or more filters 258, one or more keys 259, and BM
onitor250 control protocol (BMonitor Control Proto
col BMCP) module 260 is included. The network interface 256 is an interface connecting the node 248 and a network (for example, the network 108 in FIG. 1). Any other nodes (and / or other sources) located at the co-location facility
Or a target (eg, the Internet 10 of FIG. 1).
8) is determined by a filter 258. To determine these nodes or other sources / targets, the network address (eg, Internet Protocol I
P) address), some kind of globally unique identifier (ID), and locally unique identifier (eg, owned by the co-location facility 104 or a unique numbering scheme). is there.

【0055】フィルタ258は、ノードへのアクセスを
完全に制限することも(例えば、ノードとの間でデータ
の送受信ができない)、ノードへのアクセスを部分的に
制限することもできる。部分的アクセス制限は、さまざ
まな形体にすることができる。例えば、ノードからデー
タを受信できるが、ノードには送信できない(またはそ
の逆)、といったようにノードを制限することができ
る。別の例として、あるタイプのデータ(例えば、HTTP
などの、ある種のプロトコルに準拠する通信)だけが、
ノードとの間で送信および/または受信できるようにノ
ードを制限することもできる。特定タイプのデータに基
づくフィルタリングをどのように実装するかは、データ
をパケットに入れ、そのパケットに含まれるデータのタ
イプを示すヘッダ情報と一緒にデータを伝達するといっ
た、さまざまな方法が可能である。
The filter 258 can completely restrict access to the node (for example, cannot transmit / receive data to / from the node), or can partially restrict access to the node. Partial access restrictions can take various forms. For example, a node can be restricted such that data can be received from the node but not transmitted to the node (or vice versa). As another example, certain types of data (eg, HTTP
Communications that conform to certain protocols).
Nodes can also be restricted to transmit and / or receive from nodes. There are many ways to implement filtering based on a particular type of data, such as putting the data in a packet and conveying the data along with header information that indicates the type of data contained in the packet. .

【0056】フィルタ258は、図1の1つまたは複数
の管理デバイス110によっても、あるいは図3のアプ
リケーションオペレーション管理コンソール242また
はクラスタオペレーション管理コンソール240のどち
らかによっても、追加することができる。図示の例で
は、クラスタオペレーション管理コンソール240によ
って追加されたフィルタ(クラスタ境界を設定するため
に)は、ノードへの完全アクセスを制限しているのに対
し(例えば、別のノードへのアクセスはすべてが禁止さ
れる)、アプリケーションオペレーション管理コンソー
ル242によって(クラスタ内にサブ境界を設定するた
めに)または管理デバイス110によって追加されたフ
ィルタは、ノードへの完全アクセスまたは部分的アクセ
スのどちらかを制限することが可能になっている。
Filter 258 can be added by one or more management devices 110 of FIG. 1 or by either application operations management console 242 or cluster operations management console 240 of FIG. In the example shown, the filter added by the cluster operations management console 240 (to set the cluster boundaries) restricts full access to a node (eg, all access to another node is restricted). Are prohibited), filters added by the application operations management console 242 (to set sub-boundaries within the cluster) or by the management device 110 limit either full or partial access to the node. It has become possible.

【0057】コントローラ254も、どのフィルタをフ
ィルタ258に追加できるかに対していくつかの制限を
設けている。図3と4に示す多層管理アーキテクチャで
は、コントローラ254は、クラスタオペレーション管
理コンソール240が、必要とするどのフィルタでも追
加できるようにしている(これにより、クラスタの境界
が定義される)。他方、コントローラ254は、少なく
ともその制限度が、コンソール240によって追加され
たフィルタと同じであるフィルタだけを、アプリケーシ
ョンオペレーション管理コンソール242が追加するこ
とに制限している。コンソール242が、コンソール2
40によって追加されたフィルタより制限度の低いフィ
ルタを追加しようとすると(その場合には、サブ境界は
クラスタ境界を越えることになる)、コントローラ25
4は、そのフィルタを追加することを拒否する(別の方
法として、制限度が低くならないようにフィルタを修正
することも可能である)。このような制限を設けると、
コントローラ254は、アプリケーションオペレーショ
ン管理レベルで設定されたサブ境界が、クラスタオペレ
ーション管理レベルで設定されたクラスタ境界を越える
のを防止することができる。
The controller 254 also imposes some restrictions on which filters can be added to the filter 258. In the multi-tier management architecture shown in FIGS. 3 and 4, the controller 254 allows the cluster operations management console 240 to add any required filters (this defines the boundaries of the cluster). On the other hand, the controller 254 restricts the application operation management console 242 to adding only the filters whose degree of restriction is the same as the filter added by the console 240. Console 242 is console 2
If an attempt is made to add a less restrictive filter than the one added by 40 (in which case the sub-boundary will cross the cluster boundary), the controller 25
4 refuses to add the filter (alternatively, it is possible to modify the filter so that the limit is not reduced). With these restrictions,
The controller 254 can prevent a sub-boundary set at the application operation management level from exceeding a cluster boundary set at the cluster operation management level.

【0058】コントローラ254は、1つまたは複数の
フィルタ258を使用して、ノード248から送信され
るおよび/またはノード248によって受信されるデー
タパケットを制限するように動作する。あるエンジン2
52を目的としたデータ、またはエンジン252から別
のノードに送られるデータは、すべてがネットワークイ
ンタフェ−ス256とフィルタ258を経由して渡され
る。コントローラ254はデータにフィルタ258を適
用し、データのターゲット(例えば、そのデータを収め
ているパケットのヘッダ部分に指定されているのが代表
的)を、フィルタ258に指定されている許容された
(および/または制限された)ノード(および/またはネ
ットワークアドレス)と比較する。データのターゲット
が許容されていることをフィルタ258が示していれ
ば、コントローラ254は、データがターゲットに渡さ
れること(ノード248に送り込まれるか、あるいはノ
ード248から送出されること)を許可する。他方、デ
ータのターゲットが許容されないことをフィルタ258
が示していれば、コントローラ254は、データがター
ゲットに渡されるのを禁止する。コントローラ254
は、データをターゲットに渡すことができないとの通知
をデータのソース(送信元)に戻すこともあれば、デー
タを無視または破棄するだけのこともある。
Controller 254 operates to limit data packets transmitted from and / or received by node 248 using one or more filters 258. A certain engine 2
Any data destined for 52 or sent from the engine 252 to another node is passed through the network interface 256 and the filter 258. The controller 254 applies a filter 258 to the data and determines the target of the data (e.g., typically specified in the header portion of the packet containing the data) as the allowed (specified in the filter 258). And / or restricted) nodes (and / or network addresses). If the filter 258 indicates that the target of the data is allowed, the controller 254 allows the data to be passed to the target (either fed into or out of node 248). On the other hand, filter 258 indicates that the data target is not acceptable.
Indicates, the controller 254 prohibits data from being passed to the target. Controller 254
May return a notification to the source of the data that the data cannot be passed to the target, or it may simply ignore or discard the data.

【0059】コントローラ254によってフィルタ25
8をデータに適用すると、サーバクラスタ(図3)の境
界に制限を設けることが可能になる。フィルタ258
は、サーバクラスタ(例えば、クラスタ212)内の全
ノードのノードアドレスを使用してプログラムすること
ができる(例えば、図3のアプリケーションオペレーシ
ョン管理コンソール242によって)。このようにする
と、コントローラ254は、サーバクラスタに属してい
ないノードから受信されたデータが、エンジン252に
渡されるのを防止し、同様に、サーバクラスタ内のノー
ドとは別のノードへ送られるデータが送信されるのを防
止する。同様に、インターネット108(図1)から受
信されたデータはターゲットノード248を特定できる
ので(例えば、IPアドレスによって)、ターゲットノー
ドとは別のノードのコントローラ254は、データがエ
ンジン252に渡されるのを防止することになる。さら
に、フィルタ258はクラスタオペレーション管理コン
ソール240によって容易に修正を加えることができる
ので、サーバクラスタ境界は、サーバクラスタでの変更
を受け入れるように容易に変更することができる(例え
ば、ノードをサーバクラスタに追加することおよび/ま
たはサーバクラスタからノードを除去すること)。
The filter 25 is controlled by the controller 254.
Applying 8 to the data makes it possible to place restrictions on the boundaries of the server cluster (FIG. 3). Filter 258
Can be programmed using the node addresses of all nodes in the server cluster (e.g., cluster 212) (e.g., by application operations management console 242 of FIG. 3). In this way, the controller 254 prevents data received from nodes that do not belong to the server cluster from being passed to the engine 252, and similarly, data that is sent to a node other than the nodes in the server cluster. To be sent. Similarly, because data received from the Internet 108 (FIG. 1) can identify the target node 248 (eg, by an IP address), the controller 254 of a node other than the target node can pass data to the engine 252. Will be prevented. In addition, because the filter 258 can be easily modified by the cluster operations management console 240, the server cluster boundaries can be easily changed to accept changes in the server cluster (e.g., changing a node to a server cluster). Adding and / or removing nodes from a server cluster).

【0060】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, Washin
gton州) から入手することができる。
[0060] The BMCP module 260 is a distributed host control protocol (DHCP).
Implements BMonitor 250 (and thus node 248) to obtain an IP address from a DHCP server (eg, cluster operations management console 240 of FIG. 3). During the initialization process of node 248, BMCP module 260 communicates with a DHCP server.
Requests an IP address, and in response to this request, the DHCP server
Give the IP address to module 260. More information about DHCP can be found at Microsoft Corporation (Redmond, Washin
gton).

【0061】ソフトウェアエンジン252は、広範囲に
わたる従来のソフトウェアコンポーネントのどれかを含
んでいる。エンジン252の例としては、オペレーティ
ングシステム(例えば、Windows(登録商標) NT)、ロ
ードバランシング (load balancing) サーバコンポーネ
ント(例えば、複数ノード248の処理負荷を平衡化す
る)、キャッシングサーバコンポーネント(例えば、別
のノード248からの、またはインターネット経由で受
信したデータおよび/または命令をキャッシュする)、
ストレージマネージャコンポーネント(例えば、別のノ
ード248からの、またはインターネット経由で受信し
たデータのストレージを管理する)、などがある。ある
実装では、エンジン252の各々はプロトコルベースの
エンジンであるので、エンジン252およびBMonitor2
50が同じプログラミング言語で書かれていなくても、
メッセージおよび/または関数コールを通して、BMonito
r250および他のエンジン252と通信する。
The software engine 252 includes any of a wide variety of conventional software components. Examples of engine 252 include an operating system (eg, Windows NT), a load balancing server component (eg, to balance the processing load of multiple nodes 248), a caching server component (eg, a separate Caches data and / or instructions from node 248 or received over the Internet),
A storage manager component (e.g., to manage storage of data received from another node 248 or via the Internet). In some implementations, since each of the engines 252 is a protocol-based engine, the engine 252 and the BMonitor2
Even if 50 is not written in the same programming language,
BMonito through messages and / or function calls
Communicate with r250 and other engines 252.

【0062】コントローラ254はローダ264と併用
されて、エンジン252の実行を制御することを担当し
ている。この制御は、エンジン252の実行開始または
起動、エンジン252の実行終了、ストレージデバイス
からのエンジン252のイメージの再ロード、エンジン
252の実行のデバッグ、などのように、さまざまな形
体にすることができる。コントローラ254は、これら
の制御アクションのどれをとるか、その制御アクション
をいつとるか、に関する指示を、図3のアプリケーショ
ンオペレーション管理コンソール242から受け取る。
エンジン252の実行を起動させる場合には(その実行
が最近に中止されたエンジンをリスタートすることを含
む)、コントローラ254はローダ264と通信して、
エンジン252のイメージをストレージデバイス(例え
ば、デバイス262、ROMなど)からノード248のメ
モリ(例えば、RAM)にロードする。ローダ264は従
来と同じように動作して、エンジンのイメージをストレ
ージデバイスからメモリにコピーし、必要とされるオぺ
レーティングシステムのパラメータを初期化してエンジ
ン252が実行されるようにする。従って、エンジン2
52の制御は、実際には、管理されるノード248と同
じロケーションでローカルにではなく、リモートデバイ
スによって管理される。
The controller 254 is used together with the loader 264 to control the execution of the engine 252. This control can take various forms, such as starting or activating the engine 252, ending the execution of the engine 252, reloading the image of the engine 252 from the storage device, debugging the execution of the engine 252, and the like. . Controller 254 receives instructions from application operation management console 242 of FIG. 3 as to which of these control actions to take and when to take those control actions.
When activating the execution of engine 252 (including restarting the engine whose execution was recently aborted), controller 254 communicates with loader 264 to
The engine 252 image is loaded from a storage device (eg, device 262, ROM, etc.) into the memory (eg, RAM) of node 248. The loader 264 operates in a conventional manner, copying the image of the engine from the storage device to memory and initializing the required operating system parameters so that the engine 252 is running. Therefore, engine 2
The control of 52 is actually managed by a remote device rather than locally at the same location as the managed node 248.

【0063】コントローラ254は、図3のアプリケー
ションオペレーション管理コンソール242または図1
の管理デバイス110が、フィルタセット258からど
のフィルタを追加するか(および/または除去するか)
を、そこから指定できるインタフェースともなってい
る。
The controller 254 is connected to the application operation management console 242 of FIG.
Which filters to add (and / or remove) from the filter set 258
Is also an interface that can be specified from there.

【0064】コントローラ254は、図3のクラスタオ
ペレーション管理コンソール240が、そこからコマン
ドをコントローラ254に渡すことができるインタフェ
ースも備えている。ノードをリブートする、ノードをシ
ャットダウンする、ノードを低電力ステートに(例え
ば、サスペンドまたはスタンバイステートに)する、ク
ラスタ境界を変更する、暗号鍵(存在する場合)を変更
する、といったように、種々タイプのハードウェアオペ
レーション中心のコマンドを、クラスタオペレーション
管理コンソール240からコントローラ254に伝達す
ることが可能になっている。
The controller 254 also has an interface through which the cluster operations management console 240 of FIG. 3 can pass commands to the controller 254. Various types, such as rebooting the node, shutting down the node, putting the node into a low power state (eg, suspend or standby state), changing the cluster boundary, changing the encryption key (if any), etc. Can be transmitted from the cluster operation management console 240 to the controller 254.

【0065】コントローラ254は、さらに、BMonitor
250に対して暗号化サポートを行うので(これはオプ
ションである)、データを大容量ストレージデバイス2
62(例えば、磁気ディスク、光ディスクなど)にセキ
ュアにストアしておくこと、およびノード248とオペ
レーション管理コンソール(例えば、図3のコンソール
240または242)または他の管理デバイス(例え
ば、図1の管理デバイス110)の間でセキュアな通信
を行うことを可能にしている。コントローラ254は複
数の暗号鍵を保存しており、その中には、対称鍵 (symm
etric keys)(秘密鍵暗号化で使用される秘密鍵)、公
開/秘密鍵ペア(公開鍵暗号化を目的とする)などのよ
うに、データを暗号化しおよび/またはデータを解読す
る際に使用される、さまざまな異種の鍵を含めることが
可能である。
The controller 254 further includes a BMonitor
250, which provides encryption support (this is optional) so that data can be
62 (eg, a magnetic disk, optical disk, etc.) and the node 248 and an operations management console (eg, console 240 or 242 of FIG. 3) or other management device (eg, the management device of FIG. 1). 110) can be performed securely. The controller 254 stores a plurality of encryption keys, including a symmetric key (symm
Used to encrypt and / or decrypt data, such as etric keys) (private key used in private key encryption), public / private key pairs (for public key encryption purposes), etc. It is possible to include a variety of different keys that are

【0066】BMonitor250は公開鍵暗号化手法 (publ
ic key cryptography) を利用して、ノード248と管
理コンソール(例えば、図3のコンソール240と24
2)または管理デバイス(例えば、図1の管理デバイス
110)の間でセキュアな通信が行われるようにしてい
る。この公開鍵暗号化手法は、公開鍵 (public key)と
秘密鍵 (private key) の両方を含む鍵ペア (key pair)
と暗号化アルゴリズム (encryption algorithm) をベ
ースにしている。暗号化アルゴリズムは、公開鍵に基づ
いてデータを暗号化し、秘密鍵がなければデータが効率
的に解読されないようにする。従って、公開鍵保持者か
らの通信は、公開鍵を使用して暗号化されるので、秘密
鍵所有者だけがその通信を解読できるようにしている。
公開鍵暗号化手法は、周知のRSA (Rivest, Shamir, Ade
lman) 暗号化手法のように、さまざまなものが使用可能
である。暗号化手法の基礎入門書として、Bruce Schnei
r著「応用暗号化手法:プロトコル、アルゴリズム、お
よびCによるソースコード(Applied Cryptography: Prot
ocols, Algorithms, and Source Code in C)」、John W
iley & Sons、初版著作権所有1994(または第2版著作
権所有1996)がある。
BMonitor 250 uses a public key encryption method (publ
ic key cryptography) and the nodes 248 and management consoles (eg, consoles 240 and 24 of FIG. 3).
2) Or secure communication is performed between management devices (for example, the management device 110 in FIG. 1). This public key encryption method uses a key pair that contains both a public key and a private key.
And an encryption algorithm. The encryption algorithm encrypts the data based on the public key so that without the private key, the data cannot be efficiently decrypted. Accordingly, since communication from the public key holder is encrypted using the public key, only the private key owner can decrypt the communication.
The public key encryption method is a well-known RSA (Rivest, Shamir, Ade
lman) Various methods are available, such as encryption methods. Bruce Schnei as a basic introduction to cryptography
r, “Applied Cryptography: Prot.
ocols, Algorithms, and Source Code in C), John W.
iley & Sons, first edition copyright 1994 (or second edition copyright 1996).

【0067】BMonitor250は、ランドロードとテナン
トの両者のための公開/秘密鍵ペアを含むように初期化
されている。これらの鍵ペアはBMonitor250によって
生成できるが、別の方法として、他のコンポーネントが
生成して、BMonitor250にストアしておくこともでき
る(この場合、他のコンポーネントは鍵ペアの情報を壊
さないものとして信頼されている)。本明細書では、U
は公開鍵を示し、Rは秘密鍵を示すように使用されてい
る。ランドロード用の公開/秘密鍵ペアは (UL, R L) と
呼ばれ、テナント用の公開/秘密鍵ペアは (UT, RT) と
呼ばれる。BMonitor250は、公開鍵ULとUTをランドロ
ードが利用できるようにしているが、秘密鍵RLとRT
秘密に保っている。図示の例では、BMonitor250は、
秘密鍵RLとRTを公開することがないので、ランドロード
だけでなく、テナントも、公開鍵を使用して暗号化した
情報(例えば、それぞれ、図3のクラスタオペレーショ
ン管理コンソール240とアプリケーションオペレーシ
ョン管理コンソール242を通して)が、BMonitor25
0以外の、他のどのエンティティによっても解読されな
いことが保証される。
BMonitor 250 is used for land road and tenant
Initialized to include public / private key pairs for both
Have been. These key pairs are
Can be generated, but alternatively, other components
It can be generated and stored in BMonitor 250
(In this case, other components can destroy the key pair information.
Not trusted). In this specification, U
Indicates the public key and R is used to indicate the private key.
You. The public / private key pair for Landlord is (UL, R L) When
Public / private key pair for the tenant is (UT, RT) When
Called. BMonitor 250 uses public key ULAnd UTThe Landlo
The private key RLAnd RT Is
I keep it secret. In the illustrated example, BMonitor 250 is
Secret key RLAnd RTLand Road
Not only did tenants encrypt using public keys
Information (eg, each of the cluster operations of FIG. 3)
Management console 240 and application operations
(Through the application management console 242)
Not decrypted by any other entity other than 0
Is guaranteed.

【0068】ランドロードに公開鍵ULとUTが与えられる
と、ランドロードは特定のテナントにノード210−1
〜210−nを割り当て、そのテナントに公開鍵UTを与
えることができる。この公開鍵UTを使用すると、テナン
トは、BMonitor250だけが解読できる(秘密鍵RTを使
用して)、BMonitor250への通信を暗号化することが
できる。必ずしも必要ではないが、テナント用の慎重な
初期ステップでは、BMonitor250が新しい公開/秘密
鍵ペア (UT, RT) を生成することをBMonitor250に要
求するようになっている。この要求を受けて、コントロ
ーラ254またはBMonitor250の鍵ジェネレータ (ke
y generator)(図示せず)は、さまざまな周知方法のい
ずれかで新しい公開/秘密鍵ペアを生成し、その新鍵ペ
アをテナント鍵ペアとしてストアし、新公開鍵UTをテナ
ントに送り返す。新鍵ペアを生成すると、テナントは、
ランドロードを含めて、他のどのエンティティにも、テ
ナントの公開鍵UTが気づかれないことが保証される。さ
らに、テナントは、新しい鍵ペアを別の時期に生成させ
ることも可能になっている。
[0068] When the public to land load key U L and U T is given, the landlord node to a specific tenant 210-1
Assign a to 210-n, it is possible to provide the public key U T to the tenant. Use of the public key U T, the tenant is only BMonitor 250 can decrypt (using the private key R T), it is possible to encrypt communications to BMonitor 250. Although not necessary, a prudent initial step for the tenant is for BMonitor 250 to request BMonitor 250 to generate a new public / private key pair (U T , R T ). In response to this request, the key generator (ke
y generator) (not shown), to generate a new public / private key pairs in any of a variety of well-known method, stores the new key pair as a tenant key pair, send back the new public key U T to the tenant. After generating a new key pair, the tenant
Including the land load, to any other entity, public key U T of the tenant is guaranteed to go unnoticed. In addition, tenants can generate new key pairs at different times.

【0069】BMonitor250が秘密鍵をストアし、テナ
ントに公開鍵を知らせるときの公開/秘密鍵ペアがある
と、情報をテナントからBMonitor250にセキュアに伝
えることが可能になる。情報がBMonitor250からテナ
ントにセキュアに伝えられることを保証するために、別
の公開/秘密鍵ペアがテナントによって生成され、公開
鍵部分がBMonitor250に伝えられる。従って、BMonit
or250からテナントへのどの通信も、この公開鍵部分
を使用して暗号化することができ、対応する秘密鍵の保
持者によってのみ(つまり、テナントによってのみ)解
読されることができる。
If BMonitor 250 stores the private key and there is a public / private key pair for informing the tenant of the public key, it becomes possible to transmit information from the tenant to BMonitor 250 securely. To ensure that information is passed securely from BMonitor 250 to the tenant, another public / private key pair is generated by the tenant and the public key portion is passed to BMonitor 250. Therefore, BMonit
Any communication from or250 to the tenant can be encrypted using this public key portion and can be decrypted only by the holder of the corresponding private key (ie, only by the tenant).

【0070】BMonitor250はまた、ディスク鍵を、鍵
259の1つとして保持しており、これは、1つまたは
複数の対称鍵を使用して生成される(ここで、対称鍵
(symmetric keys) とは、秘密鍵暗号化で使用される秘
密鍵のことである)。対称鍵でもあるディスク鍵は、情
報を大容量ストレージデバイス262にストアするため
にBMonitor250によって使用される。BMonitor250
はディスク鍵をセキュアに保っているので、これは、ノ
ードが大容量ストレージデバイス262にストアしたデ
ータを暗号化し、ノードが大容量ストレージデバイス2
62から取り出したデータを解読するためにだけ使用さ
れる(従って、ランドロードとテナントを含めて、他の
どのエンティティにも、ディスク鍵を知らせないで済む
ようになっている)。
BMonitor 250 also maintains the disk key as one of keys 259, which is generated using one or more symmetric keys (where the symmetric key
(Symmetric keys are the secret keys used in secret key encryption.) The disk key, which is also a symmetric key, is used by BMonitor 250 to store information on mass storage device 262. BMonitor250
Keeps the disk key secure, which means that the node encrypts the data stored in the mass storage device 262 and that the node
It is only used to decrypt the data retrieved from 62 (so that the disk key does not need to be known to any other entity, including landlords and tenants).

【0071】ディスク鍵を使用すると、大容量ストレー
ジデバイス262にストアされているデータは、それを
暗号化したノード248だけが解読でき、他のどのノー
ドまたはデバイスも解読できないことが保証される。従
って、例えば、大容量ストレージデバイス262が取り
外されているような場合に、デバイス262上のデータ
を読み取る試みが行われると、その試みは失敗すること
になる。BMonitor250は、データのソースに関係な
く、大容量ストレージデバイス262にストアされてい
るデータを、ディスク鍵を使用して暗号化する。例え
ば、データのソースとしては、テナントのカスタマが使
用しているクライアントデバイス(例えば、図1のクラ
イアント1021〜102n)、管理デバイス(例え
ば、図1のデバイス110または図3のコンソール24
0または242)などがある。
The use of a disk key ensures that data stored in mass storage device 262 can be decrypted only by node 248 that encrypted it, and not by any other node or device. Thus, for example, if the mass storage device 262 has been removed and an attempt is made to read data on the device 262, the attempt will fail. The BMonitor 250 encrypts data stored in the mass storage device 262 using a disk key, regardless of the source of the data. For example, as data sources, client devices used by tenant customers (for example, clients 1021 to 102n in FIG. 1), management devices (for example, device 110 in FIG. 1 or console 24 in FIG. 3)
0 or 242).

【0072】ある実装では、ディスク鍵は、各管理デバ
イスに対応するストレージ鍵を組み合わせることによっ
て生成される。ストレージ鍵を組み合わせるには、さま
ざまな仕方が可能であり、ある実装では、鍵の一方を他
方の鍵を暗号化するために使用し、その結果の値を鍵の
もう1つの鍵で暗号化するようにして組み合わされてい
る。
In one implementation, a disk key is generated by combining storage keys corresponding to each management device. There are various ways to combine storage keys, some implementations use one of the keys to encrypt the other key and encrypt the resulting value with the other key of the key. Are combined in this way.

【0073】さらに、BMonitor250は、ノード248
の管理を分担している複数の、相互に不信の管理エージ
ェント間のやりとりを仲介するトラステッドサードパー
ティ(第三者機関)の働きをしている。例えば、ノード
248のランドロードとテナントは、お互いを完全に信
用していないのが代表的である。そのため、BMonitor2
50はトラステッドサードパーティの働きをして、特定
のエンティティまたはエージェントによってBMonitor2
50に利用可能にされた情報がそのエンティティまたは
エージェントだけがアクセスでき、他のエンティティや
エージェントはアクセスできないことを、ノード248
の貸主 (lessor) と借主 (lessee) に信頼させるように
している(例えば、貸主が与えた機密情報は借主がアク
セスすることできない。その逆も同じである)。BMonit
or250は、階層化された所有権ドメイン (ownership
domain DO) のセットを使用して、この信頼を生みやす
くしている。所有権ドメインは、BMonitor250におけ
る認証と権利の基本単位であり、各管理エンティティま
たはエージェント(例えば、貸主と借主)は、別々の所
有権ドメインに対応付けられている(なお、各管理エン
ティティが複数の管理デバイスをもっていれば、そこか
ら管理責任を行使することができる)。
Further, the BMonitor 250
Acts as a trusted third party that mediates interactions between multiple, distrusted management agents that are responsible for managing the third party. For example, the land load and tenant of node 248 typically do not completely trust each other. Therefore, BMonitor2
50 acts as a trusted third party, and BMonitor2 is operated by a specific entity or agent.
Node 248 states that the information made available to 50 is accessible only to that entity or agent and not to other entities or agents.
The lessor and the lessee in the trust (eg, confidential information given by the lender cannot be accessed by the borrower, and vice versa). BMonit
or250 is a hierarchical ownership domain (ownership
A set of domain DO) is used to facilitate this trust. The ownership domain is the basic unit of authentication and rights in BMonitor 250, and each management entity or agent (eg, lender and borrower) is associated with a separate ownership domain (note that each management entity has multiple If you have a management device, you can exercise your management responsibilities from there.)

【0074】図6は、本発明のいくつかの実施形態によ
る例示の所有権ドメインのセットを示すブロック図であ
る。複数(x個)の所有権ドメイン280、282、お
よび284は、所有権ドメインスタック286として編
成されている。各所有権ドメイン280〜284は、特
定の管理レベルおよび1つまたは複数の管理デバイス
(例えば、図1のデバイス110、図3のコンソール2
40と242など)に対応付けられている。ベースまた
はルート (root) 所有権ドメイン280は、上述したラ
ンドロードのように、ノードの実際の所有者に対応して
いる。次の下位所有権ドメイン282は、ハードウェア
の所有者からハードウェアをリースしているエンティテ
ィ(例えば、上述したテナント)に対応している。特定
の所有者ドメイン内の管理デバイスは、所有権ドメイン
スタック286上で上位にある別の管理デバイス用に、
別の所有権ドメインをセットアップすることができる。
例えば、ノードがリースされているエンティティは、別
のエンティティ用に別の所有権ドメインをセットアップ
することができる(例えば、データベースクラスタを実
装しているノードクラスタをセットアップするため
に)。
FIG. 6 is a block diagram illustrating an exemplary set of ownership domains according to some embodiments of the present invention. A plurality (x) of ownership domains 280, 282, and 284 are organized as an ownership domain stack 286. Each ownership domain 280-284 is associated with a particular management level and one or more management devices (eg, device 110 of FIG. 1, console 2 of FIG. 3).
40 and 242). The base or root ownership domain 280 corresponds to the actual owner of the node, such as the landlord described above. The next sub-ownership domain 282 corresponds to the entity that leases the hardware from the hardware owner (eg, the tenant described above). A managed device in a particular owner domain is designated for another managed device higher on the ownership domain stack 286,
You can set up another ownership domain.
For example, the entity whose nodes are leased may set up another ownership domain for another entity (eg, to set up a node cluster implementing a database cluster).

【0075】新しい所有権ドメインが作成されると、そ
の所有権ドメインは、所有権ドメインスタック286の
先頭にプッシュされる。これは、別の新しい所有権ドメ
インを作成するか、あるいはその権利が取り消されるま
で、トップレベル所有権ドメインのままになっている。
所有権ドメインの権利は、所有権ドメインスタック28
6上の、いずれかの下位レベル所有権ドメイン内のデバ
イスによって取り消すことが可能であり、取り消される
と、その所有権ドメインは、他の上位レベル所有権ドメ
インがあれば、それと一緒にスタック286からポップ
される(除去される)。例えば、ノード248の所有者
(所有権ドメイン280)が所有権ドメイン282の権
利を取り消すようなことがあると、所有権ドメイン28
2と284は所有権ドメインスタック286からポップ
されることになる。
When a new ownership domain is created, the ownership domain is pushed to the top of the ownership domain stack 286. It remains a top-level ownership domain until you create another new ownership domain or its rights are revoked.
Ownership domain rights are transferred to the ownership domain stack 28
6, can be revoked by a device in any lower-level ownership domain, and upon revocation, that ownership domain is removed from stack 286 along with any other higher-level ownership domains. Popped (removed). For example, if the owner of node 248 (ownership domain 280) revokes the rights in ownership domain 282, ownership domain 28
2 and 284 will be popped from the ownership domain stack 286.

【0076】各所有権ドメインは、対応する権利セット
をもっている。図示の例では、トップレベル所有権ドメ
インは1つの権利セットをもち、その中には、次のよう
な権利が含まれている。すなわち、(1) 新しい所有権ド
メインを所有権ドメインスタック上にプッシュする権
利、(2) ノード内のいずれかのシステムメモリにアクセ
スする権利、(3) ノード内のまたはノードに結合され
た、いずれかの大容量ストレージデバイスにアクセスす
る権利、(4) ノードに置かれたパケットフィルタを修正
(追加、除去、または変更)する権利、(5) ノード上で
ソフトウェアエンジン(例えば、図5のエンジン25
2)の実行を開始する権利、(6) ノードをリセットする
ことも含めて、ノード上でソフトウェアエンジンの実行
を中止する権利、(7) ノード上でソフトウェアエンジン
をデバッグする権利、(8) 自身の認証信用証明 (authen
tication credential)(例えば、その公開鍵またはID)
を変更する権利、(9) 自身のストレージ鍵を修正する権
利、(10) エンジンイベント、マシンイベント、および/
またはパケットフィルタイベントなどのイベントに加入
する権利(例えば、これらのイベントの1つが起こった
とき管理コンソールまたは他のデバイスに通知する)で
ある。さらに、下位レベル所有権ドメインの各々は別の
権利セットをもち、その中には、次のような権利が含ま
れている。すなわち、(1) 既存の所有権ドメインをポッ
プする権利、(2) ノードに置かれたパケットフィルタを
修正(追加、削除、または変更)する権利、(3) 自身の
認証信用証明(例えば、公開鍵またはID)を変更する権
利、(4) マシンイベントおよび/またはパケットフィル
タイベントに加入する権利である。別の方法として、上
記権利の一部をセットから除くことも(例えば、状況に
応じては、ノード上でソフトウェアエンジンをデバック
する権利は必要でない場合がある)、他の権利をセット
に含めることも可能である(例えば、トップレベルノー
ドに、自身を所有権ドメインスタックからポップオフす
る権利を含めることができる)。
Each proprietary domain has a corresponding set of rights. In the illustrated example, the top-level ownership domain has one set of rights, which includes the following rights. That is, (1) the right to push the new ownership domain onto the ownership domain stack, (2) the right to access any system memory in the node, or (3) within the node or coupled to the node. (4) the right to modify (add, remove, or change) the packet filters placed on the node; and (5) the software engine (eg, engine 25 in FIG. 5) on the node.
2) right to start execution, (6) right to stop running software engine on the node, including resetting the node, (7) right to debug software engine on the node, (8) itself Authentication credentials (authen
tication credential) (eg, its public key or ID)
(9) the right to modify its own storage key, (10) engine events, machine events, and / or
Or the right to subscribe to events such as packet filter events (e.g., notifying a management console or other device when one of these events occurs). In addition, each of the lower level ownership domains has a different set of rights, including the following rights: That is, (1) the right to pop existing ownership domains, (2) the right to modify (add, delete, or change) packet filters placed on nodes, and (3) their own authentication credentials (eg, public (4) the right to subscribe to machine events and / or packet filter events. Alternatively, some of the above rights may be removed from the set (eg, in some situations, the right to debug the software engine on the node may not be necessary), and other rights may be included in the set. (E.g., the top-level node can include the right to pop itself off the ownership domain stack).

【0077】所有権ドメインは、オペレーション期間中
に何度でも、所有権ドメインスタックに追加したり、そ
こから除去したりすることができる。どの所有権ドメイ
ンが除去および/または追加されるかは、実行されてい
るアクティビティによって変化する。1つの例として、
ノード248の所有者(ルート所有権ドメイン280に
対応する)がノード248上でなんらかのオペレーショ
ンを実行することを望んでいると、すべての上位レベル
所有権ドメイン282〜284が取り消され、望みのオ
ペレーションが実行され(所有権ドメイン280がトッ
プレベルドメインになるので、拡張権利セットが利用可
能になる)、新しい所有権ドメインを作成し、所有権ド
メインスタック286に追加することが可能になる(例
えば、以前にトップレベル所有権ドメインに対応付けら
れていた管理エージェントは、以前の位置に戻されるこ
とになる)。
[0077] Ownership domains can be added to and removed from the ownership domain stack any number of times during operation. Which ownership domains are removed and / or added depends on the activity being performed. As one example,
If the owner of node 248 (corresponding to root ownership domain 280) wants to perform some operation on node 248, all higher-level ownership domains 282-284 are revoked and the desired operation is (The extended rights set becomes available as ownership domain 280 becomes the top-level domain) and a new ownership domain can be created and added to ownership domain stack 286 (eg, previously Will be returned to its previous location.)

【0078】BMonitor250は、所有権ドメインの1つ
に対応するエンティティ(例えば、そのエンティティに
よって制御されている管理コンソール)から要求が受け
取られるたびに、その所有権ドメインがどの権利をもっ
ているかをチェックする。所有権ドメインが要求を実現
するために必須の権利をもっていれば、BMonitor250
はその要求を実行する。しかし、所有権ドメインが必須
の権利セットをもっていなければ、要求は実行されない
(例えば、要求が実行できないとの通知を要求側に戻す
ことも、要求を無視するだけにすることもできる)。
Each time a BMonitor 250 receives a request from an entity corresponding to one of the ownership domains (eg, a management console controlled by that entity), it checks which rights the ownership domain has. If the ownership domain has the required rights to fulfill the request, BMonitor 250
Performs the request. However, if the ownership domain does not have the required rights set, the request is not performed (eg, a notification that the request cannot be performed can be returned to the requestor or the request can simply be ignored).

【0079】図示の例では、各所有権ドメインは識別子
(ID)、公開鍵、およびストレージ鍵を含んでいる。識
別子は、所有権ドメインのユニーク識別子として使用さ
れ、公開鍵は、その所有権ドメインに対応する管理デバ
イスにセキュアな通信を送信するために使用され、スト
レージ鍵は、大容量ストレージデバイスにストアされた
情報を暗号化するために(少なくとも部分的に)使用さ
れる。追加の秘密鍵を各々の所有権ドメインごとに含め
ておくと、所有権ドメインに対応する管理デバイスは、
BMonitorにセキュアな通信を送信することが可能にな
る。ルート所有権ドメイン280が作成されるとき、こ
れはそのIDと公開鍵をもつように初期化される(例え
ば、BMonitor250によって)。ルート所有権ドメイン
280は、ストレージ鍵(および秘密鍵)を含むように
初期化することも可能であり、あるいは後で追加するこ
とも可能である(例えば、BMonitor250に生成させる
とか、管理コンソールからBMonitor250に伝える、な
ど)。同様に、新しい所有権ドメインが作成されるたび
に、その新所有権ドメインを作成する所有権ドメイン
は、IDと公開鍵を、新所有権ドメインのBMonitor250
に伝達する。ストレージ鍵(および秘密鍵)は、所有権
ドメインの作成時でも、あるいはその後でも、新所有権
ドメインのために作成することができる。
In the illustrated example, each ownership domain is an identifier.
(ID), public key, and storage key. The identifier is used as a unique identifier of the ownership domain, the public key is used to send secure communication to the management device corresponding to the ownership domain, and the storage key is stored on the mass storage device. Used (at least in part) to encrypt information. By including an additional private key for each ownership domain, the management device corresponding to the ownership domain will:
It is possible to send secure communication to BMonitor. When a root ownership domain 280 is created, it is initialized with its ID and public key (eg, by BMonitor 250). The root ownership domain 280 can be initialized to include the storage key (and the private key) or can be added later (eg, generated by BMonitor 250 or from the management console). Etc.). Similarly, each time a new ownership domain is created, the ownership domain that creates the new ownership domain will send the ID and public key to the new ownership domain's BMonitor 250
To communicate. The storage key (and private key) can be created for the new ownership domain either at the time of creation of the ownership domain or later.

【0080】BMonitor250は、所有権ドメインの各々
に対応する管理デバイスを認証する。BMonitorは、管理
デバイスが認証されるまでは、その管理デバイスからの
どのコマンドも受け付けず、特定の所有権ドメインの機
密情報(暗号鍵)を、自身をその所有権ドメインに対応
するものとして認証できる管理デバイスにだけ公開す
る。この認証プロセスは、ノードのオペレーション期間
中、何度でも行うことができるので、1つまたは複数の
所有権ドメインの管理デバイスは時間の経過と共に変わ
ることになる。管理デバイスの認証を行うには、さまざ
まな方法が可能である。ある実装では、管理デバイスが
BMonitor250とのコネクションを要求し、自分が特定
の所有権ドメインに対応していることを主張すると、BM
onitor250はトークン(例えば、ランダムな数)を生
成し、所有権ドメインの公開鍵でトークンを暗号化し、
その暗号化トークンを要求側管理デバイスに送信する。
暗号化トークンを受け取ると、管理デバイスは、その秘
密鍵を使用してトークンを解読し、解読したトークンを
BMonitor250に戻す。戻されたトークンがBMonitor2
50によって生成されたトークンに一致していると、管
理デバイスの認証性が確認される(これは、対応する秘
密鍵をもつ管理デバイスだけがトークンを解読できるか
らである)。類似のプロセスを使用して、BMonitor25
0が自身を管理デバイスに対して認証することも可能で
ある。
The BMonitor 250 authenticates the management device corresponding to each of the ownership domains. Until the managed device is authenticated, BMonitor will not accept any commands from that managed device and can authenticate confidential information (encryption key) in a particular ownership domain as if it corresponded to that ownership domain Publish only to managed devices. This authentication process can be performed any number of times during the operation of the node, so that the management device of one or more ownership domains will change over time. Various methods are possible for authenticating the management device. In one implementation, the management device
Requesting a connection with BMonitor 250 and claiming that it corresponds to a specific ownership domain, BM
onitor 250 generates a token (eg, a random number), encrypts the token with the public key of the ownership domain,
Send the encryption token to the requesting management device.
Upon receiving the cryptographic token, the management device decrypts the token using its private key and replaces the decrypted token.
Return to BMonitor 250. The returned token is BMonitor2
A match with the token generated by 50 confirms the authenticity of the management device (since only the management device with the corresponding private key can decrypt the token). Using a similar process, BMonitor25
0 can authenticate itself to the management device.

【0081】認証されると、管理デバイスは要求をBMon
itor250に伝達し、その要求のいずれかを実行させる
ことができる(ただし、そうする権利を持っていること
が条件である)。必ずしも必要でないが、管理コンソー
ルにとって賢明なことは、初めて自身をBMonitor250
に対して認証したとき、その公開鍵/秘密鍵ペアを変更
しておくことである。
Once authenticated, the management device makes a request to BMon
It can communicate to itor 250 and cause any of its requests to be performed, provided that it has the right to do so. Although not necessary, it is wise for the management console that for the first time
When authenticating against a public key, the public / private key pair must be changed.

【0082】新しい所有権ドメインが作成されるとき、
その新所有権ドメインを作成する管理デバイスは、オプ
ションとして、既存のエンジン252を終了し、システ
ムメモリと大容量ストレージデバイスを消去しておくこ
とができる。このようにすると、暗号化に上乗せされる
形でセキュリティレベルが強化されるので、ある管理デ
バイスが、別の管理デバイスによってハードウェア上に
ストアされた情報にアクセスすることが防止されること
になる。さらに、所有権ドメインがスタックからポップ
されるたびに、BMonitor250は既存のエンジン252
を終了し、システムメモリを消去し、その所有権ドメイ
ンのストレージ鍵も消去する。従って、その所有権ドメ
インによってストアされた情報は、残りの所有権ドメイ
ンによってアクセスされることはない。つまり、メモリ
は消去されているので、データはメモリになく、ストレ
ージ鍵なしでは、大容量ストレージデバイス上の情報を
解読することができない。別の方法として、BMonitor2
50は、大容量ストレージデバイスも消去することが可
能である。しかし、鍵を消去し、データを暗号化したま
まにしておけば、BMonitor250は、ポップされた所有
権ドメインが再作成されるとき(同じストレージ鍵を使
用すれば)、データを回復することが可能になる。
When a new ownership domain is created,
The management device that creates the new ownership domain can optionally terminate the existing engine 252 and erase system memory and mass storage devices. In this way, the security level is enhanced in addition to encryption, thereby preventing one management device from accessing information stored on hardware by another management device. . In addition, each time the ownership domain is popped off the stack, BMonitor 250 will use the existing engine 252
And erase the system memory, and also erase the storage key of its ownership domain. Thus, information stored by that ownership domain is not accessed by the remaining ownership domains. That is, since the memory has been erased, the data is not in the memory and the information on the mass storage device cannot be decrypted without the storage key. Alternatively, BMonitor2
50 is also capable of erasing mass storage devices. However, if the key is erased and the data remains encrypted, BMonitor 250 can recover the data when the popped ownership domain is recreated (using the same storage key). become.

【0083】図7は、本発明のいくつかの実施形態によ
るBMonitor250の全体的オペレーションを示すフロー
図である。初めに、BMonitor250は、送られてくる入
力をモニタリングしている(ブロック290)。これら
の入力が送られてくるソースは、別のノード248、ネ
ットワークコネクション216を経由するクライントコ
ンピュータ(図3)、クライアントオペレーション管理
コンソール240、アプリケーションオペレーション管
理コンソール242、エンジン252、管理デバイス1
10(図1)といったように、さまざまである。
FIG. 7 is a flow diagram illustrating the overall operation of BMonitor 250 according to some embodiments of the present invention. Initially, BMonitor 250 monitors incoming input (block 290). Sources to which these inputs are sent include another node 248, a client computer (FIG. 3) via a network connection 216, a client operation management console 240, an application operation management console 242, an engine 252, and a management device 1.
10 (FIG. 1).

【0084】受け取った要求が制御要求であれば(例え
ば、図3のコンソール240または242の1つ、また
は図1の管理デバイスからの)、要求側デバイスがその
要求に対して必要な権利を持っているかどうかがチェッ
クされる(トップレベル所有権ドメインに基づいて)
(ブロック292)。要求側デバイスが必要な権利をも
っていなければ、BMonitor250は要求を実行すること
なく、入力のモニタリング(ブロック290)に戻る。
しかし、要求側デバイスが必要な権利をもっていれば、
要求は実行され(ブロック294)、BMonitor250は
受け取った入力のモニタリング(ブロック290)を続
ける。しかし、受け取った要求がデータ要求であるとき
は(例えば、別のノード248またはネットワークコネ
クション216経由のクライアントコンピュータからの
インバウンド、エンジン252からのアウトバウンドな
ど)、BMonitor250は要求を受け付けるか、さもなけ
れば拒否し(ブロック296)、送られている入力のモ
ニタリング(ブロック290)を続ける。BMonitor25
0が要求を受け付けるかどうかは、上述したように、フ
ィルタ258(図5)によって決まる。
If the received request is a control request (eg, from one of the consoles 240 or 242 in FIG. 3 or from the management device in FIG. 1), the requesting device has the necessary rights for the request. Is checked (based on top-level ownership domain)
(Block 292). If the requesting device does not have the required rights, BMonitor 250 returns to monitoring inputs (block 290) without performing the request.
However, if the requesting device has the necessary rights,
The request is performed (block 294) and BMonitor 250 continues to monitor the received input (block 290). However, if the received request is a data request (eg, inbound from a client computer via another node 248 or network connection 216, outbound from engine 252, etc.), BMonitor 250 will accept or otherwise reject the request. (Block 296) and continues monitoring the incoming input (block 290). BMonitor25
Whether 0 accepts the request depends on the filter 258 (FIG. 5), as described above.

【0085】図8は、本発明のいくつかの実施形態によ
るアウトバウンドデータ要求を処理するときの例示プロ
セスを示すフローチャートである。図8のプロセスは、
図5のBMonitor250に実装されており、ソフトウェア
で実行することができる。図8のプロセスを、図1、3
および5に示すコンポーネントと関連付けて説明する
と、次の通りである。
FIG. 8 is a flowchart illustrating an exemplary process when processing an outbound data request according to some embodiments of the present invention. The process of FIG.
It is implemented in the BMonitor 250 of FIG. 5 and can be executed by software. The process of FIG.
The following is a description in relation to the components shown in FIGS.

【0086】初めに、アウトバウンドデータ要求が受信
される(ステップ300)。コントローラ254は、そ
の要求をアウトバウンド要求制約条件 (request restri
ctions) と比較する(ステップ302)。この比較は、
データに対応する情報(例えば、データを収めているパ
ケットのヘッダ内の情報またはデータに内在する情報。
例えば、データ要求がBMonitor250に渡されたときの
仕方(例えば、複数の関数コールのどれが使用された
か)などの情報)にアクセスし、フィルタ258が維持
しているアウトバウンド要求制約条件と比較することに
より行われる。この比較を行うと、BMonitor250は、
アウトバウンドデータ要求をターゲットに渡すことが許
されるかどうかを判断することができる(ステップ30
4)。例えば、どのターゲットにデータを送信できない
かをフィルタ258が示す場合、アウトバウンドデータ
要求をターゲットに渡すことが許されるのは、ターゲッ
ト識別子( ID) がフィルタ258で特定されていないと
きだけである。
First, an outbound data request is received (step 300). Controller 254 places the request in an outbound request constraint (request restri
ctions) (step 302). This comparison is
Information corresponding to the data (eg, information in the header of the packet containing the data or information inherent in the data.
For example, accessing information such as how the data request was passed to BMonitor 250 (e.g., which of the multiple function calls was used) and comparing it to outbound request constraints maintained by filter 258. It is performed by By making this comparison, BMonitor 250
A determination may be made as to whether outbound data requests are allowed to be passed to the target (step 30).
4). For example, if the filter 258 indicates to which target the data cannot be sent, the outbound data request is allowed to pass to the target only when the target identifier (ID) is not specified in the filter 258.

【0087】アウトバウンドデータ要求をターゲットに
渡すことが許されていれば、BMonitor250は、要求を
ターゲットに送信する(ステップ306)。例えば、BM
onitor250は、トランスポート媒体211を経由して
(ネットワークコネクション216を経由することもあ
る)要求を該当ターゲットに送信することも、別のコネ
クションを経由してネットワーク108に送信すること
もできる。しかし、アウトバウンドデータ要求をターゲ
ットに渡すことが許されていなければ、BMonitor250
は要求を拒否する(ステップ308)。BMonitor250
は、オプションとして、要求が拒否されたとの通知を、
その要求のソースに送信することも、要求をドロップす
るだけのことも可能である。
If the outbound data request is allowed to pass to the target, BMonitor 250 sends the request to the target (step 306). For example, BM
The onitor 250 can send a request to the target via the transport medium 211 (which may go through the network connection 216) or to the network 108 via another connection. However, if it is not allowed to pass outbound data requests to the target, BMonitor 250
Rejects the request (step 308). BMonitor250
Will optionally notify you that your request has been denied,
It can be sent to the source of the request or just drop the request.

【0088】図9は、本発明のいくつかの実施形態によ
るインバウンドデータ要求を処理するときの例示プロセ
スを示すフローチャートである。図9のプロセスは図5
のBMonitor250に実装され、ソフトウェアで実行する
ことが可能である。図9のプロセスを、図5に示すコン
ポーネントと関連付けて説明すると、次の通りである。
FIG. 9 is a flowchart illustrating an exemplary process when processing an inbound data request according to some embodiments of the present invention. The process of FIG.
Of the BMonitor 250, and can be executed by software. The process of FIG. 9 will be described below in relation to the components shown in FIG.

【0089】初めに、インバウンドデータ要求が受信さ
れる(ステップ310)。コントローラ254は、その
要求をインバウンド要求制約条件と比較する(ステップ
312)。この比較は、データに対応する情報にアクセ
スし、フィルタ258が維持しているインバウンド要求
制約条件と比較することにより行われる。この比較を行
うと、BMonitor250は、ソフトウェアエンジン252
のどれが、データ要求を受信することが許されるかどう
かを判断することができる(ステップ314)。例え
ば、どのソースからデータを受信できるかをフィルタ2
58が示す場合、エンジン252がデータ要求を受信す
ることが許されるのは、データのソースがフィルタ25
8で特定されているときだけである。
First, an inbound data request is received (step 310). Controller 254 compares the request to inbound request constraints (step 312). This comparison is made by accessing information corresponding to the data and comparing it with the inbound request constraints maintained by the filter 258. When this comparison is made, BMonitor 250
Can be determined to be allowed to receive the data request (step 314). For example, filter 2 from which sources can receive data
58 indicates that the engine 252 is allowed to receive the data request if the source of the data is the filter 25
8 only.

【0090】インバウンドデータ要求を受信することが
許されていれば、BMonitor250は、その要求をターゲ
ットのエンジン252に転送する(ステップ316)。
しかし、インバウンドデータ要求をソースから受信する
ことが許されていなければ、BMonitor250は要求を拒
否する(ステップ318)。BMonitor250は、オプシ
ョンとして、要求が拒否されたとの通知を、その要求の
ソースに送信することも、要求をドロップするだけのこ
とも可能である。
If the BMonitor 250 is authorized to receive the inbound data request, it forwards the request to the target engine 252 (step 316).
However, if an inbound data request is not allowed to be received from the source, BMonitor 250 rejects the request (step 318). The BMonitor 250 can optionally send a notification that the request has been rejected to the source of the request or simply drop the request.

【0091】結論 上述してきた説明では、構造上の特徴および/または方
法ステップに特有の用語が用いられているが、当然に理
解されるように、請求項に定義されている本発明は、上
述してきた特定の特徴やステップに限定されるものでは
ない。むしろ、特定の特徴とステップは、本発明を実施
するための例示形態として開示されたものである。
Conclusions Although the description above uses terms specific to structural features and / or method steps, it should be understood that the invention as defined in the claims is intended to It is not limited to the specific features or steps that have been performed. Rather, the specific features and steps have been disclosed as example forms of implementing the invention.

【0092】[0092]

【発明の効果】以上、説明したように、本発明によれ
ば、共同ロケーション施設に置かれているサーバコンピ
ュータのクラスタにおいて、データ転送を制限し、ソフ
トウェアコンポーネントを管理することにより、コンピ
ュータシステムの管理を効率よく行える。
As described above, according to the present invention, a computer system is managed by restricting data transfer and managing software components in a cluster of server computers located in a co-location facility. Can be performed efficiently.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明のいくつかの実施形態で使用できるよう
な、クライアント/サーバネットワークシステムと環境
を示す図である。
FIG. 1 illustrates a client / server network system and environment, such as may be used in some embodiments of the present invention.

【図2】本発明のいくつかの実施形態に従って使用でき
るコンピュータの例を示す概要図である。
FIG. 2 is a schematic diagram illustrating an example of a computer that can be used in accordance with some embodiments of the present invention.

【図3】例示の共同ロケーション施設を示す詳細ブロッ
ク図である。
FIG. 3 is a detailed block diagram illustrating an exemplary co-location facility.

【図4】例示の多層管理アーキテクチャを示すブロック
図である。
FIG. 4 is a block diagram illustrating an exemplary multi-tier management architecture.

【図5】本発明のいくつかの実施形態による例示のノー
ドを示す詳細ブロック図である。
FIG. 5 is a detailed block diagram illustrating an exemplary node according to some embodiments of the invention.

【図6】本発明のいくつかの実施形態による例示の所有
権ドメインセットを示すブロック図である。
FIG. 6 is a block diagram illustrating an exemplary set of ownership domains according to some embodiments of the present invention.

【図7】本発明のいくつかの実施形態によるBMonitorの
全体的オペレーションを示すフロー図である。
FIG. 7 is a flow diagram illustrating the overall operation of BMonitor according to some embodiments of the present invention.

【図8】本発明のいくつかの実施形態によるアウトバウ
ンドデータ要求を処理するための例示プロセスを示すフ
ローチャートである。
FIG. 8 is a flowchart illustrating an exemplary process for processing an outbound data request according to some embodiments of the present invention.

【図9】本発明のいくつかの実施形態によるインバウン
ドデータ要求を処理するための例示プロセスを示すフロ
ーチャートである。
FIG. 9 is a flowchart illustrating an exemplary process for processing an inbound data request according to some embodiments of the present invention.

【符号の説明】[Explanation of symbols]

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 所有権ドメインスタック
1021 to 102n Client 1041 to 104m Co-location facility 1061-1, 1061-2, 106m-1, 106m
-1 server cluster 108 Internet 110 management device 112 server 210-1 to 210-n node 230 cluster operation management layer 232 application operation management layer 234 application development layer 240 cluster operation management console 242 application operation management console 248 node 250 BMonitor 252 engine 256 Network interface 258 Filter 259 Key 260 BMCP module 262 Mass storage device 264 Loader 280, 282, 284 Ownership domain 286 Ownership domain stack

───────────────────────────────────────────────────── フロントページの続き (72)発明者 ガレン シー.ハント アメリカ合衆国 98008 ワシントン州 ベルビュー 162 アベニュー サウスイ ースト 2967 (72)発明者 アーマー ハイドリー アメリカ合衆国 98033 ワシントン州 カークランド ノースイースト 107 プ レイス 12511 (72)発明者 スティーブン ピー.レビ アメリカ合衆国 98052 ワシントン州 レッドモンド ノースイースト 41 スト リート 16612 (72)発明者 デービッド エス.スチューツ アメリカ合衆国 98053 ワシントン州 レッドモンド ノースイースト 116 19610 (72)発明者 ロバート ブイ.ウェランド アメリカ合衆国 98122 ワシントン州 シアトル 38 アベニュー 1100 Fターム(参考) 5B085 AC03 AE00 AE29 BG07 5B098 AA10 GA01 GC16 GD01 GD21 ──────────────────────────────────────────────────の Continuation of front page (72) Inventor Galicy. Hunt United States of America 98008 Bellevue, Washington 162 Avenue Southeast 2967 (72) Inventor Armor Hydley United States 98033 Kirkland Northeast, Washington 107 Preyce 12511 (72) Inventor Stephen P. Levi United States 98052 Redmond, Washington Northeast 41 Street 16612 (72) Inventor David S.E. Stouts United States 98053 Redmond, Washington Northeast 116 19610 (72) Inventor Robert Buoy. Welland USA 98122 Seattle, WA 38 Avenue 1100 F-term (reference) 5B085 AC03 AE00 AE29 BG07 5B098 AA10 GA01 GC16 GD01 GD21

Claims (52)

【特許請求の範囲】[Claims] 【請求項1】 コンピュータプログラムを格納した1つ
または複数のコンピュータ読取可能媒体であって、前記
コンピュータプログラムは、共同ロケーション施設に置
かれたノードの1つまたは複数のプロセッサによって実
行される時、1つまたは複数のプロセッサに、 受信したコマンドに応答して、ノード上のコンポーネン
トの実行を開始し終了するステップと、 ノード上で実行されているコンポーネントが、共同ロケ
ーション施設に置かれている他のどのノードとの間で、
データを送受信できるかを制限するステップとを備えた
動作を実行させることを特徴とする1つまたは複数のコ
ンピュータ読取可能媒体。
1. One or more computer readable media having stored thereon a computer program, said computer program being executed by one or more processors of a node located at a co-location facility. One or more processors, in response to the received command, initiating and terminating the execution of the component on the node; and Between nodes
One or more computer-readable media for performing an operation comprising limiting whether data can be transmitted and received.
【請求項2】 請求項1に記載の1つまたは複数のコン
ピュータ読取可能媒体において、複数の管理デバイス
が、ノードに対する管理責任を分担しており、ノード上
のコンポーネントの実行を開始し終了するステップは、
どの時点でも複数の管理デバイスのうちの1つだけに制
限されていることを特徴とする1つまたは複数のコンピ
ュータ読取可能媒体。
2. The one or more computer-readable media of claim 1, wherein a plurality of management devices share management responsibilities for the node, and start and end execution of components on the node. Is
One or more computer-readable media characterized by being restricted to only one of the plurality of management devices at any one time.
【請求項3】 請求項1に記載の1つまたは複数のコン
ピュータ読取可能媒体において、制限するステップは受
信したデータを目的とするターゲットに転送することが
許されるかどうかをチェックするステップと、 転送することが許されている場合にだけ、受信したデー
タを目的とするターゲットに転送するステップとを備え
たことを特徴とする1つまたは複数のコンピュータ読取
可能媒体。
3. The one or more computer-readable media of claim 1, wherein the limiting step comprises: checking whether the received data is allowed to be transferred to the intended target. Transferring the received data to the intended target only when permitted to do so.
【請求項4】 請求項3に記載の1つまたは複数のコン
ピュータ読取可能媒体において、目的とするターゲット
は、共同ロケーション施設に置かれた別のノードを備え
たことを特徴とする1つまたは複数のコンピュータ読取
可能媒体。
4. The one or more computer-readable media of claim 3, wherein the target of interest comprises another node located at a co-location facility. Computer readable media.
【請求項5】 請求項3に記載の1つまたは複数のコン
ピュータ読取可能媒体において、目的とするターゲット
は、ノード上で実行されているコンポーネントのうち
の、少なくとも1つを備えたことを特徴とする1つまた
は複数のコンピュータ読取可能媒体。
5. The one or more computer-readable media of claim 3, wherein the target of interest comprises at least one of the components running on the node. One or more computer readable media.
【請求項6】 請求項1に記載の1つまたは複数のコン
ピュータ読取可能媒体において、コンポーネントの実行
を開始し終了するステップは、共同ロケーション施設か
ら離れたロケーションに置かれているオペレーションコ
ンソールから受信したコマンドに基づいて、コンポーネ
ントの実行を開始し終了するステップを備えたことを特
徴とする1つまたは複数のコンピュータ読取可能媒体。
6. The one or more computer-readable media of claim 1, wherein the steps of starting and ending execution of the component are received from an operations console located at a location remote from the co-location facility. One or more computer-readable media comprising starting and ending execution of a component based on a command.
【請求項7】 請求項1に記載の1つまたは複数のコン
ピュータ読取可能媒体において、コンポーネントの1つ
はオペレーティングシステムを備えたことを特徴とする
1つまたは複数のコンピュータ読取可能媒体。
7. The one or more computer-readable media of claim 1, wherein one of the components comprises an operating system.
【請求項8】 複数のノードクラスタを備えたシステム
であって、 各ノードクラスタは複数のノードを含み、 各々の個別ノードは、個別ノードが他のどのノードから
データを受信できるか、および個別ノードが他のどのノ
ードにデータを送信できるか、について制約条件を設け
ているコントローラを含むことを特徴とするシステム。
8. A system comprising a plurality of node clusters, each node cluster including a plurality of nodes, each individual node determining from which other node the individual node can receive data, and an individual node. A controller having constraints on which other nodes can send data.
【請求項9】 請求項8に記載のシステムにおいて、各
々の個別ノードは、どのような制約条件であるかを判別
する複数のフィルタを、さらに含むことを特徴とするシ
ステム。
9. The system according to claim 8, wherein each individual node further includes a plurality of filters for determining what kind of constraint condition is.
【請求項10】 請求項8に記載のシステムにおいて、
制約条件は、個別ノードと同じノードクラスタに属して
いない別のノードとの間で、個別ノードがデータを送受
信することを禁止することを特徴とするシステム。
10. The system according to claim 8, wherein
A system wherein the constraint condition prohibits an individual node from transmitting and receiving data between the individual node and another node that does not belong to the same node cluster.
【請求項11】 請求項8に記載のシステムにおいて、
各々の個別ノードは、コントローラを含むネットワーク
インタフェースアダプタを含むことを特徴とするシステ
ム。
11. The system according to claim 8, wherein
The system wherein each individual node includes a network interface adapter including a controller.
【請求項12】 請求項8に記載のシステムにおいて、
複数のノードの各々について、 複数の管理デバイスがノードに対する管理責任を分担
し、 複数の管理デバイスの1つは、ノードに対する拡張され
た管理権セットが与えられ、残りの管理デバイスは、ノ
ードに対する、より制限された管理権セットが与えられ
ていることを特徴とするシステム。
12. The system according to claim 8, wherein
For each of the plurality of nodes, a plurality of management devices share management responsibilities for the node, one of the plurality of management devices being given an extended set of management rights for the node, and the remaining management devices for the node. A system wherein a more restricted set of administrative rights is granted.
【請求項13】 請求項8に記載のシステムにおいて、
各ノード内のコントローラは、さらに、外部の管理デバ
イスからの要求に応答して、ノード上のアプリケーショ
ンの実行を終了し開始するようになっていることを特徴
とするシステム。
13. The system according to claim 8, wherein
A system wherein the controller in each node is further adapted to terminate and start execution of an application on the node in response to a request from an external management device.
【請求項14】 請求項8に記載のシステムにおいて、
複数のノードクラスタは、共同ロケーション施設に含ま
れていることを特徴とするシステム。
14. The system according to claim 8, wherein
The system wherein the plurality of node clusters are included in a co-location facility.
【請求項15】 共同ロケーション施設内の場所に置か
れている第1の制御コンソールからの第1の要求を、共
同ロケーション施設に置かれたノードで受信するステッ
プと、 第1の要求を実行するステップと、 共同ロケーション施設から離れたロケーションに置かれ
ている第2の制御コンソールからの第2の要求を、ノー
ドで受信するステップと、 第2の要求を実行するするステップとを備えたことを特
徴とする方法。
15. A method comprising: receiving a first request from a first control console located at a location within a co-location facility at a node located at a co-location facility; performing the first request. Receiving at a node a second request from a second control console located at a location remote from the co-location facility; and performing the second request. Features method.
【請求項16】 請求項15に記載の方法において、第
1の要求は、ハードウェアオペレーションを中心とする
コマンドを備えたことを特徴とする方法。
16. The method of claim 15, wherein the first request comprises a hardware operation centric command.
【請求項17】 請求項15に記載の方法において、第
2の要求は、ソフトウェアアプリケーション制御を中心
とするコマンドを備えたことを特徴とする方法。
17. The method of claim 15, wherein the second request comprises a software application control centric command.
【請求項18】 請求項15に記載の方法において、第
1の要求は、第1の制御コンソールに許与される第1の
権利セットの中の1つに対応しており、第2の要求は、
第2の制御コンソールに許与される第2の権利セットの
中の1つに対応しており、第1の権利セットは、第2の
権利セットよりも制限されていることを特徴とする方
法。
18. The method of claim 15, wherein the first request corresponds to one of a first set of rights granted to a first control console, and wherein the second request Is
A method corresponding to one of a second set of rights granted to a second control console, wherein the first set of rights is more restricted than the second set of rights. .
【請求項19】 請求項15に記載の方法を実行するた
めのプロセッサによって実行可能であるコンピュータプ
ログラムを含むことを特徴とする1つまたは複数のコン
ピュータ読取可能メモリ。
19. One or more computer readable memories comprising a computer program executable by a processor for performing the method of claim 15.
【請求項20】 コンピュータプログラムを格納した1
つまたは複数のコンピュータ読取可能媒体であって、前
記コンピュータプログラムは、施設に置かれたノードの
1つまたは複数のプロセッサによって実行される時、1
つまたは複数のプロセッサに、 施設に置かれたサーバクラスタの境界を設定するステッ
プであって、該サーバクラスタはノードを含むステップ
と、 サーバクラスタの境界を、サーバクラスタの外に置かれ
たコンソールから受信したコマンドに基づいて変更する
ステップとを備えた動作を実行させることを特徴とする
1つまたは複数のコンピュータ読取可能媒体。
20. A computer program storing a computer program.
One or more computer-readable media, wherein the computer program, when executed by one or more processors of a node located at the facility,
Setting, on one or more processors, a boundary of a server cluster located in the facility, the server cluster including a node, and a server cluster boundary being defined by a console located outside the server cluster. One or more computer-readable media for performing an operation comprising: modifying based on a received command.
【請求項21】 請求項20に記載の1つまたは複数の
コンピュータ読取可能媒体において、設定するステップ
は、施設に置かれているが、サーバクラスタに属してい
ない別のノードへのアクセスを制限するフィルタを組み
入れるステップを備えたことを特徴とする1つまたは複
数のコンピュータ読取可能媒体。
21. The one or more computer-readable media of claim 20, wherein the setting step restricts access to another node located at the facility but not belonging to a server cluster. One or more computer-readable media comprising incorporating a filter.
【請求項22】 請求項20に記載の1つまたは複数の
コンピュータ読取可能媒体において、設定するステップ
は、サーバクラスタに含まれる他のノードだけを、アク
セスを許されたものとして特定する複数のフィルタを生
成するステップを備えたことを特徴とする1つまたは複
数のコンピュータ読取可能媒体。
22. The one or more computer-readable media of claim 20, wherein the step of setting comprises a plurality of filters identifying only other nodes included in the server cluster as being granted access. One or more computer-readable media comprising generating
【請求項23】 請求項20に記載の1つまたは複数の
コンピュータ読取可能媒体において、コンピュータプロ
グラムは、さらに、実行時に、コンソールから受信した
コマンドに応答してソフトウェアエンジンを実行するス
テップを備えた動作を、1つまたは複数のプロセッサに
実行させることを特徴とする1つまたは複数のコンピュ
ータ読取可能媒体。
23. The one or more computer-readable media of claim 20, wherein the computer program further comprises, upon execution, executing a software engine in response to a command received from a console. One or more computer-readable media, which causes one or more processors to execute.
【請求項24】 請求項20に記載の1つまたは複数の
コンピュータ読取可能媒体において、コンピュータプロ
グラムは、さらに、実行時に、コンソールから受信した
コマンドに応答してソフトウェアエンジンの実行を終了
するステップを備えた動作を、1つまたは複数のプロセ
ッサに実行させることを特徴とする1つまたは複数のコ
ンピュータ読取可能媒体。
24. The one or more computer-readable media of claim 20, wherein the computer program further comprises, upon execution, terminating execution of the software engine in response to a command received from the console. One or more computer-readable media for causing one or more processors to perform the performed operations.
【請求項25】 請求項20に記載の1つまたは複数の
コンピュータ読取可能媒体において、施設は共同ロケー
ション施設を備えたことを特徴とする1つまたは複数の
コンピュータ読取可能媒体。
25. The one or more computer-readable media as recited in claim 20, wherein the facility comprises a co-location facility.
【請求項26】 システムの管理を担当する複数の管理
エージェントに対応する管理デバイスが、システムにア
クセスすることを許可するインタフェースと、 複数の管理エージェントの各々を複数の所有権ドメイン
の別々の1つに割り当て、システム内の各所有権ドメイ
ンの権利を制限することによって、複数の管理エージェ
ント間のやりとりを仲介するトラステッドサードパーテ
ィの働きをするコントローラとを備えたことを特徴とす
るシステム。
26. An interface for permitting a management device corresponding to a plurality of management agents in charge of management of the system to access the system, and connecting each of the plurality of management agents to a separate one of a plurality of ownership domains. And a controller acting as a trusted third party to mediate interaction between the plurality of management agents by assigning rights to each ownership domain in the system.
【請求項27】 請求項26に記載のシステムにおい
て、コントローラは、さらに、複数の管理エージェント
の1つに対応する管理デバイスからの要求に応答して、
システムでのソフトウェアエンジンの実行を終了するよ
うになっていることを特徴とするシステム。
27. The system of claim 26, wherein the controller is further responsive to a request from a management device corresponding to one of the plurality of management agents.
A system for terminating execution of a software engine in the system.
【請求項28】 請求項26に記載のシステムにおい
て、コントローラは、さらに、複数の管理エージェント
の1つに対応する管理デバイスからの要求に応答して、
システムでのソフトウェアエンジンの実行を開始するよ
うになっていることを含むことを特徴とするシステム。
28. The system according to claim 26, wherein the controller is further responsive to a request from a management device corresponding to one of the plurality of management agents.
A system adapted to initiate execution of a software engine in the system.
【請求項29】 請求項26に記載のシステムにおい
て、複数の所有権ドメインの1つは、第1の権利セット
を有するトップレベル所有権ドメインであり、複数の所
有権ドメイン内の他の所有権ドメインの各々は、第2の
権利セットを有することを含むことを特徴とするシステ
ム。
29. The system of claim 26, wherein one of the plurality of ownership domains is a top-level ownership domain having a first set of rights and another ownership in the plurality of ownership domains. The system characterized in that each of the domains includes having a second set of rights.
【請求項30】 請求項29に記載のシステムにおい
て、第2の権利セットは、第1の権利セットよりも制限
度が大きいことを特徴とするシステム。
30. The system of claim 29, wherein the second set of rights is more restrictive than the first set of rights.
【請求項31】 請求項29に記載のシステムにおい
て、第1の権利セットは、新しい所有権ドメインを作成
する権利と、システムメモリにアクセスする権利と、シ
ステムの大容量ストレージデバイスにアクセスする権利
と、システム内のフィルタに変更を加える権利と、シス
テム内のソフトウェアエンジンの実行を開始する権利
と、システムでのソフトウェアエンジンの実行を中止す
る権利と、システム内のソフトウェアエンジンをデバッ
グする権利と、所有権ドメインに対する認証信用証明を
変更する権利と、所有権ドメインのストレージ鍵に変更
を加える権利と、システムでの、エンジンイベント、マ
シンイベントおよびパケットフィルタイベントなどのイ
ベントに加入する権利とを含むことを特徴とするシステ
ム。
31. The system of claim 29, wherein the first set of rights comprises: a right to create a new ownership domain; a right to access system memory; and a right to access mass storage devices of the system. Own the right to make changes to the filters in the system, to start running the software engine in the system, to stop running the software engine in the system, and to debug the software engine in the system. Includes the right to change authentication credentials for the rights domain, the right to make changes to the storage keys in the ownership domain, and the right to subscribe to events on the system, such as engine events, machine events, and packet filter events. Features system.
【請求項32】 請求項29に記載のシステムにおい
て、第2の権利セットは、既存の所有権ドメインを取り
消す権利と、システム内のフィルタに変更を加える権利
と、所有権ドメインに対する認証信用証明を変更する権
利と、システムでのマシンイベントとパケットフィルタ
イベントに加入する権利とを含むことを特徴とするシス
テム。
32. The system of claim 29, wherein the second set of rights includes a right to revoke an existing ownership domain, a right to make changes to filters in the system, and an authentication credential for the ownership domain. A system comprising: a right to change; and a right to subscribe to machine events and packet filter events in the system.
【請求項33】 請求項29に記載のシステムにおい
て、第1の権利セットは、新しい所有権ドメインを作成
する権利と、システムメモリにアクセスする権利と、シ
ステムの大容量ストレージデバイスにアクセスする権利
と、およびシステム内のフィルタに変更を加える権利と
を含むことを特徴とするシステム。
33. The system of claim 29, wherein the first set of rights comprises: a right to create a new ownership domain; a right to access system memory; and a right to access mass storage devices of the system. , And the right to make changes to the filters in the system.
【請求項34】 請求項29に記載のシステムにおい
て、第2の権利セットは、既存の所有権ドメインを取り
消す権利とシステム内のフィルタに変更を加える権利と
を含み、フィルタに変更を加える権利は、トップレベル
所有権ドメインに割り当てられた管理エージェントによ
って壊されることのないフィルタを追加する権利を含む
ことを特徴とするシステム。
34. The system of claim 29, wherein the second set of rights includes a right to revoke an existing ownership domain and a right to make a change to a filter in the system, wherein the right to make a change to the filter is , A right to add a filter that is not broken by a management agent assigned to the top-level ownership domain.
【請求項35】 請求項29に記載のシステムにおい
て、コントローラは、他の所有権ドメインのいずれか1
つに対応するデバイスが、トップレベル所有権ドメイン
を取り消すことを許可し、コントローラは取り消しプロ
セス期間にシステムメモリを消去することを特徴とする
システム。
35. The system according to claim 29, wherein the controller has one of the other ownership domains.
A system, wherein a corresponding device allows revoking the top-level ownership domain, and the controller erases system memory during the revocation process.
【請求項36】 請求項26に記載のシステムにおい
て、複数の管理エージェントの1つだけが、一時にトッ
プレベル所有権ドメインに対応することができ、他の管
理エージェントはどれも、トップレベル所有権ドメイン
を取り消すことができることを特徴とするシステム。
36. The system of claim 26, wherein only one of the plurality of management agents can correspond to a top-level ownership domain at a time, and none of the other management agents has a top-level ownership. A system characterized in that a domain can be revoked.
【請求項37】 請求項26に記載のシステムにおい
て、複数の管理エージェントの1つだけが、一時にトッ
プレベル所有権ドメインに対応することができ、前記1
つの管理エージェントは、新しい管理エージェントのた
めに新しい所有権ドメインを作成することができ、新し
い所有権ドメインは、新しいトップレベル所有権ドメイ
ンになることを特徴とするシステム。
37. The system of claim 26, wherein only one of a plurality of management agents can correspond to a top-level ownership domain at a time.
A system wherein one management agent can create a new ownership domain for a new management agent, and the new ownership domain becomes a new top-level ownership domain.
【請求項38】 請求項26に記載のシステムにおい
て、複数の管理エージェントの1つだけが、一時にトッ
プレベル所有権ドメインに対応することができ、複数の
管理エージェントのどれが、任意の時点でトップレベル
所有権ドメインに対応付けられるかは、時間の経過と共
に変えることが可能であり、コントローラは、複数の管
理エージェントのどれがトップレベル所有権ドメインに
対応しているかが変更されるたびに、システムメモリを
消去することを特徴とするシステム。
38. The system of claim 26, wherein only one of the plurality of management agents can correspond to a top-level ownership domain at a time, and which of the plurality of management agents The mapping to the top-level ownership domain can change over time, and the controller will change each of the multiple management agents to correspond to the top-level ownership domain, A system for erasing system memory.
【請求項39】 請求項26に記載のシステムにおい
て、該システムは、共同ロケーション施設に置かれたノ
ードを備えたことを特徴とするシステム。
39. The system of claim 26, wherein the system comprises a node located at a co-location facility.
【請求項40】 複数の管理エージェントの各々を複数
の所有権ドメインの1つと関連付けるステップであっ
て、複数の管理エージェントの各々は、コンピュータの
少なくとも一部を管理することを担当し、コンピュータ
の外に置かれているステップと、 複数の管理エージェントの1つだけが、一時にコンピュ
ータへの拡張された権利セットを有することを許可さ
れ、残りの管理デバイスに、より制限された権利セット
を割り当てるステップと、 複数の管理エージェントに対応する管理デバイスからの
どの要求が、少なくとも一部分、管理エージェントの権
利に基づいて実行されるかを、制限するステップとを備
えたことを特徴とする方法。
40. Associating each of the plurality of management agents with one of the plurality of ownership domains, wherein each of the plurality of management agents is responsible for managing at least a portion of the computer and is external to the computer. And assigning a more restricted rights set to the remaining managed devices, wherein only one of the plurality of management agents is allowed to have an extended rights set on the computer at a time. And limiting which requests from the management device corresponding to the plurality of management agents are performed, at least in part, based on the rights of the management agent.
【請求項41】 請求項40に記載の方法において、複
数の管理エージェントの各々は、コンピュータに結合さ
れている1つまたは複数の管理デバイスに対応付けられ
ていることを特徴とする方法。
41. The method of claim 40, wherein each of the plurality of management agents is associated with one or more management devices coupled to the computer.
【請求項42】 請求項40に記載の方法において、拡
張された権利セットは、新しい所有権ドメインを作成す
る権利と、システムメモリにアクセスする権利と、シス
テムの大容量ストレージデバイスにアクセスする権利
と、システム内のフィルタに変更を加える権利と、シス
テム内のソフトウェアエンジンの実行を開始する権利
と、システムでのソフトウェアエンジンの実行を中止す
る権利と、システム内のソフトウェアエンジンをデバッ
グする権利と、所有権ドメインに対する認証信用証明を
変更する権利と、所有権ドメインのストレージ鍵に変更
を加える権利と、システムでの、エンジンイベント、マ
シンイベントおよびパケットフィルタイベントなどのイ
ベントに加入する権利とを含むことを特徴とする方法。
42. The method of claim 40, wherein the extended set of rights comprises a right to create a new ownership domain, a right to access system memory, and a right to access mass storage devices of the system. Own the right to make changes to the filters in the system, to start running the software engine in the system, to stop running the software engine in the system, and to debug the software engine in the system. Includes the right to change authentication credentials for the rights domain, the right to make changes to the storage keys in the ownership domain, and the right to subscribe to events on the system, such as engine events, machine events, and packet filter events. Features method.
【請求項43】 請求項40に記載の方法において、よ
り制限された権利セットは、既存の所有権ドメインを取
り消す権利と、システム内のフィルタに変更を加える権
利と、所有権ドメインに対する認証信用証明を変更する
権利と、システムでのマシンイベントとパケットフィル
タイベントに加入する権利とを含むことを特徴とする方
法。
43. The method of claim 40, wherein the more restricted set of rights includes a right to revoke an existing ownership domain, a right to modify a filter in the system, and an authentication credential for the ownership domain. And the right to subscribe to machine events and packet filter events in the system.
【請求項44】 請求項40に記載の方法において、拡
張された権利セットは、新しい所有権ドメインを作成す
る権利と、システムメモリにアクセスする権利と、シス
テムの大容量ストレージデバイスにアクセスする権利
と、システム内のフィルタに変更を加える権利とを含む
ことを特徴とする方法。
44. The method of claim 40, wherein the extended set of rights comprises a right to create a new ownership domain, a right to access system memory, and a right to access mass storage devices of the system. The right to make changes to the filters in the system.
【請求項45】 請求項40に記載の方法において、よ
り制限された権利セットは、既存の所有権ドメインを取
り消す権利とシステム内のフィルタに変更を加える権利
とを含み、フィルタに変更を加える権利は、トップレベ
ル所有権ドメインに割り当てられた管理エージェントに
よって壊されることのないフィルタを追加する権利を含
むことを特徴とする方法。
45. The method of claim 40, wherein the more restricted set of rights includes a right to revoke an existing ownership domain and a right to make a change to a filter in the system, the right to make a change to the filter. Wherein the method includes the right to add a filter that is not broken by a management agent assigned to the top-level ownership domain.
【請求項46】 請求項40に記載の方法において、1
つの管理エージェントはトップレベル所有権ドメインに
対応しており、他の管理エージェントはどれも、前記1
つの管理エージェントの権利を取り消すことができるこ
とを特徴とする方法。
46. The method according to claim 40, wherein 1
One management agent corresponds to the top-level ownership domain, and all other management agents
A method characterized in that the rights of one management agent can be revoked.
【請求項47】 請求項40に記載の方法において、 拡張された権利セットを有する1つの管理エージェント
によって、拡張された権利セットを新しい管理エージェ
ントに割り当てるステップと、 前記1つの管理エージェントに、より制限された権利セ
ットを割り当てるステップとをさらに備えたことを特徴
とする方法。
47. The method of claim 40, wherein assigning the extended rights set to a new management agent by one management agent having the extended rights set; and further restricting the one management agent. Assigning the assigned set of rights.
【請求項48】 請求項40に記載の方法において、 複数の管理エージェントのどれが拡張された権利セット
を有するかを、時間の経過と共に変更することを許可す
るステップと、 複数の管理エージェントのどれが拡張された権利を有す
るかが変更される度に、システムメモリを消去するステ
ップとをさらに備えたことを特徴とする方法。
48. The method of claim 40, wherein allowing which of the plurality of management agents has the extended rights set to change over time; and which of the plurality of management agents Erasing system memory each time it is changed whether it has extended rights.
【請求項49】 請求項40に記載の方法において、拡
張された権利セットを有する1つの管理エージェントに
対応する管理デバイスからの要求に応答して、コンピュ
ータでのソフトウェアエンジンの実行を終了するステッ
プを、さらに備えたことを特徴とする方法。
49. The method of claim 40, comprising terminating execution of the software engine on the computer in response to a request from a management device corresponding to one management agent having an extended rights set. , Further comprising:
【請求項50】 請求項40に記載の方法において、拡
張された権利セットを有する1つの管理エージェントに
対応する管理デバイスからの要求に応答して、コンピュ
ータでのソフトウェアエンジンの実行を開始するステッ
プを、さらに備えたことを特徴とする方法。
50. The method of claim 40, wherein initiating execution of the software engine on the computer in response to a request from a management device corresponding to one management agent having an extended rights set. , Further comprising:
【請求項51】 請求項40に記載の方法において、コ
ンピュータは、共同ロケーション施設に置かれたノード
を備えたことを特徴とする方法。
51. The method of claim 40, wherein the computer comprises a node located at a co-location facility.
【請求項52】 請求項40に記載の方法を実行するた
めのプロセッサによって実行可能であるコンピュータプ
ログラムを含むことを特徴とする1つまたは複数のコン
ピュータ読取可能媒体。
52. One or more computer-readable media comprising a computer program executable by a processor for performing the method of claim 40.
JP2001326848A 2000-10-24 2001-10-24 System for restricting data transfer and managing software components of distributed computers Expired - Fee Related JP4188584B2 (en)

Applications Claiming Priority (2)

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
US09/695,820 2000-10-24

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2007141157A Division JP4627768B2 (en) 2000-10-24 2007-05-28 System for restricting data transfer and managing software components of distributed computers

Publications (3)

Publication Number Publication Date
JP2002202952A true JP2002202952A (en) 2002-07-19
JP2002202952A5 JP2002202952A5 (en) 2005-06-30
JP4188584B2 JP4188584B2 (en) 2008-11-26

Family

ID=24794589

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2001326848A Expired - Fee Related JP4188584B2 (en) 2000-10-24 2001-10-24 System for restricting data transfer and managing software components of distributed computers
JP2007141157A Expired - Fee Related JP4627768B2 (en) 2000-10-24 2007-05-28 System for restricting data transfer and managing software components of distributed computers
JP2010233677A Pending JP2011040096A (en) 2000-10-24 2010-10-18 System and method for restricting data transfers and managing software components of distributed computers

Family Applications After (2)

Application Number Title Priority Date Filing Date
JP2007141157A Expired - Fee Related JP4627768B2 (en) 2000-10-24 2007-05-28 System for restricting data transfer and managing software components of distributed computers
JP2010233677A Pending JP2011040096A (en) 2000-10-24 2010-10-18 System and method for restricting data transfers and managing software components of distributed computers

Country Status (3)

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

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
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
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
JP2020081368A (en) * 2018-11-26 2020-06-04 株式会社ソフイア Game machine

Families Citing this family (80)

* 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 (en) * 2001-02-07 2006-12-20 富士通株式会社 Secret information management system and information terminal
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
JP4274311B2 (en) * 2002-12-25 2009-06-03 富士通株式会社 IDENTIFICATION INFORMATION CREATION METHOD, INFORMATION PROCESSING DEVICE, AND COMPUTER PROGRAM
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 (en) 2004-04-30 2010-05-19 リサーチ イン モーション リミテッド System and method for processing data transmission
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 (en) * 2007-09-28 2009-04-23 Hitachi Ltd Mediation method and system for authentication
JP5176482B2 (en) * 2007-10-26 2013-04-03 富士通株式会社 Management program, management method, management apparatus, and communication system
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 (en) * 2011-08-24 2013-11-11 주식회사 팬택 Terminal and method for providing risk of applications using the same
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

Family Cites Families (215)

* 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 (en) 1990-08-01 1992-03-23 Internatl Business Mach Corp <Ibm> Character recognizing device and method using generalized half conversion
JPH04287290A (en) 1990-11-20 1992-10-12 Imra America Inc Hough transformation picture processor
DE69228621T2 (en) * 1991-02-25 1999-07-22 Hewlett Packard Co Object-oriented distributed computer system
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 (en) 1997-01-16 1998-08-07 Honda Motor Co Ltd Line detection method
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 (en) * 1997-07-02 2001-07-06 Bull Sa INFORMATION PROCESSING SYSTEM ARCHITECTURE
JP3829425B2 (en) * 1997-08-08 2006-10-04 ブラザー工業株式会社 Inkjet recording device
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 (en) * 1997-09-26 2005-05-18 ソニー株式会社 Packet transmission control method and apparatus
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 (en) 1998-05-22 2000-08-18 Activcard TERMINAL AND SYSTEM FOR IMPLEMENTING SECURE ELECTRONIC TRANSACTIONS
US6259448B1 (en) * 1998-06-03 2001-07-10 International Business Machines Corporation Resource model configuration and deployment in a distributed computer network
US6311217B1 (en) 1998-06-04 2001-10-30 Compaq Computer Corporation Method and apparatus for improved cluster administration
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 (en) * 1999-11-09 2003-11-05 松下電器産業株式会社 Cluster server device
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 (en) 2000-03-06 2006-06-28 富士通株式会社 Label switch network system
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 (en) * 2000-04-14 2004-11-18 ゴー アヘッド ソフトウェア インコーポレイテッド Network device upgrade system and method
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 (en) * 2000-07-05 2006-04-01 ERNST &amp; YOUNG LLP METHOD AND APPLIANCE TO PROVIDE INFORMATIC SERVICES.
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 (en) 2002-03-29 2009-01-29 Advics Co., Ltd., Kariya Vehicle control device with power steering
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 (en) * 2004-10-20 2006-04-27 Fujitsu Limited Application management program, application management method, and application management device
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

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
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
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
US7698373B2 (en) 2002-12-12 2010-04-13 International Business Machines Corporation Method, processing unit and data processing system for microprocessor communication in a multi-processor system
US7734877B2 (en) 2002-12-12 2010-06-08 International Business Machines Corporation Method and data processing system for processor-to-processor communication in a clustered multi-processor system
US7818364B2 (en) 2002-12-12 2010-10-19 International Business Machines Corporation Method and data processing system for microprocessor communication in a cluster-based multi-processor system
JP2020081368A (en) * 2018-11-26 2020-06-04 株式会社ソフイア Game machine
JP7020684B2 (en) 2018-11-26 2022-02-16 株式会社ソフイア Pachinko machine

Also Published As

Publication number Publication date
EP1202526A3 (en) 2004-05-19
JP2007287165A (en) 2007-11-01
JP2011040096A (en) 2011-02-24
US20050192971A1 (en) 2005-09-01
EP1202526A2 (en) 2002-05-02
JP4188584B2 (en) 2008-11-26
US7043545B2 (en) 2006-05-09
US20050102403A1 (en) 2005-05-12
JP4627768B2 (en) 2011-02-09
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
US20100287271A1 (en) 2010-11-11
US7016950B2 (en) 2006-03-21

Similar Documents

Publication Publication Date Title
JP4188584B2 (en) System for restricting data transfer and managing software components of distributed computers
JP4261096B2 (en) System and method for distributed management of shared computers
US7996687B2 (en) Product for providing a scalable trusted platform module in a hypervisor environment

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041020

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041020

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20041020

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070126

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20070426

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20070502

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070528

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20071214

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080313

RD13 Notification of appointment of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7433

Effective date: 20080314

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20080314

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20080421

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

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110919

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120919

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120919

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130919

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees