JP5350712B2 - 物理コンピュータ・システムの仮想表現へのオンデマンドのアクセス - Google Patents

物理コンピュータ・システムの仮想表現へのオンデマンドのアクセス Download PDF

Info

Publication number
JP5350712B2
JP5350712B2 JP2008211488A JP2008211488A JP5350712B2 JP 5350712 B2 JP5350712 B2 JP 5350712B2 JP 2008211488 A JP2008211488 A JP 2008211488A JP 2008211488 A JP2008211488 A JP 2008211488A JP 5350712 B2 JP5350712 B2 JP 5350712B2
Authority
JP
Japan
Prior art keywords
computer system
backup image
virtual
user
computer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2008211488A
Other languages
English (en)
Other versions
JP2009054152A (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.)
NortonLifeLock Inc
Original Assignee
Symantec Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Symantec Corp filed Critical Symantec Corp
Publication of JP2009054152A publication Critical patent/JP2009054152A/ja
Application granted granted Critical
Publication of JP5350712B2 publication Critical patent/JP5350712B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Description

本発明は、仮想コンピューティング及びネットワーク式コンピュータ・システムの分野に関する。より詳細には、本発明は、物理コンピュータ・システムの仮想表現のオンデマンドでの遠隔アクセスのためのシステム及び方法に関する。
ユーザは、一般に、様々な種類のソフトウェア・アプリケーションを走らせる、及び例えば業務用及び/又は個人用についての様々なタイプの情報の管理するために使用する1つ又は複数のパーソナル・コンピュータ・システムを有する。コンピュータ・システムの例には、デスクトップ・コンピュータ・システム、ラップトップ、又は個人用デジタル・アシスタント(PDA)、「スマート」フォン、ゲーム用デバイスなどのモバイル・デバイスなどがある。ユーザは、例えばユーザが現在どこにいようと、コンピュータ・システム上の様々な場所にあるソフトウェア・アプリケーションやデータにアクセスする必要がある。
従来のデスクトップ・コンピュータ・システムなど固定位置のコンピュータ・システムに、異なる場所からアクセスすることは、特に厄介である。これらのコンピュータ・システムは、通常、持ち運びできないからである。このデータ・アクセス問題は、モバイル・コンピュータ・システムについては幾分低減されるが、完全には解決されない。例えば、ユーザは、どこに行くにも、常にモバイル・コンピュータ・システムを携えているわけではない。また、モバイル・コンピュータ・システムが無くなる、盗まれる、又は壊されると、ユーザは、アクセスすることができなくなる。
第1の物理コンピュータ・システムの仮想表現にアクセスするためのシステム及び方法の様々な実施態様が開示される。この方法の一実施態様によれば、第1の物理コンピュータ・システムの第1のバックアップ・イメージが、サーバ・コンピュータ・システムに格納され、第1のバックアップ・イメージが、第1の物理コンピュータ・システムの第1の状態を特定する。第1の物理コンピュータ・システムの仮想表現へのアクセスの要求に応答して、サーバ・コンピュータ・システム上の第1のバックアップ・イメージから仮想コンピュータがインスタンス化される。例えば、一部の実施態様では、第1の物理コンピュータ・システムの仮想表現へのアクセスの要求は、第2の物理コンピュータ・システムから受信される。サーバ・コンピュータ・システムは、第2の物理コンピュータ・システムが、仮想コンピュータへアクセスするために、第2の物理コンピュータ・システムと通信する。
仮想コンピュータへのユーザ入力に応答して、仮想コンピュータの状態が変更される。この方法は、仮想コンピュータの第2のバックアップ・イメージを、サーバ・コンピュータ・システムに格納することをさらに含み、第2のバックアップ・イメージが、仮想コンピュータの変更された状態を特定する。この方法は、サーバ・コンピュータ・システムからの第2のバックアップ・イメージを、第1の物理コンピュータ・システムに転送し、加えることをさらに含む。第2のバックアップ・イメージを第1の物理コンピュータ・システムに加えることによって、第1の物理コンピュータ・システムは、仮想コンピュータの変更された状態に対応する第2の状態になる。
以下の詳細な説明を、以下の図面と併せ読めば、本発明をよりよく理解することができる。
本発明は、様々な変更形態及び変形形態が可能であるが、その特定の実施形態は、図面に例として示されており、詳しく説明される。しかし、図面及びその詳細な説明は、本発明を開示された特定の形態に限定するものではなく、むしろ、本発明は、添付の特許請求の範囲によって定義されている本発明の意図及び範囲内に含まれるすべての変更形態、均等物、及び変形形態をカバーするものであることを理解されたい。
本明細書には、物理コンピュータ・システムの仮想表現にアクセスするためのシステム及び方法の様々な実施形態が開示される。図1は、システムの一実施形態を示す。この例では、システムは、ユーザのコンピュータ・システム80、サーバ・コンピュータ・システム90、クライアント・アクセス・コンピュータ・システム82を含む。簡単に言えば、この方法は、サーバ・コンピュータ・システム90に、ユーザのコンピュータ・システム80の1つ又は複数のバックアップ・イメージを格納することを含む。それぞれのバックアップ・イメージは、ユーザのコンピュータ・システム80を、例えばそれぞれのバックアップ・イメージが作成された時など、対応する時点に存在していた通りに表現している。例えば、各バックアップ・イメージは、それぞれの状態情報を特定する。その状態情報は、バックアップ・イメージが作成された時のユーザのコンピュータ・システム80の状態を表す。
この方法は、サーバ・コンピュータ・システム90が、クライアント・アクセス・コンピュータ・システム82から受信されたユーザの要求に応答して、ユーザのコンピュータ・システム80を表す仮想コンピュータをインスタンス化することをさらに含む。仮想コンピュータは、サーバ・コンピュータ・システム90に格納されているユーザのコンピュータ・システム80のバックアップ・イメージのうちの1つからインスタンス化される。例えば、ユーザは、クライアント・アクセス・コンピュータ・システム82と対話して、サーバ・コンピュータ・システム90によってホストされているサービスにログ・インし、ユーザのコンピュータ・システム80のバックアップ・イメージのうちの1つを選択する。それに応答して、サーバ・コンピュータ・システム90は、選択されたバックアップ・イメージから仮想コンピュータをインスタンス化する。
仮想コンピュータは、選択されたバックアップ・イメージが作成された時に存在していた通りのユーザのコンピュータ・システム80の仮想表現を含む。例えば、選択されたバックアップ・イメージは、仮想コンピュータを、選択されたバックアップ・イメージが作成された時にユーザのコンピュータ・システム80が存在していた状態に対応する状態にするために使用される。ユーザは、同様に、ユーザがユーザの実際のコンピュータ・システム80と対話しているかのように(選択されたバックアップ・イメージが作成された時に存在していた通りに)、クライアント・アクセス・コンピュータ・システム82を介して、サーバ・コンピュータ・システム90上の仮想コンピュータと対話することができる。例えば、選択されたバックアップ・イメージは、ユーザのコンピュータ・システム80上のファイル・システムの状態を特定する情報を含み、仮想コンピュータは、この情報に基づいて、同じファイル・システムを実装する。選択されたバックアップ・イメージは、ユーザのコンピュータ・システム80にインストールされた1つ又は複数のソフトウェア・アプリケーションの状態を特定する情報も含み、仮想コンピュータは、ユーザが仮想コンピュータ上で1つ又は複数のソフトウェア・アプリケーションを走らせることができるようにし、1つ又は複数のソフトウェア・アプリケーションは、同様に又は同じく、ユーザの実際のコンピュータ・システム80上で走っているかのように機能する。
ユーザの仮想コンピュータとの対話に応答して、仮想コンピュータの状態を変更することができる。例えば、ユーザのコンピュータ・システム80のファイル・システムが仮想コンピュータ上で再現される場合、例えば、ユーザによる1つ又は複数のファイルの追加、削除、又は変更に応答して、ファイル・システムが変更される。別の例として、ユーザのコンピュータ・システム80にインストールされているソフトウェア・アプリケーションが仮想コンピュータ上で実行される場合、ユーザの仮想コンピュータ上のソフトウェア・アプリケーションとの対話に応答して、ソフトウェア・アプリケーションの状態、又はソフトウェア・アプリケーションによって維持されるデータの状態が変更される。
この方法は、仮想コンピュータの新しいバックアップ・イメージを、サーバ・コンピュータ・システムに格納することをさらに含み、新しいバックアップ・イメージが、仮想コンピュータの変更された状態を特定する。例えば、一部の実施形態では、ユーザは、仮想コンピュータと対話し終わった後、サーバ・コンピュータ・システム90からログ・オフする。サーバ・コンピュータ・システム90は、仮想コンピュータに基づいて、新しいバックアップ・イメージを作成し、新しいバックアップ・イメージを格納することもある。
この方法は、サーバ・コンピュータ・システムからの新しいバックアップ・イメージを、ユーザのコンピュータ・システム80に転送し、加えることをさらに含む。新しいバックアップ・イメージをユーザのコンピュータ・システム80に加えることによって、ユーザのコンピュータ・システム80は、仮想コンピュータの変更された状態に対応する状態になる。例えば、ユーザが仮想コンピュータと対話して、ファイル・システムを変更した場合、ユーザのコンピュータ・システム80上のファイル・システムは、それに応じて変更される。同様に、ユーザが仮想コンピュータと対話して、ソフトウェア・アプリケーションの状態、又はソフトウェア・アプリケーションによって維持されているデータの状態を変更した場合、ソフトウェア・アプリケーション又はその関連のデータは、ユーザのコンピュータ・システム80上でそれに応じて変更される。
図1に示されているように、ユーザのコンピュータ・システム80、サーバ・コンピュータ・システム90、クライアント・アクセス・コンピュータ・システム82は、ネットワーク84を介して結合される異なるコンピュータ・システムである。例えば、一部の実施形態では、これら3つのそれぞれのコンピュータ・システムは、地理的に互いに離れていて、例えば、異なる部屋、異なる建物、ある市内の異なる場所、異なる市、異なる国に配置されてもよい。一例として、一実施形態では、ユーザのコンピュータ・システム80と、サーバ・コンピュータ・システム90は、ある市内の異なる場所に配置されてもよく、クライアント・アクセス・コンピュータ・システム82は、異なる国に配置されてもよい。別の例として、一実施形態では、3つのそれぞれのコンピュータ・システムは、企業キャンパス複合施設(corporate campus complex)内の異なる場所に配置されてもよい。
様々な実施形態において、ネットワーク84は、任意のタイプのネットワーク又はネットワークの組み合わせを含む。例えば、ネットワーク84は、ローカル・エリア・ネットワーク(LAN)、広域ネットワーク(WAN)、無線ネットワーク、イントラネット、インターネットなどの任意のタイプ又は組み合わせを含む。ローカル・エリア・ネットワークの例には、Ethernet(登録商標)ネットワーク、ファイバ分散型データ・インターフェイス(Fiber Distributed Data Interface:FDDI)ネットワーク、トークン・リング・ネットワークなどがある。また、ユーザのコンピュータ・システム80、サーバ・コンピュータ・システム90、クライアント・アクセス・コンピュータ・システム82はそれぞれ、任意のタイプの有線又は無線の接続媒体を使用してネットワーク84に接続することができる。例えば、有線の媒体には、Ethernet、ファイバ・チャネル、単純旧式電話サービス(plain old telephone service:POTS)に接続されているモデムなどが含まれてよい。無線の接続媒体は、IEEE802.11(例えば無線Ethernet)プロトコルなどの無線接続プロトコルを使用した無線接続、セルラー・サービスを介したモデム・リンク、衛星リンクなどが含まれてもよい。
この方法の様々な実施形態を、様々なタイプのアプリケーションに使用して、物理デバイスの仮想表現への遠隔アクセスをユーザに提供することができる。一例として、ユーザのコンピュータ・システム82は、職場のオフィスにあるコンピュータ・システムである場合を考察する。ユーザのコンピュータ・システム80は、サーバ・コンピュータ・システム90と通信して、1つ又は複数のバックアップ・イメージを、サーバ・コンピュータ・システム90に格納する。例えば、サーバ・コンピュータ・システム90は、ユーザの雇用主によって管理されるサーバ・コンピュータ・システム、又は、サード・パーティ・サービス・プロバイダによって管理される社外のサーバ・コンピュータ・システムである。
ユーザが休暇をとって他国に行き、職場のオフィスにあるそのユーザのコンピュータ・システム上のプロジェクト計画ソフトウェア・アプリケーションにアクセスする必要があることに気付くと仮定する。ユーザは、例えばインターネットを経由して、クライアント・アクセス・コンピュータ・システム82を介して、サーバ・コンピュータ・システム90に接続することができる。一部の実施形態では、クライアント・アクセス・コンピュータ・システム82は、インターネット・アクセスすることができる任意のコンピュータ・システムである。例えば、クライアント・アクセス・コンピュータ・システム82は、そのユーザが休暇をとっている国のインターネット・カフェにあるコンピュータ・システム、又はラップトップや携帯電話など、ユーザが所有する携帯用コンピュータ・システムであってもよい。
クライアント・アクセス・コンピュータ・システム82を介して、ユーザは、サーバ・コンピュータ・システム90に、サーバ・コンピュータ・システム90に格納されているユーザのコンピュータ・システム80のバックアップ・イメージのうちの1つから仮想コンピュータをインスタンス化するよう要求する。したがって、ユーザは、クライアント・アクセス・コンピュータ・システム82を介して、仮想コンピュータと対話することができる。特に、この例では、ユーザは、仮想コンピュータにおいてプロジェクト計画ソフトウェア・アプリケーションの実行を開始してよく、クライアント・アクセス・コンピュータ・システム82上に表示されるグラフィカル・ユーザ・インターフェイスを介して、プロジェクト計画ソフトウェア・アプリケーションと対話することができる。例えば、ユーザは、プロジェクト計画ソフトウェア・アプリケーションを使用して、プロジェクト・ファイル又はデータベースを変更してもよい。
ユーザは、プロジェクト計画ソフトウェア・アプリケーションを使用し終わった後、仮想コンピュータとサーバ・コンピュータ・システム90からログ・オフする。サーバ・コンピュータ・システム90は、仮想コンピュータのバックアップ・イメージを作成し、それを、サーバ・コンピュータ・システム90に格納する。仮想コンピュータのバックアップ・イメージは、仮想コンピュータの状態に加えられる変更を特定する情報、例えば、この例では、変更されたプロジェクト・ファイル又はデータベースを示す情報を含む。
一部の実施形態では、ユーザは、後で、休暇後オフィスに戻り、オフィスにあるユーザのコンピュータ・システム80と対話し、サーバ・コンピュータ・システム90にログ・オンして、休暇時に仮想コンピュータを使用している間に加えた変更がユーザのコンピュータ・システム80に適用されるよう要求することができる。したがって、サーバ・コンピュータ・システム90は、ユーザのコンピュータ・システム80と通信して、ユーザのコンピュータ・システム80に、仮想コンピュータから以前作成されたバックアップ・イメージを転送する。ユーザのコンピュータ・システム80は、例えば、ユーザのコンピュータ・システム80を、自動的に、バックアップ・イメージが作成された時の仮想コンピュータの状態に対応する状態にするために、転送されたバックアップ・イメージをユーザのコンピュータ・システム80に自動的に加えるよう動作可能なソフトウェアを含む。したがって、この例では、変更されたプロジェクト・ファイル又はデータベースを反映するために、ユーザのコンピュータ・システム80上のファイル・システムが自動的に更新され、場合によっては、プロジェクト計画ソフトウェア・アプリケーションによって維持される他の情報も、バックアップ・イメージに応答して変更されることがある。
他の実施形態では、ユーザは、サーバ・コンピュータ・システム90に手動で接続し、仮想コンピュータで作成されたバックアップ・イメージがユーザのコンピュータ・システム80に転送され、加えられるよう要求する必要が必ずしもない。例えば、一部の実施形態では、サーバ・コンピュータ・システム90は、ユ―ザのコンピュータ・システム80と自動的に通信して、サーバ・コンピュータ・システム90において新しいバックアップ・イメージが作成されたことをユーザのコンピュータ・システム80に知らせるようにしてもよく、新しいバックアップ・イメージは、ユーザのコンピュータ・システム80に、自動的に転送され、加えられてもよい。他の実施形態では、ユーザのコンピュータ・システム80は、サーバ・コンピュータ・システム90において新しいバックアップ・イメージが作成されたということを自動的に検出するか、通知されてもよいが、ユーザのコンピュータ・システムは、それを自動的に行う前に、まず、新しいバックアップ・イメージをユーザのコンピュータ・システム80に加えたかどうかをユーザに尋ねてもよい。
ユーザのコンピュータ・システム80は、図1に、デスクトップ・コンピュータ・システムとして示されているが、様々な実施形態において、ユーザのコンピュータ・システム80は、任意のタイプのコンピュータでよく、様々な任意の形状因子を有してよい。同様に、サーバ・コンピュータ・システム90やクライアント・アクセス・コンピュータ・システム82は、それぞれ任意のタイプのコンピュータ・システムであってよい。一般に、「コンピュータ・システム」という用語は、メモリに格納されている命令を実行する少なくとも1つのプロセッサを有する任意のデバイス(又はデバイスの組み合わせ)を指す。コンピュータ・システムの例には、パーソナル・コンピュータ・システム(デスクトップ・コンピュータ・システム、ラップトップなど)、サーバ・コンピュータ・システム、セットトップ・ボックス、ゲーム・ステーション、個人用デジタル・アシスタント(PDA)、「スマート」フォンなど、様々なモバイル・デバイスなどがある。
また、ユーザのコンピュータ・システム80は、本明細書では、便宜上「ユーザのコンピュータ」システムと呼ぶが、様々な実施形態において、この用語は、任意の物理コンピュータ・システムを指し、コンピュータ・システムは、必ずしも任意の特定のユーザの所有物であるとは限らないことに留意されたい。
図2は、一実施形態によるユーザのコンピュータ・システム80の一例を示す。上述したように、ユーザのコンピュータ・システム80は、任意のタイプのコンピュータ・システムを含む。この例では、ユーザのコンピュータ・システム80は、メモリ122に結合されたプロセッサ120を含む。一部の実施形態では、メモリ122は、ダイナミックRAM(DRAM)やシンクロナスDRAM(SDRAM)など、1つ又は複数の形のランダム・アクセス・メモリ(RAM)を含んでもよい。しかし、他の実施形態では、メモリ122は、代わりに、又はさらに、他のタイプの任意のメモリを含んでもよい。
メモリ122は、プログラム命令及び/又はデータを格納するように構成されている。特に、メモリ122は、イメージ管理クライアント・ソフトウェア205を格納することができる。プロセッサ120は、バックアップ・イメージの管理に関連する様々な機能をユーザのコンピュータ・システム80において実行するように、イメージ管理クライアント・ソフトウェア205を実行することができる。例えば、イメージ管理クライアント・ソフトウェア205は、ユ―ザのコンピュータ・システム80のバックアップ・イメージを作成し、サーバ・コンピュータ・システム90と通信し、バックアップ・イメージをユーザのコンピュータ・システム80からサーバ・コンピュータ・システム90に送信し、サーバ・コンピュータ・システム90からバックアップ・イメージ(例えば仮想コンピュータのバックアップ・イメージなど)を受信し、受信されたバックアップ・イメージをユーザのコンピュータ・システム80に加えるよう実行可能である。また、メモリ122は、ネットワーク通信ソフトウェアやオペレーティング・システム・ソフトウェアなど、イメージ管理クライアント・ソフトウェア205と共に動作する、又はそれによって使用される他のソフトウェアも格納してもよい。
様々な実施形態において、イメージ管理クライアント・ソフトウェア205は、様々な方法のうちの任意のもので実装されてよく、任意の所望のソフトウェア・アーキテクチャを有してよい。例えば、一部の実施形態では、イメージ管理クライアント・ソフトウェア205は、単一のソフトウェア・アプリケーションとして実装される。他の実施形態では、イメージ管理クライアント・ソフトウェア205は、互いに一緒に動作する2つ以上のソフトウェア・プログラム又はアプリケーションとして実装される。
再度図2を参照すると、プロセッサ120は、任意のタイプのプロセッサを表すことに留意されたい。例えば、一部の実施形態では、プロセッサ120は、x86アーキテクチャとの互換性があり、他の実施形態では、プロセッサ120は、プロセッサのSPARC(商標)ファミリとの互換性がある。また、一部の実施形態では、ユーザのコンピュータ・システム80は、複数のプロセッサ120を含んでもよい。
また、ユーザのコンピュータ・システム80は、1つ又は複数のストレージ・デバイス125を含むか、それに結合されている。様々な実施形態において、ストレージ・デバイス125は、光ストレージ・デバイス、ディスク・ドライブ、テープ・ドライブ、フラッシュ・メモリ・デバイスなど、データを格納するよう動作可能な様々な種類の任意のストレージ・デバイスを含む。一例として、ストレージ・デバイス125は、独立して構成された1つ又は複数のディスク・ドライブとして、又は1つのディスク・ストレージ・システムとして実装されてもよい。
ユーザのコンピュータ・システム80は、ユーザのコンピュータ・システム80のユーザからユーザ入力を受信するための1つ又は複数の入力デバイス126も含む。入力デバイス126は、キーボード、キーパッド、マイクロフォン、又はポインティング・デバイス(マウスやトラックボールなど)など、様々なタイプの任意の入力デバイスを含む。ユーザのコンピュータ・システム80は、ユーザに出力を表示するための1つ又は複数の出力デバイス128も含む。出力デバイス128は、LCD画面又はモニタ、CTRモニタなど、様々なタイプの任意の出力デバイス又は表示デバイスを含む。
ユーザのコンピュータ・システム80は、ユーザのコンピュータ・システム80がそれを介してネットワーク84に接続するネットワーク接続ハードウェア129も含む。ネットワーク接続ハードウェア129は、例えば、ネットワークのタイプに応じて、ユーザのコンピュータ・システム80をネットワーク84に結合するための任意のタイプのハードウェアを含む。上述したように、様々な実施形態において、ユーザのコンピュータ・システム80は、任意のタイプのネットワーク又はネットワークの組み合わせを介して、サーバ・コンピュータ・システム90に結合される。
図3は、一実施形態によるサーバ・コンピュータ・システム90の一例を示す図である。上述したように、サーバ・コンピュータ・システム90は、任意のタイプのコンピュータ・システムを含む。この例では、サーバ・コンピュータ・システム90は、メモリ122に結合されている1つ又は複数のプロセッサ120を含む。一部の実施形態では、メモリ122は、ダイナミックRAM(DRAM)やシンクロナスDRAM(SDRAM)など、1つ又は複数の形のランダム・アクセス・メモリ(RAM)を含む。しかし、他の実施形態では、メモリ122は、代わりに、又はさらに、他のタイプの任意のメモリを含む。
サーバ・コンピュータ・システム90のメモリ122は、プログラム命令及び/又はデータを格納するように構成される。特に、メモリ122は、イメージ管理サーバ・ソフトウェア207を格納する。プロセッサ120は、バックアップ・イメージの管理に関連する様々な機能をサーバ・コンピュータ・システム90において実行するように、イメージ管理サーバ・ソフトウェア207を実行してもよい。例えば、イメージ管理サーバ・ソフトウェア207は、ユーザのコンピュータ・システム80上のイメージ管理クライアント・ソフトウェア205又は他のソフトウェアと通信して、ユーザのコンピュータ・システム80からバックアップ・イメージを受信し、バックアップ・イメージを、例えば、サーバ・コンピュータ・システム90の1つ又は複数のストレージ・デバイス125に格納するよう実行可能である。また、イメージ管理サーバ・ソフトウェア207は、仮想コンピュータからバックアップ・イメージを作成するよう実行可能であってもよく、この場合、例えば、仮想コンピュータが、ユーザのコンピュータ・システム80から受信されたバックアップ・イメージのうちの1つからインスタンス化され、仮想コンピュータから作成されたバックアップ・イメージが、仮想コンピュータの変更された状態を反映する。また、イメージ管理サーバ・ソフトウェア207は、ユーザのコンピュータ・システム80上のイメージ管理クライアント・ソフトウェア205又は他のソフトウェアと通信して、仮想コンピュータから作成されたバックアップ・イメージを、ユーザのコンピュータ・システム80に送信するよう実行可能であってもよい。
また、サーバ・コンピュータ・システム90のメモリ122は、サービス・ホスティング・ソフトウェア(service hosting software)215も格納している。サービス・ホスティング・ソフトウェア215は、クライアント・アクセス・コンピュータ・システム82上で実行されるWebブラウザ・ソフトウェア又は他の遠隔のクライアント・アクセス・ソフトウェアと通信して、クライアント・アクセス・コンピュータ・システム82のユーザが、サーバ・コンピュータ・システム90に接続し、ユーザのコンピュータ・システム80の仮想表現へのアクセスを要求するよう実行可能である。例えば、一部の実施形態では、サービス・ホスティング・ソフトウェア215は、Webブラウザが、サーバ・コンピュータ・システム90に接続し、ユーザについての識別情報と認証情報を提供できるようにするWebサーバ・ソフトウェアを含む。識別情報と認証情報の受信に応答して、サービス・ホスティング・ソフトウェア215は、Webブラウザが、ユーザのコンピュータ・システム80から以前受信された、格納されているバックアップ・イメージを示すユーザ・インターフェイスを表示できるようにするHTML又は他の情報を提供してもよい。
また、サーバ・コンピュータ・システム90のメモリ122は、仮想化サービス・ソフトウェア209も格納する。クライアント・アクセス・コンピュータ・システム82のユーザが、Webブラウザに表示されているユーザ・インターフェイスから、格納されているバックアップ・イメージのうちの1つを選択すると、サービス・ホスティング・ソフトウェア215は、仮想化サービス・ソフトウェア209に、選択されたバックアップ・イメージから仮想コンピュータをインスタンス化するよう要求する。それに応答して、仮想化サービス・ソフトウェア209は、仮想コンピュータをインスタンス化し、クライアント・アクセス・コンピュータ・システム82上のWebブラウザ・ソフトウェア又は他の遠隔のクライアント・アクセス・ソフトウェアと通信して、クライアント・アクセス・コンピュータ・システム82のユーザが、仮想コンピュータと対話できるようにする。
様々な実施形態において、仮想化サービス・ソフトウェア209は、様々な種類の任意の仮想化環境を実装し、様々な任意の技術に従って、クライアント・アクセス・コンピュータ・システム82上のWebブラウザ・ソフトウェア又は他の遠隔のクライアント・アクセス・ソフトウェアと通信して、ユーザが仮想コンピュータと対話することができるようにする。図3に示した実施形態では、仮想化サービス・ソフトウェア209は、仮想コンピュータ実行ソフトウェア211と、UI/通信ソフトウェア213を含む。仮想コンピュータ実行ソフトウェア211は、仮想コンピュータのインスタンス化及び実行を管理する。UI/通信ソフトウェア213は、仮想コンピュータ実行ソフトウェア211と、クライアント・アクセス・コンピュータ・システム82上の遠隔のクライアント・アクセス・ソフトウェアとの間の中間エージェントとして働くことができる。例えば、UI/通信ソフトウェア213は、仮想コンピュータ実行ソフトウェア211から仮想コンピュータの出力情報を受信し、その出力情報を、遠隔のクライアント・アクセス・ソフトウェアによって使用可能な形に変換して、クライアント・アクセス・コンピュータ・システム82上に、仮想コンピュータについてのグラフィカル・ユーザ・インターフェイスを表示してもよい。また、UI/通信ソフトウェア213は、遠隔のクライアント・アクセス・ソフトウェアから仮想コンピュータについてのユーザ入力を受信し、そのユーザ入力を、仮想コンピュータ実行ソフトウェア211に渡してもよい。次いで、仮想コンピュータ実行ソフトウェア211の管理下で実行されている仮想コンピュータは、ユーザ入力を処理することができる。
再度図3を参照すると、1つ又は複数のプロセッサ120は、任意のタイプのプロセッサを表すことに留意されたい。例えば、一部の実施形態では、プロセッサ120のうちの1つ又は複数は、x86アーキテクチャとの互換性があり、他の実施形態では、プロセッサ120のうちの1つ又は複数は、プロセッサのSPARC(商標)ファミリとの互換性がある。
また、サーバ・コンピュータ・システム90は、1つ又は複数のストレージ・デバイス120を含むか、それに結合されている。様々な実施形態において、ストレージ・デバイス125は、光ストレージ・デバイス、ディスク・ドライブ、テープ・ドライブ、フラッシュ・メモリ・デバイスなど、データを格納するよう動作可能な様々な種類の任意のストレージ・デバイスを含む。一例として、ストレージ・デバイス125は、独立して構成された1つ又は複数のディスク・ドライブとして、又は1つのディスク・ストレージ・システムとして実装されてよい。
サーバ・コンピュータ・システム90は、ユーザ入力を受信する1つ又は複数の入力デバイス126、及び出力を表示する1つ又は複数の出力デバイス128も含む。サーバ・コンピュータ・システム90は、サーバ・コンピュータ・システム90がそれを介してネットワーク84に接続するネットワーク接続ハードウェア129も含む。ネットワーク接続ハードウェア129は、例えば、ネットワークのタイプに応じて、サーバ・コンピュータ・システム90をネットワーク84に結合するための任意のタイプのハードウェアを含む。
一部の実施形態では、サーバ・コンピュータ・システム90は、複数のコンピュータを含んでよく、その場合、例えば、コンピュータは、ネットワークを介して結合される。したがって、サーバ・コンピュータ・システム90の機能は、複数のコンピュータにわたって分散させることが可能である。例えば、図4は、サーバ・コンピュータ・システム90が3つのサーバ・コンピュータ91A、91B、91Cを含む一実施形態を示す。この例では、サーバ・コンピュータ91Aは、サービス・ホスティング・ソフトウェア215を実行し、サーバ・コンピュータ91Bは、仮想化サービス・ソフトウェア209を実行し、サーバ・コンピュータ91Cは、イメージ管理サーバ・ソフトウェア207を実行する。サーバ・コンピュータ91A、91B、91Cは、ローカル・エリア・ネットワーク(LAN)85を介して互いに結合されている。サーバ・コンピュータ91A、91B、91Cは、本明細書に記載したサーバ・コンピュータ・システム90の様々な機能を実行する際に、互いに通信できる。この例では、ネットワーク・ストレージ・ライブラリ50も、LANに接続されている。サーバ・コンピュータ・システム90のストレージ・デバイス125のうちの1つ又は複数は、ネットワーク・ストレージ・ライブラリ50に含まれる。例えば、サーバ・コンピュータ91C上で実行されるイメージ管理サーバ・ソフトウェア207は、ネットワーク・ストレージ・ライブラリ50内の1つ又は複数のストレージ・デバイス125に、ユーザのコンピュータ・システム80から受信されたバックアップ・イメージを格納する。
様々な実施形態において、サーバ・コンピュータ・システム90は、任意の数のコンピュータを含んでよく、サーバ・コンピュータ・システム90の様々なソフトウェア構成要素は、様々な任意の方法で、コンピュータにわたって分散されてもよい。例えば、一部の実施形態では、仮想化サービス・ソフトウェア209は、サーバ・コンピュータ・システム90における複数のコンピュータにわたって分散される。別の例として、単一のコンピュータは、仮想化サービス・ソフトウェア209及びイメージ管理サーバ・ソフトウェア207の両方を実行してもよい。
次に図5を参照すると、一実施形態によるクライアント・アクセス・コンピュータ・システム82の一例が示されている。上述したように、クライアント・アクセス・コンピュータ・システム82は、任意のタイプのコンピュータ・システムを含む。クライアント・アクセス・コンピュータ・システム82は、上述したものなど、類似の構成要素を含む。例えば、一部の実施形態では、クライアント・アクセス・コンピュータ・システム82は、1つ又は複数のプロセッサ120、メモリ122、ネットワーク接続ハードウェア129、1つ又は複数の入力デバイス126、1つ又は複数のストレージ・デバイス125、1つ又は複数の表示デバイス128を含む。プロセッサ120は、メモリ122に格納されている遠隔のクライアント・アクセス・ソフトウェア230を実行することができる。
遠隔のクライアント・アクセス・ソフトウェア230によって、クライアント・アクセス・コンピュータ・システム82は、サーバ・コンピュータ・システム90と通信することができる。例えば、遠隔のクライアント・アクセス・ソフトウェア230は、サーバ・コンピュータ・システム90上のサービス・ホスティング・ソフトウェア215と通信して、ユーザのコンピュータ・システム80のバックアップ・イメージのうちの1つから仮想コンピュータがインスタンス化されるよう要求してもよい。仮想コンピュータがインスタンス化された後、遠隔のクライアント・アクセス・ソフトウェア230は、仮想化サービス・ソフトウェア209と通信して、例えば、仮想コンピュータについてのユーザ・インターフェイス情報を受信し、ユーザ・インターフェイス情報をクライアント・アクセス・コンピュータ・システム82に表示してもよい。また、遠隔のクライアント・アクセス・ソフトウェア230は、仮想コンピュータへのユーザ入力を受信し、仮想化サービス・ソフトウェア209に渡すことができる。
様々な実施形態において、遠隔のクライアント・アクセス・ソフトウェア230は、様々な方法のうちの任意のもので実施され、任意の所望のソフトウェア・アーキテクチャを有している。例えば、一部の実施形態では、遠隔のクライアント・アクセス・ソフトウェア230は、単一のソフトウェア・アプリケーションとして実装される。他の実施形態では、遠隔のクライアント・アクセス・ソフトウェア230は、互いに一緒に動作する2つ以上のソフトウェア・プログラム又はアプリケーションとして実装されてもよい。
一部の実施形態では、遠隔のクライアント・アクセス・ソフトウェア230は、標準Webブラウザ・プログラムであり、クライアント・アクセス・コンピュータ・システム82には、他のソフトウェアを必要としないこともある。また、他の実施形態では、遠隔のクライアント・アクセス・ソフトウェア230は、Webブラウザ・プログラムのプラグイン又は拡張機能を含む。しかし、Webブラウザ・プログラムは、例えば、サーバ・コンピュータ・システム90によってホストされているWebページに接続すると、プラグインを自動的にダウンロードし、インストールするよう動作可能であってよい。したがって、一部の実施形態では、実質的に、インターネットに接続されている任意のコンピュータ・システムを、クライアント・アクセス・コンピュータ・システム82として使用できる。
他の実施形態では、クライアント・アクセス・コンピュータ・システム82は、単に標準Webブラウザ・プログラムをインストールするだけ以外の追加の構成を必要とすることがある。例えば、一部の実施形態では、クライアント・アクセス・コンピュータ・システム82のユーザ又は管理者に、例えば、サーバ・コンピュータ・システム90において使用される仮想化サービス・ソフトウェア209のタイプに応じて、又は仮想化サービス・ソフトウェア209が、クライアント・アクセス・コンピュータ・システム82と情報を交換するために使用する特定の技術に応じて、クライアント・アクセス・コンピュータ・システム82上に、標準Webブラウザ以外のソフトウェア・アプリケーションを手動でインストールすることが求められることもある。
次に図6を参照すると、物理コンピュータ・システムの仮想表現にアクセスするための方法の一実施形態が示されている。矢印1によって示されるように、ユーザのコンピュータ・システム80の1つ又は複数のバックアップ・イメージは、サーバ・コンピュータ・システム90に送信され、そこに格納される。一部の実施形態では、ユーザは、手動で、又は対話形式で、サーバ・コンピュータ・システム90に接続し、1つ又は複数のバックアップ・イメージがサーバ・コンピュータ・システム90に格納されるよう要求する。他の実施形態では、1つ又は複数のバックアップ・イメージは、サーバ・コンピュータ・システム90に自動的に送信され、そこに格納される。例えば、ユーザは、ユーザのコンピュータ・システム80にインストールされているイメージ管理クライアント・ソフトウェア205を、所望のスケジュール(例えば、毎時、毎日、毎週、他の指定時刻など)に従って、ユーザのコンピュータ・システム80のバックアップ・イメージを自動的に作成するよう構成してよい。新しいバックアップ・イメージが作成されるたびに、イメージ管理クライアント・ソフトウェア205は、サーバ・コンピュータ・システム90上のイメージ管理サーバ・ソフトウェア207と自動的に通信して、サーバ・コンピュータ・システム90に格納するために、新しいバックアップ・イメージを送信してよい。
一部の実施形態では、1つ又は複数のバックアップ・イメージを、ユーザを識別する情報と関連付けて、サーバ・コンピュータ・システム90に格納する。例えば、ユーザは、ユーザ名やパスワードなど、識別情報と認証情報を特定することによって、サーバ・コンピュータ・システム90のアカウントを作成する。各バックアップ・イメージがユーザのコンピュータ・システム80からサーバ・コンピュータ・システム90に送信されると、ユーザの識別情報と認証情報も送信される。サーバ・コンピュータ・システム90は、この情報を使用して、ユーザのアカウントへのアクセスを許可し、受信されたバックアップ・イメージを、ユーザのアカウントと関連付けて格納する。したがって、サーバ・コンピュータ・システム90は、例えば異なるユーザ・アカウントなど、複数の異なるユーザ・コンピュータ・システムのバックアップ・イメージを格納するよう構成され、この場合、様々なユーザについてのそれぞれの識別情報と認証情報を使用して、ユーザ・アカウントへのアクセスを制御する。
図2との関連で上述したように、ユーザのコンピュータ・システム80は、ディスク・ドライブ、テープ・ドライブ、光ストレージ・デバイス、フラッシュ・メモリ・デバイスなど、1つ又は複数のストレージ・デバイス125を含む、又はそれに結合されている。ユーザのコンピュータ・システム80の各バックアップ・イメージは、1つ又は複数のストレージ・デバイス125に実装されている1つ又は複数のファイル・システムについてのファイル・システム情報を含む。例えば、各バックアップ・イメージは、ストレージ・デバイス125のうちの1つ又は複数に格納されているファイルの少なくとも1つのサブセットを含む。一部の実施形態では、バックアップ・イメージは、ストレージ・デバイス125のうちの1つ又は複数に格納されているファイルのすべての全バックアップを含む。一部の実施形態では、バックアップ・イメージは、すべてのストレージ・デバイス125に格納されているすべてのファイルの全バックアップを含む。ユーザは、イメージ管理クライアント・ソフトウェア205を、各ストレージ・デバイス125の全部又は一部のバックアップを実行するように構成することができる。
それぞれのバックアップ・イメージに含まれるファイル・システム情報は、仮想コンピュータがサーバ・コンピュータ・システム90においてインスタンス化される時、1つ又は複数のストレージ・デバイス125に実装されているファイル・システムのうちの1つ又は複数を、サーバ・コンピュータ・システム90上の仮想コンピュータで再現できるようにする。それぞれのファイル・システムは、例えば、バックアップ・イメージがそれぞれのファイル・システムのバックアップを全部含んでいるか、一部含んでいるかに応じて、仮想コンピュータで完全に又は一部分再現される。
各バックアップ・イメージは、ユーザのコンピュータ・システム80の仮想表現をインスタンス化できるようにする情報を含む。特に、各バックアップ・イメージは、ユーザのコンピュータ・システム80についてのオペレーティング・システム情報を含んでよく、この場合、例えば、オペレーティング・システム情報は、オペレーティング・システムを実装する、又はオペレーティング・システムによって管理される1つ又は複数のファイルの形で格納される。オペレーティング・システム情報によって、オペレーティング・システムを、サーバ・コンピュータ・システム90上の仮想コンピュータにインスタンス化することができる。
一部の実施形態では、各バックアップ・イメージは、例えばユーザのコンピュータ・システム80にインストールされている1つ又は複数のソフトウェア・アプリケーションを表すファイル又は他の情報など、ソフトウェア・アプリケーション情報を含む。ソフトウェア・アプリケーション情報によって、1つ又は複数のソフトウェア・アプリケーションを、サーバ・コンピュータ・システム90上の仮想コンピュータにおいて実行することができる。
一部の実施形態では、各バックアップ・イメージは、ユーザのコンピュータ・システム80におけるデバイスを表す、又はユーザのコンピュータ・システム80におけるデバイスの構成を示すデバイス・ドライバ・ファイルや他の情報など、デバイス情報も含む。デバイス情報によって、ユーザのコンピュータ・システム80におけるデバイスのうちの1つ又は複数を、サーバ・コンピュータ・システム90上の仮想コンピュータによってシミュレートすることができる。
ユーザのコンピュータ・システム80の各バックアップ・イメージは、ユーザのコンピュータ・システム80を、例えばそれぞれのバックアップ・イメージが作成された時など、対応する時点に存在していた通りに表現する。例えば、各バックアップ・イメージは、それぞれの状態情報を特定することができ、状態情報は、バックアップ・イメージが作成された時点のユーザのコンピュータ・システム80の状態を表現する。上述したように、状態情報は、ユーザのコンピュータ・システム80のファイル・システムの状態を表現するファイル・システム情報、ユーザのコンピュータ・システム80のオペレーティング・システムの状態を表すオペレーティング・システム情報、ユーザのコンピュータ・システム80上の1つ又は複数のソフトウェア・アプリケーションの状態を表すソフトウェア・アプリケーション情報などの情報を含む。
一部の実施形態では、ユーザのコンピュータ・システム80のバックアップ・イメージのうちの1つ又は複数を、別のバックアップ・イメージに基づく増分バックアップ(incremental backup)として作成することができる。例えば、ユーザのコンピュータ・システム80上のイメージ管理クライアント・ソフトウェア205は、まず、任意の他のバックアップ・イメージに依存しない独立したバックアップ・イメージである基本バックアップ・イメージ(base backup image)を作成する。例えば、基本バックアップ・イメージは、ストレージ・デバイス125に格納されているデータの全バックアップを含む。後で、イメージ管理クライアント・ソフトウェア205は、基本バックアップ・イメージに依存する増分バックアップ・イメージを作成する。増分バックアップ・イメージは、ストレージ・デバイス125上のデータの全バックアップを含むのではなく、代わりに、基本バックアップ・イメージの作成以降に行われたデータに対する変更を加える。例えば、増分バックアップ・イメージは、追加された新しいデータ、又は基本バックアップ・イメージの作成以降に変更されたデータを含むが、基本バックアップ・イメージの作成以降に変更されていないデータは含まなくてもよい。後で、イメージ管理クライアント・ソフトウェア205は、第1の増分バックアップ・イメージに依存する別の増分バックアップ・イメージを作成してよい。例えば、第2の増分バックアップ・イメージは、第1の増分バックアップ・イメージの作成以降に行われたデータへの変更を加える。
したがって、一部の実施形態では、ユーザのコンピュータ・システム80の基本バックアップ・イメージ300を含むチェーン、及びユーザのコンピュータ・システム80の1つ又は複数の増分バックアップ・イメージ302が作成され、サーバ・コンピュータ・システム90に格納される。例えば、図7は、ユーザのコンピュータ・システム80の基本バックアップ・イメージ300がサーバ・コンピュータ・システム90のストレージ・デバイス125に送信され、そこに格納されている一例を示している。基本バックアップ・イメージ300は、ユーザのコンピュータ・システム80の状態を、時刻T=T1に存在していた通りに表す。ユーザのコンピュータ・システム80の4つの増分バックアップ・イメージ302A〜302Dも、サーバ・コンピュータ・システム90のストレージ・デバイス125に送信され、そこに格納される。増分バックアップ・イメージ302Aは、基本バックアップ・イメージ300に依存し、ユーザのコンピュータ・システム80の状態を、時刻T=T2(T2がT1の後の場合)に存在していた通りに表す。同様に、増分バックアップ・イメージ302Bは、増分バックアップ・イメージ302Aに依存し、ユーザのコンピュータ・システム80の状態を、時刻T=T3(T3がT2の後の場合)に存在していた通りに表す。増分バックアップ・イメージ302Cと302Dは、チェーンにおけるその後の増分バックアップを表す。サーバ・コンピュータ・システム90は、ストレージ・デバイス125に格納されているバックアップ・イメージ間のそれぞれの依存性を示す情報、及びバックアップ・イメージが作成されたそれぞれの時刻を示す情報を格納する。
別の実施形態では、ユーザのコンピュータ・システム80の2つ以上の独立した、又は基本のバックアップ300が作成され、送信されて、サーバ・コンピュータ・システム90に格納される。例えば、図8は、5つの独立したバックアップ・イメージ300A〜300Eが、サーバ・コンピュータ・システム90のストレージ・デバイス125に格納されている一例を示す。独立したバックアップ・イメージ300のそれぞれは、互いに独立している。
他の実施形態では、それぞれの基本バックアップ・イメージ300が、それぞれの基本バックアップ・イメージ300に依存する1つ又は複数の増分バックアップ・イメージ302を有するように、複数の基本バックアップ・イメージ300と複数の増分バックアップ・イメージ302が作成され、サーバ・コンピュータ・システム90に格納される。
ユーザのコンピュータ・システム80の1つ又は複数のバックアップ・イメージがサーバ・コンピュータ・システム90に格納された後、クライアント・アクセス・コンピュータ・システム82のユーザは、ユーザのコンピュータ・システム80の仮想表現にアクセスすることを望むことがあり、例えば、この場合、クライアント・アクセス・コンピュータ・システム82は、ユーザのコンピュータ・システム80及びサーバ・コンピュータ・システム90の両方から離れて配置されている。例えば、図6の矢印2で示されるように、ユーザは、クライアント・アクセス・コンピュータ・システム82上のWebブラウザ・ソフトウェア又は他の遠隔のクライアント・アクセス・ソフトウェア230と対話して、サーバ・コンピュータ・システム90上のサービス・ホスティング・ソフトウェア215と通信する。例えば、ユーザは、サーバ・コンピュータ・システム90によってホストされているWebページのURL(ユニフォーム・リソース・ロケータ)など、サーバ・コンピュータ・システム90のアドレスを入力する。
一部の実施形態では、サービス・ホスティング・ソフトウェア215は、ユーザに、ユーザ名やパスワードなどの識別情報と認証情報を入力するよう促す。ユーザを認証した後、サービス・ホスティング・ソフトウェア215は、図6の矢印3によって示されるように、遠隔のクライアント・アクセス・ソフトウェア230が、サーバ・コンピュータ・システム90に格納されている、ユーザに関連付けられている1つ又は複数のバックアップ・イメージを示すユーザ・インターフェイスを表示できるようにするための情報を遠隔のクライアント・アクセス・ソフトウェア230に送信する。一部の実施形態では、ユーザ・インターフェイスは、Webページとして表示される。図9は、クライアント・アクセス・コンピュータ・システム82に表示されるWebページ又は他のタイプのユーザ・インターフェイスの簡単な例を示す。この例では、ユーザ・インターフェイスは、ユーザが、サーバ・コンピュータ・システム90に格納されているユーザのコンピュータ・システムの最新のバックアップ・イメージから仮想コンピュータをインスタンス化するよう要求するためにクリックできるボタン700を含む。また、ユーザ・インターフェイスは、バックアップ・イメージのそれぞれ、及びバックアップ・イメージが作成されたそれぞれの時間を列挙する。列挙されたバックアップ・イメージのそれぞれの隣に、それぞれのチェックボックス702が表示される。ユーザは、仮想コンピュータをそこからインスタンス化したい所望のバックアップ・イメージの隣のチェックボックスにチェックを入れ、OKボタン704をクリックすることができる。他の実施形態では、クライアント・アクセス・コンピュータ・システム82に表示されているユーザ・インターフェイスは、様々な他の外見のうちの任意のものを有してもよく、ユーザが、様々な方法のうちの任意のもので、所望のバックアップ・イメージを選択することができるようにする。
したがって、システムによって、ユーザのコンピュータ・システムの異なる仮想表現をインスタンス化することができ、それぞれの仮想表現は、例えば、それぞれのバックアップ・イメージが作成された時点など、それぞれの時点に存在していた通りのユーザのコンピュータ・システムの状態に対応する。
再度図6を参照すると、遠隔のクライアント・アクセス・ソフトウェア230は、図6の矢印4によって示されているように、どのバックアップ・イメージをユーザが選択したかを示す情報を、サーバ・コンピュータ・システム90上のサービス・ホスティング・ソフトウェア215に送信することができる。これに応答して、サービス・ホスティング・ソフトウェア215は、仮想化サービス209に、選択されたバックアップ・イメージから仮想コンピュータをインスタンス化するよう要求してもよい。
それに応答して、仮想化サービス209は、図6に示されているように、選択されたバックアップ・イメージを、ストレージから取り出し、そのバックアップ・イメージから仮想コンピュータ400をインスタンス化する。仮想コンピュータ400は、選択されたバックアップ・イメージが作成された時に存在していた通りのユーザのコンピュータ・システム80の仮想表現であり、例えば、この場合、仮想表現は、サーバ・コンピュータ・システム90上で実行されるソフトウェア(例えば仮想コンピュータ実行ソフトウェア211など)によって実現される。仮想コンピュータ400は、最初にインスタンス化された時、選択されたバックアップ・イメージが作成された時のユーザのコンピュータ・システム80の状態に対応する状態にある。
例えば、選択されたバックアップ・イメージは、例えば、オペレーティング・システムが仮想コンピュータ実行ソフトウェア211の管理下で実行される場合、仮想コンピュータ400のオペレーティング・システムをインスタンス化できるようにするオペレーティング・システム情報を含む。オペレーティング・システムは、選択されたバックアップ・イメージが作成された時のユーザのコンピュータ・システム80上のオペレーティング・システムの状態に対応する初期状態を有する。
同様に、選択されたバックアップ・イメージは、例えば、ファイル・システムが仮想コンピュータ実行ソフトウェア211によって管理される場合、ユーザのコンピュータ・システム80のファイル・システムを仮想コンピュータ400において再現できるようにするファイル・システム情報を含む。ファイル・システムは、選択されたバックアップ・イメージが作成された時のユーザのコンピュータ・システム80上のファイル・システムの状態に対応する初期状態を有している。
同様に、選択されたバックアップ・イメージは、例えば、ソフトウェア・アプリケーションの実行が仮想コンピュータ実行ソフトウェア211によって管理される場合、ユーザのコンピュータ・システム80上にインストールされているソフトウェア・アプリケーションを仮想コンピュータ400において複製できるようにするソフトウェア・アプリケーション情報を含む。ソフトウェア・アプリケーションは、選択されたバックアップ・イメージが作成された時のユーザのコンピュータ・システム80上のソフトウェア・アプリケーションの状態に対応する初期状態を有している。
様々な実施形態において、仮想化サービス・ソフトウェア209は、様々な種類の任意の仮想化環境を実装し、仮想コンピュータ400は、様々なタイプの任意の仮想コンピュータとして実装される。一部の実施形態では、選択されたバックアップ・イメージは、1つ又は複数のファイルとして表され、仮想化サービス・ソフトウェア209は、選択されたバックアップ・イメージの1つ又は複数のファイルを、第2の1つ又は複数のファイルに自動的に変換するよう動作可能であり、例えば、この場合、第2の1つ又は複数のファイルは、仮想コンピュータ・フォーマットに従ってフォーマットされる。したがって、仮想コンピュータ400は、第2の1つ又は複数のファイルからインスタンス化される。一部の実施形態では、選択されたバックアップ・イメージの1つ又は複数のファイルを、仮想コンピュータ400のインスタンス化の要求が受信された時の仮想コンピュータ・フォーマットの第2の1つ又は複数のファイルに動的に変換できる。一部の実施形態では、選択されたバックアップ・イメージの1つ又は複数のファイルを、仮想コンピュータ400のインスタンス化の要求が受信される前の仮想コンピュータ・フォーマットの第2の1つ又は複数のファイルに事前に変換できる。したがって、一部の実施形態では、仮想コンピュータ・フォーマットの第2の1つ又は複数のファイルは、サーバ・コンピュータ・システム90に事前に格納される。
一部の実施形態では、サーバ・コンピュータ・システム90は、異なる種類の仮想コンピュータをインスタンス化するよう動作可能であり、例えば、異なる種類の仮想コンピューティング・フレームワーク又は環境を実装してよい。一部の実施形態では、サーバ・コンピュータ・システム90によって、ユーザは、インスタンス化したい、あるタイプの仮想コンピュータを選択することができる。したがって、仮想コンピュータ400は、ユーザによって選択されたタイプの仮想コンピュータとしてインスタンス化される。
再度図6を参照すると、仮想コンピュータ400がサーバ・コンピュータ・システム90においてインスタンス化された後、仮想化サービス209のUI/通信ソフトウェア213は、両方向矢印5によって示されるように、クライアント・アクセス・コンピュータ・システム82上の遠隔のクライアント・アクセス・ソフトウェア230と通信する。例えば、UI/通信ソフトウェア213は、仮想コンピュータ実行ソフトウェア211から仮想コンピュータ400の出力情報を受信し、その出力情報を、遠隔のクライアント・アクセス・ソフトウェア230によって使用可能な形に変換して、クライアント・アクセス・コンピュータ・システム82上に、仮想コンピュータ400のグラフィカル・ユーザ・インターフェイスを表示してもよい。一部の実施形態では、クライアント・アクセス・コンピュータ・システム82上に表示されたグラフィカル・ユーザ・インターフェイスは、ユーザの実際のコンピュータ・システム80と対話する時にユーザが見るグラフィカル・ユーザ・インターフェイスに非常に似ており、又はほぼ同じに見えることがある。例えば、ユーザに、ユーザの実際のコンピュータ・システム80上と同じアイコンが表示されてよく、アイコンは、同じレイアウトに配列される。
また、UI/通信ソフトウェア213は、遠隔のクライアント・アクセス・ソフトウェア230を介して、クライアント・アクセス・コンピュータ・システム82のユーザから仮想コンピュータ400のユーザ入力を受信し、そのユーザ入力を仮想コンピュータ実行ソフトウェア211に渡す。次いで、仮想コンピュータ実行ソフトウェア211の管理下で実行されている仮想コンピュータ400が、ユーザ入力を処理する。
ユーザがクライアント・アクセス・コンピュータ・システム82を介して仮想コンピュータ400と対話するにつれて、仮想コンピュータ400の状態が変更される。例えば、ユーザがファイルを追加、削除、又は変更した(又は仮想コンピュータ400上のソフトウェア・アプリケーションを実行し、その結果、ファイルが追加、削除、又は変更される)場合、仮想コンピュータ400上のファイル・システムの状態が変更される。別の例として、ユーザが仮想コンピュータ400上のオペレーティング・システム又はソフトウェア・アプリケーションの構成オプションを変更した場合、オペレーティング・システム又はソフトウェア・アプリケーションの状態が変更される。
クライアント・アクセス・コンピュータ・システム82上のグラフィカル・ユーザ・インターフェイスによって、ユーザは、仮想コンピュータ400との対話をいつ終了したかを示すことができる。これに応答して、遠隔のクライアント・アクセス・ソフトウェア230は、仮想コンピュータ400及びサーバ・コンピュータ・システム90から接続解除される。一部の実施形態では、サーバ・コンピュータ・システム90は、ユーザのクレジット・カードに課金するか、そうでない場合、サーバ・コンピュータ・システム90上の仮想化サービスの使用料をユーザに請求する。
図6の矢印6によって示されるように、サーバ・コンピュータ・システム90は、仮想コンピュータ400の新しいバックアップ・イメージを作成し、新しいバックアップ・イメージを、サーバ・コンピュータ・システム90のストレージ・デバイス125上に格納する。新しいバックアップ・イメージは、仮想コンピュータ400の変更された状態である。
様々な実施形態において、新しいバックアップ・イメージを、様々な技術のうちの任意のものを使用して、仮想コンピュータ400から作成することができる。例えば、一部の実施形態では、仮想コンピュータ400は、サーバ・コンピュータ・システム90上のダイナミック・メモリに格納されている情報として表されてよく、新しいバックアップ・イメージは、ダイナミック・メモリに格納されている情報から作成される。他の実施形態では、ダイナミック・メモリに格納されている情報は、まず、仮想コンピュータ400を表す1つ又は複数のファイルに変換され、次いで、その1つ又は複数のファイルは、第2の1つ又は複数のファイルに自動的に変換され、その際、例えば、第2の1つ又は複数のファイルは、物理デバイスのバックアップ・フォーマットに従ってフォーマットされる。
上述したように、一部の実施形態では、バックアップ・イメージは、基本バックアップ・イメージ300に基づく増分バックアップ・イメージ302のチェーンとして、サーバ・コンピュータ・システム90に格納される。一部の実施形態では、仮想コンピュータ400から作成された新しいバックアップ・イメージも、基本バックアップ・イメージ300に基づく増分バックアップ・イメージ302として格納される。例えば、図7の例において、仮想コンピュータ400は、増分バックアップ・イメージ302Dからインスタンス化される。新しいバックアップ・イメージは、仮想コンピュータ400から作成されると、図10に示されるように、増分バックアップ・イメージ302Dに依存する増分バックアップ・イメージ302Eとして作成される。
他の実施形態では、仮想コンピュータ400から作成された新しいバックアップ・イメージは、独立したバックアップ・イメージとして、サーバ・コンピュータ・システム90に格納される。例えば、図11は、新しい独立したバックアップ・イメージ300Fが仮想コンピュータ400から作成され、サーバ・コンピュータ・システム90に格納されている図8の例を示す。
図6の矢印7によって示されるように、仮想コンピュータ400で作成された新しいバックアップ・イメージは、ユーザのコンピュータ・システム80に転送され、加えられる。例えば、サーバ・コンピュータ・システム90上のイメージ管理サーバ・ソフトウェア207は、ユーザのコンピュータ・システム80上のイメージ管理クライアント・ソフトウェア205と通信して、新しいバックアップ・イメージをユーザのコンピュータ・システム80に送信する。新しいバックアップ・イメージの受信に応答して、イメージ管理クライアント・ソフトウェア205は、新しいバックアップ・イメージを、ユーザのコンピュータ・システム80に加えることができる。新しいバックアップ・イメージをユーザのコンピュータ・システム80に加えることは、例えば、新しいバックアップ・イメージによって定められたように、ユーザのコンピュータ・システム80のストレージ・デバイス125のうちの1つ又は複数に格納されている情報を変更することによって、新しいバックアップ・イメージに従ってユーザのコンピュータ・システム80を更新することを含む。
新しいバックアップ・イメージをユーザのコンピュータ・システム80に加えることは、ユーザのコンピュータ・システム80を、新しいバックアップ・イメージが作成された時の仮想コンピュータ400の状態に対応する状態、すなわち仮想コンピュータ400の変更された状態にすることもある。例えば、ユーザのコンピュータ・システム80上のストレージ・デバイス125は、ファイル・システムを実装してよく、そのファイル・システムは、仮想コンピュータ400上で再現され、仮想コンピュータ400の変更された状態は、ファイル・システムの変更された状態を含む。したがって、新しいバックアップ・イメージをユーザのコンピュータ・システム80に加えることは、ストレージ・デバイス125上のファイル・システムを、仮想コンピュータ400上のファイル・システムの変更された状態に自動的に変更することである。
例えば、新しいファイルが仮想コンピュータ400上のファイル・システムに追加された場合、新しいファイルは、新しいバックアップ・イメージがユーザのコンピュータ・システム80に追加されると、ユーザのコンピュータ・システム80のストレージ・デバイス125上のファイル・システムに自動的に追加される。同様に、ファイルが仮想コンピュータ400上のファイル・システムにおいて変更された場合、ユーザのコンピュータ・システム80のストレージ・デバイス125の対応するファイルは、新しいバックアップ・イメージがユーザのコンピュータ・システム80に適用されると、同じようにして自動的に変更される。同様に、ファイルが仮想コンピュータ400上のファイル・システムにおいて削除された場合、ユーザのコンピュータ・システム80のストレージ・デバイス125の対応するファイルは、新しいバックアップ・イメージがユーザのコンピュータ・システム80に適用されると、自動的に削除される。
別の例として、ソフトウェア・アプリケーションは、ユーザのコンピュータ・システム80にインストールされてよく、ソフトウェア・アプリケーションは、仮想コンピュータ400で再現され、仮想コンピュータ400の変更された状態は、ソフトウェア・アプリケーションの変更された状態を含む。したがって、新しいバックアップ・イメージをユーザのコンピュータ・システム80に加えることによって、ユーザのコンピュータ・システム80上のソフトウェア・アプリケーションを、仮想コンピュータ400上のソフトウェア・アプリケーションの変更された状態に自動的に変更することができる。
一部の実施形態では、仮想コンピュータ400から作成されたバックアップ・イメージは、ユーザの要求に応答して、サーバ・コンピュータ・システム90からユーザのコンピュータ・システム80に転送され、加えられる。例えば、クライアント・アクセス・コンピュータ・システム82上の仮想コンピュータ400と対話した後、ユーザは、続いてユーザのコンピュータ・システム80に戻り、サーバ・コンピュータ・システム90にログ・オンし、新しいバックアップ・イメージがユーザのコンピュータ・システム80に転送され、加えられるよう要求することができる。
他の実施形態では、ユーザは、サーバ・コンピュータ・システム90に手動で接続し、仮想コンピュータ400から作成されたバックアップ・イメージがユーザのコンピュータ・システム80に転送され、加えられるよう要求する必要が必ずしもない。例えば、一部の実施形態では、サーバ・コンピュータ・システム90は、ユーザのコンピュータ・システム80と自動的に通信して、サーバ・コンピュータ・システム90において新しいバックアップ・イメージが作成されたことをユーザのコンピュータ・システム80に知らせることができ、新しいバックアップ・イメージは、ユーザのコンピュータ・システム80に、自動的に転送され、加えられる。他の実施形態では、ユーザのコンピュータ・システム80は、新しいバックアップ・イメージがサーバ・コンピュータ・システム90において作成されたということを自動的に検出するか、通知されてよいが、ユーザのコンピュータ・システムは、それを自動的に行う前に、まず、新しいバックアップ・イメージをユーザのコンピュータ・システム80に適用したいかどうかをユーザに尋ねてもよい。
この方法は、仮想コンピュータ400から作成された新しいバックアップ・イメージをユーザのコンピュータ・システム80に転送し、加えることに関して上述してきたが、他の実施形態では、新しいバックアップ・イメージを、ユーザのコンピュータ・システム80以外の1つ又は複数の物理コンピュータ・システムに転送し、加える。したがって、例えば、ユーザの元のコンピュータ・システム80が無くなったり壊れたりした場合、ユーザは、新しいコンピュータ・システムを取得してもよく、新しいコンピュータ・システムは、バックアップ・イメージを、サーバ・コンピュータ・システム90から新しいコンピュータ・システムに転送し、加えることによって、仮想コンピュータ400から作成されたこのバックアップ・イメージによって示される状態に自動的に構成される。
様々な実施形態が、コンピュータでアクセス可能な記憶媒体において、前記の説明に従って実施される命令及び/又はデータを受信し、送信し、又は格納することをさらに含むことに留意されたい。一般的に言えば、コンピュータでアクセス可能な記憶媒体は、命令及び/又はデータをコンピュータに提供するために使用する間にコンピュータによってアクセス可能な任意の記憶媒体を含む。例えば、コンピュータでアクセス可能な記憶媒体は、ディスク(固定式又は取外式)テープ、CD−ROM、DVD−ROM、CD−R、CD−RW、DVD−R、DVD−RWなど、磁気又は光媒体などの記憶媒体を含む。記憶媒体は、RAM(シンクロナス・ダイナミックRAM(SDRAM)、ラムバスDRAM(RDRAM)、スタティックRAM(SRAM)など)、ROM、フラッシュ・メモリ、ユニバーサル・シリアル・バス(USB)インターフェイスなどの周辺インターフェイスを介してアクセス可能な不揮発性メモリ(フラッシュ・メモリなど)など、揮発性又は不揮発性のメモリ媒体をさらに含む。一部の実施形態では、コンピュータは、ネットワーク及び/又は無線リンクなどの通信手段を介して記憶媒体にアクセスできる。
上記の実施形態は、かなり詳しく記載されているが、上記の開示を完全に理解すると、当業者には多数の変形形態及び変更形態が明らかになる。頭記の特許請求の範囲は、こうしたすべての変形形態及び変更形態を包含するものと解釈されるものとする。
ユーザのコンピュータ・システム、サーバ・コンピュータ・システム、及びクライアント・アクセス・コンピュータ・システムを含んでいる、物理コンピュータ・システムの仮想表現にアクセスするためのシステムの一実施形態を示す図である。 一実施形態によるユーザのコンピュータ・システムの一例を示す図である。 特定の実施形態によるサーバ・コンピュータ・システムの例を示す図である。 特定の実施形態によるサーバ・コンピュータ・システムの例を示す図である。 一実施形態によるクライアント・アクセス・コンピュータ・システムの一例を示す図である。 物理コンピュータ・システムの仮想表現にアクセスするための方法の一実施形態を示す図である。 ユーザのコンピュータ・システムの基本バックアップ・イメージ、及びユーザのコンピュータ・システムの複数の増分バックアップ・イメージがサーバ・コンピュータ・システムのストレージ・デバイスに送信され、そこに格納されている一例を示す図である。 複数の独立したバックアップ・イメージがサーバ・コンピュータ・システムのストレージ・デバイスに送信され、格納されている一例を示す図である。 ユーザがサーバ・コンピュータ・システム上に格納されているバックアップ・イメージのうちの1つを選択することができるようにするための、クライアント・アクセス・コンピュータ・システム上に表示されたユーザ・インターフェイスの一例を示す図である。 新しいバックアップ・イメージが、仮想コンピュータから作成されており、サーバ・コンピュータ・システムに増分バックアップ・イメージとして格納されている、図7の例を示す図である。 新しいバックアップ・イメージが、仮想コンピュータから作成されており、サーバ・コンピュータ・システムに独立したバックアップ・イメージとして格納されている、図8の例を示す図である。
符号の説明
50 ネットワーク・ストレージ・ライブラリ
80 ユーザのコンピュータ・システム
82 クライアント・アクセス・コンピュータ・システム
84 ネットワーク
85 LAN
90 サーバ・コンピュータ・システム
91 サーバ・コンピュータ
120 プロセッサ
122 メモリ
125 ストレージ・デバイス
126 入力デバイス
128 出力デバイス
129 ネットワーク接続ハードウェア

