特許第6397113号(P6397113)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ヴイエムウェア インコーポレイテッドの特許一覧

特許6397113リモーティングセッションを通じた非サポートファイル形式の開封
<>
  • 特許6397113-リモーティングセッションを通じた非サポートファイル形式の開封 図000002
  • 特許6397113-リモーティングセッションを通じた非サポートファイル形式の開封 図000003
  • 特許6397113-リモーティングセッションを通じた非サポートファイル形式の開封 図000004
  • 特許6397113-リモーティングセッションを通じた非サポートファイル形式の開封 図000005
  • 特許6397113-リモーティングセッションを通じた非サポートファイル形式の開封 図000006
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6397113
(24)【登録日】2018年9月7日
(45)【発行日】2018年9月26日
(54)【発明の名称】リモーティングセッションを通じた非サポートファイル形式の開封
(51)【国際特許分類】
   G06F 15/00 20060101AFI20180913BHJP
   G06F 12/00 20060101ALI20180913BHJP
   G06F 9/455 20060101ALI20180913BHJP
【FI】
   G06F15/00 410B
   G06F12/00 515M
   G06F12/00 545A
   G06F9/455 150
【請求項の数】20
【全頁数】14
(21)【出願番号】特願2017-222767(P2017-222767)
(22)【出願日】2017年11月20日
(62)【分割の表示】特願2016-524396(P2016-524396)の分割
【原出願日】2014年8月20日
(65)【公開番号】特開2018-45704(P2018-45704A)
(43)【公開日】2018年3月22日
【審査請求日】2017年12月19日
(31)【優先権主張番号】13/975,194
(32)【優先日】2013年8月23日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】510149482
【氏名又は名称】ヴイエムウェア インコーポレイテッド
【氏名又は名称原語表記】VMware,Inc.
(74)【代理人】
【識別番号】100105957
【弁理士】
【氏名又は名称】恩田 誠
(74)【代理人】
【識別番号】100068755
【弁理士】
【氏名又は名称】恩田 博宣
(74)【代理人】
【識別番号】100142907
【弁理士】
【氏名又は名称】本田 淳
(72)【発明者】
【氏名】レイボヴィッチ、アンドレ
(72)【発明者】
【氏名】デイビス、スコット ハワード
【審査官】 大桃 由紀雄
(56)【参考文献】
【文献】 米国特許出願公開第2012/0303763(US,A1)
【文献】 米国特許出願公開第2011/0209064(US,A1)
【文献】 国際公開第2013/012654(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 15/00
G06F 9/455
G06F 12/00
(57)【特許請求の範囲】
【請求項1】
モバイルコンピューティングデバイスにインストールされている何れのアプリケーションによってもサポートされていない形式のファイルを、当該モバイルコンピューティングデバイスを用いて開く方法であって、
前記モバイルコンピューティングデバイスにログインしたユーザからファイル開封希望の指示を受け取ることであって、前記指示は、ファイルに関連するユーザよる入力に応答して受け取られる、前記指示を受け取ること、
前記指示の受け取りに応答して、かつユーザからの追加の入力無しにプログラムにより実行されることであって、
前記ファイルのメタデータを、ユーザからは隠され、かつユーザがログインする前記モバイルコンピューティングデバイスによっておよび仮想マシンによってアクセス可能な共有の隠しフォルダに提供することを含む、前記ファイルの開封要求を発行することであって、前記ファイルの開封要求の前記メタデータは、タイムスタンプを含み、要求は、前記タイムスタンプからの所定の長さの時間が経過した後に無効となる、前記ファイルの開封要求を発行すること、
ユーザの選好およびインストールされたアプリケーションを永続的に維持する永続的仮想マシンがユーザに割当てられているかどうかを判断し、そうである場合、ファイルを開封するために前記永続的仮想マシンを仮想マシンとして選択するか、またはファイルを開封するために複数の非永続的仮想マシンの1つを仮想マシンとして選択すること、
要求に応答して、前記ユーザの認証情報を接続サーバにプログラムにより送信して前記ユーザを選択された仮想マシンにログインさせること、
閲覧および編集のために前記ファイルにアクセスするために前記選択された仮想マシンとのリモーティングセッションを確立して、前記タイムスタンプから所定の長さの時間がまだ経過していない場合、前記選択された仮想マシンが、前記ファイルの開封要求および前記ファイルのメタデータに基づいて該仮想マシンによりアクセス可能な前記共有の隠しフォルダから前記ファイルを開くこと、を備える方法。
【請求項2】
前記ファイルは、前記ユーザがログインする何れのモバイルコンピューティングデバイスおよび仮想マシンによってもアクセス可能なフォルダに保存され、当該フォルダの内容は、前記ユーザがログインする1つまたは複数のモバイルコンピューティングデバイスおよび仮想マシンの間でプログラムにより同期される、請求項1に記載の方法。
【請求項3】
前記指示の受け取りに応答して、かつユーザからの追加の入力無しにプログラムにより実行されることであって、
前記ファイルを、前記ユーザがログインするモバイルコンピューティングデバイスおよび仮想マシンによってもアクセス可能な共有のフォルダの中にコピーすることをさらに備え、
当該共有のフォルダの内容は、前記ユーザがログインする1つまたは複数のモバイルコンピューティングデバイスおよび仮想マシンの間でプログラムにより同期される、請求項1に記載の方法。
【請求項4】
前記ファイルを閲覧および編集のために開いた前記仮想マシンは、前記ユーザの選好およびインストールされたアプリケーションにより構成された永続的仮想マシンである、請求項1に記載の方法。
【請求項5】
前記ファイルの形式が前記ユーザの前記仮想マシンによりサポートされているかを確認することをさらに備える請求項4に記載の方法。
【請求項6】
前記ファイルを閲覧および編集のために開いた前記仮想マシンは、前記リモーティングセッションをサポートするために前記ユーザに一時的に提供された非永続的仮想マシンである、請求項1に記載の方法。
【請求項7】
前記仮想マシンは、開封対象の前記ファイルの形式をサポートするアプリケーションが各々インストールされている複数の仮想マシンの中から自動的に選択される、請求項1に記載の方法。
【請求項8】
前記ファイルのメタデータが、ファイル名およびファイルが配置される共有のフォルダへのファイルパスを含み、前記共有のフォルダは、前記モバイルコンピューティングデバイスおよび前記選択された仮想マシンの両方によってアクセス可能である、請求項1に記載の方法。
【請求項9】
前記リモーティングセッションはリモートデスクトップセッションである、請求項1に記載の方法。
【請求項10】
前記リモーティングセッションはリモートアプリケーションセッションである、請求項1に記載の方法。
【請求項11】
コンピューティングデバイスにインストールされている何れのアプリケーションによってもサポートされていない形式のファイルを、当該コンピューティングデバイスを用いて開く方法であって、
前記コンピューティングデバイスにログインしたユーザからファイル開封希望の指示を受け取ることあって、前記指示は、ファイルに関連するユーザよる入力に応答して受け取られる、前記指示を受け取ること、
前記指示に応答して、かつユーザからの追加の入力無しにプログラムにより実行されることであって、
前記ファイルのメタデータを、ユーザからは隠され、かつユーザがログインする前記コンピューティングデバイスによっておよび仮想マシンによってアクセス可能な共有の隠しフォルダに提供することを含み、前記メタデータは、タイムスタンプを含み、要求は、前記タイムスタンプからの所定の長さの時間が経過した後に無効となる、前記ファイルの開封要求を発行すること、
要求に応答して、前記ファイルを開封可能なアプリケーションがインストールされている仮想マシンを自動的に選択することであって、
永続的仮想マシンがユーザに割当てられているかどうかを判断し、そうである場合、ファイルを開封するために前記永続的仮想マシンを仮想マシンとして選択するか、または
ユーザの選好およびインストールされたアプリケーションを永続的に維持しない非永続的仮想マシンがユーザに割当てられているという判断に応答して、ファイルを開封するために複数の非永続的仮想マシンの1つを仮想マシンとして選択することを含む、前記仮想マシンを自動的に選択すること、
前記ユーザの認証情報を管理サーバにプログラムにより送信して前記ユーザを前記選択された仮想マシンにログインさせること、
閲覧および編集のために前記ファイルにアクセスするために前記コンピューティングデバイスからの前記仮想マシンとのリモーティングセッションを確立して、前記タイムスタンプから所定の長さの時間がまだ経過していない場合、前記仮想マシンが、前記ファイルの開封要求および前記共有の隠しフォルダ内の前記ファイルのメタデータに基づいて前記ファイルを開くこと、を備える方法。
【請求項12】
前記コンピューティングデバイスが、所定の記憶位置から、仮想マシンおよび仮想マシンにインストールされたアプリケーションに関する情報を読み出すことをさらに備え、
前記選択することは、前記情報に基づいて行われる、請求項11に記載の方法。
【請求項13】
前記ファイルは、前記ユーザがログインする何れのコンピューティングデバイスおよび仮想マシンによってもアクセス可能な共有のフォルダに保存され、当該共有のフォルダの内容は、前記ユーザがログインする1つまたは複数のコンピューティングデバイスおよび仮想マシンの間でプログラムにより同期される、請求項11に記載の方法。
【請求項14】
前記コンピューティングデバイスが、共有のフォルダにまだ配置されていないファイルを決定し、これに応答して、前記ファイルを、前記ユーザがログインするコンピューティングデバイスによっておよび仮想マシンによってアクセス可能な共有のフォルダの中にコピーすることをさらに備え、
当該共有のフォルダの内容は、前記ユーザがログインする1つまたは複数のコンピューティングデバイスおよび仮想マシンの間でプログラムにより同期される、請求項11に記載の方法。
【請求項15】
仮想マシンを通じてリモーティングセッションをサポートする方法であって、
ファイルに関連するユーザ入力に応答してユーザのモバイルコンピューティングデバイスから、かつユーザからの追加の入力無しにプログラムにより実行され、プログラムにより送信されたユーザの認証情報を受信してユーザを選択された仮想マシンにログインさせることであって、前記選択された仮想マシンは、永続的仮想マシンがユーザに割当てられているかどうかを判断し、そうである場合、ファイルを開封するために前記永続的仮想マシンを仮想マシンとして選択するか、または非永続的仮想マシンがユーザに割当てられているという判断に応答して、ファイルを開封するために複数の非永続的仮想マシンの1つを仮想マシンとして選択することにより選択される、ユーザを選択された仮想マシンにログインさせること、
前記選択された仮想マシンへのログイン成功と同時に、前記モバイルコンピューティングデバイスによっておよび前記選択された仮想マシンによってアクセス可能な共有のフォルダから前記ファイルの開封要求と、ユーザからは隠され、かつ前記モバイルコンピューティングデバイスによっておよび前記選択された仮想マシンによってアクセス可能な共有の隠しフォルダから前記ファイルのメタデータとを読み出すことであって、前記メタデータは、タイムスタンプを含み、要求は、前記タイムスタンプからの所定の長さの時間が経過した後に無効となる、前記読み出すこと、
前記選択された仮想マシンにおいて前記ファイルを開封可能なアプリケーションを起動すること、
前記開封要求のタイムスタンプを確認して、前記タイムスタンプが現在の時間から所定の長さの時間未満であることを判断し、そうである場合、前記アプリケーション内で前記ファイルを開くこと、
前記選択された仮想マシンにおいて前記アプリケーション内で開かれた前記ファイルの表示を生成して当該表示をモバイルコンピーティングデバイスに送信すること、を備える方法。
【請求項16】
前記生成され且つ送信される表示は、デスクトップ環境内でのアプリケーション環境を示す、請求項15に記載の方法。
【請求項17】
前記生成され且つ送信される表示は、アプリケーション環境を示し、デスクトップ環境を示さない、請求項15に記載の方法。
【請求項18】
前記ファイルは、前記仮想マシンのユーザがログインするコンピューティングデバイスおよび仮想マシンの各々によってもアクセス可能なフォルダに保存され、当該フォルダの内容は、前記ユーザがログインする1つまたは複数のコンピューティングデバイスおよび仮想マシンの間でプログラムにより同期される、請求項15に記載の方法。
【請求項19】
前記メタデータを用いて前記ファイルをフォルダ内に位置付けることをさらに備える請求項15に記載の方法。
【請求項20】
前記ファイルを開くことの前に、前記ファイルの内容が同期されるまで待機することをさらに備える請求項15に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、リモーティングセッションを通じて、サポートされていないファイル形式のファイルを開封することに関する。
【背景技術】
【0002】
モバイルコンピューティング技術の急速な進化に対応していく中での課題の1つは、スマートフォンやタブレットコンピュータ等の新型のモバイルデバイス間およびモバイルデバイスへのインストールが現実的ではないアプリケーション間の相互運用性を維持することである。このようなソフトウェアアプリケーションのいくつかの例は、専用アプリケーション、例えば写真編集用のソフトウェアや図式入出力用のソフトウェアである。一般に、これらのソフトウェアアプリケーションはモバイルデバイスがその中に実用的に実装するには大きすぎ、モバイルデバイスのストレージやメモリ資源を消耗しすぎる。
【発明の概要】
【発明が解決しようとする課題】
【0003】
より新型のモバイルデバイスではストレージとメモリ資源は増えているものの、このような場合の限界は、ハードウェアというより、ソフトウェアライセンスの費用のほうにある。その結果、モバイルデバイスによって非サポート文書を閲覧または編集するために、モバイルデバイスのユーザはその文書を変換するか、または遠隔的に、その文書のファイル形式をサポートする別のシステムにアクセスするための面倒なステップを踏まなければならない。どちらの場合も、ステップの増加がユーザの生産性の損失とユーザのフラストレーションの増大につながる。
【課題を解決するための手段】
【0004】
1つまたは複数の実施形態は、コンピューティングデバイス内にあるファイルの形式をサポートするアプリケーションがそのコンピューティングデバイス内にインストールされていなくても、そのファイルを閲覧および編集のためにシームレスに開封する方法を提供する。実施形態によれば、非サポートファイル形式のファイルの閲覧および編集操作を、仮想デスクトップまたはアプリケーションセッションを通じてシームレスに実行することができる。
【0005】
一実施形態によれば、コンピューティングデバイスにインストールされている何れのアプリケーションによってもサポートされていない形式のファイルを、当該コンピューティングデバイスを用いて開く方法は、コンピューティングデバイスにログインしたユーザからファイル開封希望の指示を受け取るステップと、ファイルの開封要求およびファイルのメタデータを発行するステップと、ユーザの認証情報を接続サーバにプログラムにより送信してそのユーザを仮想マシンにログインさせるステップと、仮想マシンとのリモーティングセッションを確立して閲覧および編集のためにそのファイルにアクセスするステップであって、仮想マシンがファイルの開封要求およびファイルのメタデータに基づいてそのファイルを開くステップとを含む。
【0006】
他の実施形態によれば、コンピューティングデバイスにインストールされている何れのアプリケーションによってもサポートされていない形式のファイルを、当該コンピューティングデバイスを用いて開く方法は、コンピューティングデバイスにログインしたユーザからファイル開封希望の指示を受け取るステップと、ファイルの開封要求およびファイルのメタデータを発行するステップと、そのファイルを開封可能なアプリケーションがインストールされている仮想マシンを自動的に選択するステップと、ユーザの認証情報を管理サーバにプログラムにより送信してそのユーザを選択された仮想マシンにログインさせるステップと、仮想マシンとのリモーティングセッションを確立して閲覧および編集のためにそのファイルにアクセスするステップであって、仮想マシンがファイルの開封要求およびファイルのメタデータに基づいてそのファイルを開くステップとを含む。
【0007】
一実施形態による、仮想マシンを通じてリモーティングセッションをサポートする方法は、仮想マシンへのログイン成功と同時に、ファイルの開封要求およびファイルのメタデータを所定の記憶位置から読み出すこと、そのファイルを開封可能なアプリケーションを起動するステップと、そのアプリケーション内でファイルを開くステップと、アプリケーション内で開かれたファイルの表示を生成してその表示をリモートコンピーティングデバイスに送信するステップとを含む。
【0008】
他の実施形態では、処理ユニットが上記1つまたは複数の態様の方法を実行可能にする命令を含む非一時的なコンピュータ読取可能記憶媒体のほか、上記1つまたは複数の態様の方法を実行するように構成されたコンピュータシステムを含む。
【図面の簡単な説明】
【0009】
図1】1つまたは複数の実施形態を実施可能な仮想化デスクトップインフラストラクチャシステムの構成要素を示す。
図2図2Aおよび図2Bは、一実施形態においてファイル開封要求がどのように発行されるかの2つの異なる例を示す。
図3図3Aおよび図3Bは、一実施形態において起動されたリモーティングセッションの2つの例示的な表示を示す。
図4】リモーティングセッションを通じたファイル開封要求に応答してクライアントマシンにより実行される方法のステップを示す。
図5】リモーティングセッションを通じてファイルを開くために、クライアントマシンからの要求をサポートする仮想マシンにより実行される方法のステップを示す。
【発明を実施するための形態】
【0010】
図1は、1つまたは複数の実施形態を実施可能な仮想化デスクトップインフラストラクチャ(VDI)システム100の構成要素を示す。VDIシステム100において、VDIクライアントソフトウェアプログラム(または、短縮して「VDIクライアント」とも呼ぶ)は、ローカルコンピューティングデバイスのオペレーティングシステムによって、例えば、オペレーティングシステム(OS)111上のクライアントマシン108で動作する。クライアントマシン108は、スマートフォン、タブレットコンピュータ、ノートブックコンピュータ、または、1つまたは複数の中央処理ユニット、メモリ、ローカルストレージ、ネットワークインタェースカード、キーボード、マウス、タッチスリーン、マイクロフォン等の入力デバイス、およびディスプレイやスピーカ等の出力デバイスといった従来の構成要素を有する他の何れの種類のコンピューティングデバイスとすることができる。単純化のために、図1にはクライアントマシン108が1つだけ示されているが、VDIシステム100は、異なる種類のクライアントマシン108を多数サポートすると理解するべきである。VDIクライアントは、ユーザに対し、そのユーザの位置から離れたデータセンタ内の仮想マシン157やブレードサーバ(図示せず)のうちの1つで実行され得るデスクトップや特定のアプリケーションにアクセスするためのインタフェースを提供する。VDIクライアントにより、ユーザは、リモートデータセンタ内で実行されているデスクトップまたはアプリケーションに、ネットワーク120を通じて、どこからでも、汎用オペレーティングシステムおよびVDIクライアントソフトウェアプログラムを実行する汎用コンピュータ、あるいは、デル、HP、NEC、サンマイクロシステムズ、ワイズ等から入手可能な専用シンクライアントを用いてアクセスできる。
【0011】
VDIシステム100は、ユーザログイン情報を含むユーザアカウント136を管理する例えばマイクロソフト・アクティブ・ディレクトリ(Microsoft Active Directory)(登録商標)などのドメインコントローラ135と、VDIクライアントと仮想マシン157またはその他のプラットフォーム内で実行中のデスクトップとの間の接続を管理する接続ブローカ137とを含む。ドメインコントローラ135と接続ブローカ137は、別々のサーバ上で動作してもよいし、あるいは同じサーバもしくは異なるサーバ上で動作する別々の仮想マシン内で動作してもよい。図示されている実施形態において、デスクトップおよびアプリケーションは仮想マシン157内で実行されており、複数の物理コンピュータ150、152、154上に仮想マシン157のインスタンスが作成される。物理コンピュータ150、152、154の各々は、仮想化ソフトウェア158とハードウェア159とを含み、仮想マシン管理サーバ140によって制御され、共有の永続的記憶システム160に接続されている。本明細書において、「接続ブローカ」は、リモートユーザセッションとの接続を管理するように構成された装置、例えばリモートデスクトップであり、「ドメインコントローラ」は、ユーザログイン情報にアクセスしてそれを管理するように構成された装置である。
【0012】
VDIシステム100の構成要素は全て、ネットワーク120を介して通信する。単純化のために1つのネットワークだけが示されているが、実際の構成では、VDIシステム100の構成要素は、同じネットワークで接続されていても、異なるネットワークで接続されていてもよい。また、仮想化デスクトップインフラストラクチャの特定の構成を説明し、図1に示しているが、本発明の1つまたは複数の実施形態は、他の構成の仮想化デスクトップインフラストラクチャで実現されてもよいと理解するべきである。
【0013】
クライアントマシン108は、それに実装されているファイル同期エンジン112を有する。ファイル同期エンジン112は、ファイル同期サーバ180、特に、ファイル同期エージェント181と通信して、クライアントマシン108とファイル同期サーバ180との間で、ファイル同期サーバ180の記憶部183に永続的に記憶された共有ファイル182の内容を同期させる。ここに示される実施形態において、仮想マシン157は、それに実装されているファイル同期エンジン166を有する。同じユーザがクライアントマシン108と仮想マシン157にログインした場合、クライアントマシン108のファイル同期エンジン112および仮想マシン157のファイル同期エンジン166は、ファイル同期エージェント181と通信して、クライアントマシン108と仮想マシン157との間で共有ファイル182の内容を同期させる。この同期の結果として、共有ファイル182の永続的更新情報がすべて、クライアントマシン108と仮想マシン157(またはユーザが同じユーザ認証情報を用いてログインしたあらゆるクライアントマシン)の何れにより作成されたものかを問わず、記憶部183とその他のマシンの中に永続的に記憶される。一実施形態においては他の既知のファイル同期技術も利用されてよく、これには2013年3月4日に出願され、「ファイル間差分内容同期(Cross-File Differential Content Synchronization)」と題する米国特許出願第13/784,551号明細書において開示されているものが含まれ、同出願の内容全体を参照によって本願に援用する。
【0014】
一実施形態によれば、クライアントマシン108は、ファイル開封エンジン109を含む。ファイル開封エンジン109は、クライアントマシン108にインストールされている何れのアプリケーションによってもサポートされていないファイル拡張子を有するファイルを、クライアントマシン108を用いて、クライアントマシン108の中で起動される仮想デスクトップまたはアプリケーションセッション(本明細書では「リモーティングセッション」とも呼ぶ)を通じて閲覧可能かつ編集可能とする。ファイル開封エンジン109はソフトウェアで実装される。その詳細を以下にさらに説明する。また、一実施形態によれば、仮想マシン157はファイル開封エージェント167を含み、このファイル開封エージェント167は、閲覧および編集のためにリモーティングセッションを通じてファイル開封要求を送信したユーザが仮想マシン157にログインすると、アプリケーションおよびアプリケーション内のファイルを自動的に起動する。
【0015】
他の実施形態において、ユーザがログインした仮想マシンは、ファイル同期エンジン166を持たなくてもよい。この場合、ファイル開封エージェント167は、共有ファイル182と自動的に通信して、開くべきファイルがあるか否かを確認し、そのようなファイルがあればそれを仮想マシンにコピーしてから、アプリケーションおよびそのアプリケーション内のファイルを起動する。
【0016】
図2Aおよび2Bは、一実施形態による、ファイル開封要求がどのように発行されるかの2種類の異なる例を示す。どちらの例においてもクライアントマシン108はタブレットコンピュータであり、タブレットコンピュータのディスプレイ208が図2Aおよび図2Bの各々に示されている。
【0017】
図2Aにおいて、ユーザはタブレットコンピュータ内の電子メールクライアントを起動して電子メール210を見ている。電子メール210は添付212を含み、この添付ファイルは、マイクロソフト・ビジオ(Microsoft Visio)(登録商標)ファイルの拡張子であるファイル拡張子「.vsd」を含んでいる。ここではこの例は、マイクロソフト・ビジオ(登録商標)アプリケーションがタブレットコンピュータやスマートフォンには一般にインストールされていないために使用されている。特定のファイル形式をサポートしていないコンピューティングデバイスのユーザをイネーブルする方法として、一実施形態が実装するファイル開封エンジン109は、ユーザに対し、リモーティングセッションを通じて閲覧および編集のためにそのファイルを開くオプションを提供する。ここで示される例において、ファイル開封エンジン109はタブレットコンピュータの中に実装され、タブレットコンピュータのユーザには、リモーティングセッションを通じて閲覧および編集のためにファイルを開封するオプションが付与される。オプションはコンテキストメニュー213を通じて表示され、これは現在既知の、または今後開発される、技術的に実現可能な何れの方法によって実装されてもよい(例えば、マウスの右クリック、またはマウスの右クリックと同等のタッチスクリーン入力)。このオプションが選択されると、ファイル開封エンジン109が図4の方法を実行する。
【0018】
図2Bにおいて、ユーザは共有フォルダ220を開いており、その内容が上述の共有ファイル182と同様の方法で同期される。共有フォルダ220はファイル222を含み、これは、この実施形態ではタブレットコンピュータとして描かれている本体のコンピューティングデバイスによりサポートされていない場合がある拡張子「.vsd」を持つ。タブレットコンピュータのユーザがそのようなファイルを閲覧および編集するために開封できるようにする方法として、ファイル開封エンジン109がタブレットコンピュータの中に実装され、ユーザに対し、そのファイルを閲覧および編集のためにリモーティングセッションを通じて開封するオプションが与えられる。このオプションは、コンテキストメニュー223を通じて表示され、これは現在既知の、または今後開発される、技術的に実現可能な何れの方法によって実装されてもよい(例えば、マウスの右クリック、またはマウスの右クリックと同等のタッチスクリーン入力)。このオプションが選択されると、ファイル開封エンジン109が図4の方法を実行する。
【0019】
コンテキストメニュー213または223からオプションを選択するほかに、ユーザは異なるファイル形式についてデフォルトのファイル開封オプションを設定してもよい。例えば、ユーザは、リモーティングセッションを通じてすべてのマイクロソフト・ビジオ(登録商標)を開くが、すべてのマイクロソフト・ワード(Microsoft Word)(登録商標)ファイルやマイクロソフト・エクセル(Microsoft Excel)(登録商標)ファイルについてはローカルで開くように指定してもよい。これに加えて、企業は、そのユーザ全員が高額なアプケーションによりサポートされるファイルについては、必ずリモーティングセッションを通じて開封しなければならないようにしてもよく、それによって多数のライセンスシートの購入を減らすことができるようにしてもよい。
【0020】
ファイル開封エンジン109により起動されるリモーティングセッションは、リモートデスクトップセッションまたはリモートアプリケーションセッションであってもよい。図3Aは、タブレットコンピュータにより起動されるリモートデスクトップセッションを示しており、タブレットコンピュータのディスプレイ208は、仮想デスクトップ310と仮想デスクトップ310内で起動されたアプリケーション312を示している。図3Bは、タブレットコンピュータにより起動されるリモートアプリケーションセッションを示しており、タブレットコンピュータのディスプレイ208は、仮想デスクトップは示さずにアプリケーション320を示している。どちらの場合も、開封が要求されたファイルはアプリケーション環境内、例えばアプリケーション312またはアプリケーション320の中で開封されている。
【0021】
図4は、リモーティングセッションを通じたファイル開封要求に応答してクライアントマシン108のファイル開封エンジン109が実行する方法のステップを示している。この方法はステップ410から始まる。ステップ410では、ファイル開封エンジン109は、リモーティングセッションを通じてファイル開封要求を受け取る(例えば、ユーザがコンテキストメニュー213または223を通じてそのようにするオプションを選択した場合)。次いで、ステップ412において、ファイル開封エンジン109は、そのファイルが、ファイル同期サーバ180を通じてユーザのすべてのデバイス間でその内容が自動的に同期される共有フォルダ220等の共有同期フォルダの中にあるのか、またはファイル212等のようにそうでないのかを判断する。ファイルが共有同期ファイルの中にないとファイル開封エンジン109が判断すると、ステップ418においてファイルが共有同期フォルダの中に移動またはコピーされてから、ステップ420が実行される。それ以外の場合にはステップ418は飛ばされる。
【0022】
ステップ420において、ファイルの開封要求がファイルのメタデータと共に共有ファイル内に(例えば、共有の隠し同期フォルダ内にXMLファイルとして)保存される。ファイルのメタデータは、ファイル名、ファイルパス、ファイルサイズ、およびファイル作成タイムスタンプが含まれる。詳しくは後述するように、この情報は、仮想マシン内で実行中のファイル開封エージェント167によって、クライアントマシン108が閲覧および編集のためにリモートでアクセスする仮想マシンの中に含まれるアプリケーション内でファイルを開く際に使用される。
【0023】
ステップ422において、ファイル開封エンジン109は、クライアントマシン108にログインしたユーザに永続的または非永続的定仮想マシンが割り当てられているか否かを判断する。「永続的」仮想マシンとは、本明細書での使用においては、ユーザに割り当てられた特定の仮想マシンであって、そのユーザの選好およびインストールされたアプリケーションを永続的に維持する仮想マシンを意味する。永続的仮想マシンがユーザに割り当てられている場合、ステップ424において、ファイル開封エンジン109は、閲覧または編集のためにそのファイルを開封可能なアプリケーションがそのユーザの仮想マシンにインストールされているか否かを判断する。この判断は、ユーザの仮想マシンにインストールされているアプリケーションに関して更新される共有ファイル(例えば、共有の隠し同期フォルダ内のXMLファイル)を通じて行われてもよい。閲覧または編集のためにそのファイルを開封可能なアプリケーションがそのユーザの仮想マシンにインストールされていない場合、ステップ426でエラーメッセージが戻されて、処理が終了する。一方、閲覧または編集のためにそのファイルを開封可能なアプリケーションがそのユーザの仮想マシンにインストールされている場合には、後述のステップ432が実行される。
【0024】
クライアントマシン108にログインしたユーザに非永続的仮想マシンが割り当てられている場合には、ステップ428において、共有の隠し同期フォルダの中の、例えばXMLファイルの中に保存された、複数の仮想マシンに関する情報がアクセスされ、ユーザの仮想マシンとしての選択の可能性が分析される。次に、ステップ430において、ユーザの仮想デスクトップまたはアプリケーションセッションをホストする仮想マシンが選択される。この選択は、閲覧または編集のためにファイルを開くことのできるアプリケーションがインストールされている仮想マシンの中から行われる。仮想マシンが選択されると、ステップ432が実行される。
【0025】
ステップ432において、ファイル開封エンジン109は、シングルサインオン方式の一環として、ユーザ認証情報を接続ブローカ137に送信する。これについての詳細は、2010年11月4日に出願された「リモートユーザセッションのためのシングルサインオン(Single Sign On For a Remote User Session)」と題する米国特許出願第12/939,817号明細書に詳しく記載されており、同出願の全内容を参照によって本願に援用する。接続ブローカ137はユーザ認証情報が適正であるか否かを判断し、このステップ434での決定に応じて、ファイル開封エンジン109は処理を進める。ユーザ認証情報が適正であると判断されると、ユーザはその仮想マシン(これは、ユーザの永続的仮想マシンであっても、ステップ430で選択されたものであってもよい)にログインされ、ファイル開封エンジン109は、クライアントマシン108内の仮想デスクトップまたはアプリケーションクライアントを起動して、その仮想マシンでのリモーティングセッションを確立し、その仮想マシンにより閲覧および編集のために開かれていたファイルを表示する(ステップ436)。理解すべき点として、図4に示される、ステップ410のファイル開封要求以降のステップは、ユーザがそれ以上入力せずにプログラムにより実行される。その結果、ユーザは、そのファイルが、そのユーザのコンピューティングデバイスにインストールされている何れのアプリケーションによってもサポートされていない形式のファイルであっても、閲覧および編集のためにファイルをシームレスに開くことができる。
【0026】
ステップ434において、ユーザ認証情報が適正であると判断されなかった場合、ステップ438でエラーメッセージが戻され、処理が終了する。
図5は、仮想マシン165のファイル開封エージェント167がユーザログインに応答して実行する方法のステップを示している。ステップ510でのユーザログインは、ファイル開封エージェント167による残りのステップの実行をトリガする。ステップ514において、ファイル開封エージェント167は、ユーザにより作成された共有ファイル(例えば、上述のステップ420で作製されたXMLファイル)にアクセスして、共有ファイルを調べ、「最近」のファイル開封要求があるか否か判断する。一実施形態では、リモーティングセッションを通じてユーザにシームレスなファイル開封プロセスを提供することを目的としているため、ファイル開放エージェント167は、1分よりも古い要求を無視する。この時間の長さは環境要求に応じてカスタム化できる。ステップ516において、ファイル開封要求が古すぎるとファイル開封エージェント167が判断した場合、仮想デスクトップは通常の方法で起動される(ステップ518)。反対に、最近のファイル開封要求がある場合、ステップ520が実行される。一つの実施形態において、ファイル開封要求が古すぎるか否かの判断は、ファイル作成タイムスタンプを調べ、それを現在時刻と比較することによって行われる。
【0027】
ステップ520で、ファイル開封エージェント167は、ファイル開封要求と共に保存されたファイルメタデータを調べて、ファイル開封要求の対象であるファイルのファイル名とファイル位置を特定し、仮想マシン内に保存されているそのファイルの内容が同期された状態であるか(すなわち、そのファイルについてなされたすべての永続的更新が仮想マシン内に永続的に保存されているか)を判断する。そうでなければ、ファイル開封エージェント167は、ステップ522でしばらく待機して、再びチェックする。仮想マシン内のファイルが同期されると、ファイル開封エージェント167は、ステップ524で、そのファイルを閲覧および編集のために開くことのできるアプリケーションを起動する。ファイルがマイクロソフト・ビジオ(登録商標)ファイルである例において、マイクロソフト・ビジオ(登録商標)のアプリケーションがステップ524で開封される。アプリケーションが起動されると、ステップ526で、ファイル開封エージェント167はそのアプリケーション内でファイルを開封する。
【0028】
ステップ526とステップ528との間の破線の矢印は、ファイル開封エージェント167と、仮想マシン内で実行しているリモーティングサーバプロセスとの間の制御の移行を示している。ステップ528,530は、リモーティングサーバプロセスによって実行される。ステップ528において、クライアントマシン108に送信されるアプリケーション環境の表示が生成される。図3Aおよび3Bに関して上述したように、この表示は、仮想デスクトップディスプレイを含んでいてもよいし、含んでいなくてもよい。リモートデスクトップセッションがクライアントマシン108内で起動されると、表示は、仮想デスクトップディスプレイを含むように生成される。一方、リモートアプリケーションセッションがクライアントマシン108内で起動されると、表示は、仮想デスクトップディスプレイのない状態で生成される。ステップ530で、生成された表示がクライアントマシン108に送信される。
【0029】
ユーザがログインした仮想マシンがファイル同期エンジン166を持たない一実施形態では、ファイル開封エージェント167は、ステップ514において、自動的にファイル同期サーバ180の記憶部183と通信して、上述のステップ420で作製されたXMLファイルにアクセスし、ステップ516において、「最近」のファイル開封要求があるか否かを確認する。次に、ステップ520において、ファイル開封エージェント167は、ファイル開封要求と共に保存されたファイルメタテータを調べて、ファイル開封要求の対象であるファイルのファイル名とファイル位置を特定し、その後、ステップ524に進む前に、このファイルの内容を仮想マシンにコピーする。
【0030】
本明細書で説明した各種の実施形態は、コンピュータシステムに保存されたデータが関わる各種のコンピュータ実装動作を利用してよい。例えば、これらの動作は、物理的数量の物理的操作を必要とするかもしれず、通常、必ずではないが、これらの数量は、電気的または磁気的信号の形態をとってもよく、これらまたはそれを表現したものが保存、転送、複合、比較、またはその他の方法で操作される。さらに、このような操作はしばしば、例えば生成、特定、判断、また比較という用語で表される。本明細書に記載された、本発明の1つまたは複数の実施形態の一部を成す動作は、有益な機械動作であってもよい。これに加えて、本発明の1つまたは複数の実施形態は、この動作を実行するためのデバイスまたは装置にも関する。装置は、特定の要求された目的のために構築されてもよく、あるいは、コンピュータ内に保存されたコンピュータプログラムにより選択的に作動または構成される汎用コンピュータであってもよい。特に、各種の汎用マシンは、本明細書の教示に従って書かれたコンピュータプログラムと共に使用されてもよく、あるいは、必要な動作を実行するために、より専門化された装置を構成するほうが好都合である場合がある。
【0031】
本明細書に記載される各種の実施形態は、ハンドヘルドデバイス、マイクロプロセッサシステム、マイクロプロセッサベースの、またはプログラム可能な民生用電子機器、マイクロコンピュータ、メインフレームコンピュータ、およびその他をはじめとするコンピュータシステムでも実施できる。
【0032】
本発明の1つまたは複数の実施形態は、1つまたは複数のコンピュータ読取可能媒体に具現化された1つまたは複数のコンピュータプログラムとして、あるいは1つまたは複数のコンピュータプログラムモジュールとして実装することができる。ここで、コンピュータ読取可能媒体とは、コンピュータシステムに入力できるデータを保存しうるあらゆるデータ記憶デバイスを指す。コンピュータ読取可能媒体は、コンピュータプログラムをコンピュータが読み取れるような方法で具現化するための、いずれかの既存の、または今後開発される技術に基づいていてもよい。コンピュータ読取可能媒体の例としては、ハードドライブ、ネットワークアタッチトストレージ(NAS)、リードオンリメモリ、ランダムアクセスメモリ(例えば、フラッシュメモリデバイス)、CD、例えばCD−ROM、CD−R、またはCD−RW、DVD、磁気テープ、ならびにその他の光および光以外のデータ記憶デバイスが含まれる。コンピュータ読取可能媒体はまた、ネットワークで連結されたコンピュータシステム上に分散させて、コンピュータ読取可能コードが分散された状態で保存、実行されてもよい。
【0033】
本発明の1つまたは複数の実施形態を理解しやすいように詳しく説明したが、特許請求の範囲内で特定の変更や改変を加えることができる点は明らかである。したがって、記載された実施形態は、例示的であって、限定的と考えるべきではなく、特許請求の範囲は本明細書に記載された詳細な内容に限定されるべきではなく、特許請求の範囲とその均等物の範囲内で変更可能である。特許請求の範囲において、要素および/またはステップは、特許請求の範囲内に別段の明確な記載がない限り、何れの特定の動作順序も黙示していない。
【0034】
各種の実施形態による仮想システムはホストされた実施形態、ホストされていない実施形態、またはこれら2つの間の区別が不明瞭になる実施形態でも実装でき、すべて想定される。さらに、各種の仮想化動作は、全体または部分的にハードウェアで実装されてもよい。例えば、ハードウェアの実装は、ディスク以外のデータを保護するために、ストレージアクセス要求の調整のためにルックアップテーブルを利用してもよい。
【0035】
仮想化の程度に関しては、多くの変更、改変、追加、または改良が可能である。したがって、仮想化ソフトウェアは、仮想化機能を実行するホスト、コンソール、またはゲストオペレーティングシステムの構成要素を含むことができる。本明細書に記載された構成要素、動作、または構造について、複数の例が1つの例として示されている場合もある。最後に、各種の構成要素、動作、およびデータストア間の境界は、幾分任意であり、特定の動作が特定の例示的な構成に関して説明されている。その他の機能分配も想定され、本発明の範囲に含まれる。一般に、例示的な実施形態において別の構成要素として示された構造と機能は、組み合わされた構造または構成要素として実装されてもよい。同様に、単独のコンポーネントとして示された構造と機能は、別々の構成要素として実装されてもよい。これら、およびその他の変更、改変、追加、改良も、特許請求の範囲内に包含される。
図1
図2
図3
図4
図5