JP2009525531A - コンピュータサービス提供システムおよび方法 - Google Patents

コンピュータサービス提供システムおよび方法 Download PDF

Info

Publication number
JP2009525531A
JP2009525531A JP2008553225A JP2008553225A JP2009525531A JP 2009525531 A JP2009525531 A JP 2009525531A JP 2008553225 A JP2008553225 A JP 2008553225A JP 2008553225 A JP2008553225 A JP 2008553225A JP 2009525531 A JP2009525531 A JP 2009525531A
Authority
JP
Japan
Prior art keywords
virtual
computer
user
computers
end device
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.)
Pending
Application number
JP2008553225A
Other languages
English (en)
Inventor
メイズ,スティーブン,マーク
ロヴロ,ジョセフ,アンソニー
カシ,サンディープ
Original Assignee
エックス2 テクノロジーズ,インク.
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 エックス2 テクノロジーズ,インク. filed Critical エックス2 テクノロジーズ,インク.
Publication of JP2009525531A publication Critical patent/JP2009525531A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/508Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement
    • H04L41/5083Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement wherein the managed service relates to web hosting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/508Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement
    • H04L41/5093Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement wherein the managed service relates to messaging or chat services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/508Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement
    • H04L41/5096Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement wherein the managed service relates to distributed or central networked applications

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Computer And Data Communications (AREA)
  • Stored Programmes (AREA)

Abstract

コンピュータサービスを提供するコンピュータシステムおよび方法であって、それぞれ仮想オペレーティングシステムを有する複数の仮想コンピュータと;前記少なくとも1の仮想コンピュータとホストコンピュータ間の通信を確立するための仮想化レイヤと;末端デバイスを使用するユーザに、前記末端デバイスと前記1以上の仮想コンピュータ間で臨時ベースのネットワーク通信を確立するための仮想コンピュータセレクタと;少なくとも1の仮想アプリケーションプログラムを前記1以上の仮想コンピュータおよび前記末端デバイスを使用するユーザにほぼ瞬時に利用可能とし、これにより前記ユーザが前記少なくとも1の仮想アプリケーションプログラムと相互作用を開始できるようにするストレージシステムとを具える。
【選択図】図3

Description