Claims (17)

  1. 第1の物理コンピュータ・システムの複数のバックアップ・イメージを、サーバ・コンピュータ・システムに格納するステップであって、バックアップ・イメージが、所定のユーザに対応する前記第1の物理コンピュータ・システムの状態を特定する、ステップと、
    前記第1の物理コンピュータ・システムの仮想表現へのアクセスの第1の要求を、前記所定のユーザから第2の物理コンピュータ・システム上で実行されているWebブラウザプログラムを介して受信するステップと、
    前記第1の要求に応答して、前記Webブラウザプログラムにより表示されるための、前記複数のバックアップ・イメージを特定する情報を前記第2の物理コンピュータ・システムに送信するステップと、
    前記第2の物理コンピュータ・システム上で実行されている前記Webブラウザプログラムを介した、特定のバックアップ・イメージを選択する前記所定のユーザによるユーザ入力の受信に応答して、前記複数のバックアップ・イメージのうちの前記特定のバックアップ・イメージから仮想コンピュータをインスタンス化するステップと、
    前記第2の物理コンピュータ・システム上で実行されている前記Webブラウザプログラムを介して、前記所定のユーザからの前記仮想コンピュータへのユーザ入力を受信するステップと、
    前記仮想コンピュータへの前記ユーザ入力に応答して、前記仮想コンピュータの状態を変更するステップと、
    前記仮想コンピュータの変更されたバックアップ・イメージを、前記サーバ・コンピュータ・システムに格納するステップであって、前記変更されたバックアップ・イメージが、前記仮想コンピュータの前記変更された状態を特定する、ステップと、
    前記サーバ・コンピュータ・システムからの前記変更されたバックアップ・イメージを、前記第1の物理コンピュータ・システムに転送し、加えるステップと
    を含む方法を実施するよう実行可能なプログラム命令を格納するコンピュータでアクセス可能な記憶媒体。
  2. 前記変更されたバックアップ・イメージを前記第1の物理コンピュータ・システムに加えるステップが、前記第1の物理コンピュータ・システムを、前記仮想コンピュータの前記変更された状態に対応する変更された状態にする請求項1に記載のコンピュータでアクセス可能な記憶媒体。
  3. 前記特定のバックアップ・イメージが前記第1の物理コンピュータ・システムの1の状態を特定し前記第1の状態が前記第1の物理コンピュータ・システムのファイル・システムの状態を含み、
    前記仮想コンピュータの前記変更された状態が、前記ファイル・システムの変更された状態を含み、
    前記変更されたバックアップ・イメージを前記第1の物理コンピュータ・システムに加えるステップが、前記第1の物理コンピュータ・システムの前記ファイル・システムを、前記ファイル・システムの前記変更された状態に変更する請求項1に記載のコンピュータでアクセス可能な記憶媒体。
  4. 前記特定のバックアップ・イメージが前記第1の物理コンピュータ・システムの1の状態を特定し前記第1の状態が前記第1の物理コンピュータ・システム上のソフトウェア・アプリケーションの状態を含み、
    前記仮想コンピュータの前記変更された状態が、前記ソフトウェア・アプリケーションの変更された状態を含み、
    前記変更されたバックアップ・イメージを前記第1の物理コンピュータ・システムに加えるステップが、前記第1の物理コンピュータ・システム上の前記ソフトウェア・アプリケーションを、前記ソフトウェア・アプリケーションの前記変更された状態に変更する請求項1に記載のコンピュータでアクセス可能な記憶媒体。
  5. 記プログラム命令によって実施される前記方法前記サーバ・コンピュータ・システムが、前記Webブラウザプログラムにより表示するための前記仮想コンピュータのグラフィカル・ユーザ・インターフェイス情報を前記第2の物理コンピュータ・システムに送信するステップをさらに含む、請求項1に記載のコンピュータでアクセス可能な記憶媒体。
  6. 前記特定のバックアップ・イメージが第1の1つ又は複数のファイルを含み、
    前記特定のバックアップ・イメージから前記仮想コンピュータをインスタンス化するステップが、
    前記特定のバックアップ・イメージの前記1つ又は複数のファイルを、第2の1つ又は複数のファイルに変換するステップであって、前記第2の1つ又は複数のファイルが、仮想コンピュータ・フォーマットに従ってフォーマットされる、ステップと、
    前記第2の1つ又は複数のファイルから前記仮想コンピュータをインスタンス化するステップと
    を含む請求項1に記載のコンピュータでアクセス可能な記憶媒体。
  7. 前記プログラム命令によって実施される前記方法が、
    前記仮想コンピュータを表す1つ又は複数のファイルを作成するステップ
    をさらに含み、前記仮想コンピュータの前記変更されたバックアップ・イメージを格納するステップが、
    前記仮想コンピュータを表す前記1つ又は複数のファイルを、物理デバイスのバックアップ・フォーマットに従ってフォーマットされる第2の1つ又は複数のファイルに変換するステップと、
    前記第2の1つ又は複数のファイルを格納するステップであって、前記変更されたバックアップ・イメージが、前記第2の1つ又は複数のファイルを含む、ステップと
    を含む請求項1に記載のコンピュータでアクセス可能な記憶媒体。
  8. 前記仮想コンピュータの前記変更されたバックアップ・イメージが、前記特定のバックアップ・イメージに基づく増分バックアップ・イメージを含む請求項1に記載のコンピュータでアクセス可能な記憶媒体。
  9. 前記仮想コンピュータの前記変更されたバックアップ・イメージが、別のバックアップ・イメージに基づかない独立したバックアップ・イメージを含む請求項1に記載のコンピュータでアクセス可能な記憶媒体。
  10. 前記特定のバックアップ・イメージが、
    前記第1の物理コンピュータ・システムについてのオペレーティング・システム情報と、
    前記第1の物理コンピュータ・システムについてのデバイス・ドライバ情報と、
    前記第1の物理コンピュータ・システムにインストールされている1つ又は複数のソフトウェア・アプリケーションを表す情報と
    のうちの1つ又は複数を含む請求項1に記載のコンピュータでアクセス可能な記憶媒体。
  11. 前記プログラム命令によって実施される前記方法が、
    前記サーバ・コンピュータ・システムからの前記変更されたバックアップ・イメージを、第の物理コンピュータ・システムに転送し、加えるステップ
    をさらに含む請求項1に記載のコンピュータでアクセス可能な記憶媒体。
  12. 1つ又は複数のプロセッサと、
    メモリ格納プログラム命令と、
    1つ又は複数のストレージ・デバイスと、
    を含み、前記プログラム命令が、
    第1の物理コンピュータ・システムの複数のバックアップ・イメージを、前記1つ又は複数のストレージ・デバイスに格納するステップであって、バックアップ・イメージが、所定のユーザに対応する前記第1の物理コンピュータ・システムの状態を特定する、ステップと、
    前記第1の物理コンピュータ・システムの仮想表現へのアクセスの第1の要求を、前記所定のユーザから第2の物理コンピュータ・システム上で実行されているWebブラウザプログラムを介して受信するステップと、
    前記第1の要求に応答して、前記Webブラウザプログラムにより表示されるための、前記複数のバックアップ・イメージを特定する情報を前記第2の物理コンピュータ・システムに送信するステップと、
    前記第2の物理コンピュータ・システム上で実行されている前記Webブラウザプログラムを介した、特定のバックアップ・イメージを選択する前記所定のユーザによるユーザ入力の受信に応答して、前記複数のバックアップ・イメージのうちの前記特定のバックアップ・イメージから仮想コンピュータをインスタンス化するステップと、
    前記第2の物理コンピュータ・システム上で実行されている前記Webブラウザプログラムを介して、前記所定のユーザからの前記仮想コンピュータへのユーザ入力を受信するステップと、
    前記仮想コンピュータへの前記ユーザ入力に応答して、前記仮想コンピュータの状態を変更するステップと、
    前記仮想コンピュータの変更されたバックアップ・イメージを、前記1つ又は複数のストレージ・デバイスに格納するステップであって、前記変更されたバックアップ・イメージが、前記仮想コンピュータの前記変更された状態を特定する、ステップと、
    前記変更されたバックアップ・イメージを、前記1つ又は複数のストレージ・デバイスから前記第1の物理コンピュータ・システムに転送し、加えるステップと
    を含む方法を実施するために、前記1つ又は複数のプロセッサによって実行可能であるシステム。
  13. 前記変更されたバックアップ・イメージを前記第1の物理コンピュータ・システムに加えるステップが、前記第1の物理コンピュータ・システムを、前記仮想コンピュータの前記変更された状態に対応する変更された状態にする請求項12に記載のシステム。
  14. 前記プログラム命令によって実施される前記方法が、前記Webブラウザプログラムにより表示するための前記仮想コンピュータのグラフィカル・ユーザ・インターフェイス情報を前記第2の物理コンピュータ・システムに送信するステップをさらに含む、請求項12に記載のシステム。
  15. 第1の物理コンピュータ・システムの複数のバックアップ・イメージを、サーバ・コンピュータ・システムに格納するステップであって、バックアップ・イメージが、所定のユーザに対応する前記第1の物理コンピュータ・システムの状態を特定する、ステップと、
    前記第1の物理コンピュータ・システムの仮想表現へのアクセスの第1の要求を、前記所定のユーザから第2の物理コンピュータ・システム上で実行されているWebブラウザプログラムを介して受信するステップと、
    前記第1の要求に応答して、前記Webブラウザプログラムで表示される、前記複数のバックアップ・イメージを特定する情報を前記第2の物理コンピュータ・システムに送信するステップと、
    前記第2の物理コンピュータ・システム上で実行されている前記Webブラウザプログラムを介した、特定のバックアップ・イメージを選択する前記所定のユーザによるユーザ入力の受信に応答して、前記複数のバックアップ・イメージのうちの前記特定のバックアップ・イメージから仮想コンピュータをインスタンス化するステップと、
    前記第2の物理コンピュータ・システム上で実行されている前記Webブラウザプログラムを介して、前記所定のユーザからの前記仮想コンピュータへのユーザ入力を受信するステップと、
    前記仮想コンピュータへの前記ユーザ入力に応答して、前記仮想コンピュータの状態を変更するステップと、
    前記仮想コンピュータの変更されたバックアップ・イメージを、前記サーバ・コンピュータ・システムに格納するステップであって、前記変更されたバックアップ・イメージが、前記仮想コンピュータの前記変更された状態を特定する、ステップと、
    前記サーバ・コンピュータ・システムからの前記変更されたバックアップ・イメージを、前記第1の物理コンピュータ・システムに転送し、加えるステップと
    を含む方法。
  16. 前記変更されたバックアップ・イメージを前記第1の物理コンピュータ・システムに加えるステップが、前記第1の物理コンピュータ・システムを、前記仮想コンピュータの前記変更された状態に対応する変更された状態にする請求項15に記載の方法。
  17. 前記方法は、前記Webブラウザプログラムにより表示するための前記仮想コンピュータのグラフィカル・ユーザ・インターフェイス情報を前記第2の物理コンピュータ・システムに送信するステップをさらに含む、請求項15に記載の方法。
