(57)【要約】  転送処理手段の処理状況や処理性能に制約されずに、クライアントからの要求の負荷を分散する、分散処理システムを提供する。  分散処理システムは、要求手段からの要求を処理して応答を生成する処理手段と、記憶手段と、前記要求手段からの要求を前記記憶手段に転送し、前記応答を前記要求手段に転送するインタフェースとを備え、前記記憶手段は、前記転送された要求にステート管理が必要か否かを判定する第１の制御手段と、ステート管理が必要な要求を格納する第１の格納手段と、ステート管理が不要な要求を格納する第２の格納手段とを備え、前記処理手段は、負荷を検出し、前記負荷に応じて前記第１または第２の格納手段に格納される前記要求を読み出し、生成された応答を前記インタフェースに出力する、第２の制御手段を備えることを特徴とする。
2010110183.tif 000002
【特許請求の範囲】
【請求項１】
要求手段からの要求を処理して応答を生成する、処理手段と、
前記処理手段が接続される、スイッチと、
前記スイッチに接続される、記憶手段と、
前記要求手段が接続されるネットワークと前記スイッチに接続され、前記要求手段からの要求を前記記憶手段に転送し、前記応答を前記要求手段に転送する、インタフェースと、
を備えた分散処理システムであって、
前記記憶手段は、前記転送された要求にステート管理が必要か否かを判定する第１の制御手段と、ステート管理が必要な要求を格納する第１の格納手段と、ステート管理が不要な要求を格納する第２の格納手段とを備え、
前記第１の制御手段は、前記処理手段からの指示に基づいて、前記第１または第２の格納手段に格納される前記要求を削除し、
前記処理手段は、負荷を検出し、前記負荷に応じて前記第１または第２の格納手段に格納される前記要求を読み出し、生成された応答を前記インタフェースに出力する、第２の制御手段を備えることを特徴とする、分散処理システム。
【請求項２】
前記処理手段は、Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ（ＤＭＡ）転送を用いて、前記要求を読み出し、ＤＭＡ転送を用いて前記応答を前記インタフェースに出力することを特徴とする、請求項１に記載の分散処理システム。
【請求項３】
前記記憶手段は、前記ステート管理が必要な要求のフローを解析する解析手段を備え、
前記第２の格納手段は、前記フローまたは前記処理手段からの指示に基づいて、前記要求を区別して格納することを特徴とする、請求項１または２に記載の分散処理システム。
【請求項４】
前記記憶手段は、補助記憶装置であることを特徴とする、請求項１乃至３に記載の分散処理システム。
【請求項５】
前記インタフェースは、ＤＭＡ転送を用いて前記記憶装置に前記要求を転送することを特徴とする、請求項１乃至４に記載の分散処理システム。
【請求項６】
前記インタフェースは、前記記憶装置を含むことを特徴とする、請求項１乃至４に記載の分散処理システム。
【請求項７】
前記第２の格納手段は、ＦＩＦＯ（Ｆｉｒｓｔ  Ｉｎ、Ｆｉｒｓｔ  Ｏｕｔ）形式の記憶装置であることを特徴とする、請求項１乃至６に記載の分散処理システム。
【請求項８】
要求手段からの要求を処理して応答を生成する処理手段と記憶手段とが接続されるスイッチと、前記要求手段が接続されるネットワークとに接続される、インタフェースであって、
前記要求手段からの要求を前記記憶手段に転送し、前記応答を前記要求手段に転送する、転送手段を有し、
ＤＭＡ転送を用いて前記記憶装置に前記要求を転送することを特徴とする、インタフェース。
【請求項９】
要求手段からの要求を処理して応答を生成する処理手段と、前記要求手段が接続されるネットワークに接続され前記応答を前記要求手段に転送するインタフェースと、が接続されるスイッチに接続される、記憶手段であって、
前記インタフェースから転送された前記要求手段からの要求にステート管理が必要か否かを判定する、第１の制御手段と、
ステート管理が必要な要求を格納する、第１の格納手段と、
ステート管理が不要な要求を格納する、第２の格納手段と、
を備え、
前記第１の制御手段は、前記処理手段からの指示に基づいて、前記第１または第２の格納手段に格納される前記要求を削除することを特徴とする、記憶手段。
【請求項１０】
前記ステート管理が必要な要求のフローを解析する、解析手段をさらに備え、
前記第２の格納手段は、前記フローまたは前記処理手段からの指示に基づいて、前記要求を区別して格納することを特徴とする、請求項９に記載の記憶手段。
【請求項１１】
要求手段からの要求を処理して応答を生成する処理手段と、前記処理手段が接続されるスイッチと、前記スイッチに接続される記憶手段と、前記要求手段が接続されるネットワークと前記スイッチに接続されるインタフェースとを備えたシステムにおける、分散処理方法であって、
前記要求手段からの要求を前記記憶手段に転送するステップと、
前記転送された要求にステート管理が必要か否かを判定するステップと、
前記要求にステート管理が必要であれば、前記要求を第１の格納手段に格納するステップと、
前記要求にステート管理が不要であれば、前記要求を第２の格納手段に格納するステップと、
前記処理手段の負荷に応じて、前記要求を読み出して、前記処理手段に転送するステップと、
前記要求を処理して生成された応答を前記要求手段に転送するステップと、
前記第１または第２の格納手段に格納される前記要求を削除するステップと備えることを特徴とする、分散処理方法。
【請求項１２】
要求手段からの要求を処理して応答を生成する処理手段と、前記処理手段が接続されるスイッチと、前記スイッチに接続される記憶手段と、前記要求手段が接続されるネットワークと前記スイッチに接続されるインタフェースとを備えたシステムにおける、分散処理プログラムであって、
前記要求手段からの要求を前記記憶手段に転送するステップと、
前記転送された要求にステート管理が必要か否かを判定するステップと、
前記要求にステート管理が必要であれば、前記要求を第１の格納手段に格納するステップと、
前記要求にステート管理が不要であれば、前記要求を第２の格納手段に格納するステップと、
前記処理手段の負荷に応じて、前記要求を読み出して、前記処理手段に転送するステップと、
前記要求を処理して生成された応答を前記要求手段に転送するステップと、
前記第１または第２の格納手段に格納される前記要求を削除するステップとをコンピュータに実行させることを特徴とする、分散処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のコンピュータが接続されたネットワークにおける負荷を分散するシステム、ネットワークインタフェース、ネットワークにおける記憶装置、分散処理方法および分散処理プログラムに関し、特に、転送オーバヘッドを低減した分散処理システム、記憶装置、記憶型ネットワークインタフェース、分散処理方法及び分散処理プログラムに関する。
【背景技術】
【０００２】
特許文献１は、クライアント群からの処理要求を、ネットワークに接続された複数のコンピュータやサーバ群などのネットワーク装置に分配して負荷を分散する分散処理システムを開示する。
図１９は、特許文献１に開示される分散処理システムを示す。該分散処理システム１００１において、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）ネットワーク１００３上のクライアント群１００２と、ＩＰネットワーク１００５上のサーバ群１００６とはロードバランサ１００４を介して接続されている。クライアント群１００２の各クライアント１０１２からの要求がネットワーク１００３を介してロードバランサ１００４に伝送される。ロードバランサ１００４は、サーバ群１００６の各サーバ１０１６の負荷を監視しており、分散処理平準化アルゴリズムに則して各サーバに要求を配分する。それぞれのサーバ１０１６は、配分された要求を処理する。
図２０は、図１９で示される分散処理システム１００１の、ロードバランサ１００４とＩＰネットワーク１００５とサーバ群１００６を含む部分を示す。図２０は、さらに、ロードバランサ１００４の詳細な構成と、サーバ群１００６に含まれるサーバ１０１６の詳細な構成をブロック図として示す。
ロードバランサ１００４は、ＩＰネットワーク１００３と接続されるクライアント側ネットワークインタフェースカード（ＮＩＣ）１０４１、ＩＰネットワーク１００５と接続されるサーバ側ＮＩＣ１０４５、並びにクライアント側ＮＩＣ１０４１とサーバ側ＮＩＣ１０４５とメモリ１０４２及びＣｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ（ＣＰＵ）１０４４とを接続するチップセット１０４３から構成される。また、サーバ群１００６に含まれるサーバ１０１６のそれぞれは、ＩＰネットワーク１００５と接続されるＮＩＣ１０６１と、このＮＩＣとメモリ１０６２及びＣＰＵ１０６４とを接続するチップセット１０６３とから構成される。
ロードバランサ１００４とサーバ１０１６のそれぞれにおいて、ＮＩＣとチップセットとは、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）又はＰＣＩ  Ｅｘｐｒｅｓｓにより接続される。それぞれのＮＩＣとＩＰネットワークとはＥｔｈｅｒｎｅｔ（登録商標）により接続される。また、クライアント１０１２とロードバランサ１００４とサーバ１０１６とは、ＴＣＰ／ＩＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）を用いて要求及び応答を送受信する。
図２１は、分散処理システム１００１の動作のシーケンスを概略的に示す。クライアント１０１２から送信された要求は、ＴＣＰ／ＩＰパケットとしてＩＰネットワーク１００３を通過し、ロードバランサ１００４のクライアント側ＮＩＣ１０４１で受信される。さらにロードバランサ１００４において、該要求は、チップセット１０４３を経由してメモリ１０４２に格納される。ＣＰＵ１０４４上で動作している分散処理プログラムにより、該要求の転送先のサーバ（ＳＶ）１０１６が選択される。該要求の宛先が、選択されたサーバになるように、メモリ１０４２に格納された該要求が変換される。該変換された要求は、チップセット１０４３を経由してメモリ１０４２から読み出され、サーバ側ＮＩＣ１０４５からＴＣＰ／ＩＰパケットとして送信される。
ロードバランサ１００４から出力された該要求は、ＩＰネットワーク１００５を通過し、宛先として選択されたサーバ１０１６のＮＩＣ１０６１で受信される。選択されたサーバ１０１６において、受信された要求はチップセット１０６３を経由してメモリ１０６２に格納される。そして、ＣＰＵ１０６４上で動作している処理プログラムによって処理される。処理された結果は、応答としてメモリ１０６２に格納される。該応答は、チップセット１０６３を経由してメモリ１０６２から読み出され、ＮＩＣ１０６１からＴＣＰ／ＩＰパケットとして送信される。
サーバ１０１６から出力された応答は、ＩＰネットワーク１００５を通過し、ロードバランサ１００４のサーバ側ＮＩＣ１０４５で受信される。応答はチップセット１０４３経由でメモリ１０４２に格納される。そしてＣＰＵ１０４４上で動作している分散処理プログラムによって、該応答の宛先が要求元のクライアント１０１２になるように、メモリ１０４２に格納された該応答が変換される。該変換された応答は、チップセット１０４３を経由してメモリ１０４２から読み出され、クライアント側ＮＩＣ１０４１からＴＣＰ／ＩＰパケットとしてクライアント１０１２へ送信される。
また、特許文献２は、所定のシーケンスに従った制御信号を順序通りに処理し、且つ分散処理を行う複数のプロセッサを有するマルチプロセッサシステム、及び、転送処理の機能の引継ぎを行う機能引継ぎ制御方法を開示する。特許文献２において、調停基板は、ＣＰ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ）基板へのアクセス又はＣＰ基板から共通記憶基板へのアクセス時、共通バスの使用要求の競合が発生した場合の調停を行い、また、ＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）転送の場合に、入出力装置から共通記憶基板へのアクセスの調停を行う。
また、特許文献３は、任意のネットワークに接続した複数の計算機の分散処理方法を開示する。特許文献３において、各計算機は、自身のＲＡＳ（Ｒｅｍｏｔｅ  Ａｃｃｅｓｓ  Ｓｅｒｖｉｃｅ）情報を取得して他の各計算機に送信し、他の各計算機からのＲＡＳ情報を受信して自身のＲＡＳ情報と共に主記憶装置に保存する。各計算機は、クライアントからの業務要求を受け付けたときに、自らの主記憶装置のＲＡＳ情報を参照して、分散処理を行う。
さらに、特許文献４は、複数のプロセッサを含むマルチプロセッサシステムにおける分散処理方法を開示する。特許文献４において、ユーザプログラムは複数のタスクに分割され、メインメモリに保持される。各ＳＰＵ（サブプロセッサユニット）は、メインメモリに保持された実行可能状態にあるタスクをローカルメモリにＤＭＡ転送し、そのタスクを実行する。各ＳＰＵは、時分割されたＣＰＵタイムをタスクの実行に割り当て、タスクを実行する。わりあてられたＣＰＵタイムが消費されると、タスクはローカルメモリからメインメモリにＤＭＡ転送されて退避される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−７１１５６号公報
【特許文献２】特開２００１−１６６９５５号公報
【特許文献３】特開２００７−１３３６６５号公報
【特許文献４】特開２００８−１４６５０３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、特許文献１に開示される分散処理システム１００１では、ロードバランサ１００４における負荷平準化処理とＴＣＰ／ＩＰパケットの転送処理がお互いの処理を制約するため、それぞれの処理が分散処理全体の律速段階である。サーバ数が増加すると、このロードバランサ１００４の負荷平準化処理がシステム全体の処理速度のボトルネックとなる。また、トラフィック量が増加すると、このＴＣＰ／ＩＰパケットの転送処理がシステム全体の処理速度のボトルネックとなる。すなわち、ロードバランサ１００４の処理能力が、分散処理システム全体の拡張性を制約する。
特許文献２に記載されるマルチプロセッサシステム、及び、機能引継ぎ制御方法は、要求すべき制御信号を共有記憶基板に保持し、制御信号に付加されたキー番号を基に転送先のＣＰ基板を検索する。この共有記憶基板での入力処理と出力処理がお互いを制約し、入力処理と出力処理のそれぞれの速度が、システム全体の処理速度を制約する。
特許文献３に記載される分散処理方法は、他の計算機からのＲＡＳ情報を受信して自身のＲＡＳ情報と共に主記憶装置に保存する。クライアントからの業務要求を受け付けたときに、自らの主記憶装置のＲＡＳ情報が参照される。特許文献３に記載される分散処理方法では、主記憶装置の参照動作が入出力処理を制約する。この参照動作の速度がシステム全体の処理速度を制約する。
特許文献４に記載される分散処理方法は、メインメモリに保持された複数のタスクをローカルメモリにＤＭＡ転送し、該タスクを実行する。特許文献４に記載される分散処理方法でも、メインメモリに保持された複数のタスクでの入力処理と出力処理がお互いを制約し、入力処理と出力処理のそれぞれがシステム全体の処理速度を制約する。
本発明は上記の問題に鑑みてなされたものであり、ロードバランサにおける処理どうしの制約を解消し、転送オーバヘッドを低減することを目的とする。すなわち、ロードバランサなどの転送処理手段の処理状況や処理性能に制約されずに、クライアントからの要求の負荷を分散する、分散処理システム、インタフェース、記憶装置、分散処理方法及び分散処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００５】
前記課題を解決するために、本発明による分散処理システムは、要求手段からの要求を処理して応答を生成する処理手段と、前記処理手段が接続されるスイッチと、前記スイッチに接続される記憶手段と、前記要求手段が接続されるネットワークと前記スイッチに接続され、前記要求手段からの要求を前記記憶手段に転送し、前記応答を前記要求手段に転送する、インタフェースとを備えた分散処理システムであって、前記記憶手段は、前記転送された要求にステート管理が必要か否かを判定する第１の制御手段と、ステート管理が必要な要求を格納する第１の格納手段と、ステート管理が不要な要求を格納する第２の格納手段とを備え、前記第１の制御手段は、前記処理手段からの指示に基づいて、第１または第２の格納手段に格納される前記要求を削除し、前記処理手段は、負荷を検出し、前記負荷に応じて前記第１または第２の格納手段に格納される前記要求を読み出し、生成された応答を前記インタフェースに出力する第２の制御手段を備えることを特徴とする。
前記課題を解決するために、本発明によるインタフェースは、要求手段からの要求を処理して応答を生成する処理手段と記憶手段とが接続されるスイッチと、前記要求手段が接続されるネットワークとに接続される、インタフェースであって、前記要求手段からの要求を前記記憶手段に転送し、前記応答を前記要求手段に転送する、転送手段を有し、ＤＭＡ転送を用いて前記記憶装置に前記要求を転送することを特徴とする。
前記課題を解決するために、本発明による記憶手段は、要求手段からの要求を処理して応答を生成する処理手段と、前記要求手段が接続されるネットワークに接続され前記応答を前記要求手段に転送するインタフェースと、が接続されるスイッチに接続される、記憶手段であって、前記インタフェースから転送された前記要求手段からの要求にステート管理が必要か否かを判定する第１の制御手段と、ステート管理が必要な要求を格納する第１の格納手段と、ステート管理が不要な要求を格納する第２の格納手段とを備え、前記第１の制御手段は、前記処理手段からの指示に基づいて、第１または第２の格納手段に格納される前記要求を削除することを特徴とする。
前記課題を解決するために、本発明による分散処理方法は、要求手段からの要求を処理して応答を生成する処理手段と、前記処理手段が接続されるスイッチと、前記スイッチに接続される記憶手段と、前記要求手段が接続されるネットワークと前記スイッチに接続されるインタフェースとを備えたシステムにおける、分散処理方法であって、前記要求手段からの要求を前記記憶手段に転送するステップと、前記転送された要求にステート管理が必要か否かを判定するステップと、前記要求にステート管理が必要であれば、前記要求を第１の格納手段に格納するステップと、前記要求にステート管理が不要であれば、前記要求を第２の格納手段に格納するステップと、前記処理手段の負荷に応じて、前記要求を読み出して、前記処理手段に転送するステップと、前記要求を処理して生成された応答を前記要求手段に転送するステップと、第１または第２の格納手段に格納される前記要求を削除するステップと備えることを特徴とする。
前記課題を解決するために、本発明による分散処理プログラムは、要求手段からの要求を処理して応答を生成する処理手段と、前記処理手段が接続されるスイッチと、前記スイッチに接続される記憶手段と、前記要求手段が接続されるネットワークと前記スイッチに接続されるインタフェースとを備えたシステムにおける、分散処理プログラムであって、前記要求手段からの要求を前記記憶手段に転送するステップと、前記転送された要求にステート管理が必要か否かを判定するステップと、前記要求にステート管理が必要であれば、前記要求を第１の格納手段に格納するステップと、前記要求にステート管理が不要であれば、前記要求を第２の格納手段に格納するステップと、前記処理手段の負荷に応じて、前記要求を読み出して、前記処理手段に転送するステップと、前記要求を処理して生成された応答を前記要求手段に転送するステップと、第１または第２の格納手段に格納される前記要求を削除するステップとをコンピュータに実行させることを特徴とする。
【発明の効果】
【０００６】
本発明によれば、ロードバランサのボトルネックを解消し、転送オーバヘッドを低減した分散処理システム、ネットワークインタフェース、記憶装置、記憶型ネットワークインタフェース、分散処理方法及び分散処理プログラムが提供される。
【図面の簡単な説明】
【０００７】
【図１】図１は、本発明の第１及び第２の実施形態に係る分散処理システムの構成の一例を示す。
【図２】図２は、本発明の第１の実施形態に係るマルチルート（ＭＲ）対応ＰＣＩ  Ｅｘｐｒｅｓｓ（ＰＣＩｅ）記憶装置の構成の一例を示す。
【図３】図３は、第１、第２及び第４の実施形態に係る分散処理システムの動作のシーケンスの一例の概略を示す図である。
【図４】図４は、第１の実施形態に係る分散処理システムの処理の一例を示すフローチャートである。
【図５Ａ】図５Ａは、本発明の第１乃至第４の実施形態に係る処理部の構成の一例を示す。
【図５Ｂ】図５Ｂは、本発明の第１乃至第４の実施形態に係る処理部で動作するソフトウェアの構成の一例を示す。
【図６】図６は、本発明の第２及び第４の実施形態に係るＭＲ対応ＰＣＩｅネットワークインタフェースカードの構成の一例を示す。
【図７】図７は、第２及び第４の実施形態に係るＭＲ対応ＰＣＩｅ記憶装置の構成の一例を示す。
【図８】図８は、第２及び第４の実施形態に係る分散処理システムにおいて、クライアントから要求パケットが到着した際の処理の一例を示すフローチャートである。
【図９】図９は、第２乃至第４の実施形態に係るステート管理テーブルの構成の一例を示す。
【図１０】図１０は、第２及び第４の実施形態に係る分散処理システムにおいて、処理部が要求パケットを処理する際の処理の一例を示すフローチャートである。
【図１１】図１１は、第２及び第４の実施形態に係る分散処理システムにおいて、クライアントに応答パケットを送信する処理の一例を示すフローチャートである。
【図１２】図１２は、本発明の第３の実施形態に係る分散処理システムの構成の一例を示す。
【図１３】図１３は、本発明の第３の実施形態に係るＭＲ対応ＰＣＩｅ記憶型ネットワークインタフェースカードの構成の一例を示す。
【図１４】図１４は、第３の実施形態に係る分散処理システムの動作のシーケンスの一例の概略を示す図である。
【図１５】図１５は、第３の実施形態に係る分散処理システムにおいて、クライアントから要求パケットが到着した際の処理の一例を示すフローチャートである。
【図１６】図１６は、第３の実施形態に係る分散処理システムにおいて、処理部が要求パケットを処理する際の処理の一例を示すフローチャートである。
【図１７】図１７は、第３の実施形態に係る分散処理システムにおいて、クライアントに応答パケットを送信する処理の一例を示すフローチャートである。
【図１８】図１８は、本発明の第４の実施形態に係る分散処理システムの構成の一例を示す。
【図１９】図１９は、本発明に関連する分散処理システムの構成を示す図である。
【図２０】図２０は、本発明に関連する分散処理システムのロードバランサとＩＰネットワークとサーバ群のブロック図である。
【図２１】図２１は、本発明に関連する分散処理システムの動作のシーケンスの概略を示す図である。
【発明を実施するための形態】
【０００８】
以下、本発明の実施の形態について、図面を参照して詳細に説明する。
〔第１の実施形態〕
本発明を好適に実施した第１の実施形態について説明する。
図１は、本発明の第１の実施形態に係る分散処理システムの構成の一例を示す。
該分散処理システム１は、ＩＰネットワーク３上のクライアント２と接続されるマルチルート（以下、ＭＲと略記する。）対応ＰＣＩ  Ｅｘｐｒｅｓｓ（以下、ＰＣＩｅと略記する。）ネットワークインタフェースカード（以下、ＮＩＣと略記する。）４と、ＭＲ対応ＰＣＩｅＮＩＣ４に接続されるＭＲ対応ＰＣＩｅスイッチ６を含む。該ＭＲ対応ＰＣＩｅスイッチ６には、ＭＲ対応ＰＣＩｅ記憶装置５が接続される。さらに、該ＭＲ対応ＰＣＩｅスイッチ６には、該クライアント２からの要求を処理する処理部７が接続される。
図２は、本発明の第１の実施形態におけるＭＲ対応ＰＣＩｅ記憶装置５の構成の一例を示す。該ＭＲ対応ＰＣＩｅ記憶装置５は、ステート管理パケット格納メモリ５２と、ステートレスパケット格納メモリ５３とを含む。なお、ステートとは、要求が処理される状況或いは処理の条件についての情報を含む。ステートは、例えば、他の要求を含めた処理の順番などの情報を含んでもよい。該ステート管理パケット格納メモリ５２及び該ステートレスパケット格納メモリ５３は、メモリコントローラ５１を介してＭＲ対応ＰＣＩｅスイッチ６に接続される。すなわち、メモリコントローラ５１は、ＭＲ対応ＰＣＩｅＮＩＣ４から転送された要求パケットを、ステート管理アプリケーション用とステートレスアプリケーション用とに区別する。ステート管理パケット格納メモリ５２は、ステート管理アプリケーション用の要求パケットを記憶する。ステートレスパケット格納メモリ５３は、ステートレスアプリケーション用の要求パケットを格納する。さらに、メモリコントローラ５１は、処理部７からの削除要求に対応する要求パケットを、ステート管理パケット格納メモリ５２又はステートレスパケット格納メモリ５３から削除する。なお、ステート管理パケット格納メモリ５２は、他の機器との間のデータ転送にＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）転送を用いる。
次に、図１と図３を参照して、本発明の実施の形態１に係る分散処理システム１の動作の一例を説明する。図３は、該分散処理システム１の動作シーケンスの一例を概略的に示す。
クライアント２から送信された要求は、ＴＣＰ／ＩＰパケットとしてＩＰネットワーク３を通過し、ＭＲ対応ＰＣＩｅＮＩＣ４で受信される。要求パケットは、ＤＭＡ転送でＭＲ対応ＰＣＩｅ記憶装置５に格納される。この動作は、要求パケットの受信ごとに行われる。
一方、処理部７は、負荷状況に基づいて、読み出し動作が制御される。すなわち、処理部７の負荷の状況に応じて、ＭＲ対応ＰＣＩｅ記憶装置５からＤＭＡ転送により要求パケットが読み出され、処理部７において要求パケットの処理が行われる。処理部７は、要求処理を完了すると、応答パケットを生成し、生成された応答パケットをＭＲ対応ＰＣＩｅＮＩＣ４にＤＭＡ転送する。ＭＲ対応ＰＣＩｅＮＩＣ４は、転送された応答パケットをクライアント２に送信する。さらに、処理部７は、削除指示をＭＲ対応ＰＣＩｅ記憶装置５に送信する。ＭＲ対応ＰＣＩｅ記憶装置５は、削除指示に従って、格納された要求パケットを削除する。要求パケット受信から応答パケット送信までの動作において、ＭＲ対応ＰＣＩｅスイッチ６を介したＤＭＡ転送により、データ転送が行われる。
次に、図１、２及び４を参照して、分散処理システム１の動作を説明する。
図４は、本発明の第１の実施形態に係る分散処理システムの処理の流れの一例を示す。
クライアント２からの要求パケットが、クライアント側のＩＰネットワーク３からＭＲ対応ＰＣＩｅＮＩＣ４に到着する（ステップＳ１０１）。
要求パケットは、ＭＲ対応ＰＣＩｅ記憶装置５に転送され、メモリコントローラ５１において、ステート管理してフローごとに格納する必要のある要求かどうかが判定される（ステップＳ１０２）。
要求パケットは、ステートレスなアプリケーションと識別された場合（ステップＳ１０２／ステート管理なし）、ステートレスパケット格納メモリ５３に格納される（ステップＳ１０４）。
要求パケットが、ステート管理が必要なアプリケーションと識別された場合（ステップＳ１０２／ステート管理有り）、フローの解析が行われる。要求パケットのステート情報が記録され、要求パケットがステート管理パケット格納メモリ５２に格納される（ステップＳ１０３）。
処理部７が要求を処理できる状態の時に、要求パケットは、ＭＲ対応ＰＣＩｅ記憶装置５から処理部７に転送されて、処理される（ステップＳ１０５）。処理部７が、ステート管理が必要な要求を処理しているか否かに応じて、要求パケットが、ステート管理パケット格納メモリ５２またはステートレスパケット格納メモリ５３から読み出されて、処理部７に転送される。要求パケットがステート管理パケット格納メモリ５２から読み出された場合は、処理を行う処理部７についての情報が登録される。
処理部７は、要求パケットを処理して、応答パケットを生成する。ＭＲ対応ＰＣＩｅＮＩＣ４は、処理部７から応答パケットを読み出す（ステップＳ１０６）。応答パケットは、クライアント側ネットワークに出力され、要求を出したクライアントに送付される（ステップＳ１０７）。処理部７は、応答パケットを送信後、ＭＲ対応ＰＣＩｅ記憶装置５に要求パケットの削除指示を送付し、指示された要求パケットを削除する（ステップＳ１０８）。
図４のフローチャートに示されるように、処理部７で要求パケットを処理した後に、応答パケットが送信され、再び要求パケットの処理が開始される。一方、要求パケットの受信処理は、これらの処理とは独立である。上記のように、本発明の第１の実施形態に係る分散処理システム１は、１つのＭＲ対応ＰＣＩｅＮＩＣ４及び１つのＭＲ対応ＰＣＩｅ記憶装置５を含むが、複数のＭＲ対応ＰＣＩｅＮＩＣ４及び複数のＭＲ対応ＰＣＩｅ記憶装置５を含んでもよい。
本発明の第１の実施形態に係る分散処理システムは、ＭＲ対応ＰＣＩｅデバイスを含み、格納されたパケットを各処理部が自律的に処理する。これにより、ＴＣＰ／ＩＰ転送オーバヘッドを削減できる。課題となる処理速度全体のボトルネックが解消される。また、分散処理が、複雑なアルゴリズムを含まない。このため、システムの性能が向上する。
〔第２の実施形態〕
本発明を好適に実施した第２の実施形態について説明する。
第２の実施形態に係る分散処理システム１において、第１の実施形態に係る分散処理システム１と重複する部材および動作には同じ符号を付し、その説明を省略する。
図５Ａは、本発明の第２の実施形態に係る処理部７の構成の一例を示す。処理部７は、メモリ７１、Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ（ＣＰＵ）７３、及び、メモリ７１及びＣＰＵ７３に接続されるチップセット７２を含む。メモリ７１、ＣＰＵ７３は、チップセット７２を介してＭＲ対応ＰＣＩｅスイッチ６に接続される。
図５Ｂは、処理部７で動作するソフトウェアの一例をソフトウエアスタックとして示す。処理部７においては、オペレーティングソフトウェア（ＯＳ）、及びアプリケーションソフトウェアが動作する。アプリケーションソフトウェアは、例えば、負荷監視、ＴＣＰ／ＩＰ処理、アプリケーション処理のソフトウェアである。アプリケーション処理のソフトウェアは、例えば、クライアントからの要求を処理し、応答パケットを生成する。該アプリケーションソフトウェアは、各デバイスのＤＭＡコントローラを設定し、データの移動等を制御する、デバイス制御のソフトウェアを含んでもよい。
図６は、本発明の実施形態２に係るＭＲ対応ＰＣＩｅＮＩＣ４の構成の一例を示す。ＭＲ対応ＰＣＩｅＮＩＣ４は、ＭＲ対応ＰＣＩｅスイッチ６に接続されるマルチルートＰＣＩｅコントローラ４１と、クライアント側ネットワーク３に接続されるメディアアクセスコントローラ（以下、ＭＡＣと略記する。）４４と、それぞれマルチルートＰＣＩｅコントローラ４１とＭＡＣ４４に接続されるパケット送信メモリ４２及びパケット受信メモリ４３を含む。ＭＲ対応ＰＣＩｅＮＩＣ４はさらに、マルチルートＰＣＩｅコントローラ４１とパケット送信メモリ４２とパケット受信メモリ４３とに接続されるＤＭＡコントローラ４５を含む。ＤＭＡコントローラ４５には、ＤＭＡコントロールレジスタ４６が接続される。マルチルートＰＣＩｅコントローラ４１、ＤＭＡコントローラ４５及びＭＡＣ４４には、ＭＲ対応ＰＣＩｅコンフィグレジスタ４７が接続される。なお、パケット送信メモリ４２は複数のメモリであってもよい。パケット送信メモリ４２に対応して、パケット受信メモリ４３は複数のメモリであってもよく、さらに、ＤＭＡコントローラ４５も複数のコントローラであってもよい。また、ＤＭＡコントロールレジスタ４６も、複数のレジスタであってもよい。
ＭＲ対応ＰＣＩｅＮＩＣ４は、クライアント側ネットワーク３を介して、クライアント２から送信される要求パケットを受信し、該要求パケットをＭＲ対応ＰＣＩｅ記憶装置５へ転送する。さらに、ＭＲ対応ＰＣＩｅＮＩＣ４は、処理部７が該要求パケットを処理して生成した応答パケットを、クライアント側ネットワーク３を介して、クライアント２へ送信する。
ＭＲ対応ＰＣＩｅＮＩＣ４は、マルチレートＰＣＩｅコントローラ４１及びＭＲ対応ＰＣＩｅコンフィグレジスタ４７を含む。複数の処理部７は、ＭＲ対応ＰＣＩｅスイッチ６を介して、同時にＭＲ対応ＰＣＩｅＮＩＣ４を利用する。この複数の処理部７の動作の方法は、非特許文献１に記載されるので、詳細な説明は省略される。
［先行技術文献］
［非特許文献］
［非特許文献１］Ｍｕｌｔｉ−Ｒｏｏｔ  Ｉ／Ｏ  Ｖｉｒｔｕａｌｉｚａｔｉｏｎ  ａｎｄ  Ｓｈａｒｉｎｇ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ  Ｒｅｖｉｓｉｏｎ  １．０，ＰＣＩ−ＳＩＧ，Ｍａｙ  １２，２００８，ｐｐ．２９
図７は、本発明の実施形態１に係るＭＲ対応ＰＣＩｅ記憶装置５の構成の一例を詳細に示す。
ＭＲ対応ＰＣＩｅ記憶装置５は、ＭＲ対応ＰＣＩｅスイッチに接続されるマルチルートＰＣＩｅコントローラ５４と、メモリコントローラ５１と、それぞれマルチルートＰＣＩｅコントローラ５４とメモリコントローラ５１とに接続されるパケット送信メモリ５５及びパケット受信メモリ５６を含む。ＭＲ対応ＰＣＩｅ記憶装置５はさらに、マルチルートＰＣＩｅコントローラ５４とパケット送信メモリ５５及びパケット受信メモリ５６とに接続されるＤＭＡコントローラ５７を含む。ＤＭＡコントローラ５７には、ＤＭＡコントロールレジスタ５８が接続される。マルチルートＰＣＩｅコントローラ５４、ＤＭＡコントローラ５７及びメモリコントローラ５１には、ＭＲ対応ＰＣＩｅコンフィグレジスタ５９が接続される。メモリコントローラ５１は、アプリケーション解析部５１１、フロー解析部５１２、ステート管理部５１３及びステート管理テーブル５１４を含む。メモリコントローラ５１には、フロー識別パケット格納メモリ５２１及びステートレスパケット格納メモリ５３が接続される。フロー識別パケット格納メモリ５２１は、図２におけるステート管理パケット格納メモリ５２に対応する。なお、パケット送信メモリ５５は複数のメモリであってもよい。パケット送信メモリ５５に対応して、パケット受信メモリ５６は複数のメモリであってもよく、さらに、ＤＭＡコントローラ５７も複数のコントローラであってもよい。また、ＤＭＡコントロールレジスタ５８も、複数のレジスタであってもよい。
ＭＲ対応ＰＣＩｅ記憶装置５は、クライアント側ネットワーク３から受信した要求パケットを解析し、ステート管理が必要な要求パケットとステート管理が不要な要求パケットとに分類して格納する。処理部７からの指示があらかじめＤＭＡコントローラまたはＤＭＡコントロールレジスタに格納されている。ＭＲ対応ＰＣＩｅ記憶装置５は、ステート管理が必要な要求パケットと、ステート管理が不要な要求パケットとを、この処理部７からの指示に応じて分類し、分類された要求パケットを処理部７に送付する。また、処理部７からクライアント２への応答パケットの送信を契機にして、格納されている要求パケットが削除される。本実施形態において、パケット格納メモリは、ステート管理型アプリケーション用のメモリとステートレス型アプリケーション用のメモリとに分離されている。これにより、ステートレスアプリケーション用のメモリであるステートレスパケット格納メモリ５３は、例えば、ＦＩＦＯ（Ｆｉｒｓｔ  Ｉｎ、Ｆｉｒｓｔ  Ｏｕｔ）などの簡易な形式の構成でよい。
ＭＲ対応ＰＣＩｅ記憶装置５は、マルチルートＰＣＩｅコントローラ５４及びＭＲ対応ＰＣＩｅコンフィグレジスタ５９を含む。複数の処理部７は、ＭＲ対応ＰＣＩｅスイッチ６を介して同時にＭＲ対応ＰＣＩｅ記憶装置５を利用する。この複数の処理部７の動作の方法は、非特許文献１に記載される。
ＭＲ対応ＰＣＩｅ記憶装置５は、補助記憶装置であることが好ましく、特に、シーク時間が短く、高速なリード・ライトが可能な補助記憶装置であることが好ましい。補助記憶装置は、例えば、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）などである。ＭＲ対応ＰＣＩｅ記憶装置５に記憶されるパケットのデータ量が小さいので、補助記憶装置を採用することによりシーク時間が短縮されれば、データのリード・ライトが高速になり、分散処理システム１の処理時間が短縮される。
次に、本発明の第２の実施形態に係る分散処理システム１の動作を詳細に説明する。まず、図１、６、７、及び８を参照して、クライアント２から要求パケットを受信する際の動作を説明する。
図８は、クライアント２から要求パケットが到着した際の動作の流れを示す。
システム起動後、ＭＲ対応ＰＣＩｅＮＩＣ４のＤＭＡコントロールレジスタ４６及びＭＲ対応ＰＣＩｅ記憶装置５のＤＭＡコントロールレジスタ５８が設定される（ステップＳ２０１）。ＭＲ対応ＰＣＩｅＮＩＣ４が、クライアント２から要求パケットを、クライアント側ネットワーク３を介して受信する（ステップＳ２０２）と、受信した要求パケットは、メディアアクセスコントローラ４４において、ＭＡＣ処理を受ける（ステップＳ２０３）。ＭＡＣ処理された要求パケットは、ＭＲ対応ＰＣＩｅＮＩＣ４のパケット受信メモリ４３に転送される（ステップＳ２０４）。ＭＲ対応ＰＣＩｅＮＩＣ４のＤＭＡコントローラ４５が、受信した要求パケットをＭＲ対応ＰＣＩｅ記憶装置５に転送するよう、ＭＲ対応ＰＣＩｅＮＩＣ４のＤＭＡコントロールレジスタ４６に設定情報があらかじめ保持されている。この設定情報に従って、パケット受信メモリ４３に転送された要求パケットは、さらに、ＭＲ対応ＰＣＩｅスイッチ６を介して、ＭＲ対応ＰＣＩｅ記憶装置５のマルチルートＰＣＩｅコントローラ５４に転送される（ステップＳ２０５）。
ＭＲ対応ＰＣＩｅＮＩＣ４から転送された要求パケットは、ＭＲ対応ＰＣＩｅ記憶装置５に到着すると（ステップＳ２０６）、マルチルートＰＣＩｅコントローラ５４を介してパケット受信メモリ５６に転送される（ステップＳ２０７）。メモリコントローラ５１は、パケット受信メモリ５６から要求パケットを読み出す。読み出された要求パケットがステート管理されフローごとに格納される必要があるかどうかが、アプリケーション解析部５１１において判定される（ステップＳ２０８）。
要求パケットの要求する処理が、ステートレスなアプリケーションと判定された場合（ステップＳ２０８／ステート管理なし）、要求パケットはステートレスパケット格納メモリ５３に格納される（ステップＳ２０９）。なお、ステートレスパケット格納メモリ５３はＦＩＦＯ形式が望ましい。
要求パケットの要求する処理が、ステート管理が必要なアプリケーションと判定された場合（ステップＳ２０８／ステート管理有り）、フロー解析部５１２においてフローが解析される（ステップＳ２１０）。このフロー解析において、要求パケットを送信したクライアント２の区別に基づいて、フローが区別される。フローが解析された要求パケットのステート情報は、ステート管理テーブル５１４に記録される（ステップＳ２１１）。ステート情報が記録された要求パケットは、フロー識別パケット格納メモリ５２１に格納される（ステップＳ２１２）。フロー識別パケット格納メモリ５２１は、フローごとに要求パケットを格納するように、フローにより区別される格納領域を含む。
フロー解析部５１２により解析された要求パケットのフローをもつ別の要求パケットが既に格納された格納領域があれば（ステップＳ２１０／登録済み）、解析された要求パケットは、既に格納された別の要求パケットの後に処理されるよう、該格納領域に格納される。
フロー解析部５１２により解析された要求パケットのフローをもつ別の要求パケットがまだ格納されなければ（ステップＳ２１０／未登録）、新たにこのフロー用に格納領域が用意され（ステップＳ２１３）、要求パケットがこの格納領域に格納される。
図９は、フローを解析された要求パケットのステート情報が書き込まれるステート管理テーブル５１４の構成の一例を示す。
ステート管理テーブル５１４は、例えば、フロー、メモリ上のアドレスで示された格納領域の位置、フローを処理する処理部のＩＤ、要求パケットを処理するアプリケーションの情報、及びフローに関するステート情報を記載したレコードを含む。
次に、図１、５Ａ、７、及び１０を参照して、処理部７による要求パケットの処理を説明する。図１０は、処理部７による要求パケットの処理における動作の流れを示す。
処理部７は、処理部７に対する負荷の状況を随時監視している。すなわち、処理部７は、要求パケットを処理できる状況であるかどうかを随時判定する（ステップＳ３０１）。処理部７が要求パケットを処理できる状況であれば（ステップＳ３０１／処理可能）、処理が可能であるという情報をＭＲ対応ＰＣＩｅ記憶装置５に送信し、処理部７の状況をＭＲ対応ＰＣＩｅ記憶装置５のＤＭＡコントローラ５７及びＤＭＡコントロールレジスタ５８に設定する（ステップＳ３０２）。
処理部７において処理される要求パケットがＭＲ対応ＰＣＩｅ記憶装置５に格納されているかどうかが判定され（ステップＳ３０３）、要求パケットが格納されていれば（ステップＳ３０３／ＹＥＳ）、ＭＲ対応ＰＣＩｅ記憶装置５のＤＭＡコントローラ５７及びＤＭＡコントロールレジスタ５８により、要求パケットが処理部７のメモリ７１に転送される。
ＭＲ対応ＰＣＩｅ記憶装置５が要求パケットを処理部７に転送する際には、転送される要求パケットを、次の手順に従って選択する。
（１）処理部７が、ステート管理が必要な要求パケットを処理するアプリケーションを既に起動している場合（ステップＳ３０４／ＹＥＳ）、該アプリケーションが処理するフローをもつ要求パケットがフロー識別パケット格納メモリ５２１から読み出される。ＭＲ対応ＰＣＩｅ記憶装置５のＤＭＡコントローラ５７は、複数のコントローラを含み、処理が可能な処理部７は、複数のコントローラから１つのコントローラを選択する。ＭＲ対応ＰＣＩｅ記憶装置５のパケット受信メモリ５６は、複数の格納領域を含み、処理部７により選択されたＤＭＡコントローラ５７により制御される格納領域が複数の格納領域から選択される。該要求パケットが、該コントローラによりフロー識別パケット格納メモリ５２１から該格納領域に転送される（ステップＳ３０６）。要求パケットの転送による、処理部７とフロー識別パケット格納メモリ５２１の状態の変化が、ステート管理部５１３により、ステート管理テーブル５１４に記録され（ステップＳ３０７）、要求パケットは、処理部７のメモリ７１にＤＭＡ転送される（ステップＳ３０９）。
（２）処理部７が、ステート管理が必要な要求パケットを処理するアプリケーションを起動していない場合（ステップＳ３０４／ＮＯ）、フロー識別パケット格納メモリ５２１及びステートレスパケット格納メモリ５３のいずれかから要求パケットが読み出される。要求パケットが、フロー識別パケット格納メモリ５２１から読み出された場合（ステップＳ３０５／ＹＥＳ）、読み出された要求パケットは、ＤＭＡコントローラ５７が制御するパケット送信メモリ５５の格納領域に転送される（ステップＳ３０６）。読み出された要求パケットのフローと、処理を割り当てられた処理部７についての情報が、ステート管理部５１３により、ステート管理テーブル５１４に登録される（ステップＳ３０７）。パケット送信メモリ５５に転送された要求パケットは、ＤＭＡコントローラ５７により、処理部７のメモリ７１に転送される（ステップＳ３０９）。要求パケットが、ステートレスパケット格納メモリ５３から読み出された場合（ステップＳ３０５／ＮＯ）は、要求パケットは、ステートレスパケット格納メモリ５３から、ＤＭＡコントローラ５７が制御するパケット送信メモリ５５の格納領域に転送される（ステップＳ３０８）。パケット送信メモリ５５に転送された要求パケットは、ステート管理テーブル５１４への登録処理を行わずに、ＤＭＡコントローラ５７により、処理部７のメモリ７１に転送される。要求パケットがフロー識別パケット格納メモリ５２１から読み出される回数と、要求パケットがステートレスパケット格納メモリ５３から読み出される回数の比は、ラウンドロビン、重み付きラウンドロビン等、メモリコントローラ５１において動作する、読み出しアルゴリズムに従って決められる。
要求パケットは、ＭＲ対応ＰＣＩｅ記憶装置５のマルチルートＰＣＩｅコントローラ５４、ＭＲ対応ＰＣＩｅスイッチ６、処理部７のチップセット７２を介して処理部７のメモリ７１に転送される（ステップＳ３０９）。メモリ７１に到着した要求パケットは、処理部７のＣＰＵ７３により、ＴＣＰ／ＩＰ処理（ステップＳ３１０）を受ける。ＴＣＰ／ＩＰ処理を受けた要求パケットはさらに、処理部７において起動するアプリケーションにより処理され（ステップＳ３１１）、ＣＰＵ７３により、応答パケットが生成される（ステップＳ３１２）。生成された応答パケットはメモリ７１に格納される。
次に、図１、５Ａ、６、７、及び１１を参照して、クライアント２に応答パケットを送信する処理を説明する。
図１１は、クライアント２に応答パケットを送信する動作の流れを示す。
処理部７が応答パケットを生成すると、処理部７は、ＭＲ対応ＰＣＩｅＮＩＣ４のＤＭＡコントローラ４５及びＤＭＡコントロールレジスタ４６を設定して、生成された応答パケットを転送するＤＭＡコントローラ４５及びＤＭＡコントロールレジスタ４６を選択する（ステップＳ４０１）。設定されたＤＭＡコントローラ４５及びＤＭＡコントロールレジスタ４６は、処理部７のメモリ７３から応答パケットを読み出し、ＭＲ対応ＰＣＩｅＮＩＣ４に転送する（ステップＳ４０２）。すなわち、応答パケットは、処理部７のチップセット７２、ＭＲ対応ＰＣＩｅスイッチ６、ＭＲ対応ＰＣＩｅＮＩＣ４のマルチルートＰＣＩｅコントローラ４１を経由して、処理部７により設定されたＤＭＡコントローラ４５が制御するパケット送信メモリ４２に転送される（ステップＳ４０３）。転送された応答パケットは、メディアアクセスコントローラ（ＭＡＣ）４４にてＭＡＣ処理を受ける（ステップＳ４０４）。ＭＡＣ処理を受けた応答パケットは、クライアント側ネットワーク３に出力され、要求パケットを発信したクライアント２に送付される（ステップＳ４０５）。処理部７は、応答パケットを送信した後、ＭＲ対応ＰＣＩｅ記憶装置５に、処理部７が処理した要求パケットを削除する指示を送付する（ステップＳ４０６）。削除指示を受信したＭＲ対応ＰＣＩｅ記憶装置５のメモリコントローラ５１は、フロー識別パケット格納メモリ５２１またはステートレスパケット格納メモリ５３に格納されている要求パケットを削除する（ステップＳ４０７）。
ＭＲ対応ＰＣＩｅＮＩＣ４及びＭＲ対応ＰＣＩｅ記憶装置５の設定処理は、処理部７によるＭＲ対応ＰＣＩｅコンフィグレジスタ４７、５９及びＤＭＡコントロールレジスタ４６、５８の設定により行われる。
図１０及び１１のフローチャートに示されるように、要求パケットを処理部７で処理し、応答パケットが生成され、応答パケットが送信された後に、再び処理部７での要求パケットの処理が開始される。一方、図９のフローチャートに示される、要求パケットの受信処理は、これらの処理とは独立である。
上記のように、本発明の第２の実施形態に係る分散処理システム１は、１つのＭＲ対応ＰＣＩｅＮＩＣ４及び１つのＭＲ対応ＰＣＩｅ記憶装置５を含むが、複数のＭＲ対応ＰＣＩｅＮＩＣ４及び複数のＭＲ対応ＰＣＩｅ記憶装置５を含んでもよい。
本発明の第２の実施形態に係る分散処理システムは、ＭＲ対応ＰＣＩｅデバイスを含み、ＤＭＡ転送を用いて到着パケットを記憶装置に格納し、格納されたパケットを各処理部が自律的に処理する。これにより、ＴＣＰ／ＩＰ転送オーバヘッドを削減できる。課題となる処理速度全体のボトルネックが解消される。また、分散処理が複雑なアルゴリズムを含まない。このため、システムの性能が向上する。
〔第３の実施形態〕
本発明を好適に実施した第３の実施形態について説明する。
第３の実施形態に係る分散処理システム１において、第１及び第２の実施形態に係る分散処理システム１と重複する部材および動作には同じ符号を付し、その説明を省略する。
図１２に、第３の実施形態に係る分散処理システムの構成を示す。該分散処理システム１は、ＩＰネットワーク３上のクライアント２と接続されるＭＲ対応ＰＣＩｅ記憶型ＮＩＣ８と、ＭＲ対応ＰＣＩｅ記憶型ＮＩＣ８に接続されるＭＲ対応ＰＣＩｅスイッチ６を含む。さらに、該ＭＲ対応ＰＣＩｅスイッチ６には、該クライアント２からの要求を処理する処理部７が接続される。処理部７、ＭＲ対応ＰＣＩｅスイッチ６は第２の実施形態と同じである。ＭＲ対応ＰＣＩｅ記憶型ＮＩＣ８は、クライアントからの要求の受信、要求の記録、及びクライアントへの応答の送信を行う。
図１３は、本発明の第３の実施形態に係るＭＲ対応ＰＣＩｅ記憶型ＮＩＣ８の構成の一例を示す。ＭＲ対応ＰＣＩｅ記憶型ＮＩＣ８は、ＭＲ対応ＰＣＩｅスイッチ６に接続されるマルチルートＰＣＩｅコントローラ８１と、クライアント側ネットワーク３に接続されるメディアアクセスコントローラ（ＭＡＣ）８４と、マルチルートＰＣＩｅコントローラ８１とＭＡＣ８４に接続される応答パケット送信メモリ８２とを含む。ＭＲ対応ＰＣＩｅ記憶型ＮＩＣ８はさらに、メモリコントローラ８８と、マルチルートＰＣＩｅコントローラ８１とメモリコントローラ８８に接続される要求パケット送信メモリ８３と、ＭＡＣ８４とメモリコントローラ８８に接続される要求パケット受信メモリ８９とを含む。ＭＲ対応ＰＣＩｅ記憶型ＮＩＣ８はさらに、マルチルートＰＣＩｅコントローラ８１と応答パケット送信メモリ８２と要求パケット送信メモリ８３とに接続されるＤＭＡコントローラ８５を含む。ＤＭＡコントローラ８５には、ＤＭＡコントロールレジスタ８６が接続される。マルチルートＰＣＩｅコントローラ８１、メモリコントローラ８８、ＤＭＡコントローラ８５及びＭＡＣ８４には、ＭＲ対応ＰＣＩｅコンフィグレジスタ８７が接続される。なお、応答パケット送信メモリ８２は複数のメモリであってもよい。要求パケット送信メモリ８３は複数のメモリであってもよく、要求パケット受信メモリ８９は複数のメモリであってもよい。さらに、ＤＭＡコントローラ８５も複数のコントローラであってもよい。また、ＤＭＡコントロールレジスタ８６も、複数のレジスタであってもよい。
メモリコントローラ８８は、アプリケーション解析部８８１、フロー解析部８８２、ステート管理部８８３及びステート管理テーブル８８４を含む。メモリコントローラ８８には、フロー識別パケット格納メモリ８８６、ステートレスパケット格納メモリ８８５が接続される。
第３の実施形態に係るＭＲ対応ＰＣＩｅ記憶型ＮＩＣ８は、クライアント２からの要求パケットを受信し、該要求パケットを格納し、該要求パケットを処理した処理部７が生成した応答パケットを送信する。
ＭＲ対応ＰＣＩｅ記憶型ＮＩＣ８は、マルチルートＰＣＩｅコントローラ８１及びＭＲ対応ＰＣＩｅコンフィグレジスタ８７を含む。非特許文献１に記載される方法に従って、複数の処理部７が、ＭＲ対応ＰＣＩｅスイッチ６を介して、同時にＭＲ対応ＰＣＩｅ記憶型ＮＩＣ８を利用する。
ＭＲ対応ＰＣＩｅ記憶型ＮＩＣ８は、補助記憶装置であることが好ましく、特に、シーク時間が短く、高速なリード・ライトが可能な補助記憶装置であることが好ましい。補助記憶装置は、例えば、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）などである。ＭＲ対応ＰＣＩｅ記憶型ＮＩＣ８に記憶されるパケットのデータ量が小さいので、補助記憶装置を採用することによりシーク時間が短縮されれば、データのリード・ライトが高速になり、分散処理システム１の処理時間が短縮される。
次に、図１２及び１４を参照して、本発明の第３の実施形態に係る分散処理システム１の動作の一例を説明する。図１４は、分散処理システム１の動作のシーケンスの一例を概略的に示す。
クライアント２から送信された要求は、ＴＣＰ／ＩＰパケットとしてＩＰネットワーク３を通過し、ＭＲ対応ＰＣＩｅ記憶型ＮＩＣ８で受信される。要求パケットは、ＭＲ対応ＰＣＩｅ記憶型ＮＩＣ８に格納される。この動作は、要求パケットの受信ごとに行われる。
一方、処理部７は、負荷状況に基づいて、読み出し動作が制御される。すなわち、処理部７の負荷の状況に応じて、ＭＲ対応ＰＣＩｅ記憶型ＮＩＣ８からＤＭＡ転送により要求パケットが読み出され、処理部７において要求パケットの処理が行われる。処理部７は、要求処理を完了すると、応答パケットを生成して、生成された応答パケットをＭＲ対応ＰＣＩｅ記憶型ＮＩＣ８にＤＭＡ転送する。ＭＲ対応ＰＣＩｅ記憶型ＮＩＣ８は、転送された応答パケットをクライアント２に送信する。さらに、処理部７は、削除指示をＭＲ対応ＰＣＩｅ記憶型ＮＩＣ８に送信する。ＭＲ対応ＰＣＩｅ記憶型ＮＩＣ８は、削除指示に従って、格納された要求パケットを削除する。要求パケット受信から応答パケット送信までの動作において、ＭＲ対応ＰＣＩｅスイッチ６を介したＤＭＡ転送により、データ転送が行われる。
次に、本発明の第３の実施形態に係る分散処理システム１の動作を詳細に説明する。
まず、図１２、１３、及び１５を参照して、クライアント２から要求パケットを受信する際の動作を説明する。
図１５は、クライアント２から要求パケットが到着した際の動作の流れを示す。
システム起動後、ＭＲ対応ＰＣＩｅ記憶型ＮＩＣ８のＤＭＡコントロールレジスタ８６が設定される（ステップＳ５０１）。ＭＲ対応ＰＣＩｅ記憶型ＮＩＣ８が、クライアント２から要求パケットを、クライアント側ネットワーク３を介して受信する（ステップＳ５０２）と、受信した要求パケットは、メディアアクセスコントローラ８４において、ＭＡＣ処理を受ける（ステップＳ５０３）。ＭＡＣ処理された要求パケットは、要求パケット受信メモリ８９に転送される（ステップＳ５０４）。
メモリコントローラ８８は、要求パケット受信メモリ８９から要求パケットを読み出す。読み出された要求パケットがステート管理されフローごとに格納される必要があるかどうかが、アプリケーション解析部８８１において判定される（ステップＳ５０５）。
要求パケットの要求する処理が、ステートレスなアプリケーションと判定された場合（ステップＳ５０５／ステート管理なし）、要求パケットはステートレスパケット格納メモリ８８５に格納される（ステップＳ５０６）。なお、ステートレスパケット格納メモリ８８５はＦＩＦＯ形式が望ましい。
要求パケットの要求する処理が、ステート管理が必要なアプリケーションと判定された場合（ステップＳ５０５／ステート管理有り）、フロー解析部８８２においてフローが解析される（ステップＳ５０７）。このフロー解析において、要求パケットを送信したクライアント２の区別に基づいて、フローが区別される。フローが解析された要求パケットのステート情報は、図９に示されるステート管理テーブル８８４に記録される（ステップＳ５０８）。
ステート情報が記録された要求パケットは、フロー識別パケット格納メモリ８８６に格納される（ステップＳ５０９）。フロー識別パケット格納メモリ８８６は、フローごとに要求パケットを格納するように、フローにより区別される格納領域を含む。
フロー解析部８８２により解析された要求パケットのフローをもつ別の要求パケットが既に格納された格納領域があれば（ステップＳ５０７／登録済み）、解析された要求パケットは、既に格納された別の要求パケットの後に処理されるよう、該格納領域に格納される。
フロー解析部８８２により解析された要求パケットのフローをもつ別の要求パケットがまだ格納されなければ（ステップＳ５０７／未登録）、新たにこのフロー用に格納領域が用意され（ステップＳ５１０）、要求パケットがこの格納領域に格納される。
次に、図１２、５Ａ、１３、及び１６を参照して、処理部７による要求パケットの処理を説明する。図１６は、処理部７による要求パケットの処理における動作の流れを示す。
処理部７は、処理部７に対する負荷の状況を随時監視している。すなわち、処理部７は、要求パケットを処理できる状況であるかどうかを随時判定する（ステップＳ６０１）。処理部７が要求パケットを処理できる状況であれば（ステップＳ６０１／処理可能）、処理が可能であるという情報をＭＲ対応ＰＣＩｅ記憶型ＮＩＣ８に送信し、処理部７の状況をＤＭＡコントローラ８５及びＤＭＡコントロールレジスタ８６に設定する（ステップＳ６０２）。
処理部７において処理される要求パケットがＭＲ対応ＰＣＩｅ記憶型ＮＩＣ８に格納されているかどうかが判定され（ステップＳ６０３）、要求パケットが格納されていれば（ステップＳ６０３／ＹＥＳ）、ＤＭＡコントローラ８５及びＤＭＡコントロールレジスタ８６により、要求パケットが処理部７のメモリ７１に転送される。
ＭＲ対応ＰＣＩｅ記憶型ＮＩＣ８が要求パケットを処理部７に転送する際には、転送される要求パケットを、次の手順に従って選択する。
（１）処理部７が、ステート管理が必要な要求パケットを処理するアプリケーションを既に起動している場合（ステップＳ６０４／ＹＥＳ）、該アプリケーションが処理するフローをもつ要求パケットがフロー識別パケット格納メモリ８８６から読み出される。ＤＭＡコントローラ８５は、複数のコントローラを含み、処理が可能な処理部７は、複数のコントローラから１つのコントローラを選択する。要求パケット送信メモリ８３は、複数の格納領域を含み、処理部７により選択されたＤＭＡコントローラ８５により制御される格納領域が複数の格納領域から選択される。該要求パケットが、該コントローラによりフロー識別パケット格納メモリ８８６から該格納領域に転送される（ステップＳ６０６）。要求パケットの転送による、処理部７とフロー識別パケット格納メモリ８８６の状態の変化が、ステート管理部８８３により、ステート管理テーブル８８４に記録され（ステップＳ６０７）、要求パケットは、処理部７のメモリ７１にＤＭＡ転送される（ステップＳ６０９）。
（２）処理部７が、ステート管理が必要な要求パケットを処理するアプリケーションを起動していない場合（ステップＳ６０４／ＮＯ）、フロー識別パケット格納メモリ８８６及びステートレスパケット格納メモリ８８５のいずれかから要求パケットが読み出される。要求パケットが、フロー識別パケット格納メモリ８８６から読み出された場合（ステップＳ６０５／ＹＥＳ）、読み出された要求パケットは、ＤＭＡコントローラ８５が制御する要求パケット送信メモリ８３の格納領域に転送される（ステップＳ６０６）。読み出された要求パケットのフローと、処理を割り当てられた処理部７についての情報が、ステート管理部８８３により、ステート管理テーブル８８４に登録される（ステップＳ６０７）。要求パケット送信メモリ８３に転送された要求パケットは、ＤＭＡコントローラ８５により、処理部７のメモリ７１に転送される（ステップＳ６０９）。要求パケットが、ステートレスパケット格納メモリ８８５から読み出された場合（ステップＳ６０５／ＮＯ）は、要求パケットは、ステートレスパケット格納メモリ８８５から、ＤＭＡコントローラ８５が制御する要求パケット送信メモリ８３の格納領域に転送される（ステップＳ６０８）。要求パケット送信メモリ８３に転送された要求パケットは、ステート管理テーブル８８４への登録処理を行わずに、ＤＭＡコントローラ８５により、処理部７のメモリ７１に転送される。
要求パケットがフロー識別パケット格納メモリ８８６から読み出される回数と、要求パケットがステートレスパケット格納メモリ８８５から読み出される回数の比は、ラウンドロビン、重み付きラウンドロビン等、メモリコントローラ５１において動作する、読み出しアルゴリズムに従って決められる。
要求パケットは、マルチルートＰＣＩｅコントローラ８１、ＭＲ対応ＰＣＩｅスイッチ６、処理部７のチップセット７２を介して処理部７のメモリ７１に転送される（ステップＳ６０９）。メモリ７１に到着した要求パケットは、処理部７のＣＰＵ７３により、ＴＣＰ／ＩＰ処理（ステップＳ６１０）を受ける。ＴＣＰ／ＩＰ処理を受けた要求パケットはさらに、処理部７において起動するアプリケーションにより処理され（ステップＳ６１１）、ＣＰＵ７３により、応答パケットが生成される（ステップＳ６１２）。生成された応答パケットはメモリ７１に格納される。
次に、図１２、５Ａ、１３、及び１７を参照して、クライアント２に応答パケットを送信する処理を説明する。
図１７は、クライアント２に応答パケットを送信する動作の流れを示す。
処理部７が応答パケットを生成すると、処理部７は、ＤＭＡコントローラ８５及びＤＭＡコントロールレジスタ８６を設定して、生成された応答パケットを転送するＤＭＡコントローラ８５及びＤＭＡコントロールレジスタ８６を選択する（ステップＳ７０１）。設定されたＤＭＡコントローラ８５及びＤＭＡコントロールレジスタ８６は、処理部７のメモリ７３から応答パケットを読み出し、ＭＲ対応ＰＣＩｅ記憶型ＮＩＣ８に転送する（ステップＳ７０２）。すなわち、応答パケットは、処理部７のチップセット７２、ＭＲ対応ＰＣＩｅスイッチ６、ＭＲ対応ＰＣＩｅ記憶型ＮＩＣ８のマルチルートＰＣＩｅコントローラ８１を経由して、処理部７により設定されたＤＭＡコントローラ８５が制御する応答パケット送信メモリ８２に転送される（ステップＳ７０３）。転送された応答パケットは、メディアアクセスコントローラ（ＭＡＣ）８４にてＭＡＣ処理を受ける（ステップＳ７０４）。ＭＡＣ処理を受けた応答パケットは、クライアント側ネットワーク３に出力され、要求パケットを発信したクライアント２に送付される（ステップＳ７０５）。処理部７は、応答パケットを送信した後、ＭＲ対応ＰＣＩｅ記憶型ＮＩＣ８に、処理部７が処理した要求パケットを削除する指示を送付する（ステップＳ７０６）。削除指示を受信したメモリコントローラ８８は、フロー識別パケット格納メモリ８８６またはステートレスパケット格納メモリ８８５に格納されている要求パケットを削除する（ステップＳ７０７）。
ＭＲ対応ＰＣＩｅ記憶型ＮＩＣ８の設定処理は、処理部７によるＭＲ対応ＰＣＩｅコンフィグレジスタ８７及びＤＭＡコントロールレジスタ８６の設定により行われる。
図１６及び１７のフローチャートに示されるように、要求パケットを処理部７で処理し、応答パケットが生成され、応答パケットが送信された後に、再び処理部７での要求パケットの処理が開始される。一方、図１５のフローチャートに示される、要求パケットの受信処理は、これらの処理とは独立である。
上記のように、本発明の第３の実施形態に係る分散処理システム１は、１つのＭＲ対応ＰＣＩｅ記憶型ＮＩＣ８を含むが、複数のＭＲ対応ＰＣＩｅ記憶型ＮＩＣ８を含んでもよい。
本発明の第３の実施形態に係る分散処理システムは、ＭＲ対応ＰＣＩｅデバイスを含み、ＤＭＡ転送を用いて到着パケットを記憶装置に格納し、格納されたパケットを各処理部が自律的に処理する。また、要求パケットの受信、要求パケットの記憶、及び応答パケットの送信が、ＭＲ対応ＰＣＩｅ記憶型ＮＩＣにおいて処理される。これにより、ＭＲ対応ＰＣＩｅスイッチを介して要求パケットが転送される、第２の実施形態に係る分散処理システムにおける処理よりも、ＴＣＰ／ＩＰ転送オーバヘッドが削減される。課題となる処理速度全体のボトルネックが解消される。このため、システムの性能がさらに向上する。
〔第４の実施形態〕
本発明を好適に実施した第４の実施形態について説明する。
図１８に、第４の実施形態に係る分散処理システムの構成を示す。分散処理システム１は、ＩＰネットワーク３上のクライアント２と接続される複数のＭＲ対応ＰＣＩｅＮＩＣ４と、ＭＲ対応ＰＣＩｅＮＩＣ４に接続されるＭＲ対応ＰＣＩｅスイッチ６を含む。該ＭＲ対応ＰＣＩｅスイッチ６には、複数のＭＲ対応ＰＣＩｅ記憶装置５が接続される。さらに、該ＭＲ対応ＰＣＩｅスイッチ６には、該クライアント２からの要求を処理する処理部７が接続される。処理部７、ＭＲ対応ＰＣＩｅスイッチ６、ＭＲ対応ＰＣＩｅＮＩＣ４、及びＭＲ対応ＰＣＩｅ記憶装置５の構成は第２の実施形態と同じである。なお、図１８では、分散処理システムが２つのＭＲ対応ＰＣＩｅＮＩＣ４及び２つのＭＲ対応ＰＣＩｅ記憶装置５を含むが、３つ以上のＭＲ対応ＰＣＩｅＮＩＣ４を含んでもよく、また、３つ以上のＭＲ対応ＰＣＩｅ記憶装置５を含んでもよい。
第４の実施形態に係る分散処理システム１における、処理部７、ＭＲ対応ＰＣＩｅスイッチ６、ＭＲ対応ＰＣＩｅＮＩＣ４、及びＭＲ対応ＰＣＩｅ記憶装置５の動作は第２の実施形態と同じである。
第４の実施形態に係る分散処理システム１においては、処理要求元のクライアント２や処理を実行する処理部７ごとに、要求パケットの処理に使用されるＭＲ対応ＰＣＩｅＮＩＣ４及びＭＲ対応ＰＣＩｅ記憶装置５を指定するよう、あらかじめ設定される。この設定により、第２の実施形態と同様の動作が可能である。
第４の実施形態に係る分散処理システム１は、複数のＭＲ対応ＰＣＩｅＮＩＣ４及び複数のＭＲ対応ＰＣＩｅ記憶装置５を含み、クライアント２からの複数の要求パケットを平行して処理することが可能である。これにより、分散処理システムの処理能力がさらに向上する。
以上、実施形態を参照して本願発明を説明したが、本願発明は上記の実施形態に限定されない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。例えば、上記各実施形態においては、処理部７が互いに独立するが、マルチコアのプロセッサの各コアを処理部７としてもよい。また、ＭＲ対応ＰＣＩｅスイッチ６を、多段スイッチにしてもよい。
上述した本実施形態における制御動作は、ハードウェア、または、ソフトウェア、あるいは、両者を複合した構成を用いて実行することも可能である。なお、ソフトウェアを用いて処理を実行する場合には、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれているコンピュータ内のメモリにインストールして実行させることが可能である。あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。
また、プログラムは、記録媒体としてのハードディスクやＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）に予め記録しておくことが可能である。あるいは、プログラムは、リムーバブル記録媒体に、一時的、あるいは、永続的に格納（記録）しておくことが可能である。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウエアとして提供することが可能である。なお、リムーバブル記録媒体としては、フロッピー（登録商標）ディスク、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＭＯ（Ｍａｇｎｅｔｏ  ｏｐｔｉｃａｌ）ディスク、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）、磁気ディスク、半導体メモリなどが挙げられる。なお、プログラムは、上述したようなリムーバブル記録媒体からコンピュータにインストールされる。また、ダウンロードサイトから、コンピュータに無線転送される。また、ネットワークを介して、コンピュータに有線で転送される。
この出願は、２００９年３月２３日に出願された日本出願特願２００９−０７０３１０を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【産業上の利用可能性】
【０００９】
本発明は、処理要求をネットワークに接続された複数の処理手段に分配して処理するシステムに利用することができる。
【符号の説明】
【００１０】
［符号の説明］
１、１００１  分散処理システム
２、１０１２  クライアント
３、１００３、１００５  ＩＰネットワーク
４  ＭＲ対応ＰＣＩｅＮＩＣ
５  ＭＲ対応ＰＣＩｅ記憶装置
６  ＭＲ対応ＰＣＩｅスイッチ
７  処理部
８  ＭＲ対応ＰＣＩｅ記憶型ＮＩＣ
４１、５４、８１  マルチルートＰＣＩｅコントローラ
４２、５５  パケット送信メモリ
４３、５６  パケット受信メモリ
４４、８４  ＭＡＣ
４５、５７、８５  ＤＭＡコントローラ
４６、５８、８６  ＤＭＡコントロールレジスタ
４７、５９、８７  ＭＲ対応ＰＣＩｅコンフィグレジスタ
５１、８８  メモリコントローラ
５２  ステート管理パケット格納メモリ
５３、８８５  ステートレスパケット格納メモリ
７１、１０４２、１０６２  メモリ
７２、１０４３、１０６３  チップセット
７３、１０４４、１０６４  ＣＰＵ
８２  応答パケット送信メモリ
８３  要求パケット送信メモリ
８９  要求パケット受信メモリ
５１１、８８１  アプリケーション解析部
５１２、８８２  フロー解析部
５１３、８８３  ステート管理部
５１４、８８４  ステート管理テーブル
５２１、８８６  フロー識別パケット格納メモリ
１００２  クライアント群
１００４  ロードバランサ
１００６  サーバ群
１０１６  サーバ
１０４１  クライアント側ＮＩＣ
１０４５  サーバ側ＮＩＣ
１０６１  ＮＩＣ
【図１】
2010110183.tif 000003
【図２】
2010110183.tif 000004
【図３】
2010110183.tif 000005
【図４】
2010110183.tif 000006
【図５Ａ】
2010110183.tif 000007
【図５Ｂ】
2010110183.tif 000008
【図６】
2010110183.tif 000009
【図７】
2010110183.tif 000010
【図８】
2010110183.tif 000011
【図９】
2010110183.tif 000012
【図１０】
2010110183.tif 000013
【図１１】
2010110183.tif 000014
【図１２】
2010110183.tif 000015
【図１３】
2010110183.tif 000016
【図１４】
2010110183.tif 000017
【図１５】
2010110183.tif 000018
【図１６】
2010110183.tif 000019
【図１７】
2010110183.tif 000020
【図１８】
2010110183.tif 000021
【図１９】
2010110183.tif 000022
【図２０】
2010110183.tif 000023
【図２１】
2010110183.tif 000024
【手続補正書】
【提出日】平成24年4月6日(2012.4.6)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
要求手段からの要求を処理して応答を生成する、処理手段と、
前記処理手段が接続される、スイッチと、
前記スイッチに接続される、記憶手段と、
前記要求手段が接続されるネットワークと前記スイッチに接続され、前記要求手段からの要求を前記記憶手段に転送し、前記応答を前記要求手段に転送する、インタフェースと、
を備えた分散処理システムであって、
前記記憶手段は、前記転送された要求にステート管理が必要か否かを判定する第１の制御手段と、ステート管理が必要な要求を格納する第１の格納手段と、ステート管理が不要な要求を格納する第２の格納手段とを備え、
前記第１の制御手段は、前記処理手段からの指示に基づいて、前記第１または第２の格納手段に格納される前記要求を削除し、
前記処理手段は、負荷を検出し、前記負荷に応じて前記第１または第２の格納手段に格納される前記要求を読み出し、生成された応答を前記インタフェースに出力する、第２の制御手段を備えることを特徴とする、分散処理システム。
【請求項２】
前記処理手段は、Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ（ＤＭＡ）転送を用いて、前記要求を読み出し、ＤＭＡ転送を用いて前記応答を前記インタフェースに出力することを特徴とする、請求項１に記載の分散処理システム。
【請求項３】
前記記憶手段は、前記ステート管理が必要な要求のフローを解析する解析手段を備え、
前記第２の格納手段は、前記フローまたは前記処理手段からの指示に基づいて、前記要求を区別して格納することを特徴とする、請求項１または２に記載の分散処理システム。
【請求項４】
前記記憶手段は、補助記憶装置であることを特徴とする、請求項１乃至3に記載の分散処理システム。
【請求項５】
前記インタフェースは、ＤＭＡ転送を用いて前記記憶装置に前記要求を転送することを特徴とする、請求項１乃至４に記載の分散処理システム。
【請求項６】
前記インタフェースは、前記記憶装置を含むことを特徴とする、請求項１乃至４に記載の分散処理システム。
【請求項７】
前記第２の格納手段は、ＦＩＦＯ（Ｆｉｒｓｔ  Ｉｎ、Ｆｉｒｓｔ  Ｏｕｔ）形式の記憶装置であることを特徴とする、請求項１乃至６に記載の分散処理システム。
【請求項８】
要求手段からの要求を処理して応答を生成する処理手段と記憶手段とが接続されるスイッチと、前記要求手段が接続されるネットワークとに接続される、インタフェースであって、
前記要求手段からの要求を前記記憶手段に転送し、前記応答を前記要求手段に転送する、転送手段を有し、
ＤＭＡ転送を用いて前記記憶装置に前記要求を転送することを特徴とする、インタフェース。
【請求項９】
要求手段からの要求を処理して応答を生成する処理手段と、前記要求手段が接続されるネットワークに接続され前記応答を前記要求手段に転送するインタフェースと、が接続されるスイッチに接続される、記憶手段であって、
前記インタフェースから転送された前記要求手段からの要求にステート管理が必要か否かを判定する、第１の制御手段と、
ステート管理が必要な要求を格納する、第１の格納手段と、
ステート管理が不要な要求を格納する、第２の格納手段と、
を備え、
前記第１の制御手段は、前記処理手段からの指示に基づいて、前記第１または第２の格納手段に格納される前記要求を削除することを特徴とする、記憶手段。
【請求項１０】
前記ステート管理が必要な要求のフローを解析する、解析手段をさらに備え、
前記第２の格納手段は、前記フローまたは前記処理手段からの指示に基づいて、前記要求を区別して格納することを特徴とする、請求項9に記載の記憶手段。
【請求項１１】
要求手段からの要求を処理して応答を生成する処理手段と、前記処理手段が接続されるスイッチと、前記スイッチに接続される記憶手段と、前記要求手段が接続されるネットワークと前記スイッチに接続されるインタフェースとを備えたシステムにおける、分散処理方法であって、
前記要求手段からの要求を前記記憶手段に転送するステップと、
前記転送された要求にステート管理が必要か否かを判定するステップと、
前記要求にステート管理が必要であれば、前記要求を第１の格納手段に格納するステップと、
前記要求にステート管理が不要であれば、前記要求を第２の格納手段に格納するステップと、
前記処理手段の負荷に応じて、前記要求を読み出して、前記処理手段に転送するステップと、
前記要求を処理して生成された応答を前記要求手段に転送するステップと、
前記第１または第２の格納手段に格納される前記要求を削除するステップと備えることを特徴とする、分散処理方法。
【請求項１２】
要求手段からの要求を処理して応答を生成する処理手段と、前記処理手段が接続されるスイッチと、前記スイッチに接続される記憶手段と、前記要求手段が接続されるネットワークと前記スイッチに接続されるインタフェースとを備えたシステムにおける、分散処理プログラムであって、
前記要求手段からの要求を前記記憶手段に転送するステップと、
前記転送された要求にステート管理が必要か否かを判定するステップと、
前記要求にステート管理が必要であれば、前記要求を第１の格納手段に格納するステップと、
前記要求にステート管理が不要であれば、前記要求を第２の格納手段に格納するステップと、
前記処理手段の負荷に応じて、前記要求を読み出して、前記処理手段に転送するステップと、
前記要求を処理して生成された応答を前記要求手段に転送するステップと、
前記第１または第２の格納手段に格納される前記要求を削除するステップとをコンピュータに実行させることを特徴とする、分散処理プログラム。
【国際調査報告】
2010110183.tif 000025
2010110183.tif 000026
2010110183.tif 000027
2010110183.tif 000028