関連出願
本出願は、2006年2月1日出願の米国暫定出願番号60/764,416に関連するとともに、U.S.C.§119(e)の利益を主張するものである。
技術分野
本出願は、コンピュータサービス提供システムおよび方法に関し、より具体的には、コンピュータサービスプロバイダからネットワークを介して1またはそれ以上のコンピュータユーザにコンピュータサービスを提供するシステムおよび方法に関する。
ここ10年間、インターネットを介してユーザまたは複数ユーザにコンピュータ資源を広く提供するコンピュータサービスプロバイダがどんどん創設され拡大してきた。これらのコンピュータサービスプロバイダは、しばしば異なる名前で呼ばれる:例えば、アプリケーションサービスプロバイダ(ASP)、サービスとしてのソフトウェアアズアサービス(SaaS)、ホステッドサービスプロバイダ(xSP)、およびインターネットサービスプロバイダ(ISP)である。1のプロバイダを他のプロバイダと大まかに区別する特徴は、提供される資源とサービスの種類である。最も一般的な種類のASPは、ハードウェアとソフトウェアを含むコンピュータ資源を、ネットワークを介した顧客に提供するビジネスであるのに対し、SaaSは一般に企業がその顧客に提供したソフトウェアに対し、ネットワークを介したメンテナンスおよび技術サポートを提供する企業をいう。一方、xSPは、一般にASPとSaaSと同じ資源とサービスを提供するとともに、インフラ、セキュリティ、モニタリング、ストレージ、ウェブホスティング、および電子メールなどの従来のIT機能を提供する。そして、ISPは通常公共のインターネットにコンピュータのユーザを接続するだけであるが、他のプロバイダと同じサービスのいくつかを提供する場合もある。
コンピュータユーザに資源やサービスを提供するコンピュータサービスプロバイダの種類に拘わらず、一般的なモデルでは、コンピュータプロバイダが、1以上のシングルフレームコンピュータまたは「サーバ」などの高機能コンピュータであるサーバコンピュータを運用し、これが公共のインターネットやプライベートネットワークなどのコンピュータネットワークを介して、一般にパーソナルコンピュータ(PC)であるクライアントコンピュータを個別に操作する複数のユーザにコンピュータ資源やサービスを提供する。このサービスプロバイダのモデルにおいて、PCは一般に、例えばマイクロソフトWindows(登録商標)などの汎用アプリケーションオペレーティングシステムであるアプリケーションプログラムを実行する中央処理ユニット(CPU)と、一次ストレージまたはメモリ(RAM)と、ハードドライブなどの二次ストレージデバイスと、キーボードおよび/またはマウスなどの入力デバイスと、モニタおよび/またはプリンタなどの出力デバイスと、これらの入出力デバイスを操作するデバイスドライバとを少なくとも具える。
インターネットを介してサービスを提供するサービスプロバイダからソフトウェアアプリケーションを供給する場合、ユーザのリクエストでウェブサーバは、関連するアプリケーションとデータベースサーバと共同して、要求されたアプリケーション(例えば、マイクロソフトワード(登録商標))をウェブ送信可能な形式でインターネットを介してユーザのコンピュータに送り、ここでウェブブラウザが前記ウェブ送信可能な形式のアプリケーションをユーザ互換の形式に戻す。アプリケーションはその後、通常は、プロバイダとユーザ間で同意されたしばらくの期間前記アプリケーションを継続利用可能とされたユーザによる実行のためにPCのメモリに格納される。この処理は、このモデルをサポートすべく前もって再プログラミングされたウェブ送信可能なアプリケーションでしか機能しない。このアプリケーション供給システムの一時的な目的は、PC上にアプリケーションを出現させることであって、このPCやその汎用アプリケーションオペレーティングシステムの完全な削除ではない。
ネットワークベースまたはHTTP/HTMLプロトコルベースのアプリケーション供給モデル(本書において、クライアント/サーバモデルまたはウェブ中心モデルと称す。)には既知の多数の利点や欠点があるが、従来特に挙がらなかった1つの重大な欠点は、ユーザのコンピュータエクスペリエンスに関する。コンピュータのユーザがスタンドアロン構成でPCを利用する(すなわち、クライアント/サーバ構成での利用でない)場合、このユーザは、彼または彼女のデスクトップ環境で総ての機能へのフルアクセスを得るようユーザインタフェースと相互作用する。Windows(登録商標)環境では、例えば、ユーザインタフェースはユーザに、入出力デバイスの使用、リモートネットワーク上の資源へのアクセス、完全なデスクトップウィンドウ環境(例えばX WindowsまたはMicrosoft Windows Explorer)、およびこのオペレーションシステムやデスクトップウィンドウ環境用に記述された他の総てのアプリケーションとの相互作用を提供する。残念ながら、クライアント/サーバモデルでは、アプリケーションをHTML化し、これをHTTPに供給し、例えばMicrosoft Internet Explorer、Apple Safari、Mozilla Firefox、Netscape Navigatorなどのウェブブラウザと呼ばれる相関が制限されたクライアントアプリケーションにHTMLコードを翻訳するという中間ステップのため、コンピュータユーザがステンドアロンモデルと同じデスクトップ環境とすることができない。通常、以下の機能はサービスプロバイダやクライアント/サーバ構成では提供されない:特定のオペレーティングシステムやデスクトップウィンドウ環境用に書かれたアプリケーションを修正することなく実行する機能;デスクトップ環境のインタフェース要素とまったく同じユーザインタフェース要素を、スタンドアロンPC構成と同じように表示するインタラクション;および、完全に外部にホストされたデスクトップウィンドウ環境(X WindowsやMicrosoft Windows Explorer)を利用し、リモートサーバと入出力デバイス(USBシリアル・パラレルポートや音声など)をシェアする機能。この違いに起因する明らかな欠点は、ユーザがリモートコンピュータから提供される総ての機能へのフルアクセスを得て、ローカルでのみかリモートコンピュータのサポートスタッフにより維持されるべき完全機能のスタンドアロンPCを得ることの従属性を排除しうることである。
サービスプロバイダにより実装されるウェブ中心モデルの別の重大な制限は、クライアント側とサーバ側の双方のスタッフと同様にコンピュータ資源の必要性が本来的に制限されていることである。ウェブ中心モデルでも未だPCが必要であるため、同じコンピュータサポートパラダイムが要求される。中央のスタッフは管理が容易で安価であるが、PCは総てが精妙で互いに大きく異なっているため、PCの設置には、使用されるPCの種類によって独自のオペレーティングシステムの実装、アプリケーション、およびセッティングが必要である。これらのPCの違いは、与えられたPCの寿命までそのPCを維持するのに必要な習得費用の4−5倍の費用見積もりとなる。シェアコンピュータを用いた中央コンピューティングから離れ、スタンドアロンPCを用いて分散コンピューティングを行い、現在ではウェブ中心モデルの一部にPCを用いた中央コンピューティングの種類に戻るという間に考慮されなかった重大な制限がある。さらに、ネットワーク帯域幅が、ウェブ中心PCの構築にかかる総費用における他の大きな割合を占める。所定のPCにダウンロードされたファイルなどの総てのオブジェクトは、最適パフォーマンスのために同時かつ迅速なネットワーク通信を必要とする。何人かのユーザが大きなファイルを同時にダウンロードする場合、それぞれが利用可能なネットワーク通信容量を全部要求し、ネットワークデバイスがユーザ要求の競合を調整しない限り、インターネットやプライベートなワイドエリアネットワーク(WAN)などのネットワーク接続にかなりのボトルネックが生じる。多くの場合、このボトルネックは、インターネットやプライベートWANがユーザのPCに到達するポイントで生ずる。さらに、スタンドアロンPCやウェブ中心モデルを用いる場合の企業やホームユーザは、多くの時間と費用を費やし、多くの生産性が失われることを受容しなければならない。PCの運用を維持するには高度な熟練が要求される。このタスクは、インターネットからくる悪意のあるコードと戦うためのソフトウェアのアップデートが増大して、より困難となってきている。今日では、Microsoft Windowsのユーザは通常、定期的に自動アップデートされるいくつかのセキュリティアプリケーション(アンチウィルス、アンチスパイウェア、アンチポップアップ)を有する。このアップデートに加え、ユーザは定期的に、総て同時に生じるオペレーティングシステムのパッチアップデートや他のサードパーティのアプリケーションアップデートを受信する。これらのパッチはコンピュータが不安定となる原因となり、ユーザから生産性を剥奪するものである。最後に、コンピュータの紛失や盗難は、企業と同様にホームユーザにも重大なリスクを与え、これは実際のコンピュータを失うことに留まらず、潜在的により重要な、ユーザの個人的かつ秘密の情報を同時に失うことがある。
上述したウェブ中心モデルの制限の多くは、Jagadish Bandhole, el alに発行された米国特許番号7,036,006(’006特許)で取り組まれている。この’006特許に開示されたクライアント−サーバ構成は、「コンピュータ資源および演算動作はユーザにサービスと同様にパッケージ製品として提供される。プラットホームはどのハードウェアとソフトウェアの要素または他の資源の組み合わせであってもよい」(第4段落、6−10行)。この特許はさらに、この発明では「顧客」または「システム構成」が「資源を割り当ててこれらの資源がどのように利用されるかを特定することによりシステム」を設計できると記載している(第4段落36-38行)。「このシステムは、・・・「コンピュータ環境」およびこの環境の一次プロバイダ(すなわちサービスプロバイダ)」が、環境サービスプロバイダ(ESP)と称され」、このESPは「資源と、「コンピュータ(computing)」環境を容易に選択・配分・構成・実行するツールとを提供して収入を得る」(第4段落39-46行)。クライアント−サーバ構成のより詳細案説明が、’006特許の図2に記載されている。この図面と関連する記述は、一般に総てのアプリケーションプロバイダで用いられる「Web Tier205」を具える複数の「ウェブサーバ」の利用を開示している。
’006特許の図1A、1B、および詳細な説明には、前記コンピュータ環境は、とりわけ、ディスクドライブ、CDROMドライブ、ディスプレイアダプタ、ネットワークカード、ランダムアクセスメモリ(RAM)、中央処理ユニット(CPU)、その他の要素、サブシステムおよびデバイスを収容するキャビネットを具えるコンピュータシステムからなることが記載され図示されている。ここにおいて、この特許は、「(明細書記載の)処理を実行するのに適した様々なハードウェアプラットフォームが本発明の利用に適している。」(第7段落15−17行)とする。この特許はさらに、その発明が「DCE(鯛名ミックコンピュータ環境)を遠隔で構成し、供給し、管理するフレームワーク」を具えることを開示しており、そして「DCEを構成することは、その資源およびそれらの相互接続を選択することを含む」(第6段落24−27行)。さらに、この特許では「DCEを供給することは、DCEが機能するのに必要な物理資源を割り当てることを含み」、「本発明は、DCEを供給するのに必要な物理資源を管理してこれらの資源の割り当て/割当取消の運用をサポートする」(第6段落32−36行)。さらに、この特許は、コンピュータ環境は「タイムシェアリング」方式でユーザが利用可能であり、そのクレームは「コンピュータセッションをスケジューリングするためのユーザ入力を受け付けるインタフェース」(第5段落31−37行、第12段落59−60行)を開示しており、明細書にはさらに、ユーザが「演算(computing)期間をスケジューリング」し、「必要な資源を確保し顧客に利用可能であることを保証する」機能を提供することが開示されている(第11段落21−24行)。
’006特許は、表向きはコンピュータ資源をリモートのユーザに広い範囲でリモート供給することを開示するが、この特許に記載のフレームワークを使用してDCEを構成し管理すると、企業やホームユーザによるフレームワークの使用勝手に関する重大な制限が生じる。この特許に記載のように、DCEは本質的にローカル仕様のコンピュータネットワークがホスティングされたもの(hosted version)である。すなわち、DCEは、理論的にスケジューリングベース(scheduled basis)で構成されるよう予めプログラムされたネットワークを介して互いに通信するデータベースサーバ、ファイルサーバ、およびPCを包含する。したがって、DCE環境では、特定の期間における専用のハードウェアの量は、所定期間(例えば24時間)内に販売できるタイムスロットの数に制限され、これはさらにユーザ間でDCEを再構築するのに必要な時間により制限されてしまう。例えば、4時間のタイムスロットが販売される場合、システムは24時間で最大6ユーザのみサポート可能であり、これらの人間がシステム全体の費用を分担しなければならない。よりありがちなのは、ピークビジネスアワー(通常は8AM−6PM)の間は、このようなシステムに臨時(sunscheduled)やランダムアクセスベースの高い要求があり、どの顧客でも、コンピュータ資源への連続的なアクセスを確保するためにタイムブロック全体を予約することが必要で、システムにその支払いをしなければならない。顧客が必要な資源を確保できる場合でも、この顧客は前もってこれらの資源をスケジューリングしてこれを行い、これらのサービスの独占利用について割増金を支払うことを強制され、明らかに、彼らが他のユーザに確保している間は他の潜在的なユーザはこれらの同じ資源を利用することができない。
さらに、’006特許の詳細な説明や図面には、DCEを構築するフレームワークの一部に「ウェブサーバ」を利用することが開示されている(第8段落51−55行、64−66行、図2、構成要素205、図3、構成要素309)。この観点から、ウェブサーバの利用から’006特許記載のシステムの運用費は、ウェブサーバやこのウェブベースモデルをサポートするのに必要なPCすべてを確保し、運用し、維持するために付随する費用のため、ウェブベースでないシステムと比較して高くなることが合理的に推測される。さらに、この推論から直接的に、提供されるアプリケーションは「ウェブ利用可能(web enabled)」または一般のアプリケーションの再プログラム版である必要がある。これは利用可能なアプリケーションの数の制限となり、システム全体のサポート費用が高く維持されることとなる。
’006特許で開示された他の重大な制限は、DCEを構築するのに必要な時間に関係する。この特許は、ある顧客専用のDCEは、「同じ資源から数分あるいは数秒内に構築される」(第5段落28−31行)。また、この特許におけるDCEの説明から、しかしながら、DCEを構築するのに必要な資源を割り当てて構成するのに実際必要な時間は、あるユーザのタイムスロットが終了して他のユーザのタイムスロットが開始する間にネットワークアドレスや他の識別情報を完全に交換しなければならないため、通常数分はかかると推察される。このダウンタイムは比較的短く、システムがコンピュータ資源のスケジューリングを行う内部的な必要性により顧客から容易に隠すことができるが、これら資源の寿命にわたり、このダウンタイムは有意の運用上の出費となる。
したがって、リモートから利用可能なコンピュータ資源であって、前もってスケジューリングする必要がなく、これらの資源がランダムかつほぼ即座に総てのユーザに利用可能となり、これらの資源を実質的に期間を定めずに利用することができ、連続的に再構築も必要でなく、クライアント側に複雑なPCサポートを提供する必要がなく、ローカルUSB、サウンド、ビデオ、キーボード、マウス、シリアル・パラレルその他のポートなどの設備を含む様々なデスクトップアプリケーションをユーザが修正せずに実行することができるものが求められていた。これらの要望は、以下の明細書に記載されたシステムおよび方法により充足される。
コンピュータサービスを提供するコンピュータシステムが実現され、複数組の仮想コンピュータであって、各組が複数の仮想コンピュータを具え、組内の各仮想コンピュータの仮想オペレーティングシステムがその組の他の総ての仮想オペレーティングシステムと同一であり、いずれか1の組の仮想オペレーティングシステムは他の仮想コンピュータの組の総ての仮想オペレーティングシステムと異なる、複数組の仮想コンピュータと;各仮想コンピュータと、複数のホストコンピュータから対応するホストコンピュータとの間の通信を確立する仮想レイヤと;少なくとも1の仮想アプリケーションプログラムを格納し、各仮想コンピュータと通信するストレージシステムと;末端デバイスのユーザに少なくとも1の仮想オペレーティングシステムの選択を提示し、ユーザから仮想オペレーティングシステムの選択を受け付け、臨時ベース(unscheduled basis)で、前記末端デバイスと、前記複数組の仮想コンピュータからのユーザの仮想コンピュータとの間で前記ユーザがネットワーク通信を確立するのを実現し、前記ユーザの仮想コンピュータは前記ユーザが選択した仮想オペレーティングシステムに適合する仮想オペレーティングシステムを有する、仮想コンピュータセレクタと;前記少なくとも1の仮想アプリケーションプログラムを、前記ユーザの仮想コンピュータおよび前記ユーザが操作する末端デバイスからほぼ即座に利用可能とし、これにより前記ユーザが前記少なくとも1の仮想アプリケーションプログラムとの相互作用を開始可能とする、ストレージシステムと;前記ユーザが前記末端デバイスと前記ユーザコンピュータ間の通信を終了させた場合に前記ユーザの仮想コンピュータを開放する仮想コンピュータエージェントとを具えることを特徴とする。さらに、少なくとも1のアプリケーションを利用する際に、ユーザに末端デバイスにデスクトップエクスペリエンスを提供するシステムが実現される。これら双方のシステムはまた、予想されるユーザ数にサービスするのに必要な仮想コンピュータの数を決定するための統計モデルと;複数のホストコンピュータからの対応するホストコンピュータから前記ユーザの仮想コンピュータに割り当てられる予め決定された量のCPUと;前記少なくとも1の仮想アプリケーションプログラムとのユーザの相互作用に関連し、前記ユーザに送られるべき請求書を作成するのに用いられる請求システムに保存される請求イベントとを具えてもよい。
図1は、コンピュータサービスを提供するためのコンピュータシステム1の一般的な構成の好適な実施例を示し、これは仮想コンピュータシステム2と、末端周辺デバイスシステム3とを具え、各システムが互いにネットワーク4を介した接続により通信する。システム1の各ユーザのために、末端周辺デバイスシステム3は通常、キーボードを有する末端デバイス5と、プリンタなどの1またはそれ以上のローカル周辺デバイス6と、USBフラッシュドライブなどのストレージデバイスと、iPod(登録商標)などのデジタルオーディオデバイスと、あるいはパーソナルデジタルアシスタントやラップトップコンピュータなどの1またはそれ以上のモバイルデバイス7とを具える。本明細書において、「ローカル周辺デバイス」とは、ユーザのすぐ周辺の環境内にあるデバイスをいう。末端デバイス5、ローカル周辺デバイス6、モバイルデバイス7はそれぞれネットワークスイッチ8に接続され、これがルータ9に接続され、これがネットワーク4に接続され、これが仮想コンピュータシステム2に接続されている。別の実施例では(図示せず)、少なくとも1のプリンタが、ネットワークスイッチ8に直接接続されるのではなく、末端デバイス5に直接接続されてもよい。図2に示す別の実施例では、コンピュータシステム1がリモート周辺デバイスシステム10を具え、ここでは末端周辺デバイスシステム3に関して説明したのと同じ種類の1またはそれ以上のリモート周辺デバイスがネットワークスイッチ12に接続され、これがルータ13に接続され、これがネットワーク4に接続され、これが仮想コンピュータシステム2に接続されている。本明細書において、「リモート周辺デバイス」とは、ユーザのすぐ周辺環境内にはないデバイスを意味する。
本明細書において、「末端デバイス」とは、組み込まれたオペレーティングシステムを実行するために必要なCPU、RAM、およびストレージといったコンピュータ資源の量を提供するコンピュータデバイス(computational device)であり、前記オペレーティングシステムは、総てのアプリケーションコードを実行し総てのデータを格納する中央コンピュータシステムに対する入出力の提供が機能的に制限されている;利用可能な末端デバイスは、Neoware e100、Neoware e370、Ntavo6020p、およびNokia 770である。この観点から、「末端デバイス」は、機能的に制限のない汎用オペレーティングシステムを実行する目的で、例えばCPU、RAM、およびストレージなどの所定のコンピュータ資源の量を提供し、自己のCPUで総てのアプリケーションコードを実行し、総てのデータを自己のストレージハードウェア内に格納する「パーソナルコンピュータ」を含まない。「コンピュータデバイス」とは、数学的処理の実行、論理タスクの実行、これら処理やタスクの結果を保存する機能を有する様々な電子デバイスをいう。「デスクトップエクスペリエンス」とは、ある末端デバイスにおいてユーザにプログラムが、ネットワークを介して他のコンピュータやデバイスと通信を行わず、したがって他のコンピュータやデバイスからそのコンピュータ資源を何も受けていない「スタンドアロン型のパーソナルコンピュータ」上にあるのとまったく同じように見える仮想アプリケーションの見た目と機能をいう。「ネットワーク」または「ネットワーク接続」は、2またはそれ以上のコンピュータデバイスにおいて、これらのデバイスが入力を送信し出力を受信しうる物理的または論理的なリンクを含む。さらに、本書において特に他の明示がなければ、「ユーザ」または「ネットワークユーザ」は、彼または彼女のコンピュータ資源の一部または全部をネットワーク上の他のコンピュータやデバイスから取得している人物をいう。
図3を参照すると、仮想コンピュータシステム2の好適な実施例がより詳細に示されており、このシステムは、仮想コンピュータシステム2から情報を受信しネットワーク接続4を利用して末端デバイスや周辺システム3との通信を確立する、プログラムされた仮想コンピュータセレクタ25を具える。一般に、この仮想コンピュータセレクタ25は末端デバイス5のユーザに、例えばこのユーザが利用したいオペレーティングシステムや、一実施例では所望の多数のCPU、メモリ、ストレージなどの様々なコンピュータ資源オプションを提供する。ユーザがコンピュータ資源を選択すると、仮想コンピュータセレクタ25が、このユーザに独占使用させるために複数の仮想コンピュータから1の仮想コンピュータを選択する。この仮想コンピュータシステム2はまた、該仮想コンピュータシステム2の各ユーザにユーザアカウントを設定するのに使用されるアカウント管理用にプログラムされたコンピュータシステム26を具える。認証サービス用にプログラムされたコンピュータシステム27を用いて、システム2にログインしようとするユーザに、このシステム2が提供するコンピュータ資源の利用が許可されているかが確認される。このため、認証サービスシステム27は、認証ユーザの利用のために仮想コンピュータシステム2に登録されたすべての末端および周辺デバイスを同定する周辺デバイスデータベースを備える。リモートの周辺デバイスシステム10に関しては、このデータベースはさらに、各リモート周辺デバイス11の物理的な一を特定するグローバルポジショニングシステム(GPS)情報を具える。仮想コンピュータシステム2の各ユーザがネットワーク4に安全に接続できるようにセキュリティサービス用にプログラムされたコンピュータシステム28が設けられている。
好適な実施例において、仮想コンピュータシステム2はさらに複数の同一ホストコンピュータ15を具え、各ホストコンピュータの動作と制御は同一ホストオペレーティングシステム16を用いて提供される。これら複数のホストコンピュータ15として利用可能なものはSun Microsystemのx86 Blade(登録商標)Systemであり、ホストオペレーティングシステム16として利用可能なものは、多分、例えば、Linuxオペレーティングシステムの特定バージョンまたは派生体であって、マルチコア/マルチプロセッササポート、54ビットサポート、USBオーディオサポート、および他の効率的かつ高ボリュームの仮想コンピュータオペレーションを可能とする調整を有するものである。複数のホストコンピュータ15からの各ホストコンピュータには仮想化レイヤ17が設けられ、これは一般にホストコンピュータのCPU、RAM、およびストレージを用いる仮想コンピュータとその仮想オペレーティングシステムを実現するソフトウェアプログラムである。この仮想化レイヤ17として利用可能なものは、VMWareのVMWare Server GSX(登録商標)がある。さらに、複数のホストコンピュータ15からの各ホストコンピュータは、複数の仮想コンピュータと連係しており、各仮想コンピュータは予め設定されたオペレーティングシステムを有する。例えば、図3に示すように、複数のホストコンピュータ15のうちの1のホストコンピュータは、複数の同一仮想コンピュータの第1の組と連係し、この第1の組内の各仮想コンピュータは、図面において仮想コンピュータ/仮想OS20(1)、仮想コンピュータ/仮想OS20(2)、・・・仮想コンピュータ/仮想OS20(n)として示す同一の仮想オペレーティングシステム(例えば、Microsoft Windows(登録商標)の仮想化版)を有する。同様に、前記複数のホストコンピュータ15からの別の1のホストコンピュータは、複数の仮想コンピュータの第2の組と連係し、この組内の各仮想コンピュータは、第1の組の同一仮想コンピュータで動作する仮想オペレーティングシステムとは異なる同一の仮想オペレーティングシステム(例えば、Unix(登録商標)の仮想化版)を有し、これらの仮想コンピュータとこれに連係する仮想オペレーティングシステムは、図面において仮想コンピュータ/仮想OS21(1)、仮想コンピュータ/仮想OS21(2)、・・・仮想コンピュータ/仮想OS21(n)として示されている。同一仮想コンピュータの一意の組の数は、この仮想コンピュータシステム2内に含まれる異なる種類の仮想オペレーティングシステムの数と等しく、これらの仮想コンピュータの組が図3において仮想コンピュータ/仮想OSN(1)、仮想コンピュータ/仮想OSN(2)、・・・仮想コンピュータ/仮想OSN(n)として示されている。さらに、複数の仮想コンピュータの所定の組にある同一仮想コンピュータの数は、この複数の仮想コンピュータに連係しているホストコンピュータの演算能力によってのみ制限される。この観点から、ホストコンピュータの能力を超えそうな場合、システムの提供者は、仮想コンピュータ2により使用されるブレードシステムに単に別のブレードを加えて予想される追加の負荷に適応させればよいという特徴がある。この特徴は、同一仮想コンピュータ一組と連係する複数のホストコンピュータ15からの単一のホストコンピュータを記載した図3には明示されていないが、仮想コンピュータシステム2には、各組にある同一仮想コンピュータの複数の組を作成することが含まれる。
コンピュータシステム1が使用する仮想コンピュータの数に関し、統計モデルを用いて、予期されるユーザの数にサービスを滞りなく提供するのに必要な仮想コンピュータの数を特定することができる。最初に、プロバイダは予期される要求を越える数の仮想コンピュータを提供したいとし、次にこのプロバイダの経験に基づいて、プロバイダは過度に多くのユーザの受付を開始し、それでもこのシステムは総てのユーザに常に利用可能であると実質的に保証することができる。これについて、ユーザの要求が利用可能な仮想コンピュータの数を超えた場合でも、プロバイダはこのようなときのために確保しておいた1またはそれ以上のブレードサーバを追加することにより、迅速に利用可能な仮想コンピュータの数を増やすことができる。新たな仮想コンピュータを加えるのに必要なダウンタイムは数分のオーダーであり、パーソナルコンピュータのユーザにとってもっとありがちな例えばハードドライブが壊れたり一日または数日コンピュータが動作不能となったりするよりはるかに少ない。これに関し、特に2004 Workshop on High Performance Switching and Routing に関して発行されたFeng Langらによる「Piecewise Linear Approach to Overbooking」の文献を参照し、この著者はネットワークプロバイダによるオーバーブッキングへの区分線形ファンクションの適用について記載している。この文献記載のアプローチは、本明細書記載のシステム1の統計モデルとして利用可能である。
さらに図3に示されるように、仮想コンピュータシステム2は、アプリケーションオンデマンド用にプログラムされたコンピュータシステム30と、テンプレート用にプログラムされたコンピュータシステム31と、コンピュータストレージシステム32と、請求用にプログラムされたコンピュータシステム33とを具える。アプリケーションオンデマンド用システム30は、ユーザに利用可能とされる可能性のある各ソフトウェアアプリケーションのファイルサーバを保存するために設けられる。これらのアプリケーションは、仮想コンピュータシステム2の所有者および運営者(通常本書では「プロバイダ」と称する)によりアプリケーションオンデマンドシステムで利用可能とされ、および/または、アプリケーションはユーザによってこのアプリケーションオンデマンドシステム26に提供されてもよい。いずれの場合でも、アカウント管理システム26は所定のユーザにどのアプリケーションの利用が認められているかを記録しており、その情報をアプリケーションオンデマンドシステム30に提供する。どのアプリケーションも仮想コンピュータシステム1のユーザにアクセスされる前に、しかしながら、アプリケーションを「仮想化」する必要があり、すなわちアプリケーションは別のコンピュータを用いてランチ(launch)され、仮想化アプリケーション設定を含む仮想化されたアプリケーションは、ストレージ内で見えるのと同じようにそのアプリケーションをコピーすることによって取得され、ストレージシステムサーバ32のストレージ内にコピーが保存される。この仮想化されるアプリケーションは、仮想アプリケーション実行環境(しばしば「パッケージャ」と呼ばれる)で実行され、これはこれがターゲットの仮想のコンピュータとオペレーティングシステムであるように作用する。インストールプログラムが実行され、仮想化されるアプリケーションはファイルをコピーし、ソフトウェア/オペレーティングシステム設定を確立し、標準の構成データベースエントリを生成する。利用可能な構成データベースの例としては、MicrosoftのActive Directoryがある。これらすべての動作は仮想化アプリケーションパッケージに取り込まれ、これが他のコンピュータに、各仮想コンピュータに手作業でこのアプリケーションをインストールする必要なく安全な方式で利用可能にされる。このプロセスはまた、仮想アプリケーションにセキュリティ性と信頼性を与え、これによりプロバイダは認証ユーザのみが所定のアプリケーションにランチできるようにすることができ、またプロバイダが後述するシステムテンプレートに基づいて一般的な仮想コンピュータの交換可能な組のいずれかからこのアプリケーションをランチすることが可能となる。
テンプレートシステム31は、この仮想コンピュータシステム2がユーザに利用可能とする各オペレーティングシステムのコピーまたはテンプレートを有する。オペレーティングシステムは、一般にインテルやx86プロセッサプラットホームと呼ばれるものと互換性のある様々なシステムであり、すべてのMicrosoft Windows (R) のバージョン、Unix (R)、Solaris (R)、MacOS X (R)(x86バージョン)、および様々なLinux (R)を含む。これらの公に入手可能なオペレーティングシステムに加え、ユーザはカスタマー提供アプリケーションを実行する必要があれば、インテルx86プロセッサプラットホームとの互換性があるオペレーティングシステムである限り、カスタムしたオペレーティングシステムを提供してもよい。しかしながら、アプリケーションオンデマンドシステム30と同様に、仮想コンピュータシステム2のユーザからオペレーティングシステムがアクセスされる前に、このオペレーティングシステムを「仮想化」する必要があり、すなわち別のコンピュータを用いてこのオペレーティングシステムをランチし、このオペレーティングシステムをストレージ内で見えるのと同じようにコピーして、当該コピーを仮想化オペレーティングシステムを含むオペレーティングシステムテンプレートとしてストレージシステム32のバージョン管理サブシステムに保存することにより仮想化する。システムテンプレートを完了すべく、追加の情報と共通利用されるユーティリティ/設定がベースのオペレーティングシステムのインストールに追加される。この追加のユーティリティには、オペレーティングシステムのパッチ、アンチウィルスアプリケーション、アンチスパイウェアアプリケーション、アンチマルウェアアプリケーション、ファイル暗号化/復号化ソフトウェア、およびアンチポップアップソフトウェアが含まれる。追加の設定には、認証情報、ネットワーク情報、ローカルのログイン/パスワード、およびセキュリティ設定が含まれる。システムテンプレートが完成しテストされたら、バージョンナンバが付与され、バージョン管理システム内に保存され、これがファイルストレージシステム32の実際のファイルを保持する。新しいオペレーティングシステム、オペレーティングシステムパッチ、ユーティリティ、およびセッティングはテストされるごとに、所定のシステムの新バージョンが生成され、この新バージョンはその後バージョン管理システムに保存され、これがストレージシステム32上でファイルを保温し、この新バージョンから確立された現在のテンプレートの位置へとリンクが確立される。テンプレートシステム31はまた、各オペレーティングシステムを新リリースで更新するのにも用いられる。所定のオペレーティングシステムの仮想化コピーがバージョン管理システムに保存されるのと同時に、このオペレーティングシステムの仮想化されていないコピーがストレージシステム32に保存され、基本のオペレーティングシステムインストレーションを作成する際に用いられる。新たなオペレーティングシステムがリリースされると、オペレーティングシステム仮想化プロセスが繰り返される。パッチがリリースされると、現在のシステムテンプレートは別のコンピュータにロードされ、パッチがインストールされ、更新されたバージョンが新バージョンとしてテンプレートシステム31に保存され、現在のバージョンへのリンクがこれに着くよう変更され、仮想化された更新バージョンがストレージシステム32のバージョン管理システムに保存される。さらに、テンプレートシステム31は、仮想コンピュータ用にプログラムされたエージェントを具え、これが仮想コンピュータセレクタ25に登録されている。通常、仮想コンピュータエージェントは、各仮想コンピュータの動作を監視し、特にユーザが仮想コンピュータからログオフするのを検出して、このコンピュータをすぐに他のユーザに利用可能とする。
総てのアプリケーションとこれらに付随する設定の仮想化コピーを具えるのに加え、ストレージシステム32は、図5により詳細に示すように、ユーザファイルと、ユーザ設定とを具えるとともに、上述のようにストレージシステム32内のバージョン管理システムは、仮想コンピュータシステム2に提供された各オペレーティングシステムの仮想化コピーを具える。最後に、請求システム33は、図6に関連してより詳細に説明するが、システム1のプロバイダとユーザ間の請求合意の記録を具え、ユーザに送られる請求書に含められる料金を算出するのに用いられる課金イベントを追跡する。
図4を参照すると、例えば仮想コンピュータ/オペレーティングシステム20(1)であって1のユーザに独占的かつ臨時の使用に供される単一の仮想コンピュータが作成される方法がフローチャートに記載されている。このフローチャートおよび以下の説明は単一の仮想コンピュータ20(1)の作成のみを説明するが、この説明は仮想コンピュータシステム2内のすべての仮想コンピュータの作成に適用することができる。ステップ1において、仮想オペレーティングシステムと例えばパッチ、ユーティリティ、セッティング、および仮想コンピュータエージェントなどの関連ソフトウェアを具えるシステムテンプレートが、ストレージシステム32のバージョン管理システムからコピーされ、複数のホストコンピュータ15からの1のホストコンピュータに保存される。ステップ2において、システムテンプレートが、ホストコンピュータと通信する新たな仮想コンピュータ20(1)として仮想化レイヤ16とともに登録され、この登録プロセスは複数の仮想コンピュータを作成するために繰り返してもよい。ステップ3において、システムIDなどの一意の仮想コンピュータ識別子が仮想コンピュータ20(1)の仮想オペレーティングシステムで生成され、この仮想コンピュータ20(1)に関連づけられる。ステップ4において、他の一意の仮想コンピュータ識別子が、認証サービス27、アカウント管理26、およびセキュリティサービス28に登録され、仮想コンピュータ20(1)が始動したら動的にネットワークアドレスを受信して仮想コンピュータエージェントがこのネットワークアドレスを仮想コンピュータセレクタ25に登録する。ステップ5では、ホストコンピュータのCPU、メモリ、ストレージが、適切なユーザファイル、ユーザ設定、仮想化アプリケーションおよびその設定とともに、仮想コンピュータ20(1)とユーザの末端デバイス5で利用可能となる。ユーザに利用許可されるCPU、メモリ、ストレージの量は、ユーザがシステムに登録したときかその後に、アカウント管理システム26に記録されたこれらの資源に対するユーザの指定によって決定される。若しくは、ユーザは予め設定されたデフォルトのCPU、メモリ、ストレージの量を選択してもよい。仮想化レイヤ16は、アカウント管理システム26と連係して、ユーザにどの資源の利用が許可されているかを把握し、末端デバイス5のユーザから要求されたときにCPU、メモリ、ストレージ、およびその他のコンピュータ資源を確実に利用できるようにする。総ての設定、一次ファイル、およびユーザが必要とする一意の特定されたファイルは、ログイン時にストレージシステム32からコピーされるかストレージシステム32から直接読み出され、ログアウト時に消去される。ステップ6において、仮想コンピュータ20(1)の入出力機能がユーザの末端デバイス5に利用可能とされ、末端デバイス5の入出力機能が仮想コンピュータ20(1)に利用可能となる。ステップ7において、ユーザは末端デバイス5を用いて仮想コンピュータ20(1)に臨時に(unscheduled basis)アクセスし、このユーザに前もって許可されたアプリケーションを使用してデスクトップエクスペリエンスを取得する。ステップ8において、ユーザがアプリケーションの使用を終了したら、このユーザは仮想コンピュータ20(1)からログオフし、ステップ9でこのユーザのユーザファイル、仮想アプリケーション、および設定へのアクセスが終了され、仮想コンピュータ20(1)はその後再構成することなく直ちに他のユーザによって利用可能となる。ステップ10のいて、図6に関連して後述する課金イベントが、請求システム33に記録される。
図5は、ストレージシステム32と、仮想コンピュータシステム2内の仮想コンピュータへネットワーク4を介して接続された末端デバイス5を利用するユーザによるその利用とを説明する図である。ステップ1で、ストレージシステム32内でファイルシステムが作成され、これにはコンピュータシステム1の利用が認められた総てのユーザについてのユーザファイルと設定と、アプリケーションの一部または全部の使用を認められたユーザに利用可能な仮想アプリケーションと、仮想コンピュータを作成するのに使用する各オペレーティングシステムの最新バージョンのテンプレートを含むバージョン管理システムとが含まれる。ステップ2で、ストレージシステム32内のファイルにアクセスするユーザまたはグループ許可が、アカウント管理システム26によって確立される。ステップ3で、例えばCommon Internet File Service (CIFS)、Server Message Block(SMB)、および/またはNetwork File Services(NFS)などの「ファイル共有プロトコル」の1またはいくつかを用いて、仮想コンピュータシステム2内の少なくとも1の仮想コンピュータにストレージシステム32が利用可能となる。ステップ4で、ユーザがコンピュータシステム1にログインするときに認証サービスシステム27でユーザの信用証明(credentials)が確認され、ステップ5でこのユーザに割り当てられた仮想コンピュータがユーザの信用証明をキャッシュする。ステップ6で、ユーザはストレージシステム32内のファイルにアクセスを試み、ステップ7で、認証サービスシステム27により、またこの認証サービス27から追加の信用証明が要求される場合に、ユーザの信用証明が確認される。認証サービスシステム27がストレージシステムのファイルへのユーザのアクセスを許可すると、一連のファイル共有プロトコルを用いて、ユーザ用の仮想コンピュータでこれらのファイルが利用可能となる。ユーザが仮想コンピュータシステム2をログアウトすると、ステップ9で、ストレージシステム32へのユーザのアクセスが終了される。ステップ10で、ストレージシステム32からのこのユーザのファイル利用に関連する課金イベントが請求システム33に記録される。
請求システム33が図6に示されている。ステップ1で、ユーザが仮想コンピュータおよび関連する資源を使用する課金基準が設定される。好適な実施例では、何通りかの課金オプションが利用可能である。例えばユーザは、ユーザが仮想コンピュータへの臨時かつ独占的なアクセスを行う都度「請求イベント」として課金される所定の「固定料金」の支払いに同意してもよく、この料金は他の所定の固定費用と組み合わされてもよく、これには例えば、仮想コンピュータがホストコンピュータのCPUとメモリにアクセスする都度、および/またはユーザがアプリケーションやストレージにアクセスする都度などがある。経済的観点から、この固定料金は長期間にわたり連続的にシステム資源を使用する個人またはグループにとって最も利点となる。代替的に、あまり頻繁にシステム資源を使用しない個人やグループには、このユーザがどれだけの間仮想コンピュータにログインしたたが請求イベントとして課金される所定の「変動料金」の支払いを合意する方が利益となり、ここでも料金はユーザがCPU、メモリ、および/またはアプリケーションを使った期間によって課金される他の所定の変動料金と組み合わさってもよい。双方の請求方法において、ユーザがCPUを使う量は、このユーザがアカウントを作るときやそれ以降いつでも、ユーザに割り当てられたCPUの量に基づいて調整されてもよい。当然、固定と変動方法の特徴を組み合わせていくつかの異なる請求プランが考案されてもよい。ステップ2では、CPU、メモリ、ストレージ、アプリケーション等のコンピュータ資源が「請求イベント」に関連づけられる。ステップ3で、ユーザに発生する請求イベントを追跡するために、コンピュータシステムの各ユーザに請求識別コードが関連づけられる。その後ステップ4で、ユーザが仮想コンピュータと相互作用するごとに、ユーザに発生する請求イベントが請求システム33内に保存される。ステップ5で、請求システム33は、ユーザに関してこのユーザに発生する請求イベントを用いて、コンピュータシステム1の使用料金を算出し、コンピュータシステム1のプロバイダはユーザに支払い請求書を送る。代替的に、コンピュータシステム1のプロバイダがさらに他の課金サービスをユーザに提供し、これらのサービスの請求にサードパーティの請求プログラムを用いる場合、請求システム33は請求イベント情報を、関連する料金計算とともに、直接的にプロバイダの請求パッケージシステムに送り、ここでコンピュータシステム1を使用する料金が、ユーザに送られる前にサードパーティの請求プログラムに統合される。
図7は、あるコンピュータプロバイダが提供するコンピュータ1のユーザの利用と相互作用を説明する図である。ステップ1で、ローカルとリモートの周辺デバイス6、11がそれぞれ認証サービス27に登録され、これがすべての周辺デバイスを仮想コンピュータに利用可能にする。ステップ2で、システム1の潜在的ユーザは、ユーザアカウントを設定しこのユーザが利用を希望するアプリケーションや、このユーザに利用可能なオペレーティングシステムのプールのなかからこのユーザが使用を希望するオペレーティングシステムの種類の好みを表示するために、アカウント管理システム26にアクセスする。このユーザはまた、このユーザがアクセスを希望するCPU、RAM、ストレージ、または他のハードウェア資源を表示してもよく、あるいは、このユーザはアカウント管理システム26がこれらの資源のデフォルトの量を選択できるようにしてもよい。ステップ3で、プロバイダがこの潜在的ユーザをシステム1の新たなユーザとして承認する場合、端末デバイス、キーボード、マウス、プリンタ、その他の考え得るローカルの周辺デバイス6がこのユーザに提供されるか、ユーザから個別に求められる。ステップ4で、ユーザの端末デバイス5と仮想コンピュータシステム2の間にセキュアなネットワーク接続が確立される。ステップ5で、ユーザは端末デバイス5とキーボードを用いて仮想コンピュータシステム2にログインし、認証サービスシステム27がこのユーザを認証し、仮想コンピュータシステム2に認証されたユーザのログインを通知する。ステップ6で、仮想コンピュータセレクタ25はユーザの端末5に、ユーザのオペレーティングシステムやハードウェアの好みに基づいてオペレーティングシステムの選択肢がユーザに提示されたインタフェースを表示する。ステップ7で、オペレーティングシステムのユーザの選択に基づいて、仮想コンピュータセレクタ25は、端末デバイス5に仮想コンピュータの適切なネットワーク亜ODレスを提供することにより、例えば仮想コンピュータ/仮想オペレーティングシステム20(1)といった仮想コンピュータとユーザの端末デバイス5との間に独占的な通信リンクを設立し、これによりユーザに臨時かつ専用かつ独占的な仮想コンピュータの使用が提供される。ステップ8で、端末ユーザは、仮想コンピュータセレクタ25から提供された仮想コンピュータのアドレスを用いて選択された仮想コンピュータに接続し、ステップ9で仮想コンピュータセレクタ25と端末デバイス5間の接続が遮断される。ステップ10で、請求システム33は、ソフトウェアアプリケーションとハードウェアのユーザの利用に基づいて生成される請求イベントの監視を開始し、これがより具体的に図6で説明されている。ステップ11では、ストレージシステム33に保存されたユーザファイルと設定(例えば「Home Directory」)が、仮想コンピュータと端末ユーザに利用可能となる。ステップ12で、ユーザファイルと設定がユーザが選択した仮想化アプリケーションで利用可能となる。ステップ13で、末端デバイス5と仮想コンピュータはネットワークプロトコルを用いて入出力機能を共有し、ローカルとリモートの周辺デバイス6、11はそれぞれ、仮想コンピュータと入出力機能を共有するためにネットワークプロトコルとともに認証サービスを利用する。ステップ14で、アプリケーションオンデマンドシステム30が、あるユーザがシステム2にログインしたことを検知して、このユーザに認められたアプリケーションをアカウント管理システム26から取得する。ステップ15で、アプリケーションオンデマンドシステム30は、ユーザが選択したアプリケーションが含まれる仮想化アプリケーションパッケージの存在を確認する。ステップ16で、アプリケーションオンデマンドシステム30とストレージシステム32は、このユーザのアプリケーションパッケージを仮想コンピュータに配信する。ステップ17で、ユーザは末端デバイスとローカルの周辺デバイス6を用いて、仮想アプリケーションを開くことにより仮想コンピュータと相互作用し、ここで仮想アプリケーションは実質的に瞬時にユーザに利用可能となり、そしてこのユーザは仮想アプリケーションとの相互作用の際にデスクトップエクスペリエンスを取得する。代替的に、このユーザは、同様に実質的に瞬時にユーザに利用可能となる仮想アプリケーションを開くことによって仮想コンピュータと相互作用するために、モバイルデバイス7と例えば、プリンタなどのリモート周辺デバイス11を用いて開始してもよく、このユーザは仮想アプリケーションと相互作用する間デスクトップエクスペリエンスを得る。これに関し、認証サービスシステム27は、モバイルデバイスからGPS情報などの物理的位置情報を受信して、周辺デバイスデータベースを用いてこのモバイルデバイスに近いリモートのプリンタの場所を示すようプログラムされ、そしてこのプリンタは認証サービスによってこのユーザに利用可能とされる。ステップ18で、ユーザが仮想コンピュータの使用を終了したら、ユーザは仮想アプリケーションを閉じ、これが仮想コンピュータから消去されるとともに、ストレージシステム32に保存されていた様々なデータを保存する。ステップ19で、ユーザは仮想コンピュータからログアウトし、仮想コンピュータエージェントは仮想コンピュータを開放し、これが再構成することなく直ちに他のユーザに利用可能となる。最後に、ステップ20で、図6でより詳細に説明したように、課金イベントの発生に応じて仮想コンピュータの使用について請求される。
上述したコンピュータシステム1は、従来のシステムに対しいくつもの有意な商業的応用性と利点を有する。複数の仮想コンピュータを使用することにより、システム1は、各ユーザに設定および構成され、異なるユーザには再構成されるべき物理的なハードウェアの使用を必要としない。むしろ、システム1の「ハードウェア」は複数の仮想コンピュータであり、これらは実際に、ハードウェアへのソフトウェアの実装である仮想コンピュータが機能する複数の仮想コンピュータである。好適な実施例では、複数の仮想コンピュータは同時に「生き」ており、すなわち使用されていない総ての仮想コンピュータはランダムに、即座かつ自動的にシステム1の各認証ユーザがシステム1にログインしたときにに利用可能となり、さらにあるユーザは仮想コンピュータを実質的に期間の制限無く使用してもよい。従来のシステムでは、従来技術の章で参照した’006特許のように、各Dynamic Computing Environmentを構成するのに有限の時間(数分または数秒内)でユーザが利用可能となる。自然、コンピュータ設備の使用期間にわたり、各ユーザがシステム資源へのアクセスが提供される前に前記環境を構成するのに必要なコンピュータのダウンタイムは、システム運用において有意の出費となる。コンピュータシステム1では、このコンピュータのダウンタイムが完全に排除される。
コンピュータシステム1の他の重要な利点は、システムが、当該システム1により提供される仮想コンピュータの各ネットワークユーザに「デスクトップエクスペリエンス」を生成しうることである。結果として、最初にスタンドアロン型コンピュータシステムの動作に制限されていたシステム1のユーザは、システム1が提供する見た目、操作感、および、USBデバイス、音声、映像、キーボード、マウス、シリアル、パラレル、および他のポートを含むアプリケーションの機能が、スタンドアロン型コンピュータの同じアプリケーションで利用していた見た目、操作感、機能と同一であるため、新たなシステムを学んで慣れる必要がなくなる。これに関し、ネットワークユーザが「パーソナルコンピュータ」ではなく「末端デバイス」を使用することは、パーソナルコンピュータを購入して継続的にサポートするのに必要な実質的な出費が排除されることを意味する。
コンピュータ1のさらなる利点は、システムのユーザが’006特許のようにコンピュータセッションを計画する必要がないことである。’006開示のシステムは、互換性のあるオペレーティングシステムを用いる物理的なコンピュータがアプリケーションを実行することが必要であるとともに、ハードウェアの入手に明らかに限界があるため、コンピュータセッションの予約が必要である。システム1は、このシステムによる仮想コンピュータの使用のため、および統計モデルを利用して認証ユーザに対し常に十分な数の利用可能な仮想コンピュータがあるようにするため、特定のハードウェアの予約(schedule)を行わない。ユーザの数が統計上予め算出された最大値に近づいたら、予想される追加ユーザに供するために追加の仮想コンピュータを単に作動させればいいのである。
コンピュータシステム1を好適な実施例および特定の他の実施例について説明したが、当業者は、これらの実施例の根底にある原理から逸脱することなく他の実施例や構成を提供することができる。本発明の範囲は、添付のクレームによって定義される。
図1は、コンピュータサービス提供システムおよび方法の一般的な構成のブロック図である。 図2は、コンピュータサービス提供システムおよび方法の一般的な構成のブロック図であり、リモート周辺デバイスの利用を示す。 図3は、コンピュータサービス提供システムおよび方法の一般的な構成のブロック図であり、仮想コンピュータシステムを示す。 図4は、仮想コンピュータシステムの構築を説明するフローチャートである。 図5は、ユーザのストレージシステムの構築と前記仮想コンピュータシステム内での利用を説明するフローチャートである。 図6は、請求システムの構築と前記仮想コンピュータシステム内での利用を説明するフローチャートである。 図7は、ユーザのシステムとの相互作用とコンピュータサービス提供法補を説明するフローチャートである。

