JP6284617B2 - リソース割り当てを計算するシステムおよび方法 - Google Patents

リソース割り当てを計算するシステムおよび方法 Download PDF

Info

Publication number
JP6284617B2
JP6284617B2 JP2016500649A JP2016500649A JP6284617B2 JP 6284617 B2 JP6284617 B2 JP 6284617B2 JP 2016500649 A JP2016500649 A JP 2016500649A JP 2016500649 A JP2016500649 A JP 2016500649A JP 6284617 B2 JP6284617 B2 JP 6284617B2
Authority
JP
Japan
Prior art keywords
user
data center
computing
access
resource
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.)
Active
Application number
JP2016500649A
Other languages
English (en)
Other versions
JP2016517076A (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.)
Amazon Technologies Inc
Original Assignee
Amazon Technologies Inc
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 Amazon Technologies Inc filed Critical Amazon Technologies Inc
Publication of JP2016517076A publication Critical patent/JP2016517076A/ja
Application granted granted Critical
Publication of JP6284617B2 publication Critical patent/JP6284617B2/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
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • 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/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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/306User profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • User Interface Of Digital Computer (AREA)

Description

(関連出願)
本出願は、2013年3月11日出願の、「AUTOMATED DESKTOP PLACEMENT」という名称の米国特許出願第13/794,490号の優先権を主張するものであり、この特許の開示全体は、参照により本明細書に組み入れられる。さらに、本出願は、以下の出願、即ち、2013年3月11日出願の、「APPLICATION MARKETPLACE FOR VIRTUAL DESKTOPS」という名称の米国特許出願第13/794,600号、2013年3月11日出願の、「AUTOMATED DATA CENTER SELECTION」という名称の米国特許出願第13/794,595号、及び、2013年3月11日出願の、「AUTOMATED DATA SYNCHRONIZATION」という名称の米国特許出願第13/794,515号に関し、これらの特許の各々の開示全体は、参照により本明細書に組み入れられる。
企業及び組織は、多数のコンピューティングシステムを相互接続してそれらの動作をサポートするコンピュータネットワークを運用している。コンピューティングシステムは、単一の地理的な場所(例えば、ローカルネットワークの一部として)に位置することができるか、又は、複数の異なった地理的な位置(例えば、1つ以上のプライベート又はパブリック中間ネットワークを介して接続)に位置することができる。データセンタは、例えば、単一の組織によって運用されるプライベートデータセンタなど、有意な数の相互接続したコンピューティングシステム、及び、計算リソースを顧客に提供するためにサードパーティによって運用されるパブリックデータセンタを収容し得る。パブリック及びプライベートデータセンタは、データセンタ、組織、又は、他の顧客によって所有されるハードウェアのためのネットワークアクセス、電力、ハードウェアリソース(例えば、コンピューティング及び記憶)、及び、セキュアな据付設備を提供し得る。いくつかのデータセンタが、単一のプログラム実行サービス(PES)の一部として、さらに構成され、該プログラム実行サービス(PES)は、PESの顧客によるデータセンタのリソースの利用を容易にすることができる。
データセンタリソースの利用の増大を容易にするために、仮想化技術が、単一の物理コンピューティングマシンが、接続されたコンピュータユーザに対して独立したコンピュータマシンとして登場しかつ動作する仮想マシンの1つ以上のインスタンスに対応することを可能にし得る。仮想化で、単一の物理コンピューティングデバイスは、仮想マシンを動的に作成、維持、又は、削除することができる。同様に、ユーザは、コンピュータリソースをデータセンタに要求することができ、かつ、ユーザに、異なる数の仮想マシンリソースを「必要に応じて」、又は、少なくとも「要求されるように」提供することができる。
データセンタの規模及び範囲が増大したために、データセンタの物理及び仮想計算リソースのプロビジョニング、管理、及び運営のタスクがますます複雑になった。
図面を通して、参照番号は、参照する要素間の一致を示すために再利用する。図面を提示するが、本明細書で説明する本発明の主題の実施形態を例示するためであり、その範囲を制限するためではない。
通信ネットワークを介して計算リソースをマルチユーザコンピューティングシステムに提供することができるプログラム実行サービス環境の実施例を例示する図である。 通信ネットワークを介して計算リソースをマルチユーザコンピューティングシステムに提供することができるプログラム実行サービス環境の更なる実施例を例示する図である。 一部の実施形態では、プログラム実行サービス環境の一部として含むことができるアプリケーション市場の実施例を例示する図である。 一部の実施形態では、プログラム実行サービス環境の一部として含むことができるデータセンタの実施例を例示する図である。 一部の実施形態では、プログラム実行サービス環境の一部として含むことができる対応されたコンピューティング環境リソース割り当てシステムの実施例を例示する図である。 一部の実施形態では、データセンタの一部として含めることができるデータセンタリソース割り当てシステムの実施例を例示する図である。 一部の実施形態では、データセンタのデータセンタコンピュータによって対応することができるインスタンスの実施例を例示する図である。 データセンタ選択プロセスの実施例を例示する図である。 待ち時間因子計算プロセスの実施例を例示する図である。 デスクトップ配置構成プロセスの実施例を例示する図である。 デスクトッププロビジョニングプロセスの実施例を例示する図である。 アプリケーション市場を介してアプリケーションにアクセスするプロセスの実施例を例示する図である。 ファイル同期システムの実施例を例示する図である。 ファイルの同期プロセスの実施例を例示する図である。 仮想デスクトップインスタンスとの既存の接続を介したファイルの同期プロセスの実施例を例示する図である。
I.はじめに
従来のデスクトップコンピューティング環境では、ユーザは、典型的には、ユーザの机の近くに物理的に位置するデスクトップコンピュータのコンピューティング又はストレージリソースにアクセスする。デスクトップコンピュータは、ユーザがデスクトップコンピュータによって実行することができるアプリケーション(例えば、ワープロアプリケーション、電子メールアプリケーションなど)にアクセスすることを可能にするディスプレイ及びデータ入力デバイス(例えば、キーボード及びマウス)に接続することができる。ラップトップコンピューティング環境は、携帯型ラップトップコンピュータがデスクトップコンピュータの代わりに使用されることを除き、デスクトップコンピューティング環境と概ね類似のものである。従来のデスクトップ又はラップトップコンピューティング環境の短所としては、ユーザがアクセスすることができるのはデスクトップ又はラップトップコンピュータ上に記憶されているアプリケーションのみである点、及び、異なるコンピューティングプラットフォーム全体にわたってアプリケーション、又は、データを簡単に共用することができない点が挙げられる。広範囲にわたる固定及び携帯型のコンピューティングデバイス(例えば、デスクトップ、ラップトップ、タブレット、スマートフォン、電子ブックリーダなど)の使用の増大で、ユーザは、これらのプラットフォームの各々上で同じアプリケーション及びデータにアクセスすることを望む場合がある。例えば、ユーザは、ワープロアプリケーションを使用してユーザの会社内に位置するユーザのデスクトップコンピュータで文書を編集したいと思う場合がある。ユーザは、その後、航空機の接続を待ちながら空港でユーザのラップトップで文書を編集し続けたいと思う場合がある。その後、飛行機内に、又は、会議に向かうタクシーの中にいる間、ユーザは、スマートフォンで文書を見るか、又は、編集したいと思う場合がある。これらの状況(又はその他)では、ユーザは、同じワープロアプリケーションを使用し、同じ文書をシームレスに編集して、(各装置の計算上及び物理的な制約に従って)各コンピューティングデバイスと対話するときに類似のユーザ体験を持ちたいと思う場合がある。つまり、ユーザは、ユーザがどこにいようと、また、ユーザがどんなコンピューティングデバイスをその瞬間に使用していようと、ユーザのアプリケーション及びデータへのユーザアクセスを可能にする「仮想デスクトップ」を持ちたいと思う場合がある。
本出願は、ユーザが各個のコンピューティングデバイス上に記憶された個々のアプリケーション及びデータにアクセスすることによってよりもむしろ、ユーザが、アプリケーション及びデータに対応するプログラム実行サービス(時には、「クラウドコンピューティング」サービスと呼ばれる)との接続を使用することによって広範囲にわたるコンピューティングデバイス全体にわたってアプリケーション及びデータへのアクセスを達成することができるシステム及び方法の実施例を説明する。様々な実行例では、このプログラム実行サービスは、ユーザが自分たちのコンピューティングデバイスで使用したいアプリケーションを買うか、又は、レンタルすることができるアプリケーション市場を提供することができる。プログラム実行サービスは、また、ユーザが、ユーザのコンピューティングデバイスの全てにわたって自動的に同期されるデータにアクセスすることを可能にするデータストレージを提供することができる。様々なクラウド対応の実行例の詳細な実施例をここで説明する。
プログラム実行サービス(PES)の一部として含まれるデータセンタのコンピュータシステムによって対応されるか、又は、提供される計算リソースへのアクセスを提供するシステム及び方法の実施例を本明細書で説明する。図1Aは、通信ネットワーク106を介してマルチユーザコンピューティングシステム104に計算リソースを提供することができるPES環境100の一実施例を例示する。
PES環境100は、アプリケーション及び/又は仮想デスクトップ環境へのアクセスを含むことができる、仮想マシンインスタンスなど計算リソースへのオンデマンドのアクセスを提供するPESプラットフォーム120(PES120という場合がある)を含む。図9に関してさらに詳細に説明するように、計算リソースは、1組のデスクトップ配置ルール及び/又は1組の計算リソース配置ルールに基づいて立ち上げられ得るか、又は、その他の方法でインスタンス化され得る。
PESプラットフォーム120は、永久的に又は必要に応じてアプリケーションを実行する計算リソースを提供することができる。PESプラットフォーム120によって提供される計算リソースとしては、データ処理リソース、データストレージリソース、データ通信リソース、アプリケーションリソース、ファイル管理リソース、ユーザ認証リソース、仮想デスクトップリソースなど様々な形式のリソースを挙げることができる。そのようなものと限定されるものではないが、仮想デスクトップリソースは、PESプラットフォーム120と通信するために使用されたユーザコンピューティングシステム104上に記憶及び/又は対応されるのとは対照的に、PESプラットフォーム120上に記憶及び/又は対応されるファイル及び/又はアプリケーションと相互作用するインターフェースを含むことができる。仮想デスクトップリソースは、オペレーティングシステムと関連づける(又は、オペレーティングシステムをエミュレートする)ことができる。例えば、ウィンドウズアプリケーションを実行するように構成可能なウィンドウズ仮想デスクトップがあり得る。仮想デスクトップは、ユーザが、例えば、アプリケーション、ファイル管理プログラム及び/又はファイルストレージなどのPESプラットフォームによって提供されるサービスにアクセスすることを可能にすることができる。
場合によっては、仮想デスクトップは、ユーザコンピューティングシステム104のデスクトップと全く同じであり得るか、又は、全く同じように見え得る。例えば、仮想デスクトップは、PESプラットフォーム120を介して利用可能なアプリケーションリソースへのアクセスを提供し得、かつ、グラフィックインタフェースを介してPESプラットフォーム120にて記憶されたファイルを管理するファイル管理機能を提供し得る。場合によっては、仮想デスクトップは、アプリケーションなど単一のリソースへのアクセスを提供するように構成され得る。場合によっては、仮想デスクトップは、データセンタ102のコンピューティングシステム上でアクセス可能であるグラフィックコンテナである。このコンテナはユーザコンピューティングシステム104にストリーミングされ得、かつ、ファイル管理プログラム及びファイルストレージに関連付けられ得る。さらに、場合によっては、仮想デスクトップは、ユーザコンピューティングシステム104上のユーザコンピューティングシステム104上でアクセス可能であるアプリケーションであり得る。他の場合、仮想デスクトップは、データセンタ102のコンピューティングシステムとの通信を確立することによってアクセスされ得、該コンピューティングシステムは、仮想デスクトップ用グラフィックインタフェースをユーザコンピューティングシステム104にストリーミングすることができる。仮想デスクトップは、ブラウザを介して典型的にはアクセスされないが、場合によっては、仮想デスクトップとのグラフィックインタフェースが、ウェブブラウザを介して提示され得る。
各形式の計算リソースは、汎用であり得るか、又は、いくつかの特定の構成で利用可能であり得る。例えば、データ処理リソースは、仮想マシンインスタンスとして利用可能であり得る。場合によっては、計算リソースは、オペレーティングシステムで構成された仮想マシンによる計算ノードであり得る。計算ノードは、サーバなどの物理コンピューティングデバイス上で実行され得る。インスタンスは、Webサーバ、アプリケーションサーバ、メディアサーバ、データベースサーバなどを含め、アプリケーションを実行するように構成され得る。データストレージリソースとしては、ファイルストレージデバイス、ブロック記憶デバイスなどを挙げることができる。アプリケーションリソースとしては、レンタル及び/又は購入されるアプリケーションを挙げることができる。さらに、アプリケーションリソースとしては、実行中にPESプラットフォーム120によって対応され、及び/又は、実行中にユーザコンピューティングシステム104に一時的に又は永久にストリーミングされるアプリケーションを挙げることができる。
計算リソースの各形式又は構成は、多くのプロセッサ、多量のメモリ及び/又は大規模な記憶容量から成る大規模なリソース、及び、より少しのプロセッサ、より小規模のメモリ容量及び/又はより小規模な記憶容量から成る小規模なリソースなど、異なるサイズで利用可能であり得る。顧客は、例えば、いくつかの小規模な処理リソースをWebサーバとして、及び/又は1つの大規模な処理リソースをデータベースサーバとして割り当てることを選び得る。
PESプラットフォーム120は、いくつかのデータセンタ類102A〜102N(本明細書では単数形で「データセンタ102」と、又は、複数形で「データセンタ類102」と呼ぶ場合がある)を含む対応するコンピューティング環境114を含み,該データセンタ類は、ユーザ又は顧客に上述の計算リソースへのアクセスを提供する。対応するコンピューティング環境及びデータセンタ類の更なる実施例が、2011年1月4日に付与された、「Configuring Communications Between Computing Nodes」という名称の、米国特許第7,865,586号示されており、この特許は、全体が参照により本明細書に組み入れられる。一部の実例では、対応するコンピューティング環境は、また、クラウドコンピューティング環境と呼ぶ場合がある。
4個のデータセンタ102が例示されているが、PESプラットフォーム120は、1個のデータセンタ、10個のデータセンタ、又は、50個のデータセンタなど、任意の数のデータセンタを含み得る。さらに、データセンタ類102は、単一の対応するコンピューティング環境114の一部として概念的に例示されているが、データセンタ類102は、地理的に異なる位置に位置し得る。例えば、データセンタ102Aは、地理的地域122A内に位置し得、データセンタ類102B及び102Cは、地理的地域122Bに位置し得、データセンタ102Nは、図1Aでは例示されていないさらに別の地理的地域に位置し得る。以下で説明するように、地理的地域122A、122Bは、異なる都市、郡、又は、州に、又は、異なる国にさえ位置する可能性がある。
データセンタ類102は、コンピュータシステム及び関連のコンポーネントを収容及び操作するために利用される設備である。例えば、データセンタ102は、典型的には、冗長及びバックアップ電源、通信、冷却、及びセキュリティシステムを含む。ユーザに様々な計算リソースへのアクセスを提供する、本明細書で開示する概念及び技術を実行するデータセンタ102の1つの例示的な構成を図3に関して以下で説明する。
PESプラットフォーム120の顧客及び他のユーザは、ネットワーク106でデータセンタ類102によって提供される計算リソースにアクセスし得る。ネットワーク106は、広域ネットワーク(WAN)、ローカルエリアネットワーク(LAN)、セルラーネットワークなどを含む任意の形式の有線又は無線ネットワークを含むことができる。データセンタ類102は、コンピュータシステム及び関連のコンポーネントを収容及び操作するために利用される設備である。例えば、データセンタ102は、典型的には、冗長及びバックアップ電力、通信、冷却、及びセキュリティシステムを含む。ユーザに様々なコンピューティングへのアクセスを提供する、本明細書で開示する概念及び技術を実行するデータセンタ102の1つの例示的な構成リソースを図3に関して以下で説明する。さらに、場合によっては、ネットワーク106は、インターネットを含むことができる。さらに、場合によっては、ネットワーク106は、データセンタ類102をリモート顧客又はユーザに接続する既知の任意の他のネットワーキングトポロジを含むことができる。また、そのようなネットワークの組合せが、また、利用され得ることを認識されたい。
図1Aに例示するように、顧客又はユーザは、1つ以上のユーザコンピューティングシステム104A〜104C(本明細書では単数形で「ユーザコンピューティングシステム104」と、又は、複数形で「ユーザコンピューティングシステム類104」と呼ぶ場合がある)を介してPESプラットフォーム120と通信し得る。3つのユーザコンピューティングシステム104が例示されるが、PES環境100は、任意の数のユーザコンピューティングシステム104を含み得る。さらに、ユーザコンピューティングシステム類104はPESプラットフォーム120にアクセスするためにユーザによって利用され得る任意の形式のコンピューティングシステムを含み得る。例えば、ユーザコンピューティングシステム104は、サーバコンピュータ、デスクトップ、又は、ラップトップパーソナルコンピュータ、タブレットコンピュータ、無線電話(例えば、スマートフォン)、個人用携帯情報端末(PDA)、電子ブックリーダ(例えば、eリーダ)、ゲームコンソール、セットトップボックス、又は、PESプラットフォーム120にアクセスすることができる任意の他のコンピューティングデバイスであり得る。
ユーザコンピューティングシステム類104の各々は、1つ以上の異なる地理的地域122A〜122Bに位置し得る。例えば、例示するように、ユーザコンピューティングシステム104Aは、地理的地域122Aに位置し得、ユーザコンピューティングシステム類104B及び104Cは、地理的地域122Bに位置し得る。別の実施例として、コンピューティングシステム104の各々は、独自の地理的地域122に位置し得るか、又は、同じ地理的地域122に位置し得る。
各地理的地域122は、異なるサイズであり得る。例えば、地理的地域122は、住宅、又は、ビル(例えば、企業、企業本部、又は、空港)であり得る。第2の実施例として、地理的地域122は、1平方マイルなど地理的面積であり得る。場合によっては、地理的地域122は、地政学的な境界に基づき得る。例えば、地理的地域122Aは都市、郡、州、又は、国であることができるし、地理的地域122Bは別の都市、郡、州、又は、国であることができる。一部の実例では、地理的地域122は、少なくともある程度、ネットワーキング装置に基づいて画定され得る。例えば、地理的地域122Aは、地理的地域122A内に位置するルータ(図示せず)の範囲に基づいて画定され得る。
ユーザコンピューティングシステム104は、ネットワーク106を介して、PESプラットフォーム120、又は、そのデータセンタ類102と通信し得る。データセンタ類102と通信することは、データセンタ類102のコンピュータシステムと通信することを含み得る。例えば、ユーザコンピューティングシステム104が、データセンタコンピューティングシステム上で対応される仮想デスクトップ、又は、アプリケーションにアクセスし得る。いくつかの接続プロトコルが、データセンタコンピューティングシステムにアクセスするために使用され得る。例えば、ユーザコンピューティングシステム104は、リモートデスクトッププロトコル(RDP)対応の接続、又は、ユーザデータグラムプロトコル(UDP)対応の接続を使用してデータセンタのコンピュータシステムと通信し得る。さらに、ユーザコンピューティングシステム104は、別のマシンによって対応されるアプリケーションにアクセスするか、又は、該アプリケーションをストリーミングする任意のプロトコルを使用してデータセンタにて対応されるアプリケーションインスタンスにアクセスし得る。例えば、ユーザコンピューティングシステム104は、App−V(ワシントン州レドモンドのマイクロソフト社入手可能)、又は、ThinApp(カリフォルニア州パロアルトのVMware社から入手可能)などのアプリケーション仮想化又はアプリケーションストリーミングソフトウェアを使用することによってデータセンタ上で対応されるアプリケーションにアクセスし得る。
A.データセンタ選択
先述したように、ユーザコンピューティングシステム104は、PESプラットフォーム120にアクセスして様々な計算リソースへのアクセスを取得し得る。典型的には、PESプラットフォーム120との通信は、単一のデータセンタ102と通信することによって行われる。が、場合によっては、ユーザコンピューティングシステム104は、複数のデータセンタ類102と通信し得る。論じる内容を簡素化するために、かつ、特記がない限り、本明細書で説明する実施例は、ユーザコンピューティングシステム104が単一のデータセンタ102で所与の時点にて通信していると想定することになる。しかしながら、異なる時点にて、ユーザコンピューティングシステム104は、特にユーザコンピューティングシステム104が異なる地理的地域122に移動したか、又は、異なる計算リソースにアクセスしようとしているときに異なるデータセンタ類102と通信し得る。
場合によっては、ユーザは、通信するデータセンタ102を選択し得る。ユーザによって選択されたデータセンタ102は、最適下限であり得ることが多い。例えば、ユーザによって選択されたデータセンタ102は、最低の待ち時間接続を提供しない場合がある。さらに、ユーザによって選択されたデータセンタ102は、ユーザがアクセスすることを望む1つ以上の計算リソースを含んでいない場合がある。
待ち時間の低減又は最小の待ち時間を提供する接続上でユーザコンピューティングシステム104と通信することができるデータセンタ102を自動的に選択するシステム及び方法の実施例を本明細書で説明する。場合によっては、接続の待ち時間は、所与の時点にて他のデータセンタとの接続部と比較して低減されていないか、又は、最小ではない場合があるが、一定期間にわたって低減されるか、又は、最小であり得る。さらに、一部の実例では、選択したデータセンタ102は、絶対最小待ち時間接続を提供しない場合があるが、待ち時間閾値レベル未満である待ち時間接続を提供し得る。場合によっては、システムは、少なくともある程度、データセンタとユーザコンピューティングシステム間の通信チャネルの待ち時間に相関する1つ以上の待ち時間因子の計算に基づいてデータセンタを選択することができる。さらに、選択したデータセンタ102は、ユーザがアクセスに望むと識別した1つ以上の計算リソースを含む1組のデータセンタ類102から識別され得る。
特定の実施形態では、データセンタ102は、ユーザコンピューティングシステム104と対応するコンピューティング環境114のデータセンタ類102の1つ以上との間の接続に関連したいくつかの待ち時間因子を測定することによって選択され得る。例えば、データセンタ102は、データセンタ類102とユーザコンピューティングシステム104との間の地理的距離に基づいて選択され得る。データセンタ102の選択を以下で図6及び図7に関してさらに説明する。
B.デスクトップインスタンス配置
データセンタ102と通信することは、アプリケーション及び仮想デスクトップなど、計算リソースへのアクセスを提供する1つ以上のデータセンタコンピュータと通信することを含み得る。幾人かのユーザ(例えば、従業員又は顧客)に計算リソースを提供するためにデータセンタ102を使用するエンティティは、場合によっては、どのように計算リソースがデータセンタ102にて配信されるかのルールを指定することを望み得る。例えば、仲介サービスを提供するエンティティは、データセンタ102コンピュータシステムがオフラインになったときに影響を受ける従業員(又は、顧客)の数を低減したいと思う場合がある。この点を踏まえて、エンティティは、1つ又は2つのデータセンタ102コンピュータシステム内の部署全体を統合する代わりにいくつかのコンピュータシステム間で取引を処理する従業員を分散したいと思う場合がある。
本開示の実施形態は、ユーザ(例えば、管理者)が、ユーザを雇用するか、又は、ユーザに関連するエンティティのためにデータセンタ102にて計算リソース(例えば、仮想デスクトップ)の配置及び/又は構成のルールを提供することを可能にする。データセンタ102は、配置ルールを使用して、ユーザのために計算リソースに対応するようにデータセンタコンピュータシステムを選択することができる。例えば、データセンタ102は、ユーザがエンジニアリング企業の経理課の課員であると判定することができる。エンジニアリング企業にて管理者によって指定されたルールに基づいて、データセンタ102は、企業の経理課の他の課員に対応していないデータセンタコンピュータを選択することができる。さらに、データセンタ102は、確実に、この経理課従業員用に作成された仮想デスクトップが、本人の職務権限を実行するためにこの経理課従業員に必要とされるアプリケーションで予め構成されるようにすることができる。
C.アプリケーションへのアクセス
プログラム実行サービス(PES)のユーザは、アプリケーション市場を介して利用可能である様々なアプリケーション及びオペレーティングシステムの間で選択し得る。ユーザは、自分の仮想デスクトップインスタンス上で使用したいオペレーティングシステム及びアプリケーションを検索し得る。PESプラットフォーム120は、ユーザによって選ばれたオペレーティングシステムを実行する仮想デスクトップインスタンスから実行可能であるようにアプリケーションを構成し得る。例えば、ユーザは、自分の仮想デスクトップインスタンス上でアップル社MAC OSをインストールすることを選び得る。また、自分の仮想デスクトップインスタンスにおいてマイクロソフトパワーポイントソフトウェアを含むことを選び得る。ユーザは、自宅にてユーザのラップトップコンピュータからパワーポイントソフトウェアに初めにアクセスし得る。ユーザは、その後、別の都市に旅行し得、ユーザは、PESプラットフォーム120上で仮想デスクトップインスタンスとの接続を用いてユーザのホテルにてユーザのラップトップコンピュータから同じソフトウェア及びオペレーティングシステム環境にアクセスしたいと思っている。PESプラットフォーム120は、ユーザ及びユーザのラップトップコンピュータに関連したメタデータをチェックし得、かつ、ユーザがプログラムにアクセスする権限が与えられていると判定し得る。
ユーザは、その後、営業会議に出向いて、ユーザのタブレット装置からプレゼンテーションを行い得る。PESプラットフォーム120は、ユーザ及びユーザのタブレット装置に関連したメタデータをチェックし得、かつ、ユーザがユーザのタブレット装置からPESプラットフォーム120上で仮想デスクトップインスタンス上でパワーポイントソフトウェアにアクセスする権限が与えられていると判定し得る。
D.クラウドフォルダ同期
多くの人々が、2つ以上のコンピューティングデバイスを有する。ユーザは、デスクトップコンピュータ、サーバコンピュータ、テーブル機器、スマートフォンなど、いくつかの異なる装置からPESプラットフォーム120上で遠隔操作にて記憶されたファイルにアクセスしたいと思う場合がある。ユーザは、これらの装置上でファイルにアクセスし得るが、一部の実施形態では、セキュリティ及びアクセスレベル設定が、ユーザのみが特定の装置上でファイルを同期させることを可能にするように構成され得る。ファイルをコンピューティングデバイスの上で同期させることが可能にされると、他のコンピューティングデバイスから、又は、仮想デスクトップインスタンス上でファイルに行われた全ての変更をコンピューティングデバイスに自動的に同期させることができる。一部の実例では、ファイルは、ネットワーク接続性に関係なくコンピューティングデバイス上でアクセス可能であるように構成され得る。
例えば、ユーザは、会社のデスクトップPC、タブレット装置、及びスマートフォンを有し得、これらは、全て、PESプラットフォーム120上に記憶されたファイルにアクセスするように構成される。ユーザは、PESプラットフォーム120上で対応される仮想デスクトップインスタンスを介して、自分のデスクトップPCでMicrosoft Word(商標)文書で作業し得る。仮想デスクトップインスタンス上でMicrosoft Word文書を編集した後に、ユーザは、会社の自分のデスクトップPCをオフにし得る。ユーザは、空港に到着すると同じMicrosoft Word文書を編集することを望み得る。
ユーザの様々なコンピューティングデバイス間に多くの同期点があり得る。ユーザのボブが仮想デスクトップインスタンスFooを有する以下の例示的な実施例を考察してみよう。仮想デスクトップインスタンスFooを使用してボブによって修正されたファイルは、ボブのコンピューティングデバイスの1つ、例えば、コンピューティングデバイス0と同期され得る。コンピューティングデバイス0上の仮想デスクトップインスタンスFooを使用してボブによって修正されたファイルは、また、PESと同期され得、PESは、ボブによってアクセス可能なファイルストレージに(例えば、仮想デスクトップFooによってアクセス可能なフォルダFooに)修正されたファイルのコピーを記憶するようになっている。ユーザボブは、その後、PESによって、しかし、第2のコンピューティングデバイス、例えば、コンピューティングデバイス1を使用して、記憶されたファイルの1つ以上にアクセスすることを選び得る。コンピューティングデバイス1は、ファイルに(例えば、PES上のフォルダFooから)にアクセスすることができ、ボブは、コンピューティングデバイス1の上で仮想デスクトップインスタンスFooを使用してコンピューティングデバイス1上でファイルで作業して該ファイルを修正し続けることができるようになっている。PESは、PES内のファイルストレージとコンピューティングデバイス1上のローカルストレージとの間でファイルを同期させることができる。したがって、PES内に記憶されたファイルは、ボブのコンピューティングデバイス0及び1の両方と同期させることができる。したがって、コンピューティングデバイス0及び1の一方又は両方での文書の変更は、PESと、及び、仮想デスクトップインスタンスFooと同期させることができる。さらに、PESとのネットワーク接続性が失われたか、又は、ローカルアクセスが必要である場合、ユーザのボブは、コンピューティングデバイス0及びコンピューティングデバイス1上でファイルにアクセスすることができる。
II.例示的なプログラム実行サービス環境
図1Bは、通信ネットワーク106を介して計算リソースをマルチユーザコンピューティングシステム104に提供することができるプログラム実行サービス環境100の更なる実施例を例示する。図1Aに例示するコンポーネントに加えて、プログラム実行サービス環境100は、ネットワーク106を介してPESプラットフォーム120と通信する1つ以上のプロバイダコンピューティングシステム108を含むことができる。
プロバイダコンピューティングシステム108のユーザは、ネットワーク130を介して、特定の形式の機能性のために、アプリケーション市場130にサービス画像を提出し得、アプリケーション市場130は、PESプラットフォーム120の一部として含められ、かつ、図2に関してさらに詳細に説明する。サービス画像は、アプリケーションの画像、仮想デスクトップ構成、又は、アプリケーション市場130を介して提供され得る任意の他の形式の計算リソースを含み得る。アプリケーション市場130は、提出されたサービス画像、並びに、市場に提出された他のサービス画像をユーザコンピューティングシステム類104のユーザに提供し得る。したがって、ユーザコンピューティングシステム104を利用するユーザは、以下で図10に関してさらに説明するように、アプリケーション市場130から入手可能であるサービス画像を閲覧し、所望のサービス画像を取得して、取得されたサービス画像をユーザコンピューティングシステム104にて、又は、データセンタ102のコンピュータシステムにおいて立ち上げ得る。
場合によっては、プロバイダコンピューティングシステム108のユーザは、PESプラットフォーム120に属するエンティティに属し得る。他の場合において、プロバイダコンピューティングシステム108のユーザは、PESプラットフォームに属さないサードパーティであり得る。取得されたサービス画像がサードパーティプロバイダによって電子サービス画像市場100に提出された場合、取得されたサービス画像は、運用、維持、提供されるか、又は、サードパーティプロバイダにその他の方法で関連するプロバイダ対応のコンピューティング環境110において立ち上げられ得る。プロバイダ対応のコンピューティング環境110は、1つ以上の物理コンピュータシステムを含み得、場合によっては、それ自身がPESプラットフォームであり得る。
PESプラットフォーム120は、対応するコンピューティング環境114からデータセンタ102を選択することを容易にし得る任意のシステムを含み得る対応するコンピューティング環境リソース割り当てシステム140をさらに含み得る。対応するコンピューティング環境リソース割り当てシステム140は、データセンタ102及びユーザコンピューティングシステム104とデータセンタ102にて利用可能である計算リソースとの間の接続の予想待ち時間を含むいくつかの因子に基づいてデータセンタ102を選択し得る。
データセンタ102を選択することを容易にするために、場合によっては、対応するコンピューティング環境リソース割り当てシステム140は、データセンタ類102に関連したメタデータに共通のリポジトリ112からアクセスすることができる。このメタデータは、データセンタ102に関連し得る任意の情報を含むことができる。例えば、メタデータとしては、データセンタの102の場所、データセンタ102にて利用可能である計算リソース、データセンタ102と様々な地理的地域122との間の接続の待ち時間情報、データセンタ102にアクセスできるエンティティのアイデンティティ、ユーザ又は関連のエンティティがデータセンタ102にアクセスする権限が与えられているか否かを判定するアクセスルールなどを挙げることができる。
一部の実例では、ユーザは、データをユーザコンピューティングシステム104とデータセンタ102間で同期させたいと思う場合がある。さらに、例えば、ユーザが地理的ロケーションを切り替えるのでユーザが新しいデータセンタ102にアクセスする場合、データをデータセンタ類102間で同期させることが必要であり得る。そのような場合、PESプラットフォーム120は、データ同期を容易にするために、ファイル同期システム170を使用し得る。ファイル同期システム170を図11に関して以下でさらに詳細に説明する。
PESプラットフォーム120の一部として示すが、一部の実例では、対応するコンピューティング環境リソース割り当てシステム140及びアプリケーション市場130の1つ以上は、PESプラットフォーム120と分離することができる。さらに、場合によっては、対応するコンピューティング環境リソース割り当てシステム140及びアプリケーション市場の1つ以上は、対応するコンピューティング環境114の一部として含められ得る。さらに、場合によっては、共通のリポジトリ112は、対応するコンピューティング環境114の一部として含められ得る。
III.例示的な電子サービス画像市場
図2は、一部の実施形態では、プログラム実行サービス環境100の一部として含むことができるアプリケーション市場130の実施例を例示する。先述したように、アプリケーション市場は、サービス画像をユーザに提供することができる。これらのサービス画像としては、アプリケーション、仮想デスクトップ及びPESプラットフォーム120、又は、サードパーティエンティティに関連したエンティティによって提供される他の計算リソースを挙げることができる。
例示する実施形態では、アプリケーション市場130は、電子カタログ216、市場インターフェース212、アプリケーションリポジトリ220、請求システム218及び使用モニタシステム214を含むいくつかのシステムを含むことができるコンピュータ環境として示す。場合によっては、アプリケーション市場130のシステムは、単一のコンピューティングシステムの一部であり得る。他の場合において、アプリケーション市場130のシステムの少なくとも一部は、複数のコンピュータシステム全体にわたって分散され得る。そのような場合、コンピュータシステムは、ネットワーク106など、1つ以上のネットワークを使用して相互接続され得る。アプリケーション市場130のシステムの各々を以下でさらに詳細に説明する。しかしながら、アプリケーション市場130は、図2に例示するよりも少ないか、又は、多いコンポーネントを有し得る。さらに、アプリケーション市場130は、様々なネットワーク、又は、Webサービス及び/又はピアツーピアネットワーク構成を含み得る。したがって、図2のアプリケーション市場130の描写は、例示的であり、本開示に制限的ではないと取るべきである。
市場インターフェース212は、サードパーティプロバイダによるネットワーク提出、及び、アプリケーション市場130内のサービス画像のユーザ又は顧客による閲覧及び取得を容易にする。したがって、プロバイダ、又は、プロバイダコンピューティングシステム108を利用する他のユーザは、1つ以上のサービス画像を市場インターフェース212を介してアプリケーション市場130に提出し得る。提出されたサービス画像は、その後、電子カタログ216内に含められ得る。アプリケーションなどサービス画像を提出する実施形態つまりプロセスが、2011年9月29日出願の,「Electronic Marketplace for Hosted Service Images」という名称の米国特許出願第13/248,227号でさらに詳細に説明されおり、この特許は、全体が参照により本明細書に組み入れられる。
電子カタログ216は、複数のプロバイダから入手可能であるサービス画像、及び、アプリケーション市場100の運営者によって提供されたサービス画像に関する情報を含み、該運営者は、PESプラットフォーム130の運営者と同じ運営者であり得る。したがって、市場システム212は、複数のプロバイダ及び市場によってオファーされたサービス画像のサービス画像情報を取得して、ウェブサイトなど単一のネットワークリソースからサービス画像を顧客に提供し得る。顧客は、その後、サービス画像をアプリケーション市場から取得し、サービス画像市場との単一の相互作用、又は、サービス画像市場に行われた注文において、又は、PESプラットフォーム120との複数の相互作用の一部として、対応するコンピューティング環境114又はそのデータセンタ102においてサービス画像を立ち上げ得る。電子カタログ216は、品目(商品及びサービスなどの)及びサービス画像(例えばアプリケーション及び仮想デスクトップ)に関する情報を含むカタログであり得るか、又は、一方のカタログは、品目に関する情報を含み、他方のカタログは、本開示の範囲から逸脱することなく、サービス画像に関する情報を含む別個のカタログであり得る。
例示的に、市場インターフェース212が、ユーザコンピューティングシステム104を利用する顧客がサービス画像(例えば、アプリケーション、又は、仮想デスクトップ)を閲覧し、サービス画像に適合するクエリを提出して、特定のサービス画像に関する情報及び詳細を見得る1つ以上のユーザインターフェースを生成し得る。
顧客がアプリケーション市場130から所望のサービス画像を選択した後、市場インターフェース212は、サービス画像の構成及び取得を容易にして、データセンタ102のコンピュータシステム上でサービス画像の立ち上げを引き起こし得る。この点に関しては、市場インターフェース212は、支払い情報、並びに、場合によっては、サービス画像をどのようにデータセンタ102でのコンピュータシステム上で実行するべきかを指定する情報をユーザコンピューティングシステム104から受信し得る。一部の実施形態では、顧客は、選択したサービス画像に対応する特定のデータセンタ102を選択し得る。
サービス画像が立ち上げられてデータセンタ102にてコンピュータシステム上で実行されると、アプリケーション市場130は、サービス画像によって提供された機能性又はサービスの使用を使用モニタシステム214を介してモニタすることができる。さらに、アプリケーション市場130は、請求システム218を介して顧客に請求書を送り及び/又は相応にサービス画像プロバイダを支払うことができる。請求システム218は、支払い情報を市場システム212との相互作用を介して受信及び提供し得る。一部の実施形態では、請求システム218は、更なるサーバを介して、電話の相互作用を介して、又は、他のメカニズムを介してなど、他のプロセスを介して支払い情報を代替的に受信及び提供し得る。さらに、アプリケーション市場130は、顧客にサービス画像の構成を管理、モニタ、修正するなどのツールを提供し得る。
サービス画像は、アプリケーションリポジトリ220にて記憶され得る。ユーザが、アプリケーション、又は、予め構成された仮想デスクトップなど、サービス画像を購入、レンタル、又は許可するか、又は、該サービス画像へのアクセス取得するとき、アプリケーション市場130は、サービス画像のコピーを取得するためにアプリケーションリポジトリにアクセスし得、かつ、本明細書で説明するプロセスを使用して選択されたデータセンタ102にてコンピュータシステム上にインストールすることができる。
一部の実施形態では、アプリケーションのプロバイダは、提供されるアプリケーションの配置又は購入を制限するルールをアプリケーション市場130に提供し得る。例えば、プロバイダは、アプリケーションの配置をプロバイダと同じ国内に位置するデータセンタ類102に制限し得る。プロバイダは、プロバイダの国の輸出制限法の遵守を確実にするために領土のルールを指定することができる。別の実施例として、プロバイダは、アプリケーションの配置をプロバイダに関連したエンティティがアクセスの購入を有するデータセンタ類102に制限し得る。例えば、アプリケーションが従業員使用専用に開発された場合、プロバイダは、アプリケーションを従業員がアクセスすることができるデータセンタ類102に限定するべきであると指定し得る。
IV.例示的なデータセンタ
図3は、一部の実施形態では、プログラム実行サービス環境100の一部として含むことができるデータセンタ102の実施例を例示する。先述したように、データセンタ102は、対応するコンピューティング環境114の一部であり得、かつ、アプリケーション市場130又はサードパーティプロバイダに関連して対応される素早くプロビジョニングされてリリースされた計算リソースのコレクションを含み得る。計算リソースとしては、互いと通信するいくつかのコンピューティングデバイス、ネットワーキングデバイス、及び記憶デバイスを挙げることができる。一部の実施形態では、コンピューティングデバイスは、物理コンピューティングデバイス(例えば、データセンタコンピュータ302)に対応し得る。他の実施形態では、コンピューティングデバイスは、1つ以上の物理コンピューティングデバイスによって実行された仮想マシンインスタンス(例えば、インスタンス306)に対応し得る。さらに他の実施形態では、コンピューティングデバイスは、仮想コンピューティングデバイス及び物理コンピューティングデバイスに対応し得る。
図3に示す例示的なデータセンタ102は、アプリケーションを実行する計算リソースを提供するいくつかのデータセンタコンピュータ302A〜302N(本明細書では単数形で「データセンタコンピュータ302」と、又は、複数形で「データセンタコンピュータ類302」と呼ぶ場合がある)を含む。データセンタコンピュータ類302は、上述の計算リソースを提供するように適切に構成されたクライアントシステム、及び、タワー又はラックマウントサーバコンピュータを含む任意の形式のコンピューティングデバイスであり得る。例えば、一実行例では、データセンタコンピュータ類302は、計算リソースのインスタンス306A〜306Nを提供するように構成される。
一実施形態では、インスタンス306A〜306N(本明細書では単数形で「インスタンス306」と、又は、複数形で「インスタンス306」と呼ぶ場合がある)は、仮想マシンインスタンスである。特定の実施形態では、インスタンス306は、本明細書に記載しているように、PESプラットフォーム120に関連したエンティティまたはサードパーティエンティティによって提供されたサービス画像のインスタンスに基づき得るか、又は、該インスタンスであり得る。仮想マシンインスタンスとしては、物理マシンのようなプログラムを実行するマシン(例えば、コンピュータ)のソフトウェア実行例のインスタンスを挙げることができる。仮想マシンインスタンスの実施例では、データセンタコンピュータ類302の各々は、インスタンスを実行することができるインスタンスマネージャ308を実行するように構成され得る。インスタンスマネージャ308は、例えば、単一のデータセンタコンピュータ302で複数のインスタンス306の実行を有効にするように構成されたハイパーバイザ、又は、別の形式のプログラムであり得る。インスタンス306の各々は、アプリケーションの全て又は一部を実行するように構成され得る。さらに、場合によっては、インスタンス306は、仮想デスクトップ環境へのアクセスを提供するように構成され得る。
本明細書で開示する実施形態を主として仮想マシンインスタンスという文脈において説明するが、他の形式のインスタンスが本明細書で開示する概念及び技術で利用することができることを認識されたい。例えば、本明細書で開示する技術は、ストレージリソースのインスタンス、データ通信リソースのインスタンス、及び他の形式のリソースと共に利用され得る。本明細書で開示する実施形態は、また、仮想マシンインスタンスを利用することなく、コンピュータシステム上で直接にアプリケーションの全て又は一部を実行することがあり得る。
図3に示すデータセンタ102は、また、場合によっては、データセンタコンピュータ類302及び/又はインスタンス306を含むデータセンタ102の動作を管理するソフトウェア又はハードウェアコンポーネントを実行することができる管理コンピュータ304を含む。特に、管理コンピュータ304は、管理コンポーネント310を実行することがあり得る。場合によっては、PESプラットフォーム120のユーザ(例えば、管理者)は、データセンタ102及び顧客により購入されるインスタンス206の動作の様々な様相を構成するために管理コンポーネント310にアクセスするためにユーザコンピューティングシステム104を利用することがあり得る。場合によっては、顧客(例えば、企業顧客の管理者)は、データセンタ102の購入又はレンタルされた部分を構成するために管理コンポーネント310にアクセスし得る。例えば、顧客は、インスタンスを購入してインスタンスの構成に変更を行うか、又は、以下でさらに説明するように、更なるユーザ(例えば、企業顧客の更なる従業員)にデータセンタ102のコンピュータリソースを割り当てる配置ルールを供給し得る。顧客は、また、購入されたインスタンスを需要に応じてどのようにスケーリングするべきかに関する設定を指定することがあり得る。さらに、顧客は、また、管理コンポーネント310にインスタンスを立ち上げる要求を提供することがあり得る。一部の実施形態では、ユーザは、データセンタ102の機能性及び/又は管理に関する知識を有していない場合がある。そのような場合、データセンタ102は、例えば、管理コンポーネント310を使用して、ユーザによる使用のためにデータセンタ102の計算リソースを自動的に構成し得る。
管理コンピュータ304は、PESプラットフォーム108のユーザ(例えば、管理者)によって定義されたルールに基づいてインスタンス306をスケーリングすることができる自動スケーリングコンポーネント312をさらに含み得る。一実施形態では、例えば、自動スケーリングコンポーネント312は、ユーザが、いつ新しいインスタンスをインスタンス化するべきか判定する際に使用されるスケールアップルール、及び、いつ既存のインスタンスが終了させるべきか判定する際に使用されるスケールダウンルールを指定することを可能にする。一部の実施形態では、スケールアップ及びスケールダウンルールは、少し例を挙げれば、データセンタ102における利用、サービス保証の品質、時刻、及び/又は、データセンタ102へのアクセスが提供される顧客に基づき得る。
場合によっては、自動スケーリングコンポーネント312は、単一の管理コンピュータ304で、又は、データセンタ102及び/又はPESプラットフォーム120内の複数のコンピュータ全体にわたって並行して実行され得る。さらに、自動スケーリングコンポーネント312は、PESプラットフォーム120において異なるデータセンタ302又は他のコンピューティングデバイス上で実行されるいくつかのサブコンポーネントから成り得る。自動スケーリングコンポーネント312は、ソフトウェア、ハードウェア、又は、2つの任意の組合せとして実行され得る。場合によっては、自動スケーリングコンポーネント312は、例えば、内部管理ネットワークでPESプラットフォーム120において利用可能な計算リソースをモニタすることを容易にし得る。あるいは又はさらに、利用可能な計算リソースは、データセンタリソース割り当てシステム330によってモニタされ得る。
管理コンピュータ304は、また、計算リソースの新しいインスタンス306の配置を補助するために配置コンポーネント314を含み得る。配置コンポーネント314は、新しいインスタンス306がどのように構成されるべきか記述するデータを含む構成をユーザ又はシステムから受信し得る。例えば、新しいインスタンス306Aが仮想デスクトップ向けであると仮定すると、この構成は、新しいインスタンス306Aと共にインストールされるべきか、又は、インスタンス306Aの仮想デスクトップによってアクセス可能であるべき1つ以上のアプリケーションを指定することがあり得る。
さらに、配置コンポーネント314は、新しいインスタンス306を構成する、実行されるべきスクリプト及び/又は他の形式のコードを提供するか、アプリケーションキャッシュをどのように準備するべきか指定するキャッシュウォーミングロジック、及び、インスタンス306作成を容易にすることができる他の形式の情報を提供し得る。場合によっては、構成、キャッシュウォーミングロジック、及び他の情報は、管理コンポーネント310を利用するユーザによって、又は、この情報を配置コンポーネント314に直接に提供することによって指定され得る。他のメカニズムは、また、配置コンポーネント314の動作を構成するために利用されることがあり得る。
一部の実施形態では、データセンタ102はデータセンタリソース割り当てシステム330を含み、データセンタリソース割り当てシステム330は、計算リソースへのアクセスをユーザに提供するためにデータセンタコンピュータ302を選択することを容易にすることができる任意のシステムを含み得る。データセンタリソース割り当てシステム330は、データセンタコンピュータ302への負荷、データセンタコンピュータ302で利用可能なリソース、要求される形式の計算リソース、要求側ユーザに関連したメタデータなどを含むいくつかの要素に基づいてデータセンタコンピュータ302を選択し得る。場合によっては、データセンタリソース割り当てシステム330は、ユーザ及び/又はユーザが関連づけられるエンティティに関連した管理者によって提供されたインスタンス又は計算リソース配置ルールに基づいてデータセンタを選択し得る。これらの計算リソース配置ルールとしては、ユーザが計算リソースにアクセスすることを可能にするためにどこにインスタンス306を設置するべきか判定するために使用することができる任意の要素を挙げることができる。計算リソース配置ルール及びデータセンタコンピュータの選択を図8及び図9に関して以下で先に詳細に論じる。
計算リソース配置ルール及び/又は属性、又は、データセンタ102に関連したメタデータは、データセンタリポジトリ332にて記憶され得る。属性、又は、データセンタ102に関連した、メタデータは、データセンタに関連づけることができる任意の情報を含むことができる。例えば、メタデータとしては、データセンタ102にて利用可能である物理リソースに関する情報、データセンタ102にて利用可能であるソフトウェアリソース、データセンタ102の場所、データセンタ102にアクセスする権限が与えられたユーザ及び/又はエンティティのアイデンティティ、データセンタ102に関連した待ち時間情報などを挙げることができる。
図3に示す例示的なデータセンタ102では、ネットワーク306が、データセンタコンピュータ類302A〜302N、管理コンピュータ304、データセンタリソース割り当てシステム330、及びデータセンタリポジトリ332を相互接続するために利用される。ネットワーク306としては、LANを含め、ネットワーク106に関して先述した任意の形式のネットワークを挙げることができる。さらに、ネットワーク306は、また、図1A及び図1Bに例示するネットワーク106に接続され得る。図1A、図1B、及び図3に例示するネットワークトポロジは、大幅に簡素化したものであり、より多くのネットワーク及びネットワーキング装置が、本明細書で開示する様々なコンピューティングシステムを相互接続するために利用され得ることを認識されたい。データセンタ類102A〜102Nの各々間、各データセンタ102内のデータセンタコンピュータ類302A〜302Nの各々間、及び、PESプラットフォーム120の各顧客により購入又はレンタルされるインスタンス306間の負荷をバランス調整する適切な負荷バランス調整装置、又は、ソフトウェアモジュールが、また、利用されることがあり得る。
図3で説明するデータセンタ102は、単に例示的であり、他の実行例が利用されることがあり得ることを認識されたい。特に、管理コンポーネント310、自動スケーリングコンポーネント312及び配置コンポーネント314によって実行されると本明細書で説明する機能性は、互いによって実行されることがあり得るか、他のコンポーネントによって実行されることがあり得るか、又は、上記又は他のコンポーネントの組合せによって実行されることがあり得る。さらに、データセンタリソース割り当てシステム330によって実行されると説明する機能性は、管理コンピュータ304の1つ以上のコンポーネントによって実行されるか、また、その逆でもあり得る。さらに、場合によっては、データセンタリソース割り当てシステム330は、管理コンピュータ304の一部として含められ得るか、又は、逆もあり得る。さらに、データセンタ102の様々なコンポーネントがソフトウェア、ハードウェア、又は、ソフトウェア及びハードウェアの組合せで実行され得ることを認識されたい。
V.例示的なリソース割り当てシステム
図4Aは、一部の実施形態では、プログラム実行サービス環境100の一部として含めることができる対応されたコンピューティング環境リソース割り当てシステム140の実施例を例示する。先述したように、対応するコンピューティング環境リソース割り当てシステム140は、対応するコンピューティング環境114からのデータセンタ102の選択を容易にする任意のシステムを含むことができる。対応するコンピューティング環境リソース割り当てシステム140は、データセンタ102を識別するのを助けるために使用することができるいくつかのサブシステムを含むことができる。これらのサブシステムとしては、データセンタコンピュータ容量識別モジュール402、インスタンス利用モジュール404、待ち時間計算モジュール406、及び、アプリケーションリソース識別モジュール408を挙げることができる。
データセンタコンピュータ容量識別モジュール402を使用して、対応するコンピューティング環境リソース割り当てシステム140は、各データセンタ102のデータセンタコンピュータ類302の容量に関係する容量情報を識別することができる。容量とは、プロセッサ、メモリ及びストレージリソースなどデータセンタコンピュータ類302に関連した物理リソース、又は、アプリケーション、又は、仮想マシン容量などソフトウェアリソースを指すことができる。さらに、データセンタコンピュータ容量識別モジュール402によって判定される情報としては、データセンタコンピュータ類302の容量に関連した任意の情報を挙げることができる。例えば、データセンタ容量情報としては、データセンタコンピュータ類302、又は、データセンタ102によってサポートされた全容量、データセンタ102にて使用される及び/又は利用可能な容量、データセンタ102にて利用可能であるデータセンタコンピュータ類302の形式などを挙げることができる。
一部の実施形態では、対応するコンピューティング環境リソース割り当てシステム140は、データセンタリソース割り当てシステム330にアクセスすることによってデータセンタコンピュータ類302の容量情報を識別することができる。あるいは又はさらに、対応するコンピューティング環境リソース割り当てシステム140は、データセンタ類102の容量情報を判定するために共通のリポジトリ112にアクセスし得る。
インスタンス利用モジュール404は、データセンタ102にて利用される及び/又は利用可能なインスタンス302の量を識別することができる。場合によっては、データセンタ102によってサポートされ得るインスタンス302の数は無制限である。他の場合において、データセンタ102によってサポートされ得るインスタンス302の数は、利用可能な計算リソース(例えば、データセンタコンピュータ類302のプロセッサ又はメモリ)及び/又はデータセンタコンピュータ類302の管理者設定に基づく。データセンタコンピュータ容量識別モジュールと同様に、場合によっては、インスタンス利用モジュール404は、データセンタ102でのインスタンス306の利用を判定するためにデータセンタ102のデータセンタリソース割り当てシステム330及び共通のリポジトリ112の1つ以上にアクセスし得る。一部の実施形態では、インスタンス利用モジュール404は、データセンタコンピュータ容量識別モジュール402の一部として含められ得る。
アプリケーションリソース識別モジュール408は、データセンタリソース割り当てシステム330及び/又は共通のリポジトリ112にアクセスすることによって、データセンタ102にて利用可能であるアプリケーション又はサービス画像を識別することができる。一部の実施形態では、特定のアプリケーションが、データセンタ類102のサブセットから制限され得る。例えば、アプリケーションプロバイダは、例えば、経費上の理由から、又は、アプリケーションが輸出法に違反しないようにするために、アプリケーションへのアクセスを提供することができるデータセンタ類102を制限することを望む場合がある。場合によっては、データセンタ102が、アプリケーションについて限られた数のライセンスにアクセスし得る。そのような場合、アプリケーションリソース識別モジュール408は、ライセンスがアプリケーションに利用可能か否かを識別することができる。一部の実施形態では、アプリケーションリソース識別モジュール408は、データセンタ容量識別モジュール402及び/又はインスタンス利用モジュール404の一部として含められ得る。
特定の場合、データセンタ102と通信する際にできるだけ小さい待ち時間を有することが重要である。重要である。待ち時間計算モジュール406は、データセンタ102とユーザコンピューティングシステム104との間の予想待ち時間を計算することができ、その結果、最小の待ち時間のデータセンタ選択が最適化される。データセンタ102を選択して予想待ち時間を計算するプロセスを図6及び図7に関して以下でさらに説明する。
VI.例示的なデータセンタリソース割り当てシステム
図4Bは、一部の実施形態では、データセンタ102の一部として含めることができるデータセンタリソース割り当てシステム330の実施例を例示する。一部の実例では、各データセンタ102は、PESプラットフォーム120の対応するコンピューティング環境リソース割り当てシステム140と通信することができる独自のデータセンタリソース割り当てシステム330を含み得る。
図4Bを図4Aと比較するとわかるように、データセンタリソース割り当てシステム330は、対応するコンピューティング環境リソース割り当てシステム140と類似のシステムを含むことができる。一部の実施形態では、対応するコンピューティング環境リソース割り当てシステム140のシステムは、PESプラットフォーム120内のリソースの利用可能性を識別することを容易にし得、一方、データセンタリソース割り当てシステム330は、データセンタリソース割り当てシステム330を含む特定のデータセンタ102内のリソースの利用可能性を識別することを容易にし得る。
一部の実例では、データセンタリソース割り当てシステム330は、データセンタコンピュータ容量識別モジュール452と、インスタンス利用モジュール454と、待ち時間計算モジュール456と、アプリケーションリソース識別モジュール458とを含むことができる。場合によっては、データセンタリソース割り当てシステム330のシステムは、対応するコンピューティング環境リソース割り当てシステム140による判定及び/又は計算を容易にするために、情報を対応するコンピューティング環境リソース割り当てシステム140の対応するシステムに提供し得る。
したがって、例えば、データセンタコンピュータ容量識別モジュール452は、データセンタ102のデータセンタコンピュータ類302の容量情報を、対応するコンピューティング環境リソース割り当てシステム140のデータセンタコンピュータ容量識別モジュール402に提供し得る。同様に、インスタンス利用モジュール454は、データセンタ102のインスタンス306の利用及び/又は利用可能性に関する情報を対応するコンピューティング環境リソース割り当てシステム140のインスタンス利用モジュール404に提供し得る。さらに、アプリケーションリソース識別モジュール458は、データセンタ102にて利用可能なアプリケーションに関係する情報をアプリケーションリソース識別モジュール408に提供することができる。
上述のシステムに加えて、データセンタリソース割り当てシステム330は、また、待ち時間計算モジュール456を含むことができる。待ち時間計算モジュール456は、ユーザコンピューティングシステム104との接続の予想待ち時間を計算する待ち時間計算モジュール406を容易にする情報を識別することができる。例えば、待ち時間計算モジュール456は、地理的地域122Bにおけるユーザコンピューティングシステム104との接続について履歴待ち時間情報を提供することができる。
一部の実施形態では、データセンタリソース割り当てシステム330の一部のサブシステムは、組合せ及び/又は随意的であり得る。例えば、場合によっては、データセンタリソース割り当てシステム330は、待ち時間計算モジュール456を含まない場合がある。第2の実施例として、データセンタコンピュータ容量識別モジュール452及びインスタンス利用モジュール454は組み合わされ得る。
VII.例示的なデスクトップインスタンス
図5は、一部の実施形態では、データセンタ102のデータセンタコンピュータ302によって対応することができるインスタンス500の実施例を例示する。例えば、インスタンス500は、ユーザに、データセンタコンピュータ302のインスタンスマネージャ308によってデータセンタコンピュータ302で作成された仮想デスクトップへのアクセスを提供するために作成することができるインスタンス306の実施例であり得る。場合によっては、インスタンス500は、ユーザによる要求に応答して配置コンポーネント314によって作成されるか、又は、作成させられ得る。
一般に、インスタンス500は、ユーザに仮想デスクトップなど、計算リソース又は計算ノードへのアクセスを提供するためにインスタンス化される仮想マシンを含む。しかしながら、場合によっては、インスタンス500は、仮想マシンの使用なしでデータセンタコンピュータ302で作成され得る。
図5に例示する実施例では、インスタンス500は、デスクトップ環境502を含む。デスクトップ環境502としては、仮想デスクトップを表す任意の形式の環境を挙げることができる。例えば、該デスクトップ環境は、PESプラットフォーム120により記憶及び/又は対応されるファイル及び/又はアプリケーションと相互作用するインターフェースを含むことができる。場合によっては、デスクトップ環境502は、別のインスタンス306によって含まれるか又は対応されるデータ及び/又はアプリケーションにアクセスするショートカットを含むことができる。さらに、場合によっては、デスクトップ環境502は、デスクトップの他にファイル及びアプリケーションにアクセスする更なる又は代替的なインターフェースを提供することができる。例えば、デスクトップ環境502は、ファイルマネージャを含むことができるか、又は、ファイルマネージャとすることができる。場合によっては、根底にあるオペレーティングシステム及び/又はハードウェアに関係なく、デスクトップ環境502は、特定の見た目と感じを提示し得る。例えば、デスクトップ環境502は、ウィンドウズデスクトップ、Linuxデスクトップ、又は、iOSデスクトップをエミュレートするように構成することができる。他の場合、インスタンス500は、ユーザによって選択された仮想マシン計算リソースの一部であり得る。そのような場合、デスクトップ環境502は、仮想マシン計算リソースの選択されたオペレーティングシステム(例えば、ウィンドウズ、Linuxなど)のデスクトップ環境であり得る。
デスクトップ環境502は、アプリケーションアクセスモジュール504と、アプリケーション市場インターフェース506と、ファイルアクセスモジュール508とを含むことができる。ユーザがインスタンス500を介して(例えば、デスクトップ環境502上のショートカットから)アプリケーションにアクセスしようとするとき、アプリケーションアクセスモジュール504は、ユーザにアプリケーションへのアクセスを提供することができる。場合によっては、アプリケーションアクセスモジュール504は、ユーザによって所望されたアプリケーションを含む別のインスタンスへのアクセスを取得することができる。一部の実施形態では、アプリケーションへのアクセスを取得することは、アプリケーションアクセスモジュール504が、ユーザはアプリケーションにアクセスする権限が与えられているか否かを判断することを含み得、該権限が与えられていない場合、アプリケーションアクセスモジュール504は、アプリケーション市場インターフェース506を使用して、ユーザに、アプリケーション市場130からアプリケーションを購入又はレンタルする機会を提供することができる。さらに、ユーザは、アプリケーション市場インターフェース506を使用して、アプリケーション市場130を介して利用可能なアプリケーション、又は、サービス画像を閲覧することができる。
ファイルアクセスモジュール508は、ユーザに、インスタンス500と共に含まれていないファイル又はデータへのアクセスを提供することができる。例えば、ユーザがデスクトップ環境502を介してファイルにアクセスしようとする場合、ファイルアクセスモジュール508はファイルを見つけることができ、該ファイルは、別のインスタンス306、又は、記憶サーバなど、別のデータセンタコンピュータ302内に記憶され得る。ファイルアクセスモジュール508は、ファイルを見つけると、ユーザに、デスクトップ環境502を介してファイルへのアクセスを提供することができる。ファイルがユーザによって修正された場合、ファイルアクセスモジュール508は、修正されたファイルに同じ又は異なるコンピューティングデバイス上でユーザがアクセスすることができるようにファイルを同期させることができる。ファイルを同期させるプロセスを図12及び図13を参照して以下で説明する。
VIII.例示的なデータセンタ選択プロセス
図6は、データセンタ選択プロセス600の実施例を例示する。プロセス600は、少なくともある程度、ユーザ(例えば、顧客又はその従業員)による使用のためにデータセンタを選択することができる任意のシステムによって実行することができる。例えば、プロセス600は、少し例を挙げれば、全部、一部を問わず、PESプラットフォーム120、対応するコンピューティング環境リソース割り当てシステム140、データセンタコンピュータ容量識別モジュール402、インスタンス利用モジュール404、待ち時間計算モジュール406、アプリケーションリソース識別モジュール408及びデータセンタリソース割り当てシステム330によって実行することができる。任意の数のシステムが、全部、一部を問わず、プロセス600を実行することができるが、論じる内容を簡素化するために、プロセス600の各部を特定のシステムを参照して説明する。
特定の場合、プロセス600は、ユーザのコンピュータシステムとデータセンタとの間の待ち時間の目安に少なくとも部分的に基づいてユーザの最適データセンタを選択する。有利なことに、特定の実施形態では、プロセス600は、自動的に及び/又はユーザの知識なしに実行することができる。他の実施形態では、ユーザが、プロセス600を開始し得る。
プロセス600は、ブロック602にて始まり例えば、PESプラットフォーム120は、計算リソースへのアクセスをユーザコンピューティングシステム104(例えば、ユーザコンピューティングシステム104A)から取得する要求を受信する。このコンピューティング要求は、ユーザコマンドに応答して、又は、ユーザコンピューティングシステム104に関連したアプリケーション、又は、システムから自動的に受信され得る。さらに、要求される計算リソースとしては、PESプラットフォーム120によって提供され得る任意の形式のリソースを挙げることができる。例えば、計算リソースは、アプリケーション、仮想デスクトップ環境、データセンタにて又はユーザコンピューティングシステム104にて対応されるアプリケーション用計算リソース、ファイルストレージ空間、又は、PESプラットフォーム120によって提供され得る任意の他のリソースとすることができよう。
ブロック604にて、対応するコンピューティング環境リソース割り当てシステム140は、ユーザコンピューティングシステム104の地理的位置を識別する。ユーザコンピューティングシステム104の地理的位置を識別することは、特異性の閾値度内のユーザコンピューティングシステムの104の場所を識別することを含み得る。例えば、ブロック604は、特定のアドレス、郵便番号、町、国、国、又は、ユーザコンピューティングシステム104が位置する任意の他の地理的地域を識別することを含み得る。
さらに、対応するコンピューティング環境リソース割り当てシステム140は、ユーザコンピューティングシステム104の地理的位置を識別又は確認する1つ以上のメカニズムを使用することができる。例えば、リソース割り当てシステム140は、場所を識別するためにユーザコンピューティングシステム104のインターネットプロトコル(IP)アドレスを使用し得る。別の実施例として、対応するコンピューティング環境リソース割り当てシステム140は、ユーザコンピューティングシステムの104の場所を識別するために全地球測位システム(GPS)データを使用し得る。さらに別の実施例では、対応するコンピューティング環境リソース割り当てシステム140は、その場所を確立するためにユーザコンピューティングシステム104のユーザに問い合わせし得る。
ブロック606にて、対応するコンピューティング環境リソース割り当てシステム140は、ユーザコンピューティングデバイス104の半径内のブロック602にて要求された計算リソースを含む1組のデータセンタ類102を判定する。対応するコンピューティング環境リソース割り当てシステム140は、要求された計算リソースを含むその1組のデータセンタ類102を識別することを容易にするために、データセンタコンピュータ容量識別モジュール402、インスタンス利用モジュール404、及びアプリケーションリソース識別モジュール408の1つ以上を使用し得る。さらに、場合によっては、対応するコンピューティング環境リソース割り当てシステム140は、要求された計算リソースを含む1組のデータセンタ類102を判定することを容易にするために、各データセンタ102のデータセンタリソース割り当てシステム330にアクセスし得る。さらに、場合によっては、対応するコンピューティング環境リソース割り当てシステム140は、その1組のデータセンタ類102をユーザがアクセスする権限が与えられているデータセンタから判定する。データセンタ102が要求されたリソースを含むか否かを判定することは、また、例えば、ユーザ、又は、ユーザを雇用するエンティティに関連したユーザプロファイル、又は、1組のデスクトップ配置ルールに基づいて、データセンタ102が更なるリソースを含むか否かを判定することを含み得、該1組のデスクトップ配置ルールを以下でさらに詳細に説明する。例えば、対応するコンピューティング環境リソース割り当てシステム140は、ユーザに関連した使用プロファイルがユーザがストレージリソースの使用閾値よりも多く利用することを示す場合には各データセンタ102が少なくともデータストレージ利用可能性の利用可能性閾値を含むか否かを判定し得る。
場合によっては、半径は、予め定義され得るか、又は、ユーザによって設定され得る。他の場合において、ユーザコンピューティングシステム104に対して場所に関係なく計算リソースを含む全てのデータセンタが識別され得る。一部の実施形態では、ブロック602にて受信された要求は、複数の計算リソースを識別し得る。そのような場合、対応するコンピューティング環境リソース割り当てシステム140は、所望の計算リソースの全てを含む組のデータセンタ類102を識別する。
しかしながら、データセンタ類102のどれも所望の計算リソースの全てを含むというわけではない場合、対応するコンピューティング環境リソース割り当てシステム140は、最大数の要求された計算リソースを含む組のデータセンタ類102を識別し得る。場合によっては、ユーザは、その他より重要であると特定の要求の計算リソースを識別し得る。そのような場合、対応するコンピューティング環境リソース割り当てシステム140は、含むのが要求された計算リソースのいくつかであるが全てではないデータセンタ類102を識別するときに、より重要な計算リソースをより高く重み付けし得る。
半径という用語が使用されるが、リソース割り当てシステム140により調べられる地理的地域は、必ずしも円形、又は、ユーザコンピューティングデバイス104の中心であるわけではない。その代わりに、場合によっては、検索される地理的地域は、任意の他の幾何学的形状であり得るか、又は、州又は国など、地理的領域の地政学的な内訳に基づき得る。
一部の実施形態では、ブロック606にて識別されるその1組のデータセンタ類102は、ユーザ、又は、ユーザに関連したメタデータの任意の属性に基づいてフィルタリングされ得る。例えば、データセンタの選択は、リソースへのアクセスを要求するユーザの所属に基づいてフィルタリングされ得る。例えば、ユーザがエンティティの従業員であると仮定して、エンティティが3つのデータセンタへのアクセスを購入した場合、たとえ更なるデータセンタがユーザによって所望された計算リソースを含む半径内に存在するとしても、ブロック606にて識別されるその1組のデータセンタ類102は、3つのデータセンタに制限されることになる。別の実施例として、識別されるその1組のデータセンタ類102は、ユーザによって購入されたサービス品質に基づいてフィルタリングされ得る。したがって、ユーザが休止時間なしでデータセンタ102の計算リソースへの恒常的なアクセスを必要とする、プラチナレベルのアクセスを購入し得る。そのような場合、ブロック606にて識別されるデータセンタ類102は、青銅レベルのアクセスで満足するユーザに使用されたデータセンタ102と比較すると、より高い信頼性率及びより低い予約率を有するデータセンタ類102を識別するようにフィルタリングされ得る。
一部の実施形態では、データセンタ類102がブロック606にて識別されない場合、対応するコンピューティング環境リソース割り当てシステム140は、検索する半径を拡張し得る。あるいは又はさらに、対応するコンピューティング環境リソース割り当てシステム140は、計算リソースを、リソースを含むデータセンタからブロック606にて検索された半径内のデータセンタにコピーさせ得る。他の場合において、検索された半径内のデータセンタ類102が所望の計算リソースを含まない場合、ユーザは、計算リソースへのアクセスを拒絶され得る。
一部の実施形態では、ブロック606は、随意的であり得る。例えば、場合によっては、各データセンタ102は、同じリソースを含み得、及び/又は、指定の半径内に位置し得る。第2の実施例として、プロセス600は、全てのデータセンタ類102について実行され得る。
ブロック608にて、待ち時間計算モジュール406は、ブロック606にて識別された1組のデータセンタから、各データセンタ102の待ち時間因子を計算する。待ち時間因子は、データセンタ102とユーザコンピューティングシステム104との間の通信における予想待ち時間を表す。さらに、待ち時間因子は、少し例を挙げれば、データセンタ102とユーザコンピューティングシステム104との間の距離、1つ以上の待ち時間試験の結果、及び履歴待ち時間情報を含む様々な要因に基づくことができる。一部の実施形態では、待ち時間因子は、ユーザコンピュータシステム104及び/又はデータセンタ102に関連した特定のシステムに基づいて計算される。例えば、待ち時間因子はデータセンタ102での出現コンピューティングシステム(例えば、ネットワーク106にデータセンタを接続するネットワーク306でのルータ又はゲートウェイ)とユーザコンピューティングシステム104との間の通信に基づき得る。第2の実施例として、待ち時間因子は、ユーザコンピューティングシステム104と通信する地理的地域122内に位置するルータとデータセンタ102でのシステムとの間の通信に基づき得る。場合によっては、データセンタ類102の少なくとも一部の待ち時間因子は、並行して計算され得、その結果、各データセンタ102の待ち時間因子が順番に計算される場合と比較してプロセス600の実行が速められる。待ち時間因子の計算を図7に関して以下でさらに詳細に論じる。
対応するコンピューティング環境リソース割り当てシステム140は、ブロック610にて最低待ち時間因子でデータセンタ102を識別する。2つ以上のデータセンタ102が最低待ち時間因子を共有する場合、対応するコンピューティング環境リソース割り当てシステム140は、データセンタ102を選択するために決着をつける因子を使用することができる。決着をつける因子としては、別のデータセンタよりも優る1つのデータセンタを選択するために使用され得る任意の特性を挙げることができる。例えば、決着をつける因子は、各データセンタ102での割当てを解除されたリソース、ユーザコンピューティングシステム104までの各データセンタ102の距離、各データセンタ102にアクセスできる更なるユーザなどの各データセンタ102の利用率の1つ以上に基づくことができる。あるいは、対応するコンピューティング環境リソース割り当てシステム140は、最低待ち時間速度を共有するその1組のデータセンタ類102からランダムにてデータセンタ102を選択し得る。別の代替案として、対応するコンピューティング環境リソース割り当てシステム140は、処理される各々の各要求について特定の順番で異なるデータセンタ102を選択する総当りプロセスを使用し得る。
一部の実施形態では、ブロック610にて選択されるデータセンタ102は、最低待ち時間因子を有するデータセンタではなく、1つ以上の更なる要件を満たす最低待ち時間因子を有するデータセンタ102であり得る。例えば、冗長のために、例えば、各データセンタ102は利用可能なプロセッサリソースの最高90%を割り当てるように構成されると想定しよう。データセンタ102aが利用可能なプロセッサリソースの90%を既に割り当てていた場合、データセンタ102aは、たとえ特定の要求側ユーザコンピューティングシステム104の最低待ち時間因子に関連しているとしても選択される資格はあり得ない。
ブロック612にて、対応するコンピューティング環境114は、ユーザコンピューティングシステム104のユーザに、識別されたデータセンタ102の計算リソースへのアクセスを許可する。一部の実施形態では、データセンタ102へのユーザアクセスを許可することは、ユーザの1つ以上のアカウントをデータセンタ102と関連づけることを含むことができる。あるいは又はさらに、データセンタ102へのユーザアクセスを許可することは、ユーザコンピューティングシステム104をデータセンタ102と関連づけることを含むことができる。さらに、場合によっては、ユーザの各ユーザコンピューティングシステム104は、例えば、ユーザの利用可能なデータ及びリソースにおける一貫性を維持するためにデータセンタ102に関連づけられ得る。さらに、場合によっては、データセンタ102へのアクセスを許可することは、ユーザ又は関連のユーザコンピューティングシステム104がPESプラットフォーム120のデータ又は計算リソースにアクセスしようとするたびにデータセンタ102に自動的に接続することを含み得る。
一部の実施形態では、対応するコンピューティング環境リソース割り当てシステム140は、プロセス600に関連した1つ以上の動作を実行する順番を決定するために、ユーザコンピューティングシステム104の場所を使用し得る。例えば、待ち時間計算がブロック608にて実行される順番は、ユーザコンピューティングシステム104の場所に基づき得る。
IX.例示的な待ち時間因子計算プロセス
図7は、待ち時間因子計算プロセス700の実施例を例示する。プロセス700は、少なくともある程度、データセンタ102の待ち時間因子を計算することができる任意のシステムによって実行することができる。待ち時間因子としては、ユーザコンピューティングシステム104とデータセンタ102との間で通信する待ち時間の予想レベルの目安を挙げることができる。さらに、プロセス700は、プロセス600の一部として、例えば、ブロック608の一部として実行され得る。プロセス700は、全部、一部を問わず、例えば、少し例を挙げれば、PESプラットフォーム120、対応するコンピューティング環境リソース割り当てシステム140、待ち時間計算モジュール406、データセンタリソース割り当てシステム330、及び待ち時間計算モジュール456によって実行することができる。任意の数のシステムが、全部、一部を問わず、プロセス700を実行することができるが、論じる内容を簡素化するために、プロセス700の部分を特定のシステムを特定のシステムを参照して説明する。
プロセス700は、ブロック702にて始まり、例えば、待ち時間計算モジュール406は、ユーザコンピューティングシステム104の地理的位置を受信する。地理的位置は、対応するコンピューティング環境リソース割り当てシステム140、又は、ユーザコンピューティングシステム104の地理的位置を判定することができる任意のその他のシステムから受信され得る。あるいは、待ち時間計算モジュール406は、例えば、ユーザコンピューティングシステム104のIPアドレスに基づいて地理的位置自体を判定し得る。一部の実施形態では、ブロック702は、ブロック604に関して先に説明した実施形態の一部又は全部を含むことができる。
ブロック704にて、待ち時間計算モジュール406は、データセンタ102の識別を受信する。待ち時間計算モジュール406は、ブロック706にてデータセンタ102の地理的位置を判定する。データセンタ102の地理的位置は、共通のリポジトリ112にアクセスすることによって判定され得る。あるいは、各データセンタ102の地理的位置は、待ち時間計算モジュール406にて記憶され得る。別の代替案として、待ち時間計算モジュール406は、地理的位置を判定するためにデータセンタ102に問い合わせし得る。
ユーザコンピューティングシステム102及びデータセンタ102の地理的位置に基づいて、待ち時間計算モジュール406は、ブロック708にてユーザコンピューティングシステム104とデータセンタ102との間の距離を計算することができる。場合によっては、この距離は、少なくともある程度、ユーザコンピューティングシステム104とデータセンタ102との間の物理的距離に基づき得る。あるいは又はさらに、この距離は、少なくともある程度、データセンタ102とユーザコンピューティングシステム104との間の1つ以上のネットワーク通信路の長さに基づき得る。
ブロック710にて、待ち時間計算モジュール406は、ブロック708にて計算された距離に基づいて第1の待ち時間番号L1を判定し得る。一部の実施形態では、第1の待ち時間番号は、さらに、少なくともある程度、ユーザコンピューティングシステム104とデータセンタ102の間で利用される接続及び/又はネットワークハードウェアの形式に基づき得る。例えば、データセンタ102とユーザコンピューティングシステム104との間のルートの半分が光ファイバを含む場合、銅線がルートのその部分に対応した場合と異なる第1の待ち時間番号が判定され得る。
待ち時間計算モジュール406は、ブロック712にて第2の待ち時間番号L2を取得するために、1つ以上の待ち時間試験を実行する。待ち時間試験としては、2つのコンピューティングシステム間の待ち時間の推定値を取得するために使用することができる任意の形式のネットワーク又は接続試験を挙げることができる。例えば、待ち時間試験としては、ピング動作、トレースルート動作、トレースルート6動作、トラサート(tracert)動作、トレースパス動作などを挙げることができる。複数の待ち時間試験が実行される実施形態では、ブロック712は、待ち時間試験の結果を統合すること(例えば、平均化、合計することなど)を含むことができる。
ブロック714にて、待ち時間計算モジュール406は、データセンタ102とユーザコンピューティングシステム104に最も近いネットワークホップとの間の履歴待ち時間情報を検索する。ネットワークホップとしては、通信パケットをデータセンタ102とユーザコンピューティングシステム104との間で送り及び/又は転送する任意のネットワーク又は通信ハードウェア(例えば、ルータ、又は、ゲートウェイ)を挙げることができる。ユーザコンピューティングシステム104に最も近いネットワークホップは、ユーザコンピューティングシステム104に物理的に最も近いネットワークホップ及び/又はPESプラットフォーム120にユーザコンピューティングシステム104によって送られたときに最初にパケットを受信するネットワークホップを指し得る。一部の実施形態では、ネットワークホップを識別することは、ルックアップテーブルにアクセスし及び/又はネットワークトポロジマップにアクセスしてユーザコンピューティングシステム104に最も近いネットワークホップを判定することを含むことができる。ルックアップテーブル及び/又はネッワークマップは、ネットワーク106内に含まれた共通のリポジトリ112又は公的にアクセス可能なリポジトリに記憶され得る。
履歴待ち時間情報を使用して、待ち時間計算モジュール406は、ブロック716にて第3の待ち時間番号L3を生成する。第3の待ち時間番号は、履歴待ち時間情報(例えば、履歴待ち時間情報の平均又は時間重み付き平均など)から導出され得る。ブロック718にて、待ち時間計算モジュール406は、第1の待ち時間番号、第2の待ち時間番号及び第3の待ち時間番号に基づいてデータセンタ102について待ち時間因子Dを計算する。さらに、場合によっては、各待ち時間番号は、例えば、経験的に判定された重み付け因子(例えば、A1、A2及びA3)を使用して重み付けされ得る。したがって、例えば、待ち時間因子は、以下の式1を使用して計算され得る。
D=A1*L1+A2*L2+A3*L3 (1)
式1を用いて計算した待ち時間因子が第1、第2及び第3の待ち時間番号の重み付け合計であるが、待ち時間因子を待ち時間番号の他の数学的な組合せに基づかせることが可能である。さらに、場合によっては、待ち時間因子は、待ち時間番号、又は、その組合せの1つ以上により索引が付される待ち時間因子の表にアクセスすることによって判定され得る。
一部の実施形態では、待ち時間番号の1つ以上は、待ち時間因子を計算することから除外され得る。そのような実例では、図7の関連のブロックは、随意的であり得る。例えば、待ち時間因子は、履歴待ち時間情報に関係する第3の待ち時間番号なしで計算され得る。そのような場合、ブロック714及び716は、随意的であり得る。
場合によっては、待ち時間番号又は因子の1つ以上は、データセンタ102とユーザコンピューティングシステム104との間の通信チャネルの待ち時間に少なくともある程度相関する。したがって、一部の実施形態では、プロセス7及びプロセス6は、ユーザコンピューティングシステム104と他のデータセンタ類102との間の通信チャネルと比較して最小の待ち時間を有すると予想されるデータセンタ102を選択するために使用することができる。あるいは又はさらに、プロセス7及びプロセス6は、ユーザコンピューティングデバイス104と通信するときに閾値レベルを下回る待ち時間を有すると予想されるデータセンタ102を選択するために使用することができる。
X.例示的なデスクトップ配置構成プロセス
図8は、デスクトップ配置構成プロセス800の実施例を例示する。プロセス800は、少なくともある程度、インスタンス(例えば、仮想デスクトップ、アプリケーション、など)の割り当ての1組のルール(例えば、デスクトップ配置ルール)に基づいてPESプラットフォーム120及び/又はその1つ以上のデータセンタ類102を構成することができる任意のシステムによって実行することができる。例えば、プロセス800は、全部、一部を問わず、少し例を挙げれば、PESプラットフォーム120、対応するコンピューティング環境114、対応するコンピューティング環境リソース割り当てシステム140、データセンタリソース割り当てシステム330、管理コンピュータ304、管理コンポーネント310及び配置コンポーネント314によって実行することができる。任意の数のシステムが、全部、一部を問わず、プロセス800を実行することができるが、論じる内容を簡素化するために、プロセス800の部分を特定のシステムを特定のシステムを参照して説明する。
図8が仮想デスクトップ及びデスクトップ配置ルールを参照して説明するが、プロセス800は、この点を踏まえて有限ではない。プロセス800は、仮想デスクトップ、アプリケーション、プロセッサ利用、データストレージなどを含む任意の形式の計算リソースを割り当てる方法を判定する任意の形式の計算リソース配置ルールに基づいてデータセンタ類102を構成するために使用することができる。
プロセス800は、例えば、対応するコンピューティング環境114が、ユーザ認証情報を例えば、ユーザコンピューティングシステム104を介してユーザから受信するブロック802にて始まる。場合によっては、対応するコンピューティング環境114の特定のデータセンタ102が、認証情報を受信する。全ての場合において必要とされるというわけではないが、典型的には、ユーザは、少なくとも一部の他のユーザと比較すると上位の許可(例えば、管理者又は他のスーパーユーザ)に関連している。
ブロック804にて、対応されたコンピュータ環境114は、デスクトップ配置ルールをユーザから受信する。デスクトップ配置ルールは、特定のデータセンタ102、又は、複数のデータセンタに関連付けることができる。例えば、デスクトップ配置ルールは、ユーザがアクセスする権限が与えられている全てのデータセンタ類102に関連付けられ得る。第2の実施例として、デスクトップ配置ルールは、特定のグループ(例えば、エンティティのディベロッパチーム又はマーケティングチーム)のユーザがアクセスする権限が与えられている全てのデータセンタと関連づけられ得る。
さらに、デスクトップ配置ルールは、データセンタ102にて仮想デスクトップを配置する任意の形式のルールを含むことができる。例えば、デスクトップ配置ルールは、データセンタ102での任意の特定のコンピューティングシステムがエンティティのユーザ、又は、エンティティの下位グループ又は部署(例えば、経理、研究開発など)のユーザの閾値百分率のみに対応すると指定し得る。場合によっては、デスクトップ配置ルールは、特定の群の構成員が2人としてデータセンタ102の同じコンピュータシステムによって対応されないと指定することができる。さらに、場合によっては、デスクトップ配置ルールは、ユーザのサブセットは、ラック、バックアップバッテリ、電源バス、ラックスイッチ、電源、ルータ、データストレージ、データストレージシステムなどを共有しないコンピュータシステムに割り当てられると指定し得る。有利なことに、特定の実施形態では、特定のコンピューティングシステムから、又は、何らかの形式のリソース(例えば、バックアップバッテリ)を共有する1組のコンピューティングシステムから計算リソースを割り当てられるユーザの百分率を制限することによって、アクセスを失うか、又は、別のコンピューティングシステムに移動される必要があるユーザの数が、コンピューティングシステムがアクセス不能になるか、又は、リソース(例えば、データセンタ102でのルータ)がアクセス不能になった場合に制限され、その結果、計算リソースが失われるときに発生する可能性がある負の結果が低減される。
場合によっては、デスクトップ配置ルールは、デスクトップ配置ルールにより支配されるユーザに関連したユーザプロファイルに基づき得る。例えば、デスクトップ配置ルールは、ユーザプロファイルがユーザがいくつかのグラフィクス重視アプリケーションを利用することを示すユーザにはデータセンタ102の一部の他のコンピューティングシステムよりも強力なグラフィックカードを含むデータセンタ102のコンピューティングシステムが割り当てられると指定し得る。第2の実施例として、ユーザプロファイルがユーザが多くの記憶空間を必要とすることを示すユーザには、閾値を超える記憶空間利用可能性を有するデータストレージに関連するか、又は、他のデータストレージの記憶空間利用可能性を上回るデータセンタ102のコンピューティングシステムへアクセスが割り当てられ得る。
さらに、場合によっては、デスクトップ配置ルールは、1組のユーザが直接に又は仮想デスクトップを介してアクセスする権限が与えられているアプリケーションを指定するルールを含むことができる。さらに、デスクトップ配置ルールは、ユーザにより提供が求められる仮想デスクトップのデフォルト構成を指定し得る。
さらに、上述したように、一部の実施形態では、デスクトップ配置ルールは、デスクトップ又は仮想デスクトップだけではなく、任意の形式の計算リソースに関連づけることができる。
ブロック806にて、対応するコンピューティング環境114は、デスクトップ配置ルールに関連したエンティティ(例えば、ユーザを雇用する企業)を識別する。一部の実施形態では、対応するコンピューティング環境114は、ブロック806にてエンティティに関連したユーザの下位グループを識別する。ユーザの下位グループは、例えば、エンティティの組織構造内の部署、又は、特定の場所(例えば、エンティティ英国事務所)に位置する一群のユーザであり得る。一部の実施形態では、ブロック806は、随意的である。例えば、ユーザはユーザの個人利用向けにデスクトップ配置ルールを設定し得る。
対応するコンピューティング環境114は、ブロック808にて、ユーザが、ブロック806にて識別されたエンティティのためにデスクトップ配置ルールを設定する権限が与えられていることを確認する。権限のこの判定は、少なくともある程度、ブロック802にて受信されたユーザ認証情報に基づいて行われ得る。さらに、場合によっては、権限の判定は、エンティティでのユーザの部署、役割、又は職位など、ユーザに関連したメタデータに基づいて行われ得る。
ブロック810にて、対応するコンピューティング環境114は、ユーザに関連した1つ以上のデータセンタ類102を識別する。あるいは又はさらに、対応するコンピューティング環境114は、デスクトップ配置ルールに基づいて1つ以上のデータセンタ類102を識別し得る。一部の実施形態では、ブロック810は、随意的である。例えば、デスクトップ配置ルールは、対応するコンピューティング環境114の全てのデータセンタ類102についてデスクトップ配置ルールを指定し得る。
ブロック812にて、対応するコンピューティング環境114は、デスクトップ配置ルールをブロック810にて識別された1つ以上のデータセンタ類102のエンティティと関連づける。デスクトップ配置ルールを1つ以上のデータセンタ類102のエンティティと関連づけることは、デスクトップ配置ルールをブロック810にて識別された各データセンタ102のデータセンタリポジトリ332にて記憶することを含むことができる。さらに、場合によっては、ブロック812は、デスクトップ配置ルールを管理コンピュータ304に提供することを含むことができる。
XI.例示的なデスクトッププロビジョニングプロセス
図9は、デスクトッププロビジョニングプロセス900の実施例を例示する。プロセス900は、少なくともある程度、データセンタ102のコンピューティングシステム(例えば、データセンタコンピュータ302)上でインスタンスを配置することができる任意のシステムによって実行することができる。例えば、プロセス900は、全部、一部を問わず、少し例を挙げれば、PESプラットフォーム120、対応するコンピューティング環境114、データセンタ102、管理コンピュータ304、管理コンポーネント310、及び、配置コンポーネント314によって実行することができる。任意の数のシステムが、全部、一部を問わず、プロセス900を実行することができるが、論じる内容を簡素化するために、プロセス900の部分を特定のシステムを特定のシステムを参照して説明する。
図9を仮想デスクトップ及びデスクトップインスタンスを参照して説明するが、プロセス900は、この点を踏まえて有限ではない。プロセス900は、例えば、アプリケーション、ストレージフォルダなどを含む、データセンタ102のコンピューティングシステムにてインスタンス化する任意の形式のインスタンスを配置するために使用することができる。
プロセス900は、例えば、管理コンピュータ304が、仮想デスクトップセッションへのアクセスを取得する要求をユーザコンピューティングシステム104から受信するブロック902にて始まる。要求は、ユーザ又はアプリケーションから受信され得る。先述したように、要求は、仮想デスクトップに限定されない。例えば、要求は、アプリケーションのインスタンスへのアクセス用であり得る。
ブロック904にて、管理コンポーネント310は、ユーザコンピューティングシステム104に関連したユーザを識別する。管理コンポーネント310は、ブロック902にて要求と共に受信された認証情報に基づいてユーザを識別し得る。あるいは又はさらに、管理コンポーネント310は、ユーザコンピューティングシステム104に関連したIPアドレス又は名前など、ユーザコンピューティングシステム104に関連したメタデータに基づいてユーザを識別し得る。場合によっては、ユーザを識別する代わりに、又は、それに加えて、管理コンポーネント310は、ユーザに関連したエンティティ、部署、又は、他のグループを識別し得る。一部の実施形態では、ブロック904は、随意的である。例えば、デスクトップインスタンスのプロビジョニングは、データセンタ102の各データセンタコンピュータ302の利用の目安、又は、要求側ユーザ又は関連のエンティティの識別を必要としない任意の他の因子などに基づき得る。
判断ブロック906にて、配置コンポーネント314は、ユーザに関連したアクティブデスクトップインスタンス306が存在するか否かを判定する。アクティブインスタンス306は、データセンタコンピュータ302で稼動している、つまり、目下実行されているインスタンスを含み得る。さらに、場合によっては、アクティブインスタンス306は、データセンタコンピュータ302にてキャッシュされたインスタンスを含み得る。配置コンポーネント314がユーザに関連したアクティブデスクトップが存在すると判定した場合、配置コンポーネント314は、ブロック908にて、既存のデスクトップインスタンス306に対応するデータセンタコンピュータ302での既存のデスクトップインスタンス306へのアクセスをユーザに提供し得る。
一部の実施形態では、判断ブロック906及びブロック908の1つ以上は、随意的であり得る。例えば、要求側ユーザが新しいユーザであるか、又は、ブロック902にて受信された要求が明示的に新しいデスクトップインスタンスを要求する場合、判断ブロック906は随意的であり得る。別の実施例として、既存のデスクトップインスタンス306に対応しているデータセンタコンピュータ302への負荷、又は、該データセンタコンピュータの利用が閾値を超えた(例えば、データセンタコンピュータ302にアクセスする更なるユーザのため)場合、ユーザは既存のデスクトップインスタンスへのアクセスを許可され得ないので、ブロック908は随意的であり得る。あるいは、既存のデスクトップインスタンスは、ブロック908の一部として別のデータセンタコンピュータ302に転送され得、その結果、ユーザは、最初に閾値負荷又は利用を満たす既存のデスクトップインスタンスに対応したデータセンタコンピュータ302にもかかわらず、既存のデスクトップインスタンスへのアクセスを取得することができる。
配置コンポーネント314がユーザに関連したアクティブデスクトップが存在しないと判定した場合、管理コンポーネント310は、ブロック910にてユーザに関連したメタデータを識別する。あるいは又はさらに、管理コンポーネントは、ユーザコンピューティングシステム104に関連したメタデータを識別する。一部の実施形態では、管理コンポーネント310は、エンティティでのユーザの役割、職位、部署など、ユーザに関連した情報を取得するためにディレクトリにアクセスすることによってメタデータを識別する。このディレクトリは、ライトウェイトディレクトリアクセスプロトコル(LDAP)、又は、分散型ディレクトリにアクセスして維持する任意の他の既知のアプリケーションプロトコルを使用して実行及び/又はアクセスされ得る。場合によっては、ディレクトリは、データセンタリポジトリ332にて記憶され得る。一部の実施形態では、メタデータは、計算リソースのユーザの使用に関連したユーザプロファイル情報を含み得る。例えば、ユーザプロファイルは、ユーザがグラフィック重視であるいくつかのアプリケーション(例えば、アニメーションプログラム、モデリングプログラムなど)を利用するか否かを示し得る。第2の実施例として、ユーザプロファイルは、ユーザは、そのユーザを雇用するエンティティに属する他のユーザ、又は、データセンタ102の他のユーザと比較して多くのデータを生成して、したがって、他のユーザよりも多くの記憶空間を必要とし得ることを示し得る。
ブロック912にて、管理コンポーネント310は、ブロック910にて取得されたメタデータに基づいて、デスクトップ配置ルールを識別する。これらのデスクトップ配置ルールは、データセンタリポジトリ332からアクセスされ得る。例えば、ユーザが仲介エンティティにて貿易部署に属すると識別された場合、管理コンポーネント310は、仲介エンティティの貿易部署に関連したデスクトップ配置ルールを検索し得る。
配置コンポーネント314は、ブロック914にてデスクトップ配置ルールに基づいてデータセンタコンピュータ302を識別する。図8に関して先に説明したように、デスクトップ配置ルールは、インスタンス(例えば、仮想デスクトップインスタンス)に対応し及び/又は計算リソースをユーザに提供するためにデータセンタ102のデータセンタコンピュータ302を選択する任意のルールを含み得る。例えば、デスクトップ配置ルールは、データセンタコンピュータはエンティティの部署から二人以上の従業員に対応しないと指定し得る。第2の実施例として、デスクトップ配置ルールは、特定の部署又は特定のエンティティが同じデータセンタコンピュータ302へのアクセスを共有しないと指定し得る。一部の実施形態では、配置コンポーネント314は、データセンタコンピュータ302を識別することを容易にするために、ユーザの使用プロファイルを使用することができる。
一部の実施形態では、配置コンポーネント314は、データセンタコンピュータ302を識別することを容易にするためにデータセンタリソース割り当てシステム330を使用し得る。例えば、配置コンポーネント314は、データセンタコンピュータ容量識別モジュール452を使用して、データセンタコンピュータ302の利用可能な容量を識別し得る。第2の実施例として、配置コンポーネント314は、インスタンス利用モジュール454を使用してデータセンタコンピュータ302での更なるインスタンスの利用可能性を判定し得る。さらに、配置コンポーネント314は、アプリケーションリソース識別モジュール458を使用して、データセンタコンピュータ302がユーザによって要求されたか、又は、仮想デスクトップインスタンスの構成のデスクトップ配置ルールの一部として指定されたアプリケーションリソースへのアクセスを有するか否かを判定し得る。
データセンタコンピュータ302が選択されると、配置コンポーネント314は、ブロック916にて識別されたデータセンタコンピュータ302上でデスクトップインスタンスを作成する。場合によっては、デスクトップインスタンスの作成は、デスクトップ配置ルールに基づき得る。例えば、デスクトップ配置ルールは、デスクトップインスタンス(例えば、デスクトップインスタンスのために割り当てられる記憶量、又は、デスクトップインスタンスを介したアクセスのために予め構成されるアプリケーション)の構成を指定し得る。
ブロック918にて、管理コンポーネント310は、ユーザにデスクトップインスタンスへのアクセスを提供する。一部の実施形態では、ブロック918は、デスクトップインスタンスの作成及び/又はデスクトップインスタンスへのアクセスを記録することをさらに含み得る。さらに、場合によっては、別のユーザ(例えば、管理者)は、デスクトップインスタンスの作成及び/又はデスクインスタンスへのアクセスを知らされ得る。
XII.例示的なアプリケーションアクセスプロセス
図10は、PESプラットフォーム120のデータセンタから入手可能であるアプリケーションにアクセスするプロセスの実施形態を例示する。図1Bで先述したように、各データセンタは、いくつかの仮想デスクトップインスタンスを実行するように構成可能な1つ以上の物理コンピューティングシステムを含む。各仮想デスクトップインスタンスは、Microsoft Windows(登録商標)オペレーティングシステム、MAC OS(登録商標)オペレーティングシステム、Linuxオペレーティングシステム、Oracle(登録商標)Solarisオペレーティングシステムなど、オペレーティングシステムを含み得る。各仮想デスクトップインスタンス内に含まれたオペレーティングシステムは、1つ以上のアプリケーションをアプリケーション市場130において実行するように構成され得る。仮想デスクトップインスタンスは、ネットワークを介してPESのユーザによってアクセスされ得る。さらに、PESのユーザは、アプリケーション、又は、仮想デスクトップインスタンスを市場インターフェース212を介してアプリケーション市場130において検索し得る。
例示する実施形態では、プロセス1000は、アプリケーション市場130へのアクセスをPESのユーザに関連したユーザコンピューティングデバイスに提供するブロック1002にて始まる。アプリケーション市場にアクセスするユーザコンピューティングデバイスは、市場インターフェース212を介して仮想デスクトップインスタンスによって実行されるアプリケーションを検索し得る。例えば、ユーザは、アプリケーション市場130において市場インターフェース212を介してMatlab(登録商標)ソフトウェアのLinuxバージョンを検索し得る。
プロセス1000は、ブロック1004に引き続き進んで、ユーザコンピューティングデバイスから仮想デスクトップインスタンス上でアプリケーションにアクセスする要求をユーザから受信する。要求は、アプリケーション市場130を介してユーザによって行われ得る。先に参照した実施例では、ユーザは、Matlab(登録商標)ソフトウェアのLinuxバージョンへのアクセスを要求し得る。ユーザの仮想デスクトップインスタンスは、少なくともLinuxオペレーティングシステムと、Matlab(登録商標)ソフトウェアとを含み得る。
プロセス1000は、ブロック1006に引き続き進んで、ユーザコンピューティングデバイスに関連したメタデータにアクセスする。メタデータは、ユーザがユーザコンピューティングデバイス上でPESからアプリケーションにアクセスする権限が与えられているか否かを示し得る。例えば、ユーザコンピューティングデバイスに関連したメタデータは、ユーザが会社内に位置するデスクトップPCを目下使用していることを示し得、ユーザのPESアカウントに関連したセキュリティ設定及びアプリケーション市場優先事項に従って、ユーザは、会社内のデスクトップPCからMatlab(登録商標)ソフトウェアにアクセスする権限が与えられている。別の実施例では、別のユーザコンピューティングデバイスに関連したメタデータは、ユーザがスマートフォンから仮想デスクトップインスタンスにアクセスしていることを示し得、ユーザのPESアカウントに関連したセキュリティ設定及びアプリケーション市場優先事項に従って、ユーザがMatlab(登録商標)ソフトウェアに自身のスマートフォンからアクセスする権限が与えられていない。一部の実施形態では、メタデータは、例えば、ユーザのアプリケーション市場アカウント、アカウント形式、アクセスレベル、ユーザが使用しているデバイスの形式の名前(タブレット、デスクトップコンピュータなど)、メディアアクセス制御(MAC)アドレス、ユーザの場所、ユーザのドメイン、ユーザがアプリケーション市場130にアクセスしているのが住宅用インターネットを介してか、又は、ユーザの雇用主によって提供された接続を介してか、及び/又はユーザは、アプリケーション市場130にアクセスするためにプロキシを使用しているか否かなどの情報を含み得る。
プロセス1000は、少なくともある程度メタデータに基づいて、ユーザがユーザコンピューティングデバイス上でアプリケーションにアクセスする権限が与えられているか否かを判定するために判断ブロック1008に引き続き進む。一部の実施形態では、ユーザがアプリケーションにアクセスする権限が与えられているか否かを判定することは、アプリケーションがユーザに関連するか、又は、ユーザの仮想デスクトップインスタンスが位置するデータセンタ102でのアクセスに利用可能であるか否かを判定することを含み得る。場合によっては、アプリケーションのコピーがユーザの仮想デスクトップインスタンスが位置するデータセンタ102にて利用可能ではない場合、データセンタ102の管理コンピュータ304は、アプリケーションのコピーをPESプラットフォーム120に要求し得る。あるいは、ユーザはアプリケーションへのアクセスを拒絶され得る。ユーザがアプリケーションにアクセスする権限が与えられていない場合、プロセス1000は終了する。
しかしながら、ユーザがアプリケーションにアクセスする権限が与えられている場合、プロセスは、ブロック1010に引き続き進んで、仮想デスクトップインスタンス上で実行されるようにアプリケーションを構成する。アプリケーションは、オペレーティングシステム、又は、ユーザ及びアプリケーション市場130による他の設定に好適であるように構成され得る。一部の実施形態では、アプリケーションはPESプラットフォーム120においてデータセンタ102内の物理コンピューティングシステム上に常駐し得、物理コンピューティングシステムは、ユーザが接続される物理コンピューティングシステムと異なる場合がある。場合によっては、アプリケーションは、アプリケーションリポジトリ220にあり得る。場合によっては、アプリケーションの一部又は全部のコピーは、ユーザが接続される物理コンピューティングシステムにダウンロードされ得る。
プロセスは、ブロック1012に引き続き進んで、アプリケーションを仮想デスクトップインスタンスから実行させる。プロセスは、その後、ブロック1014に引き続き進んで、少なくとも仮想デスクトップインスタンスからの一部のアプリケーションへのアクセスをユーザコンピューティングデバイスに提供する。
一部の実施形態では、アプリケーションのユーザインターフェースのみが、ユーザのコンピューティングデバイスに提供され、ユーザインターフェースは、ユーザコンピューティングデバイスからの入力を受理して、アプリケーションにユーザ入力を提供する。一部の他の実施形態では、ユーザのコンピューティングデバイスに提供されるアプリケーションの部分は、アプリケーションのコピー全体であり得る。例えば、上記のユースケースでは、Matlab(登録商標)ソフトウェア全体が、ユーザのコンピューティングデバイスに提供され得る。一部の他の実例では、少なくともアプリケーションの一部へのアクセスを提供することは、アプリケーションの一部をユーザコンピューティングデバイスに配信する(例えば、ストリーミング)ことを含み得る。例えば、上記のユースケースでは、Matlab(登録商標)ソフトウェア及びMatlabソフトウェアのインターフェースにおいてユーザによって目下使用されているライブラリのみが、ユーザコンピューティングデバイスに提供される。
別の実施例では、少なくとも一部のアプリケーションへのアクセスを提供することは、ローカル仮想デスクトップインスタンスをコンピューティングインスタンスにストリーミングすることを含み得る。ローカル仮想デスクトップインスタンスは、ユーザコンピューティングデバイス上でアプリケーションを実行するように構成することができる。例えば、ユーザコンピューティングデバイスは、Linuxオペレーティングシステムと、Linuxオペレーティングシステム上で実行中であるアプリケーション(Matlab(登録商標)ソフトウェア)とを含む仮想デスクトップインスタンスを受信し得る。他の実施形態では、仮想マシン又はコンテナは、ユーザコンピューティングシステム104へストリーミングされ得る。この仮想マシン又はコンテナは、ユーザコンピューティングシステム104へストリーミングされるとき、及び/又は、アプリケーションのストリーミングが完了した後にアプリケーションを実行するように構成され得る。特定の実施形態では、ユーザコンピューティングシステム104へストリーミングされるアプリケーションの仮想マシン、コンテナ及び/又は任意の部分は、ユーザがアプリケーションを使用する現行セッションを完了した後にユーザコンピューティングシステム104から除去される。有利なことに、特定の実施形態では、アプリケーション、又は、その一部をユーザコンピューティングシステム104にストリーミングし、その後、使用セッションが完了するとアプリケーション、又は、その一部を除去することによって、ユーザは、アプリケーションを使用する一時的なライセンスを購入することができる。さらに、ユーザは、通常、例えば、ユーザコンピューティングシステム104の記憶空間制約、メモリ制約、グラフィクス制約、又は、他のハードウェア及び/又はソフトウェア制約のためにアプリケーションを実行することができない恐れがあるユーザコンピューティングシステム104上でアプリケーションを使用し得る。使用セッションは、アプリケーションの単一の使用期間、又は、アプリケーションのレンタル又はライセンシング期間を含むことができる。他の場合では、使用セッションは、アプリケーションがユーザコンピューティングシステム104へストリーミングされるときに始まり、ユーザコンピューティングシステム104がデータセンタ102にて対応されるデータセンタ102及び/又はインスタンスから切り離されたときに終了する期間を含み得る。
本開示によるアプリケーション市場130は、仮想デスクトップインスタンス上で実行されるアプリケーションの代金を支払うためのユーザ向けの様々なオプションを提供し得る。例えば、ユーザは、自分が興味があるアプリケーションを購入、レンタル、又は使用許諾することを選び得る。場合によっては、ユーザのグループが、グループライセンスの代金を支払うことを選び得る。したがって、一部の状況では、ユーザがユーザコンピューティングデバイス上でアプリケーションにアクセスするように構成されるか否かを判定するために使用されたメタデータは、ユーザがアプリケーション市場130からアプリケーションを購入、レンタル、又は、使用許諾したか否かを含み得る。アプリケーション市場130の請求システム218は、アプリケーション市場から入手可能であるアプリケーション、オペレーティングシステム、仮想デスクトップなどの購入、レンタル、又は、ライセンシングを管理するように構成することができる。
ユーザがアプリケーションを購入する代わりにレンタルするか又は使用許諾することを選んだ場合、アプリケーション市場130はレンタル又はライセンス期間の終了前にユーザに通知し得る。通知は、ある期間についてユーザがレンタル又はライセンス契約を更新するオプション、及び、ソフトウェアを購入するオプションを含み得る。一部の実施形態では、レンタル期間の満了時に、ユーザのアプリケーションに対応するデータセンタコンピュータ302は、例えば、ユーザが更なるレンタル期間の代金を支払うのを辞退した場合にアプリケーションへアクセス継続を自動的に遮断し得る。一部のそのような場合、データセンタコンピュータ302は、ユーザに関連した仮想デスクトップインスタンスからアクセス可能であり得るユーザに関連した記憶デバイス及び/又はフォルダ(例えば、クラウドフォルダ)にユーザデータを自動的に保存し得る。さらに、場合によっては、データは、1つ以上のユーザコンピューティングシステム104に自動的に同期され得る。
XIII.例示的なファイル同期システム
文書を同期させるために、PESプラットフォーム120は、図11に示すファイル同期システム1100を実行することができる。例示する実施形態では、ファイル同期システム1100は、接続性モジュール1102と、同期モジュール1104と、ファイルアクセスモジュール1106とを含む。接続性モジュール1102は、PESとユーザのコンピューティングデバイスとの間の接続を確立するために使用することができる。以下で論じるように、一部の実行例では、PESとユーザのコンピューティングデバイスとの間の接続性は、双方向である。一部のそのような実行例では、PESとコンピューティングデバイスとの間の双方向接続は、仮想デスクトップインスタンスへのアクセスを配信してPESとコンピューティングデバイスとの間でファイルを同期させるために使用される。引き続き上記の実施例〜については、ファイルアクセスモジュール1106は、タブレット装置に関連したメタデータに基づいて、該装置は特定のWord文書にアクセス及び修正する権限が与えられたコンピューティングデバイスであると判定し得る。したがって、タブレット装置は、Word文書の同期コピーを維持する権限が与えられており、該同期コピーは、タブレット装置がインターネット接続を有しないときにさえユーザがアクセス可能であり得る。例えば、ユーザがWord文書を編集しているとき、タブレット装置は、PESにネットワーク接続を失うことがあり得る。しかしながら、ファイルは、タブレット装置と同期されるように構成されるので、ネットワーク接続が失われている間に行われた修正は、同期モジュール1104を介してPESプラットフォーム120上で遠隔操作にて記憶されたファイルのコピーと同期させることができる。例えば、ファイルの修正は、ユーザコンピューティングデバイス上でローカルに記憶され得、ネットワーク接続性が再開したとき、修正は、PESプラットフォーム上に記憶されたファイルとの同期のために同期モジュール1104に伝達することができる。
ユーザは、その後、タクシーに乗っている間にスマートフォンからPESとの接続を介して同じ文書を編集しようとし得る。スマートフォンが紛失しやすいことから、ユーザ(又は、雇用主など、ユーザに関連したエンティティ)は、特定の装置上で、又は、ユーザが特定の位置(例えば、輸出制限又は規制を実行するため)にいるときには特定の文書へのアクセスを制限し得る。したがって、この実施例では、ファイルアクセスモジュール1106は、スマートフォン又はユーザの場所に関連したメタデータに基づいて、ユーザは、タクシー内でスマートフォンからファイルの内容を変更する権限が与えられていないと判定し得る。したがって、ユーザがスマートフォンから行おうとした変更は、PESプラットフォーム120によって記憶されず及び/又はスマートフォン上でローカルに記憶されない。
別の実施例では、ユーザは、PESプラットフォーム120上の仮想デスクトップインスタンスを介して会社のデスクトップPC上の重要なCAD図を編集し得る。ユーザが会社PCをシャットダウンした後、CAD図に行った編集は、PESプラットフォーム120上に記憶される。ユーザは、自宅でラップトップコンピュータをオンにして、ローカルに記憶されたCAD図の同期コピーを編集しようとし得る。ファイルアクセスモジュール1106は、CAD図及び/又はユーザのラップトップコンピュータに関連したメタデータに基づいて、ユーザが直接にラップトップコンピュータからCAD図を修正する権限が与えられていないと判定し得る。しかしながら、ファイルアクセスモジュール1106は、ユーザはPES上の仮想デスクトップインスタンスを介してCAD図を編集する権限が与えられていると判定し得る。これは、CAD図が仮想デスクトップインスタンスから編集可能であり得るにすぎないことを意味する。したがって、ユーザがラップトップコンピュータから直接にCAD図の同期コピーに行おうとした変更のいずれもPESプラットフォーム120によって記憶することができない。しかしながら、ユーザがラップトップから接続性モジュール1102を介して仮想デスクトップインスタンスに接続する権限が与えられ、かつ、CAD図を編集するプログラムを仮想デスクトップインスタンスから実行する場合、仮想デスクトップインスタンスとの接続を介して図面を編集することが可能にされ得る。
XIV.第一の例示的なファイル同期プロセス
図12は、PESプラットフォーム120の制御下のファイル同期システム1100を使用するファイルの同期プロセスの実施例を例示する。例示する実施形態では、プロセス1200は、接続性モジュール1102が、PESとユーザのコンピューティングデバイスとの間の接続(双方向性であり得る)を形成するブロック1202にて始まる。プロセスは、引き続き、ブロック1204に進み、PESプラットフォーム120は、ファイルをPESプラットフォーム120上で修正する要求をコンピューティングデバイスから受信する。プロセスは、引き続き、ブロック1206に進み、PESプラットフォーム120は、ファイルアクセスモジュール1106を使用してファイルメタデータにアクセスする。この例示する実施形態では、ファイルメタデータは、ファイルをコンピューティングデバイスなどと同期させることができるか否かを示す設定を含み得る。
プロセスは、引き続き、ブロック1208に進み、少なくともファイルメタデータに基づいて、ファイルがコンピューティングデバイスと同期されるように構成されているか否かを判定する。一部の実施形態では、このステップは、ファイルアクセスモジュール508によって実行され得る。ファイルがコンピューティングデバイスと同期されるように構成されていない場合、プロセス1200は終了する。しかしながら、ファイルがコンピューティングデバイスと同期させることができると判定された場合、プロセス1200は、引き続き、ブロック1210に進み、ブロック1202内に形成された双方向接続を使用してファイルを同期モジュール1104によってコンピューティングデバイスと同期させる。プロセスは、ブロック1210後に終了する。
場合によっては、ユーザは、仮想デスクトップインスタンス上で実行されるように構成されるアプリケーションを介してファイルを同期させるか、又は、修正する必要があり得る。例えば、ユーザは、Linuxオペレーティングシステムと、Matlab(登録商標)ソフトウェアとを含む仮想デスクトップインスタンスを構成したと考えられる。ユーザは、Matlab(登録商標)プログラム、及び、様々なコンピューティングデバイス上で作製したシミュレーションを同期させることを望み得る。ユーザが仮想デスクトップインスタンスを介してPESプラットフォーム120への既存の接続を既に有する場合、ユーザは、特定形式のファイルを修正又は開くことができるプログラムをローカルに有する必要はないと考えられる。
XV.第二の例示的なファイル同期プロセス
図13は、データセンタでの仮想デスクトップインスタンスとの既存の接続を介したファイルの同期プロセスの実施例を例示する。この実施形態では、プロセス1300は、PES内の仮想デスクトップインスタンス上のアプリケーションへのアクセスが、接続性モジュール1102によって提供されるブロック1302にて始まる。プロセス1300は、引き続き、ブロック1304に進み、PESは、仮想デスクトップインスタンス上のアプリケーションを介してファイルを修正する要求をコンピューティングデバイスから受信し得る。プロセス1300は、引き続き、ブロック1306に進み、PESは、ファイルアクセスモジュール1106を介してファイルメタデータにアクセスする。ファイルメタデータは、ファイルが、例えば、第1のコンピューティングデバイスによって修正されるように構成されているか否かを示し得る。
プロセス1300は、引き続き、ブロック1308に進み、ファイルがコンピューティングデバイスによって修正されるように構成されているか否かを判定する。上記で論じたユースケースでは、Matlab(登録商標)プログラムが、ユーザのデスクトップコンピュータ、ラップトップコンピュータと同期されるように構成され得るが、タブレット装置は対象外である。別の実施例では、ユーザは、海外の営業会議に旅立ち得、Matlab(登録商標)シミュレーションは、会議中に容易に見せることができるように自分のタブレット装置と同期させるように構成され得る。場合によっては、ファイルは、ユーザコンピューティングデバイスと同期されるように構成され得るが、ユーザコンピューティングデバイスによってローカルに編集可能ではあり得ない。これらの場合、ファイルは仮想デスクトップインスタンスを介してのみ編集可能であるように構成され得る。したがって、メタデータは、特定のコンピューティングデバイスがファイルを修正する権限が与えられているか否かを判定し、権限が与えられている場合、PESにより記憶されるファイルのコピーは、ユーザによって行われたファイルの修正を反映するために同期されるべきか否かを判定するために使用され得る。
ファイルがコンピューティングデバイスによって修正されるように構成されていない場合、プロセス1300は終了する。しかしながら、ファイルアクセスモジュール1106がファイルはコンピューティングデバイスによって修正されるように構成されていると判定した場合、プロセス1300は、ブロック1310に引き続き進み、ファイルを仮想デスクトップ上のアプリケーションを介してコンピューティングデバイスによって修正することを可能にする。仮想デスクトップ上のアプリケーションを介してコンピューティングデバイスによって行われた修正は、PESによって同期及び記憶される。プロセスは、ブロック1310後に終了する。例えば、Matlab(登録商標)シミュレーションファイルは、ユーザのタブレット装置と同期され、かつ、仮想デスクトップインスタンスを介してタブレット装置によって修正されるように構成され得る。ユーザがPESプラットフォーム120上の仮想デスクトップインスタンス上でMatlab(登録商標)シミュレーションファイルの変更を行った後、シミュレーションファイルのアップデートは、タブレット装置に同期され、また、PESプラットフォーム120上の仮想デスクトップインスタンスに接続され得る。ファイルが、また、仮想デスクトップインスタンスとの接続を介してタブレット装置によって修正されるように構成される場合、ユーザは、タブレット装置からファイルを修正し得る。ユーザが行った修正は、他の権限が与えられているコンピューティングデバイスとPESによって同期されることになる。一部の実施形態では、ユーザは、タブレット装置上のネットワーク接続の有無を問わずファイルの同期されたローカルコピーを見得る。
場合によっては、2つ以上のコンピューティングデバイスが、ファイルの同期コピーを維持するように構成され得る。また、場合によっては、ファイルの2つ以上のバージョンが記憶されるように構成され得る。例えば、ユーザは、Matlab(登録商標)シミュレーションファイルの変更をオフィスコンピュータから行なうことができ、該オフィスコンピュータは、Matlab(登録商標)ソフトウェアを実行する仮想デスクトップインスタンスに接続される。更新ファイルをテストした後、ユーザは自分が行ったばかりの変更を元に戻すことを決心し得る。ユーザは、自分が行った全ての変更なしで前バージョンであるシミュレーションファイルの同期コピーを維持することを選び得る。別の実施例では、ユーザは、ラップトップ上で営業会議用の最も安定したバージョンであるMatlab(登録商標)シミュレーションのバージョンを同期させることを選び得る。ユーザは、最新バージョンを同期させないことを選び得る。その代わりに、ユーザは、ラップトップコンピュータに維持したいと思うファイルのバージョンを指定し得る。特定のコンピューティングデバイスに維持したいと思うバージョンを選ぶことができるように、ファイルの複数のバージョンが、ユーザに提供され得る。
一部の実施形態では、同じファイルの複数のバージョンの違いが、ユーザに提示され得、これは、ユーザがファイルのどのバージョンをコンピューティングデバイス上に維持したらよいかを決める際にユーザの手助けとなることができる。
XVI.実施形態
本開示の実施形態は、以下の条項に照らして説明することができる。
[条項1]
データセンタでのリソース割り当てを計算する方法であって、
いくつかのデータセンタを含むプログラム実行サービス(PES)プラットフォームの制御下で、各データセンタは、ユーザに1つ以上のコンピューティングシステムの少なくとも1つによって対応された計算ノードへのアクセスを提供するように構成可能な1つ以上のコンピューティングシステムを含み、計算ノードは、ユーザがPESプラットフォームによって提供された複数のサービスにアクセスすることを可能にする仮想デスクトップを含み、
ユーザのコンピューティングデバイスから計算ノードへのアクセスを取得する要求をPESプラットフォームのデータセンタにて受信することと、
コンピューティングデバイスに関連したユーザを識別することと、
ユーザのアイデンティティに少なくとも部分的に基づいてユーザに関連したユーザメタデータにアクセスすることと、
ユーザメタデータに少なくとも部分的に基づいて1組のリソース配置ルールを選択することであって、1組のリソース配置ルールは、1組のユーザ上に及ぼすコンピューティングシステム故障の影響を低減するように選択され、1組のユーザは、ユーザを含む、選択することと、
1組のリソース配置ルールに少なくとも部分的に基づいてコンピューティングシステムをデータセンタの1つ以上のコンピューティングシステムから識別することと、
コンピューティングシステム上でユーザに計算ノードへのアクセスを提供すること、
を含む方法。
[条項2]
コンピューティングシステム上でユーザに計算ノードへのアクセスを提供することは、
コンピューティングシステム上で計算ノードのインスタンスを作成することと、
コンピューティングシステム上でユーザに計算ノードのインスタンスへのアクセスを提供することを含む、条項1に記載の方法。
[条項3]
ユーザに関連した計算ノードのアクティブインスタンスが存在するか否かを判定することとをさらに含む、
ユーザに関連したアクティブインスタンスが存在すると判定することに応答して、
この方法は、
アクティブインスタンスを含む第2のコンピューティングシステムを識別することと、
第2のコンピューティングシステムがその1組のリソース配置ルールを満たすか否かを判定することとをさらに含み、コンピューティングシステムをデータセンタの1つ以上のコンピューティングシステムから識別することは、第2のコンピューティングシステムがその1組のリソース配置ルールを満たすと判定することに応答して第2のコンピューティングシステムを識別することを含む、条項1に記載の方法。
[条項4]
データセンタでのリソース割り当てを計算するシステムであって、
各々、1人以上のユーザに1つ以上の計算リソースを提供するように構成可能な1つ以上のコンピューティングシステムを含むいくつかのデータセンタを含むプログラム実行サービス(PES)プラットフォームと、
計算リソースへのアクセスを取得するために要求をユーザのコンピューティングデバイスから受信するように構成されたいくつかのデータセンタのデータセンタと、
コンピューティングデバイスに関連したユーザを識別し、
ユーザのアイデンティティに少なくとも部分的に基づいてユーザに関連したユーザメタデータにアクセスして、
ユーザメタデータに少なくとも部分的に基づいて1組のリソース配置ルールを選択するように構成された管理コンポーネントと、
1組のリソース配置ルールに少なくとも部分的に基づいてコンピューティングシステムをデータセンタの1つ以上のコンピューティングシステムから識別するように構成された配置コンポーネントと、
を含み、
管理コンポーネントは、さらに、コンピューティングシステム上でユーザに計算リソースへのアクセスを提供するように構成される、システム。
[条項5]
配置コンポーネントは、さらに、コンピューティングシステム上で計算リソースのインスタンスを作成するように構成される、条項4に記載されたシステム。
[条項6]
ユーザに計算リソースへのアクセスを提供することは、コンピューティングシステム上でユーザに計算リソースのインスタンスへのアクセスを提供することを含む、条項5に記載されたシステム。
[条項7]
配置コンポーネントは、さらに、ユーザに関連した計算リソースのアクティブインスタンスが存在するか否かを判定するように構成される、条項4に記載されたシステム。
[条項8]
配置コンポーネントは、さらに、アクティブインスタンスを含む第2のコンピューティングシステムを識別し、かつ、第2のコンピューティングシステムが、ユーザに関連した計算リソースのアクティブインスタンスが存在すると判定することに応答して1組のリソース配置ルールを満たすか否かを判定するように構成される、条項7に記載されたシステム。
[条項9]
コンピューティングシステムをデータセンタの1つ以上のコンピューティングシステムから識別することは、第2のコンピューティングシステムがその1組のリソース配置ルールを満たすと判定することに応答して第2のコンピューティングシステムを識別することを含む、条項8に記載されたシステム。
[条項10]
計算リソースは、ユーザがPESプラットフォームによって提供された複数のサービスにアクセスすることを可能にする仮想デスクトップを含む、条項4に記載されたシステム。
[条項11]
計算リソースは、アプリケーションインスタンスを含む、条項4に記載されたシステム。
[条項12]
データセンタは、管理コンポーネントと、配置コンポーネントとを含む、条項4に記載されたシステム。
[条項13]
コンピューティングシステムにデータセンタにてリソース割り当てを計算する方法を実行するように指示するコンピュータ実行可能命令を含む固定物理コンピュータストレージであって、
この方法は、
計算リソースへのアクセスを取得する要求をプログラム実行サービス(PES)プラットフォームのデータセンタにて受信することであって、要求は、ユーザのコンピューティングデバイスから受信される、受信することと、
コンピューティングデバイスに関連したユーザを識別することと、
ユーザのアイデンティティに少なくとも部分的に基づいてユーザに関連したユーザメタデータにアクセスすることと、
ユーザメタデータに少なくとも部分的に基づいて1組のリソース配置ルールを選択するように構成された管理コンポーネントと、
1組のリソース配置ルールに少なくとも部分的に基づいてコンピューティングシステムをデータセンタの1つ以上のコンピューティングシステムから識別することと、
コンピューティングシステム上でユーザに計算ノードへのアクセスを提供すること、
を含む、固定物理コンピュータストレージ。
[条項14]
PESプラットフォームは、データセンタを含むいくつかのデータセンタを含み、各データセンタが、1人以上のユーザに1つ以上のコンピューティングシステムの少なくとも1つによって対応された1つ以上の計算リソースへのアクセスを提供するように構成可能な1つ以上のコンピューティングシステムを含む、条項13に記載された固定物理コンピュータストレージ。
[条項15]
コンピューティングシステム上でユーザに計算リソースへのアクセスを提供することは、
コンピューティングシステム上で計算ノードのインスタンスを作成することと、
コンピューティングシステム上でユーザに計算リソースのインスタンスへのアクセスを提供することを含む、条項13に記載された固定物理コンピュータストレージ。
[条項16]
この方法は、ユーザに関連した計算リソースのアクティブインスタンスが存在するか否かを判定することと、
をさらに含み、
ユーザに関連したアクティブインスタンスが存在すると判定することに応答して、
この本方法は、
アクティブインスタンスを含む第2のコンピューティングシステムを識別することと、
第2のコンピューティングシステムがその1組のリソース配置ルールを満たすか否かを判定することと、
をさらに含み、
コンピューティングシステムをデータセンタの1つ以上のコンピューティングシステムから識別することは、第2のコンピューティングシステムがその1組のリソース配置ルールを満たすと判定することに応答して第2のコンピューティングシステムを識別することを含む、条項13に記載された固定物理コンピュータストレージ。
[条項17]
計算リソースは、ユーザがPESプラットフォームによって提供された複数のサービスにアクセスすることを可能にする仮想デスクトップを含む、条項13に記載された固定物理コンピュータストレージ。
[条項18]
複数のサービスは、以下、即ち、アプリケーション、ファイル管理プログラム、又は、ファイルストレージの1つ以上を含む、条項17に記載された固定物理コンピュータストレージ。
[条項19]
計算リソースは、アプリケーションインスタンスを含む、条項13に記載された固定物理コンピュータストレージ。
[条項20]
リソース配置ルールは、リソースアクセスルールを含む、条項13に記載された固定物理コンピュータストレージ。
[条項21]
方法は、リソース配置ルールに少なくとも部分的に基づいて計算リソースを構成することをさらに含む、条項13に記載された固定物理コンピュータストレージ。
[条項22]
ユーザメタデータは、ユーザに関連したエンティティのアイデンティティを含み、ユーザメタデータに少なくとも部分的に基づいて1組のリソース配置ルールを判定することは、エンティティのアイデンティティに少なくとも部分的に基づいて1組のリソース配置ルールを判定することを含む、条項13に記載された固定物理コンピュータストレージ。
XVII.用語
いくつかのコンピューティングシステムを本開示を通じて説明してきた。これらのシステムの説明は、本開示の教示、又は、適用可能性を制限するとは意図されていない。例えば、本明細書で説明するユーザシステムとしては、一般的に、少し例を挙げれば、デスクトップ、ラップトップ、テレビゲームプラットフォーム、テレビセットトップボックス、テレビ(例えば、インターネットTV)、電子制御電気製品、及び無線モバイル機器(例えばスマートフォン、PDA、タブレットなど)など、任意のコンピューティングデバイスを挙げることができる。さらに、本明細書で説明するユーザシステムは、異なる形式の装置であるか、異なるアプリケーションを含むか、又は、その他の方法で異なる方法で構成されることが可能である。さらに、本明細書で説明するユーザシステムは、任意の形式のオペレーティングシステム(「OS」)を含むことができる。例えば、本明細書で説明するモバイルコンピューティングシステムは、Android(商標)OS、Windows(登録商標)OS、Mac(登録商標)OS、Linux、又は、UNIXベースのOSなどを実装することができる。
さらに、例示するシステムの様々なコンポーネントの処理は、複数のマシン、ネットワーク、及び他の計算リソースにわたって分散させることができる。さらに、システムの2つ以上のコンポーネントをより少数のコンポーネントに結合することができる。例えば、データセンタリソース割り当てシステム330の一部として示す様々なシステムは、複数のコンピューティングシステムにわたって分散させるか、又は、又は、単一のコンピューティングシステムに結合することができる。さらに、例示するシステムの様々なコンポーネントは、専用コンピュータハードウェアシステムにおいてよりはむしろ、1つ以上の仮想マシンにおいて実装することができる。同様に、図示するデータリポジトリは、例えば、ストレージエリアネットワーク、又は、他の分散型ストレージシステムを含め、物理及び/又は論理データストレージを表すことができる。さらに、一部の実施形態では、図示するコンポーネント間の接続は、ハードウェア間の実際の接続よりもむしろデータフローの可能なパスを表す。可能な接続部の一部の実施例を図示するが、図示するコンポーネントのサブセットのいずれも、様々な実行例ではコンポーネントの任意の他のサブセットと通信することができる。
実施形態によっては、本明細書で説明する任意のアルゴリズム、方法、又は、プロセスの特定の行為、イベント、又は、機能は、異なるシーケンスで実行することができ、追加、統合、又は、全てまとめて省略することができる(例えば、全ての説明する行為、又は、イベントが、アルゴリズムの実践に必要であるというわけではない)。さらに、特定の実施形態では、行為、又は、イベントは、順次によりもむしろ、同時に、例えば、マルチスレッド型処理、割込み処理、又は、複数のプロセッサ、又は、プロセッサコアを介して、又は、他の並列のアーキテクチャ上で実行することができる。
様々な例示するシステムの各々は、本明細書で説明する様々な機能を実行するようにプログラム及び構成されるコンピューティングシステムとして実装され得る。コンピューティングシステムは、説明する機能を実行するためにネットワークで通信及び相互運用する複数の異なったコンピュータ、又は、コンピューティングデバイス(例えば、物理サーバ、ワークステーション、ストレージアレイなど)を含み得る。各々のそのようなコンピューティングデバイスは、典型的には、メモリ又は他の固定コンピュータ可読記憶媒体内に記憶されたプログラム命令又はモジュールを実行するプロセッサ(又は、マルチプロセッサ)を含む。本明細書で開示する様々な機能は、そのようなプログラム命令において実施され得るが、開示する機能の一部又は全部は、代替的にコンピュータシステムの特定用途向け回路(例えば、ASIC又はFPGA)において実行され得る。コンピューティングシステムが複数のコンピューティングデバイスを含む場合、これらの装置は、同じ位置に配置され得るが同じ位置に配置される必要はない。開示する方法及びタスクの結果は、ソリッドステートメモリーチップ及び/又は磁気ディスクなど物理記憶装置を異なる状態に変換することによって持続的に記憶され得る。説明する各プロセスは、関連のサーバコードでプログラムされる1つ以上の物理サーバなど1つ以上のコンピューティングデバイスによって実行され得る。
とりわけ、「〜することができる」、「〜ことがあり得る」、「〜得る」、「例えば」など、本明細書で使用する条件付き言語は、特記がない限り、又は、使用時に前後関係において別段の理解の仕方がない限り、特定の実施形態が、特定特徴部、要素及び/又は段階を含むが、他の実施形態は含まないことを伝達することを一般的に意図する。したがって、そのような条件付き言語は、一般的に、特徴部、要素及び/又は段階が1つ又はそれ以上の実施形態に何らかの形で必要とされること、又は、1つ又はそれ以上の実施形態が、著者入力又はプロンプト表示の有無を問わず、これらの特徴部、要素及び/又は段階が任意の特定の実施形態においては含まれるか又は実行されるべきであるか否かを判断するための論理を必ず含むことを意味することを意図したものではない。「を備える」、「を含む」、「を有する」などの用語は、同義であり、かつ、制限なしに包括的に使用されており、更なる要素、特徴部、行為、作業などを除外するものではない。また、「又は」という用語は、例えば、要素のリストを関連づけるために使用するときには、「又は」という用語は、リスト内の要素の1つ、一部、又は、全てを意味するように、包括的な意味で(かつ、排他的な意味ではなく)使用している。さらに、不定冠詞「a」及び「an」は、特記がない限り、「1つ以上の」か、又は、「少なくとも1つの」を意味すると解釈するべきである。
語句「X、Y及びZの少なくとも1つ」などの結合言語は、特記がない限り、その他の方法で、項目、項などがX、Y、又はZであり得ることを伝えるために一般に使用されるように文脈と共に理解される。したがって、そのような結合言語は、一般的に、特定の実施形態がXの少なくとも1つ、Yの少なくとも1つ、及びZの少なくとも1つが各々存在することを必要とすることを意味すると意図されてはいない。
上記の詳細な説明では、様々な実施形態に適用されるように新奇な特徴を図示、説明及び指摘してきたが、例示する装置又はアルゴリズムの形又は詳細における様々な省略、置換、及び変更を本開示の精神から逸脱することなく行なうことができることが理解されるであろう。したがって、前述の説明におけるいかなるものも、任意の特定の特徴、特性、ステップ、モジュール、又は、ブロックが必要又は不可欠であることを意味するとは意図されていない。認識されるように、本明細書で説明するプロセスは、一部の特徴部を他とは別々には使用又は実践することができるように、本明細書で定める特徴及び利点の全てを提供するわけではない形態内で実施することができる。本発明の範囲は、前述の説明ではなく特許請求項の範囲により定義される。特許請求項の範囲の意味及び均等性の範囲に該当する全ての変更は、本発明の範囲内に包含されるべきである。