JP2008211488A 2007-08-24 2008-08-20 物理コンピュータ・システムの仮想表現へのオンデマンドのアクセス Expired - Fee Related JP5350712B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/844,649 US8166476B2 (en) 2007-08-24 2007-08-24 On-demand access to a virtual representation of a physical computer system
US11/844,649 2007-08-24

Publications (2)

Publication Number Publication Date
JP2009054152A JP2009054152A (ja) 2009-03-12
JP5350712B2 true JP5350712B2 (ja) 2013-11-27

Family

ID=40263589

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008211488A Expired - Fee Related JP5350712B2 (ja) 2007-08-24 2008-08-20 物理コンピュータ・システムの仮想表現へのオンデマンドのアクセス

Country Status (4)

Country Link
US (1) US8166476B2 (ja)
EP (1) EP2040161A1 (ja)
JP (1) JP5350712B2 (ja)
CN (1) CN101374146B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7217084B2 (ja) 2017-01-30 2023-02-02 王子ホールディングス株式会社 吸収性物品のパッケージ

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7487383B2 (en) 2006-06-29 2009-02-03 Dssdr, Llc Data transfer and recovery process
US8990613B2 (en) * 2006-06-29 2015-03-24 Dssdr, Llc Data transfer and recovery
US9015520B2 (en) 2006-06-29 2015-04-21 Dssdr, Llc Data transfer and recovery
US7805631B2 (en) * 2007-05-03 2010-09-28 Microsoft Corporation Bare metal recovery from backup media to virtual machine
US8775577B1 (en) * 2007-12-18 2014-07-08 Amazon Technologies, Inc. System and method for configuration management service
US8392539B1 (en) * 2008-03-19 2013-03-05 Trend Micro, Inc. Operating system banking and portability
US20090328036A1 (en) * 2008-06-27 2009-12-31 Oqo, Inc. Selection of virtual computing resources using hardware model presentations
US20090327495A1 (en) * 2008-06-27 2009-12-31 Oqo, Inc. Computing with local and remote resources using automated optimization
US9880891B2 (en) * 2008-09-30 2018-01-30 Hewlett-Packard Development Company, L.P. Assignment and failover of resources
CN101408856A (zh) * 2008-11-21 2009-04-15 清华大学 一种用于容灾备份的系统和方法
CN102012789B (zh) * 2009-09-07 2014-03-12 云端容灾有限公司 集中管理式备份容灾系统
JP2011060023A (ja) * 2009-09-10 2011-03-24 Bsn Net:Kk バックアップシステム
US10860279B2 (en) 2009-11-24 2020-12-08 Clearslide, Inc. Method and system for browser-based screen sharing
US9733886B2 (en) 2009-11-24 2017-08-15 Clearslide, Inc. Method and system for browser-based screen sharing
US8103906B1 (en) * 2010-10-01 2012-01-24 Massoud Alibakhsh System and method for providing total real-time redundancy for a plurality of client-server systems
US9105009B2 (en) 2011-03-21 2015-08-11 Microsoft Technology Licensing, Llc Email-based automated recovery action in a hosted environment
CA2837677C (en) * 2011-05-30 2019-05-21 Clearslide, Inc. Method and system for browser-based control of a remote computer
US8782472B2 (en) * 2011-10-28 2014-07-15 Dell Products L.P. Troubleshooting system using device snapshots
US8839257B2 (en) 2011-11-22 2014-09-16 Microsoft Corporation Superseding of recovery actions based on aggregation of requests for automated sequencing and cancellation
US9460303B2 (en) 2012-03-06 2016-10-04 Microsoft Technology Licensing, Llc Operating large scale systems and cloud services with zero-standing elevated permissions
KR101440186B1 (ko) * 2012-03-16 2014-09-12 주식회사 엘지유플러스 데이터이관 시스템 및 그 이관방법
CN103577210B (zh) * 2012-08-06 2017-11-28 广州三星通信技术研究有限公司 移动终端之间挂载的系统和方法
US10044522B1 (en) 2012-08-21 2018-08-07 Amazon Technologies Inc. Tree-oriented configuration management service
US8881249B2 (en) 2012-12-12 2014-11-04 Microsoft Corporation Scalable and automated secret management
CN103218276A (zh) * 2013-04-23 2013-07-24 深圳市京华科讯科技有限公司 多节点增量备份的方法及系统
CN103389910B (zh) * 2013-07-18 2016-03-30 百度在线网络技术(北京)有限公司 构建虚拟机的方法、虚拟机的管理方法及其装置
US20150127770A1 (en) * 2013-11-06 2015-05-07 Pax8, Inc. Distributed Cloud Disk Service Provisioning and Management
US9557932B1 (en) * 2013-11-26 2017-01-31 EMC IP Holding Company LLC Method and system for discovering snapshot information based on storage arrays
JP6427910B2 (ja) * 2014-03-26 2018-11-28 日本電気株式会社 保守環境提供システム、保守環境提供装置、保守環境提供方法、及び、そのプログラム
CN104035841A (zh) * 2014-06-13 2014-09-10 浪潮(北京)电子信息产业有限公司 虚拟桌面数据备份和恢复方法及装置
US9762585B2 (en) 2015-03-19 2017-09-12 Microsoft Technology Licensing, Llc Tenant lockbox
US10931682B2 (en) 2015-06-30 2021-02-23 Microsoft Technology Licensing, Llc Privileged identity management
CN105430043B (zh) * 2015-10-29 2019-04-16 贵州电网有限责任公司电力调度控制中心 一种面向虚拟化实例的启动配置实施方法
WO2017156417A1 (en) * 2016-03-11 2017-09-14 Feng Youlin Systems and methods for data encryption and decryption
CN109885431B (zh) * 2019-03-06 2022-02-25 北京百度网讯科技有限公司 用于备份数据的方法和装置

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
MXPA02012728A (es) * 2000-07-05 2004-09-10 Ernst & Young Llp Metodo y aparato para proporcionar servicios de computadora.
US7099948B2 (en) * 2001-02-16 2006-08-29 Swsoft Holdings, Ltd. Virtual computing environment
JP2005505045A (ja) * 2001-09-28 2005-02-17 コムヴォールト・システムズ・インコーポレーテッド クイックリカバリボリュームを作成及び管理する方法及び装置
US7299304B2 (en) * 2001-11-20 2007-11-20 Intel Corporation Method and architecture to support interaction between a host computer and remote devices
US7467167B2 (en) * 2002-03-19 2008-12-16 Network Appliance, Inc. System and method for coalescing a plurality of snapshots
US7127491B2 (en) * 2002-07-23 2006-10-24 Canon Kabushiki Kaisha Remote command server
US7162628B2 (en) * 2002-07-23 2007-01-09 Cisco Technology, Inc. Method, system, apparatus and program product for temporary personalization of a computer terminal
US7146640B2 (en) * 2002-09-05 2006-12-05 Exobox Technologies Corp. Personal computer internet security system
CN1416062A (zh) * 2002-10-31 2003-05-07 李洪宝 一种计算机网络上存储介质资源的聚集方法
US20040254964A1 (en) * 2003-06-12 2004-12-16 Shoji Kodama Data replication with rollback
US7769720B2 (en) * 2004-06-16 2010-08-03 Hewlett-Packard Development Company, L.P. Systems and methods for migrating a server from one physical platform to a different physical platform
JP4613598B2 (ja) * 2004-12-10 2011-01-19 株式会社日立製作所 ディスクシステム
US7591014B2 (en) * 2005-03-04 2009-09-15 Microsoft Corporation Program authentication on environment
CN102117233B (zh) * 2005-06-24 2013-07-17 信科索尔特公司 用于高性能企业数据保护的系统和方法
US7487383B2 (en) * 2006-06-29 2009-02-03 Dssdr, Llc Data transfer and recovery process

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7217084B2 (ja) 2017-01-30 2023-02-02 王子ホールディングス株式会社 吸収性物品のパッケージ

