(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-08-17
(54)【発明の名称】クライアントデバイスへリンクされた電力管理を備えたデスクトップ仮想化
(51)【国際特許分類】
G06F 9/455 20060101AFI20220809BHJP
【FI】
G06F9/455 150
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2021572943
(86)(22)【出願日】2020-06-04
(85)【翻訳文提出日】2021-12-08
(86)【国際出願番号】 US2020036054
(87)【国際公開番号】W WO2021021282
(87)【国際公開日】2021-02-04
(32)【優先日】2019-07-29
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】508045099
【氏名又は名称】シトリックス・システムズ・インコーポレイテッド
【氏名又は名称原語表記】Citrix Systems,Inc.
(74)【代理人】
【識別番号】110001243
【氏名又は名称】弁理士法人谷・阿部特許事務所
(72)【発明者】
【氏名】フアン シー.リベラ
(57)【要約】
コンピュータシステムは、クライアントデバイスをオン/オフ状態の間で変更するための物理的な電力制御入力を含むクライアントデバイスと、仮想マシンを実行している仮想サーバとを含み、クライアントデバイスは仮想マシンの1つにアクセスする。コンピュータシステムは、クライアントデバイスおよび仮想サーバとインターフェースして、クライアントデバイスをクライアントデバイスによってアクセスされている仮想マシンにマッピングし、物理的な電力制御入力の選択に基づいて、クライアントデバイスから少なくとも1つの電力制御信号を受信する、コンピューティングプラットフォームを含む。コンピューティングプラットフォームは、受信された少なくとも1つの電力制御信号および仮想マシンにマッピングされているクライアントデバイスに応答して、クライアントデバイスのオン/オフ状態の変更と一致するように、仮想マシンのオン/オフ状態の変更を開始し、仮想マシンを再起動する。
【特許請求の範囲】
【請求項1】
クライアントデバイスをオン/オフ状態の間で変更するための物理的な電力制御入力を含む前記クライアントデバイスと、
仮想マシンの1つに前記クライアントデバイスがアクセスしており、複数の仮想マシンを実行するように構成されている仮想サーバと、
前記クライアントデバイスおよび前記仮想サーバとインターフェースし、
前記クライアントデバイスを前記クライアントデバイスによってアクセスされている前記仮想マシンにマッピングし、
前記物理的な電力制御入力の選択に基づいて、少なくとも1つの電力制御信号を前記クライアントデバイスから受信し、
前記受信した少なくとも1つの電力制御信号および前記仮想マシンにマッピングされている前記クライアントデバイスに応答して、前記クライアントデバイスの前記オン/オフ状態の変更と一致するように、前記仮想マシンのオン/オフ状態の変更を開始し、前記仮想マシンを再起動する、
ように構成された、コンピューティングプラットフォームと、
を備えた、コンピュータシステム。
【請求項2】
前記受信した少なくとも1つの電力制御信号は、第1および第2の電力制御信号を含み、前記仮想マシンは前記第1の電力制御信号に基づいてオン状態からオフ状態に変更され、前記第2の電力制御信号に基づいてオン状態に戻り、その結果、前記仮想マシンが前記クライアントデバイスと共に再起動する、請求項1に記載のコンピュータシステム。
【請求項3】
前記物理的な電力制御入力は押しボタンを含み、前記押しボタンは設定された期間押され、その結果、前記少なくとも1つの電力制御信号が単一の電力制御信号となり、前記仮想マシンは、前記単一の電力制御信号に基づいて、オン状態からオフ状態に変更され、オン状態に戻り、その結果、前記仮想マシンが前記クライアントデバイスと共に再起動する、請求項1に記載のコンピュータシステム。
【請求項4】
前記コンピューティングプラットフォームは、前記仮想マシンがオン/オフ状態を変更されたときに、前記クライアントデバイスに通知し、前記クライアントデバイスおよび前記仮想マシンが同じ前記オン/オフ状態を有することを確実にする、請求項1に記載のコンピュータシステム。
【請求項5】
前記コンピューティングプラットフォームは、
前記マッピングを実行する前に前記クライアントデバイスを登録し、前記少なくとも1つの電力制御信号を前記クライアントデバイスから受信するように構成されたエンドポイント管理サーバと、
前記少なくとも1つの電力制御信号を前記エンドポイント管理サーバから受信し、前記仮想マシンの前記オン/オフ状態の変更を開始するように構成されたブローカーサーバと、
を含む、請求項1に記載のコンピュータシステム。
【請求項6】
前記複数の仮想マシンは複数の仮想コンピューティングセッションを提供し、前記クライアントデバイスは、前記仮想コンピューティングセッションの1つにアクセスしており、前記仮想サーバは、前記複数の仮想マシンを管理し、前記受信した少なくとも1つの電力制御信号および前記仮想マシンにマッピングされている前記クライアントデバイスに応答して、前記仮想コンピューティングセッションを前記クライアントデバイスに提供する前記仮想マシンの前記オン/オフ状態を変更するように、構成された少なくとも1つのハイパーバイザをさらに含む、請求項1に記載のコンピュータシステム。
【請求項7】
前記コンピューティングプラットフォームはクラウドベースである、請求項1に記載のコンピュータシステム。
【請求項8】
前記クライアントデバイスはシンクライアントデバイスとして構成されている、請求項1に記載のコンピュータシステム。
【請求項9】
少なくとも1つのメモリおよび前記少なくとも1つのメモリと協調する少なくとも1つのプロセッサとを備え、
クライアントデバイスを前記クライアントデバイスによってアクセスされている仮想マシンにマッピングし、前記クライアントデバイスは前記クライアントデバイスをオン/オフ状態の間で変更するための物理的な電力制御入力を含み、
前記物理的な電力制御入力の選択に基づいて、少なくとも1つの電力制御信号を前記クライアントデバイスから受信し、
前記受信した少なくとも1つの電力制御信号および前記仮想マシンにマッピングされている前記クライアントデバイスに応答して、前記クライアントデバイスの前記オン/オフ状態の変更と一致するように、前記仮想マシンのオン/オフ状態の変更を開始し、前記仮想マシンを再起動する、
ように構成された、コンピューティングプラットフォーム。
【請求項10】
前記受信した少なくとも1つの電力制御信号は、第1および第2の電力制御信号を含み、前記仮想マシンは前記第1の電力制御信号に基づいてオン状態からオフ状態に変更され、前記第2の電力制御信号に基づいてオン状態に戻り、その結果、前記仮想マシンが前記クライアントデバイスと共に再起動する、請求項9に記載のコンピューティングプラットフォーム。
【請求項11】
前記物理的な電力制御入力は押しボタンを含み、前記押しボタンは設定された期間押され、その結果、前記少なくとも1つの電力制御信号が単一の電力制御信号となり、前記仮想マシンは前記単一の電力制御信号に基づいて、オン状態からオフ状態に変更され、オン状態に戻り、その結果、前記仮想マシンが前記クライアントデバイスと共に再起動する、請求項9に記載のコンピューティングプラットフォーム。
【請求項12】
前記少なくとも1つのプロセッサは、前記仮想マシンがオン/オフ状態を変更されたときに、前記クライアントデバイスに通知し、前記クライアントデバイスおよび前記仮想マシンが同じ前記オン/オフ状態を有することを確実にする、請求項9に記載のコンピューティングプラットフォーム。
【請求項13】
前記少なくとも1つのプロセッサは第1および第2のプロセッサを含み、前記少なくとも1つのメモリは第1および第2のメモリを含み、
前記第1のプロセッサおよび前記第1のメモリは、前記マッピングを実行する前に前記クライアントデバイスを登録し、前記少なくとも1つの電力制御信号を前記クライアントデバイスから受信するように構成されたエンドポイント管理サーバを形成するように構成されており、
前記第2のプロセッサおよび前記第2のメモリは、前記少なくとも1つの電力制御信号を前記エンドポイント管理サーバから受信し、前記仮想マシンの前記オン/オフ状態の変更を開始するように構成されたブローカーサーバを形成するように構成されている、
請求項9に記載のコンピューティングプラットフォーム。
【請求項14】
前記少なくとも1つのメモリおよび前記少なくとも1つのプロセッサはクラウドベースである、請求項9に記載のコンピューティングプラットフォーム。
【請求項15】
前記クライアントデバイスはシンクライアントデバイスとして構成されている、請求項9に記載のコンピューティングプラットフォーム。
【請求項16】
クライアントデバイスを前記クライアントデバイスによってアクセスされている仮想マシンにマッピングすることであって、前記クライアントデバイスは前記クライアントデバイスをオン/オフ状態の間で変更するための物理的な電力制御入力を含む、ことと、
前記物理的な電力制御入力の選択に基づいて、少なくとも1つの電力制御信号を前記クライアントデバイスから受信することと、
前記受信した少なくとも1つの電力制御信号および前記仮想マシンにマッピングされている前記クライアントデバイスに応答して、前記クライアントデバイスの前記オン/オフ状態の変更と一致するように、前記仮想マシンのオン/オフ状態の変更を開始し、前記仮想マシンを再起動することと、
を含む、方法。
【請求項17】
前記受信した少なくとも1つの電力制御信号は、第1および第2の電力制御信号を含み、前記仮想マシンは前記第1の電力制御信号に基づいてオン状態からオフ状態に変更され、前記第2の電力制御信号に基づいてオン状態に戻り、その結果、前記仮想マシンが前記クライアントデバイスと共に再起動する、請求項16に記載の方法。
【請求項18】
前記物理的な電力制御入力は押しボタンを含み、前記押しボタンは設定された期間押され、その結果、前記少なくとも1つの電力制御信号が単一の電力制御信号であり、前記仮想マシンは、前記単一の電力制御信号に基づいて、オン状態からオフ状態に変更され、オン状態に戻り、その結果、前記仮想マシンが前記クライアントデバイスと共に再起動するように、請求項16に記載の方法。
【請求項19】
前記仮想マシンがオン/オフ状態を変更したときに、前記クライアントデバイスに通知し、前記クライアントデバイスおよび前記仮想マシンが同じ前記オン/オフ状態を有することを確実にすることと、をさらに含む、請求項16に記載の方法。
【請求項20】
前記クライアントデバイスはシンクライアントデバイスとして構成されている、請求項16に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、デスクトップの仮想化に関し、より詳細には、仮想デスクトップの電力管理に関する。
【背景技術】
【0002】
いくつかの異なるタイプのデスクトップ仮想化システムがある。一例として、仮想デスクトップインフラストラクチャ(VDI)は、サーバ上に存在する仮想マシン内部でユーザデスクトップを実行する処理を指し、仮想マシンが仮想コンピューティングセッションを提供する。そのようなシステム中のサーバは、仮想デスクトップイメージおよびシステム構成情報、ならびに仮想デスクトップを与え、ユーザがそれらに相互接続することを可能にするソフトウェア構成要素のためのストレージを含み得る。たとえば、VDIサーバは、複数の仮想マシンを作成し、維持するための1つまたは複数のハイパーバイザ(すなわち、仮想マシンマネージャ)と、ハイパーバイザを管理するためのソフトウェアと、接続ブローカーと、仮想デスクトップをプロビジョニングし、管理するためのソフトウェアとを含み得る。
【0003】
デスクトップ仮想化システムは、サーバグリッドとして相互接続された単一の仮想化サーバまたはサーバの組み合わせを使用して実装され得る。たとえば、クラウドコンピューティング環境、またはクラウドシステムは、コンピューティングリソース(たとえば、デスクトップ仮想化サーバ)、ストレージディスク、ネットワークハードウェア、および、クラウドシステムの管理および顧客ポータルを提供する追加のコンピューティングデバイスとともに、仮想デスクトップのプロビジョニングに使用され得るその他の物理リソースのプールを含み得る。
【発明の概要】
【0004】
コンピュータシステムは、クライアントデバイスをオン/オフ状態の間で変更するための物理的な電力制御入力を含むクライアントデバイスと、仮想マシンの1つにクライアントデバイスがアクセスしており、複数の仮想マシンを実行する仮想サーバと、を含む。コンピュータシステムはさらに、クライアントデバイスおよび仮想サーバとインターフェースするコンピューティングプラットフォームを含む。コンピューティングプラットフォームは、クライアントデバイスをクライアントデバイスによってアクセスされている仮想マシンにマッピングし、物理的な電力制御入力の選択に基づいて、少なくとも1つの電力制御信号をクライアントデバイスから受信し、受信した少なくとも1つの電力制御信号および仮想マシンにマッピングされているクライアントデバイスに応答して、クライアントデバイスのオン/オフ状態の変更と一致するように、仮想マシンのオン/オフ状態の変更を開始し、仮想マシンを再起動する。
【0005】
受信した少なくとも1つの電力制御信号は第1および第2の電力制御信号を含み得、仮想マシンは第1の電力制御信号に基づいてオン状態からオフ状態に変更し、第2の電力制御信号に基づいてオン状態に戻り、その結果、仮想マシンがクライアントデバイスと共に再起動する。
【0006】
物理的な電力制御入力は押しボタンを含み得、押しボタンは設定された期間押され、その結果、少なくとも1つの電力制御信号が単一の電力制御信号となり、仮想マシンは、単一の電力制御信号に基づいて、オン状態からオフ状態に変更され、オン状態に戻り、その結果、仮想マシンがクライアントデバイスと共に再起動する。
【0007】
コンピューティングプラットフォームは、仮想マシンがオン/オフ状態を変更されたときに、クライアントデバイスに通知し、クライアントデバイスおよび仮想マシンが同じオン/オフ状態を有することを確実にし得る。
【0008】
コンピューティングプラットフォームはエンドポイント管理サーバおよびブローカーサーバを含み得る。エンドポイント管理サーバはマッピングを実行する前にクライアントデバイスを登録し得、少なくとも1つの電力制御信号をクライアントデバイスから受信する。ブローカーサーバは少なくとも1つの電力制御信号をエンドポイント管理サーバから受信し得、仮想マシンのオン/オフ状態の変更を開始する。
【0009】
複数の仮想マシンは複数の仮想コンピューティングセッションを提供し、クライアントデバイスは、仮想コンピューティングセッションの1つにアクセスしている。仮想サーバは、複数の仮想マシンを管理し、受信した少なくとも1つの電力制御信号および仮想マシンにマッピングされているクライアントデバイスに応答して、仮想コンピューティングセッションをクライアントデバイスに提供する仮想マシンのオン/オフ状態を変更するように、構成された少なくとも1つのハイパーバイザをさらに含み得る。
【0010】
コンピューティングプラットフォームはクラウドベースであり得る。クライアントデバイスはシンクライアントデバイスとして構成され得る。
【0011】
別の態様は、少なくとも1つのメモリおよび少なくとも1つのメモリと協調する少なくとも1つのプロセッサとを備えたコンピューティングプラットフォームを対象とする。少なくとも1つのプロセッサは、クライアントデバイスをクライアントデバイスによってアクセスされている仮想マシンにマッピングするように構成され得、クライアントデバイスはクライアントデバイスをオン/オフ状態の間で変更するための物理的な電力制御入力を含む。少なくとも1つのプロセッサは、物理的な電力制御入力の選択に基づいて、少なくとも1つの電力制御信号をクライアントデバイスから受信し、受信した少なくとも1つの電力制御信号および仮想マシンにマッピングされているクライアントデバイスに応答して、クライアントデバイスのオン/オフ状態の変更と一致するように、仮想マシンのオン/オフ状態の変更を開始し、仮想マシンを再起動し得る。
【0012】
さらに別の態様は、クライアントデバイスをクライアントデバイスによってアクセスされている仮想マシンにマッピングすることであって、クライアントデバイスはクライアントデバイスをオン/オフ状態の間で変更するための物理的な電力制御入力を含む、ことと、物理的な電力制御入力の選択に基づいて、少なくとも1つの電力制御信号をクライアントデバイスから受信することと、を含むコンピューティングプラットフォームを動作させる方法を対象とする。方法はさらに、受信した少なくとも1つの電力制御信号および仮想マシンにマッピングされているクライアントデバイスに応答して、クライアントデバイスのオン/オフ状態の変更と一致するように、仮想マシンのオン/オフ状態の変更を開始し、仮想マシンを再起動することと、を含み得る。
【図面の簡単な説明】
【0013】
【
図1】本開示の様々な態様が実装され得るコンピューティングデバイスのネットワーク環境の概略ブロック図である。
【
図2】
図1に示したクライアントマシンまたはリモートマシンの一実施形態を実施するために有用なコンピューティングデバイスの概略ブロック図である。
【
図3】本開示の様々な態様が実装され得るクラウドコンピューティング環境の概略ブロック図である。
【
図4】本開示の様々な態様が実装され得る作業領域アプリを動作させるデスクトップ、モバイル、およびウェブベースのデバイスの概略ブロック図である。
【
図5】本開示の様々な態様が実装され得るコンピューティングデバイスの作業領域ネットワーク環境の概略ブロック図である。
【
図6】クライアントデバイスに対するデスクトップ仮想化に、本開示の様々な態様が実装され得る仮想マシンにリンクされた電力管理を提供するコンピュータシステムの概略ブロック図である。
【
図7】
図6に示されるコンピュータシステムを動作させるための方法を示すフローチャートである。
【
図8】
図6に示されるクラウドコンピューティングサービスを動作させるための方法を示すフローチャートである。
【発明を実施するための形態】
【0014】
本説明は、例示的な実施形態が示される添付の図面を参照しながら行われる。しかしながら、多くの異なる実施形態が使用され得、したがって、説明は、本明細書に記載の特定の実施形態に限定されると解釈すべきではない。むしろ、本開示が周到で、完全になるようにこれらの実施形態は提供される。同じ番号は、全体にわたって同じ要素を指す。
【0015】
以下で説明されるように、組織または企業は、物理デスクトップを、仮想サーバ上で実行されている仮想デスクトップにアクセスするクライアントデバイスと置き換えている。一部のユーザの物理デスクトップからデスクトップ仮想化への移行は、ユーザが依然として物理デスクトップを使用しているかのように感じるローカルエクスペリエンスに近づくほどスムーズである。
【0016】
たとえば、物理デスクトップを仮想デスクトップにアクセスするクライアントデバイスと置き換える場合、課題の1つは、仮想デスクトップを実行している仮想マシンを再起動する能力である。物理デスクトップを再起動するために、ユーザが物理デスクトップの電力制御入力を選択して、電力をオフにし再びオンにすることは、直感的である。
【0017】
オペレーティングシステムまたはハードウェアドライバが動作を停止した場合、再起動が必要である。たとえば、グラフィックドライバがクラッシュして、オペレーティングシステムがフリーズすることを引き起こし得る。もう1つの例は、誤動作状態でスタックし得るソフトウェアコードである。再起動は物理デスクトップが最初から起動し、すべてのソフトウェアが再起動され、したがって、以前と同じように動作するであろう。
【0018】
しかしながら、ユーザが仮想デスクトップを再起動することは直感的ではない。デスクトップ仮想化では、ユーザがクライアントデバイスの電力制御入力を選択して、電力をオフにし再びオンにすると、クライアントデバイスのみが再起動される。仮想デスクトップを実行している仮想マシンを再起動するために、ユーザは仮想デスクトップのメニューまたはツールバーからリセットを選択する必要がある。多くの場合、ユーザはこのオプションに気づかず、情報技術(IT)管理者へ安易に連絡して再起動を実行する。実際、ユーザからIT管理者への最も一般的な要求の1つは、仮想デスクトップを再起動することである。
【0019】
上記の既存の仮想化技術に関する問題を解決するために、本開示は、クライアントデバイスを再起動するアクションが仮想デスクトップにリンクされるシステム、デバイス、および方法を説明する。これはユーザに対して、クライアントデバイスと仮想デスクトップが同一であるという錯覚を作り出す。仮想デスクトップの再起動を実行するために、ユーザはクライアントデバイスで物理的な電力制御入力を選択してオン/オフ状態を変更し、次いで、対応する電力管理制御が仮想サーバに提供され、その結果、仮想デスクトップを提供する仮想マシンがクライアントデバイスと同じオン/オフ状態に変更される。
【0020】
最初に
図1を参照すると、本開示の様々な態様が実装され得る非限定的なネットワーク環境10は、コンピューティング環境10内に設置される1つまたは複数のクライアントマシン12A~12Nと、1つまたは複数のリモートマシン16A~16Nと、1つまたは複数のネットワーク14、14’と、1つまたは複数の機器18とを含む。クライアントマシン12A~12Nは、ネットワーク14、14’を介してリモートマシン16A~16Nと通信する。
【0021】
いくつかの実施形態では、クライアントマシン12A~12Nは、中間機器18を介してリモートマシン16A~16Nと通信する。図示された機器18は、ネットワーク14とネットワーク14’との間に配置され、ネットワークインターフェースまたはゲートウェイと呼ばれることもある。いくつかの実施形態では、機器108は、データセンター中に展開されるか、クラウドで展開されるか、もしくはクライアントデバイスの範囲にわたってサービスとしてのソフトウェア(SaaS)として配信されるビジネスアプリケーションおよび他のデータへのアクセスをクライアントに与えるためにアプリケーション配信コントローラ(ADC)として動作し、ならびに/または負荷分散などの他の機能を与え得る。いくつかの実施形態では、複数の機器18が使用され得、機器18は、ネットワーク14および/または14’の一部として展開され得る。
【0022】
クライアントマシン12A~12Nは、一般に、クライアントマシン12、ローカルマシン12、クライアント12、クライアントノード12、クライアントコンピュータ12、クライアントデバイス12、コンピューティングデバイス12、エンドポイント12、またはエンドポイントノード12と呼ばれることがある。リモートマシン16A~16Nは、一般に、サーバ16またはサーバファーム16と呼ばれることがある。いくつかの実施形態では、クライアントデバイス12は、サーバ16によって与えられたリソースへのアクセスを求めるクライアントノードと、他のクライアントデバイス12A~12Nのためのホストされたリソースへのアクセスを与えるサーバ16との両方として機能する能力を有し得る。複数のネットワーク14、14’は、一般に、1つのネットワーク14として参照されることがある。ネットワーク14は、ワイヤードおよびワイヤレスネットワークの任意の組合せで構成され得る。
【0023】
サーバ16は、たとえば、ファイルサーバ、アプリケーションサーバ、ウェブサーバ、プロキシサーバ、機器、ネットワーク機器、ゲートウェイ、アプリケーションゲートウェイ、ゲートウェイサーバ、仮想化サーバ、展開サーバ、Secure Sockets Layerバーチャルプライベートネットワーク(SSL VPN)サーバ、ファイアウォール、ウェブサーバ、アクティブディレクトリを実行するサーバ、クラウドサーバ、またはファイアウォール機能、アプリケーション機能、もしくは負荷分散機能を与えるアプリケーション加速プログラムを実行するサーバなどの任意のサーバタイプであり得る。
【0024】
サーバ16は、ソフトウェア、プログラム、実行可能命令、仮想マシン、ハイパーバイザ、ウェブブラウザ、ウェブベースのクライアント、クライアントサーバアプリケーション、シンクライアントコンピューティングクライアント、ActiveXコントロール、Javaアプレット、ソフトIP電話のようなボイスオーバーインターネットプロトコル(VoIP)通信に関係するソフトウェア、ストリーミングビデオおよび/もしくはオーディオのためのアプリケーション、リアルタイムデータ通信を容易にするためのアプリケーション、HTTPクライアント、FTPクライアント、Oscarクライアント、Telnetクライアント、または実行可能命令の任意の他のセットのうちのいずれか1つであり得るアプリケーションを実行し、動作させ、または与え得る。
【0025】
いくつかの実施形態では、サーバ16は、サーバ16上で実行されるアプリケーションによって生成された表示出力をキャプチャし、クライアントデバイス12にアプリケーションの表示出力を送信するためにシンクライアントまたはリモートディスプレイプロトコルを使用するリモート提示サービスプログラムまたは他のプログラムを実行し得る。
【0026】
また他の実施形態では、サーバ16は、クライアントデバイス12のユーザに、コンピューティング環境へのアクセスを与える仮想マシンを実行し得る。クライアントデバイス12は、仮想マシンであり得る。たとえば、仮想マシンは、ハイパーバイザ、仮想マシンマネージャ(VMM)、またはサーバ16内の任意の他のハードウェア仮想化技法によって管理され得る。
【0027】
いくつかの実施形態では、ネットワーク14は、ローカルエリアネットワーク(LAN)、メトロポリタンエリアネットワーク(MAN)、ワイドエリアネットワーク(WAN)、1次公衆ネットワーク14、および1次プライベートネットワーク14であり得る。追加の実施形態は、モバイルデバイスの間で通信するために様々なプロトコルを使用する携帯電話網のネットワーク14を含み得る。ワイヤレスローカルエリアネットワーク(WLAN)内の短距離通信のために、プロトコルは、802.11と、Bluetoothと、近距離通信(NFC)とを含み得る。
【0028】
図2は、クライアントデバイス12、機器18および/またはサーバ16の実施形態を実施するのに有用なコンピューティングデバイス20のブロック図を示す。コンピューティングデバイス20は、1つまたは複数のプロセッサ22と、揮発性メモリ24(たとえば、ランダムアクセスメモリ(RAM))と、不揮発性メモリ30と、ユーザインターフェース(UI)38と、1つまたは複数の通信インターフェース26と、通信バス48とを含む。
【0029】
不揮発性メモリ30は、1つもしくは複数のハードディスクドライブ(HDD)または他の磁気もしくは光学記憶媒体、フラッシュドライブもしくは他の固体記憶媒体などの1つもしくは複数のソリッドステートドライブ(SSD)、1つもしくは複数のハイブリッド磁気およびソリッドステートドライブ、ならびに/またはクラウドストレージなどの1つもしくは複数の仮想ストレージボリューム、またはそのような物理ストレージボリュームと仮想ストレージボリュームもしくはそれのアレイとの組合せを含み得る。
【0030】
ユーザインターフェース38は、グラフィカルユーザインターフェース(GUI)40(たとえば、タッチスクリーン、ディスプレイなど)と、1つまたは複数の入出力(I/O)デバイス42(たとえば、マウス、キーボード、マイクロフォン、1つまたは複数のスピーカ、1つまたは複数のカメラ、1つまたは複数の生体スキャナ、1つまたは複数の環境センサ、および1つまたは複数の加速度計など)とを含み得る。
【0031】
不揮発性メモリ30は、オペレーティングシステム32と、1つまたは複数のアプリケーション34と、データ36とを記憶し、したがって、たとえば、オペレーティングシステム32および/またはアプリケーション34のコンピュータ命令は、揮発性メモリ24の外でプロセッサ22によって実行される。いくつかの実施形態では、揮発性メモリ24は、1つもしくは複数のタイプのRAMおよび/またはメインメモリよりも速い応答時間を提供し得るキャッシュメモリを含み得る。データは、GUI40の入力デバイスを使用して入力されるか、またはI/Oデバイス42から受信され得る。コンピュータ20の様々な要素は、通信バス48を介して通信し得る。
【0032】
図示されたコンピューティングデバイス20は、単に例示的なクライアントデバイスまたはサーバとして示されており、本明細書で説明されるように動作することが可能な好適なハードウェアおよび/またはソフトウェアを有し得る任意のタイプのマシンまたはマシンのセットをもつ任意の計算または処理環境によって実装され得る。
【0033】
プロセッサ22は、システムの機能を実行するためにコンピュータプログラムなどの1つまたは複数の実行可能命令を実行するために1つまたは複数のプログラマブルプロセッサによって実装され得る。本明細書で使用する「プロセッサ」という用語は、機能、動作、または一連の動作を実行する回路を表す。機能、動作、または一連の動作は、回路にハードコードされるか、またはメモリデバイス中に保持され、回路によって実行される命令としてソフトコードされ得る。プロセッサは、デジタル値を使用しておよび/またはアナログ信号を使用して機能、動作、または一連の動作を実行し得る。
【0034】
いくつかの実施形態では、プロセッサは、1つまたは複数の特定用途向け集積回路(ASIC)、マイクロプロセッサ、デジタル信号プロセッサ(DSP)、グラフィックス処理ユニット(GPU)、マイクロコントローラ、フィールドプログラマブルゲートアレイ(FPGA)、プログラム可能論理アレイ(PLA)、マルチコアプロセッサ、または関連メモリをもつ汎用コンピュータで実施され得る。
【0035】
プロセッサ22は、アナログ、デジタルまたは混合信号であり得る。いくつかの実施形態では、プロセッサ22は、1つもしくは複数の物理プロセッサ、または1つもしくは複数の仮想(たとえば、遠隔に位置するもしくはクラウド)プロセッサであり得る。複数のプロセッサコアを含むプロセッサおよび/または複数のプロセッサは、命令の並列、同時実行のための機能、または2つ以上のデータに対する1つの命令の並列、同時実行のための機能を与え得る。
【0036】
通信インターフェース26は、コンピューティングデバイス20が移動電話接続を含む様々なワイヤードおよび/またはワイヤレス接続を通してローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、パーソナルエリアネットワーク(PAN)、またはインターネットなどのコンピュータネットワークにアクセスすることを可能にするために1つまたは複数のインターフェースを含み得る。
【0037】
説明される実施形態では、コンピューティングデバイス20は、クライアントデバイスのユーザに代わってアプリケーションを実行し得る。たとえば、コンピューティングデバイス20は、ハイパーバイザによって管理される1つまたは複数の仮想マシンを実行し得る。各仮想マシンは、ホストされたデスクトップセッションなど、アプリケーションがユーザまたはクライアントデバイスに代わって実行する実行セッションを与え得る。コンピューティングデバイス20はまた、ホストされたデスクトップ環境を与えるために端末サービスセッションを実行し得る。コンピューティングデバイス20は、1つまたは複数のアプリケーションと、1つまたは複数のデスクトップアプリケーションと、1つまたは複数のアプリケーションが実行し得る1つまたは複数のデスクトップセッションとを含むリモートコンピューティング環境へのアクセスを与え得る。
【0038】
例示的な仮想化サーバ16は、Florida州Fort LauderdaleのCitrix Systems,Inc.(「Citrix Systems」)によって与えられるCitrix Hypervisorを使用して実装され得る。仮想アプリおよびデスクトップセッションは、さらに、同じくCitrix SystemsからのCitrix Virtual Apps and Desktops(CVAD)によって与えられ得る。Citrix Virtual Apps and Desktopsは、スケーラブルなVDI解決策を実装するオプションに加えて、任意のデバイスからの仮想アプリ、デスクトップ、およびデータセッションを含む仮想セッションへのユニバーサルアクセスを用いて生産性を向上させるアプリケーション仮想化解決策である。仮想セッションは、たとえば、サービスとしてのソフトウェア(SaaS)セッションとサービスとしてのデスクトップ(DaaS)セッションとをさらに含み得る。
【0039】
図3を参照すると、クラウド環境、クラウドコンピューティングまたはクラウドネットワークと呼ばれることもあるクラウドコンピューティング環境50が示されている。クラウドコンピューティング環境50は、複数のユーザまたはテナントに共有コンピューティングサービスおよび/またはリソースの配信を与えることができる。たとえば、共用リソースおよびサービスは、限定はしないが、ネットワークと、ネットワーク帯域幅と、サーバと、処理と、メモリと、ストレージと、アプリケーションと、仮想マシンと、データベースと、ソフトウェアと、ハードウェアと、分析と、インテリジェンスとを含むことができる。
【0040】
クラウドコンピューティング環境50では、(上記で説明されたような)1つまたは複数のクライアント52A~52Cがクラウドネットワーク54と通信している。クラウドネットワーク54は、バックエンドプラットフォーム、たとえば、サーバ、ストレージ、サーバファームまたはデータセンターを含み得る。ユーザまたはクライアント52A~52Cは、単一の団体/テナントまたは複数の団体/テナントに対応することができる。より詳細には、例示的な一実装形態では、クラウドコンピューティング環境50は、単一の団体をサービスするプライベートクラウド(たとえば、エンタープライズクラウド)を与え得る。別の例では、クラウドコンピューティング環境50は、複数の団体/テナントをサービスするコミュニティまたはパブリッククラウドを与え得る。またさらなる実施形態では、クラウドコンピューティング環境50は、パブリッククラウドとプライベートクラウドとの組合せであるハイブリッドクラウドを与え得る。パブリッククラウドは、クライアント52A~52Cまたは企業/テナントに対してサードパーティによって維持される公開サーバを含み得る。サーバは、遠く離れた地理的ロケーションに離れて位置し得る。
【0041】
クラウドコンピューティング環境50は、異なる物理および仮想リソースがそれぞれの環境内での異なる需要に応答して動的に割り当てられ、再び割り当てられる状態でマルチテナント環境またはマルチテナントモデルを通してクライアント52A~52Cを介して複数のユーザをサービスするためにリソースプーリングを与えることができる。マルチテナント環境は、複数のユーザをサービスするためにソフトウェアの単一のインスタンス、アプリケーションまたはソフトウェアアプリケーションを与えることができるシステムまたはアーキテクチャを含むことができる。いくつかの実施形態では、クラウドコンピューティング環境50は、複数のクライアント52A~52Cのためのネットワークにわたって計算能力(たとえば、サーバ時間、ネットワークストレージ)を単方向にプロビジョニングするためにオンデマンドのセルフサービスを与えることができる。クラウドコンピューティング環境50は、1つまたは複数のクライアント52からの異なる需要に応答して動的にスケールアウトかまたはスケールインする弾性を与えることができる。いくつかの実施形態では、コンピューティング環境50は、与えられた共有サービスおよびリソースに対応する報告を監視、制御および/または生成するために監視サービスを含むかまたは与えることができる。
【0042】
いくつかの実施形態では、クラウドコンピューティング環境50は、たとえば、サービスとしてのソフトウェア(SaaS)56、サービスとしてのプラットフォーム(PaaS)58、サービスとしてのインフラストラクチャ(IaaS)60、およびサービスとしてのデスクトップ(DaaS)62などの異なるタイプのクラウドコンピューティングサービスのクラウドベースの配信を与え得る。IaaSは、ユーザが指定された時間期間中に必要とされるインフラストラクチャリソースの使用をレンタルすることを指すことがある。IaaSプロバイダは、大きいプールからストレージ、ネットワーキング、サーバまたは仮想化リソースを提供し、必要に応じてより多くのリソースにアクセスすることによってユーザが迅速にスケールアップすることを可能にし得る。IaaSの例は、Washington州SeattleのAmazon.com,Inc.によって与えられるAMAZON WEB SERVICES、Texas州San AntonioのRackspace US,Inc.によって与えられるRACKSPACE CLOUD、California州Mountain ViewのGoogle Inc.によって与えられるGoogle Compute Engine、またはCalifornia州Santa BarbaraのRightScale,Inc.によって与えられるRIGHTSCALEを含む。
【0043】
PaaSプロバイダは、たとえば、ストレージ、ネットワーキング、サーバまたは仮想化を含むIaaSによって与えられる機能ならびにたとえば、オペレーティングシステム、ミドルウェア、またはランタイムリソースなどの追加のリソースを提供し得る。PaaSの例は、Washington州RedmondのMicrosoft Corporationによって与えられるWINDOWS AZUREと、Google Inc.によって与えられるGoogle App Engineと、California州San FranciscoのHeroku,Inc.によって与えられるHEROKUとを含む。
【0044】
SaaSプロバイダは、ストレージ、ネットワーキング、サーバ、仮想化、オペレーティングシステム、ミドルウェア、またはランタイムリソースを含むPaaSが与えるリソースを提供し得る。いくつかの実施形態では、SaaSプロバイダは、たとえば、データおよびアプリケーションリソースを含む追加のリソースを提供し得る。SaaSの例は、Google Inc.によって与えられるGOOGLE APPS、California州San FranciscoのSalesforce.com Inc.によって与えられるSALESFORCE、またはMicrosoft Corporationによって与えられるOFFICE 365を含む。SaaSの例はまた、データストレージプロバイダ、たとえばCalifornia州San FranciscoのDropbox,Inc.によって与えられるDROPBOX、Microsoft Corporationによって与えられるMicrosoft SKYDRIVE、Google Inc.によって与えられるGoogle Drive、またはCalifornia州CupertinoのApple Inc.によって与えられるApple ICLOUDを含み得る。
【0045】
SaaSと同様に、(ホストされたデスクトップサービスとしても知られる)DaaSは、仮想デスクトップセッションが仮想デスクトップ上で使用されるアプリとともにクラウドサービスとして一般に配信される仮想デスクトップインフラストラクチャ(VDI)の形態である。Citrix Cloudは、DaaS配信プラットフォームの一例である。DaaS配信プラットフォームは、たとえば、Washington州RedmondのMicrosoft CorporationからのAZURE CLOUD(本明細書では「Azure」)、またはWashington州SeattleのAmazon.com,Inc.によって与えられるAMAZON WEB SERVICES(本明細書では「AWS」)などのパブリッククラウドコンピューティングインフラストラクチャ上でホストされ得る。Citrix Cloudの場合、Citrix Workspaceアプリは、統一されたエクスペリエンスを提供するために(構内上にあるのかまたはクラウド中にあるのかにかかわらず)アプリ、ファイルおよびデスクトップを一緒にするための単一のエントリポイントとして使用され得る。
【0046】
次に、Citrix Workspaceアプリによって与えられる統一エクスペリエンスが、
図4を参照しながらより詳細に説明される。本明細書では、Citrix Workspaceアプリを概して作業領域アプリ70と呼ぶことにする。作業領域アプリ70は、ユーザがそれらの作業領域リソースにどのようにアクセスするのかであり、それの1つのカテゴリはアプリケーションである。これらのアプリケーションは、SaaSアプリ、ウェブアプリまたは仮想アプリである。作業領域アプリ70はまた、ローカルデスクトップまたは仮想デスクトップであり得るそれらのデスクトップへのアクセスをユーザに与える。さらに、作業領域アプリ70は、多数のリポジトリ中に記憶され得るそれらのファイルおよびデータへのアクセスをユーザに与える。ファイルおよびデータは、Citrix ShareFile上にホストされるか、オンプレミスネットワークファイルサーバ上にホストされるか、または、たとえば、Microsoft OneDriveもしくはGoogle Drive Boxなどの何らかの他のクラウドストレージプロバイダ中にホストされ得る。
【0047】
統一エクスペリエンスを与えるために、ユーザが要求するリソースのすべては、作業領域アプリ70に位置し、それからアクセス可能であり得る。作業領域アプリ70は、異なるバージョンで与えられる。作業領域アプリ70の1つのバージョンは、Windows、MacまたはLinuxプラットフォームに基づき得るデスクトップ72のためのインストールされたアプリケーションである。作業領域アプリ70の第2のバージョンは、iOSまたはAndroidプラットフォームに基づき得るモバイルデバイス74のためのインストールされたアプリケーションである。作業領域アプリ70の第3のバージョンは、それらの作業領域環境へのユーザアクセスを与えるためにハイパーテキストマークアップ言語(HTML)ブラウザを使用する。作業領域アプリ70のウェブバージョンは、ユーザが作業領域アプリをインストールしたいと望まないか、または公衆ブース76を動作させるときなど、作業領域アプリをインストールする権利を有しないときに使用される。
【0048】
作業領域アプリ70のこれらの異なるバージョンの各々は、有利には、同じユーザエクスペリエンスを与え得る。これは、有利には、ユーザが異なるプラットフォームのクライアントデバイス72からクライアントデバイス74に、次いで、クライアントデバイス76に移動し、依然としてそれらの作業領域のために同じユーザエクスペリエンスを受けることを可能にする。クライアントデバイス72、74および76は、エンドポイントと呼ばれる。
【0049】
上記のように、作業領域アプリ70は、Windows、Mac、Linux、iOS、およびAndroidプラットフォームならびにHTMLブラウザ(HTML5)を用いるプラットフォームをサポートする。作業領域アプリ70は、多数のタイプのアプリおよびデータリソースへのユーザアクセスを可能にする複数のエンジン80~90を組み込む。各エンジン80~90は、特定のリソースのためのユーザエクスペリエンスを最適化する。各エンジン80~90はまた、ユーザアクティビティおよび潜在的なセキュリティ脅威への洞察を団体または企業に与える。
【0050】
埋め込まれたブラウザエンジン80は、局所的にインストールされ、管理されていないブラウザ上でそれらを起動する代わりにSaaSおよびウェブアプリを作業領域アプリ70内に含まれた状態にしておく。埋め込まれたブラウザを用いて、作業領域アプリ70は、SaaSおよびウェブアプリ中のユーザ選択されたハイパーリンクをインターセプトし、アクセスを承認、拒否、または隔離する前にリスク分析を要求することが可能である。
【0051】
高品位エクスペリエンス(HDX)エンジン82は、WindowsまたはLinuxオペレーティングシステムのいずれかの上で実行する仮想ブラウザ、仮想アプリおよびデスクトップセッションへの接続を確立する。HDXエンジン82を用いて、WindowsおよびLinuxリソースは、ディスプレイはローカルのまま、エンドポイント上でリモートに実行する。考えられる最高のユーザエクスペリエンスを与えるために、HDXエンジン82は、変化するネットワーク状態およびアプリケーション要件に適応するために異なる仮想チャネルを利用する。高いレイテンシまたは高いパケットロスのネットワークを克服するために、HDXエンジン82は、最適化されたトランスポートプロトコルおよびより優れた圧縮アルゴリズムを自動的に実装する。各アルゴリズムは、ビデオ、画像またはテキストなどのあるタイプの表示のために最適化される。HDXエンジン82は、アプリケーション中のこれらのタイプのリソースを識別し、スクリーンのそのセクションに最も適切なアルゴリズムを適用する。
【0052】
多くのユーザにとって、作業領域は、データに重点を置く。コンテンツコラボレーションエンジン84は、そのデータがオンプレミスにあるのかまたはクラウドにあるのかにかかわらずユーザが作業領域にすべてのデータを統合することを可能にする。コンテンツコラボレーションエンジン84は、管理者およびユーザが会社およびユーザに固有のデータ記憶ロケーションへのコネクタのセットを作成することを可能にする。これは、たとえば、OneDrive、Dropbox、およびオンプレミスのネットワークファイル共有を含むことができる。ユーザは、複数のリポジトリ中にファイルを維持し、作業領域アプリ70が単一の個人用のライブラリにそれらを統合することを可能にすることができる。
【0053】
ネットワーキングエンジン86は、エンドポイントまたはエンドポイント上のアプリがセキュアなバックエンドリソースへのネットワーク接続性を必要とするのか否かを識別する。ネットワーキングエンジン86は、エンドポイントデバイス全体のための完全なVPNトンネルを自動的に確立することができるか、またはそれは、アプリ固有のμ-VPN接続を作成することができる。μ-VPNは、アプリケーションおよびエンドポイントデバイスが何のバックエンドリソースにアクセスすることができるのかを定義し、このようにして、バックエンドインフラストラクチャを保護する。多くの場合、いくつかのユーザアクティビティは、一意のネットワークベースの最適化から恩恵を受ける。ユーザがファイルコピーを要求する場合、作業領域アプリ70は、活動をより高速に完了するために同時に複数のネットワーク接続を自動的に利用することができる。ユーザがVoIP呼を開始する場合、作業領域アプリ70は、複数のネットワーク接続にわたって呼を複製することによってそれの品質を改善する。ネットワーキングエンジン86は、最初に到着するパケットのみを使用する。
【0054】
分析エンジン88は、ユーザのデバイス上で、ロケーションおよび挙動を報告し、ここで、クラウドベースのサービスは、盗まれたデバイス、ハッキングされた識別情報または会社を辞める準備をしているユーザの結果である可能性がある任意の潜在的な異常を識別する。分析エンジン88によって収集された情報は、対策を自動的に実装することによって会社の資産を保護する。
【0055】
管理エンジン90は、作業領域アプリ70を最新に保つ。これは、最新の能力をユーザに与えるだけでなく、追加のセキュリティ拡張をも含む。作業領域アプリ70は、カスタマイズ可能なポリシーに基づいて更新を日常的にチェックし、自動的に展開する自動更新サービスを含む。
【0056】
次に
図5を参照すると、作業領域アプリ70に基づいてユーザに統一エクスペリエンスを与える作業領域ネットワーク環境100が説明される。デスクトップ、モバイルおよびウェブバージョンの作業領域アプリ70はすべて、Citrix Cloud104内で実行する作業領域エクスペリエンスサービス102と通信する。作業領域エクスペリエンスサービス102は、次いで、リソースフィードマイクロサービス108を介してすべての異なるリソースフィード16を引き込む。すなわち、Citrix Cloud104中で実行する他のサービスからの異なるすべてのリソースは、リソースフィードマイクロサービス108によって引き込まれる。異なるサービスは、仮想アプリおよびデスクトップサービス110と、セキュアなブラウザサービス112と、エンドポイント管理サービス114と、コンテンツコラボレーションサービス116と、アクセス制御サービス118とを含み得る。団体または企業がサブスクライブする任意のサービスは、作業領域エクスペリエンスサービス102に自動的に引き込まれ、ユーザの作業領域アプリ70に配信される。
【0057】
クラウドフィード120に加えて、リソースフィードマイクロサービス108は、オンプレミスフィード122を引き込むことができる。クラウドコネクタ124は、オンプレミスのデータセンター中で実行している仮想アプリおよびデスクトップ展開を与えるために使用される。デスクトップの仮想化は、たとえば、Citrix仮想アプリおよびデスクトップ126、Microsoft RDS128またはVMware Horizon130によって与えられ得る。クラウドフィード120およびオンプレミスフィード122に加えて、たとえば、モノのインターネット(IoT)デバイス134からのデバイスフィード132が、リソースフィードマイクロサービス108によって引き込まれ得る。サイトアグリゲーションは、異なるリソースをユーザの全体的な作業領域エクスペリエンスに結びつけるために使用される。
【0058】
クラウドフィード120と、オンプレミスフィード122と、デバイスフィード132との各々は、異なる一意のタイプのアプリケーションをユーザの作業領域エクスペリエンスに与える。作業領域エクスペリエンスは、ローカルアプリ、SaaSアプリ、仮想アプリ、およびデスクトップブラウザアプリ、ならびにストレージアプリをサポートすることができる。フィードは増加し、拡張し続けるので、作業領域エクスペリエンスは、ユーザの全体的な作業領域中に追加のリソースを含めることが可能である。これは、ユーザが、それらがアクセスする必要があるすべてのアプリケーションに達することが可能になることを意味する。
【0059】
作業領域ネットワーク環境20をさらに参照すると、一連のイベントについて統一エクスペリエンスがユーザにどのように与えられるのかに関して説明する。統一エクスペリエンスは、Citrix Cloud104内で実行する作業領域エクスペリエンスサービス102に接続するためにユーザが作業領域アプリ70を使用し、それらの識別情報を提示することで開始する(イベント1)。識別情報は、たとえば、ユーザ名とパスワードとを含む。
【0060】
作業領域エクスペリエンスサービス102は、Citrix Cloud104内の識別情報マイクロサービス140にユーザの識別情報を転送する(イベント2)。識別情報マイクロサービス140は、団体の作業領域構成に基づいて正しいアイデンティティプロバイダ142にユーザを認証する(イベント3)。認証は、クラウドコネクタ146の展開を必要とするオンプレミスアクティブディレクトリ144に基づき得る。認証はまた、Azure Active Directory148、さらには、たとえば、Citrix ADCまたはOktaなどのサードパーティのアイデンティティプロバイダ150に基づき得る。
【0061】
認証されると、作業領域エクスペリエンスサービス102は、リソースフィードマイクロサービス108に認可されたリソースのリストを要求する(イベント4)。構成されたリソースフィード106ごとに、リソースフィードマイクロサービス108は、シングルサインマイクロサービス152に識別情報トークンを要求する(イベント5)。
【0062】
リソースフィード固有の識別情報トークンは、各リソースの認証のポイントにパスされる(イベント6)。オンプレミスリソース122は、Citrix Cloud Connector124を通して接触される。各リソースフィード106は、それぞれの識別情報のために認証されたリソースのリストで返答する(イベント7)。
【0063】
リソースフィードマイクロサービス108は、異なるリソースフィード106からのすべてのアイテムをアグリゲートし、作業領域エクスペリエンスサービス102に転送する(イベント8)。ユーザは、作業領域エクスペリエンスサービス102からリソースを選択する(イベント9)。
【0064】
作業領域エクスペリエンスサービス102は、リソースフィードマイクロサービス108に要求を転送する(イベント10)。リソースフィードマイクロサービス108は、シングルサインオンマイクロサービス152に識別情報トークンを要求する(イベント11)。ユーザの識別情報トークンは、作業領域エクスペリエンスサービス102に送られ、ここで起動チケットが生成されユーザに送られる(イベント12)。
【0065】
ユーザは、ゲートウェイサービス160へのセキュアなセッションを開始し、起動チケットを提示する(イベント13)。ゲートウェイサービス160は、適切なリソースフィード106へのセキュアなセッションを開始し、ユーザをシームレスに認証するために識別情報トークンを提示する(イベント14)。セッションが初期化すると、ユーザは、リソースを利用することが可能になる(イベント15)。単一のアクセスポイントまたはアプリケーションを通して作業領域全体を配信させることは、有利には、ユーザのための生産性を改善し、共通のワークフローを合理化する。
【0066】
ここで
図6を参照すると、物理デスクトップをデスクトップ仮想化に置き換える際の課題の1つは、仮想コンピューティングセッション230(1)をクライアントデバイス210に提供する仮想マシン232(1)を再起動する能力である。たとえば、オペレーティングシステムまたはハードウェアドライバが動作を停止した場合、再起動が必要である。グラフィックドライバがクラッシュしてオペレーティングシステムがフリーズすることを引き起こし得る、またはソフトウェアコードが誤動作状態でスタックし得る。再起動は、仮想マシン232(1)が最初から起動し、すべてのソフトウェアが再起動され、したがって、以前と同じように動作するであろう。
【0067】
物理デスクトップから仮想マシン232(1)の1つにアクセスするクライアントデバイス210に移行するユーザにとって、ユーザが仮想デスクトップメニューまたはツールバーからリセットを選択することは直感的ではない可能性がある。クラウドコンピューティングサービス260を介してクライアントデバイス210から仮想マシン232(1)に電力管理制御をリンクすることにより、仮想マシン232(1)は、クライアントデバイス210が再起動されると同時に再起動される。
【0068】
物理デスクトップからデスクトップ仮想化へのユーザの移行は、ユーザが依然として物理デスクトップを使用しているかのように感じるローカルエクスペリエンスに近づくほどスムーズである。このケースでは、クライアントデバイス210上の電力制御入力212は、仮想マシン232(1)にリンクしている。これはユーザに対して、クライアントデバイス210と仮想マシン232(1)が同一であるという錯覚を有利に作り出す。
【0069】
クライアントデバイス210は、たとえば、スマートフォン、タブレットコンピュータ、ラップトップコンピュータ、デスクトップコンピュータであり得る。さらに、クライアントデバイス210は、シンクライアントであり得る。シンクライアントは、たとえばRaspberry Piによって提供されるシングルボードコンピュータをベースにしているため、非常にコンパクトである。シングルボードコンピュータは通常、統合されたAdvanced RISC Machines(ARM)互換の中央処理装置(CPU)とオンチップグラフィックス処理装置(GPU)を備えたシステムオンチップ(SoC)である。シンクライアントは、コストが低いため、大企業および組織にとって魅力的である。
【0070】
図示のコンピュータシステム200は、クライアントデバイス210、仮想サーバ220、ならびにクライアントデバイス210および仮想サーバ220とインターフェースするクラウドコンピューティングサービス260を含む。仮想サーバ220はまたサーバと呼ばれる得、クラウドコンピューティングサービス260はまた、コンピューティングプラットフォームまたはコンピューティングデバイスと呼ばれ得る。コンピュータシステム200を単純化するために、1つのクライアントデバイス210および1つの仮想サーバ220のみが示されている。しかしながら、追加のクライアントデバイス210および仮想サーバ220は、必要に応じて提供され得る。
【0071】
クライアントデバイス210は、クライアントデバイス210をオン/オフ状態の間で変更するための物理的な電力制御入力212を含む。物理的な電力制御入力212は、たとえば、押しボタンまたはトグルスイッチであり得る。仮想サーバ220は、複数の仮想コンピューティングセッション230(1)~230(N)を提供する複数の仮想マシン232(1)~232(N)を実行するように構成され、クライアントデバイス210は、仮想マシン230(1)の1つにアクセスする。仮想マシン232(1)~232(N)は概して、仮想マシン232と呼ばれ得る。仮想コンピューティングセッション230(1)~230(N)は概して、仮想コンピューティングセッション230と呼ばれ得る。
【0072】
クラウドコンピューティングサービス260は、クライアントデバイス210をクライアントデバイス210によってアクセスされている仮想マシン232(1)にマッピングし、物理的な電力制御入力212の選択に基づいて、クライアントデバイス210から少なくとも1つの電力制御信号を受信するように構成される。したがって、電力管理制御はクラウドコンピューティングサービス260によって仮想サーバ220に提供される。クラウドコンピューティングサービス260は、受信された少なくとも1つの電力制御信号および仮想マシン232(1)にマッピングされているクライアントデバイス210に応答して、クライアントデバイス210のオン/オフ状態の変更と一致するように、仮想マシン232(1)のオン/オフ状態の変更を開始し、仮想マシン232(1)を再起動する。
【0073】
受信された少なくとも1つの電力制御信号は、第1および第2の電力制御信号を含み得る。これは、物理的な電力制御入力212がオフ状態に置かれ、その後、オン状態に戻ることに基づいている。その結果、仮想マシン232(1)は第1の電力制御信号に基づいてオン状態からオフ状態に変更され、次いで第2の電力制御信号に基づいてオン状態に戻り、その結果、仮想マシン232(1)がクライアントデバイス210と共に再起動する。仮想マシン232(1)の状態は、クライアントデバイス210の状態にマッピングされている。
【0074】
上記のように、物理的な電力制御入力210は押しボタンであり得る。仮想マシン232(1)の再起動を開始するために、押しボタンは、選択中に設定された期間押される。設定された期間は、たとえば、数秒以上であり得る。これは少なくとも1つの電力制御信号が単一の電力制御信号となることを引き起こし、仮想マシン232(1)は単一の電力制御信号に基づいて、オン状態からオフ状態に変更され、オン状態に戻り、その結果、仮想マシン232(1)がクライアントデバイス210と共に再起動する。ここでも、仮想マシン232(1)の状態は、クライアントデバイス210の状態にマッピングされている。
【0075】
クラウドコンピューティングサービス260は、仮想マシン232(1)がオン/オフ状態を変更されたときにクライアントデバイス210に通知し、クライアントデバイス210および仮想マシン232(1)が同じオン/オフ状態を有することを確実にする。仮想マシン232(1)の電力制御はクライアントデバイス210にマッピングされ、その結果、クライアントデバイス210がオン/オフ状態を変更される場合、次いで、仮想マシン232(1)も同じオン/オフ状態に変更される。同様に、クライアントデバイス210が再起動されると、次いで、仮想マシン232(1)が再起動される。
【0076】
クラウドコンピューティングサービス260は、仮想コンピューティングセッション230が通常クラウドサービスとして提供される仮想デスクトップインフラストラクチャ(VDI)を提供する。クラウドコンピューティングサービス260はまた、コンピューティングプラットフォームまたはコンピューティングデバイスと呼ばれ得る。特に、クラウドコンピューティングサービス260は、エンドポイント管理サーバ242を含むエンドポイント管理プラットフォーム240と、ブローカーサーバ252を含む仮想アプリおよびデスクトッププラットフォーム250とを含む。
【0077】
エンドポイント管理プラットフォーム240はクライアントデバイス210を管理し、これはエンドポイントと呼ばれる。クライアントデバイス210を管理するための1つの例示的なアーキテクチャは、Citrix Systems、Incによって提供されるCitrixエンドポイント管理(CEM)である。ユーザがクライアントデバイス210にログインすると、クライアントデバイス210は、エンドポイント管理サーバ242に登録する。エンドポイント管理サーバ242は少なくとも1つのプロセッサおよびそれと協調する少なくとも1つのメモリを含む。クライアントデバイス210が登録されると、エンドポイント管理サーバ242はクライアントデバイス210を構成し、管理者によって定義されたポリシーを実装する。
【0078】
クライアントデバイス210はまた、エンドポイント管理サーバ242によって認証される。認証の一部として、クライアント証明書がクライアントデバイス210にインストールされる。クライアント証明書は、仮想サーバ220がクライアントデバイス210を信用することを可能にする。エンドポイント管理プラットフォーム240は、クラウドサービス構成として利用可能である。クライアントデバイス210を管理するための他の適切なプラットフォームは様々な実施形態で使用され得る。
【0079】
仮想アプリおよびデスクトッププラットフォーム250は、クライアントデバイス210が仮想コンピューティングセッション230(1)を起動することを可能にする。アーキテクチャの例の1つは、Citrix Systems IncのCitrix Virtual Apps and Desktops(CVAD)によって提供される。CVADは、様々なクライアントデバイス210から仮想アプリおよびサーバベースのデスクトップにユニバーサルアクセスすることで生産性を最適化するのを支援するアプリケーション仮想化プラットフォームである。CVADは、Citrix Virtual Appsと同様の機能に加えて、スケーラブルな仮想デスクトップインフラストラクチャ(VDI)を実装するオプションを、すべて備えている。Citrix Virtual Apps / CVADは、クラウドサービスまたはオンプレミス構成として利用可能である。仮想デスクトップおよび仮想アプリを提供するための他の適切なプラットフォームは様々な実施形態で使用され得る。
【0080】
ブローカーサーバ252は、クライアントデバイス210がアクセスを許可される仮想デスクトップおよび仮想アプリを決定し、およびどの仮想マシン232(1)がクライアントデバイス210によってアクセスされる仮想コンピューティングセッション230(1)をホストするべきかを決定する。ブローカーサーバ252は、少なくとも1つのプロセッサおよびそれと協調する少なくとも1つのメモリを含む。加えて、ブローカーサーバ252は、仮想マシン232(1)の電力管理を実行する。
【0081】
クライアントデバイス210が、どの仮想マシン230(1)がブローカーサーバ252によって割り当てられているかを知ると、エンドポイント管理サーバ242は、クライアントデバイス210をクライアントデバイス210によってアクセスされている同じ仮想マシン232(1)にマッピングすることが可能である。マッピングは、物理的な電力制御入力212の選択に基づいて、電力制御信号をどこに送信するかについてのロードマップを提供する。
【0082】
仮想マシン232(1)がクライアントデバイス210上の物理的な電力制御入力212にリンクされるために、エンドポイント管理サーバ242とブローカーサーバ252との間のリンクが提供される。このリンクは、ブローカーサーバ252がエンドポイント管理サーバ242から中継された少なくとも1つの電力制御信号を受信することを可能にする。ブローカーサーバ252は、次いで、受信された少なくとも1つの電力制御信号および仮想マシン232(1)にマッピングされているクライアントデバイス210に応答して、クライアントデバイス210のオン/オフ状態の変更と一致するように、仮想マシン232(1)のオン/オフ状態の変更を開始し、仮想マシン232(1)を再起動する。
【0083】
ブローカーサーバ252は、仮想マシン232(1)がオン/オフ状態を変更されたときにエンドポイント管理サーバ242に通知して、クライアントデバイス210と仮想マシン232(1)が同期し、同じオン/オフ状態を有することを確実にする。クライアントデバイス210のユーザが、物理的な電力制御入力212を選択して、クライアントデバイス210をオン状態からオフ状態に変更し、次いで、オン状態に戻して再起動を開始する場合、同様の機能がクライアントデバイス210によってアクセスされている仮想マシン232(1)上で実行されている。
【0084】
エンドポイント管理サーバ242がブローカーサーバ252と接続して、クライアントデバイス210からの電力制御入力信号を中継することに伴い、ここでクライアントデバイス210は仮想マシン232(1)にリンクされる。クライアントデバイス210のユーザがクライアントデバイス210上の物理的な電力制御入力212を選択して再起動を開始すると、仮想マシン232(1)の再起動も実行される。
【0085】
ここで、ブローカーサーバ252から仮想サーバ220への電力管理制御が説明される。仮想コンピューティングセッション230(1)~230(N)を提供する仮想サーバ220は、データセンター215内にあり得る。データセンター215のサイズに応じて、単一の仮想サーバ220またはサーバグリッドとして相互接続された仮想サーバ220の組み合わせが存在し得る。それらのユーザにデスクトップ仮想化システムを提供するために、組織が頼り得るいくつかのクラウドサービスプロバイダーがある。例示的なクラウドサービスプロバイダーは、Microsoft AzureおよびAmazon WebServicesを含む。
【0086】
仮想サーバ220は、複数の仮想コンピューティングセッション230(1)~230(N)を提供する複数の仮想マシン232(1)~232(N)を含む。複数の仮想配信エージェント234(1)~234(N)は、複数の仮想マシン232(1)~232(N)に関連付けられている。仮想配信エージェント234(1)~234(N)は、概して仮想配信エージェント234と呼ばれ得る。各クライアントデバイス210は、ブローカーサーバ252によって割り当てられた仮想マシン232および対応する仮想配信エージェント234を有するであろう。
【0087】
仮想配信エージェント232は仮想サーバ220で実行されている仮想マシン232にインストールされたソフトウェアである。仮想マシン232は仮想コンピューティングセッション230を提供し、仮想配信エージェント234は仮想コンピューティングセッション230をクライアントデバイス210にリモートで利用可能にする。仮想配信エージェント234は、たとえば、Citrix仮想配信エージェント(VDA)であり得る。
【0088】
仮想サーバ220は、仮想マシン232を作成および実行するための少なくとも1つのハイパーバイザ236を含む。ハイパーバイザはまた、仮想マシンモニタ(VMM)と呼ばれ得る。仮想サーバ220がブローカーサーバ252から電力管理制御を受信すると、ハイパーバイザ236によって受信される。ハイパーバイザ236は、クライアントデバイス210によってアクセスされている仮想コンピューティングセッション230を提供する特定の仮想マシン232にオン/オフ状態を変更するように指示する機能を有する。したがって、ブローカーサーバ252は、どの仮想マシン234を再起動するかをハイパーバイザ236に指示する。
【0089】
ここで
図7を参照し、コンピュータシステム200を動作させるための方法を示すフローチャート300が説明される。開始(ブロック302)から、この方法は、ブロック304でクライアントデバイス210をエンドポイント管理サーバ242に登録することを含む。ブロック306で、ブローカーサーバ252はどの仮想マシン232(1)がクライアントデバイス210によってアクセスされるべきかを決定するために動作する。ブロック308で、エンドポイント管理サーバ242はクライアントデバイス210を仮想マシン232(1)にマッピングする。
【0090】
クライアントデバイス210は、ブロック310で仮想マシン232(1)にアクセスする。クライアントデバイス210上の物理的な電力制御入力212がユーザによって選択されたかどうかについての決定は、決定ブロック312で行われる。物理的な電力制御入力212が選択されていない場合、次いで、方法はブロック310にループバックし、クライアントデバイス210は仮想マシン232(1)へのアクセスを継続する。
【0091】
物理的な電力制御入力212がユーザによって選択された場合、次いで、エンドポイント管理サーバ242は、ブロック314でクライアントデバイス210から少なくとも1つの電力制御信号を受信する。エンドポイント管理サーバ242は、ブロック316で、少なくとも1つの電力制御信号をブローカーサーバ252に中継する。ブローカーサーバ252は、ブロック318で、受信された少なくとも1つの電力制御信号および仮想マシン232(1)にマッピングされているクライアントデバイス210に応答して、クライアントデバイス210のオン/オフ状態の変更と一致するように、仮想マシン232(1)のオン/オフ状態の変更を開始し、仮想マシン232(1)を再起動する。方法はブロック320で終了する。
【0092】
ここで
図8を参照し、コンピュータシステム200内でクラウドコンピューティングサービス260またはコンピューティングプラットフォームを動作させるための方法を示すフローチャート400が説明される。開始(ブロック402)から、この方法は、ブロック402で、クライアントデバイス210を仮想マシン232(1)にマッピングするクラウドコンピューティングサービス260を含む。クラウドコンピューティングサービス260は、ブロック404でクライアントデバイス210から少なくとも1つの電力制御信号を受信する。クラウドコンピューティングサービス260は、ブロック406で、受信された少なくとも1つの電力制御信号および仮想マシン232(1)にマッピングされているクライアントデバイス210に応答して、クライアントデバイス210のオン/オフ状態の変更と一致するように、仮想マシン232(1)のオン/オフ状態の変更を開始し、仮想マシン232(1)を再起動する。方法はブロック408で終了する。
【0093】
上記の開示を読めば当業者なら理解するように、本明細書で説明される様々な態様は、デバイス、方法またはコンピュータプログラム製品(たとえば、言及される動作またはステップを実行するためのコンピュータ実行可能命令を有する非一時的コンピュータ可読媒体)として実施され得る。相応して、それらの態様は、完全なハードウェア実施形態、完全なソフトウェア実施形態、またはソフトウェアおよびハードウェア態様を組み合わせた実施形態の形態をとり得る。
【0094】
さらに、そのような態様は、記憶媒体中にまたはそれの上に組み込まれたコンピュータ可読プログラムコードまたは命令を有する1つまたは複数のコンピュータ可読記憶媒体によって記憶されたコンピュータプログラム製品の形態をとり得る。ハードディスク、CD-ROM、光ストレージデバイス、磁気ストレージデバイス、および/またはそれらの任意の組み合わせを含む任意の好適なコンピュータ可読記憶媒体が利用され得る。
【0095】
上記の説明および関連する図面で提示する教示の利益を有する当業者は、多くの変更および他の実施形態を思い浮かぶであろう。したがって、上記は、例示的な実施形態に限定されるべきではなく、変更および他の実施形態が、添付の特許請求の範囲に含まれることを理解されたい。
【手続補正書】
【提出日】2022-03-29
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】0021
【補正方法】変更
【補正の内容】
【0021】
いくつかの実施形態では、クライアントマシン12A~12Nは、中間機器18を介してリモートマシン16A~16Nと通信する。図示された機器18は、ネットワーク14とネットワーク14’との間に配置され、ネットワークインターフェースまたはゲートウェイと呼ばれることもある。いくつかの実施形態では、機器18は、データセンター中に展開されるか、クラウドで展開されるか、もしくはクライアントデバイスの範囲にわたってサービスとしてのソフトウェア(SaaS)として配信されるビジネスアプリケーションおよび他のデータへのアクセスをクライアントに与えるためにアプリケーション配信コントローラ(ADC)として動作し、ならびに/または負荷分散などの他の機能を与え得る。いくつかの実施形態では、複数の機器18が使用され得、機器18は、ネットワーク14および/または14’の一部として展開され得る。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0056
【補正方法】変更
【補正の内容】
【0056】
次に
図5を参照すると、作業領域アプリ70に基づいてユーザに統一エクスペリエンスを与える作業領域ネットワーク環境100が説明される。デスクトップ、モバイルおよびウェブバージョンの作業領域アプリ70はすべて、Citrix Cloud104内で実行する作業領域エクスペリエンスサービス102と通信する。作業領域エクスペリエンスサービス102は、次いで、リソースフィードマイクロサービス108を介してすべての異なるリソースフィード1
06を引き込む。すなわち、Citrix Cloud104中で実行する他のサービスからの異なるすべてのリソースは、リソースフィードマイクロサービス108によって引き込まれる。異なるサービスは、仮想アプリおよびデスクトップサービス110と、セキュアなブラウザサービス112と、エンドポイント管理サービス114と、コンテンツコラボレーションサービス116と、アクセス制御サービス118とを含み得る。団体または企業がサブスクライブする任意のサービスは、作業領域エクスペリエンスサービス102に自動的に引き込まれ、ユーザの作業領域アプリ70に配信される。
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】0057
【補正方法】変更
【補正の内容】
【0057】
クラウドフィード120に加えて、リソースフィードマイクロサービス108は、オンプレミスフィード122を引き込むことができる。クラウドコネクタ124は、オンプレミスのデータセンター中で実行している仮想アプリおよびデスクトップ展開を与えるために使用される。デスクトップの仮想化は、たとえば、Citrix仮想アプリおよびデスクトップ126、Microsoft RDS130またはVMware Horizon128によって与えられ得る。クラウドフィード120およびオンプレミスフィード122に加えて、たとえば、モノのインターネット(IoT)デバイス134からのデバイスフィード132が、リソースフィードマイクロサービス108によって引き込まれ得る。サイトアグリゲーションは、異なるリソースをユーザの全体的な作業領域エクスペリエンスに結びつけるために使用される。
【手続補正4】
【補正対象書類名】明細書
【補正対象項目名】0071
【補正方法】変更
【補正の内容】
【0071】
クライアントデバイス210は、クライアントデバイス210をオン/オフ状態の間で変更するための物理的な電力制御入力212を含む。物理的な電力制御入力212は、たとえば、押しボタンまたはトグルスイッチであり得る。仮想サーバ220は、複数の仮想コンピューティングセッション230(1)~230(N)を提供する複数の仮想マシン232(1)~232(N)を実行するように構成され、クライアントデバイス210は、仮想マシン232(1)の1つにアクセスする。仮想マシン232(1)~232(N)は概して、仮想マシン232と呼ばれ得る。仮想コンピューティングセッション230(1)~230(N)は概して、仮想コンピューティングセッション230と呼ばれ得る。
【手続補正5】
【補正対象書類名】明細書
【補正対象項目名】0074
【補正方法】変更
【補正の内容】
【0074】
上記のように、物理的な電力制御入力212は押しボタンであり得る。仮想マシン232(1)の再起動を開始するために、押しボタンは、選択中に設定された期間押される。設定された期間は、たとえば、数秒以上であり得る。これは少なくとも1つの電力制御信号が単一の電力制御信号となることを引き起こし、仮想マシン232(1)は単一の電力制御信号に基づいて、オン状態からオフ状態に変更され、オン状態に戻り、その結果、仮想マシン232(1)がクライアントデバイス210と共に再起動する。ここでも、仮想マシン232(1)の状態は、クライアントデバイス210の状態にマッピングされている。
【手続補正6】
【補正対象書類名】明細書
【補正対象項目名】0081
【補正方法】変更
【補正の内容】
【0081】
クライアントデバイス210が、どの仮想マシン232(1)がブローカーサーバ252によって割り当てられているかを知ると、エンドポイント管理サーバ242は、クライアントデバイス210をクライアントデバイス210によってアクセスされている同じ仮想マシン232(1)にマッピングすることが可能である。マッピングは、物理的な電力制御入力212の選択に基づいて、電力制御信号をどこに送信するかについてのロードマップを提供する。
【手続補正7】
【補正対象書類名】明細書
【補正対象項目名】0087
【補正方法】変更
【補正の内容】
【0087】
仮想配信エージェント234は仮想サーバ220で実行されている仮想マシン232にインストールされたソフトウェアである。仮想マシン232は仮想コンピューティングセッション230を提供し、仮想配信エージェント234は仮想コンピューティングセッション230をクライアントデバイス210にリモートで利用可能にする。仮想配信エージェント234は、たとえば、Citrix仮想配信エージェント(VDA)であり得る。
【手続補正8】
【補正対象書類名】明細書
【補正対象項目名】0088
【補正方法】変更
【補正の内容】
【0088】
仮想サーバ220は、仮想マシン232を作成および実行するための少なくとも1つのハイパーバイザ236を含む。ハイパーバイザはまた、仮想マシンモニタ(VMM)と呼ばれ得る。仮想サーバ220がブローカーサーバ252から電力管理制御を受信すると、ハイパーバイザ236によって受信される。ハイパーバイザ236は、クライアントデバイス210によってアクセスされている仮想コンピューティングセッション230を提供する特定の仮想マシン232にオン/オフ状態を変更するように指示する機能を有する。したがって、ブローカーサーバ252は、どの仮想マシン232を再起動するかをハイパーバイザ236に指示する。
【手続補正9】
【補正対象書類名】図面
【補正方法】変更
【補正の内容】
【国際調査報告】