JP2011513816A - 拡張されたサーバーベースのクライアント用デスクトップ仮想マシン構成 - Google Patents

拡張されたサーバーベースのクライアント用デスクトップ仮想マシン構成 Download PDF

Info

Publication number
JP2011513816A
JP2011513816A JP2010547806A JP2010547806A JP2011513816A JP 2011513816 A JP2011513816 A JP 2011513816A JP 2010547806 A JP2010547806 A JP 2010547806A JP 2010547806 A JP2010547806 A JP 2010547806A JP 2011513816 A JP2011513816 A JP 2011513816A
Authority
JP
Japan
Prior art keywords
disk
virtual machine
user
delta
client
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2010547806A
Other languages
English (en)
Other versions
JP5198584B2 (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.)
VMware LLC
Original Assignee
VMware LLC
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 VMware LLC filed Critical VMware LLC
Publication of JP2011513816A publication Critical patent/JP2011513816A/ja
Application granted granted Critical
Publication of JP5198584B2 publication Critical patent/JP5198584B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45537Provision of facilities of other operating environments, e.g. WINE
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/452Remote windowing, e.g. X-Window System, desktop virtualisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/468Specific access rights for resources, e.g. using capability register
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45575Starting, stopping, suspending or resuming virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45583Memory management, e.g. access or allocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Abstract

【課題】サーバーベースのデスクトップ仮想マシンのアーキテクチャーをクライアントマシンに拡張することができる。
【解決手段】
一実施例においては、ユーザーデスクトップはクライアントシステムからリモートアクセスされる。1つ以上のサーバーコンピュータを有してもよいサーバーシステムで実行される第1仮想マシンでリモートデスクトップが生成される。第1仮想マシンの実行中、対応する仮想ディスクへの書き込みはデルタディスクファイルつまりリドゥーログに誘導される。仮想ディスクのコピーがクライアントシステムに作られる。ユーザーがデスクトップを「チェックアウト」すると決めると、第1仮想マシンが(もし実行されているならば)停止され、デルタディスクのコピーがクライアントシステムに作られる。クライアントシステムにデルタディスクが存在するや否や、仮想ディスクとデルタディスクを使用して第2仮想マシンがクライアントシステム上で開始されることができ、クライアントシステム上でユーザーデスクトップへのローカルアクセスを提供する。これにより、ユーザーはネットワークに接続しなくともその時にデスクトップにアクセスできる。
【選択図】図3C

Description

