(57)【要約】【課題】構成または場所にかかわらず、いかなるホスト環境コンピュータにおいてもユーザにその作業環境を提供することができる、真にポータブルなソリューションを提供すること。【解決手段】ポータブル・パーソナル・コンピューティング環境サーバは、ホスト・コンピュータに接続するためのインターフェースを備える。ポータブル・パーソナル・コンピューティング環境サーバは、ホスト・システム内のパーソナル・コンピューティング環境を復元するための１つまたは複数のオペレーティング・システムを含む、パーソナル・コンピューティング環境を格納するストレージ・デバイスも備える。【選択図】  図２
2008547081.tif 000002
【特許請求の範囲】
【請求項１】
ポータブル・パーソナル・コンピューティング環境サーバをホスト・システムに接続するステップと、
第１レベルのオペレーティング・システムを取り出すステップと、
前記第１レベルのオペレーティング・システムを使用して第１段階のブート手順を実行するステップと、
前記第１レベルのオペレーティング・システム上の仮想マシンを開始するステップと、
第２レベルのオペレーティング・システムを備えるコンピューティング環境を取り出すステップと、
前記コンピューティング環境によって復元プロセスを実行するステップであって、前記復元プロセスは前記仮想マシン内部で前記コンピューティング環境を復元する、復元プロセスを実行するステップと、
を含む、情報処理システムに関する方法。
【請求項２】
前記ポータブル・パーソナル・コンピューティング環境サーバから１つまたは複数のアプリケーションを取り出すステップをさらに含む、請求項１に記載の方法。
【請求項３】
前記ポータブル・パーソナル・コンピューティング環境サーバから１つまたは複数のデータ・ファイルを取り出すステップをさらに含む、請求項１に記載の方法。
【請求項４】
前記第１レベルのオペレーティング・システムがＬｉｎｕｘオペレーティング・システムである、請求項１に記載の方法。
【請求項５】
前記第２レベルのオペレーティング・システムがＷｉｎｄｏｗｓオペレーティング・システムである、請求項１に記載の方法。
【請求項６】
前記ホスト・システムの基本入出力システムから受け取った第１レベルのオペレーティング・システムをロードするための命令を実行するステップをさらに含む、請求項１に記載の方法。
【請求項７】
第１レベルのオペレーティング・システムをロードするための命令がブート可能メモリ・デバイスから受け取られる、請求項６に記載の方法。
【請求項８】
第１レベルのオペレーティング・システムをロードするための命令が、ユーザによって実行される手動操作から受け取られる、請求項６に記載の方法。
【請求項９】
前記第１レベルのオペレーティング・システムが、前記ポータブル・パーソナル・コンピューティング環境サーバからロードされる、請求項１に記載の方法。
【請求項１０】
前記第１レベルのオペレーティング・システムの少なくとも一部が、取り外し可能ストレージ・デバイスからロードされる、請求項１に記載の方法。
【請求項１１】
コンピューティング状態を中断するための要求を受け取るステップと、前記要求に応答して、前記ホスト・システムをシャットダウンする前に、最も新しいコンピューティング状態を前記ポータブル・パーソナル・コンピューティング環境サーバに格納するステップと、をさらに含む、請求項１に記載の方法。
【請求項１２】
前記ホスト・システムに、前記パーソナル・コンピューティング環境サーバからブートするように要求するステップをさらに含む、請求項１に記載の方法。
【請求項１３】
ポータブル・パーソナル・コンピューティング環境サーバをホスト・システムに接続するステップを実行するために、前記ホスト上の既存のインターフェースを使用するステップをさらに含む、請求項１に記載の方法。
【請求項１４】
マシン非依存仮想構成を作成するステップをさらに含む、請求項１に記載の方法。
【請求項１５】
復元プロセスを実行する前記ステップが仮想構成内の中断されたコンピューティング環境で実行される、請求項１に記載の方法。
【請求項１６】
前記第１レベルのオペレーティング・システムを前記ポータブル・パーソナル・コンピューティング環境サーバから取り出すステップをさらに含む、請求項１に記載の方法。
【請求項１７】
ホスト・システム上でパーソナル・コンピューティング環境を復元するための１つまたは複数のオペレーティング・システムを備えるパーソナル・コンピューティング環境を含むストレージ・デバイスを備える、ポータブル・パーソナル・コンピューティング環境サーバ。
【請求項１８】
前記ストレージ・デバイスが、前記ポータブル・パーソナル・コンピューティング環境サーバのユーザによって選択された１つまたは複数のアプリケーション・プログラムを備える、請求項１７に記載のポータブル・パーソナル・コンピューティング環境サーバ。
【請求項１９】
前記１つまたは複数のオペレーティング・システムが、ホスト・コンピュータの実際の構成に基づいて前記ホスト・コンピュータをブートするための第１段階のブート・ローダをさらに備える、請求項１７に記載のポータブル・パーソナル・コンピューティング環境サーバ。
【請求項２０】
前記ストレージ・デバイスが、前記ポータブル・パーソナル・コンピューティング環境サーバのユーザによって選択された１つまたは複数のデータ・ファイルを備える、請求項１７に記載のポータブル・パーソナル・コンピューティング環境サーバ。
【請求項２１】
前記ストレージ・デバイスが、前記パーソナル・コンピューティング環境の最新の状態を反映する計算状態を含み、前記ポータブル・パーソナル・コンピューティング環境サーバが、前記ホスト・コンピュータのブート時に、前記ホスト・コンピュータによる提示のために前記計算状態を復元する、請求項１７に記載のポータブル・パーソナル・コンピューティング環境サーバ。
【請求項２２】
ポータブル・パーソナル・コンピューティング環境サーバをホスト・システムに接続するためのプログラム命令と、
第１レベルのオペレーティング・システムを取り出すためのプログラム命令と、
前記第１レベルのオペレーティング・システムを使用して第１レベルのブート手順を実行するためのプログラム命令と、
前記第１レベルのオペレーティング・システム上の仮想マシンを開始するためのプログラム命令と、
第２レベルのオペレーティング・システムを備えるコンピューティング環境を取り出すためのプログラム命令と、
前記コンピューティング環境によって復元プロセスを実行するためのプログラム命令であって、前記復元プロセスは前記仮想マシン内部で前記コンピューティング環境を復元する、復元プロセスを実行するためのプログラム命令と、
を含む、マシン読み取り可能メディア。
【請求項２３】
ブート可能取り外し可能ストレージ・デバイスを含む、請求項２２に記載のマシン読み取り可能メディア。
【請求項２４】
ブート可能ディスケットを含む、請求項２３に記載のマシン読み取り可能メディア。
【請求項２５】
ブート可能ＣＤ  ＲＯＭを含む、請求項２３に記載のマシン読み取り可能メディア。
【請求項２６】
取り外し可能ＵＳＢストレージ・デバイスを含む、請求項２３に記載のマシン読み取り可能メディア。
【発明の詳細な説明】
【技術分野】
【０００１】
開示された発明は、広義には情報処理システムの分野に関し、とりわけ、ポータブル・パーソナル・コンピューティング・デバイスの分野に関する。
【背景技術】
【０００２】
コンピュータが、現在のビジネス環境において最も重要なツールのひとつとなっているため、多くのユーザは、様々なタスクを実行するために複数のコンピューティング・デバイスに依拠する。最高情報責任者およびユーザが現在直面している問題の中には、１）マシンの管理（ウィルス防御、セキュリティ・パッチ、アプリケーションのアップグレード）コストの増加、２）複数のオペレーティング・システムおよびアプリケーション・ライセンスのコスト、３）ディスク・バックアップの作成、４）マシンおよびディスク・パスワードの管理、５）ディスク・クラッシュ後のマシン復元の困難さ、６）ネットワーク攻撃に対する保護、および７）マシンの集合体にまたがって分散されるユーザ・データ、が含まれる。これらの問題点に対処するため、いくつかの試みが実行されてきた。ユーザは、主に、自分たちのコンピュータを使用して実行されていたタスクに関する情報へのアクセスに取り組む。これらのタスクの中には長期間実行されているものもあるため、ユーザは、部分的に完了したタスクを中断し、これらのタスクに関する作業を後の時点で再開できるようにすることを望む。たとえばユーザは、ある文書の編集をオフィスで開始し、その文書の作業を自宅で、または翌日に異なる場所で、続行しようとする場合がある。現在のラップトップ・コンピュータは、この要件に対処する際に役立つ。ユーザは、日常的に自分のラップトップを中断し、後で再開する。この中断−再開のサイクルは、ユーザのラップトップ上の計算状態を保存し、ユーザが即時に自分のタスクを中断し、それらを後で再開できるようにする。
【０００３】
しかしながら、ラップトップ・コンピュータは一連の欠点を伴う。ラップトップ・コンピュータは、ＣＰＵ、メモリ、ディスク・ストレージ、ならびにスクリーン、キーボード、およびポインティング・デバイスと、すべてを含んでいるため、比較的大型で重い。さらにラップトップは、内蔵バッテリのみによって電力が供給される場合、あまり長時間は動作しない。
【０００４】
コンピュータ、ならびにキーボード、ポインティング・デバイス、モニタなどの周辺装置が広く利用されていることで、ユーザは、これらのアイテムをラップトップ・コンピュータの形で必ずしもすべて持ち運ぶ必要はない。
【０００５】
ユーザが、ラップトップ・コンピュータよりも大幅に小型、軽量、および維持が面倒でない何かを持ち運びながら、タスクを中断し、異なる場所で再開するために、幅広く展開されたパーソナル・コンピュータのインストール済み基盤を利用することが可能なスキームを考案することが有利であろう。
【０００６】
タスクを中断および再開するための鍵は、ユーザのパーソナル・コンピューティング環境をある場所から別の場所へ移動するために使用可能な方法を見つけることである。ユーザのパーソナル・コンピューティング環境は、ユーザが作業しているアプリケーションの瞬間状態、アプリケーションの構成、アプリケーションが実行中のオペレーティング・システム、およびオペレーティング・システムの構成からなる。幅広く展開されたパーソナル・コンピューティング・インフラストラクチャを利用する様式で、既存のシステムを変更するかまたはそれらを他のシステムと交換しようと試みることなく、その既存のシステムを利用する様式で、ユーザのパーソナル・コンピューティング環境をある場所から別の場所に移動できることは、すべてがより重要である。
【０００７】
第１に、ユーザのパーソナル・コンピューティング環境をユーザと共に移送しようとする、既存の手法について考える。ＩＢＭ  Ｍｅｔａ  Ｐａｄは、ＣＰＵと、メモリと、ディスクと、サスペンド・バッテリ（suspend battery）と、マウス、キーボード、およびスクリーンに接続されるドッキング・ステーションに接続されたドッキング・コネクタとを備える、ポータブル・デバイスである。ユーザはＭｅｔａ  Ｐａｄを使用して自分のタスクについて作業し、ラップトップを中断するようにこれを中断し、Ｍｅｔａ  Ｐａｄをそのドックから取り出す。サスペンド・バッテリは、Ｍｅｔａ  Ｐａｄ内の状態を維持する。Ｍｅｔａ  Ｐａｄによって、スクリーン、キーボード、およびポインティング・デバイスを持ち運ぶ必要性がなくなる。この手法の不便な点は、ユーザがアクセスする必要があるそれぞれの場所で、専用のＭｅｔａ  Ｐａｄドッキング・ステーションが必要であること、および、これがパーソナル・コンピュータの既存のインストール済み基盤を効果的に除去しようとすることである。
【０００８】
Ｉｎｔｅｌ  Ｐｅｒｓｏｎａｌ  Ｓｅｒｖｅｒは、ＣＰＵ、メモリ、ディスク、および、ＢｌｕｅｔｏｏｔｈまたはＩＥＥＥ  ８０２．１１のネットワーク・インターフェースを備える、デバイスである。こうしたデバイスは、標準のパーソナル・コンピュータと通信可能であるが、この手法の主な問題は、パーソナル・コンピュータとＩｎｔｅｒ  Ｐｅｒｓｏｎａｌ  Ｓｅｒｖｅｒとの間ですべてのデータを交換するために、無線接続を使用することである。あらゆる通信は、環境からベルト着用サーバ（belt worn server）へのＨＴＴＰサーバ／ＳＯＡＰ接続を必要とする。この概念はある程度のメリットがあるが、環境パーソナル・コンピュータは、標準インターフェース、ならびにパーソナル・サーバが担持しているデータを処理するためのアプリケーションを、サポートする必要がある。さらに環境パーソナル・コンピュータを管理する必要があり、パーソナル・サーバのバッテリ寿命は、有用性の点で重要な問題である。Ｉｎｔｅｌ  Ｐｅｒｓｏｎａｌ  Ｓｅｒｖｅｒでは、ユーザが、自分のパーソナル・コンピューティング環境を一緒に持ち運ぶことはできない。様々な場所で、自分のＰｅｒｓｏｎａｌ  Ｓｅｒｖｅｒデバイス上にある何らかの情報にアクセスすることができるだけである。
【０００９】
現在、オペレーティング・システム全体、およびブート可能なＣＤ／ＤＶＤ（コンパクト・ディスク／デジタル・ビデオ・ディスク）または他の読み取り専用メモリ上のアプリケーションを含む、Ｌｉｎｕｘオペレーティング・システム配布が存在する。ユーザは、任意のＰＣ（パーソナル・コンピュータ）をＣＤからブートし、その上に良く知っているデスクトップ環境を作成することができる。さらに、自分のパーソナル・ファイルを備えた読み取り／書き込みＵＳＢ（ユニバーサル・シリアル・バス）フラッシュ・ストレージを持ち運ぶこともできる。この手法では、ユーザがマシンからマシンへ移動する場合、ユーザの計算状態は保存されない。さらにユーザは、ブート可能な読み取り専用ＣＤおよび修正可能なデータ用のＲ／Ｗストレージ・デバイスの、２つのアイテムを持ち運ぶ必要がある。
【００１０】
ディスクなしのＳｕｎ  Ｊａｖａ  Ｓｔａｔｉｏｎ／ＩＢＭネットワーク・コンピュータは、ファット・パイプによってファット・サーバに接続されたシン・クライアント（thin client）を使用することによって、いくつかの上記の問題を解決するよう試みた。この手法には、ブラウザ、Ｊａｖａ  ＯＳ、およびＪａｖａアプリケーションに大きく依存するという欠点がある。こうした手法には、特にリモート位置からの接続が遅いという問題点も残されている。さらにこの手法は、ユーザがいかなるアプリケーションもインストールできないことにより、個別化面の効果も低い。加えてこの手法は、既存のパーソナル・コンピュータの生態系も除去および置換するよう試みた。
【００１１】
ＩｎｔｅｌのＩｎｔｅｒｎｅｔ  Ｓｕｓｐｅｎｄ／Ｒｅｓｕｍｅ（ＩＳＲ）は、ネットワークを介してパーソナル・コンピューティング環境を移送するための技術である。これは、仮想マシンの状態の中断および再開に依拠し、中断状態を配布されたファイル・システム上に格納し、その後、ここから取り出して再開することができる。ＩＳＲ手法の重要な制約は、ネットワーク接続を必要とすることである。ポータブル・ストレージ・デバイスを活用することによって、いかなるネットワーク接続の必要性も排除することが有利であろう。ＩＳＲの他の制約は、ＩＳＲソフトウェアによってエンド・システムを事前に構成する必要があることである。いかなるソフトウェアもエンド・システム上に事前にインストールする必要のないシステムを有することが有利であろう。
【００１２】
Ｍｉｃｒｏｓｏｆｔ  Ｒｅｍｏｔｅ  Ｄｅｓｋｔｏｐは、キー・ストロークおよびイベントをホスト（サーバ）コンピュータに送信するだけのソリューションを提供する。その後、ホスト・コンピュータは、リモート（クライアント）コンピュータにグラフィックスを送信する。これは、８０年代および９０年代に、Ｘ１１がワークステーション用に行ったことと同じである。セッションは、中止された箇所から再開されない。これは、単なるクライアント・サーバ手法である。
【００１３】
Ｘｍｏｖｅは、もう１つの手法である（EthanSolomita, James Kempf, andDan Duchamp, “XMove: A Pseudoserver for X Window Movement,” The X Resource,(1):11, pp. 143-170, July 1994を参照のこと）。これは、リモート・マシン上のＸウィンドウを他のリモート・マシンに移動させることができる。アプリケーションは、同じサーバ・マシン上で継続して実行する。これは、中間に擬似サーバを導入することにより、特定のＸウィンドウの状態を取り込むことによって実行される。
【００１４】
これまで、ツールキット手法を使用するウィンドウの移動が、いくつか実施されてきた。Ｔｒｅｓｔｌｅは、シェル・ウィンドウをあるディスプレイから別のディスプレイへと移動させることができるツールキットである。ＸＴｋは、ウィンドウ・ウィジェットをあるサーバから別のサーバへと移動させることができるウィンドウ・ツールキットである。ＸＴｋは、ウィジェット作成時に、スクリーン結合という追加のステップを導入する。スクリーン結合は、幾何学的レイアウトなしにウィジェットをスクリーンに結合させる。これにより、ウィジェットのジオメトリ・ネゴシエーションが、移動させるべきスクリーン・ジオメトリを調節することができる。ウィジェットのシャットダウン時には、他のスクリーンに移動しなければならない場合にウィジェットの構造を維持するための、追加のステップも導入される。
【００１５】
仮想ネットワーク・コンピューティング（ＶＮＣ）システムでは、サーバ・マシンはアプリケーションおよびデータのみならず、任意のインターネット接続マシンから単純なソフトウェアＮＣを使用してアクセス可能なデスクトップ環境全体も供給する。ＶＮＣデスクトップにアクセス可能な場所および場合では必ず、その状態および構成（つまるところ、カーソルの位置まで）は、最後にアクセスしたときとまったく同じである。ＶＮＣの基礎となる技術は、単純なリモート・ディスプレイ・プロトコルである。Ｘ  Ｗｉｎｄｏｗ  ＳｙｓｔｅｍおよびＣｉｔｒｉｘのＩＣＡなどの他のリモート・ディスプレイ・プロトコルとは異なり、ＶＮＣプロトコルは、オペレーティング・システム、ウィンドウ・システム、およびアプリケーションから完全に独立している。ＶＮＣシステムは、http://www.orl.co.uk/vnc/にあるＯＲＬウェブ・サイトから自由にダウンロードすることができる。ユーザはいかなるハードウェアも持ち運ぶ必要がない。しかしながら、ネットワーク接続が想定される。T. Richardson, Q. Stafford-Fraser, K. R. Wood, and A. Hopper,“Virtual Network Computing”, IEEE Internet Computing, Vol.2 No.1, Jan/Feb 1998pp 33-38を参照のこと。
【非特許文献１】Ethan Solomita, James Kempf, and Dan Duchamp, “XMove: A Pseudoserver for X Window Movement,” The X Resource,(1):11, pp. 143-170, July 1994
【非特許文献２】T. Richardson,Q. Stafford-Fraser, K. R. Wood, and A. Hopper, “Virtual Network Computing”,IEEE Internet Computing, Vol.2 No.1, Jan/Feb 1998 pp 33-38
【発明の開示】
【発明が解決しようとする課題】
【００１６】
前述のソリューションはすべて独自のメリットを持つが、その構成または場所にかかわらず、いかなるホスト環境コンピュータにおいてもユーザにその作業環境を提供することができる、真にポータブルなソリューションが求められている。
【課題を解決するための手段】
【００１７】
ポータブル・コンピューティング環境における前述の問題または欠点は、本発明に従ったポータブル・パーソナル・コンピューティング環境サーバを使用することによって解決される。ポータブル・パーソナル・コンピューティング環境サーバは、ほとんどのホスト・コンピュータ・システム（たとえばＰＣコンパチブル）で、それらの構成にかかわらず使用することができる。ポータブル・パーソナル・コンピューティング環境サーバは、ホスト・システムでの復元のために、ユーザの最新のコンピューティング状態を有する。
【発明を実施するための最良の形態】
【００１８】
当発明者等は、任意のホスト・パーソナル・コンピュータに接続可能な、取り付け可能ストレージ・デバイス１００（以下、ポータブル・パーソナル・コンピューティング環境サーバまたはポータブル・サーバと呼ぶ）を使用して、前述の問題を解決する。図１を参照すると、本発明の実施形態に従ったポータブル・サーバ１００が示される。ポータブル・サーバは、ストレージ・デバイス１０２と、ホスト・システムに結合するためのＵＳＢ（ユニバーサル・シリアル・バス）ポート１０４とを備える。ストレージ・デバイス１０２は、環境内のホスト・パーソナル・コンピュータを個別化されたコンピュータに変換する、情報とソフトウェアとを備え、すなわち、ゲスト・ユーザによって選択されたソフトウェアおよびデータを有し、最後に中断された時点からそのコンピューティング状態を再開するものである。ポータブル・パーソナル・コンピューティング環境サーバ１００は、好ましくは、状態を中断および再開するため、ならびにＵＳＢ（ユニバーサル・シリアル・バス）またはイーサネット・インターフェース２０４（図２に関して論じる）などの有線接続インターフェースからパーソナル・コンピュータをブートするために、好適なソフトウェアを備える、ゲスト・システムである。接続されるポータブルパーソナル・コンピューティング環境サーバ１００は、１組のトランプのサイズなどの小型要素を有するが、技術の進歩につれてさらに小型化されることが予想される。ポータブル・パーソナル・コンピューティング環境サーバ１００は、すでに展開されたパーベイシブ（pervasive）なパーソナル・コンピュータの集合と協働し、高速ローカル接続を介してそれらに接続される。ハード・ディスク・ドライブを除く、中央処理ユニット、メモリ、ディスプレイ、ネットワークなどの、標準のホスト・パーソナル・コンピュータからのすべてが、効率良く活用されることになる。成功させるためには、接続プロセスが高速でなければならず、ポータブル・デバイスの維持が別のコンピュータ・システムよりも煩雑でないものとしなければならない。理想的なソリューションは、使用がかなり容易でなければならず、中断された箇所と同じ状態で計算を再開できなければならない。
【００１９】
図２を参照すると、本発明の他の実施形態に従ったポータブル・サーバ２００が示されている。この実施形態では、ポータブル・サーバ２００は、ハード・ディスク・ドライブまたは他の好適なストレージ・メディアなどのストレージ・デバイス２０２と、イーサネット・インターフェース／ポート２０４および２０６とを備える。イーサネット・インターフェース２０４はホスト・システムに接続し、イーサネット・インターフェース２０６は、好ましくはウォール・ポートを介して、ポータブル・サーバ２００をローカル・エリア・ネットワークまたはワイド・エリア・ネットワークに接続する。ポータブル・サーバ２００は、中央処理ユニット２０８と、バッテリ２１２または交流接続２１４のいずれかを使用する電源２１０とも備える。
【００２０】
図３を参照すると、ホスト・システム３０２と結合されたポータブル・サーバ１００が示される。ホスト・システム３０２は、キーボード、マウス、およびディスプレイなどの、標準的な周辺デバイス・セットを駆動する、Ｉ／Ｏサブシステム３０４も備える。ホスト・システム３０２は、ポータブル・サーバ１００に結合されたＵＳＢポートと、ウォール・ポートを介してイーサネットのローカル・エリア・ネットワークまたはワイド・エリア・ネットワークに結合されたイーサネット・ポートと、を備える。
【００２１】
図４を参照すると、ホスト・システム４０２と結合されたポータブル・サーバ２００が示される。ホスト・システム４０２は、キーボード、マウス、およびディスプレイなどの、標準的な周辺デバイス・セットを駆動する、Ｉ／Ｏサブシステム４０４に接続される。ホスト・システム４０２は、ポータブル・サーバに結合されたＵＳＢポートと、イーサネットのローカル・エリア・ネットワークに結合されたイーサネット・ポートとを備える。
【００２２】
図５を参照すると、異なるホスト・コンピュータ上で前のセッションが中断された時点で存在したユーザのコンピューティング状態を復元するために必要な、すべての情報およびソフトウェアを格納する、ポータブル・サーバ１００のストレージ・デバイス１０２が示される。ストレージ・デバイス１０２（図１を参照のこと）は、第１レベルのオペレーティング・システムＯＳ−Ａ  ５１２（例えばLinux）と、第２レベルのオペレーティング・システムＯＳ−Ｂ  ５１４（例えばWindows）と、仮想マシン層５０２とを備える。ＯＳ−Ａ  ５１２は、ＯＳ−Ａをブートするためのブート・ローダと、様々なハードウェア・デバイス用のドライバとを含む。ＯＳ−Ｂ  ５１４は、仮想マシン層５０２向けに構成される。ストレージ・デバイスは、ユーザ・データ・ファイル５０４と、ユーザの中断されたコンピューティング環境５０６と、ＶＭ層５０２をサポートするためのＯＳ−Ａ  ５１２向けのアプリケーションおよびライブラリ５０８と、ユーザをサポートするためのＯＳ−Ｂ  ５１４向けのアプリケーションおよびライブラリ５１０と、も格納する。ストレージ・デバイスは、オペレーティング・システムならびにユーザのコンピューティング環境および状態を格納するための、十分なストレージ容量を持たなければならない。
【００２３】
前述のすべてのソフトウェアおよびデータのストレージは、ユーザがストレージ・デバイス内にどれだけ多くのコンピューティング環境および状態を取り込もうとするかに応じて、１０ギガバイトまたはそれ以上のストレージを必要とすることになる。ストレージ・デバイス１０４は好ましくは不揮発性であるため、バッテリは不要である。実施形態２００でさえも、ストレージ・デバイス２０２は好ましくは不揮発性であるため、パーソナル・コンピューティング環境サーバがアクティブに使用中でない場合、バッテリまたは他の電源は不要である。ストレージ・デバイス１０４または２０２は、ハード・ディスク・ドライブ、ＦＬＡＳＨメモリなどの不揮発性半導体ストレージ、磁気ランダム・アクセス・メモリ、光ストレージ、または他の好適なデバイスとすることができる。
【００２４】
図６を参照すると、２つの異なるホスト上に層状化された、ランタイム・ソフトウェアを示すブロック図が示される。層状化は、ユーザ・アプリケーション６１０が同じＯＳ−Ｂ層６０８と対話するように実行される。ソフトウェア層状化モデル６００は、第１のホスト・マシンに対応し、ソフトウェア層状化モデル６０１は第２のホスト・マシンに対応する。第１および第２のホスト・マシンは、それぞれ、異なるハードウェア特徴６０２および６０３を有する。各層状化モデルは、それぞれのハードウェア構成６０２および６０３と対話する、ＯＳ−Ａ  ６０４を有する。したがってＯＳ−Ａ層６０４は異なる環境を表す。したがって、各ＯＳ−Ａ  ６０４は異なる環境を理解してこれらを示し、各仮想マシン層６０６は同じビューをユーザ・アプリケーション６１０ならびにＯＳ−Ｂ  ６０８に提示する。各ソフトウェア層状化モデルは、異なるＯＳ−Ａ環境６０４と対話するが、同一の実施形態をＯＳ−Ｂ層６０８に提示する、仮想マシン層６０６も備える。
【００２５】
図７は、中断操作を示すブロック図である。ユーザはホスト・コンピュータ上のセッションを中断しようとする場合、仮想マシン層７０６に中断命令を発する。ユーザの操作に応答して、アプリケーション７０２およびＯＳ−Ｂ  ７０４は、それらの現在の状態をストレージ領域（たとえばファイル７１２）に保存することによって、中断される。仮想マシン層７０６は、このプロセス中、ユーザ・アプリケーション７０２およびＯＳ−Ｂ  ７０４を管理する。現在の状態が保存されると、仮想マシン層７０６およびＯＳ−Ａ  ７０８は、それらの状態が後続のセッションに関するいかなるユーザ関連情報も含まないため、シャットダウンされる。ユーザの中断されたコンピューティング環境は、その後、ポータブル・サーバに保存され、これが、後続のセッションで別のホストと結合するために取り外される。
【００２６】
ユーザが別のホストで作業を再開しようとする場合、ユーザはポータブル・サーバを第２のホストに接続詞、再会操作を開始する。図８〜図１０は、こうした再開操作を示す。第１に、図８では、ＯＳ−Ａ  ８０２が第２のホスト・マシン・ハードウェア８００によってブートされる。第２に、図９では、ＯＳ−Ａ  ８０２の上部に仮想マシン層８０４が構築される。この仮想マシン層８０４は、ホスト・マシン・ハードウェア８００と第２レベルのオペレーティング・システムＯＳ−Ｂ  ８０８（図１０に図示）との間のインターフェースとして働く。仮想マシン層が作成された後、ホスト・システムは第２のオペレーティング・システムＯＳ−Ｂ  ８０８およびポータブル・サーバからのユーザ・アプリケーションをロードし、ユーザの中断されたコンピューティング環境８０４を再開する。
【００２７】
図１１を参照すると、本発明の実施形態に従った再開方法９００（復元プロセス）を示す流れ図が示される。ステップ９０２で、パーソナル・コンピューティング環境サーバ（ゲスト）システムがホスト・システムに接続される。ステップ９０４で、ホスト・システム３０２（または４０２）の電源がオンになる。ステップ９０６で、ホスト・システムは、接続されたシステムからホスト・システムをブートするための命令を受信する。この命令は、ブート・プロセス時にユーザによって実行される手動操作の形を取ること、ブート可能ディスケットまたはＣＤから読み取ること、あるいは、基本入力／出力システム（ＢＩＯＳ）から読み取ること（ただし、ＢＩＯＳがこの種のデバイスからのブートをサポートするように作成されたものであることを条件とする）が可能である。実際には、ゲスト・システムからのブートによって、ホスト・システムはゲスト・システムの制御下に入り、それ自体のストレージ・デバイスをバイパスすることになる。ゲスト・システムが１００で示された実施形態と同様である場合、ホスト・システム３０２はＵＳＢからブートするように指示される。ゲスト・システムが２００で示された実施形態と同様である場合、ホスト・システム４０２はイーサネットからブートするように指示される。ゲスト・システム２００は、ネットワーク・ブート要求（ＢＯＯＴＰ要求）に応答して、ストレージ２０２からのＯＳ−Ａ  ５１２のブート操作を開始する。ＣＰＵ  ２０８は、このプロセスを管理するために使用される。ホスト・システムＢＩＯＳが、接続されたパーソナル・コンピューティング環境サーバからブートするように構成されたような場合には、ステップ９０６は不要である。たとえば、第１段階のオペレーティング・システムは、ホストＯＳ用にカスタム構成されていない、Ｋｎｏｐｐｉｘなどの汎用ＯＳとすることができる。
【００２８】
ステップ９０８で、ホスト・システムは第１段階のオペレーティング・システム（ＯＳ）を取り出し、ホスト・システムの構成に基づいてその第１段階のＯＳにブートする（ブート手順の実行）。ステップ９１０で、標準仮想マシン・インターフェースをホスト・システムにエクスポートする仮想マシン環境が第１段階のＯＳ上部に作成される。ステップ９１２で、ホスト・システムは、ＯＳ−ＢおよびＯＳ−Ｂ上で実行中のユーザ・アプリケーションに対応する、中断された状態を取り出す。ステップ９１４で、ホスト・システムは、ホスト・システム内のユーザのコンピューティング環境を復元する。最終的にステップ９１６で、ホスト・システムは、ユーザが必要とする場合、ＯＳ−Ｂからの追加のデータおよびアプリケーションを提供する。ホスト・システムは、仮想マシン層が必要とする場合、ＯＳ−Ａからのデータおよびアプリケーションも提供する。実施形態２００では、こうした要求を認識し、それらを処理するために、ＣＰＵ  ２０８が使用される。外部ネットワーク・サイトに向けて送られる他のネットワーク・パケットは、単にイーサネット・インターフェース２０８に転送される。これがブート時にホストＯＳ構成を発見し、その構成を処理するようにそれ自体をセットアップする。さらに、第２レベルのＯＳは中断しないことが可能であり、ブートすることも可能である。
【００２９】
図１２を参照すると、本発明の実施形態に従った中断方法１０００を示す流れ図が示される。ステップ１００２で、ホスト・システムはそのユーザからの中断命令を受信する。ステップ１００４で、ホスト・システムは、仮想マシン（ＶＭ）層上で中断操作を開始する。次にステップ１００６で、ホストは、ＯＳ−Ｂおよびユーザ・アプリケーションに対応する環境を保存する。ステップ１００８で、ＶＭ層がシャットダウンされる。次にステップ１０１０で、ＯＳ−Ａがシャットダウンされる。ステップ１０１２で、ホスト・システムの電源をオフにする。ステップ１０１４で、ユーザはゲスト・システムを切断するようにとのプロンプトを受け取る。ゲスト・システムが切断された後、必要であればステップ１０１６で、ユーザは物理接続を復元することができる。
【００３０】
前述のように、すべてのＢＩＯＳバージョンがＵＳＢデバイスからブートできる訳ではない。こうしたＢＩＯＳを備えたシステムの場合、ユーザは、ＵＳＢ／Ｆｉｒｅｗｉｒｅドライバを備えたディスケットを作成することができる。ディスケットおよび残りのブート・プロセスからの第１段階のブート・ローダが、ＵＳＢ／Ｆｉｒｅｗｉｒｅディスクから開始される。
【００３１】
有線イーサネット接続を使用する代わりに、ＩＥＥＥ標準８０２．１１に従った無線ローカル・エリア・ネットワーク（ＬＡＮ）接続を使用することも可能である。
【００３２】
前述のようなシステムは、コンピューティング・パラダイム全体を変更することができる。患者の記録への電子アクセスがますます一般的になりつつある病院のケースを考えてみる。それぞれの医師は、本発明に従ったデバイスを使用して、自分専用のポータブル・パーソナル・コンピューティング環境サーバを持ち運び、これを病院内の（たとえば、放射線部門、中央ナース・ステーションなどにある）様々なパーソナル・コンピュータに接続して、患者のデータに安全にアクセスすることができる。他の例では、知識労働者が自分のパーソナル・コンピューティング環境サーバを持ち帰り、自宅で何らかの作業を行い、翌朝これを再度オフィスに持ち込んで、自分のオフィス用パーソナル・コンピュータに接続し、自分のデータとの同期化について心配することなく、中断した箇所から再開する。ユーザにとってはかなりの省力化となる可能性がある。一部のユーザのパーソナル・コンピュータは、自分のポータブル・パーソナル・コンピューティング環境サーバとの連携でのみ動作するため、経時的にディスクレスとなってきており、そのことからＯＳライセンス、アップグレード、セキュリティ・パッチ、バックアップなどのすべての問題が解消される。
【００３３】
以上、現在好ましい実施形態であると考えられる内容について説明してきたが、当業者であれば、本発明の趣旨内で他の修正形態が実行可能であることを理解されよう。
【図面の簡単な説明】
【００３４】
【図１】パーソナル・コンピューティング環境サーバの実施形態を示す、高水準ブロック図である。
【図２】パーソナル・コンピューティング環境サーバの他の実施形態を示すブロック図である。
【図３】第１の実施形態に従った情報処理システムを示すブロック図である。
【図４】第２の実施形態に従った情報処理システムを示すブロック図である。
【図５】パーソナル・コンピューティング環境サーバのストレージ・デバイスのコンテンツを示すブロック図である。
【図６】２つの異なるホスト上に層状化されたランタイム・ソフトウェアを示すブロック図である。
【図７】中断操作を示すブロック図である。
【図８】再開操作を示すブロック図である。
【図９】再開操作を示すブロック図である。
【図１０】再開操作を示すブロック図である。
【図１１】本発明の実施形態に従った始動およびブート方法を示す流れ図である。
【図１２】本発明の他の実施形態に従った中断方法を示す流れ図である。
【図１】
2008547081.tif 000003
【図２】
2008547081.tif 000004
【図３】
2008547081.tif 000005
【図４】
2008547081.tif 000006
【図５】
2008547081.tif 000007
【図６】
2008547081.tif 000008
【図７】
2008547081.tif 000009
【図８】
2008547081.tif 000010
【図９】
2008547081.tif 000011
【図１０】
2008547081.tif 000012
【図１１】
2008547081.tif 000013
【図１２】
2008547081.tif 000014
2008547081.tif 000015
2008547081.tif 000016
2008547081.tif 000017
2008547081.tif 000018
2008547081.tif 000019
【手続補正書】
【提出日】平成20年10月20日(2008.10.20)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ポータブル・パーソナル・コンピューティング環境サーバをホスト・システムに接続するステップと、
第１レベルのオペレーティング・システムを取り出すステップと、
前記第１レベルのオペレーティング・システムを使用して第１段階のブート手順を実行するステップと、
前記第１レベルのオペレーティング・システム上の仮想マシンを開始するステップと、
第２レベルのオペレーティング・システムを備えるコンピューティング環境を取り出すステップと、
前記コンピューティング環境によって復元プロセスを実行するステップであって、前記復元プロセスは前記仮想マシン内部で前記コンピューティング環境を復元する、復元プロセスを実行するステップと、
を含む、情報処理システムに関する方法。
【請求項２】
前記ポータブル・パーソナル・コンピューティング環境サーバから１つまたは複数のアプリケーションを取り出すステップをさらに含む、請求項１に記載の方法。
【請求項３】
前記ポータブル・パーソナル・コンピューティング環境サーバから１つまたは複数のデータ・ファイルを取り出すステップをさらに含む、請求項１に記載の方法。
【請求項４】
前記第１レベルのオペレーティング・システムがＬｉｎｕｘオペレーティング・システムである、請求項１に記載の方法。
【請求項５】
前記第２レベルのオペレーティング・システムがＷｉｎｄｏｗｓオペレーティング・システムである、請求項１に記載の方法。
【請求項６】
前記ホスト・システムの基本入出力システムから受け取った第１レベルのオペレーティング・システムをロードするための命令を実行するステップをさらに含む、請求項１に記載の方法。
【請求項７】
第１レベルのオペレーティング・システムをロードするための命令がブート可能メモリ・デバイスから受け取られる、請求項６に記載の方法。
【請求項８】
第１レベルのオペレーティング・システムをロードするための命令が、ユーザによって実行される手動操作から受け取られる、請求項６に記載の方法。
【請求項９】
前記第１レベルのオペレーティング・システムが、前記ポータブル・パーソナル・コンピューティング環境サーバからロードされる、請求項１に記載の方法。
【請求項１０】
前記第１レベルのオペレーティング・システムの少なくとも一部が、取り外し可能ストレージ・デバイスからロードされる、請求項１に記載の方法。
【請求項１１】
コンピューティング状態を中断するための要求を受け取るステップと、前記要求に応答して、前記ホスト・システムをシャットダウンする前に、最も新しいコンピューティング状態を前記ポータブル・パーソナル・コンピューティング環境サーバに格納するステップと、をさらに含む、請求項１に記載の方法。
【請求項１２】
前記ホスト・システムに、前記パーソナル・コンピューティング環境サーバからブートするように要求するステップをさらに含む、請求項１に記載の方法。
【請求項１３】
ポータブル・パーソナル・コンピューティング環境サーバをホスト・システムに接続するステップを実行するために、前記ホスト上の既存のインターフェースを使用するステップをさらに含む、請求項１に記載の方法。
【請求項１４】
マシン非依存仮想構成を作成するステップをさらに含む、請求項１に記載の方法。
【請求項１５】
復元プロセスを実行する前記ステップが仮想構成内の中断されたコンピューティング環境で実行される、請求項１に記載の方法。
【請求項１６】
前記第１レベルのオペレーティング・システムを前記ポータブル・パーソナル・コンピューティング環境サーバから取り出すステップをさらに含む、請求項１に記載の方法。
【請求項１７】
ホスト・システム上でパーソナル・コンピューティング環境を復元するための１つまたは複数のオペレーティング・システムを備えるパーソナル・コンピューティング環境を含むストレージ・デバイスを備える、ポータブル・パーソナル・コンピューティング環境サーバ。
【請求項１８】
ホスト・システム上でパーソナル・コンピューティング環境を復元するためのプログラムであって、該プログラムがコンピュータに、
ポータブル・パーソナル・コンピューティング環境サーバをホスト・システムに接続するステップと、
第１レベルのオペレーティング・システムを取り出すステップと、
前記第１レベルのオペレーティング・システムを使用して第１レベルのブート手順を実行するステップと、
前記第１レベルのオペレーティング・システム上の仮想マシンを開始するステップと、
第２レベルのオペレーティング・システムを備えるコンピューティング環境を取り出すステップと、
前記コンピューティング環境によって復元プロセスを実行するステップであって、前記復元プロセスは前記仮想マシン内部で前記コンピューティング環境を復元する、復元プロセスを実行するステップと、
を実行させる、プログラム。
【国際調査報告】
2008547081.tif 000020