(57)【特許請求の範囲】
【請求項１】
仮想デスクトップを用いることにより複数の企業をサポートするためのコンピュータシステムであって、該仮想デスクトップは複数のホストマシン上にホストされており、各企業はコンピュータリソースを含む企業コンピュータネットワークを有し、前記コンピュータシステムは、
第１コンピュータリソースを含む、第１企業の第１企業コンピュータネットワークと、
第２コンピュータリソースを含む、第２企業の第２企業コンピュータネットワークと、
前記第１企業及び前記第２企業の各々のための仮想ローカルエリアネットワーク（ＶＬＡＮ）であって、各仮想ローカルエリアネットワークは対応する該企業のための複数のホストマシンに接続されており、各ホストマシンは該企業による使用のための仮想デスクトップをサポートし、該仮想デスクトップは該企業が接続されている該企業の企業ネットワーク上のコンピュータリソースにアクセスする、前記仮想ローカルエリアネットワークと、
前記第１企業コンピュータネットワークと、前記第２企業コンピュータネットワークと、各企業のための前記ＶＬＡＮを実装するコンピュータネットワークとに結合されているルータであって、該ルータは、前記第１企業及び前記第２企業の各々のための仮想ルータを含み、各仮想ルータは、対応する前記企業のための個別のルーティングテーブルを有し、前記仮想ルータは、前記複数のホストマシン上でホストされる前記仮想デスクトップと、対応する前記第１企業コンピュータネットワーク及び前記第２企業コンピュータネットワーク上の前記コンピュータリソースとの間のトラフィックのルーティングを行うように構成されている、前記ルータと、を備え、
１つ以上のホストマシンのうちの各ホストマシンは、前記第１企業及び前記第２企業に関連付けられる仮想デスクトップと、前記第１企業のための前記ＶＬＡＮに結合されている第１仮想スイッチ及び前記第２企業のための前記ＶＬＡＮに結合されている第２仮想スイッチと、を備え、各仮想スイッチは、対応する前記企業の仮想デスクトップに関連付けられている、コンピュータシステム。
【請求項２】
企業に対するホストマシンの割当と、企業に対するデスクトップ割当とを管理するためのリソースマネージャをさらに備える、請求項１に記載のコンピュータシステム。
【請求項３】
各仮想ローカルエリアネットワークは識別子を有し、ホストマシン上において企業に対し割り当てられるデスクトップは、該企業の仮想ローカルエリアネットワークの識別子を用いてタグ付けされる、請求項１に記載のコンピュータシステム。
【請求項４】
前記リソースマネージャは、各テナントについて、データセンタと、ＶＬＡＮ識別子と、クオータとを割り当てる、請求項２に記載のコンピュータシステム。
【請求項５】
前記リソースマネージャは、利用可能なホスト容量を識別し、テナントに対しホストリソースを割り当てる、請求項４に記載のコンピュータシステム。
【請求項６】
前記リソースマネージャは、組織識別子と、ＶＬＡＮ識別子と、割り当てられるリソースとのマッピングを維持する、請求項２に記載のコンピュータシステム。
【請求項７】
前記第１企業に関連付けられる特定のホストマシンについての前記仮想デスクトップは、第１物理ＣＰＵに対して固定され、前記第２企業に関連付けられる前記ホストマシンについての前記仮想デスクトップは、前記第１物理ＣＰＵとは別個の第２物理ＣＰＵに対して固定される、請求項１に記載のコンピュータシステム。
【請求項８】
仮想デスクトップを用いることにより複数の企業をサポートするようコンピュータシステムを設定するためのプログラムであって、該仮想デスクトップは複数のホストマシン上にホストされており、前記複数の企業は第１企業及び第２企業を含み、各企業はコンピュータリソースを含む企業コンピュータネットワークを有し、前記プログラムは、前記コンピュータシステムを、
前記第１企業及び前記第２企業の各々のための仮想ローカルエリアネットワーク（ＶＬＡＮ）であって、各仮想ローカルエリアネットワークは対応する該企業のための複数のホストマシンに接続されており、各ホストマシンは該企業による使用のための仮想デスクトップをサポートし、該仮想デスクトップは該企業が接続されている該企業の企業ネットワーク上のコンピュータリソースにアクセスする、前記仮想ローカルエリアネットワーク、及び
前記第１企業の第１企業コンピュータネットワークと、前記第２企業の第２企業コンピュータネットワークと、各企業のための前記ＶＬＡＮを実装するコンピュータネットワークとに結合されているルータであって、該ルータは、前記第１企業及び前記第２企業の各々のための仮想ルータを含み、各仮想ルータは、対応する前記企業のための個別のルーティングテーブルを有し、前記仮想ルータは、前記複数のホストマシン上でホストされる前記仮想デスクトップと、対応する前記第１企業コンピュータネットワーク及び前記第２企業コンピュータネットワーク上の前記コンピュータリソースとの間のトラフィックのルーティングを行うように構成されている、前記ルータ、として機能させ、
１つ以上のホストマシンのうちの各ホストマシンは、前記第１企業及び前記第２企業に関連付けられる仮想デスクトップと、前記第１企業のための前記ＶＬＡＮに結合されている第１仮想スイッチ及び前記第２企業のための前記ＶＬＡＮに結合されている第２仮想スイッチと、を備え、各仮想スイッチは、対応する前記企業の仮想デスクトップに関連付けられている、プログラム。
【請求項９】
前記コンピュータシステムを、企業に対するホストマシンの割当と、企業に対するデスクトップ割当とを管理するためのリソースマネージャとしてさらに機能させる、請求項８に記載のプログラム。
【請求項１０】
前記プログラムは、各仮想ローカルエリアネットワークが識別子を有するように前記コンピュータシステムを設定し、ホストマシン上において企業に対し割り当てられるデスク
トップは、該企業の仮想ローカルエリアネットワークの識別子を用いてタグ付けされる、請求項８に記載のプログラム。
【請求項１１】
前記プログラムは、前記リソースマネージャが、各テナントについて、データセンタと、ＶＬＡＮ識別子と、クオータとを割り当てるように前記コンピュータシステムを設定する、請求項９に記載のプログラム。
【請求項１２】
前記プログラムは、前記リソースマネージャが、利用可能なホスト容量を識別し、テナントに対しホストリソースを割り当てるように前記コンピュータシステムを設定する、請求項１１に記載のプログラム。
【請求項１３】
前記プログラムは、前記リソースマネージャが、組織識別子と、ＶＬＡＮ識別子と、割り当てられるリソースとのマッピングを維持するように前記コンピュータシステムを設定する、請求項９に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サービスプロバイダネットワークにおけるホストマシンパーティション上のマルチデスクトップに対するマルチテナントアクセスに関する。
【背景技術】
【０００２】
サーバ、アプリケーション、及びデスクトップ等のコンピュータリソースをホストするために、企業がサービスプロバイダを利用するのは一般的なことである。典型的には、サービスプロバイダは複数のコンピュータを有し、それらのコンピュータの各々は、１つ以上の仮想マシンを稼働させている。仮想マシンは、例えば、サーバをホストしたり、アプリケーションをホストしたり、デスクトップ全体をホストしたりする。企業は、サービスプロバイダに多くの仮想マシンをホストさせ得る。
【０００３】
ホストされるデスクトップを企業内に統合するために、このホストされるデスクトップには、その企業内のネットワークアドレッシング計画と矛盾しないネットワークアドレスが割り当てられる。換言すれば、サービスプロバイダ内でホストされるデスクトップのアドレスは、企業によって指定される。つまり、サービスプロバイダはデスクトップのアドレッシング計画を企業に指示しない。企業のデスクトップをホストするために、サービスプロバイダは、ホストされるデスクトップにあるエージェントソフトウェアと直接的に通信を行う。換言すれば、サービスプロバイダは企業によって指定されるアドレス空間を使用し、その企業の既存のアドレッシング計画内において動作する。
【０００４】
インターネットのアドレス空間は有限なので、大企業は内部アドレッシング要件に対してはプライベートアドレス空間（ＲＦＣ１９１８に規定されている）を用いる可能性が高い。さらに、異なる企業同士が同じプライベートアドレス範囲を使用する可能性が高い（例えば、２つの企業が両方とも自身のアドレスに１９２．１６８．０．０／１６を使用する）。結果として、サービスプロバイダは、一般に、自身がホストする各企業に対するリソースを分離させておく。特に、各ホストマシンは、１つのテナントに対し静的に割り当てられる。
【図面の簡単な説明】
【０００５】
【図１】複数の企業に対する複数の仮想マシンをサポートするホストマシンを備えるサービスプロバイダのインフラストラクチャのブロック図。
【図２】一例のデスクトップモデルクオータのデータ構造を示す図。
【図３】企業に関連するデータを示す図。
【図４】利用可能なホストが識別される一例の処理を説明するフローチャート。
【発明を実施するための形態】
【０００６】
サービスプロバイダの主要なリソースは、企業テナント間において幾分かの量のインフラストラクチャを共有することによって、より効率的に利用されることが可能である。例えば、ルータ及びホストマシンは、２つ以上の企業についてデスクトップがホストされることが可能なように、設計できる。
【０００７】
仮想ローカルエリアネットワークは、各企業に対して確立される。各仮想ローカルエリアネットワークは、その企業のための複数のホストマシンに接続され、各ホストマシンは、その企業による使用のためのデスクトップをサポートする。次いで、このデスクトップが、その企業が接続されている、その企業の企業ネットワーク上のコンピュータリソース
にアクセスする。
【０００８】
ネットワーク競合を除くべく、複数の企業の企業ネットワークにルータが接続される。仮想ルータは、各企業のための個別のルーティングテーブルを有しており、複数のホストマシン上でホストされるデスクトップと、企業ネットワーク上のコンピュータリソースとの間のトラフィックのルーティングを行うために、各企業について確立される。
【０００９】
一例として、ルータは、そのルータによって受信されるパケット中のネットワークアドレスにタグ付けを行うことが可能であり、このタグ付けは、そのルータ上でパケットが受信される物理ポート又は仮想ポートと、その物理ポートに割り当てられる企業とに基づく。別々のＶＲＦ（ｖｉｒｔｕａｌ  ｒｏｕｔｉｎｇ  ａｎｄ  ｆｏｒｗａｒｄｉｎｇ）テーブルが各企業に対して作成される。ルータは、その企業のための仮想ローカルエリアネットワーク（ＶＬＡＮ）に接続し、異なる企業は、異なるようにタグ付けされた自身のネットワークアドレスを有する。要するに、そのルータは仮想化される。ＶＲＦ対応ルータは、そのような実装に使用されることができる。
【００１０】
そのような一実装では、対応する企業のタグを含むようにホストマシンのネットワークアドレスを変更することによって、異なる企業に対してホストマシンを動的に再割当することが可能である。
【００１１】
ホストマシン内のリソースが共有されることを可能とするべく、ホストマシンは、そのホストマシンがサポートする各企業のための仮想スイッチ内にポートグループを含める。企業のための仮想スイッチは、その企業の仮想ローカルエリアネットワークに接続される。その企業に対し割り当てられるホストマシンにおけるデスクトップには、その企業のためのタグを含むネットワークアドレスが与えられる。この仮想スイッチによって、ある１つの企業のデスクトップに宛てられたパケットのみが、その企業のネットワークにおいてのみ見られることが確実になる。
【００１２】
このアーキテクチャを用いた場合、異なる企業のための仮想デスクトップを、同じホストマシンの異なるパーティション上でホストすることができ、したがって、１つのマシン上のリソースを１つのサービスプロバイダの複数のテナント間において共有することが可能になる。
【００１３】
このような手法によりホストのパーティショニングが行われ、複数のテナントの間で共有される場合、１つのテナントによるホストの利用によって、別のテナントが経験するホストの性能に影響が与えられる場合がある。１つのテナントの利用が他のテナントに対するホストの性能に与える影響を緩和すべく、各テナントは、自身のデスクトップを１つ以上の物理ＣＰＵに対して固定し（ｐｉｎｎｅｄ）、他のテナントによって使用される物理ＣＰＵから区別する。この潜在的な問題に対処する代替手法は、ＣＰＵリソースの割当分を各仮想マシンに対して割り当てること、又は個々のマシンのＣＰＵ利用のバースト、すなわち、急な増加を動的に制御することにより、通常時に可能であるよりも多くのＣＰＵリソースをデスクトップに対して提供することである。ホスト上の各仮想マシンのリソースを監視しているリソースマネージャは、ホストを共有している場合がある全ての企業のための全てのデスクトップに対し、許容可能なサービス品質（ｑｕａｌｉｔｙ  ｏｆ  ｓｅｒｖｉｃｅ）を保証するべく、ＣＰＵのスロットルを制御することが可能である。
【００１４】
ここで図１を参照して、複数の企業に対する複数の仮想マシンをサポートするホストマシンを備えるサービスプロバイダのインフラストラクチャのブロック図について、ここで説明する。
【００１５】
第１企業（会社等）は、それ自身のコンピュータネットワーク１００を有し、このコンピュータネットワーク１００を通じてコンピュータ１０２及び企業の他のリソースは通信を行う。コンピュータネットワーク１００は、ローカルエリアネットワークやワイドエリアネットワークの任意の組み合わせであってよい。
【００１６】
第２企業は、それ自身のコンピュータネットワーク１８０を有し、このコンピュータネットワーク１８０を通じてコンピュータ１８２及び第２企業の他のリソースは通信を行う。コンピュータネットワーク１８０は、ローカルエリアネットワークやワイドエリアネットワークの任意の組み合わせであってよい。
【００１７】
１つ以上のルータ１５０を通じて、コンピュータネットワーク１００，１８０がコンピュータネットワーク１５２に接続され、このコンピュータネットワーク１５２上に複数の仮想ローカルエリアネットワーク（ＶＬＡＮ）が実装される。
【００１８】
ネットワーク競合を除くべく、複数の企業ネットワーク１００，１８０に接続される各ルータについて、仮想ルータが各企業のために確立される。仮想ルータは、各企業のための個別のルーティングテーブルを有する。一例として、ルータは、そのルータによって受信されるパケット中のネットワークアドレスにタグ付けを行うことが可能であり、このタグ付けは、そのルータ上でパケットが受信される物理ポート又は仮想ポートと、そのポートに割り当てられる企業とに基づく。別々のＶＲＦテーブルが、各企業に対して作成される。ルータは、その企業のための仮想ローカルエリアネットワーク（ＶＬＡＮ）に接続し、異なる企業は、異なるようにタグ付けされた自身のネットワークアドレスを有する。要するに、そのルータは仮想化される。ＶＲＦ対応ルータは、そのような実装に使用されることができる。例えば、マルチプロトコルラベルスイッチング（ＭＰＬＳ）対応ルータが使用されることができ、その場合、物理ポートが企業に割り当てられる。別の例として、ＩＰＳｅｃトンネルが各企業に割り当てられているＩＰＳｅｃトンネルをサポートするルータが使用されることができ、その場合、企業に割り当てられるのは仮想ポートである。
【００１９】
一例の実装では、ルータは、そのルータによって受信される企業からのパケット中のネットワークアドレスにタグ付けを行うことが可能であり、このタグ付けは、そのルータ上でパケットが受信される物理ポート又は仮想ポートと、そのポートに割り当てられる企業とに基づく。タグ付けされたアドレスを有するパケットは、ルータから、その企業のための仮想ローカルエリアネットワークに出力される。同様に、このルータは、企業のための仮想ローカルエリアネットワークからタグ付けされたアドレスを有するパケットを受信する場合、タグ付けを取り除き、そのタグに対応する企業に割り当てられたポート上にパケットを出力する。
【００２０】
スイッチングレイヤ１５４を通じて、ＶＬＡＮは、複数のホストコンピュータ１２０に接続する。ホストコンピュータ１２０の各々は、１つ以上の仮想マシン１２２を稼働させることができる。仮想マシン１２２は、例えば、デスクトップを稼働させ、そのデスクトップと企業ネットワーク上のリモートコンピュータとの間の対話を管理することが可能である。仮想マシンは、アプリケーション又はサーバを稼働させることも可能である。
【００２１】
ホストマシン内のリソースが共有されることを可能とするべく、ホストマシンは、そのホストマシンがサポートする各企業のための仮想スイッチ内にポートグループを含める。企業のための仮想スイッチは、その企業の仮想ローカルエリアネットワークに接続される。その企業に対し割り当てられるホストマシンにおけるデスクトップには、その企業のためのタグを含み、その企業の仮想スイッチに関連する、ネットワークアドレスが与えられる。この仮想スイッチによって、ある１つの企業のデスクトップに宛てられたパケットのみが、その企業のネットワークにおいてのみ見られることが確実になる。
【００２２】
また、サービスプロバイダのインフラストラクチャは、管理システム１３０も備える。管理システム１３０は、ホストコンピュータ１２０に接続されるとともに、バックボーンネットワーク１４０によって企業ネットワークから分離されている。管理システム１３０は、１つ以上のコンピュータを備えることが可能である。サービスプロバイダ管理ツール１３２は、インフラストラクチャの容量を企業に割り当てるのに使用される。テナント管理ツール１３４は、デスクトップの容量を割り当てるのに使用される。サービスプロバイダ管理ツールは、企業の仮想エリアネットワークに接続されておらず、代わりに、別のネットワーク、すなわち、バックボーンネットワーク１４０を通じてホストマシン又は他のリソースに接続する。したがって、サービスプロバイダは、企業のリソース、又はホストマシン上のデスクトップに対するアクセスを有しない。一方、テナント管理ツールは、企業の仮想エリアネットワークに対するアクセスを有し、サービスプロバイダによって確立されたクオータ内においてデスクトップの割当を行う。
【００２３】
図１において示されるシステムの一例の実装として、ホスト利用を追跡するためのいくつかのデータ構造について、ここで説明する。
図２に示されるデスクトップモデルクオータのデータ構造を用いて、割り当てられるリソースに関する情報を追跡することが可能である。一例として、そのデータ構造は、仮想マシン（ＶＭ）をサポートする中央処理装置（ＣＰＵ）の最大数２００、各仮想マシンのためのメモリの最大量２０２、現在の使用されるＣＰＵの数２０４、現在の使用されるメモリの量２０６、ＶＭ上にデスクトップが調達される（プロビジョニング）とき、そのＶＭに割り当て可能なホスト識別子２０８等の情報を含むことが可能である。
【００２４】
図３に示すように、サービスプロバイダは、そのデスクトップモデルクオータ３０６を企業と関連付け、この企業は、組織識別子３００と、仮想ローカルエリアネットワーク（ＶＬＡＮ）識別子３０２（これはホスト設定情報の一部として記憶される）とも有する。したがって、組織識別子３０２と、仮想ローカルエリアネットワーク識別子３０８と、ホスト識別子との組み合わせによって、企業のためのリソースの全てが一体に関係付けられる。デスクトップモデル３０４は、割り当てられるデスクトップのパラメータを定義するものであり、組織識別子に、したがって企業にも関連付けられる。
【００２５】
デスクトップモデルクオータに関連付けられることの可能なホスト識別子を判定するべく、利用可能なホストを検索するための処理が実装される。この処理では、組織識別子とデスクトップ識別子とが受信され、識別されたデスクトップモデルをサポートすることができる利用可能なホストのリストが生成される。
【００２６】
この利用可能なホストを識別する処理は、システムにおいて企業のＶＬＡＮに接続されることが可能な各ホストを通じて巡回させることが可能である。例えば、図４を参照すると、選択された（４００）各ホストについて、そのホストがサポートできるデスクトップが（存在する場合）いくつあるかが判定される（４０２）。これらの工程は、４０４に示されるように、デスクトップモデルクオータをサポートするのに十分なホスト容量が識別されるまで、各ホストについて繰り返される。識別されたホストは、次いで、デスクトップモデルクオータに関連付けられる。
【００２７】
ホスト上の各仮想マシンを企業に関連付けるべく、その企業のＶＬＡＮのためのＶＬＡＮ名が識別される。仮想マシンに関連付けられるネットワークアダプタのためのネットワークラベルは、企業が割り当てられる、その企業のためのＶＬＡＮ名に設定される。したがって、データセンタにおいて同じテナントに属する全てのＶＭは、同じラベルを有する。このＶＬＡＮ名を用いて、ホスト設定情報から、利用可能なＶＬＡＮ識別子を検索することが可能である。
【００２８】
上述に加えて、各ホストは、利用及び容量のメトリックを自身が追跡することを可能とする情報を維持するデータ構造を有することが可能である。このホストのデータ構造は、ホストが共有（パーティショニング）されているか否かを示すマーカと、ホストのメモリ容量を計算する際に使用されるメモリ割当超過率の示度と、物理マシンに対する仮想マシンの比率を示すＶＭ比率（ホストのＣＰＵ容量を計算する際に使用される）と、ホストのＣＰＵ容量（ＣＰＵの総数とＶＭ比率との積によって計算される）と、ホストのメモリ容量（ホストの総メモリのメモリ割当超過率による積によって計算される）とを含むが、これらに限定されない。
【００２９】
このインフラストラクチャが与えられると、現在のホストの又はテナントの利用を判定するための追加の方法が提供される。例えば、各ホスト上の現在アクティブな仮想マシンについての情報が検索可能である。それらの情報は、次いで、テナント毎に分離されるように、それらのＶＬＡＮ識別子によるフィルタリングが行われることが可能である。これらの方法が管理システムにおいて実装されてもよい。
【００３０】
このアーキテクチャを用いた場合、異なる企業のための仮想デスクトップを、同じホストマシンの異なるパーティション上でホストすることができ、したがって、１つのマシン上のリソースを１つのサービスプロバイダの複数のテナント間において共有することが可能になる。
【００３１】
このような手法によりホストのパーティショニングが行われ、複数のテナントの間で共有される場合、１つのテナントによるホストの利用によって、別のテナントが経験するホストの性能に影響が与えられる場合がある。１つのテナントの利用が他のテナントに対するホストの性能に与える影響を緩和すべく、各テナントは、自身のデスクトップを１つ以上の物理ＣＰＵに対して固定し、他のテナントによって使用される物理ＣＰＵから区別する。この潜在的な問題に対処する代替手法は、ＣＰＵリソースの割当分を各仮想マシンに対して割り当てること、又は個々のマシンのＣＰＵ利用のバーストを動的に制御することにより、通常時に可能であるよりも多くのＣＰＵリソースをデスクトップに対して提供することである。ホスト上の各仮想マシンのリソースを監視しているリソースマネージャは、ホストを共有している場合がある全ての企業のための全てのデスクトップに対し、許容可能なサービス品質を保証するべく、ＣＰＵのスロットルを制御することが可能である。
【００３２】
以上で説明された技術は、デジタル電子回路において、若しくはコンピュータ上で実行するコンピュータのハードウェア、ファームウェア、ソフトウェアにおいて、又はこれらの組み合わせにおいて実装が可能である。その技術は、データ処理装置（例えば、プログラマブルプロセッサ、１つのコンピュータ、又は複数のコンピュータ）による実行のため、又はデータ処理装置の動作を制御するべく、コンピュータプログラム製品（すなわち、有形のマシン可読記憶媒体において有形的に具現化されるコンピュータプログラム）として実装されてもよい。コンピュータプログラムは、プログラミング言語（コンパイラ型言語又はインタープリタ型言語を含む）の任意の形態において書かれることが可能であり、それは任意の形態（スタンドアローンのプログラムとして、又はモジュール、構成要素、サブルーチン、若しくはコンピューティング環境における使用に適した他のユニットとして含む）においてデプロイされることが可能である。コンピュータプログラムは、１つのサイトにおける、又は複数のサイトにわたって分散させられ通信ネットワークによって相互接続される、１つのコンピュータ上で又は複数のコンピュータ上で実行されるようにデプロイされることが可能である。
【００３３】
本明細書において記載された技術の方法の工程は、入力データに作用して出力を生成することにより本明細書に記載の機能を果たすコンピュータプログラムを実行する１つ以上
のプログラマブルプロセッサによって、行うことができる。方法の工程は、専用論理回路（例えば、ＦＰＧＡ（ｆｉｅｌｄ  ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ）又はＡＳＩＣ（ａｐｐｌｉｃａｔｉｏｎ−ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ））によって、実行されてもよく、また、本発明の装置は、その専用論理回路として実装されてよい。アプリケーションによって、そのコンピュータプログラム、そのプロセッサ若しくはその機能を実装する他の回路、又はその両方についての部分が参照され得る。
【００３４】
コンピュータプログラムの実行のために適したプロセッサには、例として、汎用マイクロプロセッサ及び専用マイクロプロセッサの両方と、任意の種類のデジタルコンピュータの任意の１つ以上のプロセッサとが含まれる。一般に、プロセッサは、リードオンリメモリ若しくはランダムアクセスメモリ又はその両方からの命令及びデータを受信する。コンピュータの不可欠な要素は、命令を実行するためのプロセッサと、命令及びデータを記憶するための１つ以上のメモリ装置とである。一般に、コンピュータは、データを記憶するための１つ以上の大容量記憶装置（例えば、磁気ディスク、光磁気ディスク、又は光ディスク）も含み、又はその大容量記憶装置からデータを受信し、若しくはデータを送信し、若しくはデータを送受信すべく動作するように結合されている。コンピュータプログラムの命令及びデータを具現化するために適した記憶媒体には、全ての形態の不揮発性メモリが含まれ、これには、例として、半導体メモリデバイス（例えば、ＥＰＲＯＭ、ＥＥＰＲＯＭ、及びフラッシュメモリデバイス）と、磁気ディスク（例えば、内蔵ハードディスク又はリムーバブルディスク）と、光磁気ディスクと、ＣＤ−ＲＯＭ及びＤＶＤ−ＲＯＭのディスクとが含まれる。プロセッサ及びメモリは、専用論理回路によって補われてもよく、又は専用論理回路において組み入れられてもよい。
【００３５】
コンピューティングシステムは、クライアントとサーバを含む場合がある。クライアントとサーバは、一般に、互いに離れており、典型的には、通信ネットワークを通じて対話する。クライアントとサーバの関係は、各コンピュータ上で稼働させられており互いにクライアントサーバ関係を有するコンピュータプログラムによって生じる。
【００３６】
一例の実施形態を説明してきたが、上述したことは、例示に過ぎず、限定するものではなく、例としてのみ提示されていることは、当業者に対して明らかであるべきである。多くの修正及び他の実施形態は、当業者の視野内であり、本発明の範囲に属するとして考慮される。
【図１】
0005919609.tif 000002
【図２】
0005919609.tif 000003
【図３】
0005919609.tif 000004
【図４】
0005919609.tif 000005