(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5919609
(24)【登録日】2016年4月22日
(45)【発行日】2016年5月18日
(54)【発明の名称】サービスプロバイダネットワークにおけるホストマシンパーティション上のマルチデスクトップに対するマルチテナントアクセス
(51)【国際特許分類】
H04L 12/70 20130101AFI20160428BHJP
H04L 12/775 20130101ALI20160428BHJP
【FI】
H04L12/70 D
H04L12/775
【請求項の数】13
【全頁数】11
(21)【出願番号】特願2014-561093(P2014-561093)
(86)(22)【出願日】2013年3月6日
(65)【公表番号】特表2015-513869(P2015-513869A)
(43)【公表日】2015年5月14日
(86)【国際出願番号】US2013029462
(87)【国際公開番号】WO2013134439
(87)【国際公開日】20130912
【審査請求日】2014年12月22日
(31)【優先権主張番号】13/413,867
(32)【優先日】2012年3月7日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】510149482
【氏名又は名称】ヴイエムウェア インコーポレイテッド
【氏名又は名称原語表記】VMware,Inc.
(74)【代理人】
【識別番号】100105957
【弁理士】
【氏名又は名称】恩田 誠
(74)【代理人】
【識別番号】100068755
【弁理士】
【氏名又は名称】恩田 博宣
(74)【代理人】
【識別番号】100142907
【弁理士】
【氏名又は名称】本田 淳
(72)【発明者】
【氏名】リンダール、ケネス エヌ.
(72)【発明者】
【氏名】デイビス、チャールズ
(72)【発明者】
【氏名】ビリュコフ、アンドレ
【審査官】
宮島 郁美
(56)【参考文献】
【文献】
国際公開第2011/037104(WO,A1)
【文献】
国際公開第2010/115060(WO,A1)
【文献】
米国特許出願公開第2011/0142053(US,A1)
【文献】
田島 佳武 Yoshitake TAJIMA,仮想L2ネットワークと連携した仮想デスクトップサービスの検討 A Study of Virtual Desktop Service Cooperated with Virtual L2 Networks,電子情報通信学会技術研究報告 Vol.111 No.469 IEICE Technical Report,日本,社団法人電子情報通信学会 The Institute of Electronics,Information and Communication Engineers,第111巻
(58)【調査した分野】(Int.Cl.,DB名)
H04L12/00−12/26,12/50−12/955
G06F9/46,13/00
(57)【特許請求の範囲】
【請求項1】
仮想デスクトップを用いることにより複数の企業をサポートするためのコンピュータシステムであって、該仮想デスクトップは複数のホストマシン上にホストされており、各企業はコンピュータリソースを含む企業コンピュータネットワークを有し、前記コンピュータシステムは、
第1コンピュータリソースを含む、第1企業の第1企業コンピュータネットワークと、
第2コンピュータリソースを含む、第2企業の第2企業コンピュータネットワークと、
前記第1企業及び前記第2企業の各々のための仮想ローカルエリアネットワーク(VLAN)であって、各仮想ローカルエリアネットワークは対応する該企業のための複数のホストマシンに接続されており、各ホストマシンは該企業による使用のための仮想デスクトップをサポートし、該仮想デスクトップは該企業が接続されている該企業の企業ネットワーク上のコンピュータリソースにアクセスする、前記仮想ローカルエリアネットワークと、
前記第1企業コンピュータネットワークと、前記第2企業コンピュータネットワークと、各企業のための前記VLANを実装するコンピュータネットワークとに結合されているルータであって、該ルータは、前記第1企業及び前記第2企業の各々のための仮想ルータを含み、各仮想ルータは、対応する前記企業のための個別のルーティングテーブルを有し、前記仮想ルータは、前記複数のホストマシン上でホストされる前記仮想デスクトップと、対応する前記第1企業コンピュータネットワーク及び前記第2企業コンピュータネットワーク上の前記コンピュータリソースとの間のトラフィックのルーティングを行うように構成されている、前記ルータと、を備え、
1つ以上のホストマシンのうちの各ホストマシンは、前記第1企業及び前記第2企業に関連付けられる仮想デスクトップと、前記第1企業のための前記VLANに結合されている第1仮想スイッチ及び前記第2企業のための前記VLANに結合されている第2仮想スイッチと、を備え、各仮想スイッチは、対応する前記企業の仮想デスクトップに関連付けられている、コンピュータシステム。
【請求項2】
企業に対するホストマシンの割当と、企業に対するデスクトップ割当とを管理するためのリソースマネージャをさらに備える、請求項1に記載のコンピュータシステム。
【請求項3】
各仮想ローカルエリアネットワークは識別子を有し、ホストマシン上において企業に対し割り当てられるデスクトップは、該企業の仮想ローカルエリアネットワークの識別子を用いてタグ付けされる、請求項1に記載のコンピュータシステム。
【請求項4】
前記リソースマネージャは、各テナントについて、データセンタと、VLAN識別子と、クオータとを割り当てる、請求項2に記載のコンピュータシステム。
【請求項5】
前記リソースマネージャは、利用可能なホスト容量を識別し、テナントに対しホストリソースを割り当てる、請求項4に記載のコンピュータシステム。
【請求項6】
前記リソースマネージャは、組織識別子と、VLAN識別子と、割り当てられるリソースとのマッピングを維持する、請求項2に記載のコンピュータシステム。
【請求項7】
前記第1企業に関連付けられる特定のホストマシンについての前記仮想デスクトップは、第1物理CPUに対して固定され、前記第2企業に関連付けられる前記ホストマシンについての前記仮想デスクトップは、前記第1物理CPUとは別個の第2物理CPUに対して固定される、請求項1に記載のコンピュータシステム。
【請求項8】
仮想デスクトップを用いることにより複数の企業をサポートするようコンピュータシステムを設定するためのプログラムであって、該仮想デスクトップは複数のホストマシン上にホストされており、前記複数の企業は第1企業及び第2企業を含み、各企業はコンピュータリソースを含む企業コンピュータネットワークを有し、前記プログラムは、前記コンピュータシステムを、
前記第1企業及び前記第2企業の各々のための仮想ローカルエリアネットワーク(VLAN)であって、各仮想ローカルエリアネットワークは対応する該企業のための複数のホストマシンに接続されており、各ホストマシンは該企業による使用のための仮想デスクトップをサポートし、該仮想デスクトップは該企業が接続されている該企業の企業ネットワーク上のコンピュータリソースにアクセスする、前記仮想ローカルエリアネットワーク、及び
前記第1企業の第1企業コンピュータネットワークと、前記第2企業の第2企業コンピュータネットワークと、各企業のための前記VLANを実装するコンピュータネットワークとに結合されているルータであって、該ルータは、前記第1企業及び前記第2企業の各々のための仮想ルータを含み、各仮想ルータは、対応する前記企業のための個別のルーティングテーブルを有し、前記仮想ルータは、前記複数のホストマシン上でホストされる前記仮想デスクトップと、対応する前記第1企業コンピュータネットワーク及び前記第2企業コンピュータネットワーク上の前記コンピュータリソースとの間のトラフィックのルーティングを行うように構成されている、前記ルータ、として機能させ、
1つ以上のホストマシンのうちの各ホストマシンは、前記第1企業及び前記第2企業に関連付けられる仮想デスクトップと、前記第1企業のための前記VLANに結合されている第1仮想スイッチ及び前記第2企業のための前記VLANに結合されている第2仮想スイッチと、を備え、各仮想スイッチは、対応する前記企業の仮想デスクトップに関連付けられている、プログラム。
【請求項9】
前記コンピュータシステムを、企業に対するホストマシンの割当と、企業に対するデスクトップ割当とを管理するためのリソースマネージャとしてさらに機能させる、請求項8に記載のプログラム。
【請求項10】
前記プログラムは、各仮想ローカルエリアネットワークが識別子を有するように前記コンピュータシステムを設定し、ホストマシン上において企業に対し割り当てられるデスク
トップは、該企業の仮想ローカルエリアネットワークの識別子を用いてタグ付けされる、請求項8に記載のプログラム。
【請求項11】
前記プログラムは、前記リソースマネージャが、各テナントについて、データセンタと、VLAN識別子と、クオータとを割り当てるように前記コンピュータシステムを設定する、請求項9に記載のプログラム。
【請求項12】
前記プログラムは、前記リソースマネージャが、利用可能なホスト容量を識別し、テナントに対しホストリソースを割り当てるように前記コンピュータシステムを設定する、請求項11に記載のプログラム。
【請求項13】
前記プログラムは、前記リソースマネージャが、組織識別子と、VLAN識別子と、割り当てられるリソースとのマッピングを維持するように前記コンピュータシステムを設定する、請求項9に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、サービスプロバイダネットワークにおけるホストマシンパーティション上のマルチデスクトップに対するマルチテナントアクセスに関する。
【背景技術】
【0002】
サーバ、アプリケーション、及びデスクトップ等のコンピュータリソースをホストするために、企業がサービスプロバイダを利用するのは一般的なことである。典型的には、サービスプロバイダは複数のコンピュータを有し、それらのコンピュータの各々は、1つ以上の仮想マシンを稼働させている。仮想マシンは、例えば、サーバをホストしたり、アプリケーションをホストしたり、デスクトップ全体をホストしたりする。企業は、サービスプロバイダに多くの仮想マシンをホストさせ得る。
【0003】
ホストされるデスクトップを企業内に統合するために、このホストされるデスクトップには、その企業内のネットワークアドレッシング計画と矛盾しないネットワークアドレスが割り当てられる。換言すれば、サービスプロバイダ内でホストされるデスクトップのアドレスは、企業によって指定される。つまり、サービスプロバイダはデスクトップのアドレッシング計画を企業に指示しない。企業のデスクトップをホストするために、サービスプロバイダは、ホストされるデスクトップにあるエージェントソフトウェアと直接的に通信を行う。換言すれば、サービスプロバイダは企業によって指定されるアドレス空間を使用し、その企業の既存のアドレッシング計画内において動作する。
【0004】
インターネットのアドレス空間は有限なので、大企業は内部アドレッシング要件に対してはプライベートアドレス空間(RFC1918に規定されている)を用いる可能性が高い。さらに、異なる企業同士が同じプライベートアドレス範囲を使用する可能性が高い(例えば、2つの企業が両方とも自身のアドレスに192.168.0.0/16を使用する)。結果として、サービスプロバイダは、一般に、自身がホストする各企業に対するリソースを分離させておく。特に、各ホストマシンは、1つのテナントに対し静的に割り当てられる。
【図面の簡単な説明】
【0005】
【
図1】複数の企業に対する複数の仮想マシンをサポートするホストマシンを備えるサービスプロバイダのインフラストラクチャのブロック図。
【
図2】一例のデスクトップモデルクオータのデータ構造を示す図。
【
図4】利用可能なホストが識別される一例の処理を説明するフローチャート。
【発明を実施するための形態】
【0006】
サービスプロバイダの主要なリソースは、企業テナント間において幾分かの量のインフラストラクチャを共有することによって、より効率的に利用されることが可能である。例えば、ルータ及びホストマシンは、2つ以上の企業についてデスクトップがホストされることが可能なように、設計できる。
【0007】
仮想ローカルエリアネットワークは、各企業に対して確立される。各仮想ローカルエリアネットワークは、その企業のための複数のホストマシンに接続され、各ホストマシンは、その企業による使用のためのデスクトップをサポートする。次いで、このデスクトップが、その企業が接続されている、その企業の企業ネットワーク上のコンピュータリソース
にアクセスする。
【0008】
ネットワーク競合を除くべく、複数の企業の企業ネットワークにルータが接続される。仮想ルータは、各企業のための個別のルーティングテーブルを有しており、複数のホストマシン上でホストされるデスクトップと、企業ネットワーク上のコンピュータリソースとの間のトラフィックのルーティングを行うために、各企業について確立される。
【0009】
一例として、ルータは、そのルータによって受信されるパケット中のネットワークアドレスにタグ付けを行うことが可能であり、このタグ付けは、そのルータ上でパケットが受信される物理ポート又は仮想ポートと、その物理ポートに割り当てられる企業とに基づく。別々のVRF(virtual routing and forwarding)テーブルが各企業に対して作成される。ルータは、その企業のための仮想ローカルエリアネットワーク(VLAN)に接続し、異なる企業は、異なるようにタグ付けされた自身のネットワークアドレスを有する。要するに、そのルータは仮想化される。VRF対応ルータは、そのような実装に使用されることができる。
【0010】
そのような一実装では、対応する企業のタグを含むようにホストマシンのネットワークアドレスを変更することによって、異なる企業に対してホストマシンを動的に再割当することが可能である。
【0011】
ホストマシン内のリソースが共有されることを可能とするべく、ホストマシンは、そのホストマシンがサポートする各企業のための仮想スイッチ内にポートグループを含める。企業のための仮想スイッチは、その企業の仮想ローカルエリアネットワークに接続される。その企業に対し割り当てられるホストマシンにおけるデスクトップには、その企業のためのタグを含むネットワークアドレスが与えられる。この仮想スイッチによって、ある1つの企業のデスクトップに宛てられたパケットのみが、その企業のネットワークにおいてのみ見られることが確実になる。
【0012】
このアーキテクチャを用いた場合、異なる企業のための仮想デスクトップを、同じホストマシンの異なるパーティション上でホストすることができ、したがって、1つのマシン上のリソースを1つのサービスプロバイダの複数のテナント間において共有することが可能になる。
【0013】
このような手法によりホストのパーティショニングが行われ、複数のテナントの間で共有される場合、1つのテナントによるホストの利用によって、別のテナントが経験するホストの性能に影響が与えられる場合がある。1つのテナントの利用が他のテナントに対するホストの性能に与える影響を緩和すべく、各テナントは、自身のデスクトップを1つ以上の物理CPUに対して固定し(pinned)、他のテナントによって使用される物理CPUから区別する。この潜在的な問題に対処する代替手法は、CPUリソースの割当分を各仮想マシンに対して割り当てること、又は個々のマシンのCPU利用のバースト、すなわち、急な増加を動的に制御することにより、通常時に可能であるよりも多くのCPUリソースをデスクトップに対して提供することである。ホスト上の各仮想マシンのリソースを監視しているリソースマネージャは、ホストを共有している場合がある全ての企業のための全てのデスクトップに対し、許容可能なサービス品質(quality of service)を保証するべく、CPUのスロットルを制御することが可能である。
【0014】
ここで
図1を参照して、複数の企業に対する複数の仮想マシンをサポートするホストマシンを備えるサービスプロバイダのインフラストラクチャのブロック図について、ここで説明する。
【0015】
第1企業(会社等)は、それ自身のコンピュータネットワーク100を有し、このコンピュータネットワーク100を通じてコンピュータ102及び企業の他のリソースは通信を行う。コンピュータネットワーク100は、ローカルエリアネットワークやワイドエリアネットワークの任意の組み合わせであってよい。
【0016】
第2企業は、それ自身のコンピュータネットワーク180を有し、このコンピュータネットワーク180を通じてコンピュータ182及び第2企業の他のリソースは通信を行う。コンピュータネットワーク180は、ローカルエリアネットワークやワイドエリアネットワークの任意の組み合わせであってよい。
【0017】
1つ以上のルータ150を通じて、コンピュータネットワーク100,180がコンピュータネットワーク152に接続され、このコンピュータネットワーク152上に複数の仮想ローカルエリアネットワーク(VLAN)が実装される。
【0018】
ネットワーク競合を除くべく、複数の企業ネットワーク100,180に接続される各ルータについて、仮想ルータが各企業のために確立される。仮想ルータは、各企業のための個別のルーティングテーブルを有する。一例として、ルータは、そのルータによって受信されるパケット中のネットワークアドレスにタグ付けを行うことが可能であり、このタグ付けは、そのルータ上でパケットが受信される物理ポート又は仮想ポートと、そのポートに割り当てられる企業とに基づく。別々のVRFテーブルが、各企業に対して作成される。ルータは、その企業のための仮想ローカルエリアネットワーク(VLAN)に接続し、異なる企業は、異なるようにタグ付けされた自身のネットワークアドレスを有する。要するに、そのルータは仮想化される。VRF対応ルータは、そのような実装に使用されることができる。例えば、マルチプロトコルラベルスイッチング(MPLS)対応ルータが使用されることができ、その場合、物理ポートが企業に割り当てられる。別の例として、IPSecトンネルが各企業に割り当てられているIPSecトンネルをサポートするルータが使用されることができ、その場合、企業に割り当てられるのは仮想ポートである。
【0019】
一例の実装では、ルータは、そのルータによって受信される企業からのパケット中のネットワークアドレスにタグ付けを行うことが可能であり、このタグ付けは、そのルータ上でパケットが受信される物理ポート又は仮想ポートと、そのポートに割り当てられる企業とに基づく。タグ付けされたアドレスを有するパケットは、ルータから、その企業のための仮想ローカルエリアネットワークに出力される。同様に、このルータは、企業のための仮想ローカルエリアネットワークからタグ付けされたアドレスを有するパケットを受信する場合、タグ付けを取り除き、そのタグに対応する企業に割り当てられたポート上にパケットを出力する。
【0020】
スイッチングレイヤ154を通じて、VLANは、複数のホストコンピュータ120に接続する。ホストコンピュータ120の各々は、1つ以上の仮想マシン122を稼働させることができる。仮想マシン122は、例えば、デスクトップを稼働させ、そのデスクトップと企業ネットワーク上のリモートコンピュータとの間の対話を管理することが可能である。仮想マシンは、アプリケーション又はサーバを稼働させることも可能である。
【0021】
ホストマシン内のリソースが共有されることを可能とするべく、ホストマシンは、そのホストマシンがサポートする各企業のための仮想スイッチ内にポートグループを含める。企業のための仮想スイッチは、その企業の仮想ローカルエリアネットワークに接続される。その企業に対し割り当てられるホストマシンにおけるデスクトップには、その企業のためのタグを含み、その企業の仮想スイッチに関連する、ネットワークアドレスが与えられる。この仮想スイッチによって、ある1つの企業のデスクトップに宛てられたパケットのみが、その企業のネットワークにおいてのみ見られることが確実になる。
【0022】
また、サービスプロバイダのインフラストラクチャは、管理システム130も備える。管理システム130は、ホストコンピュータ120に接続されるとともに、バックボーンネットワーク140によって企業ネットワークから分離されている。管理システム130は、1つ以上のコンピュータを備えることが可能である。サービスプロバイダ管理ツール132は、インフラストラクチャの容量を企業に割り当てるのに使用される。テナント管理ツール134は、デスクトップの容量を割り当てるのに使用される。サービスプロバイダ管理ツールは、企業の仮想エリアネットワークに接続されておらず、代わりに、別のネットワーク、すなわち、バックボーンネットワーク140を通じてホストマシン又は他のリソースに接続する。したがって、サービスプロバイダは、企業のリソース、又はホストマシン上のデスクトップに対するアクセスを有しない。一方、テナント管理ツールは、企業の仮想エリアネットワークに対するアクセスを有し、サービスプロバイダによって確立されたクオータ内においてデスクトップの割当を行う。
【0023】
図1において示されるシステムの一例の実装として、ホスト利用を追跡するためのいくつかのデータ構造について、ここで説明する。
図2に示されるデスクトップモデルクオータのデータ構造を用いて、割り当てられるリソースに関する情報を追跡することが可能である。一例として、そのデータ構造は、仮想マシン(VM)をサポートする中央処理装置(CPU)の最大数200、各仮想マシンのためのメモリの最大量202、現在の使用されるCPUの数204、現在の使用されるメモリの量206、VM上にデスクトップが調達される(プロビジョニング)とき、そのVMに割り当て可能なホスト識別子208等の情報を含むことが可能である。
【0024】
図3に示すように、サービスプロバイダは、そのデスクトップモデルクオータ306を企業と関連付け、この企業は、組織識別子300と、仮想ローカルエリアネットワーク(VLAN)識別子302(これはホスト設定情報の一部として記憶される)とも有する。したがって、組織識別子302と、仮想ローカルエリアネットワーク識別子308と、ホスト識別子との組み合わせによって、企業のためのリソースの全てが一体に関係付けられる。デスクトップモデル304は、割り当てられるデスクトップのパラメータを定義するものであり、組織識別子に、したがって企業にも関連付けられる。
【0025】
デスクトップモデルクオータに関連付けられることの可能なホスト識別子を判定するべく、利用可能なホストを検索するための処理が実装される。この処理では、組織識別子とデスクトップ識別子とが受信され、識別されたデスクトップモデルをサポートすることができる利用可能なホストのリストが生成される。
【0026】
この利用可能なホストを識別する処理は、システムにおいて企業のVLANに接続されることが可能な各ホストを通じて巡回させることが可能である。例えば、
図4を参照すると、選択された(400)各ホストについて、そのホストがサポートできるデスクトップが(存在する場合)いくつあるかが判定される(402)。これらの工程は、404に示されるように、デスクトップモデルクオータをサポートするのに十分なホスト容量が識別されるまで、各ホストについて繰り返される。識別されたホストは、次いで、デスクトップモデルクオータに関連付けられる。
【0027】
ホスト上の各仮想マシンを企業に関連付けるべく、その企業のVLANのためのVLAN名が識別される。仮想マシンに関連付けられるネットワークアダプタのためのネットワークラベルは、企業が割り当てられる、その企業のためのVLAN名に設定される。したがって、データセンタにおいて同じテナントに属する全てのVMは、同じラベルを有する。このVLAN名を用いて、ホスト設定情報から、利用可能なVLAN識別子を検索することが可能である。
【0028】
上述に加えて、各ホストは、利用及び容量のメトリックを自身が追跡することを可能とする情報を維持するデータ構造を有することが可能である。このホストのデータ構造は、ホストが共有(パーティショニング)されているか否かを示すマーカと、ホストのメモリ容量を計算する際に使用されるメモリ割当超過率の示度と、物理マシンに対する仮想マシンの比率を示すVM比率(ホストのCPU容量を計算する際に使用される)と、ホストのCPU容量(CPUの総数とVM比率との積によって計算される)と、ホストのメモリ容量(ホストの総メモリのメモリ割当超過率による積によって計算される)とを含むが、これらに限定されない。
【0029】
このインフラストラクチャが与えられると、現在のホストの又はテナントの利用を判定するための追加の方法が提供される。例えば、各ホスト上の現在アクティブな仮想マシンについての情報が検索可能である。それらの情報は、次いで、テナント毎に分離されるように、それらのVLAN識別子によるフィルタリングが行われることが可能である。これらの方法が管理システムにおいて実装されてもよい。
【0030】
このアーキテクチャを用いた場合、異なる企業のための仮想デスクトップを、同じホストマシンの異なるパーティション上でホストすることができ、したがって、1つのマシン上のリソースを1つのサービスプロバイダの複数のテナント間において共有することが可能になる。
【0031】
このような手法によりホストのパーティショニングが行われ、複数のテナントの間で共有される場合、1つのテナントによるホストの利用によって、別のテナントが経験するホストの性能に影響が与えられる場合がある。1つのテナントの利用が他のテナントに対するホストの性能に与える影響を緩和すべく、各テナントは、自身のデスクトップを1つ以上の物理CPUに対して固定し、他のテナントによって使用される物理CPUから区別する。この潜在的な問題に対処する代替手法は、CPUリソースの割当分を各仮想マシンに対して割り当てること、又は個々のマシンのCPU利用のバーストを動的に制御することにより、通常時に可能であるよりも多くのCPUリソースをデスクトップに対して提供することである。ホスト上の各仮想マシンのリソースを監視しているリソースマネージャは、ホストを共有している場合がある全ての企業のための全てのデスクトップに対し、許容可能なサービス品質を保証するべく、CPUのスロットルを制御することが可能である。
【0032】
以上で説明された技術は、デジタル電子回路において、若しくはコンピュータ上で実行するコンピュータのハードウェア、ファームウェア、ソフトウェアにおいて、又はこれらの組み合わせにおいて実装が可能である。その技術は、データ処理装置(例えば、プログラマブルプロセッサ、1つのコンピュータ、又は複数のコンピュータ)による実行のため、又はデータ処理装置の動作を制御するべく、コンピュータプログラム製品(すなわち、有形のマシン可読記憶媒体において有形的に具現化されるコンピュータプログラム)として実装されてもよい。コンピュータプログラムは、プログラミング言語(コンパイラ型言語又はインタープリタ型言語を含む)の任意の形態において書かれることが可能であり、それは任意の形態(スタンドアローンのプログラムとして、又はモジュール、構成要素、サブルーチン、若しくはコンピューティング環境における使用に適した他のユニットとして含む)においてデプロイされることが可能である。コンピュータプログラムは、1つのサイトにおける、又は複数のサイトにわたって分散させられ通信ネットワークによって相互接続される、1つのコンピュータ上で又は複数のコンピュータ上で実行されるようにデプロイされることが可能である。
【0033】
本明細書において記載された技術の方法の工程は、入力データに作用して出力を生成することにより本明細書に記載の機能を果たすコンピュータプログラムを実行する1つ以上
のプログラマブルプロセッサによって、行うことができる。方法の工程は、専用論理回路(例えば、FPGA(field programmable gate array)又はASIC(application−specific integrated circuit))によって、実行されてもよく、また、本発明の装置は、その専用論理回路として実装されてよい。アプリケーションによって、そのコンピュータプログラム、そのプロセッサ若しくはその機能を実装する他の回路、又はその両方についての部分が参照され得る。
【0034】
コンピュータプログラムの実行のために適したプロセッサには、例として、汎用マイクロプロセッサ及び専用マイクロプロセッサの両方と、任意の種類のデジタルコンピュータの任意の1つ以上のプロセッサとが含まれる。一般に、プロセッサは、リードオンリメモリ若しくはランダムアクセスメモリ又はその両方からの命令及びデータを受信する。コンピュータの不可欠な要素は、命令を実行するためのプロセッサと、命令及びデータを記憶するための1つ以上のメモリ装置とである。一般に、コンピュータは、データを記憶するための1つ以上の大容量記憶装置(例えば、磁気ディスク、光磁気ディスク、又は光ディスク)も含み、又はその大容量記憶装置からデータを受信し、若しくはデータを送信し、若しくはデータを送受信すべく動作するように結合されている。コンピュータプログラムの命令及びデータを具現化するために適した記憶媒体には、全ての形態の不揮発性メモリが含まれ、これには、例として、半導体メモリデバイス(例えば、EPROM、EEPROM、及びフラッシュメモリデバイス)と、磁気ディスク(例えば、内蔵ハードディスク又はリムーバブルディスク)と、光磁気ディスクと、CD−ROM及びDVD−ROMのディスクとが含まれる。プロセッサ及びメモリは、専用論理回路によって補われてもよく、又は専用論理回路において組み入れられてもよい。
【0035】
コンピューティングシステムは、クライアントとサーバを含む場合がある。クライアントとサーバは、一般に、互いに離れており、典型的には、通信ネットワークを通じて対話する。クライアントとサーバの関係は、各コンピュータ上で稼働させられており互いにクライアントサーバ関係を有するコンピュータプログラムによって生じる。
【0036】
一例の実施形態を説明してきたが、上述したことは、例示に過ぎず、限定するものではなく、例としてのみ提示されていることは、当業者に対して明らかであるべきである。多くの修正及び他の実施形態は、当業者の視野内であり、本発明の範囲に属するとして考慮される。