関連出願の相互参照
本出願は、2008年2月26日に出願された米国仮出願第61/031,613の利益を主張する。上記出願は、ここに参照により援用される。
コンピュータ仮想化の恩恵は、演算処理のハードウェアプラットフォームのコンピュータ計算の効率と柔軟性を大きく向上させるものとして認識されてきた。例えば、コンピュータ仮想化は、複数の仮想演算処理マシンが共通の演算処理ハードウェアプラットフォームを実行することを可能にする。物理的な演算処理ハードウェアプラットフォームのように、仮想演算処理マシンは、仮想ハードディスクなどの記憶メディア、仮想プロセッサ、及び演算処理環境に伴うその他のシステム要素を有する。例えば、仮想ハードディスクは、仮想マシンのオペレーティングシステム、データ、アプリケーションファイルを記憶することができる。
サーバーベースの演算処理は、サーバーに対し遠隔に配置されたネットワーク化されたクライアントシステムがサーバーの演算処理リソースにアクセスすることを可能にする。例えば、クライアイントは、RDPやVNCなどのリモートデスクトッププロトコルを使い、デスクトップにリモートアクセスしたり、キーボードやマウス入力などのユーザー入力をリモートシステムに送信することができる。サーバーベースの演算処理は、演算処理リソースの集中管理を容易にする。しかし、欠点は、最適に満たない演算処理体験である。例えば、グラフィックを多用するアプリケーションや、USBデバイスなどのローカルデバイスや、プリンタなどが望まれるように動作しない。更に、ユーザーは、サーバーに記憶されたユーザーデスクトップにアクセスするために、ネットワークに接続した状態を維持しなければならない。
サーバーベースの演算処理の代替として、クライアントサイド演算処理がある。クライアントサイド演算処理は、ユーザーが企業ネットワークから離れる事とオフラインモード(ネットワーク又はインターネットに接続していない事)を可能にする。しかしながら、企業管理の視点から言えば、クライアントサイド演算処理は、オペレーティングシステムやアプリケーションのアップデート、セキュリティの実施、ライセンス遵守、情報の保護、様々なポリシーを忠実に守ること、データのバックアップなどのタスクにおいて、望まれない非効率性をもたらす。
上述した課題は、サーバーベースのデスクトップ仮想マシン構成をクライアントマシンに拡張することにより対処され得る。一実施例においては、ユーザーデスクトップは、クライアントシステムからリモートアクセスされる。リモートデスクトップは、サーバーシステムで動作する第1仮想マシンによって生成される。サーバーシステムは、1つ以上のサーバーコンピュータを含む。第1仮想マシンの実行中、対応する仮想ディスクは、デルタディスクファイルつまりリドゥーログ(redo log)に導かれる。仮想ディスクのコピーが、クライアントシステムに作られる。ユーザーが、デスクトップを「チェックアウト」することを望むとき、第1仮想マシンは(もし動作しているならば)終了し、デルタディスクのコピーがクライアントシステムに作られる。デルタディスクがクライアントシステムに提示されると、仮想ディスクとデルタディスクを使ってクライアントシステムで第2仮想マシンを開始することができ、クライアントシステムにおいてユーザーデスクトップへのローカルアクセスが提供される。これにより、ユーザーは、ネットワークに接続することなく、デスクトップへその時にアクセスすることができる。
集中管理されたユーザーデスクトップへのアクセスを提供する仮想デスクトップインフラストラクチャ(VDI)システムの簡単な例を示す。 仮想化されたコンピュータシステムの例の論理図である。 図1の仮想デスクトップインフラストラクチャシステムの動作を例示によって示すブロック図である。 図1の仮想デスクトップインフラストラクチャシステムの動作を例示によって示すブロック図である。 図1の仮想デスクトップインフラストラクチャシステムの動作を例示によって示すブロック図である。 図1の仮想デスクトップインフラストラクチャシステムの動作を例示によって示すブロック図である。 ユーザーを自動バックグラウンド同期でリモートデスクトップに接続させる手順の例を示すフローチャートである。 デスクトップチェックアウト手順を実装する方法を例によって示すフローチャートである。
図1は、集中管理されたユーザーデスクトップへのアクセスを提供する仮想デスクトップインフラストラクチャ(VDI)システム10の簡単な例を示す。「デスクトップ」という用語は、ユーザーがユーザーのアプリケーション、設定、及びデータを開始、対話、及び管理するヒューマンインターフェース環境を意味する。伝統的には、デスクトップは、オペレーティングシステムによってビデオディスプレイに提示され、ユーザーはマウスやキーボードを使ってデスクトップと対話する。全てのアプリケーションやドキュメントなどはデスクトップに表示されてもよく、通常はユーザー入力はユーザーがディスプレイ上に見ることができるアプリケーションによって受け取られる。「デスクトップ」という用語は、物理的なコンピュータシステム、つまり、「物理的なデスクトップ」を意味するためも使われることが知られている。「物理的なデスクトップ」は、「ラップトップ」又は「パームトップ」とは区別される、ユーザーの机の近く又はその上に配置される。しかし、ここでの使用においては、「デスクトップ」という用語そのものは、上述のヒューマンインターフェース環境のみを意味し、物理的なコンピュータシステムは意味しない。コンピュータ仮想化を使い、オペレーティングシステム設定、アプリケーション、アプリケーション設定、及びデータを含むユーザーのコンピュータシステムは、仮想マシンとして、ある物理的なコンピュータから別の物理的なコンピュータに転送又はコピーされてもよい。仮想マシンがこのようにコピーされる時、元の仮想マシンを含む物理的なコンピュータシステムから、又は、コピーを含む物理的なコンピュータシステムから、ユーザーはデスクトップにアクセスすることができる。従って、もはや「デスクトップ」は、特定の物理的なコンピュータシステムに紐づけられない。
VDIシステム10は、ネットワーク13を介してVDIクライアントシステム12、14、及び16とデータ通信するVDIサーバーシステム11を有する。ネットワーク13は、どのような形態であってもよく、例えば、ローカルエリアネットワーク(LAN)又はインターネットのようなプライベートアクセス又は公衆アクセス可能なワイドエリアネットワークであってもよい。なお、図1は、ファイヤーウォール、コネクションブローカ、ロードバランサ、バックエンドストレージネットワーク、データベースなどのその他の構成を含んでもよい典型的なVDIネットワークサーバーシステム11の簡単な図である。それぞれのクライアントシステム12、14、16は、ユーザーがデスクトップと対話するためのユーザーインターフェース40(1つのみが示される)を含んでもよい。
図2は、仮想化されたコンピュータシステム20の例の論理図である。下記に詳説されるように、VDIサーバーシステム11、VDI クライアントシステム12、14、及び16は、図2を参照して説明される仮想化ソフトウェアを含んでもよい。仮想化されたコンピュータシステム20は、物理的なハードウェアプラットフォーム22、ハードウェアプラットフォーム22で動作する仮想化ソフトウェア80、及び仮想化ソフトウェア80によってハードウェアプラットフォーム22で動作する1つ以上の仮想マシン70を含む。従って、仮想化ソフトウェア80は、ハードウェアプラットフォーム22の物理的なハードウェアと仮想マシン70で動作するゲストシステムソフトウェア72との間に論理的に配置される。
ハードウェアプラットフォーム22は、1つ以上のシステムバス28を有する演算処理システム。システムバスは、様々なハードウェアプラットフォームコンポーネントが互いにデータ通信できるようにする。例えば、1つ以上のプロセッサ24は、システムバス28を使って、メモリー26とデータ通信するように構成される。メモリー26は、リードオンリーメモリー(ROM)、ランダムアクセスメモリ(RAM)、キャッシュメモリー、及び様々なレジスタメモリーを含むメモリーのシステムを有してもよい。不揮発データストレージ30は、ソフトウェア又はデータの記憶のための、1つ以上のディスクドライブ又は他の機械による読み込みが可能な媒体又は大容量データ記憶システムを含んでもよい。メモリー26及び/又は不揮発データストレージ30は、仮想化ソフトウェア80及び仮想マシン70で動作するゲストシステムソフトウェア72を記憶してもよい。ユーザーインターフェース40は、(図示されない)キーボードコントローラ、(図示されない)マウスコントローラ、(図示されない)ビデオコントローラ、(図示されない)オーディオコントローラを含むように提供されてもよく、それぞれ対応する(図示されない)ユーザーデバイスに接続されてもよい。サーバーコンピュータシステムにおいて典型的に見られるように、VDIサーバーシステム11(図1)においては、ユーザーインターフェース及びデバイスは、ハードウェアプラットフォーム22に含まれていても含まれていなくてもよく、又は接続されていても接続されていなくてもよい。代わりに、データセンタ管理の分野で一般的に知られているように、ユーザー対話は遠隔から行われてもよい。ネットワークインターフェース50は、ネットワーク13のようなネットワークを介してデータ通信を可能にする(図1)。ネットワークインターフェース50は、TCP/IPなどのネットワークプロトコルを使って通信を容易にする。
コンピュータ仮想化の分野では、仮想化ソフトウェア80はよく知られている。仮想化ソフトウェア80は、システムリソース管理及び仮想マシンエミュレーションを行う。仮想マシンエミュレーションは、仮想マシンモニター(VMM)コンポーネントによって行われてもよい。典型的な実装においては、それぞれの仮想マシン70(1つのみが示される)を対応するVMMインスタンスを有する。実装により、仮想化ソフトウェア80は、ホストされていなくてされていてもよい。ホストされていない仮想化ソフトウェアは、一般的に、システムリソースを管理する特化された仮想化カーネルに依存する。一方、ホストされている仮想化ソフトウェアは、商品としてのオペレーティングシステム、つまり、システムリソースを管理するWindows(登録商標)やLinux(登録商標)などの「ホストオペレーティングシステム」に依存する。ホストされた仮想化システムにおいては、ホストオペレーティングシステムは、仮想化ソフトウェア80の一部分と考えられてもよい。
仮想マシン70は、概念的には、(仮想化ソフトウェア80によってエミュレートされる)仮想ハードウェアデバイスの状態及びゲストシステムソフトウェア72の内容を含む。図2に示されるように、ゲストシステムソフトウェア72は、ゲストオペレーティングシステム74及びゲストアプリケーション78を含む。ゲストオペレーティングシステム74は、Windows(登録商標)やGNU/Linux(登録商標)などの商品としてのオペレーティングシステムであってもよい。仮想化ソフトウェア80は、ローカルユーザーインターフェース40又はリモートデスクトップクライアントへユーザーインターフェース出力を導くことを含め、仮想マシン70との入出力を管理する。
図3A及び図3Bは、ユーザーデスクトップへのリモート(又は集中)アクセスとローカルアクセスの両方を有し、1ユーザーがデスクトップにリモートアクセス又はローカルアクセスすることを可能にする拡張可能なVDIシステム100を示す簡単なブロック図を示す。拡張可能な VDIシステム100は、サーバーシステム110とクライアントシステム 120を含む。仮想マシン(VM)118はサーバーシステム110で実行され、ユーザーによってクライアントシステム120経由でアクセスされることができる。VM118は、図2を参照して上述の全てのユーザーアプリケーションとデータを含み、仮想化ソフトウェア117を使って実行される。一実施例においては、仮想化ソフトウェア117は、ホストされていない仮想化ソフトウェアを有する。更に、たった1つのVM118がサーバー110で実行されるとして示されているが、任意の数のVMが実行されてもよく、それぞれは1人以上の対応するユーザーに関連づけられてもよい。
仮想化ソフトウェア117は、ユーザーI/Oをリモートデスクトップホスト115に導く。リモートデスクトップホスト115は、ユーザーのグラフィックとサウンドをリモートデスクトップクライアント125に送信する。同様に、リモートデスクトップクライアント125は、キーボードやマウス入力などのユーザーの入力をリモートデスクトップホスト115に送信する。リモートデスクトップクライアント125は、様々なユーザーI/Oデバイスを有してもよいユーザーインターフェース124経由で、ユーザーのデスクトップをユーザーに示す。
クライアントシステム120は、リモートデスクトップクライアント125に加えて、仮想マシン128及び仮想化ソフトウェア127を含む。仮想マシン128は仮想ディスク132にアクセスできる。仮想ディスク132は、クライアントシステム 120に接続した物理ディスク130上の1つ以上のファイルに存在するディスクイメージである。仮想ディスク132は、仮想化ソフトウェア 127により維持される。一実施例においては、仮想化ソフトウェア127は、ホストされた仮想化ソフトウェアを有する。ホストされた仮想化ソフトウェアは、上述したようにクライアントのホストオペレーティングシステムと連動して実行される。仮想ディスク132は、最初に仮想ディスク142からコピーすることができる(又は、逆に仮想ディスク142は、最初に仮想ディスク132からコピーすることができる)。これにより、ある特定の状態においては、仮想ディスク132及び142は、同一、又は同一ではないが論理的に同等である。論理的に同等とは、それぞれの仮想ディスクが同じファイルシステム及びデータファイルを有し、それらは同一のファイルシステム構造において論理的に関連しているが、実際のディスクセクタは同じ順番とはなっていないかもしれないことを意味する。2つの同一のディスクも、論理的に同等である。
サーバーシステム110は、サーバーシステム110にアクセス可能な物理ディスク140を含んでいるか通信可能である。物理ディスク40は、対応する仮想マシンのディスクイメージファイルであり、ユーザー仮想ディスクに記憶するために仮想化ソフトウェア117によって利用される。ユーザーがVM118で作業する時、VM118は書き込みを仮想ディスク142に発行してもよい。仮想ディスク142は、物理ディスク140上の1つ以上のファイルとして存在している。しかし、変更を直接仮想ディスク142に書き込む代わりに、仮想化ソフトウェア117は、書き込みをデルタディスク144にリダイレクトするように構成されてもよい。デルタディスク144は、リドゥーログ又はその他の「差分」ファイルを有してもよい。本質的に、デルタディスク144は、実際に仮想ディスク142を変更することなく、仮想ディスク142への変更のリストを保持する。デルタディスクは、仮想化の技術において知られており、例えば、米国特許第7,356,679号に更なる詳細が記載されている。仮想マシン118が読み込みを発行する時、仮想化ソフトウェア117は、デルタディスク144にアクセスし、そこにデータがあるかどうか判断する。もし、そこにデータが無いならば、仮想マシン118は、仮想ディスク142、つまり、デルタディスク144の親となるディスクイメージにアクセスする。そして、あたかも単純に物理デバイスのディスク読み込みが発生したかのように、仮想化ソフトウェア117は、データを仮想マシン118に届ける。
オフラインで(例えば、サーバーシステム110にアクセスせずに)アクセス可能になるように、ユーザーが仮想マシンを「チェックアウト」すると決定すると、ユーザーは、この要望を管理ソフトウェア(図示されないが、詳細は下記に説明される)に伝えてもよい。この時、仮想マシン118は「電源オフ」され、デルタディスク144がユーザーの物理ディスク130にコピーされ、ユーザーの物理ディスク130にデルタディスク134が作られる。このダウンロードが完了し検証されると、デルタディスク144を構成する書き込みが仮想ディスク142にマージされ、デルタディスク134も同様に仮想ディスク132にマージされ、仮想ディスク132及び仮想ディスク142が論理的に同等な状態に維持されるが、ユーザーによって残された最新の状態を反映するようにアップデートされる。
一実施例においては、仮想マシン118を電源オフする代わりに、ユーザーは単純にサスペンドされてもよい。この場合、VM状態136も仮想化ソフトウェア117からダウンロードされ、仮想化ソフトウェア117が仮想マシン118の状態を維持する。
図3Bは、拡張可能な VDIシステム100を示し、ユーザーが仮想マシン 128をローカルで実行することによりオフラインでデスクトップにアクセスしているところを示す。この場合、リモートデスクトップクライアント125を使わずに、仮想化ソフトウェア127はクライアントシステム 120上で仮想マシン128を実行する。従って、ユーザーは、ネットワークから切断されていてもよく、オフラインで作業してもよい。仮想化ソフトウェア127は、直接に仮想ディスク132を変更しない。代わりに、仮想化ソフトウェア127は、図3Aでデルタディスク144に関して説明したように、ユーザーが仮想ディスク132に対して行った全ての変更を含むデルタディスク134を作る。
ある時において、デスクトップをサーバーシステム110に「チェックイン」したい又はする必要があるかもしれない。この時、仮想マシン128は、「電源オフ」され、仮想化ソフトウェア 127はサーバー110に接続し、デルタディスク134をサーバーのデータストレージ140にコピーして、デルタディスク144を作る。一実施例においては、仮想マシンは、電源オフされる代わりに、サスペンドされてもよく、VM状態146はサーバーシステム10にアップロードされる。デルタディスク134又はデルタディスク134プラス状態146のコピーの後、デルタディスク134、144は、仮想ディスク132、142にそれぞれマージされる。「マージ」は、それぞれのデルタディスクに格納されるディスク書き込みが仮想ディスクファイル132、142にそれぞれ書き込まれることを意味する。このチェックイン手順の後、仮想ディスク132、142それぞれは、同一又は少なくとも論理的に同等である。これにより、ユーザーは、仮想マシン128の離れたときの状態の仮想マシン118を使って、演算処理を開始してもよい。
今から更に詳細に説明されるが、上述したチェックイン、チェックアウト機能の基本的な動作について、様々な向上や最適化が行われることができる。
図3Cは、拡張可能な VDIシステム100のより詳細な図である。サーバーシステム110に接続した物理ディスク140に存在する1つ以上のファイル141によって、ユーザーデスクトップが定義される。ファイル141は、ポリシー149、仮想ディスク142、デルタディスク144、及びVM状態146のファイルを含む。ポリシーは、データベースを使う、及び/又は、仮想ディスク142にメタデータとして埋め込まれているか関連付けられている設定ファイルによって、記憶することができる。追加的なデスクトップファイル148は、対応するユーザー又はユーザーのグループによってアクセス可能な追加的なデスクトップを定義するために、提供されてもよい。
図3Cに示されるように、クライアントシステム120は、サーバーシステム110の管理サーバー112と通信するVDIクライアント122を含む。管理サーバー112は、クライアント120のユーザーを認証し、ユーザーデスクトップへのアクセスの要求を処理し、ポリシー149を実施する。ポリシー149は、特定のデスクトップが、誰に対してどのような状況のもとに提供可能となってもよいかを定義する。例えば、ユーザーの場所又はグループ又は要求されるサービスに基づいたポリシーであるグローバルポリシーも設定されているかもしれなくとも、ポリシー149は要求を行うユーザーに固有のものであってもよい。
一実施例においては、管理サーバー112は、上述のように複数のサーバーマシンを含んでもよいサーバーシステム110のその他のコンポーネント及びクライアントシステム120にネットワークを介して通信する別個の物理的なコンピュータシステムにインストールされるサーバーアプリケーションである。この例においては、ユーザーがクライアントシステム120のVDIクライアント125と対話する時、ユーザーと関連付けられたデスクトップのためにサーバー110にネットワーク13を介して要求が送られる。上述したように、サーバーシステム110は、それぞれが1つ以上のユーザーに対応する複数のVM(1つのみが示される)を含んでもよい。管理サーバー112は、ユーザーの要求を受信し、ユーザー及び/又は要求を認証し、VM118を必要に応じて開始又は再開し、VDIクライアント125をリモートデスクトップ サーバー115に接続する。
VDIクライアント122は、プレゼンテーションレイヤー124を含む。プレゼンテーションレイヤー124は、ユーザーがVDIクライアント122つまりサーバーシステム110と対話するグラフィカルユーザーインターフェースを提供する。一実施例においては、VDIクライアント122は、インターネットブラウザの中又はインターネットブラウザと連動して実行される。
ある時において、図3A及び図3Bを参照して上述されたように、ユーザーはデスクトップに「チェックイン」又は「チェックアウト」したいかもしれない。この場合、仮想ディスク又はデルタディスクは、(ユーザーがデスクトップに「チェックイン」しているのかそれとも「チェックアウト」しているかによって)クライアントシステム 120からサーバーシステム110にコピーされるか、又は逆にサーバーシステム110からクライアントシステム 120にコピーされる。もし、ユーザーが仮想ディスクのローカルコピーを有しないコンピュータにデスクトップをチェックアウトするならば、デルタディスク144は、サーバーシステムの仮想ディスク142にマージされてもよく、仮想ディスク全体は、ユーザーのローカルクライアントシステム120にコピーされる。仮想ディスクが極めて大きくなり得るため、この初期のチェックアウトは、大量のデータと潜在的に制限されたバンド帯域のために、極めて時間のかかるものである。次回のチェックイン及びチェックアウト手順中に送信されるデルタディスクでさえ、ユーザーアクティビティによっては極めて大きくなり得る。例えば、新しいアプリケーションはインストールされてもよく、又は、既存のアプリケーション又はオペレーティングシステムのコンポーネントは、広範囲にアップデート又はパッチを当てられてもよい。
一実施例においては、ユーザーデスクトップのチェックイン及びチェックアウトに要求される時間は、例えば、ユーザーが仮想マシンと対話している際にユーザーアクティビティや仮想マシンの動作に干渉せずに、データをクライアントシステム120とサーバーシステム110の間でバックグラウンドで送信することにより、減らすことができる。これは、バックグランド同期又はバックグラウンドデータ転送と呼ばれてもよい。バックグランドデータ転送は、単にVM118へのアクセスが許可されただけのクライアントシステム120のユーザーに応答して、自動的に行われてもよい。このように、仮想ディスク142の正確で最新の描写は、ユーザーの演算処理経験を顕著なほど減ずることなく、クライアントシステム120から又はクライアントシステム120へ転送されてもよい。ユーザーが新しいクライアントシステム110からリモート作業を始める時、仮想ディスク142の完全なコピーがクライアントシステム120の仮想ディスク132として準備完了になるまで、仮想ディスク142はバックグラウンドで転送されてもよい。その後、仮想ディスク142への変更はクライアントシステム120へバックグラウンドで転送され、デルタディスク132のビルドが開始される。ユーザーがデスクトップをチェックアウトすると決定すると、少なくとも仮想ディスク142への変更の大部分は、クライアントシステム120へ既に転送されているはずである。同様に、ユーザーがデスクトップをチェックインすると決定すると、少なくとも仮想ディスク132への変更の大部分は、クライアントシステム110へ既に転送されているはずである。
ユーザーが、デスクトップにおいて、セッションからログオフすると決めると、デルタディスク144とデルタディスク134の残存する差分は、最終的な変更を送信することにより解決される。クライアントシステム120とサーバーシステム110の通信の完了の後、デルタディスク144の表現される変更は、仮想ディスク142に書き込みされてもよい。一実施例においては、仮想ディスク142を更新する最中にVM118の安定状態を確実にするためにVM118の動作が終了させられた後に、これが起こる。VM118の動作の終了は、VM118の電源オフ又はVM118の動作のサスペンドを含んでもよい。VMの電源オフは、典型的には、VMが実行されるゲストオペレーティングシステムの電源オフ手順を実行することを含む。この手順においては、プロセスは終了し、現在メモリーに存在する一時的又はキャッシュされたデータがディスクに書き込まれる。VMが電源オフされる時、状態情報はほとんど存在しないか全く存在しない。一方、サスペンド動作は、実行の停止と、VM状態ファイル146への書き込みによって仮想マシンの状態を保存することを含む。
デルタディスク144が仮想ディスク142にマージされた後、デルタディスク144は削除されてもよく、削除用にマークされてもよく、又はもはや有効ではないとして特定されてもよい。仮想ディスク132と仮想ディスク142の一貫性を保ってそれぞれのディスクへの変更を同期と呼ぶ。上述の仮想マシン118の動作の停止を参照して上述されたのと同様にしてVM128のローカル実行が停止された後、このようにしてユーザーの仮想マシンは同期されてもよい。
管理サーバー112は、仮想マシン118と同期されていない仮想マシン118に対応する仮想マシン128が無いということが確実になるまで、仮想マシン118の動作を排除するポリシーを確立又は実施してよい。つまり、もし、ユーザーがデスクトップとオフラインで対話した場合、デルタディスク134を作成させ、管理サーバー112は、デルタディスク134に表わされる変更がサーバーシステム110に送信され仮想ディスク142にマージされるまで、VM118の使用を中止してもよい。
ユーザーデスクトップに対応する情報の同期を維持することは、ユーザーデスクトップでポリシー管理を実行することを含んでもよい。ポリシー149の例としては、ユーザーのデスクトップのコピーがクライアントシステム120に転送されてよいかどうか又はどのような条件で転送されてよいかについての情報、サーバーシステム110にチェックインされるまでにデスクトップがどれだけの時間チェックアウトされていたか、仮想マシン128/118の使用の制限、等が挙げられる。仮想化ソフトウェア 127及び/又はVDIクライアント122は、例えば、仮想ディスク132や関連付けられたデルタディスクに記憶されたデータに許可なくアクセスすることを防ぐ暗号化を使用するなどの、確立されたポリシーを実施するように構成されていてもよい。
一実施例においては、ユーザーがVDIクライアント122を開始すると、ユーザーは認証情報を要求するログインスクリーンを提示されてもよい。そして、VDIクライアントは、認証情報をリモートデスクトップサーバー112などのサーバーシステム110に通信する。リモートデスクトップサーバー115は、ユーザーの認証を確認し、ユーザーの認証情報に対応する既存のデスクトップの要求を管理サーバー112に送る。管理サーバー112は、リモートデスクトップ サーバー115から要求を受信し、提供されたユーザー識別子をマッピングテーブル114と比較する。マッピングテーブル114は、ユーザー識別子をサーバーシステム110の1つ以上の仮想マシンと関連付ける。管理サーバー112は、ユーザー識別子に関連付けられた仮想マシンを特定した後、管理サーバー112は、対応するデスクトップへのリモートユーザーアクセスのために接続情報を提供するか、又はVDIクライアント110とリモートデスクトップ サーバー115の間の接続を容易にする。
別の実施例では、サーバーシステム110に送信されるユーザー要求は、ローカルデスクトップ状態情報を含んでもよい。ローカル状態情報は、リモートデスクトップサーバー115からの問い合わせに応答して要求とは別に提供されてもよい。ローカル状態情報は、ユーザーのローカルクライアントシステム120とサーバーシステム110の差分を特定するのを助ける情報を含んでもよい。例えば、ローカル状態情報は、ユーザーがオフラインでデスクトップにアクセスしてデルタディスク134が作られたかどうか、を含んでもよい。もし、デルタディスク134があるならば、管理サーバー112は、仮想マシン118へのアクセスを許可する前に、差分の送信をバックグラウンドで開始する。もし、送信時間が長いと予測されるならば、ユーザーは、バックグラウンド同期の間に、ローカルVM128に即座に接続されてもよい。もし、デルタディスク134が無く、デルタディスク144が存在するならば、VM118への接続が、付随する自動バックグラウンド同期とともに、許可されてもよい。
一実施例においては、バックグラウンドデータ転送は、クライアントシステム 120がサーバーシステム110にアクセスしている間に自動的に発生する定期的な問い合わせへ応答して発生してもよい。別の実施例においては、バックグラウンドデータ転送は、クライアントシステム 120のユーザーの要求によってのみ発生してもよい。例えば、ユーザーは、オフラインになる予測において、ローカルクライアントシステム110をサーバーシステム110に同期することを要求してもよい。ほとんどオフラインにならないユーザーにとっては、この特徴の使用は、ネットワーク資源の負荷を顕著に減らすこととなるかもしれない。ポリシー149は、継続的、定期的、又はユーザーによって開始される同期を要求、許可(例えば、ユーザーに決定させる)、又は防止してもよい。
図3Dに例示によって示される実施例においては、ユーザーデータ及びシステムデータは、別の仮想ドライブに保持される。この実施例においては、転送されるデータの量は、ユーザーデータだけをデルタユーザーデータディスク135又は145に書き込むことにより、更に減らせるかもしれない(ユーザーがデスクトップにローカルからアクセスしているか、リモートからアクセスしているかによる)。例えば、サーバーシステム110のユーザーデスクトップのための情報は、物理ディスク150上のディスクイメージファイルとして存在してもよい、システムディスク152に記憶されるシステム情報として分類されてもよく、ユーザーデータは、仮想ユーザーデータディスク(UDD)143に記憶されてもよい。同様に、それらの2つのディスクへの変更は、2つの別個のデルタディスク(つまりデルタシステムディスク144とデルタUDDディスク145)に記憶されてもよい。
一実施例においては、システム情報は、アプリケーション情報78とゲストシステムソフトウェア72を含む(図2)。一方、ユーザーデータは、ドキュメント、設定、ユーザー固有のプロパティ等を含む。Windows(登録商標)、OSX(登録商標)、及びGnu−Linux(登録商標)などのほとんどのオペレーティングシステムは、別のディスク上のユーザーデータやシステムを維持する設備を含む。システムデータとユーザーデータの両方の個別のデルタイメージを作るための仮想化を使用して、管理サーバー112は、データの転送を仮想UDD143に記憶されているユーザー情報のみに制限するように構成されてもよい。この場合、システムに行われた(従って、デルタシステムディスク144に書き込まれた)どのような変更も無視され、従って、この情報が転送されないため、システムディスク152は、ユーザーのデスクトップのそれぞれのチェックイン又はチェックアウトをもって、知られている良い状態に戻る。更に、クライアントシステム112及びサーバーシステム110の間で転送される情報の量が、ユーザーデータのみに減らされてもよい。
一実施例においては、仮想マシンの動作の最中に別個のデルタシステムディスク144に保持された、システムディスク152への変更は、そのユーザーに発生したどのようなポリシーに従ってもよい。即ち、それらは、破棄されてもよく、又は、システムデータ、オペレーティングシステム、及びアプリケーションを含む仮想ディスクにマージされて戻されてもよい。もし、デルタシステムディスク144が破棄されるならば、システムディスク152は、どのような特定のユーザーセッションの最中にユーザーがシステムに加えたどのような変更にも関わらず、知られている良い状態で持続するということにおいて、「持続的システムディスク」であると考えられてもよい。
例えば、オペレーティングシステム又はアプリケーションがアップデートされるか、又は製造者が新しいリリースを発行する時などに、システムディスクへの変更は、パッチファイル154にパッケージ化されてもよい。それらの変更は、現在のシステムディスクとアップデートされたシステムディスクの差分を定義するパッチファイル154を作ることにより、システムディスク152に適用されてもよい。パッチファイルは、パッチを適用されたシステムディスクを作り、またクライアントシステムのシステムディスク132の効率的なパッチ適用のためにクライアントシステム 120へ送信されるために、システムディスク152に適用されてもよい。
ここに説明される他の実施例と共存し得る他の実施例において、削除されたファイルと関連付けられるセクターを特定するために、ファイルシステム情報が分析される。そして、転送されるデータの量を更に減らすためにデルタディスクイメージを転送する時に、それらのセクターは省略されてもよい。分析と省略はデルタディスクの転送の時に起こることがあり、又は分析と省略は別個のステップとして実行されることがあり、デルタディスクを送信前に事前処理してもよい。この場合、仮想ディスクのコピーは同一でなくてもよいが、論理的に同等である。
図4は、ユーザーをリモートデスクトップに自動バックグラウンド同期で接続する手順の例を示すフローチャート200である。スタートブロック202に示されるように手順は開始し、手順はオペレーション204まで進み、クライアントシステム 120のユーザーの認証情報に対応するデスクトップにアクセスするために要求はサーバーシステム120によって受信される(図3A〜図3D)。この要求の受信に応答して、手順はオペレーション206まで進み、サーバーシステム110がユーザー認証を確認する。もし認証が無効であるならば、手順はオペレーション208に進み、アクセスは拒否され、手順は終了する。もし、認証が有効であるならば、手順はオペレーション210に進み、ユーザーはユーザー識別子に対応するデスクトップに接続する。ユーザーをサーバーシステムで実行される仮想マシンのデスクトップに接続した後、手順はオペレーション212に進み、サーバーシステム110は、クライアントシステム120がユーザーのデスクトップに対応する仮想ディスクの正しいコピーを有するかどうか判断する。もし、有していなければ、手順はオペレーション214に進み、仮想ディスク142はバックグラウンドでクライアントシステム120に送信される。バックグラウンドとは、即ち、ユーザーがサーバーシステムの仮想マシン118にアクセス・対話している最中である。このオペレーションは、クライアントシステム120が対応するデスクトップのための仮想ディスクの完全な正しいコピーを提供されるまで続く。
もし、オペレーション212で、クライアントシステムが仮想ディスクの正しいコピーを有すると判断されたならば、手順はオペレーション216に進む。以前に述べたように、サーバーシステムの仮想マシンとのユーザー対話の最中に、仮想ディスクへの変更は、デルタディスクに書き込まれる。オペレーション216において、サーバーシステム110は、クライアントシステムがデルタディスクイメージの最新のコピーを有しているかどうか判断する。もし、有していなければ、手順はオペレーション218まで進み、サーバーシステムのデルタディスクがユーザーのクライアントシステムにコピーされる。ユーザーが仮想マシンと対話し、従って仮想ディスクへの変更を発生させる限り、この手順は発生する。ある時において、ユーザーは、サーバーシステムで実行される仮想マシンからログオフ、仮想マシンを電源オフ又はサスペンドしてもよい。この時、あらゆる残存する変更がクライアントシステムにコピーされる。そして、手順は、完了ブロック220で示されるように終了する。
一実施例においては、バックグラウンド同期は、クライアントシステム120及びサーバーシステム110の間の通信セッションの間いつでも開始されてもよい。バックグラウンド同期は、(例えば、管理者によって設定されるポリシーに従って)自動的又はユーザーの要求で発生してもよい。
例えば、要求又はポリシーは、ユーザーのクライアントシステムは定期的にアップデートされることを指定してもよい。この場合、サーバーシステム110は、最新のアップデートから指定された時間が経過したかどうか判断する。厳しい時間管理の代わりに、アップデート時間を特定する他の手段が実装されてもよい事はもちろんである。例えば、時計が経過した時間を計測することができ、又は、ユーザーがアイドル状態つまり一定時間システムとの対話が無い状態になるまでシステムが待機してもよい。もしクライアントシステムが最新の状態ではなく、サーバーシステム110の仮想ディスクの現在の状態つまりデルタディスク144(図3A〜図3D)が存在するかどうかによって、クライアントシステム120と協調してシステム110は仮想ディスク142及び/又は仮想ディスク142への変更を含むデルタディスク144の送信を開始する。
一実施例においては、デルタディスク144への新しい変更は、VM118が実行されている時に、デルタディスク144に追加され、定期的にユーザーシステム120に送信される。サーバーシステム110は、デルタディスクのどれだけがクライアントシステム120に転送されたかについて経過を追い、それぞれのアップデートインターバルにおいて追加された部分だけが送信されるようにする。
別の実施例では、それぞれのアップデートインターバルにおいて、現在のデルタディスクがクローズされ、新しいデルタディスクが作られる。新しい変更が新しいデルタディスクに書き込まれる間に、前回のデルタディスクに含まれる情報への変更を含む現在のデルタディスクが送信される。このようにして、一連の連鎖したスナップショットが作られクライアントシステム120に送信され、クライアントシステム120は一連の連鎖したスナップショットを再構成又はマージして1つのデルタディスクにするか直接仮想ディスクにすることができる。一実施例においては、クライアントシステム110への送信の前に、それぞれのデルタディスクは、スキャンされるか、及び/又はウイルス等のマルウェア(malware)の除去がなされる。このスキャンは、目立たないようにバックグラウンドで実行されてもよい。
図5は、デスクトップチェックアウト手順を実施する方法を例示によって表わすフローチャート250を示す。手順は、スタートブロック252で開始し、オペレーション254へ進み、サーバーシステムはアクセスを要求するユーザーを認証する。実装によっては、ユーザーは、この時にリモートデスクトップに即時に接続してもよく接続しなくてもよい。手順は、オペレーション256に進み、サーバーシステムはユーザーからの要求を受信し、デスクトップをチェックアウトする。そして、手順は、オペレーション258に進み、サーバーシステムは、ポリシー及びユーザーパミッションがユーザーのデスクトップをユーザーにチェックアウトすることを許しているかどうか判断する。もし、そうでなければ、手順はオペレーション260に進み、現在のところユーザーがデスクトップをチェックアウトする権限がない旨のメッセージがクライアントシステムに送信される。そして、手順は、終了ブロック274で示されるように終了する。
もし、オペレーション258において、ユーザーが本当にデスクトップをチェックアウトするパミッションを有すると判断されると、手順はオペレーション262に進み、ユーザーのデスクトップが例えば異なるクライアントシステムに既にチェックアウトされそれ以後チェックインされていないかどうかが判断される。例えば、仮想ディスクイメージを含むファイルの中に又はそのファイルのステータスフィールド、メタデータフィールド、又はサブセクション又はユーザーデータベースに、ユーザーデスクトップ状態は保持されてもよい。もし、ユーザーのデスクトップが現在チェックアウトされているならば、手順はオペレーション260に進み、サーバーシステム120はチェックアウトアクセス拒否メッセージをクライアントシステム12に送信する。これにより、同時にユーザーのデスクトップの1つのコピーのみがチェックアウトされることを確実にする。一実施例においては、仮想マシンの「枝分かれ」と同期の喪失を招く恐れがある、デスクトップが「チェックアウト」状態でのデスクトップへのリモートアクセスは、ユーザーができないようになる。もし、オペレーション262において、デスクトップが既に現在チェックアウトされていないと判断されると、手順はオペレーション264に進み、もし実行中ならば、ユーザーの仮想マシンは停止させられる。仮想マシンの停止は、電源オフ、仮想マシンのサスペンド、及び状態をディスクに保存することを含んでもよい。
そして、手順は、オペレーション266に進み、クライアントシステムは、クライアントシステムがシステムディスクの現在のコピー及びサーバーシステムに存在するかもしれないデルタディスクを有するかどうか判断するように問い合わせを受ける。もし、有しなければ、手順はオペレーション268に進み、仮想ディスク及びデルタイメージが必要に応じてコピー又はアップデートされる。そして、手順はオペレーション270に進む。もし、オペレーション266において、クライアントシステムがデルタディスク及び仮想ディスクの現在のコピーを既に有すると判断されるなら、手順はオペレーション270に直接進む。
オペレーション270において、ユーザー及びメタデータがアップデートされ、現在のユーザーのデスクトップの「チェックアウト」状態を反映する。手順は、オペレーション272に進み、ユーザーは、ローカルクライアントシステム上のローカル仮想マシンで実行されるデスクトップへのアクセスを許可される。そして、手順は、終了ブロック274で示されるように終了する。
一実施例においては、デスクトップがクライアントシステムにチェックアウトされていても、ユーザーはデスクトップにリモートアクセスすることを許可されてもよい。デスクトップはチェックアウトされた状態かもしれないが、これは、クライアントシステム120のユーザーがデスクトップにリモートアクセスするためにサーバーシステム110のリソースを使うことを妨げるものではない。例えば、クライアントシステム120は、ハードドライブの故障又はウイルス/マルウェアによる感染などのシステム障害を経験するかもしれない。この場合、ユーザーは、デスクトップをサーバーシステムにチェックインしていないにも関わらず、サーバーシステム110の仮想マシンに対応するローカル仮想マシンアクセスを破棄することを選んでもよい。又は、ユーザーは、サーバーシステムへのあらゆる変更が失われるという理解をした上で、サーバーシステムのデスクトップにアクセスすることを許されてもよい。例えば、もし、ユーザーがクライアントシステムにアクセスできない場合、即ち、ユーザーが例えばファイルを読んだり電子メールにアクセスしたり会社のイントラネットサイトにアクセスしたりするためにコンピュータから遠くにいるけれどもデスクトップにアクセスする必要がある場合であっても、ユーザーは、新しく保存されたデータとの一貫性の無い古いバージョンではあるもののデスクトップにリモートアクセスをすることができる。
別の実施例では、システムは、自動的に又はユーザー要求に基づいて、データストレージ140、即ちデルタディスク144又は145(図3A〜図3D)に含まれる情報についてウイルス/マルウェアスキャンを行ってもよい。ウイルス/マルウェアスキャンの結果は、システムにログされてもく、及び/又はクライアントシステム120に提供されてもよく、又は(図示されない)結果ファイルに記録されてもよい。同様に、クライアントシステム120のユーザーは、ローカルディスク134のウイルス/マルウェアスキャンを実施するために、データストレージ上のローカルデルタディスクのコピーを作ることによりサーバーシステム110を使ってもよい。ウイルス/マルウェアスキャンが完了した後、ローカルデルタディスクのコピーは削除されてもよく、又は仮想ディスク142にマージされてもよい。
ここに記載される様々な実施例は、コンピュータシステムに記憶されるデータを含むコンピュータに実装される様々な動作を採用してもよい。例えば、これらの動作は、物理的な数量の物理的な操作を必要としてもよく、必ずではないが通常は、それらの数量は電気的又は磁気信号の形態であってよく、それら又はそれらの表現は、記憶、転送、合体、比較、又は操作されることができる。更に、それらの操作は、しばしば、作る、特定する、判断する、又は比較するなどの単語で表わされる。ここで記載される、発明の1つ以上の実施例の部分を形成するあらゆる動作は、有益な機械動作であってもよい。更に、発明の1つ以上の実施例は、これらの動作を行う装置にも関する。装置は、特定の要求された目的のために特別に構成されてもよく、又は、装置は、コンピュータに記憶されるコンピュータプログラムによって選択的に作動させられるか設定される汎用コンピュータであってもよい。特に、様々な汎用機械は、ここの教示に従って書かれるコンピュータプログラムとともに使用されてもよく、又は、様々な汎用機械は、要求される動作を行うより特化した装置を構成するために更に便利であってもよい。
ここに記載される様々な実施例は、ハンドヘルドデバイス、マイクロプロセッサーシステム、マイクロプロセッサーベース又はプログラム可能な民生電子機器、ミニコンピュータ、メインフレームコンピュータ等を含む他のコンピュータシステム構成で実施されてもよい。
本発明の1つ以上の実施例は、1つ以上コンピュータプログラムとして、又は1つ以上のコンピュータ読み込み可能なメディアに実施される1つ以上のコンピュータプログラムモジュールとして実装されてもよい。コンピュータ読み込み可能なメディアという用語は、その後コンピュータシステムに入力されることができるデータを記憶可能で任意のデータストレージシステムを意味する。コンピュータ読み込み可能なメディアは、コンピュータによって読み込みが可能になるようにコンピュータプログラムを実施する、既存又は続いて開発される任意の技術に基づいてもよい。例えば、コンピュータ読み込み可能なメディアとしては、ハードドライブ、ネットワーク接続ストレージ(NAS)、リードオンリーメモリー、ランダムアクセスメモリ(例えば、フラッシュメモリーデバイス)、CD(コンパクトディスク)、CD−ROM、CD−R、又はCD−RW、DVD(Digital Versatile Disc)、磁気テープ、及びその他の光学及び非光学データストレージシステムが挙げられる。コンピュータ読み込み可能なメディアは、コンピュータ読み込み可能なコードが分散した形態で記憶及び実行されるように、ネットワーク接続コンピュータシステムを介して配布されることもできる。
本発明の1以上の実施例は明確な理解のために詳細に説明されたが、請求項の範囲において変更や変形がなされ得ることは明らかである。つまり、記載された実施例は制限的ではなく例示として解釈されなければならない。請求項の範囲は、ここに与えられる詳細に制限されてはならず、請求項と同等の範囲内で変更されてもよい。請求項においては、請求項に明示的に記載されない限り、要素及び/又はステップは動作の特定の順番を意味しない。
更に、記載された仮想化方法は、仮想マシンは特定のハードウェアシステムと一致するインターフェースを提供すると一般的に考えられるが、当業者は記載された方法が特定のハードウェアシステムに直接対応しない仮想化に関連して使われてもよいと認識する。ホストされる実施例、ホストされない実施例として実装される様々な実施例による仮想化システム、又はその2つの間の違いを不鮮明にしがちな実施例として実装される様々な実施例による仮想化システムは、全て想定される。更に、様々な仮想化動作が、ハードウェアに全体的に又は部分的に実装され得る。例えば、ハードウェア実装は、安全な非ディスクデータへのストレージアクセス要求の変形のための参照テーブルを採用してもよい。
仮想化の程度に関わらず、多くの仮想化、変形、追加、及び改良が可能である。従って、仮想化ソフトウェアは、仮想化機能を行うホスト、コンソール、ゲストオペレーティングシステムのコンポーネントを含む。複数のインスタンスが、1つのインスタンスとしてここに記載されるコンポーネント、動作、又は構造に提供されてもよい。最後に、様々なコンポーネント、動作、及びデータ記憶の境界は、やや任意のものであり、特定の動作は特定の例示的な構成の文脈で示される。その他の機能性の配置は想定されるものであり、発明の範囲に含まれてもよい。一般的に、例示の構成における別個のコンポーネントとして示される構造や機能性は、合体した構造又はコンポーネントとして実装されてもよい。同様に、1つのコンポーネントとして示された構造や機能性は、別個のコンポーネントとして実装されてもよい。これら及びその他の変形例、変更、追加、及び改良は、添付の請求項の範囲に含まれてもよい。