Claims (15)

  1. データセンタでのリソース割り当てを計算するシステムであって、前記システムは、プログラム実行サービス(PES)プラットフォームと、データセンタと、管理コンポーネントと、配置コンポーネントと、を備え、
    前記プログラム実行サービス(PES)プラットフォームは、複数のデータセンタを含み、各データセンタは、1つ以上の計算リソースを1人以上のユーザに提供するように構成可能な1つ以上のコンピューティングシステムを含み、
    前記複数のデータセンタのデータセンタは、ユーザのコンピューティングデバイスから、計算リソースへのアクセスを取得する要求を受信するように構成され、
    前記管理コンポーネントは、
    前記コンピューティングデバイスに関連した前記ユーザを識別し、
    前記ユーザのアイデンティティに少なくとも部分的に基づいて、前記ユーザに関連したユーザメタデータにアクセスし、
    前記ユーザメタデータに少なくとも部分的に基づいて、1組のリソース配置ルールを選択する、
    ように構成され、
    前記配置コンポーネントは、前記1組のリソース配置ルールに少なくとも部分的に基づいて、前記データセンタの1つ以上のコンピューティングシステムからコンピューティングシステムを識別するように構成され、
    前記1組のリソース配置ルールは、前記計算リソースにアクセスできるエンティティに関連した1組のユーザから、ユーザの百分率を制限する第1のルールと、前記データセンタの利用率に基づき、前記計算リソースの利用できるインスタンスをスケールする第2のルールと、を含み、
    前記管理コンポーネントは、前記コンピューティングシステム上で前記計算リソースへのアクセスを前記ユーザに提供するようにさらに構成され、
    前記1組のリソース配置ルールは、前記ユーザに関連した前記エンティティに関連付けられている、
    システム。
  2. 前記配置コンポーネントは、前記コンピューティングシステム上で前記計算リソースのインスタンスを作成するようにさらに構成される、
    請求項1に記載のシステム。
  3. 前記計算リソースへのアクセスを前記ユーザに提供することは、前記コンピューティングシステム上で前記計算リソースの前記インスタンスへのアクセスを前記ユーザに提供することを含む、
    請求項2に記載のシステム。
  4. 前記配置コンポーネントは、前記ユーザに関連した前記計算リソースのアクティブインスタンスが存在するか否かを判定するようにさらに構成される、
    請求項1に記載のシステム。
  5. 記ユーザに関連した前記計算リソースの前記アクティブインスタンスが存在すると判定することに応答して、前記アクティブインスタンスへのアクセスが提供される、
    請求項4に記載のシステム。
  6. 前記配置コンポーネントは、前記ユーザに関連した前記計算リソースの前記アクティブインスタンスが存在しないと判定することに応答して、前記計算リソースの新たなインスタンスを作成するようにさらに構成される、
    請求項4に記載のシステム。
  7. 前記計算リソースは、前記ユーザが前記プログラム実行サービス(PES)プラットフォームによって提供された複数のサービスにアクセスすることを可能にする仮想デスクトップを含む、
    請求項1に記載のシステム。
  8. 前記計算リソースは、アプリケーションインスタンスを含む、
    請求項1に記載のシステム。
  9. 前記データセンタは、前記管理コンポーネントと、前記配置コンポーネントと、を含む、
    請求項1に記載のシステム。
  10. 計算リソースへのアクセスを取得する要求であって、ユーザのコンピューティングデバイスから受信される要求を、プログラム実行サービス(PES)プラットフォームのデータセンタにて受信するステップと、
    前記コンピューティングデバイスに関連した前記ユーザを識別するステップと、
    前記ユーザのアイデンティティに少なくとも部分的に基づいて、前記ユーザに関連したユーザメタデータにアクセスするステップと、
    前記ユーザメタデータに少なくとも部分的に基づいて、1組のリソース配置ルールを選択するステップと、
    前記1組のリソース配置ルールに少なくとも部分的に基づいて、前記データセンタの1つ以上のコンピューティングシステムからコンピューティングシステムを識別するステップであって、前記1組のリソース配置ルールは、前記計算リソースにアクセスできるエンティティに関連した1組のユーザから、ユーザの百分率を制限する第1のルールと、前記データセンタの利用率に基づき、前記計算リソースの利用できるインスタンスをスケールする第2のルールと、を含むステップと、
    前記コンピューティングシステム上で前記ユーザに前記計算リソースへのアクセスを提供するステップと、
    を含み、
    前記1組のリソース配置ルールは、前記ユーザに関連した前記エンティティに関連付けられている、
    方法。
  11. 前記プログラム実行サービス(PES)プラットフォームは、前記データセンタを含む複数のデータセンタを含み、各データセンタは、1人以上のユーザに前記1つ以上のコンピューティングシステムの少なくとも1つによって対応された1つ以上の計算リソースへのアクセスを提供するように構成可能な1つ以上のコンピューティングシステムを含む、
    請求項10に記載の方法。
  12. 前記コンピューティングシステム上で前記ユーザに前記計算リソースへのアクセスを提供するステップは、
    前記コンピューティングシステム上で前記計算リソースのインスタンスを作成するステップと、
    前記コンピューティングシステム上で前記ユーザに前記計算リソースの前記インスタンスへのアクセスを提供するステップと、
    を含む、
    請求項10に記載の方法。
  13. 前記計算リソースは、前記ユーザが前記プログラム実行サービス(PES)プラットフォームによって提供された複数のサービスにアクセスすることを可能にする仮想デスクトップを含む、
    請求項10に記載の方法。
  14. 前記方法は、前記リソース配置ルールに少なくとも部分的に基づいて前記計算リソースを構成することをさらに含む、
    請求項10に記載の方法。
  15. 前記ユーザメタデータは、前記ユーザに関連したエンティティのアイデンティティを含み、
    前記ユーザメタデータに少なくとも部分的に基づいて前記1組のリソース配置ルールを判定するステップは、前記エンティティの前記アイデンティティに少なくとも部分的に基づいて前記1組のリソース配置ルールを判定するステップを含む、
    請求項10に記載の方法。
