IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ シトリックス・システムズ・インコーポレイテッドの特許一覧

<>
  • 特表-デスクトップサービスシステム 図1
  • 特表-デスクトップサービスシステム 図2
  • 特表-デスクトップサービスシステム 図3
  • 特表-デスクトップサービスシステム 図4
  • 特表-デスクトップサービスシステム 図5
  • 特表-デスクトップサービスシステム 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-11-14
(54)【発明の名称】デスクトップサービスシステム
(51)【国際特許分類】
   H04L 41/40 20220101AFI20221107BHJP
   G06F 21/62 20130101ALI20221107BHJP
   G06F 21/45 20130101ALI20221107BHJP
【FI】
H04L41/40
G06F21/62
G06F21/45
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2021569128
(86)(22)【出願日】2020-08-01
(85)【翻訳文提出日】2021-11-19
(86)【国際出願番号】 US2020044675
(87)【国際公開番号】W WO2022031257
(87)【国際公開日】2022-02-10
(81)【指定国・地域】
(71)【出願人】
【識別番号】508045099
【氏名又は名称】シトリックス・システムズ・インコーポレイテッド
【氏名又は名称原語表記】Citrix Systems,Inc.
(74)【代理人】
【識別番号】110001519
【氏名又は名称】弁理士法人太陽国際特許事務所
(72)【発明者】
【氏名】ゴールドマン、アラン
(72)【発明者】
【氏名】サビン、マイケル ジェイ.
(72)【発明者】
【氏名】シャー、ラデシャム
(72)【発明者】
【氏名】シングルトン、リオ シー.
(72)【発明者】
【氏名】ヴァリーチャーラ、キリーティ エー.
(57)【要約】
DaaS(desktop as a service)システムの少なくとも一部を自律的にプロビジョニングするように構成されたコンピュータシステムが提供される。コンピュータシステムは、メモリ、ネットワークインタフェース、及びプロセッサを含み、プロセッサは、ネットワークインタフェースを介してコンピューティングサービスのテナントに関連付けられたアカウントに仮想デスクトップのカタログを追加する要求を受信すると共に、その要求の受信に応じて、複数の要求をコンピューティングサービスに送信するように構成される。複数の要求は、コンピューティングサービス内でテナントに関連付けられた第1の仮想ネットワークを作成するための少なくとも1つの要求と、第1の仮想ネットワークをコンピューティングサービス内の第2の仮想ネットワークに接続するための少なくとも1つの要求と、コンピューティングサービス内でカタログを作成するための少なくとも1つの要求とを含む。
【特許請求の範囲】
【請求項1】
コンピューティングサービスを介してDaaS(desktop as a service)システムの少なくとも一部を自律的にプロビジョニングするように構成されたコンピュータシステムであって、
メモリと、
ネットワークインタフェースと、
前記メモリ及び前記ネットワークインタフェースに結合された少なくとも1つのプロセッサであって、前記ネットワークインタフェースを介して、前記コンピューティングサービスのテナントに関連付けられたアカウントに仮想デスクトップのカタログを追加する要求を受信し、前記要求の受信に応じて、前記コンピューティングサービスに複数の要求を送信するように構成された少なくとも1つのプロセッサと、を備え、
前記複数の要求が、前記コンピューティングサービス内に前記テナントに関連付けられた第1の仮想ネットワークを作成するための少なくとも1つの要求と、前記第1の仮想ネットワークを前記コンピューティングサービス内の第2の仮想ネットワークに接続するための少なくとも1つの要求と、前記コンピューティングサービス内に前記カタログを作成するための少なくとも1つの要求とを含む、
コンピュータシステム。
【請求項2】
前記テナントは、第1のテナントであり、
前記少なくとも1つのプロセッサは、
前記ネットワークインタフェースを介して、前記第1のテナントとは異なる前記コンピューティングサービスの第2のテナントに関連付けられた少なくとも1つのアカウントに少なくとも1つのカタログを追加するための少なくとも1つの要求を受信し、
前記少なくとも1つの要求の受信に応じて、前記コンピューティングサービスに少なくとも1つの複数の要求を送信するように、さらに構成され、
前記少なくとも1つの複数の要求は、
前記コンピューティングサービス内に前記第2のテナントに関連付けられた少なくとも1つの仮想ネットワークを作成するための少なくとも1つの要求と、前記少なくとも1つの仮想ネットワークを前記第2の仮想ネットワークに接続するための少なくとも1つの要求と、前記コンピューティングサービス内に前記少なくとも1つのカタログを作成するための少なくとも1つの要求とを含む、
請求項1に記載のコンピュータシステム。
【請求項3】
前記第2の仮想ネットワークは、前記第1のテナント及び前記第2のテナントとは異なる第3のテナントに関連付けられ、かつ前記第3のテナントによって管理されている、請求項2に記載のコンピュータシステム。
【請求項4】
前記メモリは、
前記第1のテナントを前記コンピューティングサービス内の第1のアカウントに関連付ける第1のアカウント情報と、
前記第2のテナントを前記コンピューティングサービス内の第2のアカウントに関連付ける第2のアカウント情報と、
前記第3のテナントを前記コンピューティングサービス内の第3のアカウントに関連付ける第3のアカウント情報と、を格納し、
前記第1のアカウント情報、前記第2のアカウント情報、及び前記第3のアカウント情報は、互いに異なる、
請求項3に記載のコンピュータシステム。
【請求項5】
前記複数の要求は、
1つ又は複数の仮想デスクトップを仮想化インフラストラクチャに接続するように構成されたコネクタを作成するための少なくとも1つの要求と、前記コネクタを前記第1の仮想ネットワークに接続するための少なくとも1つの要求と、をさらに含む、
請求項1に記載のコンピュータシステム。
【請求項6】
前記複数の要求は、
前記第1の仮想ネットワークの1つ又は複数のセキュリティルールを設定するための少なくとも1つの要求をさらに含む、
請求項1に記載のコンピュータシステム。
【請求項7】
前記第2の仮想ネットワークは、ディレクトリサービスへの接続性を提供する、請求項1に記載のコンピュータシステム。
【請求項8】
前記テナントは、第1のテナントであり、
前記第2の仮想ネットワークは、前記第1のテナントとは異なる第2のテナントによって管理され、かつ前記第2のテナントに関連付けられ、
前記ディレクトリサービスは、前記第2のテナントによって管理され、かつ前記第2のテナントに関連付けられている、
請求項7に記載のコンピュータシステム。
【請求項9】
前記ディレクトリサービスは、仮想マシン及びコネクタのためのオブジェクトを記憶し、かつユーザのためのオブジェクトを省略する、請求項8に記載のコンピュータシステム。
【請求項10】
前記少なくとも1つのプロセッサは、
前記コンピューティングサービスに、前記カタログで指定されたマスタイメージに基づいて仮想デスクトップを作成するための少なくとも1つの要求を送信し、
前記コンピューティングサービスに、前記仮想デスクトップを前記第1の仮想ネットワークに接続するための少なくとも1つの要求を送信するように、さらに構成される、
請求項1に記載のコンピュータシステム。
【請求項11】
前記少なくとも1つのプロセッサは、
前記ネットワークインタフェースを介して、前記第1の仮想ネットワークに要塞を追加するためのトラブルシューティング要求を受信し、
前記トラブルシューティング要求の受信に応じて、前記コンピューティングサービスに1つ又は複数の要求を送信するように、さらに構成され、
前記1つ又は複数の要求は、
前記要塞を作成するための少なくとも1つの要求と、前記要塞を前記第1の仮想ネットワークに接続するための少なくとも1つの要求と、前記要塞への外部からのアクセスを可能にするために前記第1の仮想ネットワークに適用可能なセキュリティルールを更新するための少なくとも1つの要求とを含む、
請求項1に記載のコンピュータシステム。
【請求項12】
前記少なくとも1つのプロセッサは、
前記ネットワークインタフェースを介して、マスタイメージを構築するための構築要求であって、前記マスタイメージのベースとなるイメージを指定する構築要求を受信し、
前記構築要求の受信に応じて、前記コンピューティングサービスに1つ又は複数の要求を送信するように、さらに構成され、
前記1つ又は複数の要求は、
仮想マシンを作成するための少なくとも1つの要求と、前記構築要求で指定されたイメージを使用して前記仮想マシンを再イメージ化するための少なくとも1つの要求と、前記仮想マシンを前記第1の仮想ネットワークに接続するための少なくとも1つの要求と、前記仮想マシンへの外部からのアクセスを可能にするために前記第1の仮想ネットワークに適用可能なセキュリティルールを更新するための少なくとも1つの要求とを含む、
請求項1に記載のコンピュータシステム。
【請求項13】
前記コンピューティングサービスをさらに備え、
前記コンピューティングサービスは、IaaS(infrastructure as a service)システムである、
請求項1に記載のコンピュータシステム。
【請求項14】
前記複数の要求は、前記IaaSシステムへの複数のアプリケーションプログラミングインタフェース呼び出しである、
請求項13に記載のコンピュータシステム。
【請求項15】
DaaSシステムの少なくとも一部を自律的にプロビジョニングする方法であって、
ネットワークインタフェースを介して、コンピューティングサービスのテナントに関連付けられたアカウントに仮想デスクトップのカタログを追加する要求を受信することと、
前記要求の受信に応じて、コンピューティングサービスに複数の要求を送信することと、を含み、
前記複数の要求は、
前記コンピューティングサービス内に前記テナントに関連付けられた第1の仮想ネットワークを作成するための少なくとも1つの要求と、前記第1の仮想ネットワークを前記コンピューティングサービス内の第2の仮想ネットワークに接続するための少なくとも1つの要求と、前記コンピューティングサービス内に前記カタログを作成するための少なくとも1つの要求と、1つ又は複数の仮想デスクトップを仮想化インフラストラクチャに接続するように構成されたコネクタを作成するための少なくとも1つの要求と、前記コネクタを前記第1の仮想ネットワークに接続するための少なくとも1つの要求とを含む、
方法。
【請求項16】
前記テナントが、第1のテナントであり、
前記ネットワークインタフェースを介して、前記第1のテナントとは異なる前記コンピューティングサービスの第2のテナントに関連付けられた少なくとも1つのアカウントに、少なくとも1つのカタログを追加するための少なくとも1つの要求を受信することと、
前記少なくとも1つの要求の受信に応じて、前記コンピューティングサービスに少なくとも1つの複数の要求を送信することと、をさらに含み、
前記少なくとも1つの複数の要求は、
前記コンピューティングサービス内に前記第2のテナントに関連付けられた少なくとも1つの仮想ネットワークを生成するための少なくとも1つの要求と、少なくとも1つの仮想ネットワークを、前記第1のテナント及び前記第2のテナントとは異なる第3のテナントに関連付けられかつ前記第3のテナントによって管理されている前記第2の仮想ネットワークに接続するための少なくとも1つの要求と、前記コンピューティングサービス内に少なくとも1つのカタログを作成するための少なくとも1つの要求とを含む、
請求項15に記載の方法。
【請求項17】
前記コンピューティングサービスに、前記カタログで指定されたマスタイメージに基づいて仮想デスクトップを作成するための少なくとも1つの要求を送信することと、
前記コンピューティングサービスに、前記仮想デスクトップを前記第1の仮想ネットワークに接続するための少なくとも1つの要求を送信することと、をさらに含む、
請求項15に記載の方法。
【請求項18】
DaaSシステムの少なくとも一部を自律的にプロビジョニングするための実行可能な一連の命令を記憶した非一時的コンピュータ可読媒体であって、
前記一連の命令は、
ネットワークインタフェースを介して、コンピューティングサービスのテナントに関連付けられたアカウントに仮想デスクトップのカタログを追加する要求を受信し、
前記要求の受信に応じて、コンピューティングサービスに複数の要求を送信するための命令を含み、
前記複数の要求は、
前記コンピューティングサービス内に前記テナントに関連付けられた第1の仮想ネットワークを作成するための少なくとも1つの要求と、前記第1の仮想ネットワークを前記コンピューティングサービス内の第2の仮想ネットワークに接続するための少なくとも1つの要求と、前記コンピューティングサービス内に前記カタログを作成するための少なくとも1つの要求と、1つ又は複数の仮想デスクトップを仮想化インフラストラクチャに接続するように構成されたコネクタを作成するための少なくとも1つの要求と、前記コネクタを前記第1の仮想ネットワークに接続するための少なくとも1つの要求とを含む、
非一時的コンピュータ可読媒体。
【請求項19】
前記テナントは、第1のテナントであり、
前記一連の命令は、
前記ネットワークインタフェースを介して、前記第1のテナントとは異なる前記コンピューティングサービスの第2のテナントに関連付けられた少なくとも1つのアカウントに、少なくとも1つのカタログを追加するための少なくとも1つの要求を受信し、
前記少なくとも1つの要求の受信に応じて、前記コンピューティングサービスに少なくとも1つの複数の要求を送信するための命令をさらに含み、
前記少なくとも1つの複数の要求は、
前記コンピューティングサービス内に前記第2のテナントに関連付けられた少なくとも1つの仮想ネットワークを生成するための少なくとも1つの要求と、少なくとも1つの仮想ネットワークを、前記第1のテナント及び前記第2のテナントとは異なる第3のテナントに関連付けられかつ前記第3のテナントによって管理されている前記第2の仮想ネットワークに接続するための少なくとも1つの要求と、前記コンピューティングサービス内に少なくとも1つのカタログを作成するための少なくとも1つの要求とを含む、
請求項18に記載の非一時的コンピュータ可読媒体。
【請求項20】
前記一連の命令は、
前記コンピューティングサービスに、前記カタログで指定されたマスタイメージに基づいて仮想デスクトップを作成するための少なくとも1つの要求を送信し、
前記コンピューティングサービスに、前記仮想デスクトップを前記第1の仮想ネットワークに接続するための少なくとも1つの要求を送信するための命令をさらに含む、
請求項18に記載の非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、デスクトップサービスシステムに関する。
【背景技術】
【0002】
現在、一般に入手可能な様々なコンピューティングデバイスは、ユーザが個人の好みに合わせて特定の構成を選択することを可能にする。これらのコンピューティングデバイスは、オペレーティングシステム、アプリケーション、及びユーザ設定のさまざまな組合せを含む。このような異種デバイスのセットを大量に管理することは面倒である。そのため、多くの組織では、より標準化された安全でスケーラブルなコンピューティング環境をユーザに提供するために、仮想化されたアプリケーションや仮想化されたデスクトップに移行している。これらの仮想化ツールを用いることで、組織のアプリケーションとデータは、ユーザが選択したコンピューティングデバイス(例えば、スマートフォン、タブレット、ラップトップ、デスクトップコンピュータなど)から分離された実行環境内で実行される。
【0003】
仮想化の特定のカテゴリの1つは、VDI(Virtual Desktop Infrastructure)と呼ばれている。VDIでは、ユーザのコンピューティングセッションは、サーバ上に存在する仮想マシン内で実行される。VDI及びその他のサーバベースのデスクトップ仮想化システムは集中管理とセキュリティとを可能にしながら、ユーザ毎にパーソナライズされたデスクトップを提供することができる。VDIシステムのサーバには、仮想デスクトップのイメージが保存される。これらのイメージは、システム設定情報(configuration information)とソフトウェアコンポーネントを含み、パーソナルコンピューティングデバイスによってホストされているブラウザやクライアントアプリケーションを介してユーザに仮想デスクトップを提供する仮想マシンを作成するために使用することができる。例えば、VDIサーバは、複数の仮想マシンを作成し保持するための1つ又は複数のハイパーバイザ(仮想マシンマネージャ)、ハイパーバイザを管理するためのソフトウェア、接続ブローカ、及び仮想デスクトップをプロビジョニングし管理するためのソフトウェアを含むことができる。いくつかの実施形態では、VDIサーバは、Web/SaaS(Software-as-a-Service)アプリケーションだけでなく、共有サーバベースのホストされたアプリケーションへのアクセスを提供することができる。
【発明の概要】
【0004】
少なくとも1つの例では、コンピュータシステムが提供される。このコンピュータシステムは、コンピューティングサービスを介してサービスとしてのデスクトップ(DaaS:desktop as a service)システムの少なくとも一部を自律的にプロビジョニングするように構成されている。コンピュータシステムは、メモリと、ネットワークインタフェースと、メモリ及びネットワークインタフェースに結合された少なくとも1つのプロセッサとを含む。少なくとも1つのコンピュータシステムは、ネットワークインタフェースを介して、コンピューティングサービスのテナントに関連付けられたアカウントに仮想デスクトップのカタログを追加する要求を受信し、要求の受信に応じて、コンピューティングサービスに複数の要求を送信するように構成されている。複数の要求は、コンピューティングサービス内にテナントに関連付けられた第1の仮想ネットワークを作成するための少なくとも1つの要求と、第1の仮想ネットワークをコンピューティングサービス内の第2の仮想ネットワークに接続するための少なくとも1つの要求と、コンピューティングサービス内にカタログを作成するための少なくとも1つの要求とを含む。
【0005】
上記コンピュータシステムの少なくともいくつかの例は、以下の特徴のうちの1つ又は複数を含むことができる。テナントは、第1のテナントとすることができ、少なくとも1つのプロセッサは、ネットワークインタフェースを介して、第1のテナントとは異なるコンピューティングサービスの第2のテナントに関連付けられた少なくとも1つのアカウントに少なくとも1つのカタログを追加するための少なくとも1つの要求を受信し、少なくとも1つの要求の受信に応じて、コンピューティングサービスに少なくとも1つの複数の要求を送信するようにさらに構成され得る。少なくとも1つの複数の要求は、コンピューティングサービス内に第2のテナントに関連付けられた少なくとも1つの仮想ネットワークを作成するための少なくとも1つの要求と、少なくとも1つの仮想ネットワークを第2の仮想ネットワークに接続するための少なくとも1つの要求と、コンピューティングサービス内に少なくとも1つのカタログを作成するための少なくとも1つの要求と、を含むことができる。
【0006】
上記コンピュータシステムにおいて、第2の仮想ネットワークは、第1のテナント及び第2のテナントとは異なる第3のテナントに関連付けられ、かつ第3のテナントによって管理され得る。メモリは、第1のテナントをコンピューティングサービス内の第1のアカウントに関連付ける第1のアカウント情報と、第2のテナントをコンピューティングサービス内の第2のアカウントに関連付ける第2のアカウント情報と、第3のテナントをコンピューティングサービス内の第3のアカウントに関連付ける第3のアカウント情報と、を格納することができ、第1のアカウント情報、第2のアカウント情報、及び第3のアカウント情報は、互いに異なり得る。複数の要求は、1つ又は複数の仮想デスクトップを仮想化インフラストラクチャに接続するように構成されたコネクタを作成するための少なくとも1つの要求と、コネクタを第1の仮想ネットワークに接続するための少なくとも1つの要求と、をさらに含むことができる。複数の要求は、第1の仮想ネットワークの1つ又は複数のセキュリティルールを設定するための少なくとも1つの要求をさらに含むことができる。第2の仮想ネットワークは、ディレクトリサービスへの接続性を提供することができる。
【0007】
上記コンピュータシステムにおいて、テナントは、第1のテナントとすることができ、第2の仮想ネットワークは、第1のテナントとは異なる第2のテナントによって管理され、かつ第2のテナントに関連付けられ得、ディレクトリサービスは、第2のテナントによって管理され、かつ第2のテナントに関連付けられ得る。ディレクトリサービスは、仮想マシン及びコネクタのためのオブジェクトを記憶し、かつユーザのためのオブジェクトを省略することができる。少なくとも1つのプロセッサは、コンピューティングサービスに、カタログで指定されたマスタイメージに基づいて仮想デスクトップを作成するための少なくとも1つの要求を送信し、コンピューティングサービスに、仮想デスクトップを第1の仮想ネットワークに接続するための少なくとも1つの要求を送信するように、さらに構成され得る。少なくとも1つのプロセッサは、ネットワークインタフェースを介して、第1の仮想ネットワークに要塞を追加するためのトラブルシューティング要求を受信し、トラブルシューティング要求の受信に応じて、コンピューティングサービスに1つ又は複数の要求を送信するようにさらに構成され得る。1つ又は複数の要求は、要塞を作成するための少なくとも1つの要求と、要塞を第1の仮想ネットワークに接続するための少なくとも1つの要求と、要塞への外部からのアクセスを可能にするために第1の仮想ネットワークに適用可能なセキュリティルールを更新するための少なくとも1つの要求とを含むことができる。
【0008】
上記コンピュータシステムにおいて、少なくとも1つのプロセッサは、ネットワークインタフェースを介して、マスタイメージを構築するための構築要求であって、マスタイメージのベースとなるイメージを指定する構築要求を受信し、構築要求の受信に応じて、コンピューティングサービスに1つ又は複数の要求を送信するようにさらに構成され得る。1つ又は複数の要求は、仮想マシンを作成するための少なくとも1つの要求と、構築要求で指定されたイメージを使用して仮想マシンを再イメージ化するための少なくとも1つの要求と、仮想マシンを第1の仮想ネットワークに接続するための少なくとも1つの要求と、仮想マシンへの外部からのアクセスを可能にするために第1の仮想ネットワークに適用可能なセキュリティルールを更新するための少なくとも1つの要求とを含むことができる。コンピュータシステムは、コンピューティングサービスをさらに含むことができる。コンピューティングサービスは、サービスとしてのインフラストラクチャ(IaaS:infrastructure as a service)システムとすることができる。複数の要求は、IaaSシステムへの複数のアプリケーションプログラミングインタフェース呼び出しとすることができる。
【0009】
別の例では、DaaSシステムの少なくとも一部を自律的にプロビジョニングする方法が提供される。この方法は、ネットワークインタフェースを介して、コンピューティングサービスのテナントに関連付けられたアカウントに仮想デスクトップのカタログを追加する要求を受信することと、要求の受信に応じて、コンピューティングサービスに複数の要求を送信することと、を含む。複数の要求は、コンピューティングサービス内にテナントに関連付けられた第1の仮想ネットワークを作成するための少なくとも1つの要求と、第1の仮想ネットワークをコンピューティングサービス内の第2の仮想ネットワークに接続するための少なくとも1つの要求と、コンピューティングサービス内にカタログを作成するための少なくとも1つの要求と、1つ又は複数の仮想デスクトップを仮想化インフラストラクチャに接続するように構成されたコネクタを作成するための少なくとも1つの要求と、コネクタを第1の仮想ネットワークに接続するための少なくとも1つの要求と、を含む。
【0010】
上記方法の少なくともいくつかの例は、以下の特徴のうちの1つ又は複数を含むことができる。この方法において、テナントは、第1のテナントとすることができ、方法は、ネットワークインタフェースを介して、第1のテナントとは異なるコンピューティングサービスの第2のテナントに関連付けられた少なくとも1つのアカウントに、少なくとも1つのカタログを追加するための少なくとも1つの要求を受信することと、少なくとも1つの要求の受信に応じて、コンピューティングサービスに少なくとも1つの複数の要求を送信することと、をさらに含むことができる。少なくとも1つの複数の要求は、コンピューティングサービス内に第2のテナントに関連付けられた少なくとも1つの仮想ネットワークを生成するための少なくとも1つの要求と、少なくとも1つの仮想ネットワークを、第1のテナント及び第2のテナントとは異なる第3のテナントに関連付けられかつ第3のテナントによって管理されている第2の仮想ネットワークに接続するための少なくとも1つの要求と、コンピューティングサービス内に少なくとも1つのカタログを作成するための少なくとも1つの要求とを含むことができる。この方法は、コンピューティングサービスに、カタログで指定されたマスタイメージに基づいて仮想デスクトップを作成するための少なくとも1つの要求を送信することと、コンピューティングサービスに、仮想デスクトップを第1の仮想ネットワークに接続するための少なくとも1つの要求を送信することと、をさらに含むことができる。
【0011】
別の例では、DaaSシステムの少なくとも一部を自律的にプロビジョニングするための実行可能な一連の命令を記憶した非一時的コンピュータ可読媒体が提供される。一連の命令は、ネットワークインタフェースを介して、コンピューティングサービスのテナントに関連付けられたアカウントに仮想デスクトップのカタログを追加する要求を受信し、要求の受信に応じて、コンピューティングサービスに複数の要求を送信するための命令を含む。複数の要求は、コンピューティングサービス内にテナントに関連付けられた第1の仮想ネットワークを作成するための少なくとも1つの要求と、第1の仮想ネットワークをコンピューティングサービス内の第2の仮想ネットワークに接続するための少なくとも1つの要求と、コンピューティングサービス内にカタログを作成するための少なくとも1つの要求と、1つ又は複数の仮想デスクトップを仮想化インフラストラクチャに接続するように構成されたコネクタを作成するための少なくとも1つの要求と、コネクタを第1の仮想ネットワークに接続するための少なくとも1つの要求と、を含むことができる。
【0012】
非一時的コンピュータ可読媒体の少なくともいくつかの例は、以下の特徴のうちの1つ又は複数を含むことができる。一連の命令内で、テナントは、第1のテナントとすることができ、一連の命令は、ネットワークインタフェースを介して、第1のテナントとは異なるコンピューティングサービスの第2のテナントに関連付けられた少なくとも1つのアカウントに少なくとも1つのカタログを追加するための少なくとも1つの要求を受信し、少なくとも1つの要求の受信に応じて、コンピューティングサービスに少なくとも1つの複数の要求を送信するための命令をさらに含むことができる。少なくとも1つの複数の要求は、コンピューティングサービス内に第2のテナントに関連付けられた少なくとも1つの仮想ネットワークを生成するための少なくとも1つの要求と、少なくとも1つの仮想ネットワークを、第1のテナント及び第2のテナントとは異なる第3のテナントに関連付けられかつ第3のテナントによって管理されている第2の仮想ネットワークに接続するための少なくとも1つの要求と、コンピューティングサービス内に少なくとも1つのカタログを作成するための少なくとも1つの要求とを含むことができる。一連の命令は、コンピューティングサービスに、カタログで指定されたマスタイメージに基づいて仮想デスクトップを作成するための少なくとも1つの要求を送信し、コンピューティングサービスに、仮想デスクトップを第1の仮想ネットワークに接続するための少なくとも1つの要求を送信するための命令をさらに含むことができる。
【0013】
これらの態様及び実施例のさらに別の態様、実施例、及び利点については、以下で詳細に説明する。さらに、前述の情報及び以下の詳細な説明の両方は、様々な態様及び特徴の単なる例示にすぎず、特許請求される態様及び実施例の性質及び性質を理解するための概観又は枠組みを提供することを意図していることを理解されたい。本明細書に開示される任意の実施例又は特徴は、任意の他の実施例又は特徴と組み合わせることができる。異なる実施例への言及は、必ずしも相互に排他的ではなく、実施例に関連して説明された特定の特徴、構造、又は特性が少なくとも1つの実施例に含まれ得ることを示すように意図されている。したがって、「他の」及び「別の」のような用語は、本明細書で説明される例を参照するとき、特徴の任意の種類の排他性又はグループ分けを伝えることを意図したものではなく、むしろ読み易さを向上させるために含まれる。
【0014】
少なくとも1つの実施例の様々な態様が、一定の縮尺で描かれることを意図していない添付の図面を参照して、以下で説明される。図面は様々な態様の例示及びさらなる理解を提供するために含まれており、本明細書に組み込まれてその一部を構成するが、任意の特定の実施例の限定を定義することを意図していない。図面は本明細書の残りの部分と共に、説明され、特許請求される態様の原理及び動作を説明するのに役立つ。図において、様々な図に示されている同一又は略同一の構成要素は、同様の数字によって表されている。明確化のために、すべての図においてすべての構成要素が付番されている訳ではない。
【図面の簡単な説明】
【0015】
図1図1は、本開示の1つ又は複数の実施例による、DaaSプロビジョニングサービスを含むDaaSシステムを示すブロック図である。
図2図2は、本開示の1つ又は複数の実施例による、DaaSシステムのプロビジョニング及び構成プロセスを示すフローチャートである。
図3図3は、本開示の1つ又は複数の実施例による、マスタイメージ構築プロセスを示すフローチャートである。
図4図4は、本開示の1つ又は複数の実施例による、要塞作成プロセスを示すフローチャートである。
図5図5は、本開示の1つ又は複数の実施例を実装することができるコンピューティングデバイスのネットワーク環境のブロック図である。
図6図6は、本開示の1つ又は複数の実施例による、コンピューティングデバイスの構成内に実装される図1のDaaSシステムのブロック図である。
【発明を実施するための形態】
【0016】
上記で要約されたように、本開示の様々な実施例は、エンドユーザによって提供された限られた情報セットを使用して、DaaSプロバイダによる後続の管理のためにDaaSシステムを実装するようにクラウドコンピューティングサービスを自律的に構成するシステム及びプロセスに関するものである。クラウドコンピューティングサービスは、例えば、IaaSシステムであってもよい。本開示のシステム及びプロセスは、DaaSシステムを構成するために必要とされる情報の量及び特定性を低減することによって、DaaSシステムを構成するために使用される他のシステム及びプロセスを改善する。このように必要な情報が減ることで、DaaSシステムの基盤となるIaaSシステムの深い技術的理解を必要としない新しい方法で、DaaSシステムが構成されることを可能にする。本開示の実施例に従って省略できる設定情報の例には、IaaSシステム内でアカウントを設定するために必要な情報、IaaSシステム内で仮想ネットワークを構成するために必要な情報、IaaSシステム内で特定の仮想ネットワークを接続するために必要な情報、仮想ネットワークのための特定のセキュリティルールを設定するために必要な情報、及びDaaSシステム内で管理されている仮想デスクトップ内に仮想エージェントをプロビジョニングするために必要な情報が含まれる。
【0017】
より具体的には、いくつかの実施例は、DaaSプロバイダに代わってIaaS システムとの相互運用を許可されたカタログサービスを含む。IaaSシステムは、例えば、ワシントン州レドモンドのMicrosoft Corporationから市販されているMICROSOFT AZURE IaaSとすることができる。これらの例では、カタログサービスは、識別された顧客が使用できるようにDaaSシステムを構成する要求を受信する。これらの要求の各々の受信に応じて、カタログサービスは、識別された顧客のために、DaaSプロバイダが管理するIaaSシステムに自律的にアカウントを作成する。アカウントに関連付けられた顧客を、本明細書ではテナントと呼ぶことがあり、これらのアカウントに関する情報を、本明細書ではアカウント情報と呼ぶことがある。各テナントについてIaaSシステム内に専用アカウントを作成することにより、各テナントに与えられるセキュリティが向上する。
【0018】
いくつかの実施例では、カタログサービスは、仮想デスクトップのカタログを作成する要求を受信する。カタログは、1つ又は複数の仮想デスクトップを作成し、識別し、及び集合として管理することを可能にするグルーピングメカニズムである。カタログサービスは、これらの各要求の受信に応じて、カタログを管理する仮想ネットワークがテナントについて存在するかどうかを判断する。このような仮想ネットワークを、本明細書ではDaaS仮想ネットワークと呼ぶことがある。カタログサービスが、テナントに関連付けられたDaaS仮想ネットワークが存在しないと判断した場合、カタログサービスは、DaaSプロバイダの管理下にあり、且つテナントに関連付けられたDaaS仮想ネットワークを自律的に作成する。このDaaS仮想ネットワークの作成には、仮想ネットワークに接続された仮想デスクトップが仮想化インフラストラクチャと相互運用できるようにするための仮想コネクタの作成が含まれる。この仮想化インフラストラクチャは、テナントに関連付けられたユーザが、インタラクティブなコンピューティングセッション内で仮想デスクトップと対話することを可能にする。DaaS仮想ネットワークの作成は、DaaS仮想ネットワークを少なくとも1つの他の仮想ネットワークに接続することをさらに含むことができる。この接続により、他の仮想ネットワークに接続されているディレクトリサービスと相互運用することで、仮想コネクタと、DaaS仮想ネットワークに接続されている可能性のある他の仮想マシンとをドメインに参加させることができる。ディレクトリサービスは、他のテナントと共有され、DaaSプロバイダによって管理されるか、又はテナント専用にされ、テナントによって管理され得る。
【0019】
いくつかの実施例では、カタログサービスは、1つ又は複数の仮想デスクトップをテナントに関連付けられたユーザが利用できるようにするために、1つ又は複数の仮想デスクトップを作成する要求を受信する。カタログサービスは、これらの各要求の受信に応じて、要求された仮想デスクトップをマスタイメージから作成し、その仮想デスクトップをDaaS仮想ネットワークに接続する。
【0020】
いくつかの実施例では、カタログサービスは、仮想デスクトップ及びその他のタイプの仮想マシンを作成するために使用され得るマスタイメージを構築する要求を受信する。これらの要求は、例えば、テナントに関連付けられたユーザから受信され得る。これらの各要求の受信に応じて、カタログサービスは、マスタイメージが作成されるアカウントを特定する。このアカウントは、DaaSプロバイダが管理するアカウントでもよく、又はテナントが管理するアカウントでもよい。また、カタログサービスは、マスタイメージ構築要求の各々の受信に応じて、要求で特定されたベースイメージから仮想マシンを作成し、その仮想マシンを仮想ネットワークに接続する。このベースイメージには、例えば、オペレーティングシステムと、仮想化エージェントなどの1つ又は複数のソフトウェアアプリケーションを含めることができる。カタログサービスが仮想マシンを接続する仮想ネットワークは、マスタイメージが作成されるアカウントがDaaSプロバイダによって管理されているDaaS仮想ネットワークとすることができる。また、カタログサービスは、マスタイメージ構築要求の各々の受信に応じて、外部デバイスがカスタマイズ目的で仮想マシンにアクセスできるように、仮想ネットワークに関連付けられたセキュリティルールを再設定する。続いて、カタログサービスは、マスタイメージの構築を終了する要求を受信することができる。この要求の受信に応じて、カタログサービスは、カスタマイズされた仮想マシンから新しいマスタイメージを生成し、仮想マシンを削除する。
【0021】
いくつかの実施例では、カタログサービスは、テナントに関連付けられたユーザから仮想要塞(virtual bastions)を作成する要求を受信する。要塞は、トラブルシューティングのために、仮想ネットワークの外部にあるデバイスからアクセス可能な特殊なタイプの仮想マシンである。これらの各要求の受信に応じて、カタログサービスは、仮想要塞との関連付けの対象となるカタログを特定する。いくつかの実施例では、このカタログは、仮想要塞を要求するテナントが管理するテナント専用のディレクトリサービスと相互運用することによって、ドメインに参加するように構成された仮想デスクトップを含まなければならない。さらに、カタログサービスは、仮想要塞の作成要求の各々の受信に応じて、要塞イメージから仮想マシンを作成し、その仮想マシンをDaaS仮想ネットワークに接続する。また、カタログサービスは、仮想要塞の作成要求の各々の受信に応じて、トラブルシューティングのために外部デバイスが仮想マシンにアクセスできるように、DaaS仮想ネットワークに関連付けられたセキュリティルールを再設定する。その後、カタログサービスは、閾値の期間が経過した後に、仮想マシンを削除することができる。
【0022】
本開示の方法及びシステムの実施例は、以下の説明に記載された又は添付の図面に図示された構成の詳細及び構成要素の配置にその適用が限定されるものではない。本開示の方法及びシステムは、他の実施例で実施することができ、様々な方法で実施されるか又は実施することが可能である。特定の実装例は、本明細書では例示のみを目的として提供されており、限定することを意図していない。特に、任意の1つ又は複数の実施例に関連して説明された動作、構成要素、要素、及び特徴は、任意の他の実施例における同様の役割から除外されることを意図していない。
【0023】
(DaaSプロビジョニングシステム)
いくつかの実施例では、コンピュータシステムは、DaaSプロバイダによる後続の管理のためにIaaSシステムの一部を適応させることによって、DaaSシステムを自律的にプロビジョニングするように構成されている。図1は、これらの実施例に従ったいくつかのコンピュータ実装プロセスを含むDaaSシステム100の論理アーキテクチャを示す。
【0024】
図1に示すように、DaaSシステム100は、IaaSシステム104の第1のテナント(テナント1)によって所有され管理されるオンプレミスネットワーク102を含む。オンプレミスネットワーク102は、ディレクトリサービス106及びファイル共有108をホストするように構成されたコンピューティングデバイス及び関連するインフラストラクチャを含む。IaaSシステム104は、仮想ネットワーク110~118をホストするように構成されたコンピューティングデバイス及び関連するインフラストラクチャを含む。仮想ネットワーク110は、テナント1に関連付けられており、ゲートウェイ150を含む。仮想ネットワーク112も、テナント1に関連付けられており、コネクタ120、複数の仮想デスクトップ122A~122N、及び要塞124を含む。仮想ネットワーク114は、第2のテナント(テナント2)に関連付けられており、コネクタ126及び複数の仮想デスクトップ128A~128Nを含む。仮想ネットワーク116は、別のテナント(テナントM)に関連付けられており、コネクタ130、仮想デスクトップ132、イメージビルダ134、及びイメージデータストア135を含む。仮想ネットワーク118 は、DaaSプロバイダでもあるテナントに関連付けられている。仮想ネットワーク118は、DaaSプロビジョニングサービス136、マシンディレクトリサービス138、及びユーザディレクトリサービス140を含む。DaaSプロビジョニングサービス136は、ユーザインタフェース142、カタログサービス144、及びカタログサービスデータストア146を含む。仮想デスクトップ122A~122N、128A~128N、及び132は、テナント1、テナント2、及びテナントMに関連付けられたユーザによって使用されるように構成された仮想マシンである。したがって、仮想デスクトップのマシン性能プロファイル、オペレーティングシステム、アプリケーションスイートなどは、実施例毎に異なる可能性がある。同様に、仮想ネットワーク110、112、114、及び116は、例えば、IaaSシステム104内の仮想構成物(例えば、ルータ、スイッチ、ファイアウォールなど)である。仮想ネットワーク110、112、114、及び116は、それぞれ、アドレス空間、1つ又は複数のサブネット、及びルーティングテーブルと関連付けることができる。MICROSOFT AZURE IaaS内では、仮想ネットワーク110、112、114、及び116は、VNetとして実装され得る。
【0025】
図1に示すコンピュータ実装プロセスは、様々な技術を用いて互いに通信することができる。これらの技術は、プロセス間通信(例えば、図1に示されている2つ以上のコンピュータ実装プロセスが、同じ実行環境内に存在する場合)と、ネットワークベースの通信(例えば、2つ以上のコンピュータ実装プロセスが、コンピュータネットワークによって互いに結合された異なる実行環境内に存在する場合)とを含むことができる。いくつかの実施例では、通信は、ハイパーテキスト転送プロトコル(HTTP)ベースの通信を含むことができる。図1に示すコンピュータ実装プロセスは、ハードウェア又はハードウェアとソフトウェアの組合せで実装され得ることに留意されたい。
【0026】
図1の例を続けて説明すると、仮想ネットワーク118は、DaaSプロバイダが管理するDaaSプロバイダ専用の仮想マシン(例えば、仮想サーバ)で構成され、これらの仮想マシンを相互に接続する通信ネットワーク(例えば、仮想ローカルエリアネットワーク)である。仮想ネットワーク118内で相互接続された仮想マシンは、DaaSプロビジョニングサービス136、マシンディレクトリサービス138、及びユーザディレクトリサービス140をホストするように構成される。
【0027】
図1に示すように、DaaSプロビジョニングサービス136は、アプリケーション(例えば、テナントとなる顧客(the customer-to-become-tenant)に関連付けられたコンピューティングデバイス上で実行されるブラウザ)と相互運用して、テナントとなる顧客の使用のためにIaaSシステム104からDaaSシステムをプロビジョニングするように構成されている。プロビジョニングされたDaaSは、DaaSプロバイダによって管理されることになっている。図1に示すように、ユーザインタフェース142は、アプリケーションと相互運用して、ユーザインタフェースコントロールをユーザにレンダリングするように構成されている。これらのユーザインタフェースコントロールは、ユーザと対話して、設定情報を指定する入力を受け付けることができる。ユーザインタフェース142は、この設定情報を処理して、カタログサービス144によって公開され実装されるアプリケーションプログラミングインタフェース(API)を介して、カタログサービス144に様々な要求メッセージを生成し送信するように構成されている。これらの要求メッセージの例としては、潜在的な顧客のためにDaaSシステムを確立する要求、仮想デスクトップのカタログを作成する要求、仮想デスクトップのインスタンスを作成する要求、DaaSシステムで使用するマスタイメージを構築する要求、仮想要塞を作成する要求などがある。
【0028】
いくつかの実施例では、カタログサービス144は、上述したユーザインタフェース142からの要求メッセージを受信して処理するように構成されている。カタログサービス144によるこの処理は、IaaSシステム104によって公開され、実装されるAPIを介して、様々な要求メッセージを生成してIaaSシステム104に送信することを含む。これらのプロセスの具体例は、図2図4を参照して以下でさらに説明される。これらのプロセスを実行するために、カタログサービス144は、カタログサービスデータストア146にアクセスして、様々なレコードを取得し且つ格納するように構成され得る。以下でさらに詳細に説明するように、これらのレコードは、IaaSアカウントとDaaSシステムを利用するテナントとを関連付けたり、テナントと特定の仮想ネットワークとを関連付けたり、仮想ネットワークと仮想デスクトップの接続のタイプとを関連付けたりすることができる。したがって、カタログサービスデータストアのレコードには、IaaSアカウントの識別子、テナントの識別子、仮想ネットワークの識別子、及び仮想ネットワークのタイプの識別子を格納するように構成されたフィールドを含めることができる。さらに、いくつかの実施例では、カタログサービスデータストア146は、テナントによる使用のために、DaaSサービスプロバイダが保持するマスタイメージのコピーを格納することができる。これらのマスタイメージは、例えば、プリインストールされた仮想化エージェントを含んでおり、マスタイメージに基づく仮想デスクトップが本開示の仮想化インフラストラクチャに接続できるようにする。
【0029】
特定の実施例では、マシンディレクトリサービス138は、複数のテナントの仮想マシンを含むDaaSプロバイダが管理するドメインを統轄するように構成される。これらの実施例では、マシンディレクトリサービス138は、Microsoft Corporationから市販されているMICROSOFT AZURE active directory domain serviceを使用して実装され得ると共に、認証、許可、及び仮想マシン(例えば、要塞124、コネクタ126及び130、仮想デスクトップ128A~128N及び132、及びイメージビルダ134)へのアクセスを管理するように構成され得る。しかしながら、他のディレクトリサービスとは異なり、マシンディレクトリサービス138は、ユーザの認証又は許可を管理するように構成されておらず、そのため、マシンディレクトリサービス138は、そのようなユーザのためのオブジェクトを含まない。この区別は、テナントに関連付けられたユーザによるマシンディレクトリサービス138へのアクセスを提供しないため、重要である。これにより、テナントの仮想マシンが、マシンディレクトリサービス138で表されるDaaSプロバイダドメインへの接続を介して仮想化インフラストラクチャ全体に参加することを可能にする一方で、隔離及びセキュリティの追加手段を提供する。
【0030】
いくつかの実施例では、ユーザディレクトリサービス140は、テナントに関連付けられたユーザを認証するように構成されている。これらの実施例では、ユーザディレクトリサービス140は、例えば、Microsoft Corporationから市販されているMICROSOFT AZURE ACTIVE DIRECTORYを使用して実装することができる。しかしながら、他のディレクトリサービスとは異なり、ユーザディレクトリサービス140は、マシンの認証又は許可を管理するように構成されておらず、そのため、マシンディレクトリサービス138は、マシンのためのオブジェクトを含まない。マシン及びユーザに対して別個のディレクトリサービスを保持することにより、DaaSプロビジョニングサービス136は、ユーザ及びマシンを組み合わせたディレクトリサービスよりもDaaSプロバイダのメンテナンス負担が少ないDaaSシステムをプロビジョニングできることに留意されたい。より具体的には、別個のディレクトリサービスは、DaaSプロバイダが複数のテナントにわたってマシンを一括管理することを可能にすると共に、個々のテナントが(例えば、ユーザインタフェース142と対話することによって)関連付けられたユーザを管理することを可能にする。
【0031】
図1の例を続けて説明すると、オンプレミスネットワーク102は、テナント1が管理するテナント1専用の物理デバイスで構成され、これらの物理デバイスを相互に接続する通信ネットワーク(例えば、ローカルエリアネットワーク)である。これらの物理デバイス及びそれらが実装する仮想リソースは、ディレクトリサービス106をホストするドメインコントローラによって統轄されるオンプレミスネットワーク102のドメインを構成する。これらの実施例では、ディレクトリサービス106は、例えば、Microsoft Corporationから市販されているACTIVE DIRECTORYを使用して実装され得る。より具体的には、ディレクトリサービス106は、テナント1のドメイン内で、認証、許可、及び物理リソースと仮想リソース(例えば、ファイル共有108、コネクタ120、仮想デスクトップ122A~122N、要塞124)へのアクセスを管理するように構成されている。ディレクトリサービス106は、テナント1に関連付けられたユーザの認証及び許可も管理するように構成されている。図示するように、オンプレミスネットワーク102は、仮想ネットワーク110に接続されている。
【0032】
図1の例を続けて説明すると、仮想ネットワーク110は、テナント1が管理するテナント1専用の仮想マシン(例えば、ゲートウェイ150)で構成される仮想通信ネットワークである。仮想ネットワーク110は、オンプレミスネットワーク102及び仮想ネットワーク112に接続されている。仮想ネットワーク110とオンプレミスネットワーク102との間の接続は、インターネットベースの接続又はプライベート接続(例えば、Microsoft Corporationから市販されているEXPRESSROUTEによる接続)を含むことができる。仮想ネットワーク110と仮想ネットワーク112との間の接続は、IaaSシステム104内に基づく接続を含むことができると共に、例えばIaaSシステム104内の2つのネットワークのピアリングによって又は他のネットワーク技術(例えば、フロリダ州フォートローダーデールのCitrix Systems, Inc.から市販されているvirtual CITRIX SD-WAN)の使用によって確立することができる。ゲートウェイ150は、仮想ネットワーク112に接続される仮想リソース(例えば、仮想デスクトップ122A~122N及びコネクタ120)と、オンプレミスネットワーク102に接続されるリソース(例えば、ファイル共有108及びディレクトリサービス106)との間の通信をセキュアにするように構成された仮想デバイスである。いくつかの実施例では、ゲートウェイ150は、仮想プライベートネットワーク(VPN)を実装して、リソース間の通信をセキュアにすることができる。
【0033】
図1の例を続けて説明すると、仮想ネットワーク112は、テナント1専用の仮想デバイス(例えば、コネクタ120、仮想デスクトップ122A~122N、及び要塞124)から構成され、これらの仮想デバイスを相互に接続する通信ネットワークである。仮想ネットワーク110とは異なり、仮想ネットワーク112は、例えば、カタログサービス144を介してDaaSプロバイダによって管理されている。仮想ネットワーク112内において、コネクタ120は、ディレクトリサービス106が統轄するドメインに参加するように構成されると共に、仮想デスクトップ122A~122Nを、テナント1に関連付けられたユーザがパーソナルコンピューティングデバイスを介して仮想デスクトップ122A~122Nにアクセスすることを可能にする仮想化インフラストラクチャに接続するように構成されている。このような仮想化インフラストラクチャの一例は、図6を参照して以下でさらに説明される。図1には1つのコネクタ120のみが図示されているが、いくつかの実装では、性能及び冗長性を改善するために複数のコネクタ120が利用されることに留意されたい。少なくとも1つの実施例では、コネクタ120は、Citrix Systems, Inc.から市販されているCITRIX CLOUD CONNECTORを使用して実装される。
【0034】
いくつかの実施例では、仮想デスクトップ122A~122Nの各々は、仮想マシンのカタログに関連付けられているマスタイメージから作成される。このマスタイメージとカタログとは、プロセッサのタイプ、メモリ、ネットワーク接続、オペレーティングシステム、及びインストールされているアプリケーションなどの、仮想デスクトップの属性を指定する。図1の例では、仮想デスクトップ122A~122Nの各々は、また、ディレクトリサービス106と相互運用することによってテナント1のドメインに参加するように構成されると共に、テナント1に関連付けられたユーザがディレクトリサービス106を介してドメインへの認証を行うことを可能にするように構成されている。このようにすることで、仮想デスクトップ122A~122Nの各々は、ドメインへの認証に成功したテナント1に関連付けられたユーザが、仮想デスクトップ122A~122Nを介してファイル共有108などのドメインリソースにアクセスできるようにする。さらに、仮想デスクトップ122A~122Nの各々は、ユーザが、仮想デスクトップ122A~122N、仮想化インフラストラクチャ、及びユーザのパーソナルコンピューティングデバイスを介して、インストールされたアプリケーションを起動して対話するか、又はインタラクティブなコンピューティングセッションを行うことを可能にするように構成されている。
【0035】
特定の実施例では、要塞124は、テナントMに関連付けられたユーザが仮想ネットワーク112内の問題をトラブルシューティングできるように構成された仮想マシンである。これらの問題は、例えば、カタログの作成の問題、及び/又はカタログを使用した仮想デスクトップの作成の問題を含み得る。いくつかの実施例では、要塞124は、問題のトラブルシューティングのために特別に作成され、アクセスされ使用された後に削除される一時的なマシンである。カタログサービス144によって指揮され、要塞124が関与するプロセスについては、図4を参照して以下でさらに説明される。
【0036】
図1の例を続けて説明すると、仮想ネットワーク114は、テナント2専用の仮想デバイス(例えば、コネクタ126及び仮想デスクトップ128A~128N)から構成され、これらの仮想デバイスを相互に接続する通信ネットワークである。仮想ネットワーク112と同様に、仮想ネットワーク114は、例えば、カタログサービス144を介してDaaSプロバイダによって管理される。また、仮想ネットワーク112とは異なり、コネクタ126及び仮想デスクトップ128A~128Nは、テナント2が管理するドメインに参加するようには構成されていない。むしろ、コネクタ126及び仮想デスクトップ128A~128Nは、上述したように、DaaSプロバイダが管理し且つマシンディレクトリサービス138が統轄するドメインに参加するように構成されている。コネクタ126は、仮想デスクトップ128A~128Nを、テナント2に関連付けられたユーザがパーソナルコンピューティングデバイスを介して仮想デスクトップ128A~128Bにアクセスできるようにする仮想化インフラストラクチャに接続するように構成されている。仮想デスクトップ128A~128Nは、仮想マシンのカタログに関連付けられたマスタイメージから作成される。図1の例では、仮想デスクトップ128A~128Nは、ユーザディレクトリサービス140との相互運用によってユーザを認証するように構成されている。さらに、仮想デスクトップ128A~128Nは、仮想デスクトップ128A~128N、仮想化インフラストラクチャ、及びユーザのパーソナルコンピューティングデバイスを介して、ユーザがインストールされたアプリケーションを起動して対話するか、又はインタラクティブなコンピューティングセッションを行うことを可能にするように構成されている。
【0037】
図1の例を続けて説明すると、仮想ネットワーク116は、テナントM専用の仮想デバイス(例えば、コネクタ130及び仮想デスクトップ132)から構成され、これらの仮想デバイスを相互に接続する通信ネットワークである。コネクタ130及び仮想デスクトップ132は、コネクタ126及び仮想デスクトップ128A~128Nのいずれか1つと同様に構造化されて機能する。このように、コネクタ130及び仮想デスクトップ132は、コネクタ120及び仮想デスクトップ128A~128Nのいずれか1つがテナント2に関して動作するのと同様に、テナントMに関して動作する。少なくともいくつかの実施例では、仮想ネットワーク114に適用可能なセキュリティルールと、仮想ネットワーク116に適用可能なセキュリティルールとは、それに接続された仮想マシンが仮想ネットワークを超えて通信することを妨げることに留意されたい。
【0038】
いくつかの実施例では、イメージビルダ134は、テナントMに関連付けられたユーザが新しいマスタイメージを構築できるように構成された仮想マシンである。マスタイメージは、例えば、特定のユーザグループによって必要とされるアプリケーション(例えば、エンジニアリングユーザのためのコンピュータ支援設計ソフトウェア)と、テナントMに関連付けられたすべてのユーザによって必要とされるアプリケーション(例えば、電子メールクライアント、仮想化エージェントなど)とを含むことができる。いくつかの実施例では、イメージビルダ134は、新しいマスタイメージを構築するために特別に作成され、マスタイメージが完成して使用可能になった後に削除される一時的なマシンである。カタログサービス144によって指揮され、イメージビルダ134が関与するプロセスについては、図3を参照して以下でさらに説明する。このプロセス及び他のプロセスを実行するために、イメージビルダ134は、イメージデータストア135にアクセスして、様々な情報を取得し且つ格納するように構成され得る。以下でさらに詳細に説明するように、この情報には、DaaSサービスプロバイダ及び/又はテナントによって保持されるベースイメージ及びマスタイメージのコピーが含まれる。これらのベースイメージ及びマスタイメージは、例えば、マスタイメージに基づく仮想デスクトップが本開示の仮想化インフラストラクチャに接続することを可能にするための、プリインストールされた仮想化エージェントを含むことができる。いくつかの実施例では、カタログサービス144は、例えば、IaaSシステム104への1つ又は複数のAPI呼び出し(又はIaaSシステム104との他の形式の相互運用)を介して、テナントに代わってイメージデータストア135のためにIaaSシステム104からストレージを調達する。
【0039】
図1の特徴は、DaaSプロビジョニングサービス136の機能のいくつかを強調している。仮想ネットワーク112、114、及び116は、カタログサービス144によって自律的にプロビジョニングされ、構成されたDaaS仮想ネットワークである。仮想ネットワーク112のプロビジョニングの一部として、カタログサービス144は、コネクタ120を作成し、コネクタ120は、その後に作成された仮想デスクトップ122A~122Nを仮想化インフラストラクチャに接続して、その仮想デスクトップをテナント1に関連付けられたユーザが利用できるようにする。第1のテナントのために仮想ネットワーク112を構成することの一部として、カタログサービス144は、仮想ネットワーク112を、第1のテナントが管理する仮想ネットワーク110に接続する(例えば、ピアリングする)。この接続により、コネクタ120及び仮想デスクトップ122A~122Nは、ゲートウェイ150を介してオンプレミスネットワーク102に配置されたリソース(例えば、ディレクトリサービス106及びファイル共有108)にアクセスすることができる。さらに、要塞124が必要とされる場合には、カタログサービス144は、要塞124の作成を自動化し、仮想ネットワーク112のセキュリティルールを自律的に再設定して、要塞124にリモートでアクセスできるようにする。
【0040】
さらに、仮想ネットワーク114及び116のプロビジョニング及び構成の一部として、カタログサービス144は、マシンディレクトリサービス138と相互運用することによって、コネクタ126及び130と、仮想デスクトップ128A~128Nと、132とを、テナントにまたがるドメインに参加するように構成する。さらに、イメージビルダ134が必要とされる場合には、カタログサービス144は、イメージビルダ134の作成を自動化し、仮想ネットワーク116のセキュリティルールを自律的に再設定して、イメージビルダ134にリモートでアクセスできるようにする。
【0041】
図1に示すDaaSプロビジョニングサービスは、IaaSシステム104内に実装されているが、これは要件ではないことに留意されたい。他の実施例では、DaaSプロビジョニングサービス136は、それが適応するIaaSシステムとは別個のコンピューティング環境内に実装される。これらの実施例では、マシンディレクトリサービス138及び/又はユーザディレクトリサービス140は、適応されるIaaSシステム内、DaaSプロビジョニングサービス136をホストするコンピューティング環境内、又は他の場所に実装され得る。さらに、様々な実施例によれば、任意の数の仮想ネットワーク及びテナントがサポートされ得ることに留意されたい。追加的に又は代替的に、いくつかの実施例では、ディレクトリサービス106及びファイル共有108は、例えば、オンプレミスネットワーク内ではなく、仮想ネットワーク110内に実装され得る。この場合、ゲートウェイ150は省略されてもよい。
【0042】
(DaaSプロビジョニングプロセス)
上述したように、本開示の少なくともいくつかの実施例は、DaaS自律プロビジョニング及び構成プロセスを実行するように構成されたDaaSプロビジョニングサービス(例えば、図1のDaaSプロビジョニングサービス136)を含む。図2は、そのような自律的なプロビジョニング及び構成プロセスの1つであるプロセス200を示す図である。
【0043】
図2に示すように、プロセス200は、カタログサービス(例えば、図1のカタログサービス144)が、要求者のプロセス(例えば、図1のユーザインタフェース142)からDaaSシステムをプロビジョニングする要求を受信すること(202)から開始する。例えば、カタログサービスは、要求者がDaaSシステムを確立することを望んでいることを示す1つ又は複数のAPI呼び出しをユーザインタフェースから受信することができる。このプロビジョニング要求の受信に応じて、カタログサービスは、DaaSプロバイダ(例えば、DaaSプロビジョニングサービスのプロバイダ)によってコントロールされる要求者用のアカウントを要求する(204)。例えば、カタログサービスは、要求されたDaaSシステムを提供するように適合されているIaaSシステム(例えば、IaaSシステム104)に1つ又は複数のAPI呼び出しを送信することができる(又は、その他の方法でIaaSシステムと相互運用することができる)。
【0044】
プロセス200を続けて説明すると、カタログサービスは、要求者である現在のテナント(the requestor-now-tenant)に関連付けられた新たに作成されたIaaSアカウントを、カタログサービス及び(いくつかの実装では)DaaSプロバイダに関連付けられたユーザによってコントロールされるように設定する(206)。例えば、カタログサービスは、IaaSシステムに1つ又は複数のAPI呼び出しを送信(又はその他の方法でIaaSシステムと相互運用)して、新たに作成されたIaaSアカウントに関連付けられた認証資格情報(authentication credentials)を、デフォルト又は以前に指定された認証資格情報から、カタログサービス又はDaaSプロバイダに関連付けられたユーザのみがアクセスできる新しい認証資格情報に変更することができる。この方法でIaaSアカウントを設定することで、カタログサービスに対し、及び/又はDaaSプロバイダに関連付けられたユーザに対し、テナントに代わってIaaSアカウントを管理する権限が付与される。いくつかの実施例では、カタログサービスは、カタログサービスのアクセス及び/又はDaaSプロバイダに関連付けられたユーザによるアクセスの監査証跡(audit trail)を記録するように構成されている。次に、カタログサービスは、IaaSアカウントをテナントに関連付ける(207)。例えば、カタログサービスは、カタログサービスデータストア(例えば、図1のカタログサービスデータストア146)に、IaaSアカウントの識別子とテナントの識別子とを関連付けるDaaSシステムのレコードを格納することができる。このIaaSアカウントとの関連付けは、その後の処理において、テナントの識別子(例えば、名前)を用いてアカウントを識別するために使用され得る。
【0045】
プロセス200を続けて説明すると、カタログサービスは、テナントが管理する仮想ネットワーク(例えば、図1の仮想ネットワーク110)への接続を作成する要求を受信する(208)。例えば、カタログサービスは、テナントに関連付けられたユーザが新しい接続の作成を希望していることを示す1つ又は複数のAPI呼び出しをユーザインタフェースから受信することができる。この接続要求には、接続の属性を指定する設定情報を含めることができる。これらの属性には、接続のリンクのタイプ、接続の識別子、仮想マシンが接続で使用するために利用可能なインターネットプロトコル(IP)アドレスの範囲、接続を介してアクセス可能な仮想ネットワークの識別子、及び接続の識別子(例えば、名前) を含めることができる。接続のリンクのタイプには、VNetピアリングやCitrix SD-WAN(登録商標)などがある。動作208内で、カタログサービスは、後続の処理のために、これらの接続属性をカタログサービスデータストア146に格納する。
【0046】
プロセス200を続けて説明すると、カタログサービスは、DaaSプロバイダのIaaSアカウントの下にDaaS仮想ネットワークを作成し、そのDaaS仮想ネットワークをテナントに関連付ける(209)。例えば、カタログサービスは、1つ又は複数のAPI呼び出しをIaaSに送信(又はその他の方法でIaaSと相互運用)して、仮想ネットワークを作成すると共に、仮想ネットワークの識別子と、DaaS仮想ネットワークの接続タイプの識別子と、カタログサービスデータストア内のテナントの識別子とを関連付けるレコードを、カタログサービスデータストアに格納することができる。接続タイプは、DaaS仮想ネットワーク内の仮想デスクトップが、テナントが管理するドメインに参加するか、又はDaaSプロバイダが管理するドメインに参加するかを示す。仮想デスクトップが、テナントが管理するドメインに参加することを示す接続タイプは、「ドメイン参加型(domain joined)」接続タイプと呼ばれる場合がある。また、仮想デスクトップが、DaaSプロバイダが管理するドメインに参加することを示す接続タイプは、「非ドメイン参加型(non-domain joined)」接続タイプと呼ばれる場合がある。ドメイン参加型の接続タイプの仮想デスクトップは、テナントが管理する他のネットワークリソースにアクセスすることができる。非ドメイン参加型の接続タイプの仮想デスクトップは、テナントが管理する他のネットワークリソースにアクセスすることができない。したがって、この実施例では、動作209で作成されたDaaS仮想ネットワークは、ドメイン参加型である。
【0047】
動作209のいくつかの例では、カタログサービスは、新たに構成されたドメイン参加型のDaaS仮想ネットワーク内に、1つ又は複数のコネクタ(例えば、図1のコネクタ120)を自律的にプロビジョニングして、仮想ネットワーク内で作成された仮想デスクトップが本開示の仮想化インフラストラクチャと相互運用できるようにする。例えば、カタログサービスは、1つ又は複数のAPI呼び出しをIaaSに送信(又はその他の方法でIaaSと相互運用)して、仮想マシンを作成し、コネクタのイメージを使用して仮想マシンを再イメージ化することができる。いくつかの実施例では、コネクタのイメージは、DaaSプロバイダによって保持され、カタログサービスデータストアに格納されている。
【0048】
プロセス200を続けて説明すると、カタログサービスは、新たに作成されたドメイン参加型のDaaS仮想ネットワークを、テナントが管理する仮想ネットワーク(例えば、図1の仮想ネットワーク110)に接続する(210)。例えば、カタログサービスは、1つ又は複数のAPI呼び出しをIaaSに送信(又はその他の方法でIaaSと相互運用)して、新たに作成されたDaaS仮想ネットワークを、テナントが管理する仮想ネットワークにピアリングすることができる。動作210の特定の例では、カタログサービスは、DaaS仮想ネットワークのセキュリティルールも設定する。これらの実施例では、カタログサービスは、ポート80、443、1494、及び2598を介した仮想デスクトップとコネクタとの間の通信を許可するが、その他のすべてのインバウンド通信を拒否するセキュリティルールを設定する。また、カタログサービスは、すべてのアウトバウンドのトラフィックを許可するセキュリティルールも設定する。例えば、カタログサービスは、1つ又は複数のAPI呼び出しをIaaSに送信(又はその他の方法でIaaSと相互運用)して、上記のセキュリティルールをDaaS仮想ネットワークに追加することができる。
【0049】
プロセス200を続けて説明すると、カタログサービスは、仮想デスクトップのカタログを作成する要求を受信する(211)。例えば、カタログサービスは、テナントに関連付けられたユーザが新しいカタログの作成を希望していることを示す1つ又は複数のAPI呼び出しをユーザインタフェースから受信することができる。このカタログ要求には、カタログに含まれる仮想デスクトップの属性を指定する設定情報を含めることができる。これらの仮想デスクトップの属性には、仮想コンピューティングセッションのタイプ、マシンパフォーマンスのプロファイル、適用されるマスタイメージ、接続タイプ、及び電源スケジュールを含めることができる。いくつかの実施例では、仮想デスクトップによってサポートされ得るコンピューティングセッションのタイプには、マルチセッション(同じ仮想デスクトップを複数のユーザが使用できる)、静的セッション(1人のユーザが使用でき、ユーザによる変更を保存する)、ランダムセッション(1人のユーザが使用でき、ユーザによる変更を保存しない)が含まれる。接続タイプは、仮想デスクトップが、テナントが管理するドメインに参加するかどうかを示す。設定情報は、カタログ名や、カタログに対して作成される仮想デスクトップの最大数など、カタログ自体の属性をさらに含むことができる。マシンパフォーマンスプロファイルには、仮想デスクトップに割り当てる仮想プロセッサのタイプ及び仮想メモリの量を記載することができる。
【0050】
プロセス200を続けて説明すると、カタログサービスは、カタログ要求で指定されたテナントについて、カタログ要求で指定された接続タイプに関連付けられたDaaS仮想ネットワークが存在するかどうかを判断する(212)。例えば、カタログサービスは、テナントの識別子と、以前に作成されたDaaS仮想ネットワークの識別子と、以前に作成されたDaaS仮想ネットワークに関連付けられた接続タイプの識別子とを関連付けるレコードを、カタログサービスデータストアに照会することができる。この実施例では、カタログサービスが、カタログ要求で指定されたテナント及び接続タイプに一致する識別子を有するレコードをカタログサービスデータストア内で見つけた場合、カタログサービスは、カタログ要求で指定された接続タイプを有するDaaS仮想ネットワークが、指定されたテナントについて存在すると判断する(212)。これは、例えば、そのテナントに関連付けられたユーザが、上記の動作208~210で説明したように、接続を以前に作成した場合に該当する。カタログサービスが、カタログサービスデータストア内にこのようなレコードを見つけられない場合、カタログサービスは、指定された接続タイプに関連付けられたDaaS仮想ネットワークが、指定されたテナントについて存在していないと判断する(212)。カタログサービスが、指定された接続タイプに関連付けられたDaaS仮想ネットワークが、指定されたテナントについて存在すると判断した場合(212)、カタログサービスは動作222に進む。カタログサービスが、指定された接続タイプに関連付けられたDaaS仮想ネットワークが、指定されたテナントについて存在してしないと判断した場合(212)、カタログサービスは動作214に進む。
【0051】
プロセス200を続けて説明すると、動作214において、カタログサービスは、DaaSプロバイダのIaaSアカウントの下にDaaS仮想ネットワークを作成し、DaaS仮想ネットワークを、要求で指定されたテナントに関連付ける。例えば、カタログサービスは、1つ又は複数のAPI呼び出しをIaaSに送信(又はその他の方法でIaaSと相互運用)して、仮想ネットワークを作成すると共に、仮想ネットワークの識別子と、接続タイプの識別子(例えば、非ドメイン参加型)と、カタログサービスデータストア内のテナントの識別子とを関連付けるレコードを、カタログサービスデータストアに格納することができる。さらに、動作214のいくつかの例では、カタログサービスは、新たに構成されたDaaS仮想ネットワーク内に、1つ又は複数のコネクタ(例えば、図1のコネクタ120)を自律的にプロビジョニングして、仮想ネットワーク内で作成された仮想デスクトップが本開示の仮想化インフラストラクチャと相互運用できるようにする。例えば、カタログサービスは、1つ又は複数のAPI呼び出しをIaaSに送信(又はその他の方法でIaaSと相互運用)して、仮想マシンを作成し、コネクタのイメージを使用して仮想マシンを再イメージ化することができる。いくつかの実施例では、コネクタのイメージは、DaaSプロバイダによって保持され、カタログサービスデータストアに格納されている。
【0052】
プロセス200を続けて説明すると、カタログサービスは、新たに作成された非ドメイン参加型のDaaS仮想ネットワークを、DaaSプロバイダが管理する仮想ネットワーク(例えば、図1の仮想ネットワーク118)に接続する(216)。例えば、カタログサービスは、1つ又は複数のAPI呼び出しをIaaSに送信して、新たに作成されたDaaS仮想ネットワークを、DaaSプロバイダが管理する仮想ネットワークにピアリングすることができる。動作220の特定の例では、カタログサービスはまた、DaaS仮想ネットワークのセキュリティルールを設定する。これらの例では、カタログサービスは、ポート80、443、1494、及び2598を介した仮想デスクトップとコネクタとの間の通信を許可するが、その他のすべてのインバウンド通信を拒否するセキュリティルールを設定する。カタログサービスはまた、すべてのアウトバウンドのトラフィックを許可するセキュリティルールも設定する。例えば、カタログサービスは、1つ又は複数のAPI呼び出しをIaaSに送信(又はその他の方法でIaaSと相互運用)して、上記のセキュリティルールをDaaS仮想ネットワークに追加することができる。
【0053】
プロセス200を続けて説明すると、動作222において、カタログサービスは、カタログ要求によって指定された新しいカタログを作成する。例えば、カタログサービスは、1つ又は複数のAPI呼び出しをIaaSに送信(又はその他の方法でIaaSと相互運用)して、テナントのアカウントの下で、カタログ要求で指定された通りのカタログを作成することができる。
【0054】
プロセス200を続けて説明すると、カタログサービスは、カタログで指定された通りの仮想デスクトップを作成する要求を受信する(224)。例えば、カタログサービスは、カタログの識別子を指定する設定情報と、カタログに属する仮想デスクトップを作成する要求とを含む1つ又は複数のAPI呼び出しをユーザインタフェースから受信することができる。
【0055】
プロセス200を続けて説明すると、カタログサービスは、仮想デスクトップ要求で指定された仮想デスクトップを作成し(226)、仮想デスクトップをカタログに追加する。例えば、カタログサービスは、1つ又は複数のAPI呼び出しをIaaSに送信(又はその他の方法でIaaSと相互運用)して、仮想マシンを作成し、カタログによって指定されたマスタイメージを使用して仮想マシンを再イメージ化することができる。
【0056】
プロセス200を続けて説明すると、カタログサービスは、新たに作成された仮想デスクトップを、カタログで指定された接続タイプに関連付けられたDaaS仮想ネットワークに接続する(228)。例えば、カタログサービスは、1つ又は複数のAPI呼び出しをIaaSに送信(又はその他の方法でIaaSと相互運用)して、新たに作成された仮想デスクトップをDaaS仮想ネットワークに接続することができる。動作228の後、プロセス200は終了する。
【0057】
上述したように、本開示の少なくともいくつかの実施例は、マスタイメージ構築プロセスを実行するように構成されたDaaSプロビジョニングサービス(例えば、図1のDaaSプロビジョニングサービス136)を含む。図3は、そのようなマスタイメージ構築プロセスの1つであるプロセス300を示す。
【0058】
図3に示すように、プロセス300は、カタログサービス(例えば、図1のカタログサービス144)が、要求元プロセス(requesting process)(例えば、図1のユーザインタフェース142)から、マスタイメージを構築する要求を受信すること(302)から開始する。例えば、カタログサービスは、テナントに関連付けられたユーザが新しいマスタイメージの構築を希望することを示す1つ又は複数のAPI呼び出しをユーザインタフェースから受信することができる。構築要求には、新しいマスタイメージのベースとなる既存のイメージを特定する設定情報を含めることができる。このベースイメージは、テナント又はDaaSプロバイダによって保持され得る。構築要求には、さらに、テナントのIaaSアカウント、マスタイメージから構築された仮想デスクトップが使用するネットワーク接続のタイプ、マスタイメージから構築された仮想デスクトップが存在すべきリージョン、マスタイメージから構築された仮想デスクトップにアクセスするための認証資格情報、及びマスタイメージから構築された仮想デスクトップのマシンパフォーマンスプロファイルの各々を特定する設定情報を含めることができる。
【0059】
プロセス300を続けて説明すると、カタログサービスは、構築要求を解析して、その中で指定されたベースイメージ、IaaSアカウント、DaaS仮想ネットワーク、及び認証資格情報を特定する(304)。いくつかの実施例では、カタログサービスは、カタログサービスデータストア(例えば、図1のカタログサービスデータストア146)から、仮想ネットワークの識別子と、構築要求で指定されたテナントの識別子及びネットワーク接続タイプの識別子とを関連付けるレコードにアクセスすることによって、DaaS仮想ネットワークを特定する。
【0060】
プロセス300を続けて説明すると、カタログサービスは、構築要求で特定されたベースイメージから仮想マシン(例えば、図1のイメージビルダ134)を作成する(306)。例えば、カタログサービスは、1つ又は複数のAPI呼び出しをIaaSに送信(又はその他の方法でIaaSと相互運用)して、仮想マシンを作成し、ベースイメージを使用して仮想マシンを再イメージ化することができる。
【0061】
プロセス300を続けて説明すると、カタログサービスは、仮想マシンへのアクセスに使用される認証資格情報を設定する(308)。例えば、カタログサービスは、1つ又は複数のAPI呼び出しをIaaSシステムに送信(又はその他の方法でIaaSシステムと相互運用)して、新たに作成された仮想マシンに関連付けられている認証資格情報を、デフォルトの資格情報から構築要求で指定された認証資格情報に変更することができる。
【0062】
プロセス300を続けて説明すると、カタログサービスは、新たに作成された仮想マシンを、構築要求から特定されたDaaS仮想ネットワークに接続する(310)。例えば、カタログサービスは、1つ又は複数のAPI呼び出しをIaaSに送信(又はその他の方法でIaaSと相互運用)して、新たに作成された仮想マシンをDaaS仮想ネットワークに接続することができる。さらに、動作310のいくつかの例では、カタログサービスは、外部からアドレス指定が可能な仮想マシン用のインターネットプロトコル(IP)アドレスを取得する。例えば、カタログサービスは、1つ又は複数のAPI呼び出しをIaaSに送信(又はその他の方法でIaaSと相互運用)して、外部IPアドレスを取得し、仮想マシンに割り当てることができる。
【0063】
プロセス300を続けて説明すると、カタログサービスは、構築要求から特定されたDaaS仮想ネットワークのセキュリティルールを更新する(312)。例えば、カタログサービスは、1つ又は複数のAPI呼び出しをIaaSに送信(又はその他の方法でIaaSと相互運用)して、ポート(例えば、ポート3389)を介した仮想マシンへの通信を一時的に許可することができる。これにより、テナントに関連付けられたユーザは、リモートデスクトッププロトコル(RDP) と構築要求で指定された認証資格情報とを使用して、仮想マシンにアクセスし、カスタマイズ(アプリケーションのインストールなど)することができる。
【0064】
プロセス300を続けて説明すると、カタログサービスは、新しいマスタイメージの構築を終了する要求を受信する(314)。例えば、カタログサービスは、テナントに関連付けられたユーザが仮想マシンのカスタマイズを完了したことを示す設定情報を含む1つ又は複数のAPI呼び出しを、ユーザインタフェースから受信することができる。
【0065】
プロセス300を続けて説明すると、カタログサービスは、以前に作成されカスタマイズされた仮想マシンから新しいマスタイメージを生成する(316)。例えば、カタログサービスは、1つ又は複数のAPI呼び出しをIaaSに送信(又はその他の方法でIaaSと相互運用)して、以前に作成され、カスタマイズされた仮想マシンからイメージを作成することができる。
【0066】
プロセス300を続けて説明すると、カタログサービスは、新しいマスタイメージが生成された仮想マシンを削除する(318)。例えば、カタログサービスは、1つ又は複数のAPI呼び出しをIaaSに送信(又はその他の方法でIaaSと相互運用)して、仮想マシンのイメージ作成が完了した後に、仮想マシンを削除することができる。動作318の後、プロセス300は終了する。
【0067】
上述した通り、本開示の少なくともいくつかの実施例は、要塞作成プロセスを実行するように構成されたDaaSプロビジョニングサービス(例えば、図1のDaaSプロビジョニングサービス136)を含む。図4は、そのような要塞作成プロセスの1つであるプロセス400を示す。
【0068】
図4に示すように、プロセス400は、カタログサービス(例えば、図1のカタログサービス144)が、要求元プロセス(例えば、図1のユーザインタフェース142)から、仮想要塞を作成する要求を受信すること(402)から開始する。例えば、カタログサービスは、テナントに関連付けられたユーザがトラブルシューティングの目的でDaaS仮想ネットワーク内での仮想要塞の作成を望んでいることを示す1つ又は複数のAPI呼び出しを、ユーザインタフェースから受信することができる。要塞要求には、仮想要塞が接続されるべき仮想デスクトップのカタログ、要塞への接続を許可されたIPアドレスの範囲(例えば、RDP経由)、及びテナントに関連付けられたユーザが仮想要塞に対して認証できる認証資格情報の各々を特定する設定情報を含めることができる。
【0069】
プロセス400を続けて説明すると、カタログサービスは、要塞要求を解析して、そこに指定されたカタログ、IPアドレス範囲、及び認証資格情報を特定する(404)。カタログサービスは、カタログが、カタログ内の仮想デスクトップがテナントが管理するドメインに参加していることを示す接続タイプに関連付けられているかどうかを判断する(406)。例えば、カタログサービスは、要塞要求で指定されたカタログの識別子と、カタログに関連付けられた接続タイプの識別子とを関連付ける、カタログサービスデータストア内のレコードを特定することができる。カタログサービスが、カタログが、カタログ内の仮想デスクトップがテナントが管理するドメインに参加していることを示す接続タイプに関連付けられていると判断する場合(406)、カタログサービスは動作408に進む。カタログサービスが、カタログが、カタログ内の仮想デスクトップがDaaSプロバイダが管理するドメインに参加していることを示す接続タイプに関連付けられていると判断する場合(406)、カタログサービスは、共有ドメインへの仮想要塞のアクセスが許可されないため、プロセス400を終了する。
【0070】
動作408では、カタログサービスは、カタログに関連付けられたDaaS仮想ネットワークを特定する(408)。例えば、カタログサービスは、要塞要求で指定されたカタログをDaaS仮想ネットワークに関連付けるカタログサービスデータストア内のレコードを特定することができる。
【0071】
プロセス400を続けて説明すると、カタログサービスは、仮想要塞(例えば、図1の要塞124)を作成する(410)。例えば、カタログサービスは、1つ又は複数のAPI呼び出しをIaaSに送信(又はその他の方法でIaaSと相互運用)して、要塞ホストを作成することができる。
【0072】
プロセス400を続けて説明すると、カタログサービスは、仮想要塞へのアクセスに使用される認証資格情報を設定する(412)。例えば、カタログサービスは、1つ又は複数のAPI呼び出しをIaaSに送信(又はその他の方法でIaaSと相互運用)して、新たに作成された仮想要塞に関連付けられた認証資格情報を、デフォルトの資格情報から要塞要求で指定された認証資格情報に変更することができる。
【0073】
プロセス400を続けて説明すると、カタログサービスは、新たに作成された仮想要塞を、カタログに関連付けられたDaaS仮想ネットワークに接続する(414)。例えば、カタログサービスは、1つ又は複数のAPI呼び出しをIaaSに送信(又はその他の方法でIaaSと相互運用)して、新たに作成された仮想要塞をDaaS仮想ネットワークに接続することができる。さらに、動作414のいくつかの例では、カタログサービスは、外部からアドレス指定が可能な仮想要塞用のインターネットプロトコル(IP)アドレスを取得する。例えば、カタログサービスは、1つ又は複数のAPI呼び出しをIaaSに送信(又はその他の方法でIaaSと相互運用)して、外部IPアドレスを取得し、要塞ホストに割り当てることができる。
【0074】
プロセス400を続けて説明すると、カタログサービスは、DaaS仮想ネットワークのセキュリティルールを更新する(416)。例えば、カタログサービスは、1つ又は複数のAPI呼び出しをIaaSに送信(又はその他の方法でIaaSと相互運用)して、要塞要求で指定されたIPアドレス範囲のポート(例えば、ポート3389)を介した要塞への通信を一時的に許可すると共に、そのポートを介した要塞からDaaS仮想ネットワーク内の仮想デスクトップ及びコネクタへの通信を一時的に許可することができる。これにより、テナントに関連付けられたユーザは、RDPと要塞要求で指定された認証資格情報とを使用して、仮想デスクトップ及びコネクタにアクセスし、トラブルシューティングを行うことができる。
【0075】
プロセス400を続けて説明すると、カタログサービスは、所定の利用可能期間が満了した後に、仮想要塞をパワーダウンする(418)。例えば、カタログサービスは、1つ又は複数のAPI呼び出しをIaaSに送信(又はその他の方法でIaaSと相互運用)して、最初の作成から8時間後に要塞ホストをシャットダウンすることができる。動作418の後、プロセス400は終了する。
【0076】
本開示のプロセスの各々は、特定の実施例における1つの特定の一連の動作をそれぞれ示す。いくつかの動作は任意選択であり、したがって1つ又は複数の例に従って省略することができる。さらに、本明細書で説明されるデバイス及び方法の範囲から逸脱することなく、動作の順序を変更することができ、又は他の動作を追加することができる。
【0077】
(DaaS提供システム用コンピュータデバイス)
図5は、本開示の実施例による様々なDaaSシステム及びプロセスを実装するように構成されたコンピューティングデバイス500のブロック図である。
【0078】
コンピューティングデバイス500は、1つ以上のプロセッサ503、揮発性メモリ522(例えば、ランダムアクセスメモリ)、不揮発性メモリ528、ユーザインタフェース(UI)570、1つ以上のネットワーク又は通信インタフェース518、及び通信バス550を含む。コンピューティングデバイス500は、クライアントデバイス、コンピューティングデバイス、エンドポイントデバイス、コンピュータ、又はコンピュータシステムと称されることがある。
【0079】
不揮発性(非一時的)メモリ528は、1つ以上のハードディスクドライブ(HDD)又は他の磁気記憶媒体若しくは光記憶媒体、フラッシュドライブ若しくは他のソリッドステート記憶媒体などの1つ以上のソリッドステートドライブ(SSD)、1つ以上のハイブリッド磁気及びソリッドステートドライブ、及び/又はクラウドストレージなどの1つ以上の仮想ストレージボリューム、又はそのような物理ストレージボリュームと仮想ストレージボリューム若しくはそれらのアレイとの組合せを含むことができる。
【0080】
ユーザインタフェース570は、グラフィカルユーザインタフェース(GUI)(例えば、タッチスクリーン、ディスプレイなどに提示されるコントロール)と、1つ以上の入出力(I/O)デバイス(例えば、マウス、キーボード、マイクロフォン、1つ以上のスピーカ、1つ以上のカメラ、1つ以上の生体認証スキャナ、1つ以上の環境センサ、及び1つ以上の加速度計、1つ以上のバイザ(visors)など)と、を含むことができる。
【0081】
不揮発性メモリ528は、オペレーティングシステム(OS)515、1つ以上のアプリケーション又はプログラム516、及びデータ517を記憶している。OS515及びアプリケーション516は、プロセッサ(複数可)503によって実行されるようにコード化された一連の命令を含む。これらの命令を実行すると、操作されたデータが得られる。それらの実行の前に、命令を揮発性メモリ522にコピーすることができる。いくつかの実施例では、揮発性メモリ522は、1つ以上のタイプのRAM、及び/又はメインメモリよりも速い応答時間を提供することができるキャッシュメモリを含むことができる。データは、ユーザインタフェース570を介して入力されるか、又はネットワークインタフェース518などの他のI/Oデバイス(複数可)から受信することができる。上述のデバイス500の様々な要素は、通信バス550を介して互いに通信することができる。
【0082】
図示されたコンピューティングデバイス500は、単なる一例のクライアントデバイス又はサーバとして示されており、本明細書で説明されるように動作可能な好適なハードウェア及び/又はソフトウェアを有することができる、任意のタイプの物理マシン又は仮想マシン、或いは物理マシン及び仮想マシンのセットを有する任意のコンピューティング環境又は処理環境内に実装され得る。
【0083】
プロセッサ(複数可)503は、システムの機能を実行するために、コンピュータプログラムなどの1つ以上の実行可能命令を実行するために、1つ以上のプログラマブルプロセッサによって実装され得る。本明細書で使用される場合、「プロセッサ」という用語は、機能、動作、又は一連に動作を実行する回路を表す。機能、動作、又は一連の動作は、回路内にハードコードされるか、又はメモリデバイス内に保持され、回路によって実行される命令としてソフトコードされ得る。プロセッサは、デジタル値を使用して、及び/又はアナログ信号を使用して、機能、動作、又は一連の動作を実行することができる。
【0084】
いくつかの実施例では、プロセッサは、1つ以上の特定用途向け集積回路(ASIC)、マイクロプロセッサ、デジタル信号プロセッサ(DSP)、グラフィックス処理ユニット(GPU)、マイクロコントローラ、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブル論理アレイ(PLA)、マルチコアプロセッサ、又は関連するメモリを有する汎用コンピュータで具現化され得る。
【0085】
プロセッサ(複数可)503は、アナログ、デジタル、又はそれらの混合とすることができる。いくつかの実施例では、プロセッサ503は、1つ以上のローカルに配置された物理プロセッサ、或いは1つ以上のリモートに配置された物理プロセッサとすることができる。プロセッサ(複数可)503は、複数のプロセッサコア及び/又は複数のプロセッサを含むことができ、命令の並列同時実行、又は複数のデータに対する1つの命令の並列同時実行のための機能を提供することができる。
【0086】
ネットワークインタフェース518は、セルラー接続及びBluetooth(登録商標)接続を含む様々な有線接続及び/又は無線接続を介して、コンピューティングデバイス500がローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、パーソナルエリアネットワーク(PAN)、又はインターネットなどのコンピュータネットワーク580にアクセスできるようにするために1つ以上のインタフェースを含むことができる。いくつかの実施例では、ネットワーク580は、分散コンピューティングを可能にするために、他のコンピューティングデバイス590との通信を可能にしてもよい。ネットワーク580は、例えば、コンピューティングデバイスがデータを交換することができる1つ以上のプライベート及び/又はパブリックネットワークを含むことができる。
【0087】
説明した実施例では、コンピューティングデバイス500は、クライアントデバイスのユーザに代わってアプリケーションを実行することができる。例えば、コンピューティングデバイス500は、ハイパーバイザによって管理される1つ以上の仮想マシンを実行することができる。各仮想マシンは、ホストされたデスクトップセッションなど、ユーザ又はクライアントデバイスの代わりにアプリケーションが実行する実行セッションを提供することができる。コンピューティングデバイス500は、端末サービスセッションを実行して、ホストされたデスクトップ環境を提供することもできる。コンピューティングデバイス500は、1つ以上のアプリケーションと、1つ以上のデスクトップアプリケーションと、1つ以上のアプリケーションが実行可能な1つ以上のデスクトップセッションとを含むリモートコンピューティング環境へのアクセスを提供することができる。
【0088】
図6はコンピューティングデバイス(例えば、図5のコンピューティングデバイス500)を備える分散コンピューティングシステム600内で動作するように構成されたDaaSシステム(例えば、図1のDaaSシステム100)の選択された部分を示す。図6に示されるように、分散コンピューティングシステム600は、クライアントコンピュータ602、サーバコンピュータ604A-604C、及びサーバ環境606を含む。クライアントコンピュータ602とサーバ環境606とは、ネットワーク616を介して互いに相互運用するように構成される。クライアントコンピュータ602、サーバコンピュータ604A~604C、サーバ環境606、及びネットワーク616のそれぞれは、少なくとも1つのコンピューティングデバイス(例えば、図5のコンピューティングデバイス500)を含む。いくつかの例では、サーバ環境606は、クラスタ又は他の高可用性、高帯域幅のコンピューティングプラットフォームとして構造化された複数のコンピューティングデバイスを含む。
【0089】
図6に示すように、クライアントコンピュータ602は、仮想ワークスペースアプリケーション608(例えば、Citrix Workspace(登録商標)クライアント又はブラウザ)をホストするように構成されている。サーバコンピュータ604Aは、仮想リソースカタログ610(例えば、Citrix(登録商標)StoreFront(登録商標)サービス又はCitrix Workspace(登録商標)サービス)をホストするように構成されている。サーバコンピュータ604Bは、仮想リソースブローカ612をホストするように構成されている。いくつかの実施例では、サーバコンピュータ604Bは、Citrix(登録商標)デリバリーコントローラーである。サーバコンピュータ604Cは、図1のDaaSプロビジョニングサービス136をホストするように構成されている。サーバ環境606は、仮想ネットワーク114を含む図1のIaaSシステムをホストするように構成されている。仮想ネットワーク114には、仮想デスクトップ128A-128Nとコネクタ126とが含まれる。仮想デスクトップ128A~128Nは、仮想化エージェント614A~614N(例えば、Citrix(登録商標)VDA)をホストするように構成されている。コネクタ126は、コネクションサービス(例えば、Citrix Cloud Connector(登録商標)サービス)をホストするように構成されている。図6に示される構成要素のいくつかは、上述されている。簡潔にするために、これらの説明はここでは繰り返さないが、これらのコンピュータで実装されたプロセスのそれぞれはそれぞれの図を参照して説明したように、図6を参照して機能するように構成されている。
【0090】
仮想ワークスペースアプリケーション608、仮想リソースカタログ610、仮想リソースブローカ612、コネクタ126、及び仮想化エージェント614A~614Nが一緒になって、クライアントコンピュータ602のユーザが仮想デスクトップ128A~128Nにアクセスし、仮想デスクトップ128A~128N上で仮想コンピューティングセッションを実行することを可能にする仮想化インフラストラクチャを構成する。この仮想化インフラストラクチャのコンピュータで実装されたプロセスは、相互運用して、アプリケーション、データ、及びデスクトップを管理し、ユーザのデバイス又はロケーションに関係なく、一貫した安全な方法で、ユーザのエンドポイントデバイス602に配信する。仮想化インフラストラクチャは、経費報告書の承認、カレンダーの予定の確認、ヘルプデスクチケットの提出、休暇申請の確認など、ユーザが頻繁に実行するタスクを合理化及び自動化することで、ユーザエクスペリエンスを向上させる。仮想化インフラストラクチャにより、ユーザは、単一のインタフェースを介して、サービスとしてのソフトウェア(SaaS:Software as a Service)アプリケーション、Webアプリケーション、デスクトップアプリケーション、及び専用アプリケーションなど、複数のエンタープライズアプリケーションが提供する機能にアクセスできる。
【0091】
分散コンピューティングシステム600は、DaaSシステムを実装するために使用できる多くの潜在的な構成の一例に過ぎない。したがって、本明細書で開示される実施例は、コンピューティングデバイスの特定の構成に限定されず、他の構成も本開示の範囲内に含まれると考えられる。
【0092】
このように、少なくとも1つの実施例のいくつかの態様を説明したが、様々な変更、修正、及び改良が当業者には容易に想起されることを理解されたい。例えば、本明細書で開示される実施例は、他の文脈で使用することもできる。そのような変更、修正、及び改良は、本開示の一部であることが意図され、本明細書で説明される実施例の範囲内であることが意図されている。従って、前述の説明及び図面は例示に過ぎない。
【0093】
また、本明細書中で使用されている表現及び用語は、説明のためのものであり、制限的なものと理解されるべきではない。本明細書で単数形で言及されたシステム及び方法の例、構成要素、要素、又は動作への任意の言及は、複数を含む例を包含することができ、本明細書での任意の例、構成要素、要素、又は動作への複数の任意の言及はまた、単数のみを含む例を包含することができる。単数形又は複数形での言及は、現在開示されているシステム又は方法、それらの構成要素、動作、又は要素を限定することを意図していない。本明細書における「含む(including)」、「備える(comprising)」、「有する(having)」、「含む(containing)」、及びそれらの変形の使用は、その後に列挙される項目及びその均等物、ならびに追加の項目を包含することを意味する。「又は(or)」という表現は、「又は」を使用して記載される任意の用語が、記載される用語のうちのいずれか1つ、2つ以上、及びすべてを示すことができるように、包括的であると解釈され得る。さらに、本明細書と参照により本明細書に組み込まれる文書との間で用語の使用が一貫していない場合、組み込まれる参照文書における用語の使用は、本明細書の用語の使用を補足するものであり、一致しない場合には、本明細書における用語の使用が優先される。
図1
図2
図3
図4
図5
図6
【手続補正書】
【提出日】2021-11-19
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
コンピューティングサービスを介してDaaS(desktop as a service)システムの少なくとも一部を自律的にプロビジョニングするように構成されたコンピュータシステムであって、
メモリと、
ネットワークインタフェースと、
前記メモリ及び前記ネットワークインタフェースに結合された少なくとも1つのプロセッサであって、前記ネットワークインタフェースを介して、前記コンピューティングサービスのテナントに関連付けられたアカウントに仮想デスクトップのカタログを追加する要求を受信し、前記要求の受信に応じて、前記コンピューティングサービスに複数の要求を送信するように構成された少なくとも1つのプロセッサと、を備え、
前記複数の要求が、前記コンピューティングサービス内に前記テナントに関連付けられた第1の仮想ネットワークを作成するための少なくとも1つの要求と、前記第1の仮想ネットワークを前記コンピューティングサービス内の第2の仮想ネットワークに接続するための少なくとも1つの要求と、前記コンピューティングサービス内に前記カタログを作成するための少なくとも1つの要求とを含む、
コンピュータシステム。
【請求項2】
前記テナントは、第1のテナントであり、
前記少なくとも1つのプロセッサは、
前記ネットワークインタフェースを介して、前記第1のテナントとは異なる前記コンピューティングサービスの第2のテナントに関連付けられた少なくとも1つのアカウントに少なくとも1つのカタログを追加するための少なくとも1つの要求を受信し、
前記少なくとも1つの要求の受信に応じて、前記コンピューティングサービスに少なくとも1つの複数の要求を送信するように、さらに構成され、
前記少なくとも1つの複数の要求は、
前記コンピューティングサービス内に前記第2のテナントに関連付けられた少なくとも1つの仮想ネットワークを作成するための少なくとも1つの要求と、前記少なくとも1つの仮想ネットワークを前記第2の仮想ネットワークに接続するための少なくとも1つの要求と、前記コンピューティングサービス内に前記少なくとも1つのカタログを作成するための少なくとも1つの要求とを含む、
請求項1に記載のコンピュータシステム。
【請求項3】
前記第2の仮想ネットワークは、前記第1のテナント及び前記第2のテナントとは異なる第3のテナントに関連付けられ、かつ前記第3のテナントによって管理されている、請求項2に記載のコンピュータシステム。
【請求項4】
前記メモリは、
前記第1のテナントを前記コンピューティングサービス内の第1のアカウントに関連付ける第1のアカウント情報と、
前記第2のテナントを前記コンピューティングサービス内の第2のアカウントに関連付ける第2のアカウント情報と、
前記第3のテナントを前記コンピューティングサービス内の第3のアカウントに関連付ける第3のアカウント情報と、を格納し、
前記第1のアカウント情報、前記第2のアカウント情報、及び前記第3のアカウント情報は、互いに異なる、
請求項3に記載のコンピュータシステム。
【請求項5】
前記複数の要求は、
1つ又は複数の仮想デスクトップを仮想化インフラストラクチャに接続するように構成されたコネクタを作成するための少なくとも1つの要求と、前記コネクタを前記第1の仮想ネットワークに接続するための少なくとも1つの要求と、をさらに含む、
請求項1から請求項4までのいずれか1項に記載のコンピュータシステム。
【請求項6】
前記複数の要求は、
前記第1の仮想ネットワークの1つ又は複数のセキュリティルールを設定するための少なくとも1つの要求をさらに含む、
請求項1から請求項5までのいずれか1項に記載のコンピュータシステム。
【請求項7】
前記第2の仮想ネットワークは、ディレクトリサービスへの接続性を提供する、請求項1から請求項6までのいずれか1項に記載のコンピュータシステム。
【請求項8】
前記テナントは、第1のテナントであり、
前記第2の仮想ネットワークは、前記第1のテナントとは異なる第2のテナントによって管理され、かつ前記第2のテナントに関連付けられ、
前記ディレクトリサービスは、前記第2のテナントによって管理され、かつ前記第2のテナントに関連付けられている、
請求項7に記載のコンピュータシステム。
【請求項9】
前記ディレクトリサービスは、仮想マシン及びコネクタのためのオブジェクトを記憶し、かつユーザのためのオブジェクトを省略する、請求項7又は請求項8に記載のコンピュータシステム。
【請求項10】
前記少なくとも1つのプロセッサは、
前記コンピューティングサービスに、前記カタログで指定されたマスタイメージに基づいて仮想デスクトップを作成するための少なくとも1つの要求を送信し、
前記コンピューティングサービスに、前記仮想デスクトップを前記第1の仮想ネットワークに接続するための少なくとも1つの要求を送信するように、さらに構成される、
請求項1から請求項9までのいずれか1項に記載のコンピュータシステム。
【請求項11】
前記少なくとも1つのプロセッサは、
前記ネットワークインタフェースを介して、前記第1の仮想ネットワークに要塞を追加するためのトラブルシューティング要求を受信し、
前記トラブルシューティング要求の受信に応じて、前記コンピューティングサービスに1つ又は複数の要求を送信するように、さらに構成され、
前記1つ又は複数の要求は、
前記要塞を作成するための少なくとも1つの要求と、前記要塞を前記第1の仮想ネットワークに接続するための少なくとも1つの要求と、前記要塞への外部からのアクセスを可能にするために前記第1の仮想ネットワークに適用可能なセキュリティルールを更新するための少なくとも1つの要求とを含む、
請求項1から請求項10までのいずれか1項に記載のコンピュータシステム。
【請求項12】
前記少なくとも1つのプロセッサは、
前記ネットワークインタフェースを介して、マスタイメージを構築するための構築要求であって、前記マスタイメージのベースとなるイメージを指定する構築要求を受信し、
前記構築要求の受信に応じて、前記コンピューティングサービスに1つ又は複数の要求を送信するように、さらに構成され、
前記1つ又は複数の要求は、
仮想マシンを作成するための少なくとも1つの要求と、前記構築要求で指定されたイメージを使用して前記仮想マシンを再イメージ化するための少なくとも1つの要求と、前記仮想マシンを前記第1の仮想ネットワークに接続するための少なくとも1つの要求と、前記仮想マシンへの外部からのアクセスを可能にするために前記第1の仮想ネットワークに適用可能なセキュリティルールを更新するための少なくとも1つの要求とを含む、
請求項1から請求項11までのいずれか1項に記載のコンピュータシステム。
【請求項13】
前記コンピューティングサービスをさらに備え、
前記コンピューティングサービスは、IaaS(infrastructure as a service)システムである、
請求項1から請求項12までのいずれか1項請求項1に記載のコンピュータシステム。
【請求項14】
前記複数の要求は、前記IaaSシステムへの複数のアプリケーションプログラミングインタフェース呼び出しである、
請求項13に記載のコンピュータシステム。
【請求項15】
DaaSシステムの少なくとも一部を自律的にプロビジョニングする方法であって、
ネットワークインタフェースを介して、コンピューティングサービスのテナントに関連付けられたアカウントに仮想デスクトップのカタログを追加する要求を受信することと、
前記要求の受信に応じて、コンピューティングサービスに複数の要求を送信することと、を含み、
前記複数の要求は、
前記コンピューティングサービス内に前記テナントに関連付けられた第1の仮想ネットワークを作成するための少なくとも1つの要求と、前記第1の仮想ネットワークを前記コンピューティングサービス内の第2の仮想ネットワークに接続するための少なくとも1つの要求と、前記コンピューティングサービス内に前記カタログを作成するための少なくとも1つの要求と、1つ又は複数の仮想デスクトップを仮想化インフラストラクチャに接続するように構成されたコネクタを作成するための少なくとも1つの要求と、前記コネクタを前記第1の仮想ネットワークに接続するための少なくとも1つの要求とを含む、
方法。
【請求項16】
前記テナントが、第1のテナントであり、
前記ネットワークインタフェースを介して、前記第1のテナントとは異なる前記コンピューティングサービスの第2のテナントに関連付けられた少なくとも1つのアカウントに、少なくとも1つのカタログを追加するための少なくとも1つの要求を受信することと、
前記少なくとも1つの要求の受信に応じて、前記コンピューティングサービスに少なくとも1つの複数の要求を送信することと、をさらに含み、
前記少なくとも1つの複数の要求は、
前記コンピューティングサービス内に前記第2のテナントに関連付けられた少なくとも1つの仮想ネットワークを生成するための少なくとも1つの要求と、少なくとも1つの仮想ネットワークを、前記第1のテナント及び前記第2のテナントとは異なる第3のテナントに関連付けられかつ前記第3のテナントによって管理されている前記第2の仮想ネットワークに接続するための少なくとも1つの要求と、前記コンピューティングサービス内に少なくとも1つのカタログを作成するための少なくとも1つの要求とを含む、
請求項15に記載の方法。
【請求項17】
前記コンピューティングサービスに、前記カタログで指定されたマスタイメージに基づいて仮想デスクトップを作成するための少なくとも1つの要求を送信することと、
前記コンピューティングサービスに、前記仮想デスクトップを前記第1の仮想ネットワークに接続するための少なくとも1つの要求を送信することと、をさらに含む、
請求項15又は請求項16に記載の方法。
【請求項18】
DaaSシステムの少なくとも一部を自律的にプロビジョニングするための実行可能な一連の命令を記憶した非一時的コンピュータ可読媒体であって、
前記一連の命令は、
ネットワークインタフェースを介して、コンピューティングサービスのテナントに関連付けられたアカウントに仮想デスクトップのカタログを追加する要求を受信し、
前記要求の受信に応じて、コンピューティングサービスに複数の要求を送信するための命令を含み、
前記複数の要求は、
前記コンピューティングサービス内に前記テナントに関連付けられた第1の仮想ネットワークを作成するための少なくとも1つの要求と、前記第1の仮想ネットワークを前記コンピューティングサービス内の第2の仮想ネットワークに接続するための少なくとも1つの要求と、前記コンピューティングサービス内に前記カタログを作成するための少なくとも1つの要求と、1つ又は複数の仮想デスクトップを仮想化インフラストラクチャに接続するように構成されたコネクタを作成するための少なくとも1つの要求と、前記コネクタを前記第1の仮想ネットワークに接続するための少なくとも1つの要求とを含む、
非一時的コンピュータ可読媒体。
【請求項19】
前記テナントは、第1のテナントであり、
前記一連の命令は、
前記ネットワークインタフェースを介して、前記第1のテナントとは異なる前記コンピューティングサービスの第2のテナントに関連付けられた少なくとも1つのアカウントに、少なくとも1つのカタログを追加するための少なくとも1つの要求を受信し、
前記少なくとも1つの要求の受信に応じて、前記コンピューティングサービスに少なくとも1つの複数の要求を送信するための命令をさらに含み、
前記少なくとも1つの複数の要求は、
前記コンピューティングサービス内に前記第2のテナントに関連付けられた少なくとも1つの仮想ネットワークを生成するための少なくとも1つの要求と、少なくとも1つの仮想ネットワークを、前記第1のテナント及び前記第2のテナントとは異なる第3のテナントに関連付けられかつ前記第3のテナントによって管理されている前記第2の仮想ネットワークに接続するための少なくとも1つの要求と、前記コンピューティングサービス内に少なくとも1つのカタログを作成するための少なくとも1つの要求とを含む、
請求項18に記載の非一時的コンピュータ可読媒体。
【請求項20】
前記一連の命令は、
前記コンピューティングサービスに、前記カタログで指定されたマスタイメージに基づいて仮想デスクトップを作成するための少なくとも1つの要求を送信し、
前記コンピューティングサービスに、前記仮想デスクトップを前記第1の仮想ネットワークに接続するための少なくとも1つの要求を送信するための命令をさらに含む、
請求項18又は請求項19に記載の非一時的コンピュータ可読媒体。
【国際調査報告】