Claims (27)

  1. コンピュータサービスを提供するコンピュータシステムであって、
    a)仮想オペレーティングシステムを有する少なくとも1の仮想コンピュータと、
    b)前記少なくとも1の仮想コンピュータとホストコンピュータ間の通信を確立するための仮想化レイヤと、
    c)末端デバイスを使用するユーザに、前記末端デバイスと前記1以上の仮想コンピュータ間で臨時ベース(unscheduled basis)のネットワーク通信を確立するための仮想コンピュータセレクタと、
    d)少なくとも1の仮想アプリケーションプログラムを有するストレージシステムであって、前記1以上の仮想コンピュータに接続されており、前記少なくとも1の仮想アプリケーションプログラムを前記1以上の仮想コンピュータおよび前記末端デバイスを使用するユーザにほぼ瞬時に利用可能とし、これにより前記ユーザが前記少なくとも1の仮想アプリケーションプログラムと相互作用を開始できるようにするストレージシステムと、
    e)前記ユーザが前記末端デバイスと前記少なくとも1の仮想コンピュータ間の通信を終了した場合に前記1以上の仮想コンピュータを開放する仮想コンピュータエージェントと、を具えることを特徴とするコンピュータシステム。
  2. 請求項1のコンピュータシステムにおいて、さらに、予想されるユーザの数にサービスするのに必要な仮想コンピュータの数を決定するのに使用する統計モデルを含むことを特徴とするコンピュータシステム。
  3. 請求項1のコンピュータシステムにおいて、前記ユーザ仮想コンピュータには、前記複数のホストコンピュータにおける関連するホストコンピュータから予め定められた量のCPUが割り当てられることを特徴とするコンピュータシステム。
  4. 請求項1のコンピュータシステムにおいて、前記少なくとも1の仮想アプリケーションプログラムとの前記ユーザの相互作用に関連する請求イベントが、前記ユーザに送られる請求書を作成するために請求システムに保存されることを特徴とするコンピュータシステム。
  5. 請求項1のコンピュータシステムにおいて、さらに、前記複数の仮想コンピュータとネットワーク接続するローカルの周辺デバイスを具えることを特徴とするコンピュータシステム。
  6. 請求項1のコンピュータシステムにおいて、さらに、前記複数の仮想コンピュータとネットワーク接続するリモートの周辺デバイスを具えることを特徴とするコンピュータシステム。
  7. コンピュータサービスを提供するコンピュータシステムであって、
    a)複数組の仮想コンピュータであって、各組が複数の仮想コンピュータを具え、1つの組内の各仮想コンピュータがその組の他の総ての仮想オペレーティングシステムと同一の仮想オペレーティングシステムを有し、いずれか1の組の仮想オペレーティングシステムは他の仮想コンピュータの組の総ての仮想オペレーティングシステムと異なる、複数組の仮想コンピュータと;
    b)各仮想コンピュータと、複数のホストコンピュータからの関連するホストコンピュータとの間の通信を確立する仮想化レイヤと;
    c)前記複数の仮想コンピュータとネットワーク接続された末端デバイスと、
    d)前記末端デバイスのユーザに少なくとも1の仮想オペレーティングシステムの選択を提示し、ユーザから仮想オペレーティングシステムの選択を受け付け、臨時ベースで、前記末端デバイスと前記複数組の仮想コンピュータからのユーザ仮想コンピュータとの間で前記ユーザがネットワーク通信を確立するのを許可し、前記ユーザ仮想コンピュータは前記ユーザが選択した仮想オペレーティングシステムに適合する仮想オペレーティングシステムを有する、仮想コンピュータセレクタと;
    e)少なくとも1の仮想アプリケーションプログラムを格納するストレージシステムであって、各仮想コンピュータに接続されており、各仮想コンピュータと前記ストレージシステムは前記少なくとも1の仮想アプリケーションプログラムを、前記ユーザ仮想コンピュータおよび前記ユーザが操作する末端デバイスからほぼ即座に利用可能とし、これにより前記ユーザが前記少なくとも1の仮想アプリケーションプログラムとの相互作用を開始できるようにするストレージシステムと;
    f)前記ユーザが前記末端デバイスと前記ユーザ仮想コンピュータ間の通信を終了させた場合に、前記ユーザ仮想コンピュータを開放する仮想コンピュータエージェントと、を具えることを特徴とするコンピュータシステム。
  8. 請求項7のコンピュータシステムにおいて、さらに、予想されるユーザの数にサービスするのに必要な仮想コンピュータの数を決定するのに使用する統計モデルを含むことを特徴とするコンピュータシステム。
  9. 請求項7のコンピュータシステムにおいて、前記ユーザ仮想コンピュータに、前記複数のホストコンピュータにおける関連するホストコンピュータから予め定められた量のCPUが割り当てられることを特徴とするコンピュータシステム。
  10. 請求項7のコンピュータシステムにおいて、前記少なくとも1の仮想アプリケーションプログラムとの前記ユーザの相互作用に関連する請求イベントが、前記ユーザに送られる請求書を作成するために請求システムに保存されることを特徴とするコンピュータシステム。
  11. 請求項7のコンピュータシステムにおいて、さらに、前記複数の仮想コンピュータとネットワーク接続するローカルの周辺デバイスを具えることを特徴とするコンピュータシステム。
  12. 請求項7のコンピュータシステムにおいて、さらに、前記複数の仮想コンピュータとネットワーク接続するリモートの周辺デバイスを具えることを特徴とするコンピュータシステム。
  13. ユーザにデスクトップエクスペリエンスを提供するコンピュータシステムであって、
    a)仮想オペレーティングシステムを有する少なくとも1の仮想コンピュータと、
    b)前記少なくとも1の仮想コンピュータとホストコンピュータ間の通信を確立するための仮想化レイヤと、
    c)末端デバイスを使用するユーザに、前記末端デバイスと前記1以上の仮想コンピュータ間で臨時ベースのネットワーク通信を確立するための仮想コンピュータセレクタと、
    d)少なくとも1の仮想アプリケーションプログラムを有するストレージシステムであって、前記1以上の仮想コンピュータに接続されており、前記少なくとも1の仮想アプリケーションプログラムを前記1以上の仮想コンピュータと前記末端デバイスを使用するユーザとにほぼ瞬時に利用可能とし、これにより前記少なくとも1の仮想アプリケションプログラムと相互作用する間、ユーザにデスクトップエクスペリエンスが提供されるストレージシステムと、
    e)前記ユーザが前記末端デバイスと前記少なくとも1の仮想コンピュータ間の通信を終了した場合に前記1以上の仮想コンピュータを開放する仮想コンピュータエージェントと、を具えることを特徴とするコンピュータシステム。
  14. 請求項13のコンピュータシステムにおいて、さらに、予想されるユーザの数にサービスするのに必要な仮想コンピュータの数を決定するのに使用する統計モデルを含むことを特徴とするコンピュータシステム。
  15. 請求項13のコンピュータシステムにおいて、前記ユーザ仮想コンピュータには、前記複数のホストコンピュータにおける関連するホストコンピュータから予め定められた量のCPUが割り当てられることを特徴とするコンピュータシステム。
  16. 請求項13のコンピュータシステムにおいて、前記少なくとも1の仮想アプリケーションプログラムとの前記ユーザの相互作用に関連する請求イベントが、前記ユーザに送られる請求書を作成するために請求システムに保存されることを特徴とするコンピュータシステム。
  17. 請求項13のコンピュータシステムにおいて、さらに、前記複数の仮想コンピュータとネットワーク接続するローカルの周辺デバイスを具えることを特徴とするコンピュータシステム。
  18. 請求項13のコンピュータシステムにおいて、さらに、前記複数の仮想コンピュータとネットワーク接続するリモートの周辺デバイスを具えることを特徴とするコンピュータシステム。
  19. ユーザにデスクトップエクスペリエンスを提供するコンピュータシステムであって、
    a)複数組の仮想コンピュータであって、各組が複数の仮想コンピュータを具え、1つの組内の各仮想コンピュータがその組の他の総ての仮想オペレーティングシステムと同一の仮想オペレーティングシステムを有し、いずれか1の組の仮想オペレーティングシステムは他の仮想コンピュータの組の総ての仮想オペレーティングシステムと異なる、複数組の仮想コンピュータと;
    b)各仮想コンピュータと、複数のホストコンピュータから関連するホストコンピュータとの間の通信を確立する仮想化レイヤと;
    c)前記複数の仮想コンピュータとネットワーク接続された末端デバイスと、
    d)前記末端デバイスのユーザに少なくとも1の仮想オペレーティングシステムの選択を提示し、ユーザから仮想オペレーティングシステムの選択を受け付け、臨時ベースで、前記末端デバイスと前記複数組の仮想コンピュータからのユーザ仮想コンピュータとの間で前記ユーザがネットワーク通信を確立するのを許可し、前記ユーザ仮想コンピュータは前記ユーザが選択した仮想オペレーティングシステムに適合する仮想オペレーティングシステムを有する、仮想コンピュータセレクタと;
    e)少なくとも1の仮想アプリケーションプログラムを格納するストレージシステムであって、各仮想コンピュータに接続されており、各仮想コンピュータと前記ストレージシステムは前記少なくとも1の仮想アプリケーションプログラムを、前記ユーザ仮想コンピュータと前記ユーザが操作する末端デバイスとからほぼ即座に利用可能とし、これにより前記少なくとも1の仮想アプリケーションプログラムと相互作用する際に前記ユーザにデスクトップエクスペリエンスが提供されるストレージシステムと;
    f)前記ユーザが前記末端デバイスと前記ユーザ仮想コンピュータ間の通信を終了させた場合に、前記ユーザ仮想コンピュータを開放する仮想コンピュータエージェントと、を具えることを特徴とするコンピュータシステム。
  20. 請求項19のコンピュータシステムにおいて、さらに、予想されるユーザの数にサービスするのに必要な仮想コンピュータの数を決定するのに使用する統計モデルを含むことを特徴とするコンピュータシステム。
  21. 請求項19のコンピュータシステムにおいて、前記ユーザ仮想コンピュータに、前記複数のホストコンピュータにおける関連するホストコンピュータから予め定められた量のCPUが割り当てられることを特徴とするコンピュータシステム。
  22. 請求項19のコンピュータシステムにおいて、前記少なくとも1の仮想アプリケーションプログラムとの前記ユーザの相互作用に関連する請求イベントが、前記ユーザに送られる請求書を作成するために請求システムに保存されることを特徴とするコンピュータシステム。
  23. 請求項19のコンピュータシステムにおいて、さらに、前記複数の仮想コンピュータとネットワーク接続するローカルの周辺デバイスを具えることを特徴とするコンピュータシステム。
  24. 請求項19のコンピュータシステムにおいて、さらに、前記複数の仮想コンピュータとネットワーク接続するリモートの周辺デバイスを具えることを特徴とするコンピュータシステム。
  25. コンピュータサービスを提供する方法であって、
    a)仮想オペレーティングシステムを有する少なくとも1の仮想コンピュータを作成するステップと、
    b)仮想化レイヤを用いて前記少なくとも1の仮想コンピュータとホストコンピュータ間の通信を確立するステップと、
    c)前記少なくとも1の仮想コンピュータに接続されたストレージシステムに、少なくとも1の仮想アプリケーションプログラムを保存するステップと、
    d)末端デバイスと前記少なくとも1の仮想コンピュータとの間に臨時ベースのネットワーク接続を確立するステップと、
    e)前記末端デバイスを操作するユーザに、前記少なくとも1の仮想アプリケーションプログラムを選択させ、これがほぼ瞬時に当該ユーザに利用可能となるステップと、
    f)前記ユーザが前記末端デバイスと前記少なくとも1の仮想コンピュータ間の通信を終了した場合に前記1以上の仮想コンピュータを開放するステップと、を具えることを特徴とする方法。
  26. コンピュータサービスを提供する方法であって、
    a)複数組の仮想コンピュータであって、各組が複数の仮想コンピュータを具え、1つの組内の各仮想コンピュータがその組の他の総ての仮想オペレーティングシステムと同一の仮想オペレーティングシステムを有し、いずれか1の組の仮想オペレーティングシステムは他の仮想コンピュータの組の総ての仮想オペレーティングシステムと異なる、複数組の仮想コンピュータを作成するステップと;
    b)仮想化レイヤを用いて、各仮想コンピュータと、複数のホストコンピュータから関連するホストコンピュータとの間の通信を確立するステップと;
    c)前記少なくとも1の仮想コンピュータに接続されたストレージシステムに、少なくとも1の仮想アプリケーションプログラムを保存するステップと、
    d)ユーザに仮想オペレーティングシステムの選択を提示し、このユーザから仮想オペレーティングシステムの選択を受け付けるステップと、
    e)末端デバイスを使用するユーザに、臨時ベースで、前記末端デバイスと、前記複数の仮想コンピュータからのユーザ仮想コンピュータとの間で前記ユーザがネットワーク通信を確立させるステップであって、前記ユーザ仮想コンピュータは前記ユーザが選択した仮想オペレーティングシステムに適合する仮想オペレーティングシステムを有するステップと;
    f)前記末端デバイスを使用するユーザに少なくとも1の仮想アプリケーションプログラムを選択させ、これが前記ユーザにほぼ即座に利用可能となり、これにより前記ユーザが前記少なくとも1の仮想アプリケーションプログラムとの相互作用を開始できるようにするステップと;
    g)前記ユーザが前記末端デバイスと前記ユーザ仮想コンピュータ間の通信を終了させた場合に、前記ユーザ仮想コンピュータを開放するステップと、を具えることを特徴とする方法。
  27. ユーザにデスクトップエクスペリエンスを提供する方法であって、
    a)仮想オペレーティングシステムを有する少なくとも1の仮想コンピュータを作成するステップと、
    b)仮想レイヤを用いて、前記少なくとも1の仮想コンピュータとホストコンピュータ間の通信を確立するステップと、
    c)前記少なくとも1の仮想コンピュータと接続されたストレージシステムに、少なくとも1の仮想アプリケーションプログラムを保存するステップと、
    d)末端デバイスと前記少なくとも1の仮想コンピュータ間に臨時ベースでネットワーク通信を確立するステップと、を具えることを特徴とする方法。
