JP3948957B2 - 拡張可能なコンピューティング・システム - Google Patents
拡張可能なコンピューティング・システム Download PDFInfo
- Publication number
- JP3948957B2 JP3948957B2 JP2001519281A JP2001519281A JP3948957B2 JP 3948957 B2 JP3948957 B2 JP 3948957B2 JP 2001519281 A JP2001519281 A JP 2001519281A JP 2001519281 A JP2001519281 A JP 2001519281A JP 3948957 B2 JP3948957 B2 JP 3948957B2
- Authority
- JP
- Japan
- Prior art keywords
- subset
- processors
- storage devices
- data processing
- area network
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/02—Reservations, e.g. for tickets, services or events
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/08—Payment architectures
- G06Q20/10—Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
- G06Q20/102—Bill distribution or payments
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
- H04L12/4675—Dynamic sharing of VLAN information amongst network nodes
- H04L12/4679—Arrangements for the registration or de-registration of VLAN attribute values, e.g. VLAN identifiers, port VLAN membership
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/35—Switches specially adapted for specific applications
- H04L49/351—Switches specially adapted for specific applications for local area network [LAN], e.g. Ethernet switches
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1031—Controlling of the operation of servers by a load balancer, e.g. adding or removing servers that serve requests
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/20—Support for services
- H04L49/205—Quality of Service based
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/35—Switches specially adapted for specific applications
- H04L49/354—Switches specially adapted for specific applications for supporting virtual local area networks [VLAN]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/35—Switches specially adapted for specific applications
- H04L49/356—Switches specially adapted for specific applications for storage area networks
- H04L49/357—Fibre channel switches
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1029—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- General Engineering & Computer Science (AREA)
- Tourism & Hospitality (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Mathematical Physics (AREA)
- Entrepreneurship & Innovation (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computer And Data Communications (AREA)
- Multi Processors (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Preparation Of Compounds By Using Micro-Organisms (AREA)
- Molding Of Porous Articles (AREA)
- Medicines Containing Antibodies Or Antigens For Use As Internal Diagnostic Agents (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Jib Cranes (AREA)
Description
【発明の技術分野】
本発明は、一般にデータ処理に関する。より詳細には、本発明は、拡張可能、フレキシブル、かつスケーラブルなコンピューティング・システムを提供するための方法、装置、およびメカニズムに関する。
【0002】
【発明の背景】
今日のWebサイトおよび他のコンピュータ・システムの構築者は、多くのシステム・プランニングに関する問題を処理しなければならない。こうした問題には、通常の成長、予測される、または予測できないピーク時需要、サイトの使用可能度およびセキュリティなどを見込んだ処理能力プランニングが含まれる。Web上にサービスを提供しようとする企業は新しいビジネスおよびサービス・モデルを携え、その分野を革新し、首位に立とうと考えるが、それを実現させるためには大規模なWebサイトを設計、構築、および運営することの少なからぬ複雑さに対処しなければならない。これには、サイトを動作可能な状態のままで成長させ、かつ拡張する必要がある。
【0003】
これをすべて実行するためには、潜在的に大規模かつ複雑である可能性のあるこうしたサイトのエンジニアリングおよび運営のできる技術者を探し雇い入れることが必要である。こうした大規模サイトの設計、構築、および運営は、多くの組織にとって中核業務ではまったくないため、これが難題を生み出している。
【0004】
こうした問題の対応策の1つが、他企業の他のWebサイトと共用で、第三者のサイトで企業Webサイトをホストすることである。こうしたアウトソーシング施設は、現在、Exodus(TM)、AboveNet(TM)、GlobalCenter(TM)などの企業から利用することができる。これらの施設は、物理的なスペース、および冗長ネットワークや電力施設を提供しており、その結果、企業の顧客またはユーザはこれらを提供する必要がない。ネットワークおよび電力施設は、多くの企業または顧客が共用する。
【0005】
しかし、これら施設のユーザには、自らの施設の構築、運営、および展開を行う中で、自らのコンピューティング・インフラストラクチャに関する多くの作業を行なう必要が依然として残されている。こうした施設でホストされる企業の情報技術管理者は、施設で自分のコンピューティング機器の選択、導入、構成、および保守を行う責任を負う。管理者は、資源プランニングおよびピーク時処理能力の扱いなどの困難な問題に、なおも直面しなければならない。
【0006】
たとえアウトソーシング企業がコンピューティング施設も提供している場合であっても(たとえばDigex(TM))、成長させるには同じく手操作の、誤りを犯しやすい管理ステップが含まれているので、アウトソーシング企業にとって拡張および成長は決して容易ではない。さらに、予測できないピーク時の需要に対する処理能力プランニングという問題も残されたままである。
【0007】
さらに、Webサイトには、それぞれ異なる要件がある。たとえば、特定のWebサイトが、個別に管理および制御する機能を必要とする場合がある。サービス・プロバイダを共用している他のすべてのサイトからWebサイトを隔離する、特定のタイプまたはレベルのセキュリティを必要とするものもある。ほかの場所にある企業イントラネットとの安全な接続を必要とするものもある。
【0008】
また、内部トポロジの点でも様々に異なるWebサイトがある。サイトの中には、単にWebのロード・バランサによってロード・バランシングされた一並びのWebサーバを含むだけのものがある。好適なロード・バランサは、Cisco Systems,Inc.(TM)のLocal Director(TM)、F5Labs(TM)のBigIP(TM)、Alteon(TM)のWeb Director(TM)などである。他のサイトには、多層様式で構築されるものもあり、それによって一並びのWebサーバがHTTP(Hypertext Transfer Protocol)要求を処理するが、大量のアプリケーション論理は別のアプリケーション・サーバで実施される。そして今度はこれらのアプリケーション・サーバを、元のデータベース・サーバの層に接続する必要がある。
【0009】
これらの異なる構成シナリオの一部が、図1A、図1B、および図1Cに示されている。図1Aは、CPU102およびディスク104を含む単一のマシン100を含む、単純なWebサイトを示す構成図である。マシン100は、インターネット106として知られるグローバルなパケット交換データ・ネットワークまたは他のネットワークに結合される。マシン100は、前述の種類の共用設備に収容することができる。
【0010】
図1Bは、複数のWebサーバWSA、WSB、WSCを含む1層のWebサーバ・ファーム110を示す構成図である。それぞれのWebサーバが、インターネット106に結合されたロード・バランサ112に結合される。ロード・バランサは、各サーバにかかる処理負荷の均衡を保つためにサーバ間のトラフィックを分割する。ロード・バランサ112は、Webサーバを無許可のトラフィックから守るためのファイアウォールを含むかまたはこれと結合することもできる。
【0011】
図1Cは、WebサーバW1、W2などの層、アプリケーション・サーバA1、A2などの層、およびデータベース・サーバD1、D2などの層を含む、3層のサーバ・ファーム120を示す。Webサーバは、HTTP要求を処理するために提供される。アプリケーション・サーバは、大半のアプリケーション論理を実行する。データベース・サーバは、データベース管理システム(DBMS)ソフトウェアを実行する。
【0012】
構築する必要がある種類のWebサイトのトポロジの多様性を考えれば、大規模なWebサイトを構築するには、それぞれを特注構築することが唯一の方法であるのは明らかであろう。実際のところ、これが従来の方法であった。多くの組織が同じ問題について個別に苦労を重ね、それぞれのWebサイトをゼロから特注構築してきた。これは非効率的であり、様々な企業で膨大な量の作業を重複して行うことになる。
【0013】
従来の方法に付随するもう1つの問題は、資源および処理能力のプランニングである。Webサイトは、日によって、あるいは1日の中でも時間によって、かなり異なるレベルのトラフィックを受信する可能性がある。トラフィックのピーク時には、Webサイトのハードウェアまたはソフトウェアは、オーバロードが原因で妥当な時間内に要求に応答できない場合がある。その他の時間には、Webサイトのハードウェアまたはソフトウェアは、処理能力過剰で十分に活用できない可能性がある。従来の方法では、過度の経費をかけずにあるいは処理能力過剰とならないように、ピーク時のトラフィックを処理できるだけのハードウェアとソフトウェアの均衡を見出すことは、難しい問題である。多くのWebサイトでは、適切な均衡を見出しておらず、絶えず処理能力不足または処理能力過剰となっている。
【0014】
他の問題は、人的な誤りによって引き起こされる障害である。手作業で構築されたサーバ・ファームを使用する現在の方法に存在する大きな潜在的危険は、新しいサーバを作動中のサーバ・ファームに組み入れる際に発生した人的誤りが、サーバ・ファームの誤動作を引き起こし、その結果、そのWebサイトのユーザにサービスを提供できなくなる可能性があるということである。
【0015】
前述の内容に基づき、この分野では、特別注文による構築を必要とせず、オン・デマンドで即時にかつ容易に拡張できるコンピューティング・システムを提供するように改善された方法および装置が明らかに必要である。
【0016】
さらに、トラフィック・スループットの変化を反映して、必要に応じて展開したり隠したりすることのできる、複数の分離された処理ノードの作成をサポートするコンピューティング・システムも必要である。他の必要性は、本書に示した開示で明らかになろう。
【0017】
【発明の概要】
前述の必要性および目的、ならびに以下の記述から明らかになるであろう他の必要性および目的は、本発明によって達成されるものであって、本発明の一態様には、大規模コンピューティング構造(「コンピューティング・グリッド」)に基づいて、高度にスケーラブルであり、高度に使用可能および確実なデータ処理サイトを作成するための方法および装置が含まれる。コンピューティング・グリッドは、いったん物理的に構築され、次いでオン・デマンドで様々な組織に論理的に分割される。コンピューティング・グリッドには、1つまたは複数のVLANスイッチおよび1つまたは複数の記憶域ネットワーク(SAN)スイッチに結合された、多数のコンピューティング要素が含まれる。複数の記憶デバイスがSANスイッチに結合され、適切なスイッチング論理およびコマンドを介して、1つまたは複数のコンピューティング要素に選択的に結合することができる。VLANスイッチの1ポートが、インターネットなどの外部ネットワークに結合される。監視メカニズム、レイヤ、マシン、またはプロセスが、VLANスイッチおよびSANスイッチに結合される。
【0018】
第一に、すべての記憶デバイスおよびコンピューティング要素がアイドル・プールに割り当てられる。プログラムの制御の下で、監視メカニズムが、VLANスイッチおよびSANスイッチのポートを1つまたは複数のコンピューティング要素および記憶デバイスに結合するために、これらを動的に構成する。その結果、こうした要素およびデバイスはアイドル・プールから論理的に除去され、1つまたは複数の仮想サーバ・ファーム(VSF)の一部となる。それぞれのVSFコンピューティング要素が、コンピューティング要素がブートストラップの動作および作成を実行するために使用可能なブート・イメージを含む記憶デバイスに向けられるか、またはそうでなければ関連付けられる。
【0019】
コンピューティング・グリッドをいったん物理的に構築し、コンピューティング・グリッドの一部を様々な組織にオン・デマンドで確実かつ動的に割り振ることで、各サイトを特別注文で構築する場合には達成が困難な、スケール・メリットが達成される。
【0020】
本発明は、添付の図面において限定的なものでなく例示的なものとして示されており、この図面では、同じ要素が同じ参照番号で表されている。
【0021】
【好適な実施形態の説明】
拡張可能コンピューティング・システムを提供するための方法および装置について説明する。以下の説明では、本発明について完全に理解してもらうために、例示の目的で多数の特有の詳細について記載する。ただし、当分野の技術者には、本発明がこれらの特有の詳細なしに実施できることが明らかになろう。他の場合には、本発明を必要以上に不明瞭にすることがないように、構成図にはよく知られた構造およびデバイスが示される。
【0022】
(仮想サーバ・ファーム(VSF))
一実施形態によれば、大規模コンピューティング構造(「コンピューティング・グリッド」)が提供される。コンピューティング・グリッドは、いったん物理的に構築し、次いでオン・デマンドで様々な組織に論理的に分割することができる。複数の企業または組織のそれぞれに、コンピューティング・グリッドの一部が割り振られる。各組織のコンピューティング・グリッドの論理部分が、仮想サーバ・ファーム(VSF)と呼ばれる。各組織は、そのVSFの独立した管理制御を保持する。各VSFは、サーバ・ファーム上に配置されたリアルタイム要求または他の要素に基づいて、CPUの数、記憶容量およびディスク、ならびにネットワーク帯域幅によって動的に変更することができる。各VSFは、たとえすべて物理的に同じコンピューティング・グリッドから論理的に作成された場合であっても、あらゆる他の組織のVSFから守られている。VSFは、私設専用回線または仮想私設ネットワーク(VPN)のいずれかを使用して、イントラネットを他の組織のVSFにさらすことなく、イントラネットに再接続することができる。
【0023】
組織は、たとえコンピュータへの管理アクセスをフルに実施することができる(たとえばスーパー・ユーザまたはルート)か、またはコンピュータが接続されたローカル・エリア・ネットワーク(LAN)上のすべてのトラフィックを監視することができる場合であっても、コンピューティング・グリッドの割り振られた部分、すなわちそのVSFにあるデータおよびこれらのコンピューティング要素にのみアクセスすることが可能である。これは、VSFのセキュリティ外辺部が動的に伸縮する、動的なファイアウォール・スキームを使用して達成される。
【0024】
各VSFは、インターネット、イントラネット、またはエクストラネットを介してアクセス可能な組織のコンテンツおよびアプリケーションをホストするのに使用することができる。
【0025】
コンピューティング要素ならびにそれに関連付けられたネットワーキングおよび記憶要素の構成および制御は、コンピューティング・グリッド内のいかなるコンピューティング要素を介しても直接アクセスすることのできない、監視メカニズムによって実施される。便宜上、本書では監視メカニズムを制御プレーンと呼び、1つまたは複数のプロセッサまたはプロセッサのネットワークを含むことができる。監視メカニズムは、監視プログラム、制御装置などを含むことができる。本明細書に記載するように、他の方法を使用することもできる。
【0026】
制御プレーンは、ネットワーク内でまたは他の手段によって相互接続することができる1つまたは複数のサーバなどの、監視目的で割り当てられた完全に独立したコンピューティング要素セット上で動作する。これは、グリッド内のネットワーキングおよび記憶要素の特別な制御ポートまたはインターフェースを介して、コンピューティング・グリッドのコンピューティング、ネットワーキング、および記憶要素上で制御動作を実行するものである。制御プレーンは、システムのスイッチング要素に物理インターフェースを提供し、システム内のコンピューティング要素の負荷を監視し、グラフィカル・ユーザ・インターフェースまたは他の好適なユーザ・インターフェースを使用する管理および監督機能を提供するものである。
【0027】
制御プレーンを実行中のコンピュータは、コンピューティング・グリッド内にある(したがって任意の特有のVSF内にある)コンピュータには論理的に不可視であり、コンピューティング・グリッド内にあるかまたは外部コンピュータからの要素を介して、いかなる方法でも攻撃または破壊されることはない。制御プレーンのみが、コンピューティング・グリッド内のデバイス上にある制御ポートへの物理的接続を有し、特定のVSFでのメンバシップを制御する。コンピューティング内のデバイスは、これらの特殊な制御ポートを介してのみ構成することが可能であるため、コンピューティング・グリッド内のコンピューティング要素は、セキュリティ外辺部を変更するか、あるいは許可されていない記憶デバイスまたはコンピューティング・デバイスにアクセスすることができない。
【0028】
したがってVSFは、組織が、大規模共用コンピューティング・インフラストラクチャ、すなわちコンピューティング・グリッドから動的に作成された専用サーバ・ファームを含むように見える、コンピューティング施設を取り扱えるようにするものである。本明細書に記載のコンピューティング・アーキテクチャで結合された制御プレーンは、コンピューティング・グリッドのデバイスのハードウェアで実施されるアクセス制御メカニズムを介してプライバシーおよび保全性が保護されている専用サーバ・ファームを提供する。
【0029】
各VSFの内部トポロジは、制御プレーンによって制御される。制御プレーンは、本明細書に記載のコンピュータ、ネットワーク・スイッチ、および記憶ネットワーク・スイッチの基本的な相互接続を採用し、これらを使用して様々なサーバ・ファーム構成を作成することができる。これらには、ロード・バランサがフロントエンドとなる単一層のWebサーバ・ファーム、ならびにWebサーバがアプリケーション・サーバに伝え、次にこれがデータベース・サーバに伝える多層構成が含まれるが、これらに限定されるものではない。様々なロード・バランシング、多層、およびファイアウォールの構成が可能である。
【0030】
(コンピューティング・グリッド)
コンピューティング・グリッドは、一箇所に存在するか、または広い範囲に分散する場合がある。本明細書では第一に、純粋にローカル・エリア技法で構成される、単一構内規模のネットワーク状況におけるコンピューティング・グリッドについて説明する。次いで本明細書では、コンピューティング・グリッドがワイド・エリア・ネットワーク(WAN)を介して分散された場合について説明する。
【0031】
図2は、ローカル・コンピューティング・グリッド208を含む、拡張可能コンピューティング・システム200の一構成を示す、構成図である。本明細書では、「拡張可能」とは一般に、システムがフレキシブルかつスケーラブルであり、特定企業またはユーザに対してオン・デマンドでコンピューティング能力を増減する機能を有するという意味である。ローカル・コンピューティング・グリッド208は、多数のコンピューティング要素CPU1、CPU2、・・・CPUnで構成される。実施形態の一例では、10,000またはそれ以上のコンピューティング要素が存在可能である。これらのコンピューティング要素は、長寿命の状態情報を要素ごとに含むかまたは記憶することがないため、ローカル・ディスクなどの持続的または不揮発性の記憶装置なしに構成することができる。代わりに、すべての長寿命状態情報は、コンピューティング要素とは別の、1つまたは複数のSANスイッチ202を含む記憶域ネットワーク(SAN)を介してコンピューティング要素に結合された、ディスクDISK1、DISK2、・・・DISKn上に記憶される。好適なSANスイッチは、Brocade(TM)およびExcel(TM)から市販されている。
【0032】
すべてのコンピューティング要素は、仮想LAN(VLAN)に分けることのできる1つまたは複数のVLANスイッチ204を介して互いに相互接続されている。VLANスイッチ204はインターネット106に結合される。一般に、コンピューティング要素には、VLANスイッチに接続された1つまたは2つのネットワーク・インターフェースが含まれる。図2では、簡略化するために、すべてのノードが2つのネットワーク・インターフェースを備えるように示されているが、これよりも少ないかまたは多いネットワーク・インターフェースを備えることも可能である。現在では、多くの製造販売業者が、VLAN機能をサポートするスイッチを提供している。たとえば、好適なVLANスイッチは、Cisco Systems,Inc.(TM)およびXtreme Networks(TM)から市販されている。同様に、ファイバ・チャネル・スイッチ、SCSI対ファイバ・チャネル・ブリッジング・デバイス、およびネットワーク結合記憶装置(NAS/Network Attached Storage)デバイスを含み、SANを構築するための製品が数多く市販されている。
【0033】
制御プレーン206は、SAN制御パス、CPU制御パス、およびVLAN制御パスによって、それぞれ、SANスイッチ202、CPU1、CPU2、・・・CPUnといったCPU、およびVLANスイッチ204に結合される。
【0034】
それぞれのVSFは、VLANセット、VLANに取り付けられたコンピューティング要素セット、およびコンピューティング要素セットに結合されたSAN上で使用可能な記憶装置のサブセットで構成される。SAN上で使用可能な記憶装置のサブセットはSANゾーンと呼ばれ、SANハードウェアによって他のSANゾーンの一部であるコンピューティング要素からのアクセスから保護される。偽造不可能なポート識別子を提供するVLANを使用して、一顧客またはエンド・ユーザが、他の顧客またはエンド・ユーザのVSF資源へのアクセスを取得しないようにすることが好ましい。
【0035】
図3は、SANゾーンを特徴とする仮想サーバ・ファームの一例を示す構成図である。複数のWebサーバWS1、WS2、などが、第1のVLAN(VLAN1)によって、ロード・バランサ(LB)/ファイアウォール302に結合される。第2のVLAN(VLAN2)は、インターネット106とロード・バランサ(LB)/ファイアウォール302とを結合する。各Webサーバは、本明細書でさらに説明するメカニズムを使用して、CPU1、CPU2、などの中から選択することができる。WebサーバはSANゾーン304に結合され、これは1つまたは複数の記憶デバイス306a、306bに結合される。
【0036】
任意の所与の時点で、図2のCPU1などのコンピューティング・グリッド内のコンピューティング要素は、単一のVSFに関連付けられたVLANのセットおよびSANゾーンに接続されているだけである。VSFは典型的には、異なる組織間で共用されない。SAN上にあり、単一のSANゾーンに属した記憶装置のサブセット、ならびにこれとVLAN上にあるコンピューティング要素とに関連付けられたVLANセットが、VSFを定義する。
【0037】
VLANのメンバシップおよびSANゾーンのメンバシップを制御することによって、制御プレーンは、コンピューティング・グリッドを複数のVSFに論理的に区分させる。1つのVSFのメンバは、他のVSFのコンピューティング資源または記憶資源にアクセスすることができない。こうしたアクセス制約は、VLANスイッチによってハードウェア・レベルで、ならびにファイバ・チャネル・スイッチなどのSANハードウェアおよびSCSI対ファイバ・チャネル・ブリッジング・ハードウェアなどのエッジ・デバイスのポート・レベルのアクセス制御メカニズム(たとえばゾーニング)によって、強制される。コンピューティング・グリッドの一部を形成するコンピューティング要素は、物理的にはVLANスイッチおよびSANスイッチの制御ポートまたはインターフェースに接続されていないため、VLANまたはSANゾーンのメンバシップを制御することができない。したがって、コンピューティング・グリッドのコンピューティング要素は、それらが格納されているVSF内にないコンピューティング要素にはアクセスすることができない。
【0038】
制御プレーンを実行するコンピューティング要素だけが、グリッド内にあるデバイスの制御ポートまたはインターフェースに物理的に接続されている。コンピューティング・グリッド内にあるデバイス(コンピュータ、SANスイッチ、およびVLANスイッチ)は、こうした制御ポートまたはインターフェースを介してのみ構成することができる。これによって、コンピュータ・グリッドを複数のVSFに動的に区分させる、単純ではあるが非常に確実な手段が提供される。
【0039】
VSF内にあるそれぞれのコンピューティング要素は、任意の他のコンピューティング要素に置き換えられる。所与のVSFに関連付けられたコンピューティング要素、VLAN、およびSANゾーンの数は、時間の経過と共に、制御プレーンの制御の下で変化することがある。
【0040】
一実施形態では、コンピューティング・グリッドには、予備にとってある多数のコンピューティング要素を含むアイドル・プールが含まれる。アイドル・プールからのコンピューティング要素は、VSFが利用可能なCPUまたはメモリ容量を増やすため、またはVSF内にある特定のコンピューティング要素の障害を処理するために、特定のVSFに割り当てることができる。コンピューティング要素がWebサーバとして構成される場合、アイドル・プールは、変化するかまたは「満杯の」Webトラフィック負荷および関連するピーク時処理負荷のための、大規模な「緩衝器」としての働きをする。
【0041】
アイドル・プールは、多くの異なる組織間で共用されるため、単一の組織がアイドル・プールの全経費を支払う必要がなくなり、スケール・メリットが与えられる。異なる組織が1日のうちで異なる時間に必要に応じてアイドル・プールからコンピューティング要素を取得することが可能であり、それによって、各VSFを必要なときに展開させ、トラフィックが通常のレベルに落ち着いたときには縮小させることができる。多くの異なる組織が同時にピークの状態を持続し、それによって潜在的にアイドル・プールの容量を使い尽くしてしまう場合、CPUおよび記憶要素を追加することでアイドル・プールを増やすことができる(スケーラビリティ)。アイドル・プールの容量は、定常状態で、特定のVSFが必要なときにアイドル・プールから追加のコンピューティング要素を取得できない確率を大幅に減らすように設計されている。
【0042】
図4A、図4B、図4C、および図4Dは、コンピューティング要素をアイドル・プールの内外へ移動させることに関連した、連続するステップを示す構成図である。はじめに図4Aを参照すると、制御プレーンが、VSF1、VSF2と表示された第1および第2のVSFに論理的に接続されたコンピューティング・グリッドの要素を有すると想定される。アイドル・プール400には複数のCPU402が含まれ、そのうちの1つがCPUXと表示されている。図4Bでは、VSF1に追加のコンピューティング要素が必要であることが明らかになった。したがって、経路404で示されるように、制御プレーンはCPUXをアイドル・プール400からVSF1に移動させる。
【0043】
図4Cでは、VSF1にはCPUXが不要になったため、制御プレーンがCPUXをVSF1からアイドル・プール400へ戻すように移動させる。図4Dでは、VSF2に追加のコンピューティング要素が必要であることが明らかになった。したがって、制御プレーンはCPUXをアイドル・プール400からVSF2に移動させる。このようにして、時間の経過と共にトラフィックの条件が変化するに従って、単一のコンピューティング要素がアイドル・プールに属し(図4A)、その後特定のVSFに割り当てられ(図4B)、その後アイドル・プールに戻され(図4C)、その後他のVSFに属する(図4D)ことが可能である。
【0044】
これらの各段階で、制御プレーンは、コンピューティング要素に関連付けられたLANスイッチおよびSANスイッチが、特定のVSF(またはアイドル・プール)に関連付けられたVLANおよびSANゾーンの一部となるように構成する。一実施形態によれば、それぞれの移行の間に、コンピューティング要素は電源を切るかまたはリブートされる。再度電源を入れると、オペレーティング・システム(たとえばLinux(TM)、NT(TM)、Solaris(TM)など)のブート可能イメージを含む、SAN上にある別の部分の記憶ゾーンを表示する。記憶ゾーンには、各組織に特有のデータ部分も含まれる(たとえばWebサーバに関連付けられたファイル、データベース区画など)。これは、他のVSFのVLANセットの一部である他のVLANの一部でもあるため、移行先であるVSFのVLANに関連付けられた、CPU、SAN記憶デバイス、およびNASデバイスにアクセスすることができる。
【0045】
好ましい実施形態では、記憶ゾーンには、コンピューティング要素によって想定可能な役割に関連付けられた、複数の事前に定義された論理設計図が含まれる。初期時には、Webサーバ、アプリケーション・サーバ、データベース・サーバなどの、任意の特定の役割またはタスク専用のコンピューティング要素はない。コンピューティング要素の役割は、複数の事前に定義され記憶された設計図の1つから取得されるものであって、設計図はそれぞれが、役割に関連付けられたコンピューティング要素にブート・イメージを定義するものである。設計図は、ブート・イメージ位置を役割に関連付けることができる、ファイル、データベース・テーブル、または任意の他の記憶様式の形態で格納することができる。
【0046】
したがって、図4A、図4B、図4C、および図4DでのCPUXの移動は物理的ではなく論理的であって、制御プレーンの制御下でVLANスイッチおよびSANゾーンを再構成することによって達成される。さらに、初期にコンピューティング・グリッド内にある各コンピューティング要素は、本来は代替可能なものであり、仮想サーバ・ファーム内で接続された後にのみ特有の処理に関する役割を想定して、ブート・イメージからソフトウェアをロードする。Webサーバ、アプリケーション・サーバ、データベース・サーバなどのような、任意の特定の役割またはタスク専用のコンピューティング要素はない。コンピューティング要素の役割は、複数の事前に定義され記憶された設計図の1つから取得されるものであって、設計図はそれぞれが、役割に関連付けられたコンピューティング要素にブート・イメージを定義するものである。
【0047】
任意の所与のコンピューティング要素(ローカル・ディスクなど)に記憶された長寿命の状態情報がないため、異なるVSF間でノードを容易に移動させることが可能であり、まったく異なるOSおよびアプリケーション・ソフトウェアを実行することができる。さらにこれによって、予定されているかまたは予定外のダウンタイム発生時に、各コンピューティング要素が非常に交換しやすくなる。
【0048】
特定のコンピューティング要素は、様々なVSFから出し入れされる場合に、異なる役割を果たすことができる。たとえば、コンピューティング要素は、1つのVSFにおいてWebサーバとして動作することが可能であり、異なるVSFに入れられたときにはデータベース・サーバ、Webロード・バランサ、ファイアウォールなどとなることができる。また、異なるVSF内でLinux(TM)、NT(TM)、またはSolaris(TM)などの異なるオペレーティング・システムを連続的にブートして実行することもできる。したがって、コンピューティング・グリッド内にある各コンピューティング要素は代替可能であり、固定的な役割は与えられていない。そのため、コンピューティング・グリッドの予備的処理能力全体を使用して、任意のVSFが必要とする任意のサービスを提供することができる。これにより、特定のサービスを実行している各サーバが、潜在的に同じサービスを提供できる何千ものバックアップ・サーバを備えることになるため、単一のVSFが提供するサービスに対して、高い使用可能度および信頼性が与えられる。
【0049】
さらに、コンピューティング・グリッドの大規模な予備的処理能力によって、動的なロード・バランシング特性、ならびに高いプロセッサ使用可能度の両方を提供することができる。この能力は、VLANを介して相互接続され、SANを介して記憶デバイスの構成可能ゾーンに接続された、すべてが制御プレーンによってリアルタイムで制御される、ディスクのないコンピューティング要素を固有に組み合わせることによって実行することができる。あらゆるコンピューティング要素は、任意のVSF内で任意の必須サーバの役割を果たすことが可能であり、SAN内の任意のディスクの任意の論理区画に接続可能である。グリッドがさらに多くのコンピューティング能力またはディスク容量を必要とする場合、コンピューティング要素またはディスク記憶域がアイドル・プールに手動で追加され、これはより多くの組織にVSFサービスが提供されるにつれて、経時的に減らすことができる。CPUの数、ネットワークおよびディスクの帯域幅、ならびにVSFが使用可能な記憶域を増やすために、手動介入は不要である。こうしたすべての資源は、アイドル・プール内で制御プレーンが使用可能なCPU、ネットワークおよびディスクの資源から、オン・デマンドで割り振られる。
【0050】
特定のVSFは、手動再構成の対象ではない。アイドル・プール内のマシンのみが、手動でコンピューティング・グリッド内に組み入れられる。その結果、現在手動で構築されたサーバ・ファーム内に存在する潜在的に高い危険性が除去される。新しいサーバを活動中のサーバ・ファーム内に組み入れる際に、人的な誤りによってサーバ・ファームが誤動作を起こす場合があり、その結果、そのWebサイトのユーザに対するサービスが失われることがある、という可能性は仮想的には消去される。
【0051】
制御プレーンは、記憶デバイスに接続されたSANに格納されたデータの複製も行うため、任意の特定記憶要素に障害が発生しても、システムのどんな部分にもサービスの損失は発生させない。SANを使用してコンピューティング・デバイスから長寿命記憶装置を分離し、冗長な記憶装置およびコンピューティング要素を提供することにより、任意のコンピューティング要素を任意の記憶区画に接続することが可能であり、高い使用可能度が達成される。
【0052】
(仮想サーバ・ファームの確立、そのファームへの処理装置の追加、およびそのファームからの処理装置の除去に関する詳細な例)
図5Aは、実施形態によるVSFシステムを示す構成図である。図5Aを参照しながら、VSFの作成、そのVSFへのノードの追加、およびそのVSFからのノードの削除に使用することができる、詳細なステップについて下記で説明する。
【0053】
図5Aは、VLAN対応スイッチ504に結合されたコンピュータA〜Gを含む、コンピューティング要素502を示す図である。VLANスイッチ504はインターネット106に結合され、VLANスイッチにはポートV1、V2などがある。さらにコンピュータA〜Gは、SANスイッチ506に結合され、これが複数の記憶デバイスまたはディスクD1〜D5に結合される。SANスイッチ506にはポートS1、S2などがある。制御プレーン・マシン508は、制御パスおよびデータ・パスによって、SANスイッチ506およびVLANスイッチ504に結合される。制御プレーンは、制御ポートを介してこれらのデバイスに制御コマンドを送信することができる。
【0054】
説明を簡単にするために、図5Aではコンピューティング要素の数を少なくしてある。実際には、たとえば何千またはそれ以上に上る多数のコンピュータと、同様に多数の記憶デバイスによって、コンピューティング・グリッドが形成されている。こうした大規模な構造では、複数のSANスイッチが相互接続されてメッシュを形成し、複数のVLANスイッチが相互接続されてVLANメッシュを形成する。ただし、単純でわかりやすくするために、図5Aには単一のSANスイッチおよび単一のVLANスイッチが示されている。
【0055】
初期時に、制御プレーンがVSFの作成要求を受け取るまでは、すべてのコンピュータA〜Gがアイドル・プールに割り当てられる。VLANスイッチのすべてのポートは特定のVLANに割り当てられ、これをVLAN 1(アイドル・ゾーン用)と表示するものとする。制御プレーンが、1つのロード・バランサ/ファイアウォールと、SAN上の記憶装置に接続された2つのWebサーバとを含む、VSFの構築を要求されたものと想定する。制御プレーンへの要求は、管理インターフェースまたは他のコンピューティング要素を介して着信することができる。
【0056】
これに応答して、制御プレーンはCPU Aをロード・バランサ/ファイアウォールとして割り当てるかまたは割り振り、CPU BおよびCをWebサーバとして割り振る。CPU Aは、論理上、SANゾーン1に配置され、ロード・バランシング/ファイアウォール用の専用ソフトウェアを含むディスク上のブート可能区画が指し示される。「指し示される」という用語は便宜上使用されており、CPU Aが動作させる必要のある適切なソフトウェアを取得するかまたは見つけることができるのに十分な情報が、何らかの手段によってCPU Aに与えられることを示す意図の用語である。CPU AをSANゾーン1に配置することで、そのSANゾーンのSANによって制御されるディスクからCPU Aが資源を取得することができる。
【0057】
ロード・バランサは、CPU BおよびCを2つのWebサーバとして理解するように制御プレーンによって構成され、ロード・バランシングを行うことが想定される。ファイアウォール構成により、CPU BおよびCがインターネット106から許可なくアクセスされるのを防ぐことができる。CPU BおよびCには、特定のオペレーティング・システム(たとえば、Solaris(TM)、Linux(TM)、NT(TM)など)およびWebサーバ・アプリケーション・ソフトウェア(たとえばApache)用のブート可能OSイメージを含む、SAN上のディスク区画が指し示される。VLANスイッチは、VLAN 1上にポートv1およびv2を配置し、VLAN 2上にポートv3、v4、v5、v6、およびv7を配置するよう構成される。制御プレーンは、SANゾーン1にファイバ・チャネル・スイッチ・ポートs2、s3、およびs8を配置するように、SANスイッチ506を構成する。
【0058】
CPUにどのように特定のディスク・ドライブが指し示されるか、およびこれがブートアップおよびディスク・データへの共用アクセスに関して何を意味するかについて、さらに説明する。
【0059】
図6は、結果として生じる、集合的にVSF1と呼ばれるコンピューティング要素の論理接続を示す構成図である。ディスク・ドライブDD1は、記憶デバイスD1、D2などの中から選択される。図6に示されるように、いったん論理構造が達成されると、CPU A、B、Cに起動コマンドが与えられる。これに応答して、CPU Aは専用のロード・バランサ/ファイアウォール・マシンとなり、CPU B、CはWebサーバとなる。
【0060】
次に、ポリシー・ベースの規則により、制御プレーンが、VSF 1内に他のWebサーバが必要であると判断するものと想定する。これは、Webサイトに入ってくる要求の数が増えるためであり、顧客プランでは少なくとも3つのWebサーバをVSF 1に追加することが可能である。あるいは、VSFを所有または操作する組織が他のサーバを要求し、それ自体のVSFにサーバを追加できるようにする特権が付与されたWebページなどの管理メカニズムを介して追加したものである。
【0061】
これに応答して、制御プレーンはCPU DをVSF 1に追加することを決定する。そのために、制御プレーンは、VLAN 2にポートv8およびv9を追加して、CPU DをVLAN 2に追加することになる。また、CPU DのSANポートs4もSANゾーン1に追加される。CPU Dには、Webサーバとしてブートアップし実行するSAN記憶装置のブート可能部分が指し示される。CPU Dは、Webページ・コンテンツ、実行可能サーバ・スクリプトなどからなる、SAN上にある共用データへの読み取り専用アクセスも取得する。この方法で、サーバ・ファームに関するWeb要求が処理可能となり、CPU BおよびCが要求を処理する。さらに制御プレーンは、ロード・バランシングが行われるサーバ・セットの一部としてCPU Dを含むように、ロード・バランサ(CPU A)を構成することにもなる。
【0062】
次にCPU Dがブートアップされ、この時点でVSFのサイズが3つのWebサーバと1つのロード・バランサに増やされている。図7は、結果的に生じる論理接続を示す構成図である。
【0063】
ここで制御プレーンが、VSF 2と命名されることになり、2つのWebサーバおよび1つのロード・バランサ/ファイアウォールを必要とする、他のVSFを作成する要求を受け取ると想定する。制御プレーンは、CPU Eをロード・バランサ/ファイアウォールとし、CPU F、GをWebサーバとするように割り振る。これでCPU EはCPU F、Gが互いにロード・バランシングされる2つのマシンであることを理解するように構成される。
【0064】
この構成を実施するために、制御プレーンは、VLAN 1がポートv10、v11を含み(すなわち、インターネット106に接続され)、VLAN 3がポートv12、v13、およびv14、v15を含むように、VLANスイッチ504を構成する。同様に、SANゾーン2がSANポートs6およびs7およびs9を含むように、SANスイッチ506を構成する。このSANゾーンには、CPU Eをロード・バランサとして実行し、CPU FおよびGを、SANゾーン2のディスクD2に含まれる共用読取り専用ディスク区画を使用するWebサーバとして実行するのに必要なソフトウェアを含む、記憶装置が含まれる。
【0065】
図8は、結果的に生じる論理接続を示す構成図である。2つのVSF(VSF 1、VSF 2)は同じ物理VLANスイッチおよびSANスイッチを共用するが、2つのVSFは論理的に区分されている。CPU B、C、Dにアクセスするユーザ、またはVSF 1を所有するかまたは動作させる企業は、VSF 1のCPUおよび記憶装置にのみアクセスできる。こうしたユーザは、VSF 2のCPUまたは記憶装置にはアクセスできない。これは、唯一の共用セグメント(VLAN 1)上にある別々のVLANおよび2つのファイアウォールと、2つのVSFが構成される異なるSANゾーンとの組み合わせによって生じるものである。
【0066】
さらに、その後、制御プレーンはVSF 1を2つのWebサーバに戻すことを決定すると想定する。これは、VSF 1上で一時的に増加した負荷が減少したか、または何らかの他の管理的処置が講じられたためである。これに応答して、制御プレーンは、CPUの電源切断を含む可能性のある特別なコマンドによって、CPU Dをシャットダウンする。CPUがいったんシャットダウンされると、制御プレーンはポートv8およびv9をVLAN 2から除去し、SANポートs4もSANゾーン1から除去する。ポートs4はSANのアイドル・ゾーンに配置される。SANのアイドル・ゾーンには、たとえばSANゾーン1(アイドル用)またはゾーン0が指定される。
【0067】
その後何らかの時点で、制御プレーンは別のノードをVSF 2に追加するように決定することができる。これは、VSF 2内のWebサーバにかかる負荷が一時的に増加したか、または他の理由によって生じるものである。したがって、制御プレーンは、破線パス802で示されるように、CPU DをVSF 2に配置することを決定する。そのためには、VLAN 3がポートv8、v9を含み、SANゾーン2がSANポートs4を含むように、VLANスイッチを構成する。CPU Dには、VSF 2のサーバに必要なOSおよびWebサーバ・ソフトウェアのブート可能イメージを含む、ディスク・デバイス2上の記憶部分が指し示される。またCPU Dには、VSF 2内の他のWebサーバによって共用されているファイル・システムにあるデータへの読取り専用アクセス権も与えられる。CPU Dは、再度電源が投入され、VSF 2内でロード・バランシングされたWebサーバとして実行され、その後は、VLAN 2に接続されたSANゾーン1またはCPUにあるどんなデータにもアクセスできない。具体的に言えば、たとえCPU Dが以前はVSF 1の一部であったとしても、VSF 1のどんな要素にもアクセスする手段がなくなる。
【0068】
さらに、この構成では、CPU Eが強制するセキュリティ外辺部が、CPU Dを含むように動的に拡張されている。したがって、実施形態では、VSFに追加されるかまたはVSFから除去されるコンピューティング要素を適切に保護するように自動的に調整する、動的なファイアウォールを提供する。
【0069】
(SANのディスク・デバイス)
ブートアップのため、または他のノードと共用する必要があるディスク記憶装置にアクセスするために、CPUに対してSAN上にある特定のデバイスを指し示す方法、あるいはそうでなければブートアップ・プログラムおよびデータを見つけることのできる情報を提供することができる方法がいくつかある。
【0070】
その1つが、コンピューティング要素に接続されたSCSI対ファイバ・チャネル・ブリッジング・デバイスを使用し、ローカル・ディスクにSCSIインターフェースを提供する方法である。そのSCSIポートをファイバ・チャネルSAN上の正しいドライブに経路指定することによって、コンピュータは、ローカル接続されたSCSIディスクにアクセスするのと同様に、ファイバ・チャネルSAN上にある記憶デバイスにアクセスすることができる。したがって、ブートアップ・ソフトウェアなどのソフトウェアは、ローカル接続されたSCSIディスクをブートオフするのと同様に、SAN上にあるディスク・デバイスをブートオフするだけである。
【0071】
もう1つは、ノードおよび関連するデバイス・ドライバ上にファイバ・チャネル・インターフェースを設け、ファイバ・チャネル・インターフェースをブート・デバイスとして使用できるようにするROMおよびOSソフトウェアをブートする方法である。
【0072】
もう1つは、SCSIまたはIDEデバイス制御装置のようであるが、ディスクにアクセスするためにSANを介して通信する、インターフェース・カード(たとえばPCIバスまたはSバス)を設ける方法である。Solaris(TM)およびWindows(R) NTなどのオペレーティング・システムは、全体的に、この代替例で使用可能なディスクなしのブート機能を提供する。
【0073】
典型的には、所与のノードに関連付けられたSANディスク・デバイスには2種類ある。その第1は、他のコンピューティング要素と論理的には共用されず、通常はブート可能OSイメージ、ローカル構成ファイルなどを含むノードごとのルート区画を構成する種類のディスクである。これはUnix(R)システムのルート・ファイルシステムと等価である。
【0074】
第2の種類のディスクは、他のノードと記憶装置を共用する。この種の共用は、CPU上で実行されるOSソフトウェアおよびノードが共用記憶装置にアクセスする必要性によって変化する。OSが、複数のノード間での共用ディスク区画への読取り/書込みアクセスを可能にする、クラスタ・ファイル・システムを提供する場合、こうしたクラスタ・ファイル・システムとして共用ディスクが取り付けられる。同様に、システムは、クラスタ内で実行中の複数のノードが共用ディスクに同時に読取り/書込みアクセスできるようにする、Oracle Parallel Server(TM)などのデータベース・ソフトウェアを使用することができる。このような場合、共用ディスクはすでに、基本となるOSおよびアプリケーション・ソフトウェアに組み込まれている。
【0075】
OSおよび関連するアプリケーションが他のノードと共用のディスク・デバイスを管理できないために、こうした共用アクセスができないオペレーティング・システムの場合、共用ディスクを読取り専用デバイスとして取り付けることができる。多くのWebアプリケーションの場合、Web関連ファイルへの読取り専用アクセスがあれば十分である。たとえば、Unix(R)システムでは、特定のファイルシステムを読み取り専用として取り付けることができる。
【0076】
(多重スイッチ・コンピューティング・グリッド)
図5Aに関連して上記で述べた構成は、大規模交換VLAN構造を形成するために複数のVLANスイッチを相互接続させることによって、また大規模交換SANメッシュを形成するために複数のSANスイッチを相互接続させることによって、多数のコンピューティング・ノードおよび記憶ノードに拡張することができる。この場合、コンピューティング・グリッドは、図4に一般的に示されたアーキテクチャを備えるが、CPUおよび記憶デバイス用の非常に多数のポートを含むSAN/VLAN交換メッシュは除く。制御プレーン上で動作するいくつかのマシンは、以下で説明するように、VLAN/SANスイッチの制御ポートに物理的に接続することができる。当分野では、複数のVLANスイッチを相互接続して、複雑な多重キャンパス内データ・ネットワークを作成することが知られている。たとえば、http://www.cisco.com/warp/public/cc/sol/mkt/ent/ndsgn/highd_wp.htmからオンラインで入手可能な、G.Havilandの「Designing High−Performance Campus Intranets with Multilayer Switching」Cisco Systems,Inc.(TM)を参照されたい。
【0077】
(SANアーキテクチャ)
この説明では、SANがファイバ・チャネル・スイッチおよびディスク・デバイスを備え、潜在的にはSCSI対ファイバ・チャネル・ブリッジなどのファイバ・チャネル・エッジ・デバイスを備えることを想定している。ただし、SANは、ギガビット・イーサネット(R)・スイッチ、または他の物理層プロトコルを使用するスイッチなどの代替技法を使用して構築することも可能である。具体的に言えば、IPを介してSCSIプロトコルを実行することにより、IPネットワークを介してSANを構築するための努力が、現在進行中である。前述の方法およびアーキテクチャは、SANを構築するためのこうした代替方法に適合可能である。VLAN実行可能層2環境を介して、IPを介したSCSIのようなプロトコルを実行することによって、SANが構築される場合、SANゾーンは、これらを異なるVLANにマッピングすることによって作成される。
【0078】
また、高速イーサネット(R)またはギガビット・イーサネット(R)などのLAN技法を介して動作する、ネットワーク結合記憶装置(NAS)も使用可能である。このオプションでは、コンピューティング・グリッドのセキュリティおよび論理区分を実施するために、SANゾーンの代わりに異なるVLANが使用される。こうしたNASデバイスは、典型的には、複数のノードが同じ記憶装置を共用できるようにするために、Sun(TM)のNSFプロトコルまたはMicrosoft(TM)のSMBなどのネットワーク・ファイルシステムをサポートする。
【0079】
(制御プレーンの実施)
前述の説明では、制御プレーンはSAN/VLANスイッチの制御ポートおよびデータ・ポートに結合されたボックスとして表されている。ただし、他の制御プレーンの実施も検討されている。
【0080】
典型的には、SAN/VLAN制御ポートはイーサネット(R)・インターフェースである。図9は、こうした場合に使用可能なアーキテクチャを示す構成図である。各VLANスイッチ(VLAN SW1、VLAN SWn)のすべての制御(「CTL」)ポートおよび各SANスイッチ(SAN SW1、SAN SWn)のすべての制御ポートが、単一のイーサネット(R)・サブネット902上に配置される。サブネット902は複数の制御プレーン・マシンCP CPU1、CP CPU2などにのみ接続される。これにより、複数の制御プレーン・マシンを、すべてのSANスイッチおよびVLANスイッチの制御ポートに接続することができる。
【0081】
この構成では、複数の制御プレーン・マシンは集合的に、制御プレーンまたはCP 904と呼ばれる。CP 904内のマシンのみが、VLANスイッチおよびSANスイッチの制御ポートへの物理的な接続を有する。したがって、所与のVSFにあるCPUが、独自のVSFまたは任意の他のVSFに関連付けられたVLANおよびSANゾーンのメンバシップを変更することはできない。
【0082】
あるいは、イーサネット(R)・インターフェースの代わりに、制御ポートがシリアル・ポートまたはパラレル・ポートであってもよい。この場合、ポートは制御プレーン・マシンに結合される。
【0083】
(制御プレーン・データとVLANとの接続)
制御プレーンを実行するマシンは、VLANスイッチならびにSANスイッチの両方にあるデータ・ポートへのアクセスを有する必要がある。これは、制御プレーンが特定のノードに関するファイルを構成し、現在のCPU負荷、ネットワーク負荷、およびディスク負荷に関するノードからリアルタイム情報を収集することができるようにするために必要である。
【0084】
図5Bは、制御プレーン516とデータ・ポートとを接続するための構成を示す、一実施形態の構成図である。一実施形態では、各VSF内のマシンが、制御プレーンのエージェントとして動作しているマシン510に定期的にパケットを送信する。あるいは、制御プレーン・エージェント・マシン510が、VSF内のノードに対して自らのリアルタイム・データについて定期的にポーリングすることができる。その後、制御プレーン・エージェント・マシン510は、VSF内のすべてのノードから集めたデータを、CP 516に送信する。CP 516内の各マシンは、CP LAN 514に結合される。CP LAN 514は、CPファイアウォール512を介して、VLANスイッチ504の特別ポートV17に結合される。これにより、CPには、すべてのVSFにあるノードからすべてのリアルタイム情報を集めるための、スケーラブルで確実な手段が提供される。
【0085】
(制御プレーンとSANデータとの接続)
図10は、制御プレーン・マシンと、複数のSANスイッチを使用する実施形態(「SANメッシュ」)との接続を示す、構成図である。複数の制御プレーン・マシンCP CPU1、CP CPU2などが、制御プレーン・サーバ・ファーム(CP)904を形成する。各制御プレーン・マシンがSANメッシュのポートに結合される。
【0086】
制御プレーン・マシンに関連付けられているのが、制御プレーン専用のデータを含むディスク1004に接続された、SANポートSo、Spのセットである。ディスク1004は、制御プレーンがログ・ファイル、統計データ、現在の制御プレーン構成情報、および制御プレーンを実施するソフトウェアを維持する領域である、制御プレーン専用記憶ゾーン1002内に論理的に配置される。SANポートSo、Spは、制御プレーンSANゾーンの一部にしかすぎない。ポートSo、Spは、いかなる他のSANゾーン上にも決して配置されず、CP 904の一部であるマシンだけが、これらのポートに接続されたディスク1004にアクセスすることができる。
【0087】
ポートS1、S2、およびSn、ならびにポートSoおよびSpは、制御プレーンSANゾーン内にある。アイドル・ポートまたは任意のVSFのいずれからのコンピューティング要素も、制御プレーンSANゾーンの一部ではない。これによって、制御プレーン専用データが、任意のVSFからアクセスされるのを確実に防ぐことができる。
【0088】
特定の制御プレーン・マシンが、図10のVSF 1などの特定のVSFの一部であるディスク区画にアクセスする必要がある場合は、そのVSFに関連付けられたSANゾーン内に配置される。この例では、CP CPU2がVSF 1のディスクにアクセスする必要があるため、CP CPU2に関連付けられたポートs2がVSF 1のSANゾーンに配置され、これがポートsiを含む。CP CPUがポートsi上のディスクにいったんアクセスすると、VSF 1のSANゾーンから除去される。
【0089】
同様に、CP CPU1などのマシンがVSF jのディスクにアクセスする必要がある場合は、VSF jに関連付けられたSANゾーンに配置される。その結果、ポートs2は、ポートsjを含むゾーンを含む、VSF jに関連付けられたSANゾーンに配置される。CP 1がポートsjに接続されたディスクにいったんアクセスすると、VSF jに関連付けられたSANゾーンから除去される。
【0090】
(制御プレーンとVLANデータとの接続)
制御プレーン・マシンは、リアルタイム負荷関連情報などの情報をコンピューティング・ノードから集める必要がある。これを実行するために、制御プレーンは、グリッドそれ自体にあるノードとのネットワーク接続を備える必要がある。
【0091】
(ワイド・エリア・コンピューティング・グリッド)
前述のVSFは、いくつかの方法でWANを介して分散することができる。
【0092】
一代替例では、非同期転送モード(ATM)スイッチングに基づくワイド・エリア・バックボーンが可能である。この場合、ATM LANエミュレーション(LANE)標準の一部であるエミュレーテッドLAN(ELAN)を使用して、各ローカル・エリアVLANがワイド・エリア内に拡張される。この方法では、単一のVSFが、ATM/SONET/OC−12リンクなどのいくつかのワイド・エリア・リンクにまたがることができる。ELANは、ATM WANをまたがって拡張されるVLANの一部となる。
【0093】
あるいは、VSFはVPNシステムを使用し、WANをまたがって拡張される。この実施形態では、ネットワークの基礎となる特徴が無関係となり、WANをまたがって2つまたはそれ以上のVSFを相互接続して、単一の分散VSFを作成するために、VPNが使用される。
【0094】
分散VSF内でデータをローカル・コピーするために、データ・ミラーリング技術を使用することができる。あるいは、SAN対ATMブリッジングまたはSAN対ギガビット・イーサネット(R)・ブリッジングなどの、いくつかのSAN対WANブリッジング技法のうち1つを使用して、SANがWANを介してブリッジングされる。IPネットワークを介して構築されたSANは、IPがこうしたネットワークを介するとうまく動作するため、WANを介して自然に拡張される。
【0095】
図11は、WAN接続を介して拡張される複数のVSFを示す構成図である。San Joseセンタ、New Yorkセンタ、およびLondonセンタが、WAN接続によって結合される。各WAN接続には、上記の様式で、ATM、ELAN、またはVPN接続が含まれる。各センタには、少なくとも1つのVSFおよび少なくとも1つのアイドル・プールが含まれる。たとえば、San JoseセンタにはVSF1Aおよびアイドル・プールAがある。この構成では、任意の他のセンタに配置されたVSFへ割り振るかまたは割り当てるために、センタの各アイドル・プールのコンピューティング資源が使用可能である。こうした割振りまたは割当てが実行されると、VSFはWANを介して拡張されることになる。
【0096】
(VSFの使用例)
前述の例で説明したVSFアーキテクチャは、Webサーバ・システムに関連して使用することができる。したがって、前述の例は、特定のVSFにおいてCPUで構築されるWebサーバ、アプリケーション・サーバ、およびデータベース・サーバに関して述べてきた。ただし、VSFアーキテクチャは、多くの他のコンピューティング状況で、他の種類のサービスを提供するために使用することが可能であり、これはWebサーバ・システムに限定されるものではない。
【0097】
(コンテンツ分散ネットワークの一部としての分散VSF)
一実施形態では、VSFが、ワイド・エリアVSFを使用してコンテンツ分散ネットワーク(CDN)を提供する。
【0098】
CDNは、データの分散キャッシュを実行するキャッシング・サーバのネットワークである。キャッシング・サーバのネットワークは、たとえば、カリフォルニア州San MateoのInktomi Corporation(TM)から市販されているトラフィック・サーバ(TS)ソフトウェアを使用して実施することができる。TSはクラスタ・アウェア・システムであって、システムは、キャッシング・トラフィック・サーバ・マシンのセットにさらにCPUが追加されると拡大する。したがって、CPUの追加が拡大のメカニズムであるシステムには好適である。
【0099】
この構成では、システムは、TSなどのキャッシング・ソフトウェアを実行するVSFの部分にさらにCPUを動的に追加することが可能であり、それによって、Webトラフィックがほぼ満杯状態になるまでキャッシュ容量を増加する。その結果CDNは、適応的な方法で、CPUおよびI/O帯域幅を動的に拡大するように構築することができる。
【0100】
(ホストされるイントラネット・アプリケーション用のVSF)
企業資源計画(ERP)、ORM、およびCRMソフトウェアなどのイントラネット・アプリケーションをホストおよび管理されたサービスとして提供することに対して、関心が高まっている。Citrix WinFrame(TM)およびCitrix MetaFrame(TM)などの技術は、企業が、Microsoft(TM) Windows(R)アプリケーションを、Windows(R) CEデバイスまたはWebブラウザなどのシン・クライアントでのサービスとして提供できるようにするものである。VSFは、こうしたアプリケーションをスケーラブルな方法でホストすることができる。
【0101】
たとえば、ドイツのSAP Aktiengesellschaft(TM)から市販されているSAP R/3 ERP(TM)ソフトウェアは、企業が、複数のアプリケーションおよびデータベース・サーバを使用してロード・バランシングを行えるようにするものである。VSFの場合、企業は、リアルタイム要求または他の要素に基づいてVSFを拡大するために、VSFにより多くのアプリケーション・サーバ(たとえばSAPダイアログ・サーバ)を動的に追加する。
【0102】
同様に、Citrix Metaframe(TM)は、企業が、より多くのCitrix(TM)サーバを追加することにより、ホストされたWindows(R)アプリケーションを実行しているサーバ・ファーム上のWindows(R)アプリケーション・ユーザを拡大できるようにするものである。この場合、VSFでは、Citrix MetaFrame(TM) VSFはMetaframe(TM)によってホストされたWindows(R)アプリケーションのより多くのユーザに対処するために、動的により多くのCitrix(TM)サーバを追加することになる。
【0103】
多くの他のアプリケーションを、前述の例示的な例と同様の方法でホストできることは明らかであろう。
【0104】
(顧客とVSFとの対話)
VSFはオン・デマンドで作成されるため、VSFを「所有する」VSFの顧客または組織は、VSFをカスタマイズするために様々な方法でシステムと対話することができる。たとえば、VSFは制御プレーンを介して即時に作成および修正されるため、VSFの顧客には、そのVSF自体を作成および修正するための特権的アクセスを認めることができる。特権的アクセスは、Webページおよびセキュリティ・アプリケーションによって与えられるパスワード認証、トークン・カード認証、ケルベロス交換、または他の適切なセキュリティ要素を使用して与えることができる。
【0105】
一実施形態例では、Webページのセットが制御プレーン・マシンまたは別々のサーバによって処理される。Webページは、いくつかの層、特定層内のコンピューティング要素の数、各要素に使用されるハードウェアおよびソフトウェア・プラットフォーム、ならびに、これらのコンピューティング要素上でどのような種類のWebサーバ、アプリケーション・サーバ、またはデータベース・サーバのソフトウェアを事前に構成しなければならないかなどを指定することによって、顧客が特別注文のVSFを作成できるようにするものである。したがって、顧客には仮想提供コンソールが与えられる。
【0106】
顧客またはユーザがこうした提供情報を入力すると、制御プレーンは注文を解析および評価して、実行のために待ち行列に入れる。注文は、適切であるかどうかを確認するために、人間の管理者によって再検討することができる。企業が、要求されたサービスに対する支払いに適した信用枠を有するかどうかを確認するために、企業の信用調査を実行することができる。提供注文が承認されると、制御プレーンは注文に合致するVSFを構成し、VSFの1つまたは複数のコンピューティング要素へのルート・アクセスを提供するパスワードを、顧客に戻すことができる。その後、顧客は、VSFで実行するためのアプリケーションのマスタ・コピーをアップロードすることができる。
【0107】
コンピューティング・グリッドをホストする企業が、営利目的の企業である場合、Webページは、クレジット・カード、PO番号、電子チェック、または他の支払い方法などの、支払い関連情報も受け取ることができる。
【0108】
他の実施形態では、Webページは、顧客がリアルタイム負荷に基づいて、要素の最大数から最小数までの間でVSFを自動的に拡大および縮小させることなどの、いくつかのVSFサービス・プランのうちの1つを選択できるようにするものである。顧客は、顧客がWebサーバなどの特定層でのコンピューティング要素の最小数、またはVSFのサーバ処理能力が最低でなければならない時間枠などのパラメータを変更できるようにする、制御値を有することができる。パラメータは、顧客の請求料金を自動的に調整し、課金ログ・ファイル・エントリを生成する、課金ソフトウェアにリンクさせることができる。
【0109】
特権的アクセス・メカニズムを介して、顧客は、1秒あたりの使用量、負荷、ヒット、またはトランザクションに関するリアルタイム情報のレポートを取得し、これを監視して、さらにリアルタイム情報に基づいたVSFの特徴を調整することができる。
【0110】
前述の特徴により、サーバ・ファームを構築するための従来の手作業による方法に比べて、はるかに有利であることは明らかであろう。従来の方法では、ユーザは、様々な方法でサーバを追加しサーバ・ファームを構成する際に、面倒な手順書に目を通さなければ、サーバ・ファームの特性に自動的に影響を与えることができない。
【0111】
(VSFの課金モデル)
VSFの性質が動的であることから、コンピューティング・グリッドおよびVSFをホストする企業は、VSFのコンピューティング要素および記憶要素の実際の使用量に基づいた、VSFの課金モデルを使用して、VSFを所有する顧客に対して、サービス料を請求することができる。一律の課金モデルを使用する必要はない。本明細書で開示されたVSFアーキテクチャおよび方法は、所与のVSFの資源が静的に割り当てられないため、「従量料金制」の課金モデルを可能にすることができる。したがって、サーバ・ファームにかかる使用負荷がかなり変動的な特定の顧客の場合、一定のピーク時のサーバ処理能力に関連付けられた料金ではなく、実行平均使用量、瞬間使用量などを反映する料金で課金されるため、資金を節約することができる。
【0112】
たとえば、企業は、サーバ10台など、最低数のコンピューティング要素に対して一定料金を規定し、さらにリアルタイム負荷により10台より多くの要素が必要になった場合には、何台の追加サーバが必要であったか、およびそれが必要であった時間の長さに基づいて、追加サーバに対する増分料金がユーザに課金されることを規定する、課金モデルを使用して、運営することができる。
【0113】
こうした請求書の単位は、課金される資源を反映させることができる。たとえば、MIPS時間、CPU時間、何千CPU秒、などの単位で請求書に記載することができる。
【0114】
(顧客の管理下にある制御プレーンAPI)
他の代替例では、資源を変更するための制御プレーンへの呼出しを定義するアプリケーション・プログラミング・インターフェース(API)を顧客に提供することによって、VSFの処理能力を制御することができる。したがって、顧客が作成したアプリケーション・プログラムは、APIを使用してさらに多くのサーバ、多くの記憶装置、多くの帯域幅などを要求するための呼出しまたは要求を発行することができる。この代替例は、顧客がアプリケーション・プログラムにコンピューティング・グリッド環境を認識させ、制御プレーンによって提供される機能を利用させる必要がある場合に、使用することができる。
【0115】
上記で開示されたアーキテクチャでは、顧客がコンピューティング・グリッドで使用するために自らのアプリケーションを修正する必要がない。既存のアプリケーションは、手作業で構成されたサーバ・ファームの場合と同様に操作を続行する。ただし、アプリケーションは、制御プレーンが提供するリアルタイム負荷監視機能に基づいて、必要なコンピューティング資源についてよりよく理解すれば、コンピューティング・グリッド内で可能なダイナミズムを利用することが可能である。
【0116】
前述の性質を備えたAPIは、アプリケーション・プログラムにサーバ・ファームのコンピューティング能力を変えさせることは可能であるが、既存の手作業による方法を使用してサーバ・ファームを構築することはできない。
【0117】
(自動更新およびバージョン変更)
本明細書で開示した方法およびメカニズムを使用すると、制御プレーンは、VSFのコンピューティング要素で実行されるオペレーティング・システム・ソフトウェアの自動更新およびバージョン変更を実行することができる。したがって、エンド・ユーザまたは顧客は、新しいパッチやバグ修正などを使ってオペレーティング・システムを更新することについて悩む必要がない。制御プレーンは、受け取ったソフトウェア要素のライブラリを維持し、影響を受けるすべてのVSFのコンピューティング要素にこれらを自動的に分散し、インストールすることができる。
【0118】
(実装メカニズム)
コンピューティング要素および監視メカニズムは、いくつかの形式で実装することができる。一実施形態では、各コンピューティング要素は、不揮発性記憶装置1210を除き、図12に示された要素を備えた汎用デジタル・コンピュータであり、監視メカニズムは、本明細書に記載のプロセスを実施するプログラム命令の制御下で動作する、図12に示された種類の汎用デジタル・コンピュータである。
【0119】
図12に、本発明の一実施形態を実装し得るコンピュータ・システム1200を描写したブロック図を示す。コンピュータ・システム1200は、情報の通信を行うためのバス1202またはその他の通信メカニズム、およびバス1202に接続された、情報を処理するためのプロセッサ1204を備える。またコンピュータ・システム1200には、バス1202に接続された、情報およびプロセッサ1204によって実行される命令を格納するためのランダム・アクセス・メモリ(RAM)またはその他の動的ストレージ・デバイス等のメイン・メモリ1206が備わる。メイン・メモリ1206は、さらにプロセッサ1204による命令の実行間において、一時変数またはその他の中間情報を格納するためにも使用される。さらにコンピュータ・システム1200は、プロセッサ1204用の静的な情報ならびに命令を格納するための読み出し専用メモリ(ROM)1208またはその他の静的ストレージ・デバイスを備え、それがバス1202に接続されている。ストレージ・デバイス1210は、磁気ディスクまたは光ディスク等であり、情報および命令を格納するために備えられ、バス1202に接続されている。
【0120】
コンピュータ・システム1200には、陰極線管(CRT)等の、コンピュータ・ユーザに情報を表示するためのディスプレイ1212がバス1202を介して接続されることもある。入力デバイス1214は、英数キーおよびその他のキーを備え、バス1202に接続されてプロセッサ1204に情報およびコマンドの選択を伝える。別のタイプのユーザ入力デバイスとして、マウス、トラックボール、またはカーソル移動キー等の、プロセッサ1204に方向情報およびコマンドの選択を伝え、ディスプレイ1212上におけるカーソルの移動をコントロールするためのカーソル・コントロール1216が備わっている。この入力デバイスは、通常、第1の軸(たとえばx軸)および第2の軸(たとえばy軸)からなる2軸に自由度を有しており、それによってこのデバイスは平面内のポジションを指定することができる。
【0121】
本発明は、ここに記述した方法、メカニズム及びアーキテクチャを実装するためのコンピュータ・システム1200の使用に関する。本発明の一実施形態によれば、このような方法とメカニズムは、メイン・メモリ1206に収められた1ないしは複数の命令からなる1ないしは複数のシーケンスを実行するプロセッサ1204に応じるシステム1200によって実装される。この種の命令は、ストレージ・デバイス1210等の別のコンピュータ読み取り可能な媒体からメイン・メモリ1206内に読み込んでもよい。メイン・メモリ1206内に収められている命令のシーケンスを実行することにより、プロセッサ1204は、ここに説明したプロセスのステップを実行する。別の実施形態においては、ソフトウェア命令に代えて、あるいはそれと組み合わせてハード・ワイヤード回路を使用し、本発明を実装することもできる。このように本発明の実施態様は、ハードウェア回路およびソフトウェアの特定の組み合わせに限定されることがない。
【0122】
ここで用いている「コンピュータ読み取り可能な媒体」という用語は、プロセッサ1204が実行する命令の提供に与る任意の媒体を指す。その種の媒体は、限定する意図ではないが、不揮発性媒体、揮発性媒体、および伝送媒体を含む各種の形式をとり得る。不揮発性媒体には、たとえば光または磁気ディスクが含まれ、ストレージ・デバイス1210等がこれに該当する。揮発性媒体には、ダイナミック・メモリが含まれ、メイン・メモリ1206等がこれに該当する。伝送媒体には、同軸ケーブル、銅線、および光ファイバが含まれ、バス1202を構成するワイヤーもこれに含まれる。伝送媒体もまた、音波または電磁波、たとえば電波、赤外線、および光データ通信の間に生成される電磁波といった形式をとり得る。
【0123】
コンピュータ読み取り可能な媒体の一般的な形態には、たとえば、フロッピー(R)ディスク、フレキシブル・ディスク、ハードディスク、磁気テープ、またはその他の磁気媒体、CD−ROM、その他の光媒体、パンチカード、さん孔テープ、その他孔のパターンを伴う物理的媒体、RAM、PROM、およびEPROM、フラッシュEPROM、その他のメモリ・チップまたはカートリッジ、次に述べる搬送波、またはその他コンピュータによる読み取りが可能な任意の媒体が含まれる。
【0124】
各種形式のコンピュータ読み取り可能な媒体が関係して1ないしは複数の命令からなる1ないしは複数のシーケンスがプロセッサ1204に渡され、実行される。たとえば、当初は命令が、リモート・コンピュータの磁気ディスクに収められて運ばれる。リモート・コンピュータは、命令をダイナミック・メモリにロードし、モデムの使用により電話回線を介してその命令を送信することができる。コンピュータ・システム1200に備わるモデムは、電話回線上のデータを受信し、赤外線送信機を使用してそのデータを赤外線信号に変換する。赤外線検出器は、この赤外線信号によって運ばれるデータを受信し、適切な回路がバス1202上にそのデータを乗せる。バス1202は、このデータをメイン・メモリ1206に運び、プロセッサ1204は、そこから命令を取り出して実行する。選択肢の1つとして、プロセッサ1204による実行の前、もしくはその後に、メイン・メモリ1206によって受け取られた命令をストレージ・デバイス1210に格納してもよい。
【0125】
コンピュータ・システム1200は、通信インターフェース1218も備えており、それがバス1202に接続されている。通信インターフェース1218は、ローカル・ネットワーク1222に接続されるネットワーク・リンク1220に接続されて双方向データ通信を提供する。たとえば、通信インターフェース1218を、対応するタイプの電話回線に接続されてデータ通信を提供する、統合ディジタル通信サービス・ネットワーク(ISDN)カードまたはモデムとすることができる。別の例においては、通信インターフェース1218をローカル・エリア・ネットワーク(LAN)カードとし、互換性のあるLANにデータ通信接続を提供することもできる。ワイヤレス・リンクを実装してもよい。この種のいずれの実装においても、通信インターフェース1218は、各種タイプの情報を表すディジタル・データ・ストリームを運ぶ電気的、電磁気的、または光学的信号を送受する。
【0126】
ネットワーク・リンク1220は、通常、1ないしは複数のネットワークを介して別のデータ・デバイスにデータ通信を提供する。たとえばネットワーク・リンク1220は、ローカル・ネットワーク1222を介してホスト・コンピュータ1224への接続を提供し、あるいはインターネット・サービス・プロバイダ(ISP)1226によって運用されるデータ装置への接続を提供することができる。一方、ISP1226は、現在「インターネット」1228と呼ばれているワールド・ワイド・パケット・データ通信ネットワークを介してデータ通信サービスを提供する。ローカル・ネットワーク1222およびインターネット1228は、いずれもディジタル・データ・ストリームを運ぶ電気的、電磁気的、または光学的信号を使用する。これらの各種ネットワークおよびネットワーク・リンク1220上の信号を通り、かつ通信インターフェース1218を通り、コンピュータ・システム1200から、またそこへディジタル・データを運ぶ信号は、情報を伝送する搬送波の一例として挙げた形式である。
【0127】
コンピュータ・システム1200は、ネットワーク(1ないしは複数)、ネットワーク・リンク1220および通信インターフェース1218を介し、プログラム・コードを含めて、メッセージを送信しデータを受信する。インターネットの例においては、サーバ1230がインターネット1228、ISP1226、ローカル・ネットワーク1222および通信インターフェース1218を経由して、要求のあったアプリケーション・プログラム用のコードを送信することが考えられる。本発明に従えば、このようにしてダウンロードしたアプリケーションの1つが、ここに説明された方法及びメカニズムを実装する。
【0128】
受信されたコードは、プロセッサ1204によって受信時に実行され、かつ/またはその後に実行するためにストレージ・デバイス1210、あるいはその他の不揮発性ストレージに格納される。このようにしてコンピュータ・システム1200は、搬送波の形式でアプリケーション・コードを獲得することができる。
【0129】
(利点および範囲)
本明細書で開示されたコンピューティング・グリッドは、概念上は、電力グリッドと呼ばれることのある公衆電力網になぞらえることができる。電力グリッドは、単一の大規模電力インフラストラクチャを介して電力サービスを得るために、多くの当事者にスケーラブルな手段を提供する。同様に、本明細書で開示されたコンピューティング・グリッドは、単一の大規模コンピューティング・インフラストラクチャを使用して、多くの組織にコンピューティング・サービスを提供する。電力グリッドを使用する場合、電力消費者は、自分専用の電気機器を独自に管理することはない。たとえば、ユーティリティ消費者にとっては、自分の施設または共用施設で自家発電機を使用し、個人ベースでその容量や増加を管理する理由がない。これに対して、電力グリッドは、膨大な範囲にわたる住民に対して大規模な電力供給が可能であり、これによって大きなスケール・メリットが得られる。同様に、本明細書で開示されたコンピューティング・グリッドは、単一の大規模コンピューティング・インフラストラクチャを使用して、膨大な範囲にわたる住民に対して、コンピューティング・サービスを提供することができる。
【0130】
以上、特定の実施形態を参照しながら本発明について述べてきた。ただし、本発明の広範な精神および範囲を逸脱することなく、様々な修正および変更が実行できることが明らかであろう。したがって、明細書および図面は、限定的なものではなく例示的なものであるとみなされる。
【図面の簡単な説明】
【図1A】単一のマシン・トポロジを有する単純なWebサイトを示す構成図である。
【図1B】1層のWebサーバ・ファームを示す構成図である。
【図1C】3層のWebサーバ・ファームを示す構成図である。
【図2】ローカル・コンピューティング・グリッドを含む拡張可能コンピューティング・システムの1構成を示す構成図である。
【図3】SANゾーンを特徴とする仮想サーバ・ファームの一例を示す構成図である。
【図4A】コンピューティング要素の追加および仮想サーバ・ファームからの要素の除去に関連する連続したステップを示す構成図である。
【図4B】コンピューティング要素の追加および仮想サーバ・ファームからの要素の除去に関連する連続したステップを示す構成図である。
【図4C】コンピューティング要素の追加および仮想サーバ・ファームからの要素の除去に関連する連続したステップを示す構成図である。
【図4D】コンピューティング要素の追加および仮想サーバ・ファームからの要素の除去に関連する連続したステップを示す構成図である。
【図5A】仮想サーバ・ファーム・システム、コンピューティング・グリッド、および監視メカニズムの一実施形態を示す構成図である。
【図5B】監視または制御プレーン・サーバ・ファームがファイアウォールによって保護されているシステムを示す構成図である。
【図6】仮想サーバ・ファームの論理接続を示す構成図である。
【図7】仮想サーバ・ファームの論理接続を示す構成図である。
【図8】仮想サーバ・ファームの論理接続を示す構成図である。
【図9】制御プレーン・サーバ・ファームを示す構成図である。
【図10】複数のSANスイッチ(「SANメッシュ」)を使用する実施形態への制御プレーン・マシンの接続を示す構成図である。
【図11】WAN接続を介して拡張される複数のVSFを示す構成図である。
【図12】その使用によって実施形態が実施可能なコンピュータ・システムを示す構成図である。
Claims (51)
- プロセッサのセットの中から、該プロセッサのサブセットを選択するステップと、
前記プロセッサのサブセット中の各プロセッサ同士が論理的に結合するように、第1のスイッチング・システムを動作させる命令を生成するステップと、
記憶デバイスのセットの中から、該記憶デバイスのサブセットを選択するステップと、
前記記憶デバイスのサブセット中の各記憶デバイス同士が、互いに及び前記プロセッサのサブセットと、論理的に結合するように、第2のスイッチング・システムを動作させる命令を生成するステップと、
の各ステップを備えるデータ処理方法。 - 前記プロセッサのセットの中から該プロセッサのサブセットを選択する前記ステップが、利用可能な中央処理装置のプールの中から中央処理装置のサブセットを選択するステップを備える請求項1に記載の方法。
- 前記プロセッサのセットの中から該プロセッサのサブセットを選択する前記ステップが、利用可能な中央処理装置のプールの中から中央処理装置のサブセットを選択するステップを備え、
前記中央処理装置のそれぞれが、仮想ローカル・エリア・ネットワーク・スイッチからの命令を受信するよう構成された第1及び第2のネットワーク・インタフェースと、記憶エリア・ネットワーク・スイッチを介して前記記憶デバイスのサブセットに接続されるよう構成された記憶インタフェースとを含んでいる請求項1に記載の方法。 - 前記プロセッサのサブセット中の各プロセッサ同士が論理的に結合するように、第1のスイッチング・システムを動作させる命令を生成する前記ステップが、仮想ローカル・エリア・ネットワーク・スイッチを前記プロセッサに結合して、前記仮想ローカル・エリア・ネットワーク・スイッチで前記サブセット内の前記プロセッサ同士が結合するようにさせる命令を生成するステップを備える請求項1に記載の方法。
- 記憶デバイスのセットの中から該記憶デバイスのサブセットを選択する前記ステップが、利用可能な記憶デバイスのプールの中から前記記憶デバイスのサブセットを選択するステップを備える請求項1に記載の方法。
- 記憶デバイスのセットの中から該記憶デバイスのサブセットを選択する前記ステップが、利用可能な記憶デバイスのプールの中から前記記憶デバイスのサブセットを選択するステップを備え、
前記記憶デバイスのそれぞれが、仮想記憶エリア・ネットワーク・スイッチからの命令を受信するよう構成されたスイッチング・インタフェースを含んでいる請求項1に記載の方法。 - 前記記憶デバイスのサブセット中の各記憶デバイス同士が論理的に結合するように、第2のスイッチング・システムを動作させる命令を生成する前記ステップが、仮想記憶エリア・ネットワーク・スイッチを前記記憶デバイスに結合して、前記仮想記憶エリア・ネットワーク・スイッチで前記サブセット内の前記記憶デバイス同士が結合するようにさせる命令を生成するステップを備える請求項1に記載の方法。
- 前記プロセッサのセットの中から該プロセッサのサブセットを選択する前記ステップが、前記第1のスイッチング・システム、前記第2のスイッチング・システム及び前記プロセッサのセットに結合され、これらを制御するコントローラによって実行される請求項1に記載の方法。
- 第1のデータ処理操作において使用する第1の仮想サーバ・ファームを生成するステップであって、該ステップが、前記プロセッサのセットの中から、前記第1のデータ処理操作を処理するための前記プロセッサの第1のサブセットを選択し、前記第1のスイッチング・システムで、第1の仮想ローカル・エリア・ネットワークにおける前記プロセッサの第1のサブセット内の前記プロセッサ同士が結合するようにさせる命令を生成し、前記記憶デバイスのセットの中から、前記第1のデータ処理の問題に係る情報を記憶するための記憶デバイスの第1のサブセットを選択し、更に、第2のスイッチング・システムで、前記記憶デバイスの第1のサブセット内の各記憶デバイス同士が、互いに及び第1の記憶エリア・ネットワーク・ゾーン内の前記プロセッサの第1のサブセットと、論理的に結合するようにさせる命令を生成することによって達成されるものと、
第2のデータ処理操作において使用する第2の仮想サーバ・ファームを生成するステップであって、該ステップが、前記プロセッサのセットの中から、前記第2のデータ処理操作を処理するための前記プロセッサの第2のサブセットを選択し、前記第1のスイッチング・システムで、第2の仮想ローカル・エリア・ネットワークにおける前記プロセッサの第2のサブセット内の前記プロセッサ同士が結合するようにさせる命令を生成し、前記記憶デバイスのセットの中から、前記第2のデータ処理の問題に係る情報を記憶するための記憶デバイスの第2のサブセットを選択し、更に、第2のスイッチング・システムで、前記記憶デバイスの第2のサブセット内の各記憶デバイス同士が、互いに及び第2の記憶エリア・ネットワーク・ゾーン内の前記プロセッサの第2のサブセットと、論理的に結合するようにさせる命令を生成することによって達成されるものと、
を更に備え、前記命令が、前記プロセッサの第1のサブセットを、前記プロセッサーの第2のサブセット及び前記記憶デバイスの第2のサブセットから保守上分離するものである請求項1に記載の方法。 - 前記プロセッサのセットの中から、追加のプロセッサを選択するステップと、
前記第1のスイッチング・システムが、前記追加のプロセッサを、前記プロセッサのサブセット内のプロセッサに論理的に結合するように動作する命令を生成するステップと、
を更に備える請求項1に記載の方法。 - 前記プロセッサのサブセットの中から、該サブセットから除去する特定のプロセッサを選択するステップと、
前記第1のスイッチング・システムが、前記プロセッサのサブセットから前記特定のプロセッサを論理的に分離するように動作する命令を生成するステップと、
を更に備える請求項1に記載の方法。 - 前記プロセッサのサブセットの中から、該サブセットから除去する特定のプロセッサを選択するステップと、
前記第1のスイッチング・システムが、前記プロセッサのサブセットから前記特定のプロセッサを論理的に分離するように動作する命令を生成するステップと、
前記利用可能なプロセッサのプール内に、前記特定のプロセッサを論理的に配置するステップと、
を更に備える請求項2に記載の方法。 - 前記プロセッサの第1のサブセットの中から、該第1のサブセットから除去する特定のプロセッサを選択するステップと、
前記第1のスイッチング・システムが、前記プロセッサの第1のサブセットから前記特定のプロセッサを論理的に分離するように動作する命令を生成するステップと、
前記第1のスイッチング・システムが、前記プロセッサの第2のサブセットへ前記特定のプロセッサを論理的に追加するように動作する命令を生成するステップと、
を更に備える請求項9に記載の方法。 - 前記プロセッサの全てを利用可能なプロセッサのアイドル・プールへ最初に割り当てるステップを更に備える請求項1に記載の方法。
- 前記プロセッサのサブセットにより経験されたリアルタイム負荷に応じて、1又は複数のプロセッサを、前記プロセッサのサブセットへ又は該サブセットから、動的に論理的に追加し又は除去するステップを更に備える請求項1に記載の方法。
- 前記記憶デバイスのサブセットにより経験されたリアルタイム負荷に応じて、1又は複数の記憶デバイスを、前記記憶デバイスのサブセットへ又は該サブセットから、動的に論理的に追加し又は除去するステップを更に備える請求項1に記載の方法。
- 前記第1のスイッチング・システムのインタフェースを外部ネットワークへ結合するステップを更に備え、これにより前記プロセッサのサブセットが前記外部ネットワークからの要求に対して応答するものとなる請求項1に記載の方法。
- 前記プロセッサのサブセットにより経験されたリアルタイム負荷に応じて、前記プロセッサのサブセットへ追加のプロセッサを論理的に追加するステップと、
前記追加のプロセッサを再起動するステップと、
前記追加のプロセッサ内に、前記記憶デバイスのサブセット内の1つの記憶デバイスの予め定義された場所からオペレーティング・システム・イメージをロードするステップと、
の各ステップを更に備える請求項15に記載の方法。 - ロード・バランサを前記プロセッサのサブセット内のプロセッサに論理的に結合するステップと、
前記ロード・バランサに、前記プロセッサのサブセット内のプロセッサにより実行されるロード・バランス処理を命令するステップと、
を更に備える請求項1に記載の方法。 - 前記プロセッサのサブセットにより経験されたリアルタイム負荷に応じて、前記プロセッサのサブセットへ追加のプロセッサを動的に論理的に追加するステップを更に備え、該ステップが、
前記仮想ローカル・エリア・ネットワークへ、前記追加のプロセッサに関連付けられた前記第1のスイッチングシステムのそれらのインタフェース・ポートを追加するステップと、
前記追加のプロセッサの記憶エリア・ポートを、前記記憶エリア・ネットワーク・ゾーンへ追加するステップと、
により達成される請求項9に記載の方法。 - 前記プロセッサのサブセットにより経験されたリアルタイム負荷に応じて、前記プロセッサのサブセットから1つのプロセッサを動的に論理的に除去するステップを更に備え、該ステップが、
前記仮想ローカル・エリア・ネットワークから、前記追加のプロセッサに関連付けられた前記第1のスイッチングシステムのそれらのインタフェース・ポートを除去するステップと、
前記1つのプロセッサの記憶エリア・ポートを、前記記憶エリア・ネットワーク・ゾーンから除去するステップと、
により達成される請求項9に記載の方法。 - 前記第2のスイッチング・システムの1又は複数のポートを、前記コントローラによって使用されるプライベートな記憶エリア・ネットワーク・ゾーンに論理的に割り当てるステップであって、前記ポートが、前記コントローラに排他的に割り当てられた1つの前記記憶デバイスに関連付けられているものを更に備えた請求項8に記載の方法。
- 前記プロセッサのサブセット内の各プロセッサを、予め定義され記憶された設計図と関連付けするステップであって、前記設計図が、複数の処理の役割の1つを、前記記憶デバイスのサブセット内の1つの記憶デバイスのブート・イメージと関連付けているものと、
前記プロセッサのサブセット内のプロセッサのそれぞれが、そのプロセッサの前記処理の役割に関連付けられた前記記憶デバイスからの前記ブート・イメージをロードし、実行するように動作する命令を生成するステップと、
を更に備える請求項1に記載の方法。 - 第1のデータ処理操作において使用する第1の仮想サーバ・ファームを生成するステップであって、該ステップが、前記プロセッサのセットの中から、前記第1のデータ処理操作を処理するための前記プロセッサの第1のサブセットを選択し、前記第1のスイッチング・システムで、第1の仮想ローカル・エリア・ネットワークにおける前記プロセッサの第1のサブセット内の前記プロセッサ同士が結合するようにさせる命令を生成し、前記記憶デバイスのセットの中から、前記第1のデータ処理の問題に係る情報を記憶するための記憶デバイスの第1のサブセットを選択し、更に、第2のスイッチング・システムで、前記記憶デバイスの第1のサブセット内の各記憶デバイス同士が、互いに及び第1の記憶エリア・ネットワーク・ゾーン内の前記プロセッサの第1のサブセットと、論理的に結合するようにさせる命令を生成することによって達成されるものと、
第2のデータ処理操作において使用する第2の仮想サーバ・ファームを生成するステップであって、該ステップが、前記プロセッサのセットの中から、前記第2のデータ処理操作を処理するための前記プロセッサの第2のサブセットを選択し、前記第1のスイッチング・システムで、第2の仮想ローカル・エリア・ネットワークにおける前記プロセッサの第2のサブセット内の前記プロセッサ同士が結合するようにさせる命令を生成し、前記記憶デバイスのセットの中から、前記第2のデータ処理の問題に係る情報を記憶するための記憶デバイスの第2のサブセットを選択し、更に、第2のスイッチング・システムで、前記記憶デバイスの第2のサブセット内の各記憶デバイス同士が、互いに及び第2の記憶エリア・ネットワーク・ゾーン内の前記プロセッサの第2のサブセットと、論理的に結合するようにさせる命令を生成することによって達成されるものと、
を更に備え、前記命令が、前記プロセッサの第1のサブセットを、前記プロセッサーの第2のサブセット及び前記記憶デバイスの第2のサブセットから保守上分離するものであるデータ処理方法。 - 複数のプロセッサと、
前記複数のプロセッサに接続された第1のスイッチング・システムと、
複数の記憶デバイスと、
前記複数の記憶デバイスに接続された第2のスイッチング・システムと、
前記第1のスイッチング・システム及び前記第2のスイッチング・システムに接続されたコントローラと、
前記複数のプロセッサの中から、該プロセッサのサブセットを選択する前記コントローラ内の手段と、
前記プロセッサのサブセット中の各プロセッサ同士が論理的に結合するように、第1のスイッチング・システムを動作させる命令を生成する前記コントローラ内の手段と、
前記複数の記憶デバイスの中から、該記憶デバイスのサブセットを選択する前記コントローラ内の手段と、
前記記憶デバイスのサブセット中の各記憶デバイス同士が、互いに及び前記プロセッサのサブセットと、論理的に結合するように、第2のスイッチング・システムを動作させる命令を生成する前記コントローラ内の手段と、
を備えるデータ処理システム。 - 前記コントローラが、利用可能な中央処理装置のプールの中から中央処理装置のサブセットを選択することにより、前記プロセッサのセットの中から該プロセッサのサブセットを選択する手段を更に備える請求項25に記載のデータ処理システム。
- 前記プロセッサのサブセットを選択する前記手段が、利用可能な中央処理装置のプールの中から中央処理装置のサブセットを選択する手段を備え、
前記中央処理装置のそれぞれが、仮想ローカル・エリア・ネットワーク・スイッチからの命令を受信するよう構成された第1及び第2のネットワーク・インタフェースと、記憶エリア・ネットワーク・スイッチを介して前記記憶デバイスのサブセットに接続されるよう構成された記憶インタフェースとを含んでいる請求項25に記載のデータ処理システム。 - 前記プロセッサのサブセット中の各プロセッサ同士が論理的に結合するように、第1のスイッチング・システムを動作させる命令を生成する前記手段が、仮想ローカル・エリア・ネットワーク・スイッチを前記プロセッサに結合して、前記仮想ローカル・エリア・ネットワーク・スイッチで前記サブセット内の前記プロセッサ同士が結合するようにさせる命令を生成する手段を備える請求項25に記載のデータ処理システム。
- 記憶デバイスのサブセットを選択する前記手段が、利用可能な記憶デバイスのプールの中から前記記憶デバイスのサブセットを選択する手段を備える請求項25に記載のデータ処理システム。
- 記憶デバイスのサブセットを選択する前記手段が、利用可能な記憶デバイスのプールの中から前記記憶デバイスのサブセットを選択する手段を備え、
前記記憶デバイスのそれぞれが、仮想記憶エリア・ネットワーク・スイッチからの命令を受信するよう構成されたスイッチング・インタフェースを含んでいる請求項25に記載のデータ処理システム。 - 前記各記憶デバイス同士が論理的に結合するように、第2のスイッチング・システムを動作させる命令を生成する前記手段が、仮想記憶エリア・ネットワーク・スイッチを前記記憶デバイスに結合して、前記仮想記憶エリア・ネットワーク・スイッチで前記サブセット内の前記記憶デバイス同士が結合するようにさせる命令を生成する手段を備える請求項25に記載のデータ処理システム。
- 第1のデータ処理操作において使用する第1の仮想サーバ・ファームであって、前記プロセッサのセットの中から、前記第1のデータ処理操作を処理するための前記プロセッサの第1のサブセットを選択し、前記第1のスイッチング・システムで、第1の仮想ローカル・エリア・ネットワークにおける前記プロセッサの第1のサブセット内の前記プロセッサ同士が結合するようにさせる命令を生成し、前記記憶デバイスのセットの中から、前記第1のデータ処理の問題に係る情報を記憶するための記憶デバイスの第1のサブセットを選択し、更に、第2のスイッチング・システムで、前記記憶デバイスの第1のサブセット内の各記憶デバイス同士が、互いに及び第1の記憶エリア・ネットワーク・ゾーン内の前記プロセッサの第1のサブセットと、論理的に結合するようにさせる命令を生成することによって生成されるものと、
第2のデータ処理操作において使用する第2の仮想サーバ・ファームであって、前記プロセッサのセットの中から、前記第2のデータ処理操作を処理するための前記プロセッサの第2のサブセットを選択し、前記第1のスイッチング・システムで、第2の仮想ローカル・エリア・ネットワークにおける前記プロセッサの第2のサブセット内の前記プロセッサ同士が結合するようにさせる命令を生成し、前記記憶デバイスのセットの中から、前記第2のデータ処理の問題に係る情報を記憶するための記憶デバイスの第2のサブセットを選択し、更に、第2のスイッチング・システムで、前記記憶デバイスの第2のサブセット内の各記憶デバイス同士が、互いに及び第2の記憶エリア・ネットワーク・ゾーン内の前記プロセッサの第2のサブセットと、論理的に結合するようにさせる命令を生成することによって生成されるものと、
を更に備え、前記命令が、前記プロセッサの第1のサブセットを、前記プロセッサーの第2のサブセット及び前記記憶デバイスの第2のサブセットから保守上分離するものである請求項25に記載のデータ処理システム。 - 前記プロセッサのセットの中から、追加のプロセッサを選択する手段と、
前記第1のスイッチング・システムが、前記追加のプロセッサを、前記プロセッサのサブセット内のプロセッサに論理的に結合するように動作する命令を生成する手段と、
を更に備える請求項25に記載のデータ処理システム。 - 前記プロセッサのサブセットの中から、該サブセットから除去する特定のプロセッサを選択する手段と、
前記第1のスイッチング・システムが、前記プロセッサのサブセットから前記特定のプロセッサを論理的に分離するように動作する命令を生成する手段と、
を更に備える請求項25に記載のデータ処理システム。 - 前記プロセッサのサブセットの中から、該サブセットから除去する特定のプロセッサを選択する手段と、
前記第1のスイッチング・システムが、前記プロセッサのサブセットから前記特定のプロセッサを論理的に分離するように動作する命令を生成する手段と、
前記利用可能なプロセッサのプール内に、前記特定のプロセッサを論理的に配置する手段と、
を更に備える請求項26に記載のデータ処理システム。 - 前記プロセッサの第1のサブセットの中から、該第1のサブセットから除去する特定のプロセッサを選択する手段と、
前記第1のスイッチング・システムが、前記プロセッサの第1のサブセットから前記特定のプロセッサを論理的に分離するように動作する命令を生成する手段と、
前記第1のスイッチング・システムが、前記プロセッサの第2のサブセットへ前記特定のプロセッサを論理的に追加するように動作する命令を生成する手段と、
を更に備える請求項28に記載のデータ処理システム。 - 前記プロセッサの全てを利用可能なプロセッサのアイドル・プールへ最初に割り当てる手段を更に備える請求項25に記載のデータ処理システム。
- 前記プロセッサのサブセットにより経験されたリアルタイム負荷に応じて、1又は複数のプロセッサを、前記プロセッサのサブセットへ又は該サブセットから、動的に論理的に追加し又は除去する手段を更に備える請求項25に記載のデータ処理システム。
- 前記記憶デバイスのサブセットにより経験されたリアルタイム負荷に応じて、1又は複数の記憶デバイスを、前記記憶デバイスのサブセットへ又は該サブセットから、動的に論理的に追加し又は除去する手段を更に備える請求項25に記載のデータ処理システム。
- 前記コントローラが、前記サブセット内の各プロセッサの処理負荷を表す情報を生成する負荷監視装置を更に備える請求項25に記載のデータ処理システム。
- 前記第1のスイッチング・システムが、偽造不可能なポート識別子を有する仮想ローカル・エリア・ネットワーク・スイッチを備える請求項25に記載のデータ処理システム。
- 前記第2のスイッチング・システムが、記憶エリア・ネットワーク・スイッチを備え、前記記憶デバイスのサブセットが、記憶エリア・ネットワーク・ゾーン内で論理的に組織化され、更に、前記記憶エリア・ネットワーク・スイッチが、前記記憶デバイスのサブセットへのアクセスを、前記プロセッサのサブセット内のそれらのプロセッサに対してのみ許可するものである請求項25に記載のデータ処理システム。
- 前記第2のスイッチング・システムが、記憶エリア・ネットワーク・スイッチを備え、前記記憶デバイスのサブセットが、記憶エリア・ネットワーク・ゾーン内で論理的に組織化され、更に、前記記憶エリア・ネットワーク・スイッチが、前記記憶デバイスのサブセットへのアクセスを、1又は複数のファイバ・チャネル・スイッチを用いて、前記プロセッサのサブセット内のそれらのプロセッサに対してのみ許可するものである請求項25に記載のデータ処理システム。
- 前記第2のスイッチング・システムが、記憶エリア・ネットワーク・スイッチを備え、前記記憶デバイスのサブセットが、記憶エリア・ネットワーク・ゾーン内で論理的に組織化され、更に、前記プロセッサのサブセットが、ロード・バランサ又はファイアウォールを介して外部ネットワークへ結合されている請求項25に記載のデータ処理システム。
- 前記第1のスイッチング・システムの制御ポートを含み、且つ前記第2のスイッチング・システムの制御ポートを含む、サブネットワーク内で論理的に相互接続された複数のコントローラを更に備える請求項25に記載のデータ処理システム。
- その時のプロセッサ負荷、ネットワーク負荷又は記憶負荷を表すリアルタイム情報を受信するために、前記プロセッサのサブセット内の各プロセッサを周期的にポーリングするよう構成されると共に、前記コントローラのそれぞれに前記情報を伝達するよう構成されたエージェント・コントローラを更に備える請求項45に記載のデータ処理システム。
- 前記第2のスイッチング・システムの1又は複数のポートを、前記コントローラによって使用されるプライベートな記憶エリア・ネットワーク・ゾーンに論理的に割り当てるステップであって、前記ポートが、前記コントローラに排他的に割り当てられた1つの前記記憶デバイスに関連付けられているものを更に備えた請求項45に記載のデータ処理システム。
- 予め定義され記憶された複数の設計図であって、該各設計図が、複数の処理の役割の1つを、前記記憶デバイスのサブセット内の1つの記憶デバイスのブート・イメージと関連付けているものと、
前記プロセッサのサブセット内のプロセッサのそれぞれを、前記設計図の1つと関連付け、前記プロセッサのサブセット内のプロセッサのそれぞれが、そのプロセッサの前記処理の役割に関連付けられた前記記憶デバイスからの前記ブート・イメージをロードし、実行するように動作させる手段と、
を更に備える請求項25に記載のデータ処理システム。 - プロセッサの複数のサブセット内で論理的に組織化された複数のプロセッサであって、前記サブセットのそれぞれが、複数の仮想ローカル・エリア・ネットワークの1つとして論理的に組織化されているものと、
前記サブセットの1つによって使用されるデータ及び命令を記憶するために、前記複数の仮想ローカル・エリア・ネットワークに結合され、記憶エリア・ネットワーク内で論理的に組織化された複数の記憶デバイスと、
前記複数の仮想ローカル・エリア・ネットワーク及び前記記憶エリア・ネットワークに結合された制御プレーンであって、リアルタイムで発生する処理負荷状況の変化及び記憶需要の変化に応じて、前記サブセットに対しプロセッサを動的に追加し又は除去すると共に、前記記憶エリア・ネットワークに対し記憶デバイスを動的に追加し又は除去するよう構成されたものと、
を備える仮想コンピューティング・システム。 - 予め定義され記憶された複数の設計図であって、該各設計図が、複数の処理の役割の1つを、前記記憶デバイスのサブセット内の1つの記憶デバイスのブート・イメージと関連付けているものと、
前記プロセッサのサブセット内のプロセッサのそれぞれを、前記設計図の1つと関連付け、前記プロセッサのサブセット内のプロセッサのそれぞれが、そのプロセッサの前記処理の役割に関連付けられた前記記憶デバイスからの前記ブート・イメージをロードし、実行するように動作させる手段と、
を更に備える請求項49に記載の仮想コンピューティング・システム。 - 拡張可能なコンピューティング・システムで使用するデータ処理のための1又は複数の命令のシーケンスを格納したコンピュータ読み取り可能な媒体であって、1又は複数のプロセッサによる前記1又は複数の命令のシーケンスの実行が、該1又は複数のプロセッサに、
プロセッサのセットの中から、該プロセッサのサブセットを選択するステップと、
前記プロセッサのサブセット中の各プロセッサ同士が論理的に結合するように、第1のスイッチング・システムを動作させる命令を生成するステップと、
記憶デバイスのセットの中から、該記憶デバイスのサブセットを選択するステップと、
前記記憶デバイスのサブセット中の各記憶デバイス同士が、互いに及び前記プロセッサのサブセットと、論理的に結合するように、第2のスイッチング・システムを動作させる命令を生成するステップと、
の各ステップの動作を生じさせるコンピュータ読み取り可能な媒体。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15039499P | 1999-08-23 | 1999-08-23 | |
US60/150,394 | 1999-08-23 | ||
US09/502,170 US6779016B1 (en) | 1999-08-23 | 2000-02-11 | Extensible computing system |
US09/502,170 | 2000-02-11 | ||
PCT/US2000/022783 WO2001014987A2 (en) | 1999-08-23 | 2000-08-17 | Extensible computing system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003507817A JP2003507817A (ja) | 2003-02-25 |
JP3948957B2 true JP3948957B2 (ja) | 2007-07-25 |
Family
ID=26847606
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001519281A Expired - Lifetime JP3948957B2 (ja) | 1999-08-23 | 2000-08-17 | 拡張可能なコンピューティング・システム |
Country Status (12)
Country | Link |
---|---|
US (3) | US6779016B1 (ja) |
EP (1) | EP1206738B1 (ja) |
JP (1) | JP3948957B2 (ja) |
KR (1) | KR100626462B1 (ja) |
CN (1) | CN1321373C (ja) |
AT (1) | ATE265707T1 (ja) |
AU (1) | AU769928B2 (ja) |
CA (1) | CA2376333A1 (ja) |
DE (1) | DE60010277T2 (ja) |
IL (2) | IL147903A0 (ja) |
TW (1) | TW548554B (ja) |
WO (1) | WO2001014987A2 (ja) |
Families Citing this family (289)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7403922B1 (en) | 1997-07-28 | 2008-07-22 | Cybersource Corporation | Method and apparatus for evaluating fraud risk in an electronic commerce transaction |
US7096192B1 (en) | 1997-07-28 | 2006-08-22 | Cybersource Corporation | Method and system for detecting fraud in a credit card transaction over a computer network |
US7177825B1 (en) | 1999-05-11 | 2007-02-13 | Borders Louis H | Integrated system for ordering, fulfillment, and delivery of consumer products using a data network |
WO2000068856A2 (en) | 1999-05-11 | 2000-11-16 | Webvan Group, Inc. | Electronic commerce enabled delivery system and method |
US8234650B1 (en) * | 1999-08-23 | 2012-07-31 | Oracle America, Inc. | Approach for allocating resources to an apparatus |
US6779016B1 (en) * | 1999-08-23 | 2004-08-17 | Terraspring, Inc. | Extensible computing system |
US6976258B1 (en) | 1999-11-30 | 2005-12-13 | Ensim Corporation | Providing quality of service guarantees to virtual hosts |
US6938256B2 (en) | 2000-01-18 | 2005-08-30 | Galactic Computing Corporation | System for balance distribution of requests across multiple servers using dynamic metrics |
US7093005B2 (en) * | 2000-02-11 | 2006-08-15 | Terraspring, Inc. | Graphical editor for defining and creating a computer system |
US20020103889A1 (en) * | 2000-02-11 | 2002-08-01 | Thomas Markson | Virtual storage layer approach for dynamically associating computer storage with processing hosts |
US7343421B1 (en) | 2000-02-14 | 2008-03-11 | Digital Asset Enterprises Llc | Restricting communication of selected processes to a set of specific network addresses |
US6948003B1 (en) | 2000-03-15 | 2005-09-20 | Ensim Corporation | Enabling a service provider to provide intranet services |
US7240283B1 (en) | 2000-11-10 | 2007-07-03 | Narasimha Rao Paila | Data transmission and rendering techniques implemented over a client-server system |
US6985937B1 (en) | 2000-05-11 | 2006-01-10 | Ensim Corporation | Dynamically modifying the resources of a virtual server |
US6907421B1 (en) | 2000-05-16 | 2005-06-14 | Ensim Corporation | Regulating file access rates according to file type |
US6816905B1 (en) * | 2000-11-10 | 2004-11-09 | Galactic Computing Corporation Bvi/Bc | Method and system for providing dynamic hosted service management across disparate accounts/sites |
US8538843B2 (en) | 2000-07-17 | 2013-09-17 | Galactic Computing Corporation Bvi/Bc | Method and system for operating an E-commerce service provider |
US7222176B1 (en) | 2000-08-28 | 2007-05-22 | Datacore Software Corporation | Apparatus and method for using storage domains for controlling data in storage area networks |
US7596784B2 (en) | 2000-09-12 | 2009-09-29 | Symantec Operating Corporation | Method system and apparatus for providing pay-per-use distributed computing resources |
US7606898B1 (en) | 2000-10-24 | 2009-10-20 | Microsoft Corporation | System and method for distributed management of shared computers |
US7089293B2 (en) * | 2000-11-02 | 2006-08-08 | Sun Microsystems, Inc. | Switching system method for discovering and accessing SCSI devices in response to query |
US7865596B2 (en) * | 2000-11-02 | 2011-01-04 | Oracle America, Inc. | Switching system for managing storage in digital networks |
US7546369B2 (en) | 2000-12-21 | 2009-06-09 | Berg Mitchell T | Method and system for communicating a request packet in response to a state |
US20020116397A1 (en) * | 2000-12-21 | 2002-08-22 | Berg Mitchell T. | Method and system for communicating an information packet through multiple router devices |
US7418522B2 (en) * | 2000-12-21 | 2008-08-26 | Noatak Software Llc | Method and system for communicating an information packet through multiple networks |
US7512686B2 (en) | 2000-12-21 | 2009-03-31 | Berg Mitchell T | Method and system for establishing a data structure of a connection with a client |
US7287090B1 (en) | 2000-12-21 | 2007-10-23 | Noatak Software, Llc | Method and system for identifying a computing device in response to a request packet |
US7219354B1 (en) * | 2000-12-22 | 2007-05-15 | Ensim Corporation | Virtualizing super-user privileges for multiple virtual processes |
US7233914B1 (en) | 2000-12-27 | 2007-06-19 | Joyo Wijaya | Technique for implementing item substitution for unavailable items relating to a customer order |
US7502861B1 (en) * | 2001-02-16 | 2009-03-10 | Swsoft Holding, Ltd. | System and method for providing services for offline servers using the same network address |
US7099948B2 (en) | 2001-02-16 | 2006-08-29 | Swsoft Holdings, Ltd. | Virtual computing environment |
US7890605B1 (en) * | 2001-02-16 | 2011-02-15 | Parallels Holdings, Ltd. | System and method for pre-installing of virtual private server files |
ATE331250T1 (de) * | 2001-03-01 | 2006-07-15 | Storeage Networking Technologi | Sicherheit für ein san (storage area network) |
US7069267B2 (en) | 2001-03-08 | 2006-06-27 | Tririga Llc | Data storage and access employing clustering |
JP4828709B2 (ja) * | 2001-03-19 | 2011-11-30 | 株式会社東芝 | 自動osインストール方法及び計算機ネットワークシステム |
US7308423B1 (en) | 2001-03-19 | 2007-12-11 | Franklin Goodhue Woodward | Technique for handling sales of regulated items implemented over a data network |
US7076633B2 (en) | 2001-03-28 | 2006-07-11 | Swsoft Holdings, Ltd. | Hosting service providing platform system and method |
JP4009434B2 (ja) * | 2001-04-18 | 2007-11-14 | 株式会社日立製作所 | 磁気ディスク装置間結合装置 |
US7231430B2 (en) * | 2001-04-20 | 2007-06-12 | Egenera, Inc. | Reconfigurable, virtual processing system, cluster, network and method |
JP3945297B2 (ja) | 2001-04-24 | 2007-07-18 | 株式会社日立製作所 | システム及び管理システム |
US7099912B2 (en) | 2001-04-24 | 2006-08-29 | Hitachi, Ltd. | Integrated service management system |
US7200646B2 (en) | 2001-04-25 | 2007-04-03 | Sun Microsystems, Inc. | System and method for on-demand node creation for fabric devices |
US7171474B2 (en) * | 2001-04-25 | 2007-01-30 | Sun Microsystems, Inc. | Persistent repository for on-demand node creation for fabric devices |
US6920491B2 (en) | 2001-04-25 | 2005-07-19 | Sun Microsystems, Inc. | Fabric device configuration interface for onlining fabric devices for use from a host system |
JP2005502228A (ja) * | 2001-04-27 | 2005-01-20 | ザ ボーイング カンパニー | データ通信処理方法、コンピューティングデバイス、および、コンピュータ可読媒体 |
US8392586B2 (en) * | 2001-05-15 | 2013-03-05 | Hewlett-Packard Development Company, L.P. | Method and apparatus to manage transactions at a network storage device |
US20020191649A1 (en) * | 2001-06-13 | 2002-12-19 | Woodring Sherrie L. | Port mirroring in channel directors and switches |
WO2002103532A2 (de) | 2001-06-20 | 2002-12-27 | Pact Xpp Technologies Ag | Verfahren zur bearbeitung von daten |
US7546354B1 (en) * | 2001-07-06 | 2009-06-09 | Emc Corporation | Dynamic network based storage with high availability |
US6985490B2 (en) * | 2001-07-11 | 2006-01-10 | Sancastle Technologies, Ltd. | Extension of fibre channel addressing |
US7509369B1 (en) * | 2001-07-11 | 2009-03-24 | Swsoft Holdings, Ltd. | Balancing shared servers in virtual environments |
US8909800B1 (en) * | 2001-07-30 | 2014-12-09 | Parallels IP Holdings GmbH | Server cluster-based system and method for management and recovery of virtual servers |
JP3907981B2 (ja) * | 2001-07-30 | 2007-04-18 | 富士通株式会社 | データ処理プログラム及びデータ処理装置 |
US7174379B2 (en) | 2001-08-03 | 2007-02-06 | International Business Machines Corporation | Managing server resources for hosted applications |
US20030055932A1 (en) * | 2001-09-19 | 2003-03-20 | Dell Products L.P. | System and method for configuring a storage area network |
US7552056B2 (en) * | 2001-09-25 | 2009-06-23 | Emc Corporation | Scalable storage service registration application |
US8055555B2 (en) * | 2001-09-25 | 2011-11-08 | Emc Corporation | Mediation device for scalable storage service |
US20030069949A1 (en) * | 2001-10-04 | 2003-04-10 | Chan Michele W. | Managing distributed network infrastructure services |
US6999998B2 (en) | 2001-10-04 | 2006-02-14 | Hewlett-Packard Development Company, L.P. | Shared memory coupling of network infrastructure devices |
JP3879471B2 (ja) * | 2001-10-10 | 2007-02-14 | 株式会社日立製作所 | 計算機資源割当方法 |
US20030078996A1 (en) * | 2001-10-15 | 2003-04-24 | Ensoport Internetworks | EnsoBox clustered services architecture: techniques for enabling the creation of scalable, robust, and industrial strength internet services provider appliance |
US7958199B2 (en) * | 2001-11-02 | 2011-06-07 | Oracle America, Inc. | Switching systems and methods for storage management in digital networks |
US20030097445A1 (en) * | 2001-11-20 | 2003-05-22 | Stephen Todd | Pluggable devices services and events for a scalable storage service architecture |
US8549048B2 (en) * | 2001-12-19 | 2013-10-01 | Emc Corporation | Workflow database for scalable storage service |
US7155494B2 (en) * | 2002-01-09 | 2006-12-26 | Sancastle Technologies Ltd. | Mapping between virtual local area networks and fibre channel zones |
US20030140128A1 (en) * | 2002-01-18 | 2003-07-24 | Dell Products L.P. | System and method for validating a network |
US7099814B2 (en) * | 2002-03-29 | 2006-08-29 | International Business Machines Corportion | I/O velocity projection for bridge attached channel |
US20030189929A1 (en) * | 2002-04-04 | 2003-10-09 | Fujitsu Limited | Electronic apparatus for assisting realization of storage area network system |
US7606167B1 (en) * | 2002-04-05 | 2009-10-20 | Cisco Technology, Inc. | Apparatus and method for defining a static fibre channel fabric |
US7165258B1 (en) * | 2002-04-22 | 2007-01-16 | Cisco Technology, Inc. | SCSI-based storage area network having a SCSI router that routes traffic between SCSI and IP networks |
US6965951B2 (en) | 2002-05-17 | 2005-11-15 | Sun Microsystems, Inc. | Device centric discovery and configuration for fabric devices |
US20030217131A1 (en) * | 2002-05-17 | 2003-11-20 | Storage Technology Corporation | Processing distribution using instant copy |
US7080378B1 (en) | 2002-05-17 | 2006-07-18 | Storage Technology Corporation | Workload balancing using dynamically allocated virtual servers |
EP1367685A1 (en) | 2002-05-31 | 2003-12-03 | Whirlpool Corporation | Electronic system for power consumption management of appliances |
US7647523B2 (en) * | 2002-06-12 | 2010-01-12 | International Business Machines Corporation | Dynamic binding and fail-over of comparable web service instances in a services grid |
US7454458B2 (en) * | 2002-06-24 | 2008-11-18 | Ntt Docomo, Inc. | Method and system for application load balancing |
US7380002B2 (en) * | 2002-06-28 | 2008-05-27 | Microsoft Corporation | Bi-directional affinity within a load-balancing multi-node network interface |
US7010596B2 (en) * | 2002-06-28 | 2006-03-07 | International Business Machines Corporation | System and method for the allocation of grid computing to network workstations |
US7962590B1 (en) | 2002-07-17 | 2011-06-14 | International Business Machines Corporation | Automated discovery of a multitier compute infrastructure |
US7337184B1 (en) * | 2002-07-17 | 2008-02-26 | International Business Machines Corporation | Topology mapping of a multitier compute infrastructure |
US7392268B2 (en) * | 2002-09-19 | 2008-06-24 | The Generations Network, Inc. | Systems and methods for partitioning data on multiple servers |
US7216343B2 (en) * | 2002-09-20 | 2007-05-08 | International Business Machines Corporation | Method and apparatus for automatic updating and testing of software |
US20040060054A1 (en) * | 2002-09-20 | 2004-03-25 | International Business Machines Corporation | Composition service for autonomic computing |
US7194445B2 (en) * | 2002-09-20 | 2007-03-20 | Lenovo (Singapore) Pte. Ltd. | Adaptive problem determination and recovery in a computer system |
US7043419B2 (en) * | 2002-09-20 | 2006-05-09 | International Business Machines Corporation | Method and apparatus for publishing and monitoring entities providing services in a distributed data processing system |
US20040059704A1 (en) * | 2002-09-20 | 2004-03-25 | International Business Machines Corporation | Self-managing computing system |
US7200657B2 (en) * | 2002-10-01 | 2007-04-03 | International Business Machines Corporation | Autonomic provisioning of network-accessible service behaviors within a federated grid infrastructure |
US20040083112A1 (en) * | 2002-10-25 | 2004-04-29 | Horst Gale R. | Method and apparatus for managing resources of utility providers |
US7945669B2 (en) | 2002-10-30 | 2011-05-17 | Emc Corporation | Method and apparatus for provisioning storage resources |
JP2004157766A (ja) * | 2002-11-06 | 2004-06-03 | Tkc Corp | データストレージ装置 |
US7055052B2 (en) * | 2002-11-21 | 2006-05-30 | International Business Machines Corporation | Self healing grid architecture for decentralized component-based systems |
US7107272B1 (en) | 2002-12-02 | 2006-09-12 | Storage Technology Corporation | Independent distributed metadata system and method |
US20040128269A1 (en) * | 2002-12-27 | 2004-07-01 | Milligan Charles A. | System and method for managing data through families of inter-related metadata tables |
US6996682B1 (en) | 2002-12-27 | 2006-02-07 | Storage Technology Corporation | System and method for cascading data updates through a virtual copy hierarchy |
US20040139144A1 (en) * | 2002-12-31 | 2004-07-15 | Batra Virinder M. | Using web services to access computational grids by non-members of the grid |
US7353276B2 (en) * | 2003-02-13 | 2008-04-01 | Microsoft Corporation | Bi-directional affinity |
US7171470B2 (en) | 2003-02-20 | 2007-01-30 | International Business Machines Corporation | Grid service scheduling of related services using heuristics |
US20050021688A1 (en) * | 2003-02-25 | 2005-01-27 | David Felts | System and method for domain configuration |
US7831736B1 (en) * | 2003-02-27 | 2010-11-09 | Cisco Technology, Inc. | System and method for supporting VLANs in an iSCSI |
US7765501B2 (en) * | 2003-03-06 | 2010-07-27 | Microsoft Corporation | Settings and constraints validation to enable design for operations |
US7890543B2 (en) | 2003-03-06 | 2011-02-15 | 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 |
US8122106B2 (en) | 2003-03-06 | 2012-02-21 | Microsoft Corporation | Integrating design, deployment, and management phases for systems |
JP4045991B2 (ja) * | 2003-03-27 | 2008-02-13 | 株式会社日立製作所 | ポリシールールの生成方法およびそれを用いたジョブ運用管理方法 |
US7334225B2 (en) * | 2003-04-28 | 2008-02-19 | International Business Machines Corporation | Method, system, and computer program product for on demand enablement of dormant computing resources |
CN100416542C (zh) * | 2003-05-26 | 2008-09-03 | 株式会社东芝 | 负载分配系统和方法 |
US7093120B2 (en) * | 2003-05-29 | 2006-08-15 | International Business Machines Corporation | Method, apparatus, and program for performing boot, maintenance, or install operations on a storage area network |
US7814126B2 (en) * | 2003-06-25 | 2010-10-12 | Microsoft Corporation | Using task sequences to manage devices |
US7451208B1 (en) | 2003-06-28 | 2008-11-11 | Cisco Technology, Inc. | Systems and methods for network address failover |
US8352724B2 (en) * | 2003-07-23 | 2013-01-08 | Semiconductor Energy Laboratory Co., Ltd. | Microprocessor and grid computing system |
CN100472455C (zh) * | 2003-07-28 | 2009-03-25 | Sap股份公司 | 动态配置服务的网络及方法 |
US20050044301A1 (en) * | 2003-08-20 | 2005-02-24 | Vasilevsky Alexander David | Method and apparatus for providing virtual computing services |
US8776050B2 (en) * | 2003-08-20 | 2014-07-08 | Oracle International Corporation | Distributed virtual machine monitor for managing multiple virtual resources across multiple physical nodes |
US7543296B2 (en) * | 2003-08-26 | 2009-06-02 | International Business Machines Corporation | Time based multi-tiered management of resource systems |
US8135636B2 (en) * | 2003-11-25 | 2012-03-13 | International Business Machines Corporation | System for metering in an on-demand utility environment |
US20050114595A1 (en) * | 2003-11-26 | 2005-05-26 | Veritas Operating Corporation | System and method for emulating operating system metadata to provide cross-platform access to storage volumes |
US20050132270A1 (en) * | 2003-12-11 | 2005-06-16 | International Business Machines Corporation | Method, system, and computer program product for automatic code generation in an object oriented environment |
US20050138422A1 (en) * | 2003-12-23 | 2005-06-23 | Hancock Peter J. | System and method for metering the performance of a data processing system |
US20050137897A1 (en) * | 2003-12-23 | 2005-06-23 | Hoffman Philip M. | Method and system for performance redistribution in partitioned computer systems |
CN100440888C (zh) * | 2004-01-17 | 2008-12-03 | 中国科学院计算技术研究所 | 基于网络存储和资源虚拟化的大型服务系统的管理系统及其方法 |
JP4227035B2 (ja) * | 2004-02-03 | 2009-02-18 | 株式会社日立製作所 | 計算機システム、管理装置、ストレージ装置及びコンピュータ装置 |
US20050192937A1 (en) * | 2004-02-26 | 2005-09-01 | International Business Machines Corporation | Dynamic query optimization |
US20050198636A1 (en) * | 2004-02-26 | 2005-09-08 | International Business Machines Corporation | Dynamic optimization of batch processing |
US7778422B2 (en) | 2004-02-27 | 2010-08-17 | Microsoft Corporation | Security associations for devices |
US8782654B2 (en) | 2004-03-13 | 2014-07-15 | Adaptive Computing Enterprises, Inc. | Co-allocating a reservation spanning different compute resources types |
CA2558892A1 (en) | 2004-03-13 | 2005-09-29 | Cluster Resources, Inc. | System and method for a self-optimizing reservation in time of compute resources |
JP5022030B2 (ja) * | 2004-03-19 | 2012-09-12 | インターナショナル・ビジネス・マシーンズ・コーポレーション | コンピュータシステム、これを構成するサーバ、そのジョブ実行制御方法及びプログラム |
US7827104B2 (en) * | 2004-03-25 | 2010-11-02 | International Business Machines Corporation | Method and system for efficiently billing on-demand service exploitation in computer networks |
US8458691B2 (en) | 2004-04-15 | 2013-06-04 | International Business Machines Corporation | System and method for dynamically building application environments in a computational grid |
US20050246529A1 (en) * | 2004-04-30 | 2005-11-03 | Microsoft Corporation | Isolated persistent identity storage for authentication of computing devies |
US20070266388A1 (en) | 2004-06-18 | 2007-11-15 | Cluster Resources, Inc. | System and method for providing advanced reservations in a compute environment |
US7415419B2 (en) * | 2004-06-18 | 2008-08-19 | Expedia, Inc. | Method and system for presenting rates for travel services |
US20050289098A1 (en) * | 2004-06-24 | 2005-12-29 | International Business Machines Corporation | Dynamically selecting alternative query access plans |
JP2006011860A (ja) * | 2004-06-25 | 2006-01-12 | Fujitsu Ltd | システム構成管理プログラム及びシステム構成管理装置 |
US20140067771A2 (en) * | 2004-07-09 | 2014-03-06 | International Business Machines Corporation | Management of a Scalable Computer System |
US7912940B2 (en) * | 2004-07-30 | 2011-03-22 | Microsoft Corporation | Network system role determination |
US8176490B1 (en) | 2004-08-20 | 2012-05-08 | Adaptive Computing Enterprises, Inc. | System and method of interfacing a workload manager and scheduler with an identity manager |
CN101023646B (zh) * | 2004-08-21 | 2011-01-26 | 艾利森电话股份有限公司 | 资源管理 |
JP2006079495A (ja) * | 2004-09-13 | 2006-03-23 | Hitachi Ltd | ストレージシステム及び論理区画の設定方法 |
US7302316B2 (en) * | 2004-09-14 | 2007-11-27 | Brigham Young University | Programmable autopilot system for autonomous flight of unmanned aerial vehicles |
US20060075111A1 (en) * | 2004-09-30 | 2006-04-06 | Mosen Auryan | Virtual internet based PC service for households |
US20060075408A1 (en) * | 2004-10-06 | 2006-04-06 | Digipede Technologies, Llc | Distributed object execution system |
WO2006043321A1 (ja) * | 2004-10-20 | 2006-04-27 | Fujitsu Limited | アプリケーション管理プログラム、アプリケーション管理方法、およびアプリケーション管理装置 |
JP4874807B2 (ja) * | 2004-10-20 | 2012-02-15 | 富士通株式会社 | サーバ管理プログラム、サーバ管理方法、およびサーバ管理装置 |
WO2006043320A1 (ja) * | 2004-10-20 | 2006-04-27 | Fujitsu Limited | アプリケーション管理プログラム、アプリケーション管理方法、およびアプリケーション管理装置 |
CA2827035A1 (en) | 2004-11-08 | 2006-05-18 | Adaptive Computing Enterprises, Inc. | System and method of providing system jobs within a compute environment |
US8244882B2 (en) * | 2004-11-17 | 2012-08-14 | Raytheon Company | On-demand instantiation in a high-performance computing (HPC) system |
CN101061464B (zh) | 2004-11-17 | 2012-07-04 | 日本电气株式会社 | 信息处理设备及其程序、模块化系统的运行管理系统和组件选择方法 |
US7680771B2 (en) * | 2004-12-20 | 2010-03-16 | International Business Machines Corporation | Apparatus, system, and method for database provisioning |
US8271448B2 (en) * | 2005-01-28 | 2012-09-18 | Oracle International Corporation | Method for strategizing protocol presumptions in two phase commit coordinator |
US7458066B2 (en) * | 2005-02-28 | 2008-11-25 | Hewlett-Packard Development Company, L.P. | Computer system and method for transferring executables between partitions |
US8863143B2 (en) * | 2006-03-16 | 2014-10-14 | Adaptive Computing Enterprises, Inc. | System and method for managing a hybrid compute environment |
US8782231B2 (en) | 2005-03-16 | 2014-07-15 | Adaptive Computing Enterprises, Inc. | Simple integration of on-demand compute environment |
US9225663B2 (en) | 2005-03-16 | 2015-12-29 | Adaptive Computing Enterprises, Inc. | System and method providing a virtual private cluster |
US9015324B2 (en) | 2005-03-16 | 2015-04-21 | Adaptive Computing Enterprises, Inc. | System and method of brokering cloud computing resources |
US9231886B2 (en) | 2005-03-16 | 2016-01-05 | Adaptive Computing Enterprises, Inc. | Simple integration of an on-demand compute environment |
US8782120B2 (en) | 2005-04-07 | 2014-07-15 | Adaptive Computing Enterprises, Inc. | Elastic management of compute resources between a web server and an on-demand compute environment |
CA2603577A1 (en) | 2005-04-07 | 2006-10-12 | Cluster Resources, Inc. | On-demand access to compute resources |
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 |
US8549513B2 (en) | 2005-06-29 | 2013-10-01 | Microsoft Corporation | Model-based virtual system provisioning |
US20070011092A1 (en) * | 2005-07-05 | 2007-01-11 | Bishop Ellis E | System and method for controlling on-demand service delivery costs |
US7548963B2 (en) * | 2005-07-09 | 2009-06-16 | International Business Machines Corporation | System and method for generating a multi-plan for a multi-layer storage area network |
US7707579B2 (en) | 2005-07-14 | 2010-04-27 | International Business Machines Corporation | Method and system for application profiling for purposes of defining resource requirements |
CN100431306C (zh) * | 2005-07-15 | 2008-11-05 | 环达电脑(上海)有限公司 | 动态网络连接分配系统及方法 |
US7558858B1 (en) * | 2005-08-31 | 2009-07-07 | At&T Intellectual Property Ii, L.P. | High availability infrastructure with active-active designs |
US7995474B2 (en) * | 2005-09-13 | 2011-08-09 | International Business Machines Corporation | Grid network throttle and load collector |
US7853948B2 (en) * | 2005-10-24 | 2010-12-14 | International Business Machines Corporation | Method and apparatus for scheduling grid jobs |
US7831971B2 (en) * | 2005-10-24 | 2010-11-09 | International Business Machines Corporation | Method and apparatus for presenting a visualization of processor capacity and network availability based on a grid computing system simulation |
US20070118839A1 (en) * | 2005-10-24 | 2007-05-24 | Viktors Berstis | Method and apparatus for grid project modeling language |
US20070101000A1 (en) * | 2005-11-01 | 2007-05-03 | Childress Rhonda L | Method and apparatus for capacity planning and resourse availability notification on a hosted grid |
US7941309B2 (en) | 2005-11-02 | 2011-05-10 | Microsoft Corporation | Modeling IT operations/policies |
JP4663497B2 (ja) * | 2005-12-01 | 2011-04-06 | 株式会社日立製作所 | 情報処理システムおよび情報処理装置の割当管理方法 |
US8682799B1 (en) * | 2005-12-23 | 2014-03-25 | Qlogic, Corporation | Method and system for port licensing in switches |
JP4434168B2 (ja) * | 2006-03-30 | 2010-03-17 | 日本電気株式会社 | オンデマンドクライアントサービスシステム、その管理方法、及びプログラム |
US8028069B2 (en) * | 2006-05-08 | 2011-09-27 | International Business Machines Corporation | Structure for securing leased resources on a computer |
US7707290B2 (en) * | 2006-05-08 | 2010-04-27 | International Business Machines Corporation | Securing leased resources on a computer |
US8285650B2 (en) | 2006-06-13 | 2012-10-09 | At&T Intellectual Property I, Lp | Method and apparatus for billing data services |
US8000260B2 (en) * | 2006-06-19 | 2011-08-16 | International Business Machines Corporation | Method for dynamic information technology infrastructure provisioning |
US20080114879A1 (en) * | 2006-11-14 | 2008-05-15 | Microsoft Corporation | Deployment of configuration data within a server farm |
US20080168310A1 (en) | 2007-01-05 | 2008-07-10 | Microsoft Corporation | Hardware diagnostics and software recovery on headless server appliances |
US20080168301A1 (en) * | 2007-01-10 | 2008-07-10 | Inventec Corporation | Method of automatically adjusting storage sources for server a system |
JP5057792B2 (ja) * | 2007-01-29 | 2012-10-24 | 株式会社日立製作所 | 性能ボトルネックを緩和する機能を備えたストレージシステム |
US20080183626A1 (en) * | 2007-01-31 | 2008-07-31 | Francisco Romero | Software license agreement management based on temporary usage |
US8103562B2 (en) * | 2007-04-03 | 2012-01-24 | Sony Computer Entertainment America Llc | System and method for processor cycle accounting and valuation |
US7705484B2 (en) * | 2007-04-10 | 2010-04-27 | Whirlpool Corporation | Energy management system and method |
US20080271031A1 (en) * | 2007-04-30 | 2008-10-30 | Dan Herington | Resource Partition Management in Kernel Space |
US7979893B2 (en) * | 2007-05-31 | 2011-07-12 | Microsoft Corporation | Tailored system management interface |
US8046694B1 (en) | 2007-08-06 | 2011-10-25 | Gogrid, LLC | Multi-server control panel |
US8041773B2 (en) | 2007-09-24 | 2011-10-18 | The Research Foundation Of State University Of New York | Automatic clustering for self-organizing grids |
AU2008323758B2 (en) * | 2007-11-08 | 2012-11-29 | Sentient Technologies (Barbados) Limited | Distributed network for performing complex algorithms |
US8909570B1 (en) | 2008-11-07 | 2014-12-09 | Genetic Finance (Barbados) Limited | Data mining technique with experience-layered gene pool |
US9466023B1 (en) | 2007-11-08 | 2016-10-11 | Sentient Technologies (Barbados) Limited | Data mining technique with federated evolutionary coordination |
KR101040117B1 (ko) * | 2007-12-13 | 2011-06-09 | 한국전자통신연구원 | 다중 시스템 워크로드 관리 시스템 및 방법 |
US7912956B1 (en) * | 2008-01-22 | 2011-03-22 | Raytheon Company | Service level agreement based control of a distributed computing system |
US8302102B2 (en) * | 2008-02-27 | 2012-10-30 | International Business Machines Corporation | System utilization through dedicated uncapped partitions |
US8527656B2 (en) * | 2008-03-26 | 2013-09-03 | Avaya Inc. | Registering an endpoint with a sliding window of controllers in a list of controllers of a survivable network |
US8135838B2 (en) * | 2008-04-08 | 2012-03-13 | Geminare Incorporated | System and method for providing data and application continuity in a computer system |
DE102008023846A1 (de) | 2008-05-16 | 2009-12-03 | Fujitsu Siemens Computers Gmbh | Rechnerverbund und Verfahren zur Konfiguration eines Rechnerverbundes |
US20090327495A1 (en) * | 2008-06-27 | 2009-12-31 | Oqo, Inc. | Computing with local and remote resources using automated optimization |
US8352868B2 (en) * | 2008-06-27 | 2013-01-08 | Google Inc. | Computing with local and remote resources including user mode control |
US20090328036A1 (en) * | 2008-06-27 | 2009-12-31 | Oqo, Inc. | Selection of virtual computing resources using hardware model presentations |
US20100043006A1 (en) * | 2008-08-13 | 2010-02-18 | Egenera, Inc. | Systems and methods for a configurable deployment platform with virtualization of processing resource specific persistent settings |
JP2010061278A (ja) * | 2008-09-02 | 2010-03-18 | Hitachi Ltd | 仮想サーバシステムの管理装置 |
US8185624B2 (en) | 2009-03-09 | 2012-05-22 | Oracle International Corporation | Efficient on-demand provisioning of servers for specific software sets |
AU2010241594B2 (en) | 2009-04-28 | 2015-05-21 | Sentient Technologies (Barbados) Limited | Distributed evolutionary algorithm for asset management and trading |
CA2759293A1 (en) * | 2009-04-28 | 2010-11-04 | Genetic Finance (Barbados) Limited | Class-based distributed evolutionary algorithm for asset management and trading |
US8074107B2 (en) * | 2009-10-26 | 2011-12-06 | Amazon Technologies, Inc. | Failover and recovery for replicated data instances |
US11720290B2 (en) | 2009-10-30 | 2023-08-08 | Iii Holdings 2, Llc | Memcached server functionality in a cluster of data processing nodes |
US10877695B2 (en) | 2009-10-30 | 2020-12-29 | Iii Holdings 2, Llc | Memcached server functionality in a cluster of data processing nodes |
JP5368285B2 (ja) | 2009-12-11 | 2013-12-18 | 株式会社日立製作所 | 計算機システム、計算機リソースの管理方法及びプログラム |
US20110230979A1 (en) * | 2010-03-19 | 2011-09-22 | Microsoft Corporation | Scalable and flexible control system having symmetrical control units |
DE112011100714B4 (de) * | 2010-05-14 | 2018-07-19 | International Business Machines Corporation | Computersystem, Verfahren und Programm |
CN101902385B (zh) * | 2010-07-05 | 2012-10-31 | 深圳市阿尔斯电信技术有限公司 | 一种在互联网中实现信令可信传输的方法和互联网通信架构 |
US20120016681A1 (en) * | 2010-07-13 | 2012-01-19 | Salesforce.Com, Inc. | System, method and computer program product for analyzing monitored usage of a resource |
US9172979B2 (en) | 2010-08-12 | 2015-10-27 | Net Power And Light, Inc. | Experience or “sentio” codecs, and methods and systems for improving QoE and encoding based on QoE experiences |
WO2012021173A2 (en) | 2010-08-12 | 2012-02-16 | Net Power And Light Inc. | System architecture and methods for experiential computing |
WO2012021902A2 (en) | 2010-08-13 | 2012-02-16 | Net Power And Light Inc. | Methods and systems for interaction through gestures |
US8429704B2 (en) * | 2010-10-21 | 2013-04-23 | Net Power And Light, Inc. | System architecture and method for composing and directing participant experiences |
US20120158650A1 (en) * | 2010-12-16 | 2012-06-21 | Sybase, Inc. | Distributed data cache database architecture |
US8789065B2 (en) | 2012-06-08 | 2014-07-22 | Throughputer, Inc. | System and method for input data load adaptive parallel processing |
US20130117168A1 (en) | 2011-11-04 | 2013-05-09 | Mark Henrik Sandstrom | Maximizing Throughput of Multi-user Parallel Data Processing Systems |
US9535765B1 (en) * | 2011-03-28 | 2017-01-03 | Google Inc. | Opportunistic job Processing of input data divided into partitions of different sizes |
JP5691062B2 (ja) * | 2011-04-04 | 2015-04-01 | 株式会社日立製作所 | 仮想計算機の制御方法及び管理計算機 |
GB2490037A (en) * | 2011-04-16 | 2012-10-17 | Mark Henrik Sandstrom | System and method for data processing billing |
US8840013B2 (en) | 2011-12-06 | 2014-09-23 | autoGraph, Inc. | Consumer self-profiling GUI, analysis and rapid information presentation tools |
US20130144710A1 (en) | 2011-06-06 | 2013-06-06 | Nfluence Media, Inc. | Consumer driven advertising system |
US8880657B1 (en) | 2011-06-28 | 2014-11-04 | Gogrid, LLC | System and method for configuring and managing virtual grids |
CN102857475A (zh) * | 2011-06-29 | 2013-01-02 | 上海地面通信息网络有限公司 | 一种防火墙虚拟化处理系统 |
US9002759B2 (en) | 2011-07-15 | 2015-04-07 | Sentient Technologies (Barbados) Limited | Data mining technique with maintenance of fitness history |
US9448847B2 (en) | 2011-07-15 | 2016-09-20 | Throughputer, Inc. | Concurrent program execution optimization |
US9304895B1 (en) | 2011-07-15 | 2016-04-05 | Sentient Technologies (Barbados) Limited | Evolutionary technique with n-pool evolution |
US9710764B1 (en) | 2011-07-15 | 2017-07-18 | Sentient Technologies (Barbados) Limited | Data mining technique with position labeling |
US9367816B1 (en) | 2011-07-15 | 2016-06-14 | Sentient Technologies (Barbados) Limited | Data mining technique with induced environmental alteration |
US9882950B2 (en) | 2012-06-13 | 2018-01-30 | All Purpose Networks LLC | Methods and systems of an all purpose broadband network |
US9219541B2 (en) * | 2012-06-13 | 2015-12-22 | All Purpose Networks LLC | Baseband data transmission and reception in an LTE wireless base station employing periodically scanning RF beam forming techniques |
US8565689B1 (en) | 2012-06-13 | 2013-10-22 | All Purpose Networks LLC | Optimized broadband wireless network performance through base station application server |
US9503927B2 (en) | 2012-06-13 | 2016-11-22 | All Purpose Networks LLC | Multiple-use wireless network |
US9084143B2 (en) | 2012-06-13 | 2015-07-14 | All Purpose Networks LLC | Network migration queuing service in a wireless network |
US10025700B1 (en) | 2012-07-18 | 2018-07-17 | Sentient Technologies (Barbados) Limited | Data mining technique with n-Pool evolution |
CN104272286A (zh) * | 2012-07-20 | 2015-01-07 | 惠普发展公司,有限责任合伙企业 | 基于策略的网络资源缩放 |
US10963420B2 (en) * | 2012-08-10 | 2021-03-30 | Adobe Inc. | Systems and methods for providing hot spare nodes |
WO2014028060A1 (en) | 2012-08-15 | 2014-02-20 | Brian Roundtree | Tools for interest-graph driven personalization |
US10540515B2 (en) | 2012-11-09 | 2020-01-21 | autoGraph, Inc. | Consumer and brand owner data management tools and consumer privacy tools |
EP2997505A4 (en) * | 2013-05-16 | 2016-12-07 | Nfluence Media Inc | TOOLS FOR MANAGING SENSITIVE PERSONAL DATA |
KR101695012B1 (ko) | 2013-06-04 | 2017-01-10 | 한국전자통신연구원 | 동적 노드 서비스 제공 방법 및 그 장치 |
US9602426B2 (en) * | 2013-06-21 | 2017-03-21 | Microsoft Technology Licensing, Llc | Dynamic allocation of resources while considering resource reservations |
JP5558615B2 (ja) * | 2013-09-12 | 2014-07-23 | 株式会社日立製作所 | 計算機システム、計算機リソースの管理方法及びプログラム |
US9277002B2 (en) * | 2014-01-09 | 2016-03-01 | International Business Machines Corporation | Physical resource management |
US9917728B2 (en) | 2014-01-14 | 2018-03-13 | Nant Holdings Ip, Llc | Software-based fabric enablement |
US10212101B2 (en) | 2014-01-14 | 2019-02-19 | Nant Holdings Ip, Llc | Low level provisioning of network fabrics |
US10268953B1 (en) | 2014-01-28 | 2019-04-23 | Cognizant Technology Solutions U.S. Corporation | Data mining technique with maintenance of ancestry counts |
US11288579B2 (en) | 2014-01-28 | 2022-03-29 | Cognizant Technology Solutions U.S. Corporation | Training and control system for evolving solutions to data-intensive problems using nested experience-layered individual pool |
US10430709B2 (en) | 2016-05-04 | 2019-10-01 | Cognizant Technology Solutions U.S. Corporation | Data mining technique with distributed novelty search |
EP3123751B1 (en) | 2014-03-28 | 2019-11-06 | AutoGraph, Inc. | Beacon based privacy centric network communication, sharing, relevancy tools and other tools |
JP2015194810A (ja) | 2014-03-31 | 2015-11-05 | 富士通株式会社 | スケールアウト方法、システム、情報処理装置、管理装置及びプログラム |
US10552923B2 (en) * | 2014-05-08 | 2020-02-04 | Honda Motor Co., Ltd. | Electric vehicle charging control system |
JP5744287B2 (ja) * | 2014-06-03 | 2015-07-08 | 株式会社日立製作所 | 計算機システム及び計算機リソースの管理方法 |
CN104035522A (zh) * | 2014-06-16 | 2014-09-10 | 南京云创存储科技有限公司 | 大数据库一体机 |
CN105511799B (zh) * | 2014-09-26 | 2018-10-02 | 先智云端数据股份有限公司 | 用于优化储存设备配置的系统及方法 |
US10652103B2 (en) | 2015-04-24 | 2020-05-12 | Goldman Sachs & Co. LLC | System and method for handling events involving computing systems and networks using fabric monitoring system |
US10410155B2 (en) | 2015-05-01 | 2019-09-10 | Microsoft Technology Licensing, Llc | Automatic demand-driven resource scaling for relational database-as-a-service |
WO2016207731A2 (en) | 2015-06-25 | 2016-12-29 | Sentient Technologies (Barbados) Limited | Alife machine learning system and method |
US10430429B2 (en) | 2015-09-01 | 2019-10-01 | Cognizant Technology Solutions U.S. Corporation | Data mining management server |
US9871731B2 (en) * | 2015-09-30 | 2018-01-16 | Microsoft Technology Licensing, Llc | Data plane manipulation in a load balancer |
US10956823B2 (en) | 2016-04-08 | 2021-03-23 | Cognizant Technology Solutions U.S. Corporation | Distributed rule-based probabilistic time-series classifier |
US10776772B2 (en) | 2016-09-30 | 2020-09-15 | Middleware, Inc. | Automated digital method and system of providing or sharing access |
US11257066B2 (en) | 2016-09-30 | 2022-02-22 | Middleware, Inc. | Automated digital method and system of providing or sharing access |
CN107959705B (zh) * | 2016-10-18 | 2021-08-20 | 阿里巴巴集团控股有限公司 | 流式计算任务的分配方法和控制服务器 |
US11250327B2 (en) | 2016-10-26 | 2022-02-15 | Cognizant Technology Solutions U.S. Corporation | Evolution of deep neural network structures |
US11403532B2 (en) | 2017-03-02 | 2022-08-02 | Cognizant Technology Solutions U.S. Corporation | Method and system for finding a solution to a provided problem by selecting a winner in evolutionary optimization of a genetic algorithm |
US10744372B2 (en) * | 2017-03-03 | 2020-08-18 | Cognizant Technology Solutions U.S. Corporation | Behavior dominated search in evolutionary search systems |
US11507844B2 (en) | 2017-03-07 | 2022-11-22 | Cognizant Technology Solutions U.S. Corporation | Asynchronous evaluation strategy for evolution of deep neural networks |
CN108733432B (zh) * | 2017-04-14 | 2021-12-21 | 创新先进技术有限公司 | 编程环境下私有方法的实现方法、调用方法及其装置 |
US11281977B2 (en) | 2017-07-31 | 2022-03-22 | Cognizant Technology Solutions U.S. Corporation | Training and control system for evolving solutions to data-intensive problems using epigenetic enabled individuals |
CN107563868A (zh) * | 2017-09-07 | 2018-01-09 | 上海宝尊电子商务有限公司 | 具有高度弹性和稳定性的官方商城标准体系架构 |
US11250314B2 (en) | 2017-10-27 | 2022-02-15 | Cognizant Technology Solutions U.S. Corporation | Beyond shared hierarchies: deep multitask learning through soft layer ordering |
WO2019118299A1 (en) | 2017-12-13 | 2019-06-20 | Sentient Technologies (Barbados) Limited | Evolving recurrent networks using genetic programming |
US11003994B2 (en) | 2017-12-13 | 2021-05-11 | Cognizant Technology Solutions U.S. Corporation | Evolutionary architectures for evolution of deep neural networks |
WO2020101747A1 (en) | 2018-01-08 | 2020-05-22 | All Purpose Networks, Inc. | Publish-subscribe broker network overlay system |
EP3662370B1 (en) | 2018-01-08 | 2023-12-27 | All Purpose Networks, Inc. | Internet of things system with efficient and secure communications network |
US11527308B2 (en) | 2018-02-06 | 2022-12-13 | Cognizant Technology Solutions U.S. Corporation | Enhanced optimization with composite objectives and novelty-diversity selection |
US11574201B2 (en) | 2018-02-06 | 2023-02-07 | Cognizant Technology Solutions U.S. Corporation | Enhancing evolutionary optimization in uncertain environments by allocating evaluations via multi-armed bandit algorithms |
US11755979B2 (en) | 2018-08-17 | 2023-09-12 | Evolv Technology Solutions, Inc. | Method and system for finding a solution to a provided problem using family tree based priors in Bayesian calculations in evolution based optimization |
US11481639B2 (en) | 2019-02-26 | 2022-10-25 | Cognizant Technology Solutions U.S. Corporation | Enhanced optimization with composite objectives and novelty pulsation |
US11669716B2 (en) | 2019-03-13 | 2023-06-06 | Cognizant Technology Solutions U.S. Corp. | System and method for implementing modular universal reparameterization for deep multi-task learning across diverse domains |
WO2020198520A1 (en) | 2019-03-27 | 2020-10-01 | Cognizant Technology Solutions U.S. Corporation | Process and system including an optimization engine with evolutionary surrogate-assisted prescriptions |
CN113326069A (zh) * | 2020-02-28 | 2021-08-31 | 广东龙芯中科电子科技有限公司 | 操作系统启动方法、装置、电子设备及存储介质 |
US11775841B2 (en) | 2020-06-15 | 2023-10-03 | Cognizant Technology Solutions U.S. Corporation | Process and system including explainable prescriptions through surrogate-assisted evolution |
Family Cites Families (52)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4591967A (en) | 1982-06-29 | 1986-05-27 | Andover Controls Corporation | Distributed drum emulating programmable controller system |
CA1293819C (en) | 1986-08-29 | 1991-12-31 | Thinking Machines Corporation | Very large scale computer |
US4843541A (en) * | 1987-07-29 | 1989-06-27 | International Business Machines Corporation | Logical resource partitioning of a data processing system |
US5163130A (en) | 1989-10-11 | 1992-11-10 | Next Computer, Inc. | System and method for configuring a graphic interface |
JPH0727504B2 (ja) | 1990-12-10 | 1995-03-29 | インターナショナル・ビジネス・マシーンズ・コーポレイション | ネットワークの構成を定義するシステム、ネットワークのための構成パラメータを生成する方法及びネットワークを構成するためのシステム |
JPH04367963A (ja) * | 1991-06-15 | 1992-12-21 | Hitachi Ltd | 共有記憶通信方法 |
EP0562251A2 (en) | 1992-03-24 | 1993-09-29 | Universities Research Association, Inc. | Parallel data transfer network controlled by a dynamically reconfigurable serial network |
CA2100540A1 (en) | 1992-10-19 | 1994-04-20 | Jonel George | System and method for performing resource reconfiguration in a computer system |
JPH06187178A (ja) * | 1992-12-18 | 1994-07-08 | Hitachi Ltd | 仮想計算機システムの入出力割込み制御方法 |
US5574914A (en) | 1993-01-04 | 1996-11-12 | Unisys Corporation | Method and apparatus for performing system resource partitioning |
US5504670A (en) | 1993-03-31 | 1996-04-02 | Intel Corporation | Method and apparatus for allocating resources in a multiprocessor system |
JPH07219913A (ja) | 1994-01-28 | 1995-08-18 | Fujitsu Ltd | マルチプロセッサシステムの制御方法及び装置 |
US5544313A (en) * | 1994-05-11 | 1996-08-06 | International Business Machines Corporation | Baton passing optimization scheme for load balancing/configuration planning in a video-on-demand computer system |
US5751967A (en) | 1994-07-25 | 1998-05-12 | Bay Networks Group, Inc. | Method and apparatus for automatically configuring a network device to support a virtual network |
US5659756A (en) * | 1995-03-31 | 1997-08-19 | International Business Machines Corporation | Method and system for providing access to logical partition information on a per resource basis |
US5666486A (en) | 1995-06-23 | 1997-09-09 | Data General Corporation | Multiprocessor cluster membership manager framework |
US5819020A (en) | 1995-10-16 | 1998-10-06 | Network Specialists, Inc. | Real time backup system |
US6035105A (en) * | 1996-01-02 | 2000-03-07 | Cisco Technology, Inc. | Multiple VLAN architecture system |
US5838907A (en) | 1996-02-20 | 1998-11-17 | Compaq Computer Corporation | Configuration manager for network devices and an associated method for providing configuration information thereto |
US5819042A (en) | 1996-02-20 | 1998-10-06 | Compaq Computer Corporation | Method and apparatus for guided configuration of unconfigured network and internetwork devices |
US5821937A (en) | 1996-02-23 | 1998-10-13 | Netsuite Development, L.P. | Computer method for updating a network design |
WO1997039415A2 (en) * | 1996-04-12 | 1997-10-23 | Citibank, N.A. | Inside money |
WO1997049214A1 (en) | 1996-06-24 | 1997-12-24 | Netsys Technologies, Inc. | Method and apparatus for network centric problem analysis and topology construction |
US6182139B1 (en) * | 1996-08-05 | 2001-01-30 | Resonate Inc. | Client-side resource-based load-balancing with delayed-resource-binding using TCP state migration to WWW server farm |
US5878232A (en) * | 1996-12-27 | 1999-03-02 | Compaq Computer Corporation | Dynamic reconfiguration of network device's virtual LANs using the root identifiers and root ports determined by a spanning tree procedure |
US6173322B1 (en) | 1997-06-05 | 2001-01-09 | Silicon Graphics, Inc. | Network request distribution based on static rules and dynamic performance data |
US6067545A (en) * | 1997-08-01 | 2000-05-23 | Hewlett-Packard Company | Resource rebalancing in networked computer systems |
US6230200B1 (en) | 1997-09-08 | 2001-05-08 | Emc Corporation | Dynamic modeling for resource allocation in a file server |
US6615258B1 (en) | 1997-09-26 | 2003-09-02 | Worldcom, Inc. | Integrated customer interface for web based data management |
CA2246867A1 (en) | 1997-09-26 | 1999-03-26 | Robert Joseph Thornberry Jr. | Internet performance network |
EP0917056B1 (en) | 1997-11-04 | 2008-01-09 | Compaq Computer Corporation | A multi-processor computer system and a method of operating thereof |
US5943656A (en) * | 1997-12-03 | 1999-08-24 | Avista Advantage, Inc. | Methods and systems for computerized bill consolidating, billing and payment authorization, computerized utility bill consolidating, utility billing access and payment and utility provider consolidated billing systems |
US5930773A (en) * | 1997-12-17 | 1999-07-27 | Avista Advantage, Inc. | Computerized resource accounting methods and systems, computerized utility management methods and systems, multi-user utility management methods and systems, and energy-consumption-based tracking methods and systems |
US6349289B1 (en) | 1998-01-16 | 2002-02-19 | Ameritech Corporation | Method and system for tracking computer system usage through a remote access security device |
US6247077B1 (en) | 1998-02-06 | 2001-06-12 | Ncr Corporation | Highly-scalable parallel processing computer system architecture |
JP3302918B2 (ja) * | 1998-02-10 | 2002-07-15 | 日本電気株式会社 | バーチャルlan構成情報の自動設定システム及びバーチャルlan構成情報の自動設定方法 |
US6333936B1 (en) * | 1998-04-29 | 2001-12-25 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatus for allocating processing resources |
US6381321B1 (en) * | 1998-05-04 | 2002-04-30 | T-Netix, Inc. | Telecommunication resource allocation system and method |
DE69904317T2 (de) | 1998-05-08 | 2003-09-04 | Apple Computer | Verfahren und system zum konfigurieren eines rechners |
US6363421B2 (en) | 1998-05-31 | 2002-03-26 | Lucent Technologies, Inc. | Method for computer internet remote management of a telecommunication network element |
US6505229B1 (en) * | 1998-09-25 | 2003-01-07 | Intelect Communications, Inc. | Method for allowing multiple processing threads and tasks to execute on one or more processor units for embedded real-time processor systems |
US6212559B1 (en) | 1998-10-28 | 2001-04-03 | Trw Inc. | Automated configuration of internet-like computer networks |
EP1131719A4 (en) | 1998-11-14 | 2007-10-31 | Mti Tech Corp | ILLUSTRATION OF LOGICAL UNITS IN A STORAGE AREA NETWORK |
US6446141B1 (en) | 1999-03-25 | 2002-09-03 | Dell Products, L.P. | Storage server system including ranking of data source |
US6389432B1 (en) * | 1999-04-05 | 2002-05-14 | Auspex Systems, Inc. | Intelligent virtual volume access |
US6467007B1 (en) * | 1999-05-19 | 2002-10-15 | International Business Machines Corporation | Processor reset generated via memory access interrupt |
JP3765198B2 (ja) * | 1999-06-08 | 2006-04-12 | 株式会社日立製作所 | 計算機システム |
US6463454B1 (en) * | 1999-06-17 | 2002-10-08 | International Business Machines Corporation | System and method for integrated load distribution and resource management on internet environment |
US6466980B1 (en) | 1999-06-17 | 2002-10-15 | International Business Machines Corporation | System and method for capacity shaping in an internet environment |
US6597956B1 (en) * | 1999-08-23 | 2003-07-22 | Terraspring, Inc. | Method and apparatus for controlling an extensible computing system |
US6779016B1 (en) * | 1999-08-23 | 2004-08-17 | Terraspring, Inc. | Extensible computing system |
US7093005B2 (en) | 2000-02-11 | 2006-08-15 | Terraspring, Inc. | Graphical editor for defining and creating a computer system |
-
2000
- 2000-02-11 US US09/502,170 patent/US6779016B1/en not_active Expired - Lifetime
- 2000-08-17 JP JP2001519281A patent/JP3948957B2/ja not_active Expired - Lifetime
- 2000-08-17 DE DE60010277T patent/DE60010277T2/de not_active Expired - Fee Related
- 2000-08-17 EP EP00957585A patent/EP1206738B1/en not_active Expired - Lifetime
- 2000-08-17 CA CA002376333A patent/CA2376333A1/en not_active Abandoned
- 2000-08-17 AU AU69182/00A patent/AU769928B2/en not_active Ceased
- 2000-08-17 CN CNB008118647A patent/CN1321373C/zh not_active Expired - Lifetime
- 2000-08-17 WO PCT/US2000/022783 patent/WO2001014987A2/en active IP Right Grant
- 2000-08-17 AT AT00957585T patent/ATE265707T1/de not_active IP Right Cessation
- 2000-08-17 KR KR1020027002364A patent/KR100626462B1/ko active IP Right Grant
- 2000-08-17 IL IL14790300A patent/IL147903A0/xx active IP Right Grant
- 2000-09-16 TW TW089116980A patent/TW548554B/zh not_active IP Right Cessation
-
2001
- 2001-07-23 US US09/911,925 patent/US7370013B1/en not_active Expired - Lifetime
-
2002
- 2002-01-30 IL IL147903A patent/IL147903A/en unknown
-
2004
- 2004-08-11 US US10/917,163 patent/US7503045B1/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
DE60010277T2 (de) | 2005-01-05 |
KR100626462B1 (ko) | 2006-09-20 |
DE60010277D1 (de) | 2004-06-03 |
IL147903A (en) | 2006-12-10 |
AU6918200A (en) | 2001-03-19 |
WO2001014987A2 (en) | 2001-03-01 |
US6779016B1 (en) | 2004-08-17 |
CN1373871A (zh) | 2002-10-09 |
KR20020038738A (ko) | 2002-05-23 |
US7370013B1 (en) | 2008-05-06 |
US7503045B1 (en) | 2009-03-10 |
AU769928B2 (en) | 2004-02-12 |
EP1206738B1 (en) | 2004-04-28 |
TW548554B (en) | 2003-08-21 |
ATE265707T1 (de) | 2004-05-15 |
CN1321373C (zh) | 2007-06-13 |
WO2001014987A3 (en) | 2001-08-30 |
EP1206738A2 (en) | 2002-05-22 |
IL147903A0 (en) | 2002-08-14 |
JP2003507817A (ja) | 2003-02-25 |
CA2376333A1 (en) | 2001-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3948957B2 (ja) | 拡張可能なコンピューティング・システム | |
EP1323037B1 (en) | Method and apparatus for controlling an extensible computing system | |
US7146233B2 (en) | Request queue management | |
JP4712279B2 (ja) | 拡張可能コンピューティングシステムの制御方法および装置 | |
US11500670B2 (en) | Computing service with configurable virtualization control levels and accelerated launches | |
US9391801B2 (en) | Virtual private networks distributed across multiple cloud-computing facilities | |
JP5976942B2 (ja) | ポリシーベースのデータセンタネットワーク自動化を提供するシステムおよび方法 | |
US9389893B2 (en) | Method and system for migration of virtual machines and virtual applications between cloud-computing facilities through multiplexed secure tunnels | |
US7463648B1 (en) | Approach for allocating resources to an apparatus based on optional resource requirements | |
US7703102B1 (en) | Approach for allocating resources to an apparatus based on preemptable resource requirements | |
US8234650B1 (en) | Approach for allocating resources to an apparatus | |
US20170293501A1 (en) | Method and system that extends a private data center to encompass infrastructure allocated from a remote cloud-computing facility | |
US8179809B1 (en) | Approach for allocating resources to an apparatus based on suspendable resource requirements | |
JP4444695B2 (ja) | 仮想ネットワーク・トポロジの生成 | |
US8032634B1 (en) | Approach for allocating resources to an apparatus based on resource requirements | |
US8019870B1 (en) | Approach for allocating resources to an apparatus based on alternative resource requirements | |
WO2020005530A1 (en) | Network-accessible computing service for micro virtual machines | |
US20160203528A1 (en) | Method and system that allocates virtual network cost in a software-defined data center | |
US9112769B1 (en) | Programatically provisioning virtual networks | |
Calleja et al. | CamGrid: Experiences in constructing a university-wide, Condor-based grid at the University of Cambridge |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20041129 |
|
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: 20070320 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070417 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 3948957 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110427 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120427 Year of fee payment: 5 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120427 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130427 Year of fee payment: 6 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130427 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140427 Year of fee payment: 7 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |