JP2015508207A - サーバ・クラウドにおけるキャパシティ・オン・デマンドを管理するための装置、コンピュータ実装方法、および製造品(サーバ・クラウドにおけるキャパシティ・オン・デマンドの管理) - Google Patents

サーバ・クラウドにおけるキャパシティ・オン・デマンドを管理するための装置、コンピュータ実装方法、および製造品(サーバ・クラウドにおけるキャパシティ・オン・デマンドの管理) Download PDF

Info

Publication number
JP2015508207A
JP2015508207A JP2014557954A JP2014557954A JP2015508207A JP 2015508207 A JP2015508207 A JP 2015508207A JP 2014557954 A JP2014557954 A JP 2014557954A JP 2014557954 A JP2014557954 A JP 2014557954A JP 2015508207 A JP2015508207 A JP 2015508207A
Authority
JP
Japan
Prior art keywords
capacity
cloud
server
servers
borrowed
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2014557954A
Other languages
English (en)
Other versions
JP5756577B2 (ja
Inventor
オルセン、ポール、エフ
シャルト、テリー、エル
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2015508207A publication Critical patent/JP2015508207A/ja
Application granted granted Critical
Publication of JP5756577B2 publication Critical patent/JP5756577B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
    • H04L41/0897Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities by horizontal or vertical scaling of resources, or by migrating entities, e.g. virtual resources or entities
    • 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
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • 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/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • 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
    • 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]
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45583Memory management, e.g. access or allocation
    • 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/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/508Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement
    • H04L41/5096Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement wherein the managed service relates to distributed or central networked applications

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Remote Monitoring And Control Of Power-Distribution Networks (AREA)

Abstract

【課題】サーバ・クラウド中のサーバのためのキャパシティ・オン・デマンドを管理するクラウド・キャパシティ・オン・デマンド・マネージャを提供すること。【解決手段】クラウド・キャパシティ・オン・デマンド・マネージャが、サーバ・クラウド中のサーバのためのキャパシティ・オン・デマンドを管理する。クラウド・キャパシティ・オン・デマンド・マネージャは、1つまたは複数のサーバからキャパシティを借りることができ、あるサーバから借りたキャパシティをサーバ・クラウド中の異なるサーバに貸すことができる。サーバ・クラウドがもはや完全な状態でないとき、サーバ・クラウド中にもはやないサーバから借りたキャパシティはディセーブルにされ、サーバ・クラウド中にもはやないサーバは、サーバ・クラウドに貸したキャパシティを回収する。【選択図】図1

Description

本開示は、一般にコンピュータ・システムに関し、より詳細には、サーバ・クラウド中の複数のサーバとのキャパシティ・オン・デマンドを管理することに関する。
コンピュータ・システムに関する今日の問題の1つは、コンピュータ・ハードウェアのコストと、コンピュータ・リソースに対する需要の変動とのバランスをとることである。ほとんどのネットワーク化されたコンピュータ・システムでは、コンピューティング需要が比較的低いときもあれば、コンピューティング需要が非常に高いときもある。会社が、ピーク需要を満たすことのできるコンピュータ・システムを購入した場合、このコンピュータ・システムのキャパシティの多くは、ピーク時以外の間は使用されないことになる。加えて、ピーク需要を満たすためのキャパシティを購入するのにはコストがかさむ。会社が、平均需要を満たすことのできるコンピュータ・システムを購入した場合、コストはより低いが、ピーク時の間、コンピュータ・システムの性能は損なわれる。
よりフレキシブルな解決法をもたらすための方法の1つは、いくつかのリソースがインストールされているが最初はこれらがディセーブルにされているコンピュータ・システムを、コンピュータ・ユーザが購入できるようにするものである。より大きなキャパシティが必要であると顧客が決定したとき、顧客は、コンピュータ・システムのプロバイダとの手続きに入り、いくつかのリソースを固定期間にわたってイネーブルにすることができる。これは、季節的なピークを有する会社の場合には特にうまくいく。会社は、ピーク・シーズンの間は強化されたコンピューティング・パワーを提供する能力のあるコンピュータ・システムを、妥当なコストで購入することができる。必要時に追加のキャパシティを購入できることは、キャパシティ・オン・デマンドとして知られる。
単純な例で説明する。カタログ販売を介して商品を販売する会社が、ホリデー・ショッピングのため毎年11月および12月にピーク需要を経験すると仮定する。この会社は、インストールされているが最初はディセーブルにされている1つまたは複数の追加プロセッサを有するコンピュータ・システムを、購入することができる。次いで会社は、コンピュータ・システムのプロバイダと契約を交わし、設定された期間にわたって追加プロセッサ(複数可)をイネーブルにすることができる。コンピュータ・システムが2つの追加プロセッサを有すると仮定し、また、ピーク購買期間が11月15日〜12月14日の30日間に及ぶと仮定する。顧客は、11月15日から始まる60プロセッサ日の追加キャパシティを購入することができる。次いで、この2つの追加プロセッサは、30日間にわたってイネーブルにされることになる(60プロセッサ日の追加キャパシティを提供する)。60プロセッサ日が経過すると、2つの追加プロセッサはディセーブルにされる。
サーバ・クラウドは、異なるコンピュータ・システムが共に働くことを可能にする。各サーバは、インストールされているがイネーブルにされていない追加リソース(例えばプロセッサ、メモリなど)を有する場合があるが、これらの追加リソースは、キャパシティ・オン・デマンドに基づいて、必要に応じてイネーブルにすることができる。しかし、クラウド中のサーバがジョブの処理においては通信し協働することができるにもかかわらず、各サーバのキャパシティ・オン・デマンド能力は、他の全てのサーバとは別々であり異なる。したがって、あるサーバが、処理すべき計算集約型のジョブを有し追加のプロセッサ・キャパシティを必要とする場合、このサーバは、サーバ・クラウド中の他のサーバを考慮することなしに、それ自体の利用可能なプロセッサ・キャパシティに基づくやり方でそのようにする。
本発明の目的は、従来技術における課題を解決することにある。
クラウド・キャパシティ・オン・デマンド・マネージャが、サーバ・クラウド中のサーバのためのキャパシティ・オン・デマンドを管理する。クラウド・キャパシティ・オン・デマンド・マネージャは、1つまたは複数のサーバからキャパシティを借りることができ、あるサーバから借りたキャパシティをサーバ・クラウド中の異なるサーバに貸す。サーバ・クラウドがもはや完全な状態でないとき、サーバ・クラウド中にもはやないサーバから借りたキャパシティはディセーブルにされ、サーバ・クラウド中にもはやないサーバは、サーバ・クラウドに貸したキャパシティを回収する。
前述および他の特徴および利点は、添付の図面に示す後続のより詳細な記述から明らかになるであろう。
本開示は、添付の図面との関連で述べる。図面では、同様の名称は同様の要素を示す。
クラウド・キャパシティ・オン・デマンド・マネージャを備える装置のブロック図である。 キャパシティ・オン・デマンド・マネージャをそれぞれが有する4つのサーバを含む従来技術のサーバ・クラウド・システムのブロック図である。 クラウド・キャパシティ・オン・デマンド・マネージャを備えるサーバ・クラウド・システムのブロック図である。 サーバ・クラウド中のサーバ間で共有されるキャパシティを示す、図3のサーバ・クラウド・システムのブロック図である。 サーバ・クラウド中のサーバ間でキャパシティを共有する方法の流れ図である。 クラウド永続プロセッサを含むサーバ・クラウド・システムのブロック図である。 サーバ・クラウド中のサーバ間で共有されるキャパシティを示す、図6に示すサーバ・クラウド・システムのブロック図である。 クラウド・キャパシティ・オン・デマンド・マネージャをハードウェア管理コンソール中に備えるサーバ・クラウド・システムのブロック図である。 クラウド・キャパシティ・オン・デマンド・マネージャの一実装形態のブロック図である。 図9に示す借りたキャパシティおよび貸したキャパシティについての特定の一実装形態となり得る実例的なクラウド・リソース・テーブルを示すブロック図である。
本明細書における特許請求の範囲および開示は、サーバ・クラウド中のサーバのためのキャパシティ・オン・デマンドを管理するクラウド・キャパシティ・オン・デマンド・マネージャを提供する。クラウド・キャパシティ・オン・デマンド・マネージャは、1つまたは複数のサーバからキャパシティを借りることができ、あるサーバから借りたキャパシティをサーバ・クラウド中の異なるサーバに貸すことができる。サーバ・クラウドがもはや完全な状態でないとき、サーバ・クラウド中にもはやないサーバから借りたキャパシティはディセーブルにされ、サーバ・クラウド中にもはやないサーバは、サーバ・クラウドに貸したキャパシティを回収する。
図1を参照すると、コンピュータ・システム100は、クラウド・キャパシティ・オン・デマンド・マネージャを備えるサーバ・コンピュータ・システムの適切な一実装形態である。サーバ・コンピュータ・システム100は、IBM eServer System xコンピュータ・システムである。しかし、コンピュータ・システムが複雑なマルチユーザ・コンピューティング装置であろうとシングルユーザ・ワークステーションであろうと組込み制御システムであろうと、本明細書の開示がどんなコンピュータ・システムにも等しく適用されることは、当業者なら理解するであろう。図1に示すように、コンピュータ・システム100は、1つまたは複数のプロセッサ110、メイン・メモリ120、大容量記憶インタフェース130、表示インタフェース140、およびネットワーク・インタフェース150を備える。これらのシステム・コンポーネントは、システム・バス160の使用によって相互接続される。大容量記憶インタフェース130は、ローカル大容量記憶デバイス155などの大容量記憶デバイスをコンピュータ・システム100に接続するのに使用される。ある特定のタイプのローカル大容量記憶デバイス155は、読取可能かつ書込可能なCD−RWドライブであり、これは、CD−RW195に対してデータの記憶および読取りを行うことができる。
メイン・メモリ120は、データ121、オペレーティング・システム122、クラウド処理メカニズム123、クラウド・キャパシティ・オン・デマンド・マネージャ124、インストールされたリソース125、永続リソース126、クラウド永続リソース127、借りたリソース128、および貸したリソース129を含むことが好ましい。データ121は、コンピュータ・システム100中の任意のプログラムへの入力または任意のプログラムからの出力としての働きをする、任意のデータを表す。オペレーティング・システム122は、マルチタスキング・オペレーティング・システムである。クラウド処理メカニズム123は、サーバ100とサーバ・クラウド中の他のサーバとの間の協働をサポートするソフトウェアである。クラウド・キャパシティ・オン・デマンド・マネージャ124は、サーバ・クラウド中のサーバのためのキャパシティ・オン・デマンドを管理し、あるサーバからキャパシティを借りてこのキャパシティを異なるサーバに貸すことができる。インストールされたリソース125は、使用されるようにイネーブルにされているか否かにかかわらず、サーバ100にインストールされたリソースを含む。永続リソース126は、サーバ100上で永続的にイネーブルにされるリソースを含む。クラウド永続キャパシティ127は、サーバ100がメンバとして属するサーバ・クラウド中の任意のサーバに対して永続的にイネーブルにされるリソースのキャパシティを含む。借りたキャパシティ128は、サーバ100がサーバ・クラウド中の他のサーバから借りたリソースのキャパシティを含む。貸したキャパシティ129は、サーバ100がサーバ・クラウド中の他のサーバに貸したリソースのキャパシティを含む。サーバ・クラウド中の他のサーバからキャパシティを借りることによって、クラウド・キャパシティ・オン・デマンド・マネージャ124は、サーバ・クラウド中の追加のリソースを用いて動作するためのより大きなフレキシビリティおよびより低いコストを提供する。
コンピュータ・システム100は、周知の仮想アドレッシング・メカニズムを利用する。この仮想アドレッシング・メカニズムにより、コンピュータ・システム100のプログラムは、複数のより小さい記憶エンティティ(メイン・メモリ120およびローカル大容量記憶デバイス155など)へのアクセスではなく、大きい連続したアドレス空間へのアクセスのみを有するかのように挙動することができる。したがって、データ121、オペレーティング・システム122、クラウド処理メカニズム123、クラウド・キャパシティ・オン・デマンド・マネージャ124、インストールされたリソース125、永続リソース126、クラウド永続キャパシティ127、借りたキャパシティ128、および貸したキャパシティ129は、メイン・メモリ120中にあるように示されているが、これらのアイテムは必ずしも全てが完全にメイン・メモリ120中に同時に含まれるとは限らないことは、当業者なら認識するであろう。また、「メモリ」という用語は、本明細書ではコンピュータ・システム100の仮想メモリ全体を指すのに総称的に使用され、コンピュータ・システム100に結合された他のコンピュータ・システムの仮想メモリを含む場合があることにも留意されたい。
プロセッサ110は、1つまたは複数のマイクロプロセッサまたは集積回路あるいはその両方から構築されたものとすることができる。プロセッサ110は、メイン・メモリ120に記憶されたプログラム命令を実行する。メイン・メモリ120は、プロセッサ110がアクセスできるプログラムおよびデータを記憶する。コンピュータ・システム100が起動したとき、プロセッサ110は最初に、オペレーティング・システム122を構成するプログラム命令を実行する。プロセッサ110はまた、クラウド・キャパシティ・オン・デマンド・マネージャ124を実行する。
コンピュータ・システム100は単一のプロセッサおよび単一のシステム・バスのみを備えるように示されているが、複数のプロセッサまたは複数のバスあるいはその両方を有するコンピュータ・システムを使用してクラウド・キャパシティ・オン・デマンド・マネージャを実践できることは、当業者なら理解するであろう。加えて、使用されるインタフェースはそれぞれ、計算集約型の処理をプロセッサ110からオフロードするのに使用される完全にプログラムされた別々のマイクロプロセッサを備えることが好ましい。しかし、I/Oアダプタを使用してこれらの機能を実施することもできることは、当業者なら理解するであろう。
表示インタフェース140は、1つまたは複数の表示装置165をコンピュータ・システム100に直接に接続するのに使用される。これらの表示装置165は、ノンインテリジェント(すなわちダム)端末である場合と、完全にプログラム可能なワークステーションである場合とがあるが、これらの表示装置165を使用して、コンピュータ・システム100と交信する能力がシステム管理者およびユーザにもたらされる。しかし、1つまたは複数の表示装置165との交信をサポートするために表示インタフェース140が設けられているが、ユーザおよび他のプロセスとの必要な全ての対話はネットワーク・インタフェース150を介して行うこともできるので、コンピュータ・システム100は必ずしも表示装置165を必要とするとは限らないことに留意されたい。
ネットワーク・インタフェース150は、ネットワーク170を介してコンピュータ・システム100を他のコンピュータ・システムまたはワークステーション175に接続するのに使用される。ネットワーク・インタフェース150は、ネットワーク170が今日のアナログ技法もしくはディジタル技法またはその両方を含むか、あるいは将来の何らかのネットワーキング・メカニズムを介するかにかかわらず、電子デバイスを相互接続するための任意の適切な方法を広く表す。ネットワーク・インタフェース150は、ネットワーク170上の通信を可能にするハードウェアとソフトウェアの組合せを含むことが好ましい。ネットワーク・インタフェース150中のソフトウェアは、適切なネットワーク・プロトコルを使用した他のコンピュータ・システム175とのネットワーク170経由の通信を管理する通信マネージャを含むことが好ましい。多くの異なるネットワーク・プロトコルを使用してネットワークを実現することができる。これらのプロトコルは、コンピュータがネットワークを介して通信するのを可能にする特殊化されたコンピュータ・プログラムである。TCP/IP(伝送制御プロトコル/インターネット・プロトコル)は、ネットワーク・インタフェース150内で通信マネージャによって使用できる適切なネットワーク・プロトコルの一例である。
当業者には理解されるであろうが、本発明の態様は、システム、方法、またはコンピュータ・プログラム製品として具体化することができる。したがって、本発明の態様は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態(ファームウェア、常駐ソフトウェア、マイクロコードなどを含む)、または、ソフトウェアとハードウェアの態様を組み合わせた実施形態の形をとることができ、本明細書ではこれらを全て「回路」、「モジュール」、「プロセス」、または「システム」と一般に呼ぶ場合がある。さらに、本発明の態様は、コンピュータ可読プログラム・コードが組み入れられた1つまたは複数のコンピュータ可読媒体において具体化されるコンピュータ・プログラム製品の形をとることもできる。
1つまたは複数のコンピュータ可読媒体の、任意の組合せを利用することができる。コンピュータ可読媒体は、コンピュータ可読信号媒体またはコンピュータ可読記憶媒体とすることができる。コンピュータ可読記憶媒体は、例えば、電子、磁気、光学、電磁、赤外線、もしくは半導体の、システム、装置、またはデバイス、あるいはこれらの適切な組合せとすることができるが、これらに限定されない。コンピュータ可読記憶媒体のより具体的な例(非網羅的なリスト)は、1つもしくは複数のワイヤを有する電気接続、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、読取専用メモリ(ROM)、消去可能プログラム可能な読取専用メモリ(EPROMもしくはフラッシュ・メモリ)、光ファイバ、ポータブル・コンパクト・ディスク読取専用メモリ(CD−ROM)、光学記憶デバイス、磁気記憶デバイス、またはこれらの任意の適切な組合せを含むことになる。この文書のコンテキストでは、コンピュータ可読記憶媒体は、命令実行システム、装置、もしくはデバイスによって使用されるかまたはそれらに関連して使用されるプログラムを、収録あるいは記憶することのできる、任意の有形媒体とすることができる。
コンピュータ可読信号媒体は、例えばベースバンド中にまたは搬送波の一部として、コンピュータ可読プログラム・コードが組み入れられた伝搬データ信号を含むことができる。このような伝搬信号は、電磁、光学、またはこれらの任意の適切な組合せを含めた(ただしこれらに限定されない)様々な形のうちのいずれかをとることができる。コンピュータ可読信号媒体は、コンピュータ可読記憶媒体でない任意のコンピュータ可読媒体であって、命令実行システム、装置、もしくはデバイスによって使用されるかまたはそれらに関連して使用されるプログラムを、通信するか伝搬するかあるいは搬送できる、任意のコンピュータ可読媒体とすることができる。
コンピュータ可読媒体上に組み入れられたプログラム・コードは、ワイヤレス、有線、光ファイバ・ケーブル、RFなど、またはこれらの任意の適切な組合せを含めた(ただしこれらに限定されない)、任意の適切な媒体を使用して伝送することができる。
本発明の態様に関する動作を実施するためのコンピュータ・プログラム・コードは、Java(R)、Smalltalk(R)、C++などのオブジェクト指向プログラミング言語、および、「C」プログラミング言語、Streams処理言語、または同様のプログラミング言語などの従来の手続き型プログラミング言語を含めた、1つまたは複数のプログラミング言語の任意の組合せで書かれてよい。プログラム・コードは、スタンドアロンのソフトウェア・パッケージとして、完全にユーザのコンピュータ上で実行されるか部分的にユーザのコンピュータ上で実行されるか、一部はユーザのコンピュータ上で実行され一部はリモート・コンピュータ上で実行されるか、または完全にリモート・コンピュータもしくはサーバ上で実行されてよい。最後のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)もしくはワイド・エリア・ネットワーク(WAN)を含めた任意のタイプのネットワークを介してユーザのコンピュータに接続されてよく、または、接続は、外部コンピュータに対して(例えばインターネット・サービス・プロバイダを使用してインターネットを介して)行われてもよい。
本発明の態様を、本発明の実施形態による方法、装置(システム)、およびコンピュータ・プログラム製品のフローチャート説明またはブロック図あるいはその両方に関して本明細書に述べる。フローチャート説明またはブロック図あるいはその両方の各ブロック、ならびに、フローチャート説明またはブロック図あるいはその両方の中のブロックの組合せを、コンピュータ・プログラム命令によって実現できることは理解されるであろう。これらのコンピュータ・プログラム命令を、汎用コンピュータ、専用コンピュータ、または他のプログラム可能データ処理装置のプロセッサに提供して、マシンを生み出すことができ、したがって、コンピュータまたは他のプログラム可能データ処理装置のプロセッサを介して実行される命令は、フローチャートもしくはブロック図またはその両方の1つあるいは複数のブロック中で指定される機能/行為を実現する手段をもたらす。
これらのコンピュータ・プログラム命令はまた、コンピュータ可読媒体に記憶されてよく、このコンピュータ可読媒体は、コンピュータ、他のプログラム可能データ処理装置、または他のデバイスに、特定の方式で機能するよう指示することができ、したがって、コンピュータ可読媒体に記憶された命令は、フローチャートもしくはブロック図またはその両方の1つあるいは複数のブロック中で指定される機能/行為を実現する命令を含む製造品を生み出す。
コンピュータ・プログラム命令はまた、コンピュータ、他のプログラム可能データ処理装置、または他のデバイスにロードされてよく、それにより、コンピュータ、他のプログラム可能装置、または他のデバイス上で一連の動作ステップが実施されて、コンピュータ実装プロセスが生み出され、したがって、コンピュータまたは他のプログラム可能装置上で実行される命令は、フローチャートもしくはブロック図またはその両方の1つあるいは複数のブロック中で指定される機能/行為を実現するためのプロセスを提供する。
本明細書に開示する方法は、ウェブベースのサービスを提供することの一部として実施することができる。このようなサービスは、例えば、この方法を支払いと引き換えにオンライン・ユーザに提供することを含んでよい。
図2を参照すると、サーバ・クラウド中のサーバの実例的な従来技術構成が、サーバ・クラウド・システム200として示されている。サーバ・クラウド・システム200は、4つのサーバ210A〜210Dを含み、これらのサーバは全て、サーバ・クラウド230中で何らかのネットワーキング・メカニズムを介して相互接続される。各サーバは、インストールされたプロセッサおよび永続プロセッサを備える。インストールされたプロセッサは、サーバに物理的にインストールされたプロセッサの数を指定し、永続プロセッサの数は、サーバ上で永続的にイネーブルにされるプロセッサの数を指定する。図2の特定の例では、各サーバは、225A〜225Dおよび226A〜226Dに示すように、8つのインストールされたプロセッサおよび2つの永続プロセッサを備える。従来技術のサーバ・クラウド・システム200中では、各サーバは、それ自体のキャパシティ・オン・デマンド・マネージャ232A〜232Dを備え、これらのキャパシティ・オン・デマンド・マネージャは、キャパシティ・オン・デマンドを提供するための既知の方法によって、各サーバのキャパシティを増大させることができる。しかし、サーバごとのキャパシティ・オン・デマンド・マネージャは、サーバ・クラウド230中の他のサーバ上のキャパシティから独立して扱われる。したがって、各キャパシティ・オン・デマンド・マネージャ232A〜232Dの機能は、サーバがサーバ・クラウド230の一部であるときと、サーバがサーバ・クラウド230の一部でないときとで違いがない。
図3に、従来技術のサーバ・クラウド・システム200にいくつかの点で類似するサーバ・クラウド・システム300を示す。サーバ・クラウド・システム300は、サーバ・クラウド330中で何らかのネットワーキング・メカニズムを介して相互接続される4つのサーバ310A〜310Dを含む。サーバ310A〜310Dはそれぞれ、図1に示すサーバ・コンピュータ・システム100とすることができる。各サーバは、8つのインストールされたプロセッサ325A〜325D、および2つの永続プロセッサ326A〜326Dを備える。しかし、サーバ310Aは追加で、クラウド・キャパシティ・オン・デマンド・マネージャ124も備え、これは、サーバ・クラウド中のサーバのためのキャパシティ・オン・デマンドを管理し、必要時に、あるサーバから、別のサーバに貸されるキャパシティを借りることができる。各サーバ310A〜310Dは、キャパシティを借りることとキャパシティを貸すことの両方ができるので、各サーバは、借りたプロセッサ328A〜328D、および貸したプロセッサ329A〜329Dを追跡する。328A〜328Dは、図3では「借りたプロセッサ」として示されているが、実際には、借りた、プロセッサのキャパシティである。同様に、329A〜329Dは、図3では「貸したプロセッサ」として示されているが、実際には、貸した、プロセッサのキャパシティである。図3に示す構成では、各サーバが、その2つの永続プロセッサによってそれ自体の処理負荷を扱うことができると仮定する。
次に図4に移るが、この例では、サーバ310Dが処理負荷の増大のせいで追加のプロセッサ・キャパシティを必要とすると仮定し、さらに、サーバ310Dが、既にイネーブルにされている2つの永続プロセッサ326Dに加えて、3つの追加プロセッサのキャパシティを必要とすると仮定する。従来技術では、サーバ310D上のキャパシティ・オン・デマンド・マネージャが、インストールされたプロセッサのうちのさらに3つをイネーブルにすることができ、その結果、サーバ310Dには合計5つの永続プロセッサがあることになる。しかし、クラウド・キャパシティ・オン・デマンド・マネージャ124は、サーバ・クラウド中の1つまたは複数のサーバから一時的に借りてサーバ310Dに貸すことのできる未使用キャパシティがサーバ・クラウド中にある可能性があると認識する。図4の特定の例では、サーバ310A、310B、および310Cの各々が、各サーバ上の2つの永続プロセッサのうちの一方を使用してそれらの作業負荷を処理できると仮定する。このことは、各サーバが、追加のキャパシティを必要とするサーバ310Dに貸せる1つのプロセッサのキャパシティを有することを意味する。したがって、クラウド・キャパシティ・オン・デマンド・マネージャ124は、図4の326A〜326Cに示すように、永続プロセッサの数を2から1に減少させ、図4の329A〜329Cに示すように、貸したプロセッサの数を0から1に増加させる。次いで、クラウド・キャパシティ・オン・デマンド・マネージャは、図4の3つの借りたプロセッサ328Dを提供する矢印付き点線によって示すように、これらの貸したプロセッサ329A〜329Cのキャパシティをサーバ310Dに貸すことができる。図4で貸されるものおよび借りられるものは、プロセッサ・キャパシティであることに留意されたい。したがって、図3に示すサーバ・クラウド・システム300中でイネーブルにされるプロセッサの総数は、4つの各サーバ上の2つの永続プロセッサ326A〜326Bであり、合計8つのプロセッサがイネーブルにされる。図3に示すサーバ・クラウド・システム300中でイネーブルにされるプロセッサの総数は依然として8つであり、これらは、3つのサーバの各々からの1つの永続プロセッサ326A〜326Cと、サーバ310D上の2つの永続プロセッサ326Dと、サーバ310D上の3つの借りたプロセッサ328Dである。クラウド・キャパシティ・オン・デマンド・マネージャが、あるサーバからキャパシティを借りてこのキャパシティをサーバ・クラウド中の異なるサーバに貸すことができることにより、顧客が特定のサーバのために追加のキャパシティを購入するのではなくサーバ上の未使用キャパシティを利用するのを可能にすることになる極めてフレキシブルなシステムがもたらされる。この結果、サーバ・クラウド中の総キャパシティをより効率的に、よりコスト効果のある方式で使用するシステムとなる。
図5を参照すると、方法500は、サーバ・クラウドが確立されるときに開始する(ステップ510)。サーバ・クラウドが完全な状態であり(ステップ520=はい)、サーバ・クラウド中のサーバが追加のキャパシティを必要とし(ステップ530=はい)、サーバ・クラウド中の1つまたは複数の他のサーバが貸すためのキャパシティを有するとき(ステップ540=はい)は、1つまたは複数の他のサーバはキャパシティを貸し(ステップ550)、サーバは借りたキャパシティを使用する(ステップ560)。サーバ・クラウド中のどのサーバも追加キャパシティを必要としないとき(ステップ530=いいえ)は、方法500はステップ520にループバックして継続する。同様に、他のどのサーバも貸すためのキャパシティを有さないとき(ステップ540=いいえ)は、方法500はステップ520にループバックして継続する。方法500は、サーバ・クラウドがもはや完全な状態でなくなるまで(ステップ520=いいえ)継続することができ、サーバ・クラウドが完全な状態でなくなった時点で、借りたキャパシティはディセーブルにされ(ステップ570)、貸したキャパシティは回収される(ステップ580)。ステップ570および580は、2つの異なる方式で機能する場合があることに留意されたい。第1の実装形態では、あるサーバがもはやサーバ・クラウドのメンバでないせいでサーバ・クラウドがもはや完全な状態でないとき(ステップ520=いいえ)は、サーバ・クラウド中の全てのサーバ上の借りたキャパシティはステップ570でディセーブルにされ、サーバ・クラウド中の全てのサーバ上の貸したキャパシティは回収される。第2の実装形態では、あるサーバ(紛失サーバ)がもはやサーバ・クラウドのメンバでないせいでサーバ・クラウドがもはや完全な状態でないとき(ステップ520=いいえ)は、紛失サーバからキャパシティを借りてまだサーバ・クラウド中にあるサーバがあればそのサーバ中で、紛失サーバに対する借りたキャパシティはステップ570でディセーブルにされる。紛失サーバは、それ自体がもはやサーバ・クラウドのメンバでないことを検出すると、ステップ580で、貸したキャパシティを回収する。第1の実装形態は、オール・オア・ナッシング手法であり、サーバ・クラウド中のいずれかのサーバが失われると、全ての借りたキャパシティはディセーブルにされ、全ての貸したキャパシティは回収される。第2の実装形態では、選択的に、紛失サーバから借りたキャパシティがディセーブルにされ、紛失サーバ上の貸したキャパシティが回収されるが、サーバ・クラウド中の残りのサーバは、紛失サーバが失われたことによって影響を受けない借りたキャパシティおよび貸したキャパシティを使用して機能することができる。
ステップ520で、サーバ・クラウドが完全な状態であるかどうかの判定は、任意の適切な方式で行うことができる。例えば、特定の一実装形態では、サーバ・クラウド中のサーバ間でトークンが回されて、サーバ・クラウドが維持される。あるサーバがそのトークンを定義済み期間内に送らなかった場合は、このサーバはもはや正しく機能していないと見なされ、このことは、サーバ・クラウドがもはや完全な状態でないことを意味する。代替の一実装形態では、クラウド・キャパシティ・オン・デマンド・マネージャは、サーバ・クラウドのメンバのログをとることができ、サーバ・クラウド中の各サーバに定期的に問い合わせることができる。各サーバが適切な応答によって応答した場合、クラウド・キャパシティ・オン・デマンド・マネージャは、サーバ・クラウドがまだ完全な状態であることを知る。サーバのうちの1つが応答しなかった場合は、クラウド・キャパシティ・オン・デマンド・マネージャは、応答しなかったサーバが正しく機能していないこと、したがってもはやサーバ・クラウド中にないことを知る。次いで、クラウド・キャパシティ・オン・デマンド・マネージャは、上に論じた措置を講じて、借りたキャパシティをディセーブルにし、貸したキャパシティを回収することができる。本明細書における開示および特許請求の範囲は、現在知られている方法であろうと将来開発される方法であろうと、サーバ・クラウドが完全な状態であるかどうか判定するための任意の適切な方法に及ぶ。
クラウド・キャパシティ・オン・デマンド・マネージャ124は、サーバ・クラウド中のサーバにまたがってキャパシティを管理することができるので、このことは、図6に示す新しい概念を引き起こす。サーバ・クラウド・システム600は、4つのサーバ610A〜610Dを含み、これらのサーバは、同じインストールされたプロセッサ325A〜325D、永続プロセッサ326A〜326D、借りたプロセッサ328A〜328D、および貸したプロセッサ329A〜329Dを有する。サーバ610A〜610Dはそれぞれ、図1に示すサーバ・コンピュータ・システム100とすることができる。加えて、「クラウド永続プロセッサ」と本明細書で呼ぶ新しい概念が導入され、それにより、永続的にイネーブルにされサーバ・クラウド中のどのサーバによっても使用できる、サーバ上のキャパシティが表される。図6の特定の例では、各サーバ610A〜610Dは、2つのクラウド永続プロセッサ627A〜627Dを備える。これらのクラウド永続プロセッサについてのこれらのキャパシティは、クラウド永続プロセッサが存在するサーバを含めた、サーバ・クラウド630中のどのサーバによっても使用することができる。
図7を参照するが、キャパシティの貸し借りを促した図4の条件と同じ条件、すなわち、サーバ610Dがさらに3つのプロセッサ分の3つのキャパシティを必要とするという条件を仮定する。サーバ610Dは、2つのクラウド永続プロセッサ627Dを使用することができ、図7の矢印付き点線で示すように、第3の必要なプロセッサをサーバ610Cから借りることができる。サーバ610C上の1つの貸したプロセッサ329Cは、クラウド永続プロセッサ627Cの数を2から1に減少させることに留意されたい。クラウド永続プロセッサと呼ばれるこの新しい特徴を定義することによって、クラウド・キャパシティ・オン・デマンド・マネージャは、サーバ・クラウド中のサーバ間でどのリソースが借りられるかまたは貸されるかに関して、より大きなフレキシビリティを有することができる。例えば、クラウド・キャパシティ・オン・デマンド・マネージャ124は、最初に、全てのクラウド永続プロセッサを借りることができる。というのは、これらは、サーバ上のいずれかの永続プロセッサを借りる前にクラウド処理のために確保されるからである。代替方式では、クラウド永続プロセッサは、サーバ・クラウド中のサーバ間で共有することが許可される唯一のキャパシティとすることができる。永続プロセッサとは別に定義されたクラウド永続プロセッサのキャパシティを有することによって、クラウド・キャパシティ・オン・デマンド・マネージャ124は、サーバ・クラウド全体にわたるキャパシティの貸し借りにおいてより大きなフレキシビリティを有する。
図3、4、6、および7では、クラウド・キャパシティ・オン・デマンド・マネージャ124は、サーバ・クラウド中の1つのサーバ上にあるように示されている。代替の一実装形態では、クラウド・キャパシティ・オン・デマンド・マネージャ124は、図8に示すように、サーバ・クラウド中の別個のエンティティ上にあってもよい。サーバ・クラウド・システム800では、4つのサーバ810A、610B、610C、および610Dが、サーバ・クラウド830中で相互接続される。サーバ・クラウド830中ではハードウェア管理コンソール820も接続され、ハードウェア管理コンソール820は、クラウド・キャパシティ・オン・デマンド・マネージャ124を備える。ハードウェア管理コンソール820は、サーバ・クラウド中のサーバを構成するのを可能にし、サーバ・クラウド中のサーバ中のリソースおよびキャパシティを管理するためのユーザ・インタフェースを提供する。ハードウェア管理コンソール820はまた、サーバ・クラウド中のサーバを監視することができ、サーバ・クラウドがもはや完全な状態でないときを検出することができる。このように、ハードウェア管理コンソール820は、サーバの関係をサーバ自体に管理させるのではなく、サーバ外の独立した制御ポイントを提供し、これにより、サーバがサーバ・クラウドを去るときがより容易になる。例えば、図7で、サーバ610Aが動作不良を起こして応答しなくなった場合、クラウド・キャパシティ・オン・デマンド・マネージャ124は、もはやその仕事を行うことができない。図8に示すようにクラウド・キャパシティ・オン・デマンド・マネージャ124を別個のハードウェア管理コンソール820中に配置することによって、クラウド・キャパシティ・オン・デマンド・マネージャ124は、どのサーバがサーバ・クラウドを去るかにかかわらず機能し続けることができる。
図9を参照すると、クラウド・キャパシティ・オン・デマンド・マネージャ124は、クラウド・メンバシップ910、すなわちどのサーバがサーバ・クラウドのメンバであるかを追跡し、借りたキャパシティ920および貸したキャパシティ930を追跡する。クラウド・キャパシティ・オン・デマンド・マネージャ124はまた、キャパシティ照会メカニズム940を備え、このキャパシティ照会メカニズム940は、サーバ・クラウド中の各サーバに照会して、サーバが貸すためのキャパシティを有するかどうか判定することができる(図5のステップ540参照)。借りたキャパシティ920および貸したキャパシティ930は、任意の適切な方式で追跡することができる。例えば、図10に示すクラウド・リソース・テーブル1010は、借りたキャパシティ920および貸したキャパシティ930の状況を常に把握するための適切な方法の1つを表す。エントリ1020は、P3のキャパシティID、プロセッサのリソース・タイプ、および、サーバAがこのキャパシティの所有元でありこのキャパシティがまだ貸し出されていないことを示す。エントリ1030は、P14のキャパシティID、プロセッサのリソース・タイプ、および、サーバCがこのキャパシティの所有元でありこのキャパシティがサーバDに貸されたことを示す。借りたキャパシティおよび貸したキャパシティの状況を常に把握することによって、クラウド・キャパシティ・オン・デマンド・マネージャ124は、サーバ・クラウドがもはや完全な状態でないときに、借りたキャパシティをディセーブルにすることができる(図7のステップ570参照)。各サーバは、サーバがもはやサーバ・クラウド中にないときを検出できるメカニズムを備えることが好ましく、それに応答して、クラウド中の他のサーバに既に貸し出したキャパシティがあればそれを回収することになることに留意されたい(図8のステップ580参照)。
上記の例ではプロセッサについて論じているが、プロセッサは、サーバ・クラウド内で貸し借りできるキャパシティを有するリソースの適切な一例を表す。本明細書における開示および特許請求の範囲は、サーバ中の任意の適切なリソース、およびサーバ・クラウド中の任意の適切なリソースに明白に及び、限定ではないがこれらのリソースは、プロセッサ、メモリ、入出力(I/O)スロット、ネットワーク・アダプタなどを含む。また、クラウド・キャパシティ・オン・デマンド・マネージャによって貸し借りされているものは、リソース自体ではなく、リソースのキャパシティであることにも留意されたい。したがって、サーバ310Dが2つの永続プロセッサ326Dおよび3つの借りたプロセッサ328Dを有するとき、このことは、サーバ310D中の8つのインストールされたプロセッサ325Dのうちの5つを使用できることを意味する。「借りたプロセッサ」328Dは、他のサーバから借りた、プロセッサのキャパシティを表す。サーバ上の永続プロセッサと借りたプロセッサの合計は、インストールされたプロセッサの総数を超えることはできないことに留意されたい。
本開示および特許請求の範囲は、サーバ・クラウド中のサーバのためのキャパシティ・オン・デマンドを管理するクラウド・キャパシティ・オン・デマンド・マネージャに関する。クラウド・キャパシティ・オン・デマンド・マネージャは、1つまたは複数のサーバからキャパシティを借りることができ、あるサーバから借りたキャパシティをサーバ・クラウド中の異なるサーバに貸すことができる。サーバ・クラウドがもはや完全な状態でないとき、サーバ・クラウド中にもはやないサーバから借りたキャパシティはディセーブルにされ、サーバ・クラウド中にもはやないサーバは、サーバ・クラウドに貸したキャパシティを回収する。
請求項の範囲内で多くの変形が可能であることは、当業者なら理解するであろう。したがって、本開示について特に図示および上述しているが、請求項の主旨および範囲を逸脱することなく、形式および詳細におけるこれらおよび他の変更を本開示に加えることができることは、当業者には理解されるであろう。

Claims (19)

  1. 少なくとも1つのプロセッサと、
    前記少なくとも1つのプロセッサに結合されたメモリと、
    前記メモリ中にあり前記少なくとも1つのプロセッサによって実行されるクラウド・キャパシティ・オン・デマンド・マネージャとを備える装置であって、前記クラウド・キャパシティ・オン・デマンド・マネージャが、前記装置を含むサーバ・クラウド中の複数のサーバのために複数のリソースのキャパシティを管理し、前記クラウド・キャパシティ・オン・デマンド・マネージャが、前記サーバ・クラウド中の前記複数のサーバのうちの少なくとも1つのサーバから、前記複数のリソースのうちの少なくとも1つのリソースのキャパシティを借り、前記サーバ・クラウドが完全な状態である限り、前記借りたキャパシティを前記サーバ・クラウド中の前記複数のサーバのうちの異なるサーバに貸し、前記サーバ・クラウドがもはや完全な状態でないとき、前記クラウド・キャパシティ・オン・デマンド・マネージャが、借りたキャパシティをディセーブルにし、貸したキャパシティを回収する、装置。
  2. 前記複数のサーバのうちの少なくとも1つのサーバが、前記サーバ・クラウド中のいずれか他のサーバと共有できるクラウド永続キャパシティを備え、前記クラウド永続キャパシティが、前記サーバ・クラウド中の前記複数のサーバのうちの前記1つのサーバ上で永続的にイネーブルにされるキャパシティであって前記サーバ・クラウド中の他のサーバと共有できるキャパシティである、請求項1に記載の装置。
  3. 前記複数のリソースがプロセッサを含む、請求項1に記載の装置。
  4. 前記複数のリソースがメモリを含む、請求項1に記載の装置。
  5. 前記複数のサーバのうちの1つのサーバがもはや前記サーバ・クラウド中にないせいで前記サーバ・クラウドがもはや完全な状態でないとき、前記クラウド・キャパシティ・オン・デマンド・マネージャが、前記複数のサーバ全てからの全ての借りたキャパシティをディセーブルにし、前記複数のサーバ全てからの全ての貸したキャパシティを回収する、請求項1に記載の装置。
  6. 前記複数のサーバのうちの1つのサーバがもはや前記サーバ・クラウド中にないせいで前記サーバ・クラウドがもはや完全な状態でないとき、前記クラウド・キャパシティ・オン・デマンド・マネージャが、前記1つのサーバから借りた、借りたキャパシティをディセーブルにし、前記1つのサーバ上の貸したキャパシティを回収し、まだ前記サーバ・クラウド中にある複数のサーバについての他の借りたキャパシティおよび貸したキャパシティを保持する、請求項1に記載の装置。
  7. サーバ・クラウド中の複数のサーバのために複数のリソースのキャパシティを管理するための、少なくとも1つのプロセッサによって実行されるコンピュータ実装方法であって、
    (A)前記サーバ・クラウド中の前記複数のサーバのうちの少なくとも1つのサーバから、前記複数のリソースのうちの少なくとも1つのリソースのキャパシティを借りるステップと、
    (B)前記サーバ・クラウドが完全な状態である限り、前記借りたキャパシティを前記サーバ・クラウド中の前記複数のサーバのうちの異なるサーバに貸すステップと、
    (C)前記サーバ・クラウドがもはや完全な状態でないとき、クラウド・キャパシティ・オン・デマンド・マネージャが、借りたキャパシティをディセーブルにし、貸したキャパシティを回収するステップとを含む方法。
  8. 前記サーバ・クラウド中の前記複数のサーバのうちの少なくとも1つのサーバ中のクラウド永続キャパシティを、前記サーバ・クラウド中の別のサーバと共有するステップをさらに含み、前記クラウド永続キャパシティが、前記サーバ・クラウド中の前記複数のサーバのうちの前記1つのサーバ上で永続的にイネーブルにされるキャパシティであって前記サーバ・クラウド中の他のサーバと共有できるキャパシティである、請求項7に記載の方法。
  9. 前記複数のリソースがプロセッサを含む、請求項7に記載の方法。
  10. 前記複数のリソースがメモリを含む、請求項7に記載の方法。
  11. ステップ(C)が、
    前記複数のサーバのうちの1つのサーバがもはや前記サーバ・クラウド中にないせいで前記サーバ・クラウドがもはや完全な状態でないときに、
    前記複数のサーバ全てからの全ての借りたキャパシティをディセーブルにするステップと、
    前記複数のサーバ全てからの全ての貸したキャパシティを回収するステップとを含む、請求項7に記載の方法。
  12. ステップ(C)が、
    前記複数のサーバのうちの1つのサーバがもはや前記サーバ・クラウド中にないせいで前記サーバ・クラウドがもはや完全な状態でないときに、
    前記1つのサーバから借りた、借りたキャパシティをディセーブルにするステップと、
    前記1つのサーバ上の貸したキャパシティを回収するステップと、
    まだ前記サーバ・クラウド中にある複数のサーバについての他の借りたキャパシティおよび貸したキャパシティを保持するステップとを含む、請求項7に記載の方法。
  13. サーバ・クラウド中の複数のサーバのために複数のリソースのキャパシティを管理するための、少なくとも1つのプロセッサによって実行されるコンピュータ実装方法であって、
    前記サーバ・クラウド中の前記複数のサーバのうちの少なくとも1つのサーバから、前記複数のリソースのうちの少なくとも1つのリソースのクラウド永続キャパシティを借りるステップであって、前記複数のリソースがプロセッサおよびメモリを含み、前記クラウド永続キャパシティが、前記サーバ・クラウド中の前記複数のサーバのうちの前記1つのサーバ上で永続的にイネーブルにされるキャパシティであって前記サーバ・クラウド中の他のサーバと共有できるキャパシティである、前記借りるステップと、
    前記サーバ・クラウドが完全な状態である限り、前記借りたキャパシティを前記サーバ・クラウド中の前記複数のサーバのうちの異なるサーバに貸すステップと、
    前記複数のサーバのうちの1つのサーバがもはや前記サーバ・クラウド中にないせいで前記サーバ・クラウドがもはや完全な状態でないときに、
    前記1つのサーバから借りた、借りたキャパシティをディセーブルにするステップ、
    前記1つのサーバ上の貸したキャパシティを回収するステップ、ならびに、
    まだ前記サーバ・クラウド中にある複数のサーバについての他の借りたキャパシティおよび貸したキャパシティを保持するステップを実施するステップとを含む方法。
  14. 非一時的コンピュータ可読記憶媒体に記憶されたソフトウェアを含む製造品であって、前記ソフトウェアが、
    サーバ・クラウド中の複数のサーバのために複数のリソースのキャパシティを管理するクラウド・キャパシティ・オン・デマンド・マネージャを備え、前記クラウド・キャパシティ・オン・デマンド・マネージャが、前記サーバ・クラウド中の前記複数のサーバのうちの少なくとも1つのサーバから、前記複数のリソースのうちの少なくとも1つのリソースのキャパシティを借り、前記サーバ・クラウドが完全な状態である限り、前記借りたキャパシティを前記サーバ・クラウド中の前記複数のサーバのうちの異なるサーバに貸し、前記サーバ・クラウドがもはや完全な状態でないとき、前記クラウド・キャパシティ・オン・デマンド・マネージャが、借りたキャパシティをディセーブルにし、貸したキャパシティを回収する、製造品。
  15. 前記複数のサーバのうちの少なくとも1つのサーバが、前記サーバ・クラウド中のいずれか他のサーバと共有できるクラウド永続キャパシティを備え、前記クラウド永続キャパシティが、前記サーバ・クラウド中の前記複数のサーバのうちの前記1つのサーバ上で永続的にイネーブルにされるキャパシティであって前記サーバ・クラウド中の他のサーバと共有できるキャパシティである、請求項14に記載の製造品。
  16. 前記複数のリソースがプロセッサを含む、請求項14に記載の製造品。
  17. 前記複数のリソースがメモリを含む、請求項14に記載の製造品。
  18. 前記複数のサーバのうちの1つのサーバがもはや前記サーバ・クラウド中にないせいで前記サーバ・クラウドがもはや完全な状態でないとき、前記クラウド・キャパシティ・オン・デマンド・マネージャが、前記複数のサーバ全てからの全ての借りたキャパシティをディセーブルにし、前記複数のサーバ全てからの全ての貸したキャパシティを回収する、請求項14に記載の製造品。
  19. 前記複数のサーバのうちの1つのサーバがもはや前記サーバ・クラウド中にないせいで前記サーバ・クラウドがもはや完全な状態でないとき、前記クラウド・キャパシティ・オン・デマンド・マネージャが、前記1つのサーバから借りた、借りたキャパシティをディセーブルにし、前記1つのサーバ上の貸したキャパシティを回収し、まだ前記サーバ・クラウド中にある複数のサーバについての他の借りたキャパシティおよび貸したキャパシティを保持する、請求項14に記載の製造品。
JP2014557954A 2012-03-27 2013-03-21 サーバ・クラウドにおけるキャパシティ・オン・デマンドを管理するための装置、コンピュータ実装方法、および製造品(サーバ・クラウドにおけるキャパシティ・オン・デマンドの管理) Active JP5756577B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/431,689 US9479575B2 (en) 2012-03-27 2012-03-27 Managing capacity on demand in a server cloud
US13/431,689 2012-03-27
PCT/CA2013/050229 WO2013142991A1 (en) 2012-03-27 2013-03-21 Managing capacity on demand in a server cloud

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2015084200A Division JP6230563B2 (ja) 2012-03-27 2015-04-16 サーバ・クラウドにおけるキャパシティ・オン・デマンドを管理するための装置、コンピュータ実装方法、および製造品(サーバ・クラウドにおけるキャパシティ・オン・デマンドの管理)

Publications (2)

Publication Number Publication Date
JP2015508207A true JP2015508207A (ja) 2015-03-16
JP5756577B2 JP5756577B2 (ja) 2015-07-29

Family

ID=49236585

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2014557954A Active JP5756577B2 (ja) 2012-03-27 2013-03-21 サーバ・クラウドにおけるキャパシティ・オン・デマンドを管理するための装置、コンピュータ実装方法、および製造品(サーバ・クラウドにおけるキャパシティ・オン・デマンドの管理)
JP2015084200A Active JP6230563B2 (ja) 2012-03-27 2015-04-16 サーバ・クラウドにおけるキャパシティ・オン・デマンドを管理するための装置、コンピュータ実装方法、および製造品(サーバ・クラウドにおけるキャパシティ・オン・デマンドの管理)

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2015084200A Active JP6230563B2 (ja) 2012-03-27 2015-04-16 サーバ・クラウドにおけるキャパシティ・オン・デマンドを管理するための装置、コンピュータ実装方法、および製造品(サーバ・クラウドにおけるキャパシティ・オン・デマンドの管理)

Country Status (7)

Country Link
US (2) US9479575B2 (ja)
EP (1) EP2832041A1 (ja)
JP (2) JP5756577B2 (ja)
KR (1) KR101589856B1 (ja)
CN (1) CN104185967B (ja)
IN (1) IN2014CN04869A (ja)
WO (1) WO2013142991A1 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7287428B2 (en) * 2004-04-14 2007-10-30 Analog Devices, Inc. Inertial sensor with a linear array of sensor elements
US9571374B2 (en) 2015-01-12 2017-02-14 International Business Machines Corporation Dynamically allocating compute nodes among cloud groups based on priority and policies
US10243873B2 (en) 2015-03-19 2019-03-26 International Business Machines Corporation Dynamic management of computing platform resources
US10228978B2 (en) 2015-03-19 2019-03-12 International Business Machines Corporation Dynamic management of computing platform resources
US10176019B2 (en) * 2015-03-19 2019-01-08 International Business Machines Corporation Dynamic management of computing platform resources
US9848041B2 (en) * 2015-05-01 2017-12-19 Amazon Technologies, Inc. Automatic scaling of resource instance groups within compute clusters
US10355870B2 (en) 2015-10-15 2019-07-16 International Business Machines Corporation Dynamically-assigned resource management in a shared pool of configurable computing resources
CN106020967B (zh) * 2016-05-03 2019-04-12 华中科技大学 一种混合式云资源自动扩容方法
US10359947B2 (en) 2017-07-25 2019-07-23 Ca, Inc. Reclaiming memory pages
US10616346B2 (en) 2017-07-28 2020-04-07 International Business Machines Corporation Server connection capacity management
KR102315784B1 (ko) 2017-12-14 2021-10-20 구글 엘엘씨 공유 컴퓨팅 자원들에 대한 동적 용량 최적화
US11553047B2 (en) 2018-11-30 2023-01-10 International Business Machines Corporation Dynamic connection capacity management
US11036537B1 (en) * 2019-03-26 2021-06-15 Amazon Technologies, Inc. On demand capacity management in provider networks using type-agnostic resources
US11329930B2 (en) 2019-05-29 2022-05-10 Red Hat, Inc. Generating scenarios for automated execution of resources in a cloud computing environment

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004288183A (ja) * 2003-03-21 2004-10-14 Hewlett-Packard Development Co Lp コンピューティングリソースを自動的に割り振る方法
JP2010178381A (ja) * 2002-12-31 2010-08-12 Motorola Inc マルチデバイス上でコンテンツをレンダリングするシステムおよび方法

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6990666B2 (en) * 2002-03-18 2006-01-24 Surgient Inc. Near on-line server
US7603670B1 (en) 2002-03-28 2009-10-13 Symantec Operating Corporation Virtual machine transfer between computer systems
JP2006155393A (ja) * 2004-11-30 2006-06-15 Toshiba Corp サーバ融通装置、サーバ融通方法およびサーバ融通プログラム
JP2009145931A (ja) 2007-12-11 2009-07-02 Hitachi Ltd 仮想計算機と物理計算機との間のマイグレーション方法及びその計算機システム
WO2011050482A1 (en) 2009-10-31 2011-05-05 Counterpart Technologies Inc. Enterprise data mining in a hosted multi-tenant database
US20110137805A1 (en) * 2009-12-03 2011-06-09 International Business Machines Corporation Inter-cloud resource sharing within a cloud computing environment
GB2475897A (en) * 2009-12-04 2011-06-08 Creme Software Ltd Resource allocation using estimated time to complete jobs in a grid or cloud computing environment
US9009294B2 (en) * 2009-12-11 2015-04-14 International Business Machines Corporation Dynamic provisioning of resources within a cloud computing environment
US8037187B2 (en) 2009-12-11 2011-10-11 International Business Machines Corporation Resource exchange management within a cloud computing environment
US8914469B2 (en) 2009-12-11 2014-12-16 International Business Machines Corporation Negotiating agreements within a cloud computing environment
US9021046B2 (en) * 2010-01-15 2015-04-28 Joyent, Inc Provisioning server resources in a cloud resource
US8464255B2 (en) * 2010-03-12 2013-06-11 Microsoft Corporation Managing performance interference effects on cloud computing servers
US8458011B2 (en) 2010-03-24 2013-06-04 International Business Machines Corporation Dynamic pricing of a resource
US10089147B2 (en) 2010-08-13 2018-10-02 International Business Machines Corporation High performance computing as a service
US9280394B2 (en) * 2012-02-03 2016-03-08 International Business Machines Corporation Automatic cloud provisioning based on related internet news and social network trends
US20140149529A1 (en) 2012-11-26 2014-05-29 Blackberry Limited Cloud-based nfc content sharing
JP6056607B2 (ja) 2013-03-28 2017-01-11 富士通株式会社 情報処理システム及び情報処理システムの制御方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010178381A (ja) * 2002-12-31 2010-08-12 Motorola Inc マルチデバイス上でコンテンツをレンダリングするシステムおよび方法
JP2004288183A (ja) * 2003-03-21 2004-10-14 Hewlett-Packard Development Co Lp コンピューティングリソースを自動的に割り振る方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
CSND200100746011; 河井 保博: '新紀年企画・日本型IT革命の将来 ブロードバンド時代のサイト構築 大容量のトラフィックをさばき切るシ' 日経インターネットテクノロジー 第50号, 20010822, p.46-49, 日経BP社 *
CSNH200400290006; 勝山 恒男: 'プロアクティブな運用管理を実現するセンタ/ネットワークの統合管理技術 Integrated Management of Data' FUJITSU 第54巻,第5号, 20030910, p.396-401, 富士通株式会社 *
JPN6015002697; 勝山 恒男: 'プロアクティブな運用管理を実現するセンタ/ネットワークの統合管理技術 Integrated Management of Data' FUJITSU 第54巻,第5号, 20030910, p.396-401, 富士通株式会社 *
JPN6015002698; 河井 保博: '新紀年企画・日本型IT革命の将来 ブロードバンド時代のサイト構築 大容量のトラフィックをさばき切るシ' 日経インターネットテクノロジー 第50号, 20010822, p.46-49, 日経BP社 *

Also Published As

Publication number Publication date
EP2832041A4 (en) 2015-02-04
US20130262682A1 (en) 2013-10-03
CN104185967B (zh) 2018-01-12
JP6230563B2 (ja) 2017-11-15
KR20140127804A (ko) 2014-11-04
WO2013142991A1 (en) 2013-10-03
IN2014CN04869A (ja) 2015-09-18
JP2015149097A (ja) 2015-08-20
US9094415B2 (en) 2015-07-28
US9479575B2 (en) 2016-10-25
KR101589856B1 (ko) 2016-01-28
EP2832041A1 (en) 2015-02-04
CN104185967A (zh) 2014-12-03
JP5756577B2 (ja) 2015-07-29
US20130262677A1 (en) 2013-10-03

Similar Documents

Publication Publication Date Title
JP5756577B2 (ja) サーバ・クラウドにおけるキャパシティ・オン・デマンドを管理するための装置、コンピュータ実装方法、および製造品(サーバ・クラウドにおけるキャパシティ・オン・デマンドの管理)
CN103731295B (zh) 用于运行虚拟整合设备的方法和系统
US10241841B2 (en) Controlling virtual machine density and placement distribution in a converged infrastructure resource pool
CN103688505B (zh) 虚拟化环境中的网络过滤
CN102387169B (zh) 分布式缓存的对象删除方法、系统及删除服务器
US9348653B2 (en) Virtual machine management among networked servers
US8224957B2 (en) Migrating virtual machines among networked servers upon detection of degrading network link operation
US9003502B2 (en) Hybrid multi-tenancy cloud platform
CN108537543A (zh) 区块链数据的并行处理方法、装置、设备和存储介质
WO2020005530A1 (en) Network-accessible computing service for micro virtual machines
EP1906347A1 (en) Object-based service oriented architecture method, apparatus and media
CN103238138A (zh) 用于云环境中的分区部署/重部署的网络接口
US11669426B2 (en) Kernel-based power consumption and isolation and defense against emerging power attacks
US8010565B2 (en) Enterprise rack management method, apparatus and media
US7606906B2 (en) Bundling and sending work units to a server based on a weighted cost
US11238448B1 (en) Efficient network service provisioning
CN104077187A (zh) 用于调度应用程序的执行的方法和系统
US9614910B2 (en) Maintenance of a fabric priority among operations in related fibre channel exchanges
US10776172B1 (en) Cost optimized services for dynamic service levels
US20140122722A1 (en) Allocation of resources in a networked computing environment
CN117376407B (zh) 一种面向工业软件上云场景的存算分离方法、系统和设备
CN108351894A (zh) 具有分布式实体状态的文件系统
CN116302301A (zh) 为适应多个虚拟应用程序对虚拟局域网(vlan)进行的时分控制
CN107291526A (zh) 一种bios与虚拟机监控器交互系统
CN107135277A (zh) 一种一体机实现方法及装置

Legal Events

Date Code Title Description
A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20150121

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150127

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150416

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150529

R150 Certificate of patent or registration of utility model

Ref document number: 5756577

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150