JP2008553225A 2006-02-01 2006-09-08 コンピュータサービス提供システムおよび方法 Pending JP2009525531A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US76441606P 2006-02-01 2006-02-01
PCT/US2006/034917 WO2007089283A2 (en) 2006-02-01 2006-09-08 System and method for providing computer services

Publications (1)

Publication Number Publication Date
JP2009525531A true JP2009525531A (ja) 2009-07-09

Family

ID=38327813

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008553225A Pending JP2009525531A (ja) 2006-02-01 2006-09-08 コンピュータサービス提供システムおよび方法

Country Status (3)

Country Link
US (1) US20120290455A1 (ja)
JP (1) JP2009525531A (ja)
WO (1) WO2007089283A2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016521385A (ja) * 2013-03-11 2016-07-21 アマゾン テクノロジーズ インコーポレイテッド 仮想デスクトップのアプリケーション市場
US10142406B2 (en) 2013-03-11 2018-11-27 Amazon Technologies, Inc. Automated data center selection
US10616129B2 (en) 2013-03-11 2020-04-07 Amazon Technologies, Inc. Automated desktop placement
US10686646B1 (en) 2013-06-26 2020-06-16 Amazon Technologies, Inc. Management of computing sessions

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8078577B2 (en) 2008-04-07 2011-12-13 Installfree, Inc. Method of bi-directional synchronization of user data
US8230050B1 (en) 2008-12-10 2012-07-24 Amazon Technologies, Inc. Providing access to configurable private computer networks
US9137209B1 (en) 2008-12-10 2015-09-15 Amazon Technologies, Inc. Providing local secure network access to remote services
US9524167B1 (en) 2008-12-10 2016-12-20 Amazon Technologies, Inc. Providing location-specific network access to remote services
US8201237B1 (en) 2008-12-10 2012-06-12 Amazon Technologies, Inc. Establishing secure remote access to private computer networks
EP2457176B1 (en) * 2009-07-24 2018-11-14 EntIT Software LLC Virtual-machine based application-service provision
JP5817196B2 (ja) * 2010-09-29 2015-11-18 ブラザー工業株式会社 携帯装置のプログラムおよび携帯装置の制御方法
EP2732397B1 (en) * 2011-07-12 2020-02-26 Hewlett-Packard Development Company, L.P. Computing device including a port and a guest domain
US9311160B2 (en) 2011-11-10 2016-04-12 Verizon Patent And Licensing Inc. Elastic cloud networking
US9235856B2 (en) * 2011-11-10 2016-01-12 Verizon Patent And Licensing Inc. Providing overlay networks via elastic cloud networking
US8694986B2 (en) * 2011-12-15 2014-04-08 Microsoft Corporation Providing update notifications on distributed application objects
US8924443B2 (en) * 2012-10-05 2014-12-30 Gary Robin Maze Document management systems and methods
US10623243B2 (en) 2013-06-26 2020-04-14 Amazon Technologies, Inc. Management of computing sessions
US9628335B2 (en) * 2013-11-01 2017-04-18 Sap Se Building and transporting centrally modified software systems

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004171412A (ja) * 2002-11-21 2004-06-17 Ntt Data Corp 仮想pcレンタル装置、コンピュータが実行するためのプログラム、および仮想pcレンタルシステム

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6170014B1 (en) * 1998-03-25 2001-01-02 Community Learning And Information Network Computer architecture for managing courseware in a shared use operating environment
US6735601B1 (en) * 2000-12-29 2004-05-11 Vmware, Inc. System and method for remote file access by computer
US7036006B2 (en) * 2001-05-17 2006-04-25 Veritas Operating Corporation System to provide computing as a product using dynamic computing environments
US7331791B2 (en) * 2002-03-05 2008-02-19 Novell, Inc. System and method for evaluating a person's information technology skills
US7577722B1 (en) * 2002-04-05 2009-08-18 Vmware, Inc. Provisioning of computer systems using virtual machines
WO2004104825A1 (en) * 2003-05-15 2004-12-02 Applianz Technologies, Inc. Systems and methods of creating and accessing software simulated computers
US7246174B2 (en) * 2003-10-28 2007-07-17 Nacon Consulting, Llc Method and system for accessing and managing virtual machines
US20060107269A1 (en) * 2004-11-17 2006-05-18 International Business Machines Corporation Virtual device hub
US7735081B2 (en) * 2004-12-17 2010-06-08 Intel Corporation Method, apparatus and system for transparent unification of virtual machines
US7730486B2 (en) * 2005-02-28 2010-06-01 Hewlett-Packard Development Company, L.P. System and method for migrating virtual machines on cluster systems
US7764667B1 (en) * 2005-05-20 2010-07-27 Oracle America, Inc. System and method for integration of thin client and voice over IP
US8104033B2 (en) * 2005-09-30 2012-01-24 Computer Associates Think, Inc. Managing virtual machines based on business priorty

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004171412A (ja) * 2002-11-21 2004-06-17 Ntt Data Corp 仮想pcレンタル装置、コンピュータが実行するためのプログラム、および仮想pcレンタルシステム

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
CSND200600562005; 中井 大士: '情報漏えい対策・運用コスト削減の新「解法」はこれだ! シンクライアント 最新ネットワーク構築術' N+I NETWORK 第5巻 第9号 第5巻,第9号, 20050901, p.31-35, ソフトバンクパブリッシング株式会社 *
CSNH200600084005; 尾関 隆章: 'セキュリティ端末としてのシンクライアントの導入要件' 沖テクニカルレビュー 第73巻,第1号, 20060101, p.20-25, 沖電気工業株式会社 *
JPN6011053975; 尾関 隆章: 'セキュリティ端末としてのシンクライアントの導入要件' 沖テクニカルレビュー 第73巻,第1号, 20060101, p.20-25, 沖電気工業株式会社 *
JPN6011053976; 中井 大士: '情報漏えい対策・運用コスト削減の新「解法」はこれだ! シンクライアント 最新ネットワーク構築術' N+I NETWORK 第5巻 第9号 第5巻,第9号, 20050901, p.31-35, ソフトバンクパブリッシング株式会社 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016521385A (ja) * 2013-03-11 2016-07-21 アマゾン テクノロジーズ インコーポレイテッド 仮想デスクトップのアプリケーション市場
US10142406B2 (en) 2013-03-11 2018-11-27 Amazon Technologies, Inc. Automated data center selection
US10313345B2 (en) 2013-03-11 2019-06-04 Amazon Technologies, Inc. Application marketplace for virtual desktops
US10616129B2 (en) 2013-03-11 2020-04-07 Amazon Technologies, Inc. Automated desktop placement
US10686646B1 (en) 2013-06-26 2020-06-16 Amazon Technologies, Inc. Management of computing sessions