Claims (26)

  1. サーバーベースのデスクトップ仮想マシンのアーキテクチャーをクアイアントマシンに拡張する方法であって、
    通信ネットワーク経由でユーザーデスクトップにリモートアクセスし、このリモートアクセスはクライアントシステムとサーバーシステムの間のユーザー入出力を送受信することを含み、前記サーバーシステムは前記ユーザーデスクトップを提供する仮想マシンのサーバーインスタンスを実行し、前記仮想マシンの前記サーバーインスタンスはデータストレージシステムと通信する物理的なコンピュータシステムで仮想化ソフトウェアによって実行され、この仮想化ソフトウェアは前記仮想マシンの前記サーバーインスタンスからのディスク読み込み要求を仮想ディスクに誘導し、この仮想ディスクは前記データストレージシステムの1つ以上のファイルに含まれる仮想ディスクイメージを有し、前記仮想化ソフトウェアは前記仮想マシンの前記サーバーインスタンスからのディスク書き込み要求をデルタディスクに誘導し、このデルタディスクは前記仮想ディスクへの変更を含み、前記クライアントシステムは前記ユーザー入出力を受信し前記ユーザー入出力を前記クライアントシステムのユーザーインターフェースに送信するリモートデスクトップクライアントを有する方法であって、
    前記クライアントシステムに前記仮想ディスクのローカルコピーを作り、
    前記クライアントシステムからのチェックアウト要求を前記サーバーシステムに送信して前記ユーザーデスクトップにローカルアクセスし、
    もし前記仮想マシンの前記サーバーインスタンスが現在実行されているならば、前記仮想マシンの前記サーバーインスタンスを終了し、
    前記クライアントシステムに前記デルタディスクのコピーを作り、
    前記クライアントシステムの前記仮想マシンのクライアントインスタンスを前記クアイアントシステムの仮想化ソフトウェアを使って実行して前記仮想マシンの前記クライアントインスタンスからのディスク読み込み要求を少なくとも前記仮想ディスクの前記ローカルコピーに誘導しかつ前記仮想マシンの前記クライアントインスタンスからのユーザー入出力を前記クライアントシステムの前記ユーザーインターフェースに誘導することを含むことを特徴とする方法。
  2. 前記仮想ディスクの前記ローカルコピーの作成は、前記仮想マシンの前記サーバーインスタンスの実行中に行われることを特徴とする請求項1記載の方法。
  3. 前記仮想マシンの前記サーバーインスタンスの実行中に前記クアイアントシステムで前記サーバーシステムの前記デルタディスクに記憶される前記仮想ディスクへの変更を受信することを更に含むことを特徴とする請求項1記載の方法。
  4. 前記仮想マシンの前記クライアントインスタンスを実行する前に前記デルタディスクのコピーを前記仮想ディスクの前記ローカルコピーとマージすることを更に含むことを特徴とする請求項1記載の方法。
  5. 前記仮想マシンの前記クライアントインスタンスからのディスク書き込みをローカルデルタディスクに誘導し、
    前記クライアントシステムからのチェックイン要求を前記サーバーシステムに送信して前記ユーザーデスクトップにリモートアクセスし、
    もし前記仮想マシンの前記クライアントインスタンスが実行されているならば、前記仮想マシンの前記クライアントインスタンスを終了し、
    前記ローカルデルタディスクのコピーを前記サーバーシステムに送信し、
    前記仮想マシンの前記サーバーインスタンスにリモートアクセスする
    ことを更に含むことを特徴とする請求項1記載の方法。
  6. 前記サーバーシステムにおいて、前記ローカルデルタディスクの前記コピーを前記サーバーシステムに送信した後であって前記仮想マシンの前記サーバーインスタンスを電源オンする前に、前記デルタディスクと前記ローカルデルタディスクを前記仮想マシンにマージすることを更に含むことを特徴とする請求項5記載の方法。
  7. 前記仮想マシンの前記クライアントインスタンスの実行が開始された後、前記サーバーシステムへの前記ローカルデルタディスクの前記コピーの送信の前までは、前記仮想マシンの前記サーバーインスタンスへのアクセスが防止されることを更に含むことを特徴とする請求項5記載の方法。
  8. 前記仮想マシンの前記サーバーインスタンスの実行の最中に、定期的に追加デルタディスクを作り、この追加デルタディスクを前記クライアントシステムに送信することを更に含む方法であって、それぞれの前記追加デルタディスクはチェーンデルタディスクの一部分であることを特徴とする請求項1記載の方法。
  9. 前記サーバーシステムにおいて、前記ユーザーデスクトップのデスクトップステータスをチェックイン又はチェックアウトとして維持し、前記ユーザーデスクトップが前記仮想マシンの前記サーバーインスタンスを使って最後にリモートアクセスされたときに前記デスクトップステータスはチェックインにされ、前記ユーザーデスクトップが前記仮想マシンの前記クライアントインスタンスを使って最後にローカルアクセスされたときに前記デスクトップステータスはチェックアウトにされ、前記サーバーシステムは前記クライアントシステム上の前記デルタディスクの前記コピーの作成の後に前記デスクトップステータスがチェックアウトされると想定することを更に含むことを特徴とする請求項1記載の方法。
  10. 前記仮想化ソフトウェアはユーザーデータディスクとシステムディスクをエミュレートし、このユーザーデータディスク及びこのシステムディスクは前記仮想マシンで実行されるゲストシステムソフトウェアによってアクセス可能であって、前記ゲストシステムソフトウェアは前記ユーザーデータディスクに前記ユーザーデータを記憶し、前記システムディスクにオペレーティングシステムとアプリケーションファイルを記憶し、前記ユーザーデータはユーザードキュメントと設定を含み、
    前記データストレージシステムの前記仮想ディスクは仮想ユーザーデータディスクであって、前記デルタディスクはデルタユーザーデータディスクであり、
    前記ユーザーデスクトップのリモートアクセスは更に、
    ユーザーデータディスク読み込み要求を前記仮想ユーザーデータディスクに誘導しかつシステムディスク読み込み要求を仮想システムディスクに誘導し、この仮想システムディスクは前記データストレージシステム又は別のデータストレージシステムの1つ以上のファイルに記憶されるディスクイメージであり、
    システムディスク書き込み要求をデルタシステムディスクに誘導しかつユーザーディスク書き込みを前記デルタユーザーデータディスクに誘導し、このデルタシステムディスクは前記仮想システムディスクへの変更を含みかつ前記デルタユーザーデータディスクは仮想ユーザーデータディスクへの変更を含む
    ことを含むことを特徴とする請求項1記載の方法。
  11. 前記デルタディスクの前記コピーの作成が実行されるときに、前記デルタシステムディスクを破棄することを更に含むことを特徴とする請求項10記載の方法。
  12. 前記デルタディスクの前記コピーの作成が実行されるときに、前記クライアントシステム上に前記デルタシステムディスクのコピーを作成することを更に含むことを特徴とする請求項10記載の方法。
  13. 前記仮想マシンの前記クライアントインスタンスの実行の前に前記サーバーシステムにおいて前記デルタディスクをスキャンしてマルウェアを探すことを更に含むことを特徴とする請求項1記載の方法。
  14. サーバーベースのデスクトップ仮想マシンのアーキテクチャーをクアイアントマシンに拡張するための有形の機械読み込み可能メディアであって、この有形の機械読み込み可能メディアはクライアントシステムに方法を実装するコンピュータプログラム命令を実現し、前記方法は、
    通信ネットワーク経由でユーザーデスクトップにリモートアクセスし、このリモートアクセスはクライアントシステムとサーバーシステムの間のユーザー入出力を送受信することを含み、前記サーバーシステムは前記ユーザーデスクトップを提供する仮想マシンのサーバーインスタンスを実行し、前記仮想マシンの前記サーバーインスタンスはデータストレージシステムと通信する物理的なコンピュータシステムで仮想化ソフトウェアによって実行され、この仮想化ソフトウェアは前記仮想マシンの前記サーバーインスタンスからのディスク読み込み要求を仮想ディスクに誘導し、この仮想ディスクは前記データストレージシステムの1つ以上のファイルに含まれる仮想ディスクイメージを有し、前記仮想化ソフトウェアは前記仮想マシンの前記サーバーインスタンスからのディスク書き込み要求をデルタディスクに誘導し、このデルタディスクは前記仮想ディスクへの変更を含み、前記クライアントシステムは前記ユーザー入出力を受信し前記ユーザー入出力を前記クライアントシステムのユーザーインターフェースに送信するリモートデスクトップクライアントを有する方法であって、
    前記クライアントシステムに前記仮想ディスクのローカルコピーを作り、
    前記クライアントシステムからのチェックアウト要求を前記サーバーシステムに送信して前記ユーザーデスクトップにローカルアクセスし、もし前記仮想マシンの前記サーバーインスタンスが現在実行されているならば、前記仮想マシンの前記サーバーインスタンスを終了し、
    前記クライアントシステムに前記デルタディスクのコピーを作り、
    前記クライアントシステムの前記仮想マシンのクライアントインスタンスを前記クアイアントシステムの仮想化ソフトウェアを使って実行して前記仮想マシンの前記クライアントインスタンスからのディスク読み込み要求を少なくとも前記仮想ディスクの前記ローカルコピーに誘導しかつ前記仮想マシンの前記クライアントインスタンスからのユーザー入出力を前記クライアントシステムの前記ユーザーインターフェースに誘導することを含むことを特徴とするメディア。
  15. 前記仮想ディスクの前記ローカルコピーの作成は、前記仮想マシンの前記サーバーインスタンスの実行中に行われることを特徴とする請求項14記載のメディア。
  16. 前記方法は、前記仮想マシンの前記サーバーインスタンスの実行中に前記クアイアントシステムで前記サーバーシステムの前記デルタディスクに記憶される前記仮想ディスクへの変更を受信することを更に含むことを特徴とする請求項14記載のメディア。
  17. 前記方法は、前記仮想マシンの前記クライアントインスタンスを実行する前に前記デルタディスクのコピーを前記仮想ディスクのローカルコピーとマージすることを更に含むことを特徴とする請求項14記載のメディア。
  18. 前記方法は、前記仮想マシンの前記クライアントインスタンスからのディスク書き込みをローカルデルタディスクに誘導し、
    前記クライアントシステムからのチェックイン要求を前記サーバーシステムに送信して前記ユーザーデスクトップにリモートアクセスし、
    もし前記仮想マシンの前記クライアントインスタンスが実行されているならば、前記仮想マシンの前記クライアントインスタンスを終了し、
    前記ローカルデルタディスクのコピーを前記サーバーシステムに送信し、
    前記ローカルデルタディスクのコピーを前記サーバーシステムに送信した後に前記仮想マシンの前記サーバーインスタンスにリモートアクセスする
    ことを更に含むことを特徴とする請求項14記載のメディア。
  19. 前記サーバーシステムにおいて、前記ローカルデルタディスクの前記コピーを前記サーバーシステムに送信した後であって前記仮想マシンの前記サーバーインスタンスを電源オンする前に、前記デルタディスクと前記ローカルデルタディスクを前記仮想マシンにマージすることを更に含むことを特徴とする請求項18記載のメディア。
  20. 前記方法は、前記仮想マシンの前記クライアントインスタンスの実行が開始された後、前記サーバーシステムへの前記ローカルデルタディスクの前記コピーの送信の前までは、前記仮想マシンの前記サーバーインスタンスへのアクセスが防止されることを更に含むことを特徴とする請求項18記載のメディア。
  21. 前記方法は、前記仮想マシンの前記サーバーインスタンスの実行の最中に、定期的に追加デルタディスクを作り、この追加デルタディスクを前記クライアントシステムに送信することを更に含むメディアであって、それぞれの前記追加デルタディスクはチェーンデルタディスクの一部分であることを特徴とする請求項14記載のメディア。
  22. 前記仮想化ソフトウェアはユーザーデータディスクとシステムディスクをエミュレートし、このユーザーデータディスク及びシステムディスクは前記仮想マシンで実行されるゲストシステムソフトウェアによってアクセス可能であって、前記ゲストシステムソフトウェアは前記ユーザーデータディスクに前記ユーザーデータを記憶し、前記システムディスクにオペレーティングシステムとアプリケーションファイルを記憶し、前記ユーザーデータはユーザードキュメントと設定を含み、
    前記データストレージシステムの前記仮想ディスクは仮想ユーザーデータディスクであって、前記デルタディスクはデルタユーザーデータディスクであり、
    前記ユーザーデスクトップのリモートアクセスは更に、
    ユーザーデータディスク読み込み要求を前記仮想ユーザーデータディスクに誘導しかつシステムディスク読み込み要求を仮想システムディスクに誘導し、この仮想システムディスクは前記データストレージシステム又は別のデータストレージシステムの1つ以上のファイルに記憶されるディスクイメージであり、
    システムディスク書き込み要求をデルタシステムディスクに誘導しかつユーザーディスク書き込みを前記デルタユーザーデータディスクに誘導し、このデルタシステムディスクは前記仮想システムディスクへの変更を含みかつ前記デルタユーザーデータディスクは前記仮想ユーザーデータディスクへの変更を含み、
    前記クライアントシステム上に前記デルタディスクの前記コピーを作ることは前記サーバーシステムから前記ユーザーデータディスクへの変更をダウンロードすることと前記システムディスクドライブへ変更をダウンロードしないことを含む
    ことを含むことを特徴とする請求項14記載のメディア。
  23. 前記デルタディスクの前記コピーの作成が実行されるときに、前記サーバーシステムはデルタシステムディスクを破棄することを更に含むことを特徴とする請求項22記載のメディア。
  24. 前記方法は、前記デルタディスクの前記コピーの作成が実行されるときに、前記クライアントシステム上に前記デルタシステムディスクのコピーを作成することを更に含むことを特徴とする請求項22記載のメディア。
  25. 前記仮想マシンの前記クライアントインスタンスの実行の前に前記サーバーシステムは前記サーバーシステムにおいて前記デルタディスクをスキャンしてマルウェアを探すことを更に含むことを特徴とする請求項14記載のメディア。
  26. サーバーベースのデスクトップ仮想マシンのアーキテクチャーをクアイアントマシンに拡張するための有形の機械読み込み可能メディアであって、この有形の機械読み込み可能メディアはクライアントシステムに方法を実装するコンピュータプログラム命令を実現し、前記方法は、
    ユーザーデスクトップを提供する仮想マシンのサーバーインスタンスを実行し、前記仮想マシンの前記サーバーインスタンスは前記サーバーシステムの物理的コンピュータ上で仮想化ソフトウェアによって実行され、この物理的コンピュータはデータストレージシステムと通信し、前記仮想化ソフトウェアは前記仮想マシンの前記サーバーインスタンスからのディスク読み込み要求を仮想ディスクに誘導し、この仮想ディスクは前記データストレージシステムの1つ以上のファイルに含まれる仮想ディスクイメージを有し、前記仮想化ソフトウェアは前記仮想マシンの前記サーバーインスタンスからのディスク書き込み要求をデルタディスクに誘導し、このデルタディスクは前記仮想ディスクへの変更を含み、前記クライアントシステムは前記ユーザー入出力を受信し前記ユーザー入出力を前記クライアントシステムのユーザーインターフェースに送信するリモートデスクトップクライアントを有する方法であって、
    クアイアントシステムとサーバーシステムの間のユーザー入出力を送受信し、
    前記仮想ディスクのコピーを前記クライアントシステムに送信し、
    前記クライアントシステムからチェックアウト要求を受信し、
    このチェックアウト要求に応答して、もし前記仮想マシンの前記サーバーインスタンスが現在実行中ならば前記仮想マシンの前記サーバーインスタンスを停止し、ユーザーが前記クライアントシステム上で実行される前記仮想マシンの前記クライアントインスタンスを使って前記デスクトップにアクセスできるように前記デルタディスクのコピーを前記クライアントシステムに送信し、
    前記ユーザーデスクトップのデスクトップステータスの記録をチェックイン又はチェックアウトとして維持し、このユーザーデスクトップが前記仮想マシンの前記サーバーインスタンスを使って最後にリモートアクセスされたときに前記デスクトップステータスはチェックインにされ、このユーザーデスクトップが前記仮想マシンの前記クライアントインスタンスを使って最後にローカルアクセスされたときに前記デスクトップステータスはチェックアウトにされ、前記サーバーシステムは前記デルタディスクの前記コピーを前記クライアントシステムに送信した後に前記デスクトップステータスがチェックアウトされると想定することを更に含むことを特徴とするメディア。
