JP3948957B2 - 拡張可能なコンピューティング・システム - Google Patents

拡張可能なコンピューティング・システム Download PDF

Info

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
Application number
JP2001519281A
Other languages
English (en)
Other versions
JP2003507817A (ja
Inventor
アシャー・アズイズ
トム・マークソン
マーティン・パターソン
Original Assignee
テラスプリング・インコーポレーテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by テラスプリング・インコーポレーテッド filed Critical テラスプリング・インコーポレーテッド
Publication of JP2003507817A publication Critical patent/JP2003507817A/ja
Application granted granted Critical
Publication of JP3948957B2 publication Critical patent/JP3948957B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/02Reservations, e.g. for tickets, services or events
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/10Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
    • G06Q20/102Bill distribution or payments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • H04L12/4675Dynamic sharing of VLAN information amongst network nodes
    • H04L12/4679Arrangements for the registration or de-registration of VLAN attribute values, e.g. VLAN identifiers, port VLAN membership
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/351Switches specially adapted for specific applications for local area network [LAN], e.g. Ethernet switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1031Controlling of the operation of servers by a load balancer, e.g. adding or removing servers that serve requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/20Support for services
    • H04L49/205Quality of Service based
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/354Switches specially adapted for specific applications for supporting virtual local area networks [VLAN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/356Switches specially adapted for specific applications for storage area networks
    • H04L49/357Fibre channel switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1029Protocols 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

【0001】
【発明の技術分野】
本発明は、一般にデータ処理に関する。より詳細には、本発明は、拡張可能、フレキシブル、かつスケーラブルなコンピューティング・システムを提供するための方法、装置、およびメカニズムに関する。
【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. プロセッサのセットの中から、該プロセッサのサブセットを選択するステップと、
    前記プロセッサのサブセット中の各プロセッサ同士が論理的に結合するように、第1のスイッチング・システムを動作させる命令を生成するステップと、
    記憶デバイスのセットの中から、該記憶デバイスのサブセットを選択するステップと、
    前記記憶デバイスのサブセット中の各記憶デバイス同士が、互いに及び前記プロセッサのサブセットと、論理的に結合するように、第2のスイッチング・システムを動作させる命令を生成するステップと、
    の各ステップを備えるデータ処理方法。
  2. 前記プロセッサのセットの中から該プロセッサのサブセットを選択する前記ステップが、利用可能な中央処理装置のプールの中から中央処理装置のサブセットを選択するステップを備える請求項1に記載の方法。
  3. 前記プロセッサのセットの中から該プロセッサのサブセットを選択する前記ステップが、利用可能な中央処理装置のプールの中から中央処理装置のサブセットを選択するステップを備え、
    前記中央処理装置のそれぞれが、仮想ローカル・エリア・ネットワーク・スイッチからの命令を受信するよう構成された第1及び第2のネットワーク・インタフェースと、記憶エリア・ネットワーク・スイッチを介して前記記憶デバイスのサブセットに接続されるよう構成された記憶インタフェースとを含んでいる請求項1に記載の方法。
  4. 前記プロセッサのサブセット中の各プロセッサ同士が論理的に結合するように、第1のスイッチング・システムを動作させる命令を生成する前記ステップが、仮想ローカル・エリア・ネットワーク・スイッチを前記プロセッサに結合して、前記仮想ローカル・エリア・ネットワーク・スイッチで前記サブセット内の前記プロセッサ同士が結合するようにさせる命令を生成するステップを備える請求項1に記載の方法。
  5. 記憶デバイスのセットの中から該記憶デバイスのサブセットを選択する前記ステップが、利用可能な記憶デバイスのプールの中から前記記憶デバイスのサブセットを選択するステップを備える請求項1に記載の方法。
  6. 記憶デバイスのセットの中から該記憶デバイスのサブセットを選択する前記ステップが、利用可能な記憶デバイスのプールの中から前記記憶デバイスのサブセットを選択するステップを備え、
    前記記憶デバイスのそれぞれが、仮想記憶エリア・ネットワーク・スイッチからの命令を受信するよう構成されたスイッチング・インタフェースを含んでいる請求項1に記載の方法。
  7. 前記記憶デバイスのサブセット中の各記憶デバイス同士が論理的に結合するように、第2のスイッチング・システムを動作させる命令を生成する前記ステップが、仮想記憶エリア・ネットワーク・スイッチを前記記憶デバイスに結合して、前記仮想記憶エリア・ネットワーク・スイッチで前記サブセット内の前記記憶デバイス同士が結合するようにさせる命令を生成するステップを備える請求項1に記載の方法。
  8. 前記プロセッサのセットの中から該プロセッサのサブセットを選択する前記ステップが、前記第1のスイッチング・システム、前記第2のスイッチング・システム及び前記プロセッサのセットに結合され、これらを制御するコントローラによって実行される請求項1に記載の方法。
  9. 第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に記載の方法。
  10. 前記プロセッサのセットの中から、追加のプロセッサを選択するステップと、
    前記第1のスイッチング・システムが、前記追加のプロセッサを、前記プロセッサのサブセット内のプロセッサに論理的に結合するように動作する命令を生成するステップと、
    を更に備える請求項1に記載の方法。
  11. 前記プロセッサのサブセットの中から、該サブセットから除去する特定のプロセッサを選択するステップと、
    前記第1のスイッチング・システムが、前記プロセッサのサブセットから前記特定のプロセッサを論理的に分離するように動作する命令を生成するステップと、
    を更に備える請求項1に記載の方法。
  12. 前記プロセッサのサブセットの中から、該サブセットから除去する特定のプロセッサを選択するステップと、
    前記第1のスイッチング・システムが、前記プロセッサのサブセットから前記特定のプロセッサを論理的に分離するように動作する命令を生成するステップと、
    前記利用可能なプロセッサのプール内に、前記特定のプロセッサを論理的に配置するステップと、
    を更に備える請求項2に記載の方法。
  13. 前記プロセッサの第1のサブセットの中から、該第1のサブセットから除去する特定のプロセッサを選択するステップと、
    前記第1のスイッチング・システムが、前記プロセッサの第1のサブセットから前記特定のプロセッサを論理的に分離するように動作する命令を生成するステップと、
    前記第1のスイッチング・システムが、前記プロセッサの第2のサブセットへ前記特定のプロセッサを論理的に追加するように動作する命令を生成するステップと、
    を更に備える請求項9に記載の方法。
  14. 前記プロセッサの全てを利用可能なプロセッサのアイドル・プールへ最初に割り当てるステップを更に備える請求項1に記載の方法。
  15. 前記プロセッサのサブセットにより経験されたリアルタイム負荷に応じて、1又は複数のプロセッサを、前記プロセッサのサブセットへ又は該サブセットから、動的に論理的に追加し又は除去するステップを更に備える請求項1に記載の方法。
  16. 前記記憶デバイスのサブセットにより経験されたリアルタイム負荷に応じて、1又は複数の記憶デバイスを、前記記憶デバイスのサブセットへ又は該サブセットから、動的に論理的に追加し又は除去するステップを更に備える請求項1に記載の方法。
  17. 前記第1のスイッチング・システムのインタフェースを外部ネットワークへ結合するステップを更に備え、これにより前記プロセッサのサブセットが前記外部ネットワークからの要求に対して応答するものとなる請求項1に記載の方法。
  18. 前記プロセッサのサブセットにより経験されたリアルタイム負荷に応じて、前記プロセッサのサブセットへ追加のプロセッサを論理的に追加するステップと、
    前記追加のプロセッサを再起動するステップと、
    前記追加のプロセッサ内に、前記記憶デバイスのサブセット内の1つの記憶デバイスの予め定義された場所からオペレーティング・システム・イメージをロードするステップと、
    の各ステップを更に備える請求項15に記載の方法。
  19. ロード・バランサを前記プロセッサのサブセット内のプロセッサに論理的に結合するステップと、
    前記ロード・バランサに、前記プロセッサのサブセット内のプロセッサにより実行されるロード・バランス処理を命令するステップと、
    を更に備える請求項1に記載の方法。
  20. 前記プロセッサのサブセットにより経験されたリアルタイム負荷に応じて、前記プロセッサのサブセットへ追加のプロセッサを動的に論理的に追加するステップを更に備え、該ステップが、
    前記仮想ローカル・エリア・ネットワークへ、前記追加のプロセッサに関連付けられた前記第1のスイッチングシステムのそれらのインタフェース・ポートを追加するステップと、
    前記追加のプロセッサの記憶エリア・ポートを、前記記憶エリア・ネットワーク・ゾーンへ追加するステップと、
    により達成される請求項9に記載の方法。
  21. 前記プロセッサのサブセットにより経験されたリアルタイム負荷に応じて、前記プロセッサのサブセットから1つのプロセッサを動的に論理的に除去するステップを更に備え、該ステップが、
    前記仮想ローカル・エリア・ネットワークから、前記追加のプロセッサに関連付けられた前記第1のスイッチングシステムのそれらのインタフェース・ポートを除去するステップと、
    前記1つのプロセッサの記憶エリア・ポートを、前記記憶エリア・ネットワーク・ゾーンから除去するステップと、
    により達成される請求項9に記載の方法。
  22. 前記第2のスイッチング・システムの1又は複数のポートを、前記コントローラによって使用されるプライベートな記憶エリア・ネットワーク・ゾーンに論理的に割り当てるステップであって、前記ポートが、前記コントローラに排他的に割り当てられた1つの前記記憶デバイスに関連付けられているものを更に備えた請求項8に記載の方法。
  23. 前記プロセッサのサブセット内の各プロセッサを、予め定義され記憶された設計図と関連付けするステップであって、前記設計図が、複数の処理の役割の1つを、前記記憶デバイスのサブセット内の1つの記憶デバイスのブート・イメージと関連付けているものと、
    前記プロセッサのサブセット内のプロセッサのそれぞれが、そのプロセッサの前記処理の役割に関連付けられた前記記憶デバイスからの前記ブート・イメージをロードし、実行するように動作する命令を生成するステップと、
    を更に備える請求項1に記載の方法。
  24. 第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のスイッチング・システムと、
    複数の記憶デバイスと、
    前記複数の記憶デバイスに接続された第2のスイッチング・システムと、
    前記第1のスイッチング・システム及び前記第2のスイッチング・システムに接続されたコントローラと、
    前記複数のプロセッサの中から、該プロセッサのサブセットを選択する前記コントローラ内の手段と、
    前記プロセッサのサブセット中の各プロセッサ同士が論理的に結合するように、第1のスイッチング・システムを動作させる命令を生成する前記コントローラ内の手段と、
    前記複数の記憶デバイスの中から、該記憶デバイスのサブセットを選択する前記コントローラ内の手段と、
    前記記憶デバイスのサブセット中の各記憶デバイス同士が、互いに及び前記プロセッサのサブセットと、論理的に結合するように、第2のスイッチング・システムを動作させる命令を生成する前記コントローラ内の手段と、
    を備えるデータ処理システム。
  26. 前記コントローラが、利用可能な中央処理装置のプールの中から中央処理装置のサブセットを選択することにより、前記プロセッサのセットの中から該プロセッサのサブセットを選択する手段を更に備える請求項25に記載のデータ処理システム。
  27. 前記プロセッサのサブセットを選択する前記手段が、利用可能な中央処理装置のプールの中から中央処理装置のサブセットを選択する手段を備え、
    前記中央処理装置のそれぞれが、仮想ローカル・エリア・ネットワーク・スイッチからの命令を受信するよう構成された第1及び第2のネットワーク・インタフェースと、記憶エリア・ネットワーク・スイッチを介して前記記憶デバイスのサブセットに接続されるよう構成された記憶インタフェースとを含んでいる請求項25に記載のデータ処理システム。
  28. 前記プロセッサのサブセット中の各プロセッサ同士が論理的に結合するように、第1のスイッチング・システムを動作させる命令を生成する前記手段が、仮想ローカル・エリア・ネットワーク・スイッチを前記プロセッサに結合して、前記仮想ローカル・エリア・ネットワーク・スイッチで前記サブセット内の前記プロセッサ同士が結合するようにさせる命令を生成する手段を備える請求項25に記載のデータ処理システム。
  29. 記憶デバイスのサブセットを選択する前記手段が、利用可能な記憶デバイスのプールの中から前記記憶デバイスのサブセットを選択する手段を備える請求項25に記載のデータ処理システム。
  30. 記憶デバイスのサブセットを選択する前記手段が、利用可能な記憶デバイスのプールの中から前記記憶デバイスのサブセットを選択する手段を備え、
    前記記憶デバイスのそれぞれが、仮想記憶エリア・ネットワーク・スイッチからの命令を受信するよう構成されたスイッチング・インタフェースを含んでいる請求項25に記載のデータ処理システム。
  31. 前記各記憶デバイス同士が論理的に結合するように、第2のスイッチング・システムを動作させる命令を生成する前記手段が、仮想記憶エリア・ネットワーク・スイッチを前記記憶デバイスに結合して、前記仮想記憶エリア・ネットワーク・スイッチで前記サブセット内の前記記憶デバイス同士が結合するようにさせる命令を生成する手段を備える請求項25に記載のデータ処理システム。
  32. 第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に記載のデータ処理システム。
  33. 前記プロセッサのセットの中から、追加のプロセッサを選択する手段と、
    前記第1のスイッチング・システムが、前記追加のプロセッサを、前記プロセッサのサブセット内のプロセッサに論理的に結合するように動作する命令を生成する手段と、
    を更に備える請求項25に記載のデータ処理システム。
  34. 前記プロセッサのサブセットの中から、該サブセットから除去する特定のプロセッサを選択する手段と、
    前記第1のスイッチング・システムが、前記プロセッサのサブセットから前記特定のプロセッサを論理的に分離するように動作する命令を生成する手段と、
    を更に備える請求項25に記載のデータ処理システム。
  35. 前記プロセッサのサブセットの中から、該サブセットから除去する特定のプロセッサを選択する手段と、
    前記第1のスイッチング・システムが、前記プロセッサのサブセットから前記特定のプロセッサを論理的に分離するように動作する命令を生成する手段と、
    前記利用可能なプロセッサのプール内に、前記特定のプロセッサを論理的に配置する手段と、
    を更に備える請求項26に記載のデータ処理システム。
  36. 前記プロセッサの第1のサブセットの中から、該第1のサブセットから除去する特定のプロセッサを選択する手段と、
    前記第1のスイッチング・システムが、前記プロセッサの第1のサブセットから前記特定のプロセッサを論理的に分離するように動作する命令を生成する手段と、
    前記第1のスイッチング・システムが、前記プロセッサの第2のサブセットへ前記特定のプロセッサを論理的に追加するように動作する命令を生成する手段と、
    を更に備える請求項28に記載のデータ処理システム。
  37. 前記プロセッサの全てを利用可能なプロセッサのアイドル・プールへ最初に割り当てる手段を更に備える請求項25に記載のデータ処理システム。
  38. 前記プロセッサのサブセットにより経験されたリアルタイム負荷に応じて、1又は複数のプロセッサを、前記プロセッサのサブセットへ又は該サブセットから、動的に論理的に追加し又は除去する手段を更に備える請求項25に記載のデータ処理システム。
  39. 前記記憶デバイスのサブセットにより経験されたリアルタイム負荷に応じて、1又は複数の記憶デバイスを、前記記憶デバイスのサブセットへ又は該サブセットから、動的に論理的に追加し又は除去する手段を更に備える請求項25に記載のデータ処理システム。
  40. 前記コントローラが、前記サブセット内の各プロセッサの処理負荷を表す情報を生成する負荷監視装置を更に備える請求項25に記載のデータ処理システム。
  41. 前記第1のスイッチング・システムが、偽造不可能なポート識別子を有する仮想ローカル・エリア・ネットワーク・スイッチを備える請求項25に記載のデータ処理システム。
  42. 前記第2のスイッチング・システムが、記憶エリア・ネットワーク・スイッチを備え、前記記憶デバイスのサブセットが、記憶エリア・ネットワーク・ゾーン内で論理的に組織化され、更に、前記記憶エリア・ネットワーク・スイッチが、前記記憶デバイスのサブセットへのアクセスを、前記プロセッサのサブセット内のそれらのプロセッサに対してのみ許可するものである請求項25に記載のデータ処理システム。
  43. 前記第2のスイッチング・システムが、記憶エリア・ネットワーク・スイッチを備え、前記記憶デバイスのサブセットが、記憶エリア・ネットワーク・ゾーン内で論理的に組織化され、更に、前記記憶エリア・ネットワーク・スイッチが、前記記憶デバイスのサブセットへのアクセスを、1又は複数のファイバ・チャネル・スイッチを用いて、前記プロセッサのサブセット内のそれらのプロセッサに対してのみ許可するものである請求項25に記載のデータ処理システム。
  44. 前記第2のスイッチング・システムが、記憶エリア・ネットワーク・スイッチを備え、前記記憶デバイスのサブセットが、記憶エリア・ネットワーク・ゾーン内で論理的に組織化され、更に、前記プロセッサのサブセットが、ロード・バランサ又はファイアウォールを介して外部ネットワークへ結合されている請求項25に記載のデータ処理システム。
  45. 前記第1のスイッチング・システムの制御ポートを含み、且つ前記第2のスイッチング・システムの制御ポートを含む、サブネットワーク内で論理的に相互接続された複数のコントローラを更に備える請求項25に記載のデータ処理システム。
  46. その時のプロセッサ負荷、ネットワーク負荷又は記憶負荷を表すリアルタイム情報を受信するために、前記プロセッサのサブセット内の各プロセッサを周期的にポーリングするよう構成されると共に、前記コントローラのそれぞれに前記情報を伝達するよう構成されたエージェント・コントローラを更に備える請求項45に記載のデータ処理システム。
  47. 前記第2のスイッチング・システムの1又は複数のポートを、前記コントローラによって使用されるプライベートな記憶エリア・ネットワーク・ゾーンに論理的に割り当てるステップであって、前記ポートが、前記コントローラに排他的に割り当てられた1つの前記記憶デバイスに関連付けられているものを更に備えた請求項45に記載のデータ処理システム。
  48. 予め定義され記憶された複数の設計図であって、該各設計図が、複数の処理の役割の1つを、前記記憶デバイスのサブセット内の1つの記憶デバイスのブート・イメージと関連付けているものと、
    前記プロセッサのサブセット内のプロセッサのそれぞれを、前記設計図の1つと関連付け、前記プロセッサのサブセット内のプロセッサのそれぞれが、そのプロセッサの前記処理の役割に関連付けられた前記記憶デバイスからの前記ブート・イメージをロードし、実行するように動作させる手段と、
    を更に備える請求項25に記載のデータ処理システム。
  49. プロセッサの複数のサブセット内で論理的に組織化された複数のプロセッサであって、前記サブセットのそれぞれが、複数の仮想ローカル・エリア・ネットワークの1つとして論理的に組織化されているものと、
    前記サブセットの1つによって使用されるデータ及び命令を記憶するために、前記複数の仮想ローカル・エリア・ネットワークに結合され、記憶エリア・ネットワーク内で論理的に組織化された複数の記憶デバイスと、
    前記複数の仮想ローカル・エリア・ネットワーク及び前記記憶エリア・ネットワークに結合された制御プレーンであって、リアルタイムで発生する処理負荷状況の変化及び記憶需要の変化に応じて、前記サブセットに対しプロセッサを動的に追加し又は除去すると共に、前記記憶エリア・ネットワークに対し記憶デバイスを動的に追加し又は除去するよう構成されたものと、
    を備える仮想コンピューティング・システム。
  50. 予め定義され記憶された複数の設計図であって、該各設計図が、複数の処理の役割の1つを、前記記憶デバイスのサブセット内の1つの記憶デバイスのブート・イメージと関連付けているものと、
    前記プロセッサのサブセット内のプロセッサのそれぞれを、前記設計図の1つと関連付け、前記プロセッサのサブセット内のプロセッサのそれぞれが、そのプロセッサの前記処理の役割に関連付けられた前記記憶デバイスからの前記ブート・イメージをロードし、実行するように動作させる手段と、
    を更に備える請求項49に記載の仮想コンピューティング・システム。
  51. 拡張可能なコンピューティング・システムで使用するデータ処理のための1又は複数の命令のシーケンスを格納したコンピュータ読み取り可能な媒体であって、1又は複数のプロセッサによる前記1又は複数の命令のシーケンスの実行が、該1又は複数のプロセッサに、
    プロセッサのセットの中から、該プロセッサのサブセットを選択するステップと、
    前記プロセッサのサブセット中の各プロセッサ同士が論理的に結合するように、第1のスイッチング・システムを動作させる命令を生成するステップと、
    記憶デバイスのセットの中から、該記憶デバイスのサブセットを選択するステップと、
    前記記憶デバイスのサブセット中の各記憶デバイス同士が、互いに及び前記プロセッサのサブセットと、論理的に結合するように、第2のスイッチング・システムを動作させる命令を生成するステップと、
    の各ステップの動作を生じさせるコンピュータ読み取り可能な媒体。
JP2001519281A 1999-08-23 2000-08-17 拡張可能なコンピューティング・システム Expired - Lifetime JP3948957B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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