Also Published As

Publication number Publication date
WO2007089283A2 (en) 2007-08-09
WO2007089283A3 (en) 2008-01-10
US20120290455A1 (en) 2012-11-15

Similar Documents

Publication Publication Date Title
JP2009525531A (ja) コンピュータサービス提供システムおよび方法
US20210409483A1 (en) Multi tenancy for single tenancy applications
US10091210B2 (en) Policy enforcement of client devices
US20120150992A1 (en) System and method for providing computer services
US9830430B2 (en) Inherited product activation for virtual machines
US9110725B1 (en) User interface for dynamic environment using allocateable resources
US9489227B2 (en) Apparatus and method for virtual desktop service
EP2973147B1 (en) Policy-based secure web boot
US20130291062A1 (en) Secure Administration of Virtual Machines
US20130067345A1 (en) Automated Desktop Services Provisioning
TW200821934A (en) System and method for automated operating system installation
JP5893730B2 (ja) クラウドセキュリティ管理システム
US20100058444A1 (en) Methods and systems for managing access in a software provisioning environment
JP2006244508A (ja) 環境に基づくプログラム認証
US8949401B2 (en) Automated digital migration
AU2015358292A1 (en) Computing systems and methods
US20140096208A1 (en) Automated system and method for provisioning and managing cloud desktop services
WO2021178048A1 (en) Provisioning services (pvs) cloud streaming with read cache
US8635670B2 (en) Secure centralized backup using locally derived authentication model
US10447818B2 (en) Methods, remote access systems, client computing devices, and server devices for use in remote access systems
US20040024849A1 (en) Method and system for distributing data
WO2014079489A1 (en) Methods and systems for managing access to a location indicated by a link in a remote access system
EP3791552A1 (en) Deploying data-loss-prevention policies to user devices
US11824848B2 (en) On demand operations access to cloud customer resources
AU2021202457B2 (en) Provisioning service (PVS) cloud streaming with read cache

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090903

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20100227

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110907

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111018

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120110

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120117

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120207

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120214

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120228

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120306

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120418

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20121023