JP2010547806A 2008-02-26 2009-02-20 拡張されたサーバーベースのクライアント用デスクトップ仮想マシン構成 Active JP5198584B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US3161308P 2008-02-26 2008-02-26
US61/031,613 2008-02-26
PCT/US2009/034731 WO2009108579A2 (en) 2008-02-26 2009-02-20 Extending server-based desktop virtual machine architecture to client machines

Publications (2)

Publication Number Publication Date
JP2011513816A true JP2011513816A (ja) 2011-04-28
JP5198584B2 JP5198584B2 (ja) 2013-05-15

Family

ID=40999459

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010547806A Active JP5198584B2 (ja) 2008-02-26 2009-02-20 拡張されたサーバーベースのクライアント用デスクトップ仮想マシン構成

Country Status (10)

Country Link
US (6) US8640126B2 (ja)
EP (1) EP2248041B1 (ja)
JP (1) JP5198584B2 (ja)
KR (1) KR101178752B1 (ja)
CN (1) CN101971162B (ja)
AU (1) AU2009219470B2 (ja)
CA (1) CA2713876C (ja)
MX (1) MX2010009362A (ja)
RU (1) RU2432605C1 (ja)
WO (1) WO2009108579A2 (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011170543A (ja) * 2010-02-17 2011-09-01 Fujitsu Ltd 情報処理装置、計算機システム及びプログラム
WO2014055640A1 (en) * 2012-10-04 2014-04-10 Avocent Huntsville Corp. System and method for creating virtual disk images for use with remote computer
JP2015520890A (ja) * 2012-04-27 2015-07-23 ネットアップ,インコーポレイテッド 仮想ストレージ装置ゲートウェイ
JP2015225632A (ja) * 2014-05-30 2015-12-14 日本電気株式会社 シンクライアント端末装置、サーバ装置、方法、およびプログラム
JP2016519824A (ja) * 2013-04-09 2016-07-07 サイトリックス システムズ,インコーポレイテッド クラウド同期型データの使用によるネイティブデスクトップの提供
JP2016530604A (ja) * 2013-06-26 2016-09-29 アマゾン テクノロジーズ インコーポレイテッド コンピューティングセッションの管理
JPWO2015025384A1 (ja) * 2013-08-21 2017-03-02 株式会社東芝 データベースシステム、プログラムおよびデータ処理方法
US10162875B2 (en) 2013-08-27 2018-12-25 Kabushiki Kaisha Toshiba Database system including a plurality of nodes
US10198285B2 (en) 2012-10-04 2019-02-05 Vertiv It Systems, Inc. System and method for creating virtual disk images for use with remote computer

Families Citing this family (191)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7617501B2 (en) 2004-07-09 2009-11-10 Quest Software, Inc. Apparatus, system, and method for managing policies on a computer having a foreign operating system
US7904949B2 (en) 2005-12-19 2011-03-08 Quest Software, Inc. Apparatus, systems and methods to provide authentication services to a legacy application
US8087075B2 (en) 2006-02-13 2011-12-27 Quest Software, Inc. Disconnected credential validation using pre-fetched service tickets
US8429712B2 (en) 2006-06-08 2013-04-23 Quest Software, Inc. Centralized user authentication system apparatus and method
US8086710B2 (en) 2006-10-30 2011-12-27 Quest Software, Inc. Identity migration apparatus and method
US20090164994A1 (en) * 2007-12-20 2009-06-25 Virtual Computer, Inc. Virtual computing management systems and methods
CA2713876C (en) 2008-02-26 2014-11-04 Vmware, Inc. Extending server-based desktop virtual machine architecture to client machines
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
US8572607B2 (en) * 2008-05-19 2013-10-29 Novell, Inc. System and method for performing designated service image processing functions in a service image warehouse
WO2009143124A1 (en) * 2008-05-20 2009-11-26 Citrix Systems, Inc. Methods and systems for patching multiple disk images derived from a common base disk image
US8255806B2 (en) 2008-09-15 2012-08-28 Vmware, Inc. Unified secure virtual machine player and remote desktop client
CN101727331B (zh) * 2008-10-24 2013-03-20 国际商业机器公司 升级活动虚拟机的客户操作系统的方法和设备
CN102197374B (zh) * 2008-10-24 2014-04-02 思杰系统有限公司 用于在组合的计算环境中给可修改的机器基本映像提供个性化桌面环境的方法和系统
US8707299B1 (en) * 2008-11-14 2014-04-22 Symantec Corporation Method and apparatus for preserving virtual desktops for e-discovery through an agent-less solution
US8788079B2 (en) 2010-11-09 2014-07-22 Vmware, Inc. Monitoring audio fidelity and audio-video synchronization
US9674562B1 (en) 2008-12-18 2017-06-06 Vmware, Inc. Quality evaluation of multimedia delivery in cloud environments
US9214004B2 (en) 2008-12-18 2015-12-15 Vmware, Inc. Watermarking and scalability techniques for a virtual desktop planning tool
US9286088B2 (en) * 2009-03-09 2016-03-15 Microsoft Technology Licensing, Llc User interface for interaction with virtual machine
US9177145B2 (en) * 2009-03-24 2015-11-03 Sophos Limited Modified file tracking on virtual machines
JP5360199B2 (ja) * 2009-03-31 2013-12-04 富士通株式会社 仮想計算機システム、情報処理装置、コンピュータプログラム及び接続制御方法
WO2010129487A1 (en) * 2009-05-02 2010-11-11 Citrix Systems, Inc. Methods and systems for providing a consistent profile to overlapping user sessions
US8281018B2 (en) * 2009-06-22 2012-10-02 Red Hat Israel, Ltd. Method for automatically providing a client with access to an associated virtual machine
US8135818B2 (en) * 2009-06-22 2012-03-13 Red Hat Israel, Ltd. Automatic virtual machine migration in mixed SBC/CBC environment
US8738781B2 (en) * 2009-06-22 2014-05-27 Red Hat Israel, Ltd. Launching a virtual machine associated with a client during startup
US8341213B2 (en) * 2009-06-22 2012-12-25 Red Hat Israel, Ltd. Method for improving boot time of a client having a virtualized operating environment
US8255984B1 (en) 2009-07-01 2012-08-28 Quest Software, Inc. Single sign-on system for shared resource environments
WO2011034548A1 (en) * 2009-09-21 2011-03-24 Hewlett-Packard Development Company, L.P. System including a virtual disk
US9529689B2 (en) * 2009-11-30 2016-12-27 Red Hat, Inc. Monitoring cloud computing environments
US20110131330A1 (en) * 2009-12-02 2011-06-02 International Business Machines Corporation Collocating desktop virtual machines to proximity of the user
WO2011072142A2 (en) * 2009-12-09 2011-06-16 Citrix Systems, Inc. Methods and systems for displaying, on a first machine, data associated with a drive of a second machine, without mapping the drive
US10146566B2 (en) * 2009-12-21 2018-12-04 Microsoft Technology Licensing, Llc Enabling virtual desktop connections to remote clients
JP5499688B2 (ja) * 2009-12-23 2014-05-21 富士通株式会社 計算機システム、情報処理装置、仮想計算機運用方法及びプログラム
US8887172B2 (en) * 2009-12-31 2014-11-11 Microsoft Corporation Virtualized management of remote presentation sessions using virtual machines having load above or below thresholds
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
US8392838B2 (en) * 2010-01-27 2013-03-05 Vmware, Inc. Accessing virtual disk content of a virtual machine using a control virtual machine
US9477531B2 (en) * 2010-01-27 2016-10-25 Vmware, Inc. Accessing virtual disk content of a virtual machine without running a virtual desktop
CN101741866B (zh) * 2010-02-01 2012-12-12 浪潮(北京)电子信息产业有限公司 一种在线存储系统及方法
US8316120B2 (en) * 2010-02-02 2012-11-20 Microsoft Corporation Applicability detection using third party target state
US8549272B2 (en) 2010-02-10 2013-10-01 Dell Products L.P. Information handling system image management deployment of virtual machine images to physical information handling systems
US9703586B2 (en) 2010-02-17 2017-07-11 Microsoft Technology Licensing, Llc Distribution control and tracking mechanism of virtual machine appliances
JP5493976B2 (ja) * 2010-02-18 2014-05-14 富士通株式会社 情報処理装置、計算機システム及びプログラム
US8601056B2 (en) * 2010-03-09 2013-12-03 Avistar Communications Corporation Scalable high-performance interactive real-time media architectures for virtual desktop environments
CN102196003B (zh) * 2010-03-12 2015-09-23 新奥特(北京)视频技术有限公司 一种监控系统的远程控制方法及装置
US8898668B1 (en) 2010-03-31 2014-11-25 Netapp, Inc. Redeploying baseline virtual machine to update a child virtual machine by creating and swapping a virtual disk comprising a clone of the baseline virtual machine
US8453145B1 (en) 2010-05-06 2013-05-28 Quest Software, Inc. Systems and methods for instant provisioning of virtual machine files
US9311509B2 (en) * 2010-05-09 2016-04-12 Citrix Systems, Inc. Creation and delivery of encrypted virtual disks
US8893004B2 (en) 2010-05-12 2014-11-18 International Business Machines Corporation User interface proxy method and system
US9547562B1 (en) 2010-08-11 2017-01-17 Dell Software Inc. Boot restore system for rapidly restoring virtual machine backups
JP4922443B2 (ja) * 2010-08-26 2012-04-25 株式会社東芝 コンピュータシステム、情報処理装置およびセキュリティ保護方法
TWI505189B (zh) * 2010-08-27 2015-10-21 Ibm 用於虛擬裝置之自動升級之方法、電腦程式及系統
CN102419753B (zh) * 2010-09-28 2014-02-12 联想(北京)有限公司 信息处理设备、信息处理方法和信息处理系统
CN102447723B (zh) * 2010-10-12 2015-09-09 运软网络科技(上海)有限公司 客户端虚拟化架构
US9075661B2 (en) 2010-10-20 2015-07-07 Microsoft Technology Licensing, Llc Placing objects on hosts using hard and soft constraints
US8799453B2 (en) 2010-10-20 2014-08-05 Microsoft Corporation Managing networks and machines for an online service
US8417737B2 (en) 2010-10-20 2013-04-09 Microsoft Corporation Online database availability during upgrade
US8386501B2 (en) 2010-10-20 2013-02-26 Microsoft Corporation Dynamically splitting multi-tenant databases
US8751656B2 (en) * 2010-10-20 2014-06-10 Microsoft Corporation Machine manager for deploying and managing machines
US8756696B1 (en) 2010-10-30 2014-06-17 Sra International, Inc. System and method for providing a virtualized secure data containment service with a networked environment
US9336117B2 (en) 2010-11-09 2016-05-10 Vmware, Inc. Remote display performance measurement triggered by application display upgrade
US8850550B2 (en) 2010-11-23 2014-09-30 Microsoft Corporation Using cached security tokens in an online service
CN102487380B (zh) * 2010-12-01 2016-09-07 中兴通讯股份有限公司 桌面虚拟化终端托管方法及系统
US9721030B2 (en) 2010-12-09 2017-08-01 Microsoft Technology Licensing, Llc Codeless sharing of spreadsheet objects
KR20120072241A (ko) * 2010-12-23 2012-07-03 한국전자통신연구원 클라우드 컴퓨팅 환경에서의 클라우드 간 개인 가상 머신 이동 시스템 및 그 방법
US20120216052A1 (en) * 2011-01-11 2012-08-23 Safenet, Inc. Efficient volume encryption
US10225335B2 (en) 2011-02-09 2019-03-05 Cisco Technology, Inc. Apparatus, systems and methods for container based service deployment
US8862933B2 (en) 2011-02-09 2014-10-14 Cliqr Technologies, Inc. Apparatus, systems and methods for deployment and management of distributed computing systems and applications
US10003672B2 (en) * 2011-02-09 2018-06-19 Cisco Technology, Inc. Apparatus, systems and methods for deployment of interactive desktop applications on distributed infrastructures
US10678602B2 (en) 2011-02-09 2020-06-09 Cisco Technology, Inc. Apparatus, systems and methods for dynamic adaptive metrics based application deployment on distributed infrastructures
US9967318B2 (en) 2011-02-09 2018-05-08 Cisco Technology, Inc. Apparatus, systems, and methods for cloud agnostic multi-tier application modeling and deployment
US8856486B2 (en) * 2011-02-23 2014-10-07 Citrix Systems, Inc. Deploying a copy of a disk image from source storage to target storage
US9542215B2 (en) * 2011-09-30 2017-01-10 V3 Systems, Inc. Migrating virtual machines from a source physical support environment to a target physical support environment using master image and user delta collections
US8566899B2 (en) * 2011-03-16 2013-10-22 Symantec Corporation Techniques for securing a checked-out virtual machine in a virtual desktop infrastructure
US8959569B2 (en) * 2011-03-18 2015-02-17 Juniper Networks, Inc. Security enforcement in virtualized systems
FR2973185B1 (fr) * 2011-03-22 2013-03-29 Sagem Defense Securite Procede et dispositif de connexion a un reseau de haute securite
JP5772127B2 (ja) * 2011-03-25 2015-09-02 富士通株式会社 仮想マシン管理方法、情報処理装置および仮想マシン管理プログラム
US8990405B2 (en) 2011-04-01 2015-03-24 Hewlett-Packard Development Company, L.P. Methods, systems and articles of manufacture to resume a remote desktop session
US8966581B1 (en) 2011-04-07 2015-02-24 Vmware, Inc. Decrypting an encrypted virtual machine using asymmetric key encryption
CN102760081B (zh) * 2011-04-29 2016-01-27 国际商业机器公司 虚拟机资源分配的方法和装置
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
US8719522B1 (en) * 2011-06-27 2014-05-06 Emc Corporation Virtual desktop backup and restore
KR101507919B1 (ko) 2011-07-01 2015-04-07 한국전자통신연구원 가상 데스크탑 서비스를 위한 방법 및 장치
US10983747B2 (en) 2011-07-15 2021-04-20 Vmware, Inc. Remote desktop mirroring
US10976981B2 (en) 2011-07-15 2021-04-13 Vmware, Inc. Remote desktop exporting
RU2486562C2 (ru) * 2011-08-26 2013-06-27 Российская Федерация, от имени которой выступает Министерство промышленности и торговли Российской Федерации (Минпромторг РФ) Способ построения автоматизированной системы, реализующей принципы виртуализации рабочих мест и изоморфного масштабирования
WO2013039481A1 (en) 2011-09-13 2013-03-21 Empire Technology Development Llc Operation transfer from an origin virtual machine to a destination virtual machine
CN102355501B (zh) * 2011-09-28 2017-06-13 华为技术有限公司 一种数据处理方法、接入审核设备及系统
US20130093776A1 (en) * 2011-10-14 2013-04-18 Microsoft Corporation Delivering a Single End User Experience to a Client from Multiple Servers
CN102427448B (zh) * 2011-11-03 2017-07-14 南京中兴软件有限责任公司 在虚拟桌面中使用客户端输入法的方法、终端及服务端
US8769519B2 (en) 2011-12-08 2014-07-01 Microsoft Corporation Personal and pooled virtual machine update
CN103150204B (zh) * 2011-12-23 2016-06-29 腾讯科技(深圳)有限公司 操作系统桌面管理方法和装置
CN103188307A (zh) * 2011-12-30 2013-07-03 旭智科技(深圳)有限公司 新型云应用方法及系统
CN103200215A (zh) * 2012-01-08 2013-07-10 佳都新太科技股份有限公司 一种在https上实现XenServer虚拟机远程控制的方法
US8839447B2 (en) * 2012-02-27 2014-09-16 Ca, Inc. System and method for virtual image security in a cloud environment
JP5670369B2 (ja) * 2012-03-08 2015-02-18 株式会社東芝 情報処理装置、イメージファイル管理方法およびプログラム
CN102662741B (zh) 2012-04-05 2014-04-02 华为技术有限公司 虚拟桌面的实现方法、装置和系统
KR101239290B1 (ko) * 2012-07-23 2013-03-06 (주)엔텍 제로 클라이언트를 지원하는 가상화 서버의 가상 머신 설정을 위한 시스템 및 방법
US9977698B2 (en) * 2012-07-31 2018-05-22 V3 Systems Holdings, Inc. Virtual machine migration into the cloud
US9117093B2 (en) * 2012-09-26 2015-08-25 Ca, Inc. Centralized, policy-driven maintenance of storage for virtual machine disks (VMDKS) and/or physical disks
US9372760B1 (en) * 2012-10-19 2016-06-21 Veritas Technologies Llc Systems and methods for securely storing backup data while facilitating fast failovers
US9921884B1 (en) * 2012-11-01 2018-03-20 Amazon Technologies, Inc. Local and remote access to virtual machine image filesystems
US9485233B1 (en) * 2012-11-02 2016-11-01 Wyse Technology L.L.C. Virtual desktop accelerator support for network gateway
US9374351B1 (en) 2012-11-02 2016-06-21 Wyse Technology L.L.C. Virtual desktop accelerator support for network gateway
US9992185B1 (en) 2012-11-02 2018-06-05 Wyse Technology L.L.C. Virtual desktop accelerator support for network gateway
US9262212B2 (en) * 2012-11-02 2016-02-16 The Boeing Company Systems and methods for migrating virtual machines
KR101379835B1 (ko) * 2012-11-28 2014-04-02 성균관대학교산학협력단 가상 머신에 가상 배터리를 제공하는 가상 머신 모니터, 가상 머신 호스트 시스템 및 가상 배터리 관리 방법
US9092161B2 (en) * 2012-12-05 2015-07-28 Red Hat Israel, Ltd. Selection of allocation policy and format for virtual machine disk images
US10162873B2 (en) * 2012-12-21 2018-12-25 Red Hat, Inc. Synchronization of physical disks
US20140188977A1 (en) * 2012-12-28 2014-07-03 Futurewei Technologies, Inc. Appratus, method for deploying applications in a virtual desktop interface system
US10284668B2 (en) 2013-01-09 2019-05-07 Red Hat Israel, Ltd. Managing a logical client for an application
US9549019B2 (en) * 2013-01-09 2017-01-17 Red Hat Israel, Ltd. Managing a logical client for a virtual machine
US8997080B2 (en) 2013-02-11 2015-03-31 Citrix Systems, Inc. System updates with personal virtual disks
US9201755B2 (en) * 2013-02-14 2015-12-01 Vmware, Inc. Real-time, interactive measurement techniques for desktop virtualization
US10313345B2 (en) 2013-03-11 2019-06-04 Amazon Technologies, Inc. Application marketplace for virtual desktops
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
US9740997B2 (en) * 2013-05-23 2017-08-22 Schedule 1 Inc. Method and system for input driven process flow management
US20140359213A1 (en) * 2013-05-31 2014-12-04 Microsoft Corporation Differencing disk improved deployment of virtual machines
EP2813945A1 (en) * 2013-06-14 2014-12-17 Tocario GmbH Method and system for enabling access of a client device to a remote desktop
US10686646B1 (en) * 2013-06-26 2020-06-16 Amazon Technologies, Inc. Management of computing sessions
US9264289B2 (en) * 2013-06-27 2016-02-16 Microsoft Technology Licensing, Llc Endpoint data centers of different tenancy sets
US9639384B2 (en) * 2013-08-20 2017-05-02 Vmware, Inc. Method and system for fast provisioning of virtual desktop
US9851993B2 (en) * 2013-09-24 2017-12-26 International Business Machines Corporation Virtual machine template optimization
US9537932B2 (en) * 2013-10-23 2017-01-03 Microsoft Technology Licensing, Llc Emulating test distributed application on server
US9485099B2 (en) 2013-10-25 2016-11-01 Cliqr Technologies, Inc. Apparatus, systems and methods for agile enablement of secure communications for cloud based applications
CN103593227B (zh) * 2013-11-08 2017-02-22 何钦淋 在客户端运行桌面虚拟系统的方法及客户端
CN103677840A (zh) * 2013-12-18 2014-03-26 浪潮电子信息产业股份有限公司 一种在作业调度软件中查看及操作应用图形界面的方法
US10353633B2 (en) * 2013-12-19 2019-07-16 Sony Interactive Entertainment LLC Mass storage virtualization for cloud computing
US9720719B2 (en) 2013-12-23 2017-08-01 Citrix Systems, Inc. Method and system for optimizing virtual disk provisioning
WO2015099690A1 (en) * 2013-12-23 2015-07-02 Citrix Systems, Inc. Method and system for optimizing virtual disk provisioning
US9264517B2 (en) 2014-02-19 2016-02-16 Vmware, Inc. Wide area aggregated communications
CN104901923B (zh) * 2014-03-04 2018-12-25 新华三技术有限公司 一种虚拟机访问装置和方法
US9430213B2 (en) 2014-03-11 2016-08-30 Cliqr Technologies, Inc. Apparatus, systems and methods for cross-cloud software migration and deployment
US9734191B2 (en) * 2014-03-31 2017-08-15 Dell Products, L.P. Asynchronous image repository functionality
EP3140734B1 (en) 2014-05-09 2020-04-08 Nutanix, Inc. Mechanism for providing external access to a secured networked virtualization environment
US9280376B2 (en) * 2014-05-13 2016-03-08 Dell Products, Lp System and method for resizing a virtual desktop infrastructure using virtual desktop infrastructure monitoring tools
US10318489B2 (en) * 2014-05-21 2019-06-11 Vmware, Inc. Avoiding full file replication using sparse files
EP3158435A1 (en) * 2014-06-17 2017-04-26 Nokia Solutions and Networks Oy Methods and apparatus to control a virtual machine
US10956041B2 (en) 2014-06-26 2021-03-23 Vmware, Inc. Online snapshot consolidation using I/O mirroring
US20160026492A1 (en) * 2014-07-24 2016-01-28 Samsung Electronics Co., Ltd. Electronic apparatus for executing virtual machine and method for executing virtual machine
US20160044139A1 (en) * 2014-08-07 2016-02-11 Hsiu-Ping Lin Methods and systems for communications between apps and virtual machines
US10073902B2 (en) 2014-09-24 2018-09-11 Microsoft Technology Licensing, Llc Snapshot and replication of a multi-stream application on multiple hosts at near-sync frequency
TWI608420B (zh) * 2014-10-20 2017-12-11 緯創資通股份有限公司 虛擬機器監控方法及其系統
US20170054792A1 (en) * 2014-11-20 2017-02-23 Otoy, Inc. Systems and methods for deploying applications
KR101929048B1 (ko) 2015-06-24 2018-12-13 한국전자통신연구원 인메모리 기반 가상 데스크탑 서비스를 위한 장치 및 방법
KR102328193B1 (ko) 2015-06-24 2021-11-18 한국전자통신연구원 가상 데스크탑 서비스를 위한 장치 및 방법
CN107810475B (zh) * 2015-06-30 2021-09-10 威睿公司 用于虚拟计算环境的软件生命周期管理的方法和装置
KR101977726B1 (ko) 2015-11-17 2019-05-14 한국전자통신연구원 가상 데스크탑 서비스 방법 및 장치
US10133868B2 (en) 2016-01-10 2018-11-20 Apple Inc. Switching users and sync bubble for EDU mode
US10192055B2 (en) * 2016-01-10 2019-01-29 Apple Inc. Log in/log out process for EDU mode
US10990690B2 (en) * 2016-01-29 2021-04-27 British Telecommunications Public Limited Company Disk encryption
CN105653342B (zh) * 2016-02-01 2018-09-28 福建升腾资讯有限公司 一种Windows池桌面自动入域的方法及系统
US10540165B2 (en) 2016-02-12 2020-01-21 Nutanix, Inc. Virtualized file server rolling upgrade
US11218418B2 (en) 2016-05-20 2022-01-04 Nutanix, Inc. Scalable leadership election in a multi-processing computing environment
KR102568985B1 (ko) * 2016-06-22 2023-08-23 한국전자통신연구원 오프라인 가상 데스크탑 제공 장치, 오프라인 가상 데스크탑 단말 및 오프라인 가상 데스크탑 제공 방법
US10318330B2 (en) * 2016-11-30 2019-06-11 Salesforce.Com, Inc. Data-persisting temporary virtual machine environments
US10728090B2 (en) 2016-12-02 2020-07-28 Nutanix, Inc. Configuring network segmentation for a virtualization environment
US11568073B2 (en) 2016-12-02 2023-01-31 Nutanix, Inc. Handling permissions for virtualized file servers
US11562034B2 (en) 2016-12-02 2023-01-24 Nutanix, Inc. Transparent referrals for distributed file servers
US10824455B2 (en) 2016-12-02 2020-11-03 Nutanix, Inc. Virtualized server systems and methods including load balancing for virtualized file servers
US11294777B2 (en) 2016-12-05 2022-04-05 Nutanix, Inc. Disaster recovery for distributed file servers, including metadata fixers
US11288239B2 (en) 2016-12-06 2022-03-29 Nutanix, Inc. Cloning virtualized file servers
US11281484B2 (en) 2016-12-06 2022-03-22 Nutanix, Inc. Virtualized server systems and methods including scaling of file system virtual machines
US11587196B2 (en) * 2017-04-10 2023-02-21 Dell Products L.P. Information handling system remote desktop protocol selection
US11144412B2 (en) 2017-06-05 2021-10-12 Vmware, Inc. Virtual machine image file synchronization using delta bitmaps and delta files
KR101946862B1 (ko) 2017-06-08 2019-04-29 (주)필라웨어 사용자 인사 정보에 기반한 가상 데스크탑/가상 어플리케이션 환경 관리 시스템
CN108667887B (zh) * 2017-07-03 2021-07-23 无锡辰云科技股份有限公司 基于融合计算的桌面虚拟方法、装置和系统
CN111164570A (zh) * 2017-10-11 2020-05-15 维谛信息技术系统有限公司 用于创建用于与远程计算机一起使用的虚拟盘映像的系统和方法
KR102492793B1 (ko) * 2018-01-03 2023-01-30 주식회사 케이티 가상 데스크탑 서비스 제공 시스템 및 가상 데스크탑 서비스 제공 방법
US10430227B2 (en) 2018-01-09 2019-10-01 Microsoft Technology Licensing, Llc Fast instantiation of virtual machines in distributed computing systems
US10693945B2 (en) * 2018-01-24 2020-06-23 Vmware, Inc. File and folder redirection for virtual desktops via image scanning
CN108306969B (zh) * 2018-02-02 2021-05-25 西安雷风电子科技有限公司 一种idv云桌面的智能接入系统及智能接入方法
CN108536515B (zh) * 2018-03-02 2021-10-01 武汉噢易云计算股份有限公司 Vdi的虚拟机播放客户机的音乐cd的方法及系统
US10664323B2 (en) * 2018-03-07 2020-05-26 Microsoft Technology Licensing, Llc Live migration of virtual machines in distributed computing systems
US11086826B2 (en) 2018-04-30 2021-08-10 Nutanix, Inc. Virtualized server systems and methods including domain joining techniques
US11194680B2 (en) 2018-07-20 2021-12-07 Nutanix, Inc. Two node clusters recovery on a failure
PT115089A (pt) * 2018-10-19 2020-04-20 Eurotux Informatica S A Sistema e método para comutação gradual de ambiente de computação entre computador local e computador remoto.
US11770447B2 (en) 2018-10-31 2023-09-26 Nutanix, Inc. Managing high-availability file servers
US10809935B2 (en) * 2018-12-17 2020-10-20 Vmware, Inc. System and method for migrating tree structures with virtual disks between computing environments
US20210117208A1 (en) * 2019-10-18 2021-04-22 Vmware, Inc. User profile migration to virtual desktop infrastructure
US11221784B2 (en) * 2019-11-01 2022-01-11 Hiveio Inc. Method and system for user data backup within a virtual desktop environment
US11263039B2 (en) * 2019-11-15 2022-03-01 Vmware, Inc. High performance attachable writeable volumes in VDI desktops
CN110928624A (zh) * 2019-11-15 2020-03-27 联思智云(北京)科技有限公司 用于用户终端的云桌面调用方法、装置及终端
CN110908756B (zh) * 2019-11-18 2024-02-02 西安雷风电子科技有限公司 一种云端桌面实时融合切换方法及系统
US11768809B2 (en) 2020-05-08 2023-09-26 Nutanix, Inc. Managing incremental snapshots for fast leader node bring-up
US11368726B1 (en) * 2020-06-11 2022-06-21 Francisco Matías Saez Cerda Parsing and processing reconstruction of multi-angle videos
EP3929740A1 (de) * 2020-06-26 2021-12-29 Siemens Aktiengesellschaft Verfahren zur orchestrierung einer container-basierten anwendung auf einem endgerät
EP4160397A1 (en) * 2021-10-01 2023-04-05 Brian Pritchard Methods and systems for emulating application-specific workstations on personal computers
US11979454B2 (en) 2022-08-29 2024-05-07 Vertiv It Systems, Inc. Writeback to a virtual media mapped image in HTML5
CN116775223B (zh) * 2023-08-18 2023-11-10 西安雷风电子科技有限公司 一种idv和vdi虚拟桌面融合使用的方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001142766A (ja) * 1999-11-10 2001-05-25 Nec Corp データベース交換システム
JP2006107185A (ja) * 2004-10-06 2006-04-20 Hitachi Ltd オフライン作業可能な端末を有する計算機システム
JP2006190281A (ja) * 2004-12-30 2006-07-20 Microsoft Corp グラフィックサブシステムを仮想化するシステムおよび方法

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7313614B2 (en) 2000-11-02 2007-12-25 Sun Microsystems, Inc. Switching system
US20020156971A1 (en) * 2001-04-19 2002-10-24 International Business Machines Corporation Method, apparatus, and program for providing hybrid disk mirroring and striping
US7275105B2 (en) * 2002-01-16 2007-09-25 Laszlo Systems, Inc. Enabling online and offline operation
US7032131B2 (en) * 2002-03-26 2006-04-18 Hewlett-Packard Development Company, L.P. System and method for ensuring merge completion in a storage area network
US9171049B2 (en) * 2002-06-13 2015-10-27 Salesforce.Com, Inc. Offline simulation of online session between client and server
US7793060B2 (en) * 2003-07-15 2010-09-07 International Business Machines Corporation System method and circuit for differential mirroring of data
US7555531B2 (en) 2004-04-15 2009-06-30 Microsoft Corporation Efficient algorithm and protocol for remote differential compression
US7536525B2 (en) * 2004-11-09 2009-05-19 Dell Products L.P. Virtual machine hot cloning including freezing and unfreezing memory in a distributed network
US20060122955A1 (en) * 2004-12-02 2006-06-08 Alex Bethlehem System and method for launching a resource in a network
US20060184937A1 (en) * 2005-02-11 2006-08-17 Timothy Abels System and method for centralized software management in virtual machines
US20070094659A1 (en) * 2005-07-18 2007-04-26 Dell Products L.P. System and method for recovering from a failure of a virtual machine
US7447854B1 (en) 2005-12-30 2008-11-04 Vmware, Inc. Tracking and replicating changes to a virtual disk
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
US7739738B1 (en) * 2006-03-15 2010-06-15 Symantec Corporation Enabling clean file cache persistence using dual-boot detection
US20070260702A1 (en) * 2006-05-03 2007-11-08 University Of Washington Web browser architecture for virtual machine access
US9392078B2 (en) 2006-06-23 2016-07-12 Microsoft Technology Licensing, Llc Remote network access via virtual machine
US20080086540A1 (en) * 2006-10-06 2008-04-10 James Scott Method and system for executing a normally online application in an offline mode
AU2007309183A1 (en) 2006-10-20 2008-05-02 Citrix Systems,Inc. Methods and systems for accessing remote user files associated with local resources
US20100306773A1 (en) 2006-11-06 2010-12-02 Lee Mark M Instant on Platform
US8176486B2 (en) * 2007-02-15 2012-05-08 Clearcube Technology, Inc. Maintaining a pool of free virtual machines on a server computer
US20080235361A1 (en) * 2007-03-21 2008-09-25 David Crosbie Management layer method and apparatus for dynamic assignment of users to computer resources
US20080301770A1 (en) * 2007-05-31 2008-12-04 Kinder Nathan G Identity based virtual machine selector
US9069638B2 (en) 2007-06-11 2015-06-30 Red Hat, Inc. Update system to synchronize changes from external sources for a java virtual machine
US7970903B2 (en) 2007-08-20 2011-06-28 Hitachi, Ltd. Storage and server provisioning for virtualized and geographically dispersed data centers
CA2713876C (en) 2008-02-26 2014-11-04 Vmware, Inc. Extending server-based desktop virtual machine architecture to client machines
US8255806B2 (en) 2008-09-15 2012-08-28 Vmware, Inc. Unified secure virtual machine player and remote desktop client

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001142766A (ja) * 1999-11-10 2001-05-25 Nec Corp データベース交換システム
JP2006107185A (ja) * 2004-10-06 2006-04-20 Hitachi Ltd オフライン作業可能な端末を有する計算機システム
JP2006190281A (ja) * 2004-12-30 2006-07-20 Microsoft Corp グラフィックサブシステムを仮想化するシステムおよび方法

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011170543A (ja) * 2010-02-17 2011-09-01 Fujitsu Ltd 情報処理装置、計算機システム及びプログラム
JP2015520890A (ja) * 2012-04-27 2015-07-23 ネットアップ,インコーポレイテッド 仮想ストレージ装置ゲートウェイ
US10198285B2 (en) 2012-10-04 2019-02-05 Vertiv It Systems, Inc. System and method for creating virtual disk images for use with remote computer
WO2014055640A1 (en) * 2012-10-04 2014-04-10 Avocent Huntsville Corp. System and method for creating virtual disk images for use with remote computer
US9841984B2 (en) 2012-10-04 2017-12-12 Avocent Huntsville, Llc System and method for creating virtual disk images for use with remote computer
US10218778B2 (en) 2013-04-09 2019-02-26 Citrix Systems, Inc. Providing a native desktop using cloud-synchronized data
JP2016519824A (ja) * 2013-04-09 2016-07-07 サイトリックス システムズ,インコーポレイテッド クラウド同期型データの使用によるネイティブデスクトップの提供
US9641599B2 (en) 2013-04-09 2017-05-02 Citrix Systems, Inc. Providing a native desktop using cloud-synchronized data
JP2017157235A (ja) * 2013-04-09 2017-09-07 サイトリックス システムズ,インコーポレイテッド 仮想化サーバ
JP2017168109A (ja) * 2013-04-09 2017-09-21 サイトリックス システムズ,インコーポレイテッド クラウド同期型データの使用によるネイティブデスクトップの提供
JP2016530604A (ja) * 2013-06-26 2016-09-29 アマゾン テクノロジーズ インコーポレイテッド コンピューティングセッションの管理
JPWO2015025384A1 (ja) * 2013-08-21 2017-03-02 株式会社東芝 データベースシステム、プログラムおよびデータ処理方法
US10685041B2 (en) 2013-08-21 2020-06-16 Kabushiki Kaisha Toshiba Database system, computer program product, and data processing method
US10162875B2 (en) 2013-08-27 2018-12-25 Kabushiki Kaisha Toshiba Database system including a plurality of nodes
JP2015225632A (ja) * 2014-05-30 2015-12-14 日本電気株式会社 シンクライアント端末装置、サーバ装置、方法、およびプログラム

Also Published As

Publication number Publication date
EP2248041B1 (en) 2015-04-29
US20240078126A1 (en) 2024-03-07
WO2009108579A3 (en) 2009-11-26
US8640126B2 (en) 2014-01-28
US10061605B2 (en) 2018-08-28
JP5198584B2 (ja) 2013-05-15
US11669359B2 (en) 2023-06-06
US20180341511A1 (en) 2018-11-29
US20140189816A1 (en) 2014-07-03
CN101971162B (zh) 2012-11-21
AU2009219470A1 (en) 2009-09-03
US20210117223A1 (en) 2021-04-22
KR101178752B1 (ko) 2012-09-10
CA2713876A1 (en) 2009-09-03
CA2713876C (en) 2014-11-04
KR20100123847A (ko) 2010-11-25
MX2010009362A (es) 2010-12-06
WO2009108579A2 (en) 2009-09-03
US20160371111A1 (en) 2016-12-22
US10896054B2 (en) 2021-01-19
US9444883B2 (en) 2016-09-13
RU2432605C1 (ru) 2011-10-27
US20090216975A1 (en) 2009-08-27
EP2248041A2 (en) 2010-11-10
CN101971162A (zh) 2011-02-09
AU2009219470B2 (en) 2012-06-21
EP2248041A4 (en) 2013-01-23

Similar Documents

Publication Publication Date Title
US11669359B2 (en) Extending server-based desktop virtual machine architecture to client machines
US8914730B2 (en) Unified secure virtual machine player and remote desktop client
US9965622B2 (en) Systems and methods for RADE service isolation
US9418081B2 (en) Methods and systems for accessing remote user files associated with local resources
JP5373796B2 (ja) デスクトップ・アプリケーションとウェブ・アプリケーションとを1つにまとめるための方法、サーバ、及びシステム
JP6397113B2 (ja) リモーティングセッションを通じた非サポートファイル形式の開封
EP2811404B1 (en) Virtual desktop implementation method, device and system
US20110004878A1 (en) Methods and systems for selecting a desktop execution location
JP2014235610A (ja) 可変容量ストレージデスクトップ仮想化サービス装置及び方法及びプログラム
JP2021196837A (ja) 情報処理装置、及びプログラム
JP2006259874A (ja) コンピュータとコンピュータシステム
JP2009211688A (ja) ファイルをマイグレートする方法、システムおよびコンピュータ・プログラム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121002

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121003

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121226

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130206

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160215

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5198584

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

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

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250