JP2016500649A 2013-03-11 2014-03-05 リソース割り当てを計算するシステムおよび方法 Active JP6284617B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/794,490 2013-03-11
US13/794,490 US9002982B2 (en) 2013-03-11 2013-03-11 Automated desktop placement
PCT/US2014/020655 WO2014164119A1 (en) 2013-03-11 2014-03-05 Automated desktop placement

Publications (2)

Publication Number Publication Date
JP2016517076A JP2016517076A (ja) 2016-06-09
JP6284617B2 true JP6284617B2 (ja) 2018-02-28

Family

ID=51489274

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016500649A Active JP6284617B2 (ja) 2013-03-11 2014-03-05 リソース割り当てを計算するシステムおよび方法

Country Status (9)

Country Link
US (4) US9002982B2 (ja)
EP (1) EP2972964B1 (ja)
JP (1) JP6284617B2 (ja)
KR (1) KR101839060B1 (ja)
CN (2) CN105408882B (ja)
AU (1) AU2014249630B2 (ja)
CA (1) CA2903835C (ja)
SG (1) SG11201507018XA (ja)
WO (1) WO2014164119A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11288604B2 (en) 2016-12-23 2022-03-29 Advanced New Technologies Co., Ltd. Resource processing method and apparatus

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8606922B1 (en) * 2010-09-27 2013-12-10 Amazon Technologies, Inc. Dynamic resource zone mapping
CN102819461B (zh) * 2012-07-19 2016-05-11 腾讯科技(深圳)有限公司 桌面同步方法、装置、设备及系统
US9002982B2 (en) 2013-03-11 2015-04-07 Amazon Technologies, Inc. Automated desktop placement
US10313345B2 (en) 2013-03-11 2019-06-04 Amazon Technologies, Inc. Application marketplace for virtual desktops
US10142406B2 (en) 2013-03-11 2018-11-27 Amazon Technologies, Inc. Automated data center selection
US9148350B1 (en) 2013-03-11 2015-09-29 Amazon Technologies, Inc. Automated data synchronization
US10686646B1 (en) 2013-06-26 2020-06-16 Amazon Technologies, Inc. Management of computing sessions
US10623243B2 (en) 2013-06-26 2020-04-14 Amazon Technologies, Inc. Management of computing sessions
US10097503B2 (en) * 2013-09-27 2018-10-09 Fastly, Inc. Content node network address selection for content delivery
US20150100438A1 (en) * 2013-10-04 2015-04-09 Yahoo! Inc. Selecting among advertisements competing for a slot associated with electronic content delivered over a network based upon predicted latency
US10075459B1 (en) * 2014-01-22 2018-09-11 Amazon Technologies, Inc. Securing workspaces in a cloud computing environment
CN104901923B (zh) * 2014-03-04 2018-12-25 新华三技术有限公司 一种虚拟机访问装置和方法
US20150254248A1 (en) * 2014-03-07 2015-09-10 Printeron Inc. System for suggesting network resource for use by a network terminal based on network resource ranking
US9653118B1 (en) * 2014-03-13 2017-05-16 Tribune Broadcasting Company, Llc System and method for scheduling clips
US9661369B1 (en) * 2014-03-13 2017-05-23 Tribune Broadcasting Company, Llc Clip scheduling with conflict alert
US9615118B1 (en) * 2014-03-13 2017-04-04 Tribune Broadcasting Company, Llc System and method for scheduling clips
US9648370B1 (en) * 2014-03-13 2017-05-09 Tribune Broadcasting Company, Llc System and method for scheduling clips
US20160043910A1 (en) * 2014-08-05 2016-02-11 Dell Products, Lp System and Method for Obtaining Deterministic Performance in Virtual Desktop System
US10165392B2 (en) * 2014-09-25 2018-12-25 At&T Mobility Ii Llc Access of virtual resources based on a contextual frame of reference
US9853868B2 (en) 2014-12-05 2017-12-26 Accenture Global Services Limited Type-to-type analysis for cloud computing technical components
US10505862B1 (en) 2015-02-18 2019-12-10 Amazon Technologies, Inc. Optimizing for infrastructure diversity constraints in resource placement
US10243879B2 (en) * 2015-03-13 2019-03-26 Microsoft Technology Licensing, Llc Intelligent placement within a data center
US9996381B1 (en) * 2016-03-29 2018-06-12 Amazon Technologies, Inc. Live application management workflow using metadata capture
CN106028116B (zh) * 2016-05-23 2020-03-24 Tcl集团股份有限公司 桌面启动器主界面配置信息的生成方法及装置
KR102661703B1 (ko) * 2016-12-23 2024-04-29 삼성전자주식회사 전자 장치 및 그의 제어 방법
US11587196B2 (en) * 2017-04-10 2023-02-21 Dell Products L.P. Information handling system remote desktop protocol selection
US10581995B1 (en) * 2017-07-13 2020-03-03 Parallels International Gmbh High availability virtual desktop infrastructure
CA3087096A1 (en) * 2017-12-29 2019-07-04 Bombardier Inc. Method and system for operating a configuration platform
US10972539B2 (en) * 2019-01-31 2021-04-06 Walmart Apollo, Llc Methods and apparatus for determining block storage status
US11169849B2 (en) * 2019-06-20 2021-11-09 Bank Of America Corporation Intelligent resource initiation and deployment system
CN110505083A (zh) * 2019-07-31 2019-11-26 北京比利信息技术有限公司 基于数据中心和本地边缘计算的混合架构运行方法与系统
US20230362234A1 (en) * 2022-05-04 2023-11-09 Microsoft Technology Licensing, Llc Method and system of managing resources in a cloud computing environment