Also Published As

Publication number Publication date
CN101374146B (zh) 2013-08-14
US20090055822A1 (en) 2009-02-26
EP2040161A1 (en) 2009-03-25
CN101374146A (zh) 2009-02-25
JP2009054152A (ja) 2009-03-12
US8166476B2 (en) 2012-04-24

Similar Documents

Publication Publication Date Title
JP5350712B2 (ja) 物理コンピュータ・システムの仮想表現へのオンデマンドのアクセス
CN107491296B (zh) 与一个或多个扩展应用程序对接的消息应用程序
US10534533B2 (en) Messaging sticker applications
US9332063B2 (en) Versatile application configuration for deployable computing environments
EP3417639B1 (en) Message extension app store
CN101802808B (zh) 从脚本和其他编程环境访问设备主存的服务
CN100458789C (zh) 用于交换门户组件配置数据的方法和系统
EP2668602B1 (en) Transferring configuration data from a public cloud server and applying onto a mobile client
EP2668586B1 (en) State-based provisioning of a client
EP2668559B1 (en) Configuring and customizing a specific-purpose client having a windows-based embedded image using extensible markup language (xml) configuration
EP2668585B1 (en) Comparing and provisioning configurations for a client having a windows-based embedded image
EP2668587B1 (en) Client configuration history for self-provisioning of configuration and obviating reinstallation of embedded image
KR20090115168A (ko) 모바일 환경 및 데스크탑 환경에서 소프트웨어 로딩 방법
JP2004086895A (ja) 任意のネットワーク上のコンポーネントを通信可能にするためのシステムと方法
RU2431235C2 (ru) Способ идентификации устройств в рабочих средах мобильной связи и настольных компьютеров
KR20150004817A (ko) 사용자 인터페이스 웹 서비스
US20130238673A1 (en) Information processing apparatus, image file creation method, and storage medium
WO2017222842A1 (en) Programming organizational links that propagate to mobile applications
US8495500B2 (en) Portal-based podcast development
Bussman Lessons Learned Implementing DOORS in a Citrix Environment
JP2009140426A (ja) ネットワークサービスシステム及びアプリケーション実行サーバ
JP2005032005A (ja) 情報管理システム、情報処理装置および情報処理方法、並びにプログラム
Raspbian et al. Asp. Net Core and Azure with Raspberry Pi 4
JP2002373104A (ja) ファイル管理システムおよびサーバ装置

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20101102

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20101109

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20101109

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110804

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130208

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130219

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130517

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130822

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees