(57)【要約】【課題】データ処理装置としての処理効率を高めることを課題とする。【解決手段】複数のデバイスと、ポートを介してデバイス間のデータ通信を中継するデータ送受信部とを有するデータ処理装置が、データ送受信部によって、ポートを特定するポート番号に対応付けて、各ポートに対応するデバイスが実行するデータ処理を特定する処理機能情報と、各ポートに対応するデバイスの稼働状況に応じて更新される負荷値とを記憶し、受信データに付与された処理機能情報に一致するポート番号の中から、負荷値が最も低いデバイスに対応するポート番号を有するポートに対応するデバイスに対してデータを中継する。また、デバイスによって、データ送受信部に対して、自己が完了させたデータ処理の次に実行すべきデータ処理を特定する処理機能情報が付与された処理済データを送信する。【選択図】        図１
2009259200.tif 000002
【特許請求の範囲】
【請求項１】
データ処理を実行する複数のデバイスと、全てのデバイス各々に対応する各ポートを介してデバイス間のデータ通信を中継するデータ送受信部とを有し、予め設定された順番で複数のデバイスにデータ処理を実行させるデータ処理装置であって、
前記データ送受信部は、
各ポートを特定するポート番号に対応付けて、各ポートに対応するデバイスが実行するデータ処理を特定する処理機能情報と、各ポートに対応するデバイスの稼働状況に応じて更新される負荷値とを記憶するポートテーブルと、
デバイスからデータを受信した場合に、前記ポートテーブルを参照して、受信データに付与された処理機能情報に一致するポート番号の中から、前記負荷値が最も低いデバイスに対応するポート番号を選択し、当該ポート番号を有するポートに対応するデバイスに対してデータを中継するデータ中継手段とを備え、
前記デバイスは、
前記データ送受信部から中継されたデータをデータ処理し、処理済のデータに次に実行すべきデータ処理を特定する処理機能情報を付与して送信するデータ送信手段を備えたことを特徴とするデータ処理装置。
【請求項２】
前記ポートテーブルは、ポート番号に対応付けて、障害が発生したデバイスを特定する障害情報を記憶し、
前記データ中継手段は、前記ポートテーブルに記憶されている各ポート番号の中から、前記障害情報に対応しないポート番号を選択することを特徴とする請求項１に記載のデータ処理装置。
【請求項３】
前記データ送受信部は、
デバイス各々が実行するデータ処理が変更された場合に、前記ポートテーブルに記憶されている処理機能情報を更新する処理機能情報更新手段をさらに備えたことを特徴とする請求項２に記載のデータ処理装置。
【請求項４】
前記ポートテーブルを監視して、いずれかのデバイスに対応する負荷値が予め設定されている電力供給停止閾値を下回った場合には、電力供給停止閾値を下回ったデバイスと同一のデータ処理を実行する各デバイスの内、一のデバイスに対する電力の供給を停止し、いずれかのデバイスに対応する負荷値が予め設定されている電力供給開始閾値を上回った場合には、電力供給開始閾値を上回ったデバイスと同一のデータ処理を実行する各デバイスの内、一のデバイスに対する電力の供給を開始する電力供給制御手段をさらに備え、
前記ポートテーブルは、ポート番号に対応付けて、電力供給中のデバイスを特定する電力供給情報をさらに記憶し、
前記データ中継手段は、前記ポートテーブルに記憶されている各ポート番号の中から、前記電力供給情報に対応するポート番号を選択し、選択したポート番号を有するポートに対応するデバイスに対してデータを中継することを特徴とする請求項１〜３のいずれか１つに記載のデータ処理装置。
【請求項５】
データ処理を実行する複数のデバイスと、全てのデバイス各々に対応する各ポートを介してデバイス間のデータ通信を中継するデータ送受信部とを有するデータ処理装置によって、予め設定された順番で複数のデバイスにデータ処理を実行させるデータ処理方法であって、
前記データ送受信部は、
各ポートを特定するポート番号に対応付けて、各ポートに対応するデバイスが実行するデータ処理を特定する処理機能情報と、各ポートに対応するデバイスの稼働状況に応じて更新される負荷値とを記憶するポートテーブルを記憶するポートテーブル記憶ステップと、
デバイスからデータを受信した場合に、前記ポートテーブル記憶ステップによって記憶されているポートテーブルを参照して、受信データに付与された処理機能情報に一致するポート番号の中から、前記負荷値が最も低いデバイスに対応するポート番号を選択し、当該ポート番号を有するポートに対応するデバイスに対してデータを中継するデータ中継ステップとを含み、
前記デバイスは、
前記データ送受信部から中継されたデータをデータ処理し、処理済のデータに次に実行すべきデータ処理を特定する処理機能情報を付与して送信するデータ送信ステップを含んだことを特徴とするデータ処理方法。
【請求項６】
データ処理を実行する複数のデバイスと、全てのデバイス各々に対応する各ポートを介してデバイス間のデータ通信を中継するデータ送受信部とを有するデータ処理装置としてのコンピュータに、予め設定された順番で複数のデバイスにデータ処理を実行させるデータ処理プログラムであって、
前記データ送受信部に、
各ポートを特定するポート番号に対応付けて、各ポートに対応するデバイスが実行するデータ処理を特定する処理機能情報と、各ポートに対応するデバイスの稼働状況に応じて更新される負荷値とを記憶するポートテーブルを記憶するポートテーブル記憶手順と、
デバイスからデータを受信した場合に、前記ポートテーブル記憶手順によって記憶されているポートテーブルを参照して、受信データに付与された処理機能情報に一致するポート番号の中から、前記負荷値が最も低いデバイスに対応するポート番号を選択し、当該ポート番号を有するポートに対応するデバイスに対してデータを中継させるデータ中継手順とを実行させ、
前記デバイスに、
前記データ送受信部から中継されたデータをデータ処理し、処理済のデータに次に実行すべきデータ処理を特定する処理機能情報を付与して送信するデータ送信手順を実行させることを特徴とするデータ処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本件は、データ処理装置、データ処理方法およびデータ処理プログラムに関する。
【背景技術】
【０００２】
従来より、ＡＴＣＡ（Ａｄｖａｎｃｅｄ  Ｔｅｌｅｃｏｍ  Ｃｏｍｐｕｔｉｎｇ  Ａｒｃｈｉｔｅｃｔｕｒｅ）仕様のボードなど、データ処理を実行する複数のデバイスを有し、同一の処理機能が割り当てられた各デバイスの中から一のデバイスを選択して、大量のデータを高速にデータ処理するデータ処理装置がある。
【０００３】
例えば、このデータ処理装置は、暗号化処理を実行するデバイスＡ、Ｂ、ＣおよびＤを含むデバイスグループαと、符号化処理を実行するデバイスＥ、Ｆ、ＧおよびＨを含むデバイスグループβと、データ処理の要求元に対してデータパケットの受信処理および返信処理を実行するデバイスＺとを有する。そして、データ処理装置は、全てのデバイス各々に対応する各ポートを有し、デバイス間のデータパケット中継を実行するスイッチ（例えば、Ｌ２レイヤスイッチ）をさらに有する。
【０００４】
このようなデータ処理装置によって使用されるデバイスの選択方式には、ラウンドロビン方式と、負荷値（例えば、ＣＰＵの稼働率）に応じた処理分散方式（特許文献１参照）とがある。
【０００５】
以下に一例をあげて、ラウンドロビン方式を使用するデータ処理装置について具体的に説明する。図２２の（Ａ）の（１）に示すように、データパケットの受信処理を完了したデバイスＺは、デバイスＡ、Ｂ、Ｃ、Ｄ、Ａ、Ｂ・・・という固定の順序で、データ処理の要求元からデータパケットを受け付けるごとに、デバイスグループαの中から選択するデバイスを順次変更し、選択したデバイスに対してデータパケットを送信する。
【０００６】
続いて、図２２の（Ａ）の（２）に示すように、デバイスＺからデータパケットを受け付け、暗号化処理を完了したデバイスＡは、デバイスＥ、Ｆ、Ｇ、Ｈ、Ｅ、Ｆ・・・という固定の順序で、暗号化処理を完了するごとにデバイスグループβの中から選択するデバイスを順次変更し、選択したデバイスに対してデータパケットを送信する。
【０００７】
そして、デバイスＡからデータパケットを受け付け、符号化処理を完了したデバイスＥは、デバイスＺに対してデータパケットを送信し、デバイスＺは、データ処理の要求元にデータパケットを返信する返信処理を実行する。
【０００８】
一方で、負荷値に応じた処理分散方式を使用するデータ処理装置について説明すると、負荷値に応じた処理分散方式を使用するデータ処理装置は、全てのデバイスの負荷状態を監視し、全てのデバイスに対して各デバイスの監視結果を通知するＭＰＵ（監視プロセッサ）をさらに有する。
【０００９】
このような構成の下、図２２の（Ｂ）の（１）に示すように、データパケットの受信処理を完了したデバイスＺは、データパケットを受け付けるごとに、ＭＰＵから通知された監視結果に基づいて、デバイスグループαの中から最も負荷がかかっていないデバイス（例えば、デバイスＡ）を選択し、選択したデバイスに対してデータを送信する。
【００１０】
続いて、図２２の（Ｂ）の（２）に示すように、デバイスＺからデータパケットを受け付け、暗号化処理を完了したデバイスＡは、ＭＰＵから通知された監視結果に基づいて、デバイスグループβの中から最も負荷がかかっていないデバイス（例えば、デバイスＥ）を選択し、選択したデバイスに対してデータを送信する。
【００１１】
そして、デバイスＡからデータパケットを受け付け、符号化処理を完了したデバイスＥは、デバイスＺに対してデータパケットを送信し、デバイスＺは、データ処理の要求元にデータパケットを返信する返信処理を実行する。なお、図２２は、従来のデータ処理装置による処理を説明するための図である。
【００１２】
【特許文献１】特開２００７−２６１８４号公報
【発明の開示】
【発明が解決しようとする課題】
【００１３】
ところで、上記した従来の技術は、データ処理装置としての処理能力を最大限に活用できない場合があるという課題があった。
【００１４】
すなわち、上記したラウンドロビン方式を使用したデータ処理装置は、データパケットに含まれたデータ量を考慮せずにデータ処理を実行するデバイスを選択するので、各デバイスが処理するデータ量にかたよりが生じる結果、データ処理装置としての処理能力を最大限に活用できない場合があるという問題点があった。
【００１５】
また、上記した負荷値に応じた処理分散方式を使用したデータ処理装置は、各デバイスがＭＰＵから通知された監視結果に基づいてデバイスを選択する処理も負担しなければならないので、本来各デバイスが実行すべきデータ処理（例えば、暗号化処理や符号化処理）の処理能力が低下する結果、データ処理装置としての処理能力を最大限に活用できない場合があるという問題点があった。
【００１６】
そこで、このデータ処理装置、データ処理方法およびデータ処理プログラムは、上述した従来技術の課題を解決するためになされたものであり、データ処理装置としての処理効率を高めることが可能なデータ処理装置、データ処理方法およびデータ処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１７】
上述した課題を解決し、目的を達成するため、開示のデータ処理装置は、データ処理を実行する複数のデバイスと、全てのデバイス各々に対応する各ポートを介してデバイス間のデータ通信を中継するデータ送受信部とを有し、予め設定された順番で複数のデバイスにデータ処理を実行させるデータ処理装置である。ここで、前記データ送受信部は、各ポートを特定するポート番号に対応付けて、各ポートに対応するデバイスが実行するデータ処理を特定する処理機能情報と、各ポートに対応するデバイスの稼働状況に応じて更新される負荷値とを記憶するポートテーブルと、デバイスからデータを受信した場合に、前記ポートテーブルを参照して、受信データに付与された処理機能情報に一致するポート番号の中から、前記負荷値が最も低いデバイスに対応するポート番号を選択し、当該ポート番号を有するポートに対応するデバイスに対してデータを中継するデータ中継手段とを備えることを要する。また、前記デバイスは、前記データ送受信部から中継されたデータをデータ処理し、処理済のデータに次に実行すべきデータ処理を特定する処理機能情報を付与して送信するデータ送信手段を備えることを要する。
【００１８】
また、開示のデータ処理方法は、データ処理を実行する複数のデバイスと、全てのデバイス各々に対応する各ポートを介してデバイス間のデータ通信を中継するデータ送受信部とを有するデータ処理装置によって、予め設定された順番で複数のデバイスにデータ処理を実行させるデータ処理方法である。ここで、前記データ送受信部は、各ポートを特定するポート番号に対応付けて、各ポートに対応するデバイスが実行するデータ処理を特定する処理機能情報と、各ポートに対応するデバイスの稼働状況に応じて更新される負荷値とを記憶するポートテーブルを記憶するポートテーブル記憶ステップと、デバイスからデータを受信した場合に、前記ポートテーブル記憶ステップによって記憶されているポートテーブルを参照して、受信データに付与された処理機能情報に一致するポート番号の中から、前記負荷値が最も低いデバイスに対応するポート番号を選択し、当該ポート番号を有するポートに対応するデバイスに対してデータを中継するデータ中継ステップとを含むことを要する。また、前記デバイスは、前記データ送受信部から中継されたデータをデータ処理し、処理済のデータに次に実行すべきデータ処理を特定する処理機能情報を付与して送信するデータ送信ステップを含むことを要する。
【００１９】
また、開示のデータ処理プログラムは、データ処理を実行する複数のデバイスと、全てのデバイス各々に対応する各ポートを介してデバイス間のデータ通信を中継するデータ送受信部とを有するデータ処理装置としてのコンピュータに、予め設定された順番で複数のデバイスにデータ処理を実行させるデータ処理プログラムである。ここで、前記データ処理プログラムは、前記データ送受信部に、各ポートを特定するポート番号に対応付けて、各ポートに対応するデバイスが実行するデータ処理を特定する処理機能情報と、各ポートに対応するデバイスの稼働状況に応じて更新される負荷値とを記憶するポートテーブルを記憶するポートテーブル記憶手順と、デバイスからデータを受信した場合に、前記ポートテーブル記憶手順によって記憶されているポートテーブルを参照して、受信データに付与された処理機能情報に一致するポート番号の中から、前記負荷値が最も低いデバイスに対応するポート番号を選択し、当該ポート番号を有するポートに対応するデバイスに対してデータを中継させるデータ中継手順とを実行させることを要する。また、前記データ処理プログラムは、前記デバイスに、前記データ送受信部から中継されたデータをデータ処理し、処理済のデータに次に実行すべきデータ処理を特定する処理機能情報を付与して送信するデータ送信手順を実行させることを要する。
【発明の効果】
【００２０】
開示のデータ処理装置によれば、データ処理装置としての処理効率を高めることが可能である。
【発明を実施するための最良の形態】
【００２１】
以下に添付図面を参照して、本実施例に係るデータ処理装置、データ処理方法およびデータ処理プログラムの実施例を詳細に説明する。なお、以下では、この発明が適用されたデータ処理装置（例えば、ＡＴＣＡ仕様のボード）を実施例として説明する。
【実施例１】
【００２２】
以下の実施例１では、実施例１で用いる主要な用語、実施例１に係るデータ処理装置の概要および特徴、データ処理装置の構成、データ処理装置の処理の流れを順に説明し、最後に実施例１の効果を説明する。
【００２３】
［実施例１で用いる主要な用語］
まず最初に、本実施例で用いる主要な用語を説明する。実施例１で用いる「処理機能情報」とは、デバイス各々が実行するデータ処理を特定する情報（機能ヘッダ）のことである。例えば、実施例１に係るデータ処理装置が、データ処理の要求元から受け付けたデータを受信処理、暗号化処理、符号化処理および返信処理の順にデータ処理してデータ処理の要求元にデータを返信するように設定されている場合には、暗号化処理が処理機能情報「Ｎｏ．１」に対応し、符号化処理が処理機能情報「Ｎｏ．２」に対応し、返信処理が処理機能情報「エンド」に対応する。なお、処理機能情報の構成は、本発明を特定するものではなく、例えば、１バイトの信号で表される情報である。
【００２４】
［実施例１に係るデータ処理装置の概要および特徴］
次に、図１を用いて実施例１に係るデータ処理装置の概要および特徴を説明する。図１は、実施例１に係るデータ処理装置の概要および特徴を説明するための図である。
【００２５】
実施例１に係るデータ処理装置は、データ処理を実行する複数のデバイス（例えば、デバイスＡ、Ｂ、Ｃ）と、全てのデバイス各々に対応する各ポート（例えば、Ｐ１、Ｐ２、Ｐ３）を介してデバイス間のデータ通信を中継するスイッチとを有する。
【００２６】
そして、実施例１に係るデータ処理装置は、予め設定された順番で複数のデバイスにデータ処理を実行させることを概要とする。ここで、実施例１に係るデータ処理装置は、データ処理装置としての処理効率を高めることを主たる特徴とする。
【００２７】
すなわち、実施例１に係るデータ処理装置のスイッチは、各ポートを特定するポート番号に対応付けて、各ポートに対応するデバイスが実行するデータ処理を特定する処理機能情報と、各ポートに対応するデバイスの稼働状況に応じて更新される負荷値とを記憶するポートテーブルを有する。
【００２８】
このような構成の下、例えば、処理機能情報「Ｎｏ．１」に対応する処理機能が割り当てられたデバイスＡは、図１の（１）に示すように、受信したデータをデータ処理した場合に、スイッチに対して、自己が完了させたデータ処理の次に実行すべきデータ処理を特定する処理機能情報「Ｎｏ．２」が付与された処理済データを送信する。
【００２９】
デバイスＡからデータを受信したスイッチは、図１の（２）に示すように、ポートテーブルを参照して、受信データに付与された処理機能情報「Ｎｏ．２」に一致するポート番号の中から、負荷値が最も低いデバイスに対応するポート番号（例えば、ポート番号「Ｐ２」）を選択する。
【００３０】
そして、スイッチは、図１の（３）に示すように、ポート番号「Ｐ２」を有するポートに対応するデバイスＢに対してデータを中継する。
【００３１】
このようなことから、実施例１に係るデータ処理装置は、上記した主たる特徴のごとく、データ処理装置としての処理効率を高めることが可能である。
【００３２】
［データ処理装置の構成］
次に、図２〜図６を用いて、図１に示したデータ処理装置の構成を説明する。図２は、データ処理装置の構成を示すブロック図である。図３は、デバイスの構成を示すブロック図である。図４は、機能ヘッダ付与部による処理を説明するための図である。図５は、スイッチおよびポートの構成を示すブロック図である。図６は、ポートテーブルに記憶される情報の一例を示した図である。
【００３３】
図２に示すように、このデータ処理装置１００は、デバイス２００（デバイス２００Ａ〜Ｈおよびデバイス２００Ｚ）と、スイッチ３００とを備える。ここで、スイッチ３００が備えたポート４００（ポート４００Ａ〜Ｈおよびポート４００Ｚ）は、例えば、ポート４００Ａがデバイス２００Ａに対応するというように、デバイス２００Ａ〜Ｈおよびデバイス２００Ｚがポート４００Ａ〜Ｈおよびポート４００Ｚにそれぞれ対応する。なお、以下では、例えば、デバイス２００Ａ〜Ｈおよびデバイス２００Ｚについて、デバイス２００Ａ〜Ｈ、Ｚと表記する。
【００３４】
（デバイス）
デバイス２００は、例えば、ＣＰＵに相当し、各々に割り当てられたデータ処理を実行する。なお、デバイス２００Ａ〜Ｈ、Ｚは、同一の構成からなり、例えば、デバイス２００Ａ〜Ｄが暗号化処理を実行し、デバイス２００Ｅ〜Ｈが符号化処理を実行し、デバイス２００Ｚがデータ処理の要求元に対してデータパケットの受信処理および返信処理を実行する他は、同一の処理を実行するものである。
【００３５】
デバイス２００は、図３に示すように、負荷状態計測部２０１と、負荷状態送信部２０２と、データ受信部２０３と、機能ヘッダ削除部２０４と、データ処理部２０５と、機能ヘッダ付与部２０６と、データ送信部２０７とを有する。なお、請求の範囲に記載の「データ送信手段」は、機能ヘッダ付与部２０６に特に関連する。
【００３６】
負荷状態計測部２０１は、デバイス各々の負荷状態を計測する。具体的には、負荷状態計測部２０１は、データ処理部２０５を監視する。そして、負荷状態計測部２０１は、データ処理部２０５がデータ処理を実行している時間の長さと、データ処理を実行していない時間の長さとに基づいて、データ処理部２０５の負荷値（例えば、稼働率７０％）を計測し、負荷状態送信部２０２に対して計測した負荷値を送信する。
【００３７】
負荷状態送信部２０２は、負荷状態計測部２０１から受け付けた負荷値をデバイス２００に対応するポート４００に対して送信する。なお、例えば、デバイス２００Ａの負荷状態送信部２０２に接続されるバス（太線）は、ポート４００Ａに備えられた後述の負荷状態受信部４０２に接続されるものである。
【００３８】
データ受信部２０３は、デバイス間で通信されるデータを受信する。具体的には、データ受信部２０３は、ポート４００から受け付けたデータパケットを機能ヘッダ削除部２０４に対して送信する。なお、例えば、デバイス２００Ａのデータ受信部２０３に接続される各バスは、ポート４００Ｂ〜Ｈ、Ｚにそれぞれ備えられた後述のポート選択処理部４０４に接続されるものである。
【００３９】
機能ヘッダ削除部２０４は、データに付与された処理機能情報を削除する。具体的には、機能ヘッダ削除部２０４は、データ受信部２０３から受け付けたデータパケットから、処理機能情報（機能ヘッダ）を削除し、データパケットに含まれているデータをデータ処理部２０５に対して送信する。
【００４０】
データ処理部２０５は、デバイス２００各々に割り当てられたデータ処理を実行する。具体的には、データ処理部２０５は、機能ヘッダ削除部２０４から受け付けたデータを暗号化処理（または、送受信処理、復号化処理）する。そして、データ処理部２０５は、処理済のデータを機能ヘッダ付与部２０６に対して送信する。
【００４１】
機能ヘッダ付与部２０６は、次に実行すべきデータ処理を特定する処理機能情報を処理済のデータに付与する。具体的には、機能ヘッダ付与部２０６は、図４に示すように、データ処理部２０５から受け付けた処理済のデータに、データ処理部２０５によって実行されたデータ処理の次に実行すべきデータ処理を特定する処理機能情報を付与してデータパケットを生成する。そして、機能ヘッダ付与部２０６は、生成したデータパケットをデータ送信部２０７に対して送信する。
【００４２】
例えば、デバイス２００Ｚの機能ヘッダ付与部２０６は、受信処理済のデータをデータ処理部２０５から受け付けた場合には、図４の（Ａ）に示すように、受信処理済のデータに暗号化処理を特定する処理機能情報「Ｎｏ．１」を付与してデータパケットを生成する。
【００４３】
また、デバイス２００Ａ〜Ｄの機能ヘッダ付与部２０６は、暗号化処理済のデータをデータ処理部２０５から受け付けた場合には、図４の（Ｂ）に示すように、暗号化処理済のデータに符号化処理を特定する処理機能情報「Ｎｏ．２」を付与してデータパケットを生成する。
【００４４】
また、デバイス２００Ｅ〜Ｈの機能ヘッダ付与部２０６は、符号化処理済のデータをデータ処理部２０５から受け付けた場合には、図４の（Ｃ）に示すように、符号化処理済のデータに返信処理を特定する処理機能情報「エンド」を付与してデータパケットを生成する。
【００４５】
データ送信部２０７は、機能ヘッダ付与部２０６から受け付けたデータパケットをデバイス２００各々に対応するポート４００に対して送信する。なお、例えば、デバイス２００Ａのデータ送信部２０７に接続されるバスは、ポート４００Ａに備えられた後述のポート選択処理部４０４に接続されるものである。
【００４６】
（スイッチおよびポート）
ポート４００は、図５に示すように、ポートテーブル４０１と、負荷状態受信部４０２と、ポートテーブル更新処理部４０３と、ポート選択処理部４０４とを有する。なお、請求の範囲に記載の「ポートテーブル」は、ポートテーブル４０１に特に関連し、請求の範囲に記載の「データ中継手段」は、ポート選択処理部４０４に特に関連する。
【００４７】
ポート４００は、図５に示すように、ポートテーブル４０１と、負荷状態受信部４０２と、ポートテーブル更新処理部４０３と、ポート選択処理部４０４とを有する。なお、請求の範囲に記載の「ポートテーブル」は、ポートテーブル４０１に特に関連し、請求の範囲に記載の「データ中継手段」は、ポート選択処理部４０４に特に関連する。
【００４８】
ポートテーブル４０１は、図６に示すように、各ポート４００を特定するポート番号に対応付けて、各ポート４００に対応するデバイス２００が実行するデータ処理を特定する処理機能情報と、各ポート４００に対応するデバイス２００の稼働状況に応じて更新される負荷値とを記憶する。
【００４９】
ここで、ポート番号および処理機能情報は、データ処理装置１００の駆動の開始とともに格納される情報である。また、負荷値は、ポートテーブル更新処理部４０３によって適宜更新される情報である。
【００５０】
負荷状態受信部４０２は、ポート４００各々に対応するデバイス２００から受け付けた負荷値を他のポート４００に送信する。例えば、ポート４００Ａの負荷状態受信部４０２は、デバイス２００Ａから負荷値を受け付けた場合に、ポートテーブル更新バスに対して、ポート４００Ａのポート番号Ｐ１と、デバイス２００Ａの負荷値（例えば、稼働率７０％）とを送信する。
【００５１】
なお、例えば、ポート４００Ａの負荷状態受信部４０２に接続される各バスは、ポート４００Ａに対応するデバイス２００Ａに備えられた負荷状態送信部２０２と、ポートテーブル更新バスに接続されるものである。
【００５２】
ここで、ポートテーブル更新バスは、例えば、ポート４００Ａの負荷状態受信部４０２から受け付けたポート４００Ａのポート番号Ｐ１およびデバイス２００Ａの負荷値（例えば、７０％）を、全てのポート４００Ａ〜Ｈ、Ｚに備えられたポートテーブル更新処理部４０３に対してそれぞれ送信する。
【００５３】
ポートテーブル更新処理部４０３は、デバイス２００各々の稼働状況に応じてポートテーブル４０１を更新する。具体的には、ポートテーブル更新処理部４０３は、ポートテーブル更新バスを介してポート４００からポート番号および負荷値を受け付けると、ポートテーブル４０１に記憶されているポート番号に対応する負荷値を更新する。
【００５４】
なお、例えば、ポート４００Ａのポートテーブル更新処理部４０３に接続されるバスは、ポートテーブル更新バスを介して、全てのポート４００Ａ〜Ｈ、Ｚに備えられた負荷状態受信部４０２に接続されるものである。
【００５５】
ポート選択処理部４０４は、デバイス２００からデータを受信した場合に、ポートテーブル４０１を参照して、受信データに付与された処理機能情報に一致するポート番号の中から、負荷値が最も低いデバイス２００に対応するポート番号を選択し、このポート番号を有するポート４００に対応するデバイス２００に対してデータを中継する。
【００５６】
例えば、ポート４００Ｚのポート選択処理部４０４は、デバイス２００Ｚからデータパケットを受け付けると、受信処理済のデータに付与された処理機能情報「Ｎｏ．１」を読み込む。続いて、ポート４００Ｚのポート選択処理部４０４は、ポートテーブル４０１を参照して、処理機能情報「Ｎｏ．１」に対応するポート番号（Ｐ１〜Ｐ４（図６参照））の中から、負荷値が最も低いデバイス２００Ｂに対応するポート番号Ｐ２を選択する。そして、ポート４００Ｚのポート選択処理部４０４は、ポート番号Ｐ２に対応するデバイス２００Ｂに対してデータを中継する。
【００５７】
また、例えば、ポート４００Ａ〜Ｄのポート選択処理部４０４は、デバイス２００Ａ〜Ｄからデータパケットを受け付けると、暗号化処理済のデータに付与された処理機能情報「Ｎｏ．２」を読み込む。そして、ポート４００Ａ〜Ｄのポート選択処理部４０４は、ポートテーブル４０１を参照して、処理機能情報「Ｎｏ．２」に対応するポート番号（Ｐ５〜Ｐ８（図６参照））の中から、負荷値が最も低いデバイス２００Ｈに対応するポート番号Ｐ８を選択する。そして、ポート４００Ａ〜Ｄのポート選択処理部４０４は、このポート番号Ｐ８に対応するデバイス２００Ｈに対してデータを中継する。
【００５８】
また、例えば、ポート４００Ｅ〜Ｈのポート選択処理部４０４は、デバイス２００Ａ〜Ｄからデータパケットを受け付けると、符号化処理済のデータに付与された処理機能情報「エンド」を読み込む。そして、ポート４００Ｅ〜Ｈのポート選択処理部４０４は、ポートテーブル４０１を参照して、処理機能情報「エンド」に対応するポート番号Ｐ９を選択する。そして、ポート４００Ｅ〜Ｈのポート選択処理部４０４は、このポート番号Ｐ９に対応するデバイス２００Ｚに対してデータを中継する。
【００５９】
なお、例えば、ポート４００Ａのポート選択処理部４０４からデバイス２００Ａに接続されるバスは、デバイス２００Ａに備えられたデータ送信部２０７に接続されるものである。また、ポート４００Ａのポート選択処理部４０４に接続され、スイッチ３００を経由する各バスは、デバイス２００Ｂ〜ＨおよびＺにそれぞれ備えられたデータ受信部２０３に接続されるものである。
【００６０】
［データ処理装置による処理］
次に、データ処理装置１００による処理を説明する。実施例１に係るデータ処理装置１００は、データ処理の要求元から受け付けたデータを受信処理、暗号化処理、符号化処理および返信処理の順に実行するものとする。そして、以下では、図７を用いて、デバイス２００が、ポート４００からデータパケットを受信してから、ポート４００に対してデータパケットを送信するまでの処理の流れを説明する。また、図８を用いて、ポート４００が、デバイス２００からデータパケットを受信してから、他のデバイス２００に対してデータパケットを中継するまでの処理の流れを説明する。
【００６１】
図７は、デバイスによる処理の流れを示すフローチャート図である。図８は、ポートによる処理の流れを示すフローチャート図である。なお、デバイス２００およびポート４００による処理は、データ処理装置１００の駆動の停止とともに終了するものとする。
【００６２】
図７に示すように、デバイス２００は、ポート４００からデータパケットを受け付けると（ステップＳ１００１肯定）、データパケットから処理機能情報を削除し（ステップＳ１００２）、デバイス２００各々に割り当てられたデータ処理を実行する（ステップＳ１００３）。
【００６３】
続いて、デバイス２００は、処理済のデータに、次に実行すべきデータ処理を特定する処理機能情報を付与してデータパケットを生成し（ステップＳ１００４）、データパケットをデバイス各々に対応するポート４００に対して送信し（ステップＳ１００５）、再びデータパケットの受信を待機する（ステップＳ１００１否定）。
【００６４】
図８に示すように、ポート４００は、デバイス２００からデータパケットを受け付けると（ステップＳ２００１肯定）、処理済のデータに付与された処理機能情報を読み込み（ステップＳ２００２）、処理機能情報に対応するポート番号の中から、負荷値が最も低いデバイス２００に対応するポート番号を選択する（ステップＳ２００３）。
【００６５】
そして、ポート４００は、選択したポート番号に対応するデバイス２００に対してデータパケットを中継し（ステップＳ２００４）、再びデータパケットの受信を待機する（ステップＳ２００１否定）。
【００６６】
［実施例１の効果］
上記したように、実施例１によれば、データ処理装置としての処理効率を高めることが可能である。例えば、実施例１に係るデータ処理装置は、同一の処理機能が割り当てられた各デバイスに負荷を均等に分散し、かつ、デバイスが本来実行すべきデータ処理の処理能力を高めることができるので、データ処理装置としての処理効率を高めることが可能である。
【実施例２】
【００６７】
ところで、実施例１に係るデータ処理装置１００において、プログラムアクセスエラーなどの障害が発生し、データ処理を実行することができないデバイス２００にデータが送信され、データ処理装置１００としての処理能力を最大限に活用できない場合がある。
【００６８】
そこで、実施例２では、障害が発生していない各デバイス２００の中から一のデバイス２００を選択する場合を説明する。なお、実施例２では、実施例２に係るデータ処理装置１００の構成およびデータ処理装置１００による処理の流れを説明した後、実施例２による効果を説明する。
【００６９】
［実施例２に係るデータ処理装置の構成］
まず、図９、図１０および図１１を用いて実施例２に係るデータ処理装置１００の構成を説明する。図９は、実施例２に係るデバイスの構成を示すブロック図である。図１０は、実施例２に係るスイッチおよびポートの構成を示すブロック図である。図１１は、実施例２に係るポートテーブルに記憶される情報の一例を示した図である。
【００７０】
（デバイス）
実施例２に係るデバイス２００の構成は、障害検出部２０８と、障害情報送信部２０９とを新たに備える他は、実施例１に係るデバイス２００と以下に説明する点が異なる。
【００７１】
すなわち、障害検出部２０８は、デバイス２００各々の障害を検出する。具体的には、障害検出部２０８は、データ処理部２０５を監視し、データ処理部２０５にデバイス障害やソフトウェア障害（例えば、プログラムアクセスエラー）の発生を検出した場合に、障害情報送信部２０９に対して障害が発生した旨を示した障害情報を送信する。
【００７２】
障害情報送信部２０９は、障害検出部２０８から受け付けた障害情報をデバイス２００各々に対応するポート４００に対して送信する。なお、例えば、デバイス２００Ａの障害検出部２０８に接続されるバスは、ポート４００Ａに備えられた後述の障害情報受信部４０５に接続されるものである。
【００７３】
（スイッチおよびポート）
実施例２に係るスイッチ３００およびポート４００の構成は、障害情報受信部４０５を新たに備える他は、実施例１に係るスイッチ３００およびポート４００と以下に説明する点が異なる。
【００７４】
すなわち、ポートテーブル４０１は、ポート番号に対応付けて、障害が発生したデバイスを特定する障害情報を記憶する。具体的には、ポートテーブル４０１は、図１１に示すように、デバイス２００ごとに、処理機能情報と、負荷値と、デバイスに障害が発生したか否かを示した障害情報とを、デバイス２００各々に対応するポート４００のポート番号に対応付けて記憶する。
【００７５】
ここで、障害情報は、障害の発生もしくは障害からの復旧にともない、適宜更新される情報である。また、障害情報の「１」は、デバイス２００に障害が発生していないことを示す情報であり、障害情報の「０」は、デバイス２００に障害が発生していることを示す情報である。
【００７６】
障害情報受信部４０５は、ポート４００各々に対応するデバイス２００から受け付けた障害情報を他のポート４００に送信する。例えば、ポート４００Ａの障害情報受信部４０５は、デバイス２００Ａから障害情報を受け付けた場合に、ポートテーブル更新バスに対して、ポート４００Ａのポート番号Ｐ１と、デバイス２００Ａの障害情報（「１」もしくは「０」）とを送信する。
【００７７】
なお、例えば、ポート４００Ａの障害情報受信部４０５に接続される各バスは、デバイス２００Ａに備えられた障害情報送信部２０９と、ポートテーブル更新バスに接続されるものである。ここで、ポートテーブル更新バスは、例えば、ポート４００Ａの障害情報受信部４０５から受け付けたポート４００Ａのポート番号Ｐ１およびデバイス２００Ａの障害情報を全てのポート４００Ａ〜Ｈ、Ｚに備えられたポートテーブル更新処理部４０３に対してそれぞれ送信する。
【００７８】
ポートテーブル更新処理部４０３は、ポートテーブル更新バスを介して他のポート４００からポート番号および障害情報を受け付けると、ポートテーブル４０１に記憶されているポート番号に対応する障害情報を更新する。例えば、ポートテーブル更新処理部４０３は、ポート４００Ａのポート番号Ｐ１と、障害情報「０」とを受け付けると、ポート番号Ｐ１に対応する障害情報を「１」から「０」に更新する。
【００７９】
ポート選択処理部４０４は、障害情報に対応しないポート番号を選択する。例えば、ポート４００Ａ〜Ｄのポート選択処理部４０４は、デバイス２００Ａ〜Ｄからデータパケットを受け付けると、暗号化処理済のデータに付与された処理機能情報「Ｎｏ．２」を読み込む。そして、ポート４００Ａ〜Ｄのポート選択処理部４０４は、ポートテーブル４０１を参照して、処理機能情報「Ｎｏ．２」に対応するポート番号（Ｐ５〜Ｐ８（図１１参照））の中から、デバイスに障害が発生していないことを示す障害情報「１」に対応する各ポート番号（Ｐ５〜Ｐ７）を選択する。
【００８０】
続いて、ポート４００Ａ〜Ｄのポート選択処理部４０４は、選択した各ポート番号（Ｐ５〜Ｐ７）の中から、負荷値が最も低いデバイス２００Ｇに対応するポート番号Ｐ７を選択する。そして、ポート４００Ａ〜Ｄのポート選択処理部４０４は、このポート番号Ｐ７に対応するデバイス２００Ｇに対してデータを中継する。
【００８１】
［実施例２に係るデータ処理装置による処理］
次に、図１２を用いて、実施例２に係るデータ処理装置による処理を説明するが、以下では、実施例２に係るデータ処理装置に特徴的なポート４００がデバイス２００からデータパケットを受信してから、他のデバイス２００に対してデータパケットを中継するまでの流れを説明する。図１２は、実施例２に係るポートによるデータ処理の流れを示すフローチャート図である。
【００８２】
図１２に示すように、ポート４００は、デバイス２００からデータパケットを受け付けると（ステップＳ３００１肯定）、処理済のデータに付与された処理機能情報を読み込み（ステップＳ３００２）、処理機能情報に対応するポート番号の中から、デバイスに障害が発生していないことを示す障害情報に対応する各ポート番号を選択する（ステップＳ３００３）。
【００８３】
続いて、ポート４００は、選択した各ポート番号の中から、負荷値が最も低いデバイス２００に対応するポート番号を選択する（ステップＳ３００４）。
【００８４】
そして、ポート４００は、選択したポート番号に対応するデバイス２００に対してデータパケットを中継し（ステップＳ３００５）、再びデータパケットの受信を待機する（ステップＳ３００１否定）。
【００８５】
［実施例２の効果］
上記したように、実施例２によれば、デバイスに障害が発生したときのデータ処理装置としての処理効率を高めることが可能である。例えば、実施例２に係るデータ処理装置は、障害が発生したデバイスにデータパケットを送信しないので、デバイスに障害が発生したときのデータ処理装置としての処理効率を高めることが可能である。
【実施例３】
【００８６】
ところで、デバイス２００には、メモリに格納していたプログラムを書き換えることによって、割り当てられた処理機能を変更することが可能な、いわゆる、リコンフィグラブルデバイスがある。
【００８７】
そこで、実施例３では、実施例２に係るデータ処理装置１００のデバイス２００Ａ〜Ｈ、Ｚにリコンフィグラブルデバイスを適用し、例えば、データ処理装置１００の駆動中にデバイス２００Ａに割り当てられた暗号化処理を符号化処理に変更する場合を説明する。なお、実施例３では、実施例３に係るデータ処理装置１００の構成およびデータ処理装置１００による処理の流れを説明した後、実施例３による効果を説明する。
【００８８】
［実施例３に係るデータ処理装置の構成］
まず、図１３、図１４および図１５を用いて実施例３に係るデータ処理装置１００の構成を説明する。図１３は、実施例３に係るデバイスの構成を示すブロック図である。図１４は、実施例３に係るスイッチおよびポートの構成を示すブロック図である。図１５は、実施例３に係るポートテーブル更新処理部による処理を説明するための図である。
【００８９】
（デバイス）
実施例３に係るデバイス２００の構成は、処理機能変更部２１０と、機能変更情報送信部２１１とを新たに備える他は、実施例２に係るデバイス２００と以下に説明する点が異なる。
【００９０】
すなわち、処理機能変更部２１０は、デバイス２００に割り当てられた処理機能を変更する。具体的に一例をあげて説明すると、デバイス２００Ａの処理機能変更部２１０は、機能変更指令としての符号化処理プログラムを受け付けると、障害情報送信部２０９に対して障害が発生した旨を示した障害情報「０」の送信を依頼する。
【００９１】
続いて、処理機能変更部２１０は、データ処理部２０５のメモリに格納されていた暗号化処理プログラムを消去し、データ処理部２０５のメモリに符号化処理プログラムを新たに格納し、機能変更情報変更部２１１に対して、符号化処理を特定する処理機能情報「Ｎｏ．２」を送信する。
【００９２】
そして、処理機能変更部２１０は、障害情報送信部２０９に対して障害が発生していない旨を示した障害情報「１」の送信を依頼する。
【００９３】
障害情報送信部２０９は、処理機能変更部２１０から障害情報の送信依頼を受け付けた場合に、障害情報「１」（もしくは「０」）をデバイス２００各々に対応するポート４００に対して送信する。
【００９４】
機能変更情報送信部２１１は、処理機能変更部２１０から受け付けた処理機能情報をデバイス２００各々に対応するポート４００に対して送信する。なお、例えば、デバイス２００Ａの機能変更情報送信部２１１に接続されるバスは、ポート４００Ａに備えられた後述の機能変更情報受信部４０６に接続されるものである。
【００９５】
（スイッチおよびポート）
実施例２に係るスイッチ３００およびポート４００の構成は、機能変更情報受信部４０６を新たに備える他は、実施例２に係るスイッチ３００およびポート４００と以下に説明する点が異なる。なお、請求の範囲に記載の「処理機能情報更新手段」は、実施例３に係るポートテーブル更新処理部４０３に特に関連する。
【００９６】
すなわち、機能変更情報受信部４０６は、ポート４００各々に対応するデバイス２００から受け付けた機能変更情報をポート４００に送信する。例えば、ポート４００Ａの機能変更情報受信部４０６は、デバイス２００Ａから符号化処理を特定する処理機能情報「Ｎｏ．２」を受け付けた場合に、ポートテーブル更新バスに対してポート４００Ａのポート番号Ｐ１と、符号化処理を特定する処理機能情報「Ｎｏ．２」とを送信する。
【００９７】
なお、例えば、ポート４００Ａの機能変更情報受信部４０６に接続される各バスは、ポート４００Ａに対応するデバイス２００Ａに備えられた機能変更情報送信部２１１と、ポートテーブル更新バスに接続されるものである。ここで、ポートテーブル更新バスは、例えば、ポート４００Ａの機能変更情報受信部４０６から受け付けたポート４００Ａのポート番号Ｐ１および符号化処理を特定する処理機能情報「Ｎｏ．２」を全てのポート４００Ａ〜Ｈ、Ｚに備えられたポートテーブル更新処理部４０３に対してそれぞれ送信する。
【００９８】
ポートテーブル更新処理部４０３は、デバイス各々が実行するデータ処理が変更された場合に、ポートテーブル４０１に記憶されている処理機能情報を更新する。
【００９９】
具体的に一例をあげて説明すると、ポート４００Ａのポートテーブル更新処理部４０３は、ポートテーブル更新バスを介してポート４００Ａのポート番号Ｐ１と、障害情報「０」とを受け付けると、ポートテーブル４０１に記憶されているポート番号Ｐ１に対応する障害情報を「１」から「０」に変更する（図１５の（Ａ）参照）。（デバイス２００Ａの処理機能を変更している間に、デバイス２００Ａに対するデータパケットの送信を抑制する趣旨である。）
【０１００】
続いて、ポートテーブル更新処理部４０３は、ポートテーブル更新バスを介してポート４００Ａのポート番号Ｐ１および符号化処理を特定する処理機能情報「Ｎｏ．２」を受け付け、ポートテーブル４０１に記憶されているポート番号Ｐ１に対応する処理機能情報を、暗号化処理を特定する処理機能情報「Ｎｏ．１」から符号化処理を特定する「Ｎｏ．２」に更新する（図１５の（Ｂ）参照）。
【０１０１】
そして、ポートテーブル更新処理部４０３は、ポートテーブル更新バスを介してポート４００Ａのポート番号Ｐ１と、障害情報「１」とを受け付け、ポートテーブル４０１に記憶されているポート番号Ｐ１に対応する障害情報を「０」から「１」に変更する（図１５の（Ｃ）参照）。（デバイス２００Ａに対するデータパケットの送信の抑制を解除する趣旨である。）
【０１０２】
［実施例３に係るデータ処理装置による処理］
次に、実施例３に係るデータ処理装置による処理を説明するが、以下では、図１６および図１７を用いて、実施例３に係るデータ処理装置による機能変更処理を説明する。
【０１０３】
図１６は、実施例３に係るデバイスによる処理の流れを示すフローチャート図である。図１７は、実施例３に係るポートによる処理の流れを示すフローチャート図である。
【０１０４】
図１６に示すように、デバイス２００は、機能変更指令としてのプログラムを受け付けると（ステップＳ４００１肯定）、デバイス２００各々に対応するポート４００に対して障害が発生した旨を示した障害情報「０」を送信し（ステップＳ４００２）、メモリに格納されていたプログラムを消去して、メモリに受信したプログラムを新たに格納する（ステップＳ４００３）。
【０１０５】
続いて、処理機能変更部２１０は、受信したプログラムによるデータ処理を特定する処理機能情報をデバイス各々に対応するポート４００に対して送信し（ステップＳ４００４）、デバイス各々に対応するポート４００に対して障害が発生していない旨を示した障害情報「１」を送信し（ステップＳ４００５）、機能変更処理を終了する。
【０１０６】
図１７に示すように、ポート４００は、デバイス２００からポート番号と、障害情報「０」とを受け付けると（ステップＳ５００１肯定）、受け付けたポート番号に対応する障害情報を「１」から「０」に変更する（ステップＳ５００２）。
【０１０７】
続いて、ポート４００は、ポート番号および変更後の機能処理を特定する処理機能情報を受け付け（ステップＳ５００３肯定）、受け付けたポート番号に対応する処理機能情報を更新する（ステップＳ５００４）。
【０１０８】
そして、ポート４００は、デバイス２００からポート番号と、障害情報「１」とを受け付け（ステップＳ５００５肯定）、受け付けたポート番号に対応する障害情報を「０」から「１」に変更し、機能変更処理を終了する。
【０１０９】
［実施例３の効果］
上記したように、実施例３によれば、駆動中に各デバイスに割り当てられた機能処理を変更可能なデータ処理装置であっても適用することが可能である。
【実施例４】
【０１１０】
ところで、同一の処理機能が割り当てられた各デバイス２００にかかる処理負荷が少ない場合には、同一の処理機能が割り当てられた各デバイス２００の内、いずれかのデバイス２００に対する電力供給を停止するようにしてもよい。
【０１１１】
そこで、実施例４では、デバイス２００にかかる処理負荷に応じてデータ処理を実行するデバイス２００の数を切り替えることで、電力消費を低減する場合を説明する。なお、実施例４では、実施例４に係るデータ処理装置１００の構成およびデータ処理装置１００による処理の流れを説明した後、実施例４による効果を説明する。
【０１１２】
［実施例４に係るデータ処理装置の構成］
まず、図１８および図１９を用いて実施例４に係るデータ処理装置１００の構成を説明する。図１８は、実施例４に係るデータ処理装置の構成を示すブロック図である。図１９は、実施例４に係るポートテーブルに記憶される情報の一例を示した図である。
【０１１３】
実施例４に係るデータ処理装置１００の構成は、スイッチ３００に電源供給制御部５００を新たに備え、データ処理装置１００にＤＣ−ＤＣ変換部６００およびモード設定部７００を新たに備える他は、実施例１に係るデータ処理装置１００と同様の構成要素を有する。そして、実施例４に係るデータ処理装置１００の構成は、実施例１に係るデータ処理装置１００と以下に説明する点が異なる。
【０１１４】
モード設定部７００は、データ処理にかかる負荷を複数のデバイス２００に分散する均等負荷分散状態と、データ処理を実行するデバイス２００の数を減らして無駄な電力消費を低減する集中型負荷分散状態とからなるデータ処理装置１００の制御状態の内、いずれかの制御状態を選択する制御状態選択指示をユーザから受け付ける。そして、モード設定部７００は、ユーザから受け付けた制御状態選択指示に応じて、均等負荷分散状態もしくは集中型負荷分散状態の内、いずれかの制御状態を全てのポート選択処理部４０４に設定する。
【０１１５】
ポートテーブル４０１は、ポート番号に対応付けて、電源供給の有無を特定するためのＶａｌｉｄ情報を記憶する。具体的には、ポートテーブル４０１は、図１９に示すように、処理機能情報と、負荷値と、電源供給中であるか否かを示したＶａｌｉｄ情報とを、デバイス２００各々に対応するポート４００のポート番号に対応付けて記憶する。ここで、Ｖａｌｉｄ情報「１」は、対応するデバイス２００が電源供給を受けており、データ処理を実行可能であることを示す情報であり、Ｖａｌｉｄ情報「０」は、対応するデバイス２００が電源供給を受けておらず、データ処理を実行不能であることを示す情報である。
【０１１６】
ポート選択処理部４０４は、制御状態が均等負荷分散状態にあるときには、デバイス２００からデータを受信した場合に、ポートテーブル４０１を参照して、受信データに付与された処理機能情報に一致するポート番号の中から、負荷値が最も低いデバイス２００に対応するポート番号を選択し、このポート番号を有するポート４００に対応するデバイス２００に対してデータを中継する。
【０１１７】
また、ポート選択処理部４０４は、制御状態が集中型負荷分散状態にあるときには、データ処理を実行可能なデバイス２００に対応する各ポート番号の中で、負荷値が最も高いデバイス２００に対応するポート番号を選択し、このポート番号を有するポート４００に対応するデバイス２００に対してデータを中継する。例えば、ポート選択処理部４０４は、データパケットを受け付けると、受信処理済のデータに付与された処理機能情報を読み込む。
【０１１８】
続いて、ポート選択処理部４０４は、ポートテーブル４０１を参照して、読み出した処理機能情報に対応し、かつ、Ｖａｌｉｄ情報「１」に対応するポート番号を選択する。次に、ポート選択処理部４０４は、選択したポート番号の中から負荷値が１００％に到達しておらず、かつ、負荷値が最も高いデバイス２００に対応するポート番号を選択する。そして、ポート選択処理部４０４は、選択したポート番号に対応するデバイス２００に対してデータを中継する。
【０１１９】
電源供給制御部５００は、ポートテーブル５０１と、ポートテーブル更新処理部５０２と、電源制御信号送信部５０３とを備える。ポートテーブル５０１は、上述したポートテーブル４０１と同一の構成を有し、ポートテーブル５０１に記憶されている情報は、各ポート４００のポートテーブル４０１に記憶されている情報に同期するように更新される。
【０１２０】
ポートテーブル更新処理部５０２は、各デバイス２００の稼働状況に応じて、Ｖａｌｉｄ情報を更新する。例えば、ポートテーブル更新処理部５０２は、デバイス２００Ａに対応するポート番号Ｐ１の負荷値が予め設定されている電力供給開始閾値（例えば、６０％）を上回った場合には、デバイス２００Ｂに対応するポート番号Ｐ２のＶａｌｉｄ情報「０」をＶａｌｉｄ情報「１」に更新する。ここで、Ｖａｌｉｄ情報を更新するポート番号は、ラウンドロビン方式で選択してもよいし、ポート番号の若い順番で選択するようにしてもよい。
【０１２１】
また、ポートテーブル更新処理部５０２は、デバイス２００Ａに対応するポート番号Ｐ１の負荷値が予め設定されている電力供給停止閾値（例えば、４０％）を下回ると、デバイス２００Ｂに対応するポート番号Ｐ２のＶａｌｉｄ情報「１」をＶａｌｉｄ情報「０」に更新する。
【０１２２】
電源制御信号送信部５０３は、ポートテーブル更新処理部５０２によってポートテーブル５０１のＶａｌｉｄ情報が更新されると、更新されたＶａｌｉｄ情報に対応するポート番号と、Ｖａｌｉｄ情報の更新内容とを含んだ電源制御信号をＤＣ−ＤＣ変換部５００に対して送信する。例えば、電源制御信号送信部５０３は、ポートテーブル更新処理部５０２により、ポート番号Ｐ２に対応するＶａｌｉｄ情報「０」がＶａｌｉｄ情報「１」に更新された場合には、ポート番号Ｐ２およびＶａｌｉｄ情報「１」を含んだ電源制御信号をＤＣ−ＤＣ変換部５００に対して送信する。また、例えば、電源制御信号送信部５０３は、ポートテーブル更新処理部５０２により、ポート番号Ｐ２に対応するＶａｌｉｄ情報「１」がＶａｌｉｄ情報「０」に更新された場合には、ポート番号Ｐ２およびＶａｌｉｄ情報「０」を含んだ電源制御信号をＤＣ−ＤＣ変換部５００に対して送信する。
【０１２３】
ＤＣ−ＤＣ変換部６００は、各デバイス２００に対する電源供給を制御する。例えば、ＤＣ−ＤＣ変換部６００は、電源制御信号送信部５０３からポート番号Ｐ２およびＶａｌｉｄ情報「１」を含んだ電源制御信号を受け付けた場合には、ポート番号Ｐ２に対応するデバイス２００Ｂに対する電源供給を開始する。また、ＤＣ−ＤＣ変換部６００は、電源制御信号送信部５０３からポート番号Ｐ２およびＶａｌｉｄ情報「０」を含んだ電源制御信号を受け付けた場合には、ポート番号Ｐ２に対応するデバイス２００Ｂに対する電源供給を停止する。
【０１２４】
［実施例４に係るデータ処理装置による処理］
次に、図２０を用いて、実施例４に係るデータ処理装置による処理を説明する。なお、以下では、集中型負荷分散状態を選択する状態選択指示をユーザから受け付けた場合の電源供給制御部５００およびＤＣ−ＤＣ変換部６００による処理を説明する。また、以下に説明する処理は、データ処理装置の駆動の停止とともに処理を終了する。図２０は、実施例４に係るデータ処理装置による処理の流れを示すフローチャート図である。
【０１２５】
図２０に示すように、ポートテーブル更新処理部５０２は、いずれかのデバイス２００に対応するポート番号の負荷値が電力供給停止閾値を下回ると（ステップＳ７００１肯定）、電力供給停止閾値を下回ったポート番号と同一の処理機能情報に対応するポート番号の中で、いずれかのポート番号に対応するＶａｌｉｄ情報「１」をＶａｌｉｄ情報「０」に更新する（ステップＳ７００２）。続いて、ＤＣ−ＤＣ変換部６００は、Ｖａｌｉｄ情報が「１」に変わったポート番号に対応するデバイスに対する電源供給を停止する（ステップＳ７００３）。
【０１２６】
また、ポートテーブル更新処理部５０２は、いずれかのデバイス２００に対応するポート番号の負荷値が電力供給開始閾値を上回ると（ステップＳ７００４肯定）、電力供給開始閾値を上回ったポート番号と同一の処理機能情報に対応するポート番号の中で、いずれかのポート番号に対応するＶａｌｉｄ情報「０」をＶａｌｉｄ情報「１」に更新する（ステップＳ７００５）。続いて、ＤＣ−ＤＣ変換部６００は、Ｖａｌｉｄ情報が「１」に変わったポート番号に対応するデバイスに対する電源供給を開始する（ステップＳ７００６）。
【０１２７】
［実施例４の効果］
上記したように、実施例４によれば、同一の処理機能が割り当てられた各デバイスにかかる処理負荷が少ない場合には、電力を供給するデバイスの数を減らすことができるので、無駄な電力消費を低減することが可能である。
【０１２８】
なお、例えば、特開２００５−４７５７号公報、特開２００１−２５１６６４号公報および特開平８−１６１２７４号公報に開示されている技術のように複数のデバイスの処理負荷のバランスを取るための技術が従来からある。この従来の技術に比べ、上記した実施例１〜３によれば、ポートテーブルを用いて簡易に複数のデバイスの処理負荷のバランスを取ることができる。
【実施例５】
【０１２９】
さて、これまで実施例１〜４について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、実施例５として、他の実施例を説明する。
【０１３０】
例えば、本発明は、所定のデータ処理が完了した後、この所定のデータ処理の次に実行すべきデータ処理を実行することが可能な複数のデバイスの中から一のデバイスを、デバイス２００以外の構成要素によって選択すればよく、様々な構成形態をとることが可能である。
【０１３１】
具体的に例をあげると、実施例１〜４に係るデータ処理装置１００では、各ポート４００にそれぞれポートテーブル４０１を備える場合を説明したが、各ポート４００に共通のポートテーブル４０１を備えるようにしてもよい。
【０１３２】
また、実施例１に係るデータ処理装置１００では、各デバイス２００に負荷状態計測部２０１および負荷状態送信部２０２を備える場合を説明したが、全てのポート４００に対して各デバイスの負荷状態を通知するＭＰＵ（監視プロセッサ）を、各デバイス２００から分離した構成要素として備えるようにしてもよい。
【０１３３】
また、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報（例えば、図１、図６、図１１、図１５および図１９に示した記憶情報や図４に示したデータパケットの構成）については、特記する場合を除いて任意に変更することができる。
【０１３４】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、図３に示した、データ受信部２０３と、データ送信部２０７とを統合して構成することができる。
【０１３５】
さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【０１３６】
ところで、本発明はあらかじめ用意されたプログラムをデータ処理装置１００としてのコンピュータで実行することによって実現するようにしてもよい。そこで、以下では、図１８を用いて、上記の実施例に示したデータ処理装置１００と同様の機能を有するデータ処理プログラムを実行するコンピュータを一例として説明する。図２１は、データ処理プログラムを実行するコンピュータを示す図である。
【０１３７】
同図に示すように、データ処理装置１００としてのコンピュータ１１００は、デバイス２００としてのＣＰＵ１２００、ポート４００としてのＣＰＵ１４００、ＲＯＭ１５００、ＨＤＤ１６００、ＲＡＭ１７００および外部ＩＦ１８００をバスなどで接続する。
【０１３８】
ＲＯＭ１５００には、図２１に示すように、上記の実施例１に示したデバイス２００と同様の機能を発揮するプログラム、つまり、負荷状態計測プログラム１５０１、負荷状態送信プログラム１５０２、データ受信プログラム１５０３、機能ヘッダ削除プログラム１５０４、データ処理プログラム１５０５（例えば、暗号化処理プログラム）、機能ヘッダ付与プログラム１５０６およびデータ送信プログラム１５０７があらかじめ記憶される。さらに、ＲＯＭ１５００には、上記の実施例１に示したポート４００と同様の機能を発揮するプログラム、つまり、負荷状態受信プログラム１５０８、ポートテーブル更新処理プログラム１５０９およびポート選択処理プログラム１５１０があらかじめ記憶されている。なお、これらのプログラム１５０１〜プログラム１５１０については、図３または図５に示したデータ処理装置１００の各構成要素と同様、適宜統合または、分散してもよい。
【０１３９】
そして、各ＣＰＵ１２００がプログラム１５０１〜プログラム１５０７をＲＯＭ１５００から読み出して実行することで、図２１に示すように、プログラム１５０１〜プログラム１５０７は、負荷状態計測プロセス１２０１、負荷状態送信プロセス１２０２、データ受信プロセス１２０３、機能ヘッダ削除プロセス１２０４、データ処理プロセス１２０５、機能ヘッダ付与プロセス１２０６およびデータ送信プロセス１２０７として機能するようになる。
【０１４０】
また、各ＣＰＵ１４００がプログラム１５０８〜プログラム１５１０をＲＯＭ１５００から読み出して実行することで、図２１に示すように、プログラム１５０８〜プログラム１５１０は、負荷状態受信プロセス１４０８、ポートテーブル更新処理プロセス１４０９、ポート選択処理プロセス１４１０として機能するようになる。
【０１４１】
なお、プロセス１２０１〜プロセス１２０７は、図３に示した、負荷状態計測部２０１と、負荷状態送信部２０２と、データ受信部２０３と、機能ヘッダ削除部２０４と、データ処理部２０５と、機能ヘッダ付与部２０６と、データ送信部２０７とにそれぞれ対応し、プロセス１４０８〜プロセス１４１０は、図５に示した、負荷状態受信部４０２と、ポートテーブル更新処理部４０３と、ポート選択処理部４０４とにそれぞれ対応する。
【０１４２】
また、ＨＤＤ１６００には、図２１に示すように、ポートテーブル１６０１が設けられ、ＣＰＵ１２００がＨＤＤ１６００からポートテーブル１６０１を読み出してＲＡＭ１７００に格納しＲＡＭ１７００に格納されたポートテーブルデータ１７０１に基づいて処理を実行する。なお、図３に示した例では、各ポート４００にそれぞれポートテーブル４０１が設けられる場合を説明したが、図２１に示した例では、各ＣＰＵ１４００が共通のポートテーブルデータ１７０１に基づいて処理を実行するものとする。なお、ポートテーブルデータ１７０１は、図５に示した、ポートテーブル４０１に対応する。
【０１４３】
なお、上記した各プログラム１５０１〜プログラム１５１０については、必ずしも最初からＲＯＭ１５００に記憶させておく必要はなく、例えば、コンピュータ１１００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」、またはコンピュータ１１００の内外に備えられるＨＤＤなどの「固定用の物理媒体」、さらには公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータ１１００に接続される「他のコンピュータ（またはサーバ）」などに各プログラムを記憶させておき、コンピュータ１１００がこれから各プログラムを読み出して実行するようにしてもよい。
【０１４４】
以上の実施例１〜５を含む実施形態に関し、さらに以下の付記を開示する。
【０１４５】
（付記１）データ処理を実行する複数のデバイスと、全てのデバイス各々に対応する各ポートを介してデバイス間のデータ通信を中継するデータ送受信部とを有し、予め設定された順番で複数のデバイスにデータ処理を実行させるデータ処理装置であって、
前記データ送受信部は、
各ポートを特定するポート番号に対応付けて、各ポートに対応するデバイスが実行するデータ処理を特定する処理機能情報と、各ポートに対応するデバイスの稼働状況に応じて更新される負荷値とを記憶するポートテーブルと、
デバイスからデータを受信した場合に、前記ポートテーブルを参照して、受信データに付与された処理機能情報に一致するポート番号の中から、前記負荷値が最も低いデバイスに対応するポート番号を選択し、当該ポート番号を有するポートに対応するデバイスに対してデータを中継するデータ中継手段とを備え、
前記デバイスは、
前記データ送受信部から中継されたデータをデータ処理し、処理済のデータに次に実行すべきデータ処理を特定する処理機能情報を付与して送信するデータ送信手段を備えたことを特徴とするデータ処理装置。
【０１４６】
（付記２）前記ポートテーブルは、ポート番号に対応付けて、障害が発生したデバイスを特定する障害情報を記憶し、
前記データ中継手段は、前記ポートテーブルに記憶されている各ポート番号の中から、前記障害情報に対応しないポート番号を選択することを特徴とする付記１に記載のデータ処理装置。
【０１４７】
（付記３）前記データ送受信部は、
デバイス各々が実行するデータ処理が変更された場合に、前記ポートテーブルに記憶されている処理機能情報を更新する処理機能情報更新手段をさらに備えたことを特徴とする付記２に記載のデータ処理装置。
【０１４８】
（付記４）前記ポートテーブルを監視して、いずれかのデバイスに対応する負荷値が予め設定されている電力供給停止閾値を下回った場合には、電力供給停止閾値を下回ったデバイスと同一のデータ処理を実行する各デバイスの内、一のデバイスに対する電力の供給を停止し、いずれかのデバイスに対応する負荷値が予め設定されている電力供給開始閾値を上回った場合には、電力供給開始閾値を上回ったデバイスと同一のデータ処理を実行する各デバイスの内、一のデバイスに対する電力の供給を開始する電力供給制御手段とをさらに備え、
前記ポートテーブルは、ポート番号に対応付けて、電力供給中のデバイスを特定する電力供給情報を記憶し、
前記データ中継手段は、前記ポートテーブルに記憶されている各ポート番号の中から、前記電力供給情報に対応するポート番号を選択することを特徴とする付記１〜３のいずれか１つに記載のデータ処理装置。
【０１４９】
（付記５）データ処理にかかる負荷を前記複数のデバイスに分散する均等負荷分散状態と、データ処理を実行するデバイスの数を減らして無駄な電力消費を低減する集中型負荷分散状態とからなる制御状態の内、いずれかの制御状態を選択する制御状態選択指示をユーザから受け付ける制御状態選択指示受付手段をさらに備え、
前記データ中継手段は、前記制御状態選択指示受付手段により均等負荷分散状態の選択をユーザから受け付けた場合には、デバイスからデータを受信したときに、前記ポートテーブルを参照して、受信データに付与された処理機能情報に一致するポート番号の中から、前記負荷値が最も低いデバイスに対応するポート番号を選択して、当該ポート番号を有するポートに対応するデバイスに対してデータを中継し、前記制御状態選択指示受付手段により集中型負荷分散状態の選択をユーザから受け付けた場合には、デバイスからデータを受信したときに、前記ポートテーブルを参照して、受信データに付与された処理機能情報に一致し、かつ、前記電力供給情報に対応するポート番号の中から、前記負荷値が最も高いデバイスに対応するポート番号を選択して、当該ポート番号を有するポートに対応するデバイスに対してデータを中継することを特徴とする付記４に記載のデータ処理装置。
【０１５０】
（付記６）前記電力供給停止閾値および／または前記電力供給開始閾値を時期や季節に応じて変更する閾値変更手段を備えたことを特徴とする付記４または５に記載のデータ処理装置。
【０１５１】
（付記７）データ処理を実行する複数のデバイスと、全てのデバイス各々に対応する各ポートを介してデバイス間のデータ通信を中継するデータ送受信部とを有するデータ処理装置によって、予め設定された順番で複数のデバイスにデータ処理を実行させるデータ処理方法であって、
前記データ送受信部は、
各ポートを特定するポート番号に対応付けて、各ポートに対応するデバイスが実行するデータ処理を特定する処理機能情報と、各ポートに対応するデバイスの稼働状況に応じて更新される負荷値とを記憶するポートテーブルを記憶するポートテーブル記憶ステップと、
デバイスからデータを受信した場合に、前記ポートテーブル記憶ステップによって記憶されているポートテーブルを参照して、受信データに付与された処理機能情報に一致するポート番号の中から、前記負荷値が最も低いデバイスに対応するポート番号を選択し、当該ポート番号を有するポートに対応するデバイスに対してデータを中継するデータ中継ステップとを含み、
前記デバイスは、
前記データ送受信部から中継されたデータをデータ処理し、処理済のデータに次に実行すべきデータ処理を特定する処理機能情報を付与して送信するデータ送信ステップを含んだことを特徴とするデータ処理方法。
【０１５２】
（付記８）データ処理を実行する複数のデバイスと、全てのデバイス各々に対応する各ポートを介してデバイス間のデータ通信を中継するデータ送受信部とを有するデータ処理装置としてのコンピュータに、予め設定された順番で複数のデバイスにデータ処理を実行させるデータ処理プログラムであって、
前記データ送受信部に、
各ポートを特定するポート番号に対応付けて、各ポートに対応するデバイスが実行するデータ処理を特定する処理機能情報と、各ポートに対応するデバイスの稼働状況に応じて更新される負荷値とを記憶するポートテーブルを記憶するポートテーブル記憶手順と、
デバイスからデータを受信した場合に、前記ポートテーブル記憶手順によって記憶されているポートテーブルを参照して、受信データに付与された処理機能情報に一致するポート番号の中から、前記負荷値が最も低いデバイスに対応するポート番号を選択し、当該ポート番号を有するポートに対応するデバイスに対してデータを中継させるデータ中継手順とを実行させ、
前記デバイスに、
前記データ送受信部から中継されたデータをデータ処理し、処理済のデータに次に実行すべきデータ処理を特定する処理機能情報を付与して送信するデータ送信手順を実行させることを特徴とするデータ処理プログラム。
【図面の簡単な説明】
【０１５３】
【図１】実施例１に係るデータ処理装置の概要および特徴を説明するための図である。
【図２】データ処理装置の構成を示すブロック図である。
【図３】デバイスの構成を示すブロック図である。
【図４】機能ヘッダ付与部による処理を説明するための図である。
【図５】スイッチおよびポートの構成を示すブロック図である。
【図６】ポートテーブルに記憶される情報の一例を示した図である。
【図７】デバイスによる処理の流れを示すフローチャート図である。
【図８】ポートによる処理の流れを示すフローチャート図である。
【図９】実施例２に係るデバイスの構成を示すブロック図である。
【図１０】実施例２に係るスイッチおよびポートの構成を示すブロック図である。
【図１１】実施例２に係るポートテーブルに記憶される情報の一例を示した図である。
【図１２】実施例２に係るポートによるデータ処理の流れを示すフローチャート図である。
【図１３】実施例３に係るデバイスの構成を示すブロック図である。
【図１４】実施例３に係るスイッチおよびポートの構成を示すブロック図である。
【図１５】実施例３に係るポートテーブル更新処理部による処理を説明するための図である。
【図１６】実施例３に係るデバイスによる処理の流れを示すフローチャート図である。
【図１７】実施例３に係るポートによる処理の流れを示すフローチャート図である。
【図１８】実施例４に係るデータ処理装置の構成を示すブロック図である。
【図１９】実施例４に係るポートテーブルに記憶される情報の一例を示した図である。
【図２０】実施例４に係るデータ処理装置による処理の流れを示すフローチャート図である。
【図２１】データ処理プログラムを実行するコンピュータを示す図である。
【図２２】従来のデータ処理装置による処理を説明するための図である。
【符号の説明】
【０１５４】
１００  データ処理装置
２００（２００Ａ〜Ｈ、Ｚ）  デバイス
２０１  負荷状態計測部
２０２  負荷状態送信部
２０３  データ受信部
２０４  機能ヘッダ削除部
２０５  データ処理部
２０６  機能ヘッダ付与部
２０７  データ送信部
２０８  障害検出部
２０９  障害情報送信部
２１０  処理機能変更部
２１１  機能変更情報送信部
３００  スイッチ
４００（４００Ａ〜Ｈ、Ｚ）  ポート
４０１  ポートテーブル
４０２  負荷状態受信部
４０３  ポートテーブル更新処理部
４０４  ポート選択処理部
４０５  障害情報受信部
４０６  機能変更情報受信部
５００  電源供給制御部
５０１  ポートテーブル
５０２  ポートテーブル更新処理部
５０３  電源制御信号送信部
６００  ＤＣ−ＤＣ変換部
７００  モード設定部
１１００  コンピュータ
１２００  ＣＰＵ（Central Processing Unit）
１２０１  負荷状態計測プロセス
１２０２  負荷状態送信プロセス
１２０３  データ受信プロセス
１２０４  機能ヘッダ削除プロセス
１２０５  データ処理プロセス
１２０６  機能ヘッダ付与プロセス
１２０７  データ送信プロセス
１４００  ＣＰＵ
１４０８  負荷状態受信プロセス
１４０９  ポートテーブル更新処理プロセス
１４１０  ポート選択処理プロセス
１５００  ＲＯＭ（Read Only Memory）
１５０１  負荷状態計測プログラム
１５０２  負荷状態送信プログラム
１５０３  データ受信プログラム
１５０４  機能ヘッダ削除プログラム
１５０５  データ処理プログラム
１５０６  機能ヘッダ付与プログラム
１５０７  データ送信プログラム
１５０８  負荷状態受信プログラム
１５０９  ポートテーブル更新処理プログラム
１５１０  ポート選択処理プログラム
１６００  ＨＤＤ（Hard disk drive）
１６０１  ポートテーブル
１７００  ＲＡＭ（Random Access Memory）
１７０１  ポートテーブルデータ
１８００  外部ＩＦ（Interface）
【図１】
2009259200.tif 000003
【図２】
2009259200.tif 000004
【図３】
2009259200.tif 000005
【図４】
2009259200.tif 000006
【図５】
2009259200.tif 000007
【図６】
2009259200.tif 000008
【図７】
2009259200.tif 000009
【図８】
2009259200.tif 000010
【図９】
2009259200.tif 000011
【図１０】
2009259200.tif 000012
【図１１】
2009259200.tif 000013
【図１２】
2009259200.tif 000014
【図１３】
2009259200.tif 000015
【図１４】
2009259200.tif 000016
【図１５】
2009259200.tif 000017
【図１６】
2009259200.tif 000018
【図１７】
2009259200.tif 000019
【図１８】
2009259200.tif 000020
【図１９】
2009259200.tif 000021
【図２０】
2009259200.tif 000022
【図２１】
2009259200.tif 000023
【図２２】
2009259200.tif 000024