Family Cites Families (246)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5001628A (en) 1987-02-13 1991-03-19 International Business Machines Corporation Single system image uniquely defining an environment for each user in a data processing system
US4853843A (en) 1987-12-18 1989-08-01 Tektronix, Inc. System for merging virtual partitions of a distributed database
US4991089A (en) 1988-09-30 1991-02-05 Ibm Corp. Method for establishing current terminal addresses for system users processing distributed application programs in an SNA LU 6.2 network environment
US6044367A (en) 1996-08-02 2000-03-28 Hewlett-Packard Company Distributed I/O store
US5948061A (en) 1996-10-29 1999-09-07 Double Click, Inc. Method of delivery, targeting, and measuring advertising over networks
US6745224B1 (en) 1996-12-06 2004-06-01 Microsoft Corporation Object framework and services for periodically recurring operations
US6490620B1 (en) * 1997-09-26 2002-12-03 Worldcom, Inc. Integrated proxy interface for web based broadband telecommunications management
US6332180B1 (en) 1998-06-10 2001-12-18 Compaq Information Technologies Group, L.P. Method and apparatus for communication in a multi-processor computer system
US6192361B1 (en) 1997-12-23 2001-02-20 Alcatel Usa Sourcing, L.P. Full group privileges access system providing user access security protection for a telecommunications switching system
US6223289B1 (en) 1998-04-20 2001-04-24 Sun Microsystems, Inc. Method and apparatus for session management and user authentication
US6574239B1 (en) 1998-10-07 2003-06-03 Eric Morgan Dowling Virtual connection of a remote unit to a server
US6343280B2 (en) 1998-12-15 2002-01-29 Jonathan Clark Distributed execution software license server
US6470358B1 (en) * 1999-01-22 2002-10-22 Siemens Information And Communication Networks, Inc. Remote synchronization with intelligent power management
US6785894B1 (en) 1999-04-09 2004-08-31 Sun Microsystems, Inc. Virtual device driver
US6615264B1 (en) 1999-04-09 2003-09-02 Sun Microsystems, Inc. Method and apparatus for remotely administered authentication and access control
US6895588B1 (en) 1999-04-09 2005-05-17 Sun Microsystems, Inc. Remote device access over a network
US6502103B1 (en) 1999-06-14 2002-12-31 International Business Machines Corporation Providing composed containers and data objects to support multiple resources
US6560609B1 (en) 1999-06-14 2003-05-06 International Business Machines Corporation Delegating instance management functions to underlying resource managers
US6567818B1 (en) 1999-06-14 2003-05-20 International Business Machines Corporation Employing management policies to manage instances of objects
JP2002007329A (ja) 2000-06-20 2002-01-11 Nec Corp コンピュータシステム
US7185192B1 (en) * 2000-07-07 2007-02-27 Emc Corporation Methods and apparatus for controlling access to a resource
US6959331B1 (en) 2000-08-14 2005-10-25 Sun Microsystems, Inc. System and method for operating a client network computer in a disconnected mode by establishing a connection to a fallover server implemented on the client network computer
US6915347B2 (en) 2000-10-17 2005-07-05 Sun Microsystems, Inc. Associating multiple display units in a grouped server environment
JP2002140532A (ja) 2000-10-31 2002-05-17 Toshiba Eng Co Ltd ソフトウェア販売システム、ソフトウェア販売方法、ソフトウェア販売を行うためのプログラムを記憶した記録媒体
US7349912B2 (en) 2000-12-22 2008-03-25 Oracle International Corporation Runtime modification of entries in an identity system
US6944860B2 (en) 2001-01-16 2005-09-13 Sun Microsystems, Inc. Method and apparatus for representing and encapsulating active computing environments
US6871232B2 (en) * 2001-03-06 2005-03-22 International Business Machines Corporation Method and system for third party resource provisioning management
US20080119207A1 (en) * 2001-02-21 2008-05-22 Harris Scott C Applications of broadband media and position sensing phones
JP2002328741A (ja) 2001-05-07 2002-11-15 Fujitsu Ltd 使用権管理方法、使用権管理装置及びその装置での処理をコンピュータに行なわせるためのプログラムを格納した記憶媒体
US7392541B2 (en) 2001-05-17 2008-06-24 Vir2Us, Inc. Computer system architecture and method providing operating-system independent virus-, hacker-, and cyber-terror-immune processing environments
US7002995B2 (en) * 2001-06-14 2006-02-21 At&T Corp. Broadband network with enterprise wireless communication system for residential and business environment
US7010002B2 (en) * 2001-06-14 2006-03-07 At&T Corp. Broadband network with enterprise wireless communication method for residential and business environment
US20030078965A1 (en) * 2001-08-22 2003-04-24 Cocotis Thomas A. Output management system and method for enabling printing via wireless devices
US20030079030A1 (en) * 2001-08-22 2003-04-24 Cocotis Thomas A. Output management system and method for enabling access to private network resources
US8200773B2 (en) * 2001-09-28 2012-06-12 Fiberlink Communications Corporation Client-side network access policies and management applications
US20030115350A1 (en) * 2001-12-14 2003-06-19 Silverback Systems, Inc. System and method for efficient handling of network data
US7124353B2 (en) 2002-01-14 2006-10-17 International Business Machines Corporation System and method for calculating a user affinity
US7577722B1 (en) 2002-04-05 2009-08-18 Vmware, Inc. Provisioning of computer systems using virtual machines
US7197553B2 (en) 2002-04-19 2007-03-27 Nortel Networks Limited Network system having a virtual-service-module
US20040024861A1 (en) 2002-06-28 2004-02-05 Coughlin Chesley B. Network load balancing
JP2004062443A (ja) 2002-07-26 2004-02-26 Ntt Docomo Inc サービス管理システム、サービス管理方法、サーバ管理装置、通信端末及びサーバ装置
JP2004072265A (ja) 2002-08-02 2004-03-04 Kddi Corp 機能分散システムおよび負荷分散方法、コンピュータプログラム
US7209945B2 (en) 2002-09-11 2007-04-24 Bellsouth Intellectual Property Corporation Application services gateway
US8838793B1 (en) * 2003-04-10 2014-09-16 Symantec Operating Corporation Method and apparatus for provisioning storage to a file system
US20040243699A1 (en) * 2003-05-29 2004-12-02 Mike Koclanes Policy based management of storage resources
DE10324470A1 (de) 2003-05-30 2005-03-10 Deutsche Telekom Ag Verfahren und Vorrichtung zum Steuern von Datenverbindungen in einem Datennetz mit einer Vielzahl von Datennetzknoten
US20060010392A1 (en) 2004-06-08 2006-01-12 Noel Vicki E Desktop sharing method and system
US7412516B1 (en) 2003-12-29 2008-08-12 Aol Llc Using a network bandwidth setting based on determining the network environment
WO2005089446A2 (en) * 2004-03-18 2005-09-29 Andrew Peter Liebman A novel media file access and storage solution for multi-workstation/multi-platform non-linear video editing systems
US7788314B2 (en) 2004-04-23 2010-08-31 Waratek Pty Ltd. Multi-computer distributed processing with replicated local memory exclusive read and write and network value update propagation
US20070291739A1 (en) 2004-05-04 2007-12-20 Sullivan Alan T Systems and Methods for Direction of Communication Traffic
US7584301B1 (en) 2004-05-06 2009-09-01 Foundry Networks, Inc. Host-level policies for global server load balancing
US8812613B2 (en) 2004-06-03 2014-08-19 Maxsp Corporation Virtual application manager
KR100692011B1 (ko) 2004-07-28 2007-03-09 엘지전자 주식회사 이동 통신 단말기 컨텐츠의 사용권 만료 기준을 갱신하는방법
JP4400787B2 (ja) * 2004-09-29 2010-01-20 日立ソフトウエアエンジニアリング株式会社 Webアクセス監視システム及び管理者用クライアントコンピュータ
US8397287B2 (en) 2006-08-21 2013-03-12 Citrix Systems, Inc. Method and system for authorizing a level of access of a client to a virtual private network connection, based on a client-side attribute
US7853953B2 (en) 2005-05-27 2010-12-14 International Business Machines Corporation Methods and apparatus for selective workload off-loading across multiple data centers
US8429630B2 (en) 2005-09-15 2013-04-23 Ca, Inc. Globally distributed utility computing cloud
KR20080068752A (ko) * 2005-11-17 2008-07-23 코닌클리케 필립스 일렉트로닉스 엔.브이. 접근 제어 관리 시스템
GB0525244D0 (en) 2005-12-12 2006-01-18 Nokia Corp Providing communication service sessions
US7716180B2 (en) * 2005-12-29 2010-05-11 Amazon Technologies, Inc. Distributed storage system with web services client interface
US8606895B2 (en) 2006-01-17 2013-12-10 Kidaro (Israel) Ltd. Seamless integration of multiple computing environments
US20070174429A1 (en) * 2006-01-24 2007-07-26 Citrix Systems, Inc. Methods and servers for establishing a connection between a client system and a virtual machine hosting a requested computing environment
JP2009525531A (ja) 2006-02-01 2009-07-09 エックス2 テクノロジーズ,インク. コンピュータサービス提供システムおよび方法
JP4866636B2 (ja) 2006-03-22 2012-02-01 株式会社日立製作所 分散型プログラム実行環境における稼動品質管理方法
US8566447B2 (en) 2006-04-10 2013-10-22 Bank Of America Corporation Virtual service switch
US8151323B2 (en) * 2006-04-12 2012-04-03 Citrix Systems, Inc. Systems and methods for providing levels of access and action control via an SSL VPN appliance
US20070255814A1 (en) * 2006-04-27 2007-11-01 Securetek Group Inc. System for server consolidation and mobilization
US8141075B1 (en) 2006-05-08 2012-03-20 Vmware, Inc. Rule engine for virtualized desktop allocation system
US8413160B2 (en) 2006-06-22 2013-04-02 American Express Travel Related Services Company, Inc. Systems, methods, and computer program products for transaction based load balancing
US8312120B2 (en) * 2006-08-22 2012-11-13 Citrix Systems, Inc. Systems and methods for providing dynamic spillover of virtual servers based on bandwidth
CA2665873A1 (en) * 2006-10-20 2008-05-02 Citrix Systems, Inc. Methods and systems for accessing remote user files associated with local resources
US20080114883A1 (en) 2006-11-14 2008-05-15 Fmr Corp. Unifying User Sessions on a Network
US20080172720A1 (en) * 2007-01-15 2008-07-17 Botz Patrick S Administering Access Permissions for Computer Resources
US8630512B2 (en) 2007-01-25 2014-01-14 Skyfire Labs, Inc. Dynamic client-server video tiling streaming
US20080189700A1 (en) 2007-02-02 2008-08-07 Vmware, Inc. Admission Control for Virtual Machine Cluster
US8181206B2 (en) * 2007-02-28 2012-05-15 Time Warner Cable Inc. Personal content server apparatus and methods
JP2008225520A (ja) 2007-03-08 2008-09-25 Nec Corp 仮想マシン環境においてメモリ資源を配置するメモリ資源配置制御方法、仮想マシンシステム及びプログラム
US8756293B2 (en) 2007-04-23 2014-06-17 Nholdings Sa Providing a user with virtual computing services
US20100107225A1 (en) 2007-06-06 2010-04-29 Boldstreet Inc. Remote service access system and method
US8205194B2 (en) 2007-06-29 2012-06-19 Microsoft Corporation Updating offline virtual machines or VM images
CA2593897C (en) * 2007-07-16 2016-06-14 Tet Hin Yeap Method, system and apparatus for accessing a resource based on data supplied by a local user
US8763115B2 (en) 2007-08-08 2014-06-24 Vmware, Inc. Impeding progress of malicious guest software
US8180908B2 (en) * 2007-08-14 2012-05-15 Bayerische Motoren Werke Aktiengesellschaft Platform for standardizing vehicle communications with third-party applications
US8910234B2 (en) * 2007-08-21 2014-12-09 Schneider Electric It Corporation System and method for enforcing network device provisioning policy
CN101378400B (zh) * 2007-08-30 2013-01-30 国际商业机器公司 实现桌面应用和Web应用聚合的方法、服务器和系统
US8014075B2 (en) 2007-11-06 2011-09-06 Seiko Epson Corporation Projection type image display device
CN101984778B (zh) * 2008-01-26 2014-08-13 思杰系统有限公司 用于细粒度策略驱动的cookie代理的系统和方法
US7953833B2 (en) 2008-01-31 2011-05-31 Wanova Technologies Ltd. Desktop delivery for a distributed enterprise
MX2010009362A (es) 2008-02-26 2010-12-06 Vmware Inc Extension de arquitectura de maquina virtual de escritorio basada en servidor para maquinas de cliente.
KR101489301B1 (ko) 2008-03-20 2015-02-06 삼성전자주식회사 가상환경 시스템 및 그의 구동방법
US8560593B2 (en) * 2008-03-27 2013-10-15 Dell Software Inc. System for provisioning, allocating, and managing virtual and physical desktop computers in a network computing environment
US9003059B2 (en) 2008-03-31 2015-04-07 Microsoft Technology Licensing, Llc Running applications in an online or offline mode based on the availability of the connection to the remote web server
US7865586B2 (en) 2008-03-31 2011-01-04 Amazon Technologies, Inc. Configuring communications between computing nodes
JP5087456B2 (ja) 2008-04-09 2012-12-05 株式会社インテック サービス提供システム及びそれを構成するユーザ収容装置
US8365167B2 (en) 2008-04-15 2013-01-29 International Business Machines Corporation Provisioning storage-optimized virtual machines within a virtual desktop environment
US8943575B2 (en) * 2008-04-30 2015-01-27 Citrix Systems, Inc. Method and system for policy simulation
US8473594B2 (en) 2008-05-02 2013-06-25 Skytap Multitenant hosted virtual machine infrastructure
US8005859B2 (en) * 2008-07-09 2011-08-23 The Go Daddy Group, Inc. Maintaining contact with a document storage file owner
US8560713B2 (en) * 2008-07-31 2013-10-15 Sap Ag Method and system for mediating enterprise service access for smart devices
US8443370B2 (en) 2008-08-26 2013-05-14 Microsoft Corporation Method of assigning resources to fulfill a service request by a programming model abstraction layer at a data center based at least in part on a reference of the requested resource class indicative of an abstract amount of resources
CN102197374B (zh) 2008-10-24 2014-04-02 思杰系统有限公司 用于在组合的计算环境中给可修改的机器基本映像提供个性化桌面环境的方法和系统
CN102217273B (zh) * 2008-11-12 2014-12-10 思杰系统有限公司 用于应用流畅性策略的系统和方法
US9009329B2 (en) 2008-11-25 2015-04-14 Microsoft Technology Licensing, Llc Platform for enabling terminal services virtualization
US8201237B1 (en) 2008-12-10 2012-06-12 Amazon Technologies, Inc. Establishing secure remote access to private computer networks
US8370493B2 (en) 2008-12-12 2013-02-05 Amazon Technologies, Inc. Saving program execution state
US8898108B2 (en) 2009-01-14 2014-11-25 Vmware, Inc. System and method for scheduling data storage replication over a network
US8893009B2 (en) * 2009-01-28 2014-11-18 Headwater Partners I Llc End user device that secures an association of application to service policy with an application certificate check
US8918488B2 (en) * 2009-02-04 2014-12-23 Citrix Systems, Inc. Methods and systems for automated management of virtual resources in a cloud computing environment
US8386757B1 (en) 2009-02-13 2013-02-26 Unidesk Corporation Managed desktop system
US8549364B2 (en) 2009-02-18 2013-10-01 Vmware, Inc. Failure detection and recovery of host computers in a cluster
TW201032131A (en) 2009-02-24 2010-09-01 Ibm Device, method and computer program product for automatically selecting internet browser and providing web page service
US20100241731A1 (en) 2009-03-17 2010-09-23 Gladinet, Inc. Method for virtualizing internet resources as a virtual computer
EP2415207B1 (en) * 2009-03-31 2014-12-03 Coach Wei System and method for access management and security protection for network accessible computer services
US20100275200A1 (en) 2009-04-22 2010-10-28 Dell Products, Lp Interface for Virtual Machine Administration in Virtual Desktop Infrastructure
US9154364B1 (en) 2009-04-25 2015-10-06 Dasient, Inc. Monitoring for problems and detecting malware
US8856783B2 (en) * 2010-10-12 2014-10-07 Citrix Systems, Inc. Allocating virtual machines according to user-specific virtual machine metrics
EP2425341B1 (en) * 2009-05-01 2018-07-11 Citrix Systems, Inc. Systems and methods for establishing a cloud bridge between virtual storage resources
US8725791B2 (en) * 2009-05-02 2014-05-13 Citrix Systems, Inc. Methods and systems for providing a consistent profile to overlapping user sessions
WO2010127380A1 (en) * 2009-05-08 2010-11-11 Hewlett-Packard Development Company, L.P. Access control of distributed computing resources system and method
US8352482B2 (en) 2009-07-21 2013-01-08 Vmware, Inc. System and method for replicating disk images in a cloud computing based virtual machine file system
CN101964860A (zh) * 2009-07-23 2011-02-02 孙博雅 家庭影院服务器
US8832459B2 (en) 2009-08-28 2014-09-09 Red Hat, Inc. Securely terminating processes in a cloud computing environment
US8365195B2 (en) * 2009-08-31 2013-01-29 Red Hat, Inc. Systems and methods for generating sets of model objects having data messaging pipes
US8285218B2 (en) 2009-08-31 2012-10-09 The Nielsen Company (Us), Llc Methods and apparatus to identify wireless carrier performance effects
JP5673543B2 (ja) * 2009-09-10 2015-02-18 日本電気株式会社 ロール設定装置、ロール設定方法及びロール設定プログラム
JP2011060055A (ja) 2009-09-11 2011-03-24 Fujitsu Ltd 仮想計算機システム、仮想マシンの復旧処理方法及びそのプログラム
JP2011076251A (ja) 2009-09-29 2011-04-14 Nec Personal Products Co Ltd リモート操作システム、クライアント装置、サーバ、通信方法、プログラム及び記録媒体
US20110078510A1 (en) * 2009-09-30 2011-03-31 Virtera Computer Software and Hardware Evaluation System and Device
US8335765B2 (en) 2009-10-26 2012-12-18 Amazon Technologies, Inc. Provisioning and managing replicated data instances
US8676753B2 (en) 2009-10-26 2014-03-18 Amazon Technologies, Inc. Monitoring of replicated data instances
US9082091B2 (en) * 2009-12-10 2015-07-14 Equinix, Inc. Unified user login for co-location facilities
US7991859B1 (en) 2009-12-28 2011-08-02 Amazon Technologies, Inc. Using virtual networking devices to connect managed computer networks
US7953865B1 (en) 2009-12-28 2011-05-31 Amazon Technologies, Inc. Using virtual networking devices to manage routing communications between connected computer networks
US20110178946A1 (en) 2010-01-15 2011-07-21 Incontact, Inc. Systems and methods for redundancy using snapshots and check pointing in contact handling systems
US8301746B2 (en) * 2010-01-26 2012-10-30 International Business Machines Corporation Method and system for abstracting non-functional requirements based deployment of virtual machines
US9477531B2 (en) 2010-01-27 2016-10-25 Vmware, Inc. Accessing virtual disk content of a virtual machine without running a virtual desktop
US9274821B2 (en) 2010-01-27 2016-03-01 Vmware, Inc. Independent access to virtual machine desktop content
US9009219B2 (en) 2010-01-27 2015-04-14 Vmware, Inc. Native viewer use for service results from a remote desktop
JP2011160300A (ja) * 2010-02-02 2011-08-18 Fujitsu Ltd ルータ、ルーティング方法、ルーティングプログラム、情報処理装置、仮想マシン構築方法および仮想マシン構築プログラム
US9953178B2 (en) 2010-02-03 2018-04-24 Os Nexus, Inc. Role based access control utilizing scoped permissions
US8527549B2 (en) 2010-02-22 2013-09-03 Sookasa Inc. Cloud based operating and virtual file system
US8468455B2 (en) 2010-02-24 2013-06-18 Novell, Inc. System and method for providing virtual desktop extensions on a client desktop
US8869141B2 (en) 2010-03-09 2014-10-21 Avistar Communications Corp. Scalable high-performance interactive real-time media architectures for virtual desktop environments
US8938740B2 (en) 2010-03-11 2015-01-20 Nec Corporation Resource allocation apparatus, resource allocation method, and computer readable medium
EP2553561A4 (en) 2010-04-01 2016-03-30 Citrix Systems Inc INTERACTION WITH REMOTE APPLICATIONS DISPLAYED ON A VIRTUAL DESKTOP OF A TABLET COMPUTER DEVICE
JP2011248419A (ja) 2010-05-24 2011-12-08 Hitachi Ltd 業務計算機割当て方法及び装置
US9183560B2 (en) * 2010-05-28 2015-11-10 Daniel H. Abelow Reality alternate
US8477610B2 (en) 2010-05-31 2013-07-02 Microsoft Corporation Applying policies to schedule network bandwidth among virtual machines
US8434081B2 (en) 2010-07-02 2013-04-30 International Business Machines Corporation Storage manager for virtual machines with virtual storage
US8443367B1 (en) * 2010-07-16 2013-05-14 Vmware, Inc. Federated management in a distributed environment
US8839346B2 (en) * 2010-07-21 2014-09-16 Citrix Systems, Inc. Systems and methods for providing a smart group
JP2012033096A (ja) 2010-08-02 2012-02-16 Nomura Research Institute Ltd ライセンスチェックシステムおよびリソースプール管理システム
WO2012020482A1 (ja) 2010-08-11 2012-02-16 富士通株式会社 バックアップ方法、情報処理装置及びプログラム
US8612413B2 (en) 2010-08-12 2013-12-17 Cdnetworks Co., Ltd. Distributed data cache for on-demand application acceleration
US20120311157A1 (en) 2011-06-03 2012-12-06 Erickson Philip J Integrated information technology service management for cloud resources
US20120066679A1 (en) 2010-09-13 2012-03-15 Startforce, Inc. Disposable virtual desktop for transient use by multiple users
US8661120B2 (en) 2010-09-21 2014-02-25 Amazon Technologies, Inc. Methods and systems for dynamically managing requests for computing capacity
US20120079566A1 (en) * 2010-09-25 2012-03-29 Barranco Roger L Secure out-of-band management of computing devices over a communications network
US20120084369A1 (en) * 2010-09-30 2012-04-05 Microsoft Corporation Unified Reconnection To Multiple Remote Servers
CN107122168A (zh) 2010-10-01 2017-09-01 Z124 多操作系统
US9632875B2 (en) 2010-10-06 2017-04-25 International Business Machines Corporation Automated and self-adjusting data protection driven by business and data activity events
CN102447723B (zh) * 2010-10-12 2015-09-09 运软网络科技(上海)有限公司 客户端虚拟化架构
US8607054B2 (en) 2010-10-15 2013-12-10 Microsoft Corporation Remote access to hosted virtual machines by enterprise users
JP4811830B1 (ja) 2010-10-15 2011-11-09 株式会社 イーシー・ワン コンピュータリソース制御システム
US20120124194A1 (en) 2010-11-14 2012-05-17 Caroline Jacqueline Shouraboura Method and Apparatus for Efficiently Managing Network Distance between Physical Computers in a Computing Cloud
US8566441B2 (en) 2010-11-22 2013-10-22 Microsoft Corporation Network latency estimation for mobile devices
JP5760406B2 (ja) 2010-11-29 2015-08-12 セイコーエプソン株式会社 検出回路、センサーデバイス及び電子機器
US20120166619A1 (en) 2010-12-23 2012-06-28 Microsoft Corporation Licensing and metering of virtualized applications
US9229603B2 (en) 2010-12-28 2016-01-05 Schlumberger Technology Corporation Methods, systems, apparatuses, and computer-readable mediums for provisioning petrotechnical workflows in a cloud computing environment
US9201667B2 (en) 2010-12-31 2015-12-01 Vmware, Inc. Providing virtual desktops using resources accessed on public computer networks
US8863256B1 (en) * 2011-01-14 2014-10-14 Cisco Technology, Inc. System and method for enabling secure transactions using flexible identity management in a vehicular environment
US8510597B2 (en) 2011-02-08 2013-08-13 Wisconsin Alumni Research Foundation Providing restartable file systems within computing devices
JP5242717B2 (ja) * 2011-02-09 2013-07-24 日本電信電話株式会社 リソース管理サーバ、リソース管理システム、リソース管理方法及びリソース管理プログラム
WO2012115058A1 (ja) * 2011-02-21 2012-08-30 日本電気株式会社 通信システム、データベース、制御装置、通信方法およびプログラム
US20120216015A1 (en) 2011-02-22 2012-08-23 Mitra Sumanranjan S System and method to concurrently execute a plurality of object oriented platform independent programs by utilizing memory accessible by both a processor and a co-processor
KR20120096741A (ko) 2011-02-23 2012-08-31 인텔렉추얼디스커버리 주식회사 가상단말 클라우드 네트워크 시스템 및 이기종 단말 플랫폼 어플리케이션 제공방법
US8866701B2 (en) 2011-03-03 2014-10-21 Citrix Systems, Inc. Transparent user interface integration between local and remote computing environments
US8732267B2 (en) 2011-03-15 2014-05-20 Cisco Technology, Inc. Placement of a cloud service using network topology and infrastructure performance
US9369433B1 (en) * 2011-03-18 2016-06-14 Zscaler, Inc. Cloud based social networking policy and compliance systems and methods
US9060239B1 (en) * 2011-08-09 2015-06-16 Zscaler, Inc. Cloud based mobile device management systems and methods
JP5772127B2 (ja) 2011-03-25 2015-09-02 富士通株式会社 仮想マシン管理方法、情報処理装置および仮想マシン管理プログラム
US20140019970A1 (en) 2011-03-28 2014-01-16 Hideaki Okamoto Virtual machine management system and virtual machine management method
US8799897B2 (en) 2011-04-07 2014-08-05 Vmware, Inc. Automated cost calculation for virtualized infrastructure
JP5939740B2 (ja) 2011-04-11 2016-06-22 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 動的にリソースを割り当てる方法、システム及びプログラム
US9176744B2 (en) 2011-05-20 2015-11-03 Citrix Systems, Inc. Quickly provisioning a virtual machine by identifying a path to a differential file during pre-boot
US8683466B2 (en) 2011-05-24 2014-03-25 Vmware, Inc. System and method for generating a virtual desktop
US9225763B2 (en) 2011-06-07 2015-12-29 Cisco Technology, Inc. Distributed overlay browser for transparent streaming media support in virtualized desktop environment
US8769011B2 (en) 2011-06-21 2014-07-01 Cisco Technology, Inc. Survivable browsing in virtualized desktop environment when host connectivity is lost
US20130006815A1 (en) 2011-06-30 2013-01-03 Ebay Inc. Federated and multi-tenant e-commerce platform
EP2712443B1 (en) 2011-07-01 2019-11-06 Hewlett-Packard Enterprise Development LP Method of and system for managing computing resources
KR101507919B1 (ko) 2011-07-01 2015-04-07 한국전자통신연구원 가상 데스크탑 서비스를 위한 방법 및 장치
CN102317910B (zh) 2011-08-03 2014-08-20 华为技术有限公司 虚拟化数据备份方法、虚拟化数据重组方法、装置及系统
US8631131B2 (en) 2011-09-07 2014-01-14 Red Hat Israel, Ltd. Virtual machine pool cache
US20130067345A1 (en) * 2011-09-14 2013-03-14 Microsoft Corporation Automated Desktop Services Provisioning
US20130067469A1 (en) 2011-09-14 2013-03-14 Microsoft Corporation Load Balancing By Endpoints
US8812687B2 (en) 2011-09-15 2014-08-19 Microsoft Corporation Managing user state of cloud desktops
CN103001989A (zh) 2011-09-16 2013-03-27 中兴通讯股份有限公司 参数接收方法及系统
US9143530B2 (en) * 2011-10-11 2015-09-22 Citrix Systems, Inc. Secure container for protecting enterprise data on a mobile device
DE102012217202B4 (de) 2011-10-12 2020-06-18 International Business Machines Corporation Verfahren und System zum Optimieren des Platzierens virtueller Maschinen in Cloud-Computing-Umgebungen
US20140250232A1 (en) 2011-10-14 2014-09-04 National Ict Australia Limited Disaster recovery failover in cloud computing
CN102520922B (zh) * 2011-11-14 2016-04-13 上海交通大学 一种协作环境下的远程开发方法及其系统
US8868710B2 (en) 2011-11-18 2014-10-21 Amazon Technologies, Inc. Virtual network interface objects
WO2013102227A1 (en) 2011-12-29 2013-07-04 Vmware, Inc. N-way synchronization of desktop images
CN102609448A (zh) * 2012-01-10 2012-07-25 西北工业大学 一种多用户版本文件递阶式映射方法
US9208007B2 (en) 2012-01-18 2015-12-08 International Business Machines Corporation Open resilience framework for simplified and coordinated orchestration of multiple availability managers
US9405553B2 (en) * 2012-01-30 2016-08-02 International Business Machines Corporation Processing element management in a streaming data system
US8891450B2 (en) 2012-02-06 2014-11-18 Juniper Networks, Inc. Mobile node host route installation and withdrawal
US20130219043A1 (en) 2012-02-20 2013-08-22 Moritz M. Steiner Method and apparatus for automatic migration of application service
US9110600B1 (en) 2012-03-19 2015-08-18 Amazon Technologies, Inc. Triggered data shelving to a different storage system and storage deallocation
US8918392B1 (en) 2012-03-29 2014-12-23 Amazon Technologies, Inc. Data storage mapping and management
US9110604B2 (en) 2012-09-28 2015-08-18 Emc Corporation System and method for full virtual machine backup using storage system functionality
US9231987B2 (en) * 2012-04-11 2016-01-05 Empire Technology Development Llc Data center access and management settings transfer
US20130275966A1 (en) 2012-04-12 2013-10-17 International Business Machines Corporation Providing application based monitoring and recovery for a hypervisor of an ha cluster
US8954984B2 (en) 2012-04-19 2015-02-10 International Business Machines Corporation Environmentally aware load-balancing
US20130283263A1 (en) 2012-04-19 2013-10-24 Dincloud, Inc. System and method for managing resources in a virtual machine environment
US9092616B2 (en) * 2012-05-01 2015-07-28 Taasera, Inc. Systems and methods for threat identification and remediation
US9413587B2 (en) * 2012-05-02 2016-08-09 Box, Inc. System and method for a third-party application to access content within a cloud-based platform
US9210162B2 (en) 2012-05-02 2015-12-08 Microsoft Technology Licensing, Llc Certificate based connection to cloud virtual machine
US8904081B1 (en) 2012-05-08 2014-12-02 Vmware, Inc. Composing a virtual disk using application delta disk images
US9325530B2 (en) 2012-05-22 2016-04-26 Cisco Technology, Inc. Management of virtual desktop infrastructure (VDI) sessions using real-time network conditions
JP2013250775A (ja) 2012-05-31 2013-12-12 Fujitsu Ltd 仮想マシン管理装置、仮想マシン管理プログラム、仮想マシン管理方法及びネットワークシステム
US8934887B2 (en) 2012-05-31 2015-01-13 Emblaze Ltd. System and method for running mobile devices in the cloud
US8813225B1 (en) * 2012-06-15 2014-08-19 Amazon Technologies, Inc. Provider-arbitrated mandatory access control policies in cloud computing environments
EP2867771A4 (en) 2012-06-29 2016-06-29 Hewlett Packard Entpr Dev L P OPTIMIZED POSITIONING OF VIRTUAL MACHINES
WO2014031616A1 (en) * 2012-08-22 2014-02-27 Bitvore Corp. Enterprise data processing
US9535871B2 (en) * 2012-11-27 2017-01-03 Red Hat Israel, Ltd. Dynamic routing through virtual appliances
US9692632B2 (en) 2012-11-29 2017-06-27 International Business Machines Corporation Migration to managed clouds
US20140188977A1 (en) 2012-12-28 2014-07-03 Futurewei Technologies, Inc. Appratus, method for deploying applications in a virtual desktop interface system
US9384208B2 (en) * 2013-01-22 2016-07-05 Go Daddy Operating Company, LLC Configuring a cached website file removal using a pulled data list
US20140237070A1 (en) * 2013-02-19 2014-08-21 Lg Cns Co., Ltd. Network-attached storage management in a cloud environment
US9148350B1 (en) 2013-03-11 2015-09-29 Amazon Technologies, Inc. Automated data synchronization
US10142406B2 (en) 2013-03-11 2018-11-27 Amazon Technologies, Inc. Automated data center selection
US9002982B2 (en) 2013-03-11 2015-04-07 Amazon Technologies, Inc. Automated desktop placement
US10313345B2 (en) 2013-03-11 2019-06-04 Amazon Technologies, Inc. Application marketplace for virtual desktops
US20140280436A1 (en) 2013-03-14 2014-09-18 Citrix Systems, Inc. Migration tool for implementing desktop virtualization
WO2014146100A1 (en) 2013-03-15 2014-09-18 Veamea Bv Methods and systems for dynamic adjustment of session parameters for effective video collaboration among heterogeneous devices
US9645840B2 (en) 2013-04-02 2017-05-09 Amazon Technologies, Inc. User-defined pools
US9495180B2 (en) 2013-05-10 2016-11-15 Fireeye, Inc. Optimized resource allocation for virtual machines within a malware content detection system
US9740563B2 (en) 2013-05-24 2017-08-22 International Business Machines Corporation Controlling software processes that are subject to communications restrictions by freezing and thawing a computational process in a virtual machine from writing data
US9720712B2 (en) 2013-06-03 2017-08-01 Red Hat Israel, Ltd. Physical/virtual device failover with a shared backend
US10623243B2 (en) 2013-06-26 2020-04-14 Amazon Technologies, Inc. Management of computing sessions
US20150019728A1 (en) 2013-06-26 2015-01-15 Amazon Technologies, Inc. Management of computing sessions
US20150019705A1 (en) 2013-06-26 2015-01-15 Amazon Technologies, Inc. Management of computing sessions
US20150019704A1 (en) 2013-06-26 2015-01-15 Amazon Technologies, Inc. Management of computing sessions
US20150006614A1 (en) 2013-06-26 2015-01-01 Amazon Technologies, Inc. Management of computing sessions

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11288604B2 (en) 2016-12-23 2022-03-29 Advanced New Technologies Co., Ltd. Resource processing method and apparatus
US11934975B2 (en) 2016-12-23 2024-03-19 Advanced New Technologies Co., Ltd. Resource processing method and apparatus

Also Published As

Publication number Publication date
KR101839060B1 (ko) 2018-03-16
US9002982B2 (en) 2015-04-07
CA2903835A1 (en) 2014-10-09
US9515954B2 (en) 2016-12-06
US20170078214A1 (en) 2017-03-16
AU2014249630A1 (en) 2015-09-24
CA2903835C (en) 2019-02-12
EP2972964B1 (en) 2021-09-08
AU2014249630B2 (en) 2017-05-25
SG11201507018XA (en) 2015-10-29
US20140258450A1 (en) 2014-09-11
KR20150128938A (ko) 2015-11-18
US20160191410A1 (en) 2016-06-30
CN109213724A (zh) 2019-01-15
JP2016517076A (ja) 2016-06-09
CN105408882A (zh) 2016-03-16
EP2972964A1 (en) 2016-01-20
US10616129B2 (en) 2020-04-07
US9288262B2 (en) 2016-03-15
EP2972964A4 (en) 2016-11-16
CN105408882B (zh) 2018-09-28
CN109213724B (zh) 2022-03-11
WO2014164119A1 (en) 2014-10-09
US20150201009A1 (en) 2015-07-16

Similar Documents

Publication Publication Date Title
JP6284617B2 (ja) リソース割り当てを計算するシステムおよび方法
JP6279705B2 (ja) 自動化されたデスクトップ配置
AU2017203703B2 (en) Automated data synchronization
US9552366B2 (en) Automated data synchronization

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161003

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160930

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161221

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170529

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170818

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180130

R150 Certificate of patent or registration of utility model

Ref document number: 6284617

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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