(57)【要約】【課題】安定したパケット通信を行うことが可能な情報処理装置、情報処理システム、パケット送信方法、データ数通知方法およびプログラムを提供する。【解決手段】通信相手にパケットを送信する情報処理装置は、通信相手から通信相手の処理負荷の大きさに応じて決定されたデータ数を特定するためのデータ数情報を受信する受信手段と、通信相手に送信予定のデータを受け付け、データ数未満の数のデータを含むパケットを、通信相手に送信する送信手段と、を含む。【選択図】図１
2013239886.tif 000002
【特許請求の範囲】
【請求項１】
通信相手にパケットを送信する情報処理装置であって、
前記通信相手から、当該通信相手の処理負荷の大きさに応じて決定されたデータ数を特定するためのデータ数情報を受信する受信手段と、
前記通信相手に送信予定のデータを受け付け、前記データ数未満の数の前記データを含むパケットを、前記通信相手に送信する送信手段と、を含む情報処理装置。
【請求項２】
請求項１に記載の情報処理装置において、
前記送信手段は、受け付けられた前記データの数が前記データ数未満である場合に、前記受け付けられたデータを含むパケットを、前記通信相手に送信する、情報処理装置。
【請求項３】
請求項１または２に記載の情報処理装置において、
前記データ数情報は、前記パケットが送信される前に送信された送信済みパケットについての前記通信相手での受信状況を表す受信状況通知に含まれており、
前記受信手段は、前記通信相手から前記受信状況通知を受信する、情報処理装置。
【請求項４】
請求項１から３のいずれか１項に記載の情報処理装置において、
前記データ数は、前記通信相手の処理負荷が大きくなるほど小さくなるものである、情報処理装置。
【請求項５】
通信相手から送信されたパケットを受信する情報処理装置であって、
前記情報処理装置の処理負荷の大きさに応じて、前記通信相手に要求するデータ数を決定し、前記データ数を特定するためのデータ数情報を、前記通信相手に送信する送信手段を含む情報処理装置。
【請求項６】
請求項１から４のいずれか１項に記載の情報処理装置と、請求項５に記載の情報処理装置と、を含む情報処理システム。
【請求項７】
通信相手にパケットを送信する情報処理装置が行うパケット送信方法であって、
前記通信相手から、当該通信相手の処理負荷の大きさに応じて決定されたデータ数を特定するためのデータ数情報を受信する受信ステップと、
前記通信相手に送信予定のデータを受け付け、前記データ数未満の数の前記データを含むパケットを、前記通信相手に送信する送信ステップと、を含むパケット送信方法。
【請求項８】
通信相手から送信されたパケットを受信する情報処理装置が行うデータ数通知方法であって、
前記情報処理装置の処理負荷の大きさに応じて、前記通信相手に要求するデータ数を決定し、前記データ数を特定するためのデータ数情報を、前記通信相手に送信する送信ステップを含むデータ数通知方法。
【請求項９】
コンピュータに、
通信相手から、当該通信相手の処理負荷の大きさに応じて決定されたデータ数を特定するためのデータ数情報を受信する受信手順と、
前記通信相手に送信予定のデータを受け付け、前記データ数未満の数の前記データを含むパケットを、前記通信相手に送信する送信手順と、を実行させるためのプログラム。
【請求項１０】
コンピュータに、
前記コンピュータの処理負荷の大きさに応じて、通信相手に要求するデータ数を決定し、前記データ数を特定するためのデータ数情報を、前記通信相手に送信する送信手順を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理システム、パケット送信方法、データ数通知方法およびプログラムに関する。
【背景技術】
【０００２】
特許文献１には、パケットを送信するエンドデバイスと、エンドデバイスから送信されたパケットを受信するＰＡＮ（Personal Area Network）コーディネータと、を含む無線センサネットワークが記載されている。
【０００３】
ＰＡＮコーディネータは、ＩＥＥＥ８０２．１５．４にて規定された最大パケットサイズに従ってデータの分割サイズを決定し、分割サイズをエンドデバイスに通知する。
【０００４】
エンドデバイスは、データをＰＡＮコーディネータから通知された分割サイズに分割して分割データを生成し、分割データを有するパケットをＰＡＮコーディネータ宛てに送信する。
【０００５】
ＰＡＮコーディネータは、エンドデバイスから送信されたパケット、つまり、ＰＡＮコーディネータが指定したサイズのデータを有するパケットを受信する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００６−２１１２３２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１に記載の無線ネットワークでは、ＰＡＮコーディネータが受信するパケット内のデータサイズは、ＰＡＮコーディネータでの処理負荷の大きさを考慮することなく、ＩＥＥＥ８０２．１５．４にて規定された最大パケットサイズに従って決定される。
【０００８】
このため、例えば、ＰＡＮコーディネータの性能が低くＰＡＮコーディネータの処理負荷が非常に大きくなっているときに、ＩＥＥＥ８０２．１５．４にて規定された最大パケットサイズのパケットがＰＡＮコーディネータ宛てに送信されると、ＰＡＮコーディネータは、そのパケットを受信できない可能性が高くなるという課題があった。
【０００９】
本発明の目的は、上記課題を解決可能な情報処理装置、情報処理システム、パケット送信方法、データ数通知方法およびプログラムを提供することである。
【課題を解決するための手段】
【００１０】
本発明の情報処理装置は、通信相手にパケットを送信する情報処理装置であって、
前記通信相手から、当該通信相手の処理負荷の大きさに応じて決定されたデータ数を特定するためのデータ数情報を受信する受信手段と、
前記通信相手に送信予定のデータを受け付け、前記データ数未満の数の前記データを含むパケットを、前記通信相手に送信する送信手段と、を含む。
【００１１】
本発明の情報処理装置は、通信相手から送信されたパケットを受信する情報処理装置であって、
前記情報処理装置の処理負荷の大きさに応じて、前記通信相手に要求するデータ数を決定し、前記データ数を特定するためのデータ数情報を、前記通信相手に送信する送信手段を含む。
【００１２】
本発明のパケット通信方法は、通信相手にパケットを送信する情報処理装置が行うパケット送信方法であって、
前記通信相手から、当該通信相手の処理負荷の大きさに応じて決定されたデータ数を特定するためのデータ数情報を受信する受信ステップと、
前記通信相手に送信予定のデータを受け付け、前記データ数未満の数の前記データを含むパケットを、前記通信相手に送信する送信ステップと、を含む。
【００１３】
本発明のデータ数通知方法は、通信相手から送信されたパケットを受信する情報処理装置が行うデータ数通知方法であって、
前記情報処理装置の処理負荷の大きさに応じて、前記通信相手に要求するデータ数を決定し、前記データ数を特定するためのデータ数情報を、前記通信相手に送信する送信ステップを含む。
【００１４】
本発明のプログラムは、コンピュータに、
通信相手から、当該通信相手の処理負荷の大きさに応じて決定されたデータ数を特定するためのデータ数情報を受信する受信手順と、
前記通信相手に送信予定のデータを受け付け、前記データ数未満の数の前記データを含むパケットを、前記通信相手に送信する送信手順と、を実行させる。
【００１５】
本発明のプログラムは、コンピュータに、
前記コンピュータの処理負荷の大きさに応じて、通信相手に要求するデータ数を決定し、前記データ数を特定するためのデータ数情報を、前記通信相手に送信する送信手順を実行させる。
【発明の効果】
【００１６】
本発明によれば、安定したパケット通信を行うことが可能になる。
【図面の簡単な説明】
【００１７】
【図１】本発明の一実施形態のネットワーク装置１および２と、装置間専用通信路３と、を含む情報処理システム１００を示した図である。
【図２】パケットフォーマットを示した図である。
【図３】ネットワーク装置１が、データを含むパケットをネットワーク装置２に送信する動作を説明するためにフローチャートである。
【図４】パケット受信時の動作を説明するためのフローチャートである。
【図５】同期データの送信動作を説明するためのシーケンス図である。
【図６】パケット受信処理部１２とパケット送信処理部１４からなるネットワーク装置を示した図である。
【発明を実施するための形態】
【００１８】
以下、本発明の一実施形態について図面を参照して説明する。
【００１９】
図１は、本発明の一実施形態のネットワーク装置１および２と、装置間専用通信路３と、を含む情報処理システム１００を示した図である。
【００２０】
図１において、情報処理システム１００では、既存のＵＤＰ（User Datagram Protocol）が用いられ、各ネットワーク装置間で通信されるパケットの送受信間隔は一定とし、パケット内のデータ数は、ネットワーク装置１および２が安定してパケット通信を行えるように可変される。
【００２１】
本実施形態では、ネットワーク装置１が、データを有するパケットをネットワーク装置２に送信し、ネットワーク装置２が、データを有するパケットを受信する。また、本実施形態では、ネットワーク装置１は、ネットワーク装置２よりも高性能であるとする。
【００２２】
図２は、情報処理システム１００で使用されるパケットフォーマットを示した図である。
【００２３】
図２において、パケット２００は、ＩＰ（Internet Protocol）通信用のＭＡＣ（Media Access Control）ヘッダ２０１と、ＩＰヘッダ２０２と、ＵＤＰヘッダ２０３と、データ部２０４とで構成される。
【００２４】
ＩＰ／ＵＤＰを用いる理由は、ＩＰ／ＵＤＰはＴＣＰと異なりプロトコル処理が複雑でなく処理負荷が少ないため低性能装置にも適用することができるためである。
【００２５】
データ部２０４は、通信用管理ヘッダ２０５とデータ２０６とを含む。なお、図２では、データ部２０４内に複数のデータ２０６が存在するが、データ部２０４内のデータの数は「０」以上であればよい。
【００２６】
通信用管理ヘッダ２０５は、送受信タイプ２０７と、データ識別番号２０８と、次回受信可能データ数２０９と、を含む。
【００２７】
データ２０６は、１つのパケットで複数の異なったデータを格納できる構造（例えば、バルクデータ構造）を有する。
【００２８】
送受信タイプ２０７には、パケット２００が送信用パケットか受信応答用パケットかを判別するためのタイプ識別情報が記録される。本実施形態では、タイプ識別情報としては、送信用パケットを表す「送信」と、受信応答用パケットを表す「受信応答」とが用いられる。
【００２９】
データ識別番号２０８には、パケット２００内のデータ部２０４を識別するための識別番号が記録される。本実施形態では、識別番号として、一連のパケットの通し番号が用いられる。
【００３０】
次回受信可能データ数２０９には、ネットワーク装置１よりも性能の低いネットワーク装置２が受信可能なデータ数が記録される。本実施形態では、次回受信可能データ数２０９に記録されるデータ数は、ネットワーク装置２の処理負荷の大きさに応じて決定される。なお、次回受信可能データ数２０９は、データ数情報の一例である。
【００３１】
図１において、ネットワーク装置１は、情報処理装置の一例である。
【００３２】
ネットワーク装置１は、通信相手であるネットワーク装置２とパケット通信を行う。ネットワーク装置１は、ネットワークインタフェース１１と、パケット受信処理部１２と、アプリケーション実行部１３と、パケット送信処理部１４と、を含む。
【００３３】
ネットワークインタフェース１１は、装置間専用通信路３とパケット受信処理部１２およびパケット送信処理部１４とを接続する。
【００３４】
パケット受信処理部１２は、受信手段の一例である。
【００３５】
パケット受信処理部１２は、ネットワーク装置２から送信されたパケット２００を、ネットワークインタフェース１１を介して受信する。
【００３６】
パケット受信処理部１２は、バッファ等を有し、ネットワーク装置２から送信されたパケット２００を受信すると、パケット２００内の次回受信可能データ数２０９に記録された値（データ数）をパケット送信処理部１４に出力する。
【００３７】
アプリケーション実行部１３は、ＣＰＵ（Central Processing Unit）やメモリを有し、ネットワーク装置１にインストールされたアプリケーション（プログラム）を実行して、種々の情報処理を実行する。
【００３８】
例えば、アプリケーション実行部１３は、ネットワーク装置２にデータを送信する要求（以下「データ送信要求」と称する）を、パケット送信処理部１４に出力する。なお、データ送信要求には、ネットワーク装置２に送信予定のデータが含まれる。
【００３９】
パケット送信処理部１４は、送信手段の一例である。
【００４０】
パケット送信処理部１４は、パケット受信処理部１２から次回受信可能データ数２０９に記録された値（データ数）を受け付け、また、アプリケーション実行部１３から送信予定のデータを受け付ける。
【００４１】
パケット送信処理部１４は、次回受信可能データ数２０９に記録された値（データ数）未満の数の送信予定のデータをデータ部２０４内に含む送信用パケットを作成し、その送信用パケットを、ネットワークインタフェース１１を介してネットワーク装置２に送信する。
【００４２】
ネットワーク装置２は、情報処理装置の一例である。
【００４３】
ネットワーク装置２は、通信相手であるネットワーク装置１とパケット通信を行う。ネットワーク装置２は、ネットワークインタフェース２１と、パケット受信処理部２２と、アプリケーション実行部２３と、パケット送信処理部２４と、を含む。
【００４４】
ネットワークインタフェース２１は、装置間専用通信路３とパケット受信処理部２２およびパケット送信処理部２４とを接続する。
【００４５】
パケット受信処理部２２は、バッファ等を有し、ネットワーク装置１から送信された送信用パケットを、ネットワークインタフェース２１を介して受信する。
【００４６】
パケット受信処理部２２は、送信用パケットを受信すると、送信用パケットのデータ部２０４内のデータ２０６をアプリケーション実行部２３に出力する。
【００４７】
アプリケーション実行部２３は、ＣＰＵやメモリを有し、ネットワーク装置２にインストールされたアプリケーションを実行して、種々の情報処理を実行する。
【００４８】
パケット送信処理部２４は、送信手段の一例である。
【００４９】
パケット送信処理部２４は、ネットワーク装置２の処理負荷（例えば、アプリケーション実行部２３でのＣＰＵの使用率やメモリの使用率、または、パケット受信処理部２２でのバッファの使用率）の大きさに応じて、ネットワーク装置２が受信可能なデータ数、つまり、通信相手に要求するデータ数を決定する。
【００５０】
パケット送信処理装置２４は、ネットワーク装置２の処理負荷が大きくなるほど（例えば、アプリケーション実行部２３でのＣＰＵの使用率やメモリの使用率、または、パケット受信処理部２２でのバッファの使用率が高くなるほど）、ネットワーク装置２が受信可能なデータ数を小さくする。
【００５１】
パケット送信処理部２４は、決定されたデータ数が次回受信可能データ数２０９に記録されたパケット（例えば、受信応答用パケット）を、ネットワークインタフェース２１を介して、ネットワーク装置１に送信する。
【００５２】
次に、動作を説明する。
【００５３】
図３は、ネットワーク装置１が、送信用パケットをネットワーク装置２に送信する動作を説明するためのフローチャートである。
【００５４】
まず、ネットワーク装置１のアプリケーション実行部１３が、データ送信要求をパケット送信処理部１４へ通知する。
【００５５】
パケット送信処理部１４は、アプリケーション実行部１３からデータ送信要求があったかどうかを判定する（ステップ３−１）。
【００５６】
データ送信要求があった場合、パケット送信処理部１４は、データ送信要求に含まれるデータの数が、対向装置（本実施形態ではネットワーク装置２）の次回受信可能データ数以上かどうかの判定を行う（ステップ３−２）。
【００５７】
なお、ネットワーク装置２の次回受信可能データ数としては、パケット送信処理部１４が、既にパケット受信処理部１２から次回受信可能データ数２０９を受け付けている場合には、パケット送信処理部１４は、その次回受信可能データ数２０９を用いる。
【００５８】
一方、パケット送信処理部１４が、パケット受信処理部１２から次回受信可能データ数２０９を受け付けていない場合（初回送信時など）には、パケット送信処理部１４は、ネットワーク装置２の次回受信可能データ数として、最小のデータ数つまり「１」を用いる。
【００５９】
データ送信要求に含まれるデータの数が、ネットワーク装置２の次回受信可能データ数以上でなければ、パケット送信処理部１４は、データ送信要求に含まれるデータのフォーマットを図２に示したデータ２０６のフォーマットに変換して送信用データを作成する送信データ作成処理を実行する（ステップ３−３）。
【００６０】
なお、データ送信要求に複数のデータが含まれている場合には、パケット送信処理部１４は、図２のデータ部（詳細）２０４に示したように、複数の送信用データ２０６を連結する。
【００６１】
一方、データ送信要求に含まれるデータの数が、ネットワーク装置２の次回受信可能データ数以上であれば、パケット送信処理部１４は、送信用データの作成を行わず、アプリケーション実行部１３から要求されたデータを保留する。
【００６２】
続いて、パケット送信処理部１４は、パケット送信契機かどうかを判定する（ステップ３−４）。なお、アプリケーション実行部１３からのデータ送信要求がない場合も、パケット送信処理部１４は、パケット送信契機かどうかを判定する。
【００６３】
なお、本実施形態では、パケット送信契機は一定時間ごとに生じる。
【００６４】
ステップ３−４でパケット送信契機でない場合は、パケット送信処理部１４は、処理を先頭（ステップ３−１）へ戻し、アプリケーション実行部１３からのデータ送信要求がないかをチェックする。なお、アプリケーション実行部１３から要求されたデータが保留されている場合には、パケット送信処理部１４は、処理をステップ３−１からステップ３−２に進める。
【００６５】
一方、ステップ３−４でパケット送信契機である場合は、パケット送信処理部１４は、送信用データの数の判定を行う（ステップ３−５）。
【００６６】
ステップ３−５で送信用データがない場合は、パケット送信処理部１４は、処理を先頭（ステップ３−１）へ戻す。
【００６７】
一方、ステップ３−５で送信用データがある場合は、パケット送信処理部１４は、パケット作成処理を行う（ステップ３−６）。
【００６８】
パケット作成処理では、まず、パケット送信処理部１４は、データ２０６の先頭に通信用管理ヘッダ２０５を付加してデータ部２０４を作成する。
【００６９】
続いて、パケット送信処理部１４は、通信用管理ヘッダ２０５内の送受信タイプ２０７に「送信」を記録し、通信用管理ヘッダ２０５内のデータ識別番号２０８に０から始まる３２ビットの通し番号（連番）を記録し、通信用管理ヘッダ２０５内の次回受信可能データ数２０９に、ネットワーク装置２が次に受信可能なデータ個数を記録する。
【００７０】
なお、データ識別番号２０８は、対向のネットワーク装置２からの受信応答が無かったパケットを特定し、そのパケットを再送するために使用される。
【００７１】
また、次回受信可能データ数２０９は、ネットワーク装置２が受信可能なデータ数を示すが、パケット送信処理部１４は、初回送信時にはネットワーク装置２の受信可能データ数が分からない。このため、パケット送信処理部１４は、初回送信時には、最小のデータ数、つまり「１」を次回受信可能データ数２０９に記録し、以降はネットワーク装置２から受信した次回受信可能データ数２０９に記録された値を用いる。
【００７２】
続いて、パケット送信処理部１４は、先に作成されたデータ部２０４にネットワークへ送信するための各ヘッダ（ＭＡＣヘッダ、ＩＰヘッダおよびＵＤＰヘッダ）を付加して、送信用パケットを作成する。以上で、パケット作成処理が終了する。
【００７３】
続いて、パケット送信処理部１４は、パケット送信処理を行う（ステップ３−７）。
【００７４】
ステップ３−７でのパケット送信処理では、パケット送信処理部１４は、送信用パケットを、ネットワークインタフェース１１を介してネットワーク装置２に送信する。
【００７５】
なお、パケット送信処理部１４は、送信済みの送信用パケットに対する受信応答がネットワーク装置２から来なかった場合に、送信済みの送信用パケットを再送するために、送信済みの送信用パケットのコピーを一定時間保存しておく。
【００７６】
また、パケット送信処理部１４は、一定時間経過しても、送信済みの送信用パケットに対する受信応答が来なかった場合は、送信済みの送信用パケットのコピーを廃棄する。
【００７７】
ネットワーク装置１からネットワーク装置２宛に送信された送信用パケットは、ネットワーク装置２にて受信される。
【００７８】
次に、ネットワーク装置２の動作を説明する。
【００７９】
図４は、パケット受信時の動作を説明するためのフローチャートである。
【００８０】
ネットワーク装置２では、パケット受信処理部２２は、ネットワーク装置１から送信された送信用パケットを、ネットワークインタフェース２１を介して受信すると、送信用パケットに対してヘッダ処理を行う（ステップ４−１）。
【００８１】
ヘッダ処理では、パケット受信処理部２２は、送信用パケットから、各ヘッダ（ＭＡＣヘッダ、ＩＰヘッダおよびＵＤＰヘッダ）を取り除き、データ部２０４を特定する。
【００８２】
続いて、パケット受信処理部２２は、データ部２０４に対してデータ部処理を行う（ステップ４−２）。
【００８３】
データ部処理では、パケット受信処理部２２は、データ部２０４を、通信用管理ヘッダ２０５とデータ２０６とに分ける。
【００８４】
続いて、パケット受信処理部２２は、通信用管理ヘッダ２０５内の送受信タイプ２０７に記録されたタイプ識別情報を判定する（ステップ４−３）。この場合、送受信タイプ２０７に記録されているタイプ識別情報は、「送信」である。
【００８５】
送受信タイプ２０７に記録されたタイプ識別情報が「送信」である場合、データ２０６はネットワーク装置１から送信されたデータであると判断できるため、パケット受信処理部２２は、通信用管理ヘッダ２０５内のデータ識別番号２０８に記載された識別番号（通し番号）を確認する（ステップ４−４）。
【００８６】
識別番号（通し番号）が今回受信する予定の値を表す場合（なお、最初の受信であれば、今回受信する予定の値は０となり、複数のパケットの途中の受信であれば、今回受信する予定の値は、受信済みの識別番号（通し番号）に１が加算された値となる）、パケット受信処理部２２は、データ取得処理を行う（ステップ４−５）。
【００８７】
データ取得処理では、パケット受信処理部２２は、送信用パケットのデータ部２０４内のデータ２０６を、アプリケーション実行部２３へ渡す。なお、複数のデータ２０６が、送信用パケットのデータ部２０４内に存在する場合、パケット受信処理部２２は、送信用パケットのデータ部２０４内の複数のデータ２０６を１つずつアプリケーション実行部２３へ渡す処理を繰り返す。
【００８８】
データ取得処理が完了すると、パケット受信処理部２２には、受信されたデータ部２０４内の通信用管理ヘッダ２０５が残る。
【００８９】
データ取得処理が完了すると、パケット受信処理部２２は、パケット送信処理部２４に、受信されたデータ部２０４内の通信用管理ヘッダ２０５を出力する。
【００９０】
パケット送信処理部２４は、受信されたデータ部２０４内の通信用管理ヘッダ２０５を受け付けると、ネットワーク装置１へデータ受信を完了した旨の通知を送信するために、受信応答用パケット作成処理を行う（ステップ４−６）。
【００９１】
受信応答用パケット作成処理では、パケット送信処理部２４は、まず、受信応答データを作成する。受信応答データは、図２に示したデータ部２０４に通信用管理ヘッダ２０５のみが格納されたデータである。
【００９２】
続いて、パケット送信処理部２４は、受信応答データ内の通信用管理ヘッダ２０５が有する送受信タイプ２０７に、「受信応答」を記録する。
【００９３】
また、パケット送信処理部２４は、受信応答データ内の通信用管理ヘッダ２０５が有するデータ識別番号２０８に、受信されたデータ部２０４の通信用管理ヘッダ２０５内のデータ識別番号２０８に記録された値を記録する。
【００９４】
また、パケット送信処理部２４は、ネットワーク装置１とのＲＴＴ（Round-Trip Time）やネットワーク装置２のＣＰＵ使用率／メモリ使用率／受信処理部バッファ数などのリソース情報から、ネットワーク装置２の処理負荷の大きさを判定する。
【００９５】
続いて、パケット送信処理部２４は、ネットワーク装置２の処理負荷の大きさに応じて受信可能データ数を決定する。
【００９６】
本実施形態では、パケット送信処理部２４は、ネットワーク装置２の処理負荷が大きくなるほど、受信可能データ数を小さくする。
【００９７】
続いて、パケット送信処理部２４は、受信応答データ内の通信用管理ヘッダ２０５が有する次回受信可能データ数２０９に、ネットワーク装置２の処理負荷の大きさに応じて決定した受信可能データ数を記録する。
【００９８】
続いて、パケット送信処理部２４は、ネットワークへ送信するための各ヘッダ（ＭＡＣヘッダ／ＩＰヘッダ／ＵＤＰヘッダ）を受信応答データに付加して、受信応答用パケットを作成する。以上で、受信応答用パケット作成処理が終了する。
【００９９】
続いて、パケット送信処理部２４は、パケット送信処理を行う（ステップ４−７）。
【０１００】
パケット送信処理では、パケット送信処理部２４は、受信応答用パケットを、ネットワークインタフェース２１を介してネットワーク装置１に送信する。
【０１０１】
なお、ステップ４−４において、識別番号（通し番号）が今回受信する値でない場合（今回受信した識別番号（通し番号）が、前回受信した識別番号（通し番号）に１が加算された値よりも大きい場合）、本来受信すべきデータ識別番号を有するパケットが届いていないことになる。
【０１０２】
この場合、パケット受信処理部２２は、パケット送信処理部２４に、今回受信する値（通し番号）、つまり、届いていないデータ識別番号を表す再送指示を出力する。
【０１０３】
パケット送信処理部２４は、再送指示を受け付けると、データ再送要求用パケット作成処理を行う（ステップ４−８）。
【０１０４】
データ再送要求用パケット作成処理では、パケット送信処理部２４は、まず、データ再送要求データを作成する。データ再送要求データは、図２に示したデータ部２０４に通信用管理ヘッダ２０５のみが格納されたデータである。
【０１０５】
続いて、パケット送信処理部２４は、データ再送要求データ内の通信用管理ヘッダ２０５が有する送受信タイプ２０７に、「受信応答」を記録する。
【０１０６】
また、パケット送信処理部２４は、データ再送要求データ内の通信用管理ヘッダ２０５が有するデータ識別番号２０８に、再送指示に表された値（届いていないデータ識別番号）から１を差し引いた値を設定する。
【０１０７】
続いて、パケット送信処理部２４は、ネットワークへ送信するための各ヘッダ（ＭＡＣヘッダ／ＩＰヘッダ／ＵＤＰヘッダ）をデータ再送要求データに付加して、データ再送要求用パケットを作成する。以上で、データ再送要求用パケット作成処理が終了する。
【０１０８】
なお、本実施形態では、データ再送要求用パケットには、次回受信可能データ数は記載されない。
【０１０９】
続いて、パケット送信処理部２４は、パケット送信処理を行い（ステップ４−７）、データ再送要求用パケットを、ネットワークインタフェース２１を介してネットワーク装置１に送信する。
【０１１０】
次に、ネットワーク装置１がネットワーク装置２から送信されたパケット（受信応答用パケットまたはデータ再送要求用パケット）を受信したときの動作を、図４を参照して説明する。
【０１１１】
ネットワーク装置１では、パケット受信処理部１２は、ネットワーク装置２からパケットを受信すると（以下、ネットワーク装置１が受信したパケットを「受信パケット」と称する）、受信パケットに対してヘッダ処理を行うことにより受信パケットから各ヘッダ（ＭＡＣヘッダ、ＩＰヘッダおよびＵＤＰヘッダ）を取り除き（ステップ４−１）、受信パケットのデータ部２０４を特定する。
【０１１２】
続いて、パケット受信処理部１２は、受信パケットのデータ部２０４に対してデータ部処理を行うことにより受信パケットのデータ部２０４を、通信用管理ヘッダ２０５とデータ２０６とに分ける（ステップ４−２）。
【０１１３】
続いて、パケット受信処理部１２は、受信パケットの通信用管理ヘッダ２０５内の送受信タイプ２０７に記録されたタイプ識別情報を判定する（ステップ４−３）。この場合、送受信タイプ２０７に記録されたタイプ識別情報は、「受信応答」である。
【０１１４】
送受信タイプ２０７に記録されたタイプ識別情報が「受信応答」である場合、パケット受信処理部１２は、まず、受信パケットのデータ識別番号２０８が再送要求に該当するかを確認する（ステップ４−９）。
【０１１５】
ステップ４−９では、パケット受信処理部１２は、受信パケットのデータ識別番号２０８に記録された番号が、ネットワーク装置１が確認すべきデータ識別番号（確認済みデータ識別番号よりも１だけ大きい値））よりも小さい場合、受信パケットはデータ再送要求用パケットであると判断する。
【０１１６】
受信パケットがデータ再送要求用パケットである場合、パケット受信処理部１２は、受信パケットのデータ識別番号２０８に記載された番号に１を加算した通し番号を有するパケット（以下「該当パケット」と称する）について、受信応答の確認が取れていなければ、パケット送信処理部１４が保持しているパケットの中から、該当パケットを指定する。
【０１１７】
パケット送信処理部１４は、パケット受信処理部１２にて指定された該当パケットを取出し（ステップ４−１１）、該当パケットを、ネットワークインタフェース１１を介してネットワーク装置２に送信する（ステップ４−７）。
【０１１８】
一方、ステップ４−１０で、該当パケットについて既に受信応答の確認が取れているなら、パケット受信処理部１２は、該当パケットを廃棄する旨の該当パケット廃棄指示をパケット送信処理部１４に出力する。パケット送信処理部１４は、該当パケット廃棄指示を受け付けると、該当パケットを廃棄する。
【０１１９】
一方、ステップ４−９において、受信パケットのデータ識別番号２０８に記載された番号が、ネットワーク装置１が確認すべきデータ識別番号であった場合、データ受信処理部１２は、データ識別番号処理を行う（ステップ４−１２）。
【０１２０】
データ識別番号処理では、データ受信処理部１２は、パケット送信処理部１４内のパケットの中から、受信パケットのデータ識別番号２０８に記載された番号を有するパケットを廃棄する旨のパケット廃棄指示をパケット送信処理部１４に出力する。パケット送信処理部１４は、パケット廃棄指示を受け付けると、パケット廃棄指示にて指定されたパケットを廃棄する。
【０１２１】
続いて、データ受信処理部１２は、受信パケットの通信管理用ヘッダ２０５内にある次回受信可能データ数２０９を取り出し、送信処理時にネットワーク装置２へ向けた適切なデータ数を設定できるよう、次回受信可能データ数２０９をデータ送信処理部１４へ通知する次回受信可能データ数設定処理を行い（ステップ４−１３）、データ受信処理を完了する。
【０１２２】
以下、送信ネットワーク装置１が送信用パケットをネットワーク装置２に送信し、上記動作を繰り返す。
【０１２３】
このように、本実施形態では、ネットワーク装置間でパケット送信間隔が一定にされ、パケット内データ数が受信側のネットワーク装置が受信可能なデータ数となるように、パケット内データ数が、毎回のデータ通信で決定される。
【０１２４】
このため、性能差がある装置間で、小さいデータであっても１つのパケット内に複数のデータを格納することで効率よくデータを送受信でき、かつ、性能に合わせた受信数とすることで安定したパケット送受信を実現することが可能になる。
【０１２５】
次に、本実施形態の適用例を説明する。
【０１２６】
本適用例では、ネットワーク装置１が「運用系」として機能し、ネットワーク装置２がネットワーク装置１の予備の装置（以下「待機系」と称する）として機能し、ネットワーク装置２がホットスタンバイの状態となっているとする。
【０１２７】
また、ネットワーク装置１においてハードウェアまたはソフトウェアが更新され、ネットワーク装置１がネットワーク装置２よりも高性能となっているとする。
【０１２８】
なお、運用系と待機系で性能差が生じた状況で、本実施形態が適用されない場合、以下のような問題が生じる。
【０１２９】
性能差のある装置間のＩＰパケット通信では、一般的に低性能装置におけるパケット受信処理が高性能装置における処理よりも遅いため、低性能装置での処理負荷が高くなり、低性能装置がパケットを受信できず、通信が途絶える可能性がある。
【０１３０】
一般的には、これを回避するために、高性能装置からのパケットを欠落させないよう低性能装置がパケットをバッファリングしたり、また、バッファ領域がいっぱいになった場合にはパケット受信不可となるためパケット廃棄が発生するが、送信側からパケットの再送を行ない、パケットの欠落を防ごうとする。
【０１３１】
これらが発生すると、通信遅延が発生し、また再送量が多くなった場合は低性能装置で再送されたパケット受信処理負荷が多くなることから、再送が断続的に行われ、最終的に再送回数が満了しパケット欠落に至るため、安定したパケット通信が行なわれなくなる。
【０１３２】
高性能装置においてはパケット受信処理に余力があるため、多くのパケットを受信できる環境にあるが、パケット処理性能が低い低性能装置から多くのパケットを送信してしまうと、低性能装置の処理負荷が高くなる。低性能装置の処理負荷が高くなることによって、低性能装置でのパケット受信処理にも影響が出るため、安定したパケット通信が行なわれなくなる。
【０１３３】
特にパケットサイズが小さい場合、パケットに対するデータ割合よりもパケットに対するＭＡＣヘッダやＩＰヘッダの占有割合が多くなると、多くのパケットを送信するごとに、これらヘッダ情報も送信することになる。したがって、ヘッダ解析の処理を毎回行なうことになるため、低性能装置の処理負荷が高くなるという課題がある。
【０１３４】
また高性能装置においては多くのパケットを受信するが、やはりヘッダ解析の処理を毎回行うことから、パケットサイズが小さい場合は効率よく処理が行えていない課題がある。
【０１３５】
また、例えば、運用系とホットスタンバイの状態の待機系で性能差が生じた場合、低性能装置で受信処理が間に合わなくなることで受信バッファが満了し、ホットスタンバイ用の同期データが廃棄される。
【０１３６】
これにより同期データは再送されるが、再送された同期データと新規同期データが混在し、さらに低性能装置は受信処理が追いつかず、同期処理が低性能装置の性能に引きずられることなっていた。
【０１３７】
以下に示す本実施形態の適用例では上記問題を解決可能である。
【０１３８】
ネットワーク装置１が運用系として起動し、その後ネットワーク装置２が待機系として起動する。
【０１３９】
ネットワーク装置１および２が起動した後、運用系であるネットワーク装置１は、ネットワーク装置１が持っている、ホットスタンバイの同期処理に必要な同期データを、ネットワーク装置２へ送信する。
【０１４０】
図５は、同期データの送信動作を説明するためのシーケンス図である。以下、図５を参照して、同期データの送信動作を説明する。
【０１４１】
ネットワーク装置１および２が起動した後、運用系のネットワーク装置１内のパケット送信処理部１４は、アプリケーション実行部１３から受け付けた同期データを含む送信用パケットを、待機系のネットワーク装置２へ送信する（ステップ５−１）。
【０１４２】
このとき、初回のデータ送信であるため、パケット送信処理部１４は、送信用パケット内のデータ数（同期データの数）を１つとする。これは、初回のデータ送信時には、パケット送信処理部１４は、対向ネットワーク装置（ネットワーク装置２）の性能を把握できていない（次回受信可能データ数２０９を把握していない）ため、ネットワーク装置１の能力に応じた数のデータを送信してしまうと、対向ネットワーク装置がデータを受信できない可能性があるためである。
【０１４３】
待機系のネットワーク装置２では、パケット受信処理部２２が同期データを含む送信用パケットを受信すると、パケット送信処理部２４は、ネットワーク装置２のリソースに余力があることから、受信応答用パケット内の次回受信可能データ数２０９に「３０」を設定し、次回受信可能データ数２０９に「３０」が設定された受信応答用パケットを、運用系のネットワーク装置１へ送信する（ステップ５−２）。なお、ネットワーク装置２のリソースに余力があるときの次回受信可能データ数２０９は「３０」に限らず適宜変更可能である。
【０１４４】
運用系のネットワーク装置１では、パケット受信処理部１２が受信応答用パケットを受信すると、次回受信可能データ数が「３０」であったため、パケット送信処理部１４は、アプリケーション実行部１３から受け付けた３０個の同期データを含むパケット２００を、待機系のネットワーク装置２へ送信する。なお、アプリケーション実行部１３から受け付けた同期データの数が３０未満の場合には、パケット送信処理部１４は、３０未満の同期データを含むパケット２００を待機系のネットワーク装置２へ送信する。
【０１４５】
その後も待機系のネットワーク装置２は、リソースに余力がある状態のため、次回受信可能データ数を３０に設定した受信応答用パケットを、運用系のネットワーク装置１に送信し、同期処理を行う（ステップ５−３）。
【０１４６】
しかしながら、待機系のネットワーク装置２でＣＰＵ使用率が高騰し、リソースの余力が少なくなってきた状況で、パケット受信処理部２２が運用系のネットワーク装置１からデータ数が３０個の同期データを受信すると、待機系のネットワーク装置２の余力があまりないため、パケット送信処理部２４は、現在のネットワーク装置２の処理能力（処理負荷）を考慮し、次回受信可能データ数を「５」に設定した受信応答用パケットを、運用系のネットワーク装置１に送信する（ステップ５−４）。なお、ネットワーク装置２のリソースに余力があまりないときの次回受信可能データ数２０９は「５」に限らず適宜変更可能である。
【０１４７】
これを受けた運用系のネットワーク装置１では、パケット送信処理部１４は、データ数が５個の同期データを含むパケット２００を待機系のネットワーク装置２にして送信し、待機系のネットワーク装置２は、パケット２００内の同期データの数は処理可能なデータ数であるため、受信された同期データを廃棄することなく処理を行う（ステップ５−５）。
【０１４８】
その後、待機系のネットワーク装置２のＣＰＵ使用率が収束しリソースに余力がでてきた場合、パケット送信処理部２４は、次回受信可能データ数を「３０」に設定した受信応答用パケットを運用系のネットワーク装置１に送信し、運用系のネットワーク装置１は、以降、３０個の同期データを含むパケットを待機系のネットワーク装置２に送信する。
【０１４９】
これにより、ネットワーク装置１および２の間の通信において安定したパケット送受信が可能となる。
【０１５０】
次に、本実施形態の効果について説明する。
【０１５１】
本実施形態では、パケット受信処理部１２は、ネットワーク装置２から、ネットワーク装置２の処理負荷の大きさに応じて決定されたデータ数を特定するための次回受信可能データ数２０９を受信する。パケット送信処理部１４は、ネットワーク装置２に送信予定のデータを受け付け、次回受信可能データ数２０９にて特定されるデータ数未満の数の送信予定のデータを含むパケット２００を、ネットワーク装置２に送信する。
【０１５２】
このため、受信側のネットワーク装置２からの次回受信可能データ数２０９に応じてパケット内のデータ数を変更でき、パケット内のデータ数が受信側のネットワーク装置２の処理能力を超えているために、受信側のネットワーク装置２がパケットを受信できなくなる可能性を低くすることが可能になる。
【０１５３】
なお、上記効果は、パケット受信処理部１２とパケット送信処理部１４からなるネットワーク装置１でも奏する。
【０１５４】
図６は、パケット受信処理部１２とパケット送信処理部１４からなるネットワーク装置を示した図である。
【０１５５】
また、本実施形態では、パケット送信処理部１４は、アプリケーション実行部１３から受け付けられたデータの数が、次回受信可能データ数２０９にて特定されるデータ数未満である場合に、アプリケーション実行部１３から受け付けられたデータを含むパケットを、ネットワーク装置２に送信する。
【０１５６】
このため、ネットワーク装置２が処理できない数のデータを含むパケットをネットワーク装置２に送信することを防止可能になる。
【０１５７】
また、本実施形態では、次回受信可能データ数２０９は、送信済みパケットのネットワーク装置２での受信状況を表す受信応答用パケットに含まれている。なお、受信応答用パケットは、受信状況通知の一例である。パケット受信処理部１２は、ネットワーク装置２から受信応答用パケットを受信する。
【０１５８】
このため、次回受信可能データ数２０９の通知と受信応答の通知とを、１つのパケットで送信可能になる。
【０１５９】
また、本実施形態では、次回受信可能データ数２０９にて特定されるデータ数は、ネットワーク装置２の処理負荷が大きくなるほど小さくなるものである。
【０１６０】
このため、受信側のネットワーク装置２がパケットを受信できなくなる可能性を低くできる。
【０１６１】
また、本実施形態では、パケット送信処理部２４は、ネットワーク装置２の処理負荷の大きさに応じて、ネットワーク装置１に要求するデータ数を決定し、そのデータ数を特定するためのデータ数情報である次回受信可能データ数をネットワーク装置１に送信する。
【０１６２】
このため、データを受信する側が、自己の処理負荷の大きさに応じて、送信されるデータの数を指定することが可能になる。
【０１６３】
よって、ネットワーク装置１から送信されたパケット内のデータ数が受信側のネットワーク装置２の処理能力を超えているために、受信側のネットワーク装置２がパケットを受信できなくなる可能性を低くすることが可能になる。
【０１６４】
また、装置性能がスケールアップしても低性能装置とのデータ通信を安定して行なえるため、性能差のある装置を混在させた運用を容易に構築することが可能になる。
【０１６５】
また、受信可能なデータ数の要求は、受信側で決定できるため、送信側で先行して運用しているソフトウェアへの変更を必要とせず、送信側におけるソフトウェア更新などの大規模修正を不要にすることが可能になる。
【０１６６】
また、データ送信間隔をコンフィグレーションできるようにすることも可能で、ネットワーク内のネットワーク装置の性能が全体的にスケールアップしても、装置性能を活かすようチューニングが可能である。
【０１６７】
なお、上記では１対１通信の例を説明したが、本実施形態を１対複数の通信に適用してもよい。
【０１６８】
例えば、運用系のネットワーク装置１が複数の待機系のネットワーク装置２と通信する場合、運用系のネットワーク装置１では、パケット受信処理部１２は、次回受信可能データ数２０９を送信してきたネットワーク装置２のＩＰアドレスを識別情報として利用する。
【０１６９】
パケット受信処理部１２は、そのＩＰアドレスと次回受信可能データ数とを互いに関連付け、その後、そのＩＰアドレスと次回受信可能データ数とをパケット送信処理部１４に保存する。パケット送信処理部１４は、そのＩＰアドレスと次回受信可能データ数との保存結果を参照して、通信先であるネットワーク装置２が要求するデータ数のデータを有するパケットを、その通信先であるネットワーク装置２に送信する。
【０１７０】
なお、上記実施形態において、各ネットワーク装置はコンピュータにて実現されてもよい。この場合、このコンピュータは、コンピュータにて読み取り可能なＣＤ−ＲＯＭ（Compact Disk Read Only Memory）のような記録媒体に記録されたプログラムを読込み実行して、ネットワーク装置１または２が有する機能を実行する。なお、記録媒体は、ＣＤ−ＲＯＭに限らず適宜変更可能である。
【０１７１】
以上説明した実施形態において、図示した構成は単なる一例であって、本発明はその構成に限定されるものではない。
【符号の説明】
【０１７２】
１００            情報処理システム
１、２        ネットワーク装置
１１、２１    ネットワークインタフェース
１２、２２    パケット受信処理部
１３、２３    アプリケーション実行部
１４、２４    パケット送信処理部
【図１】
2013239886.tif 000003
【図２】
2013239886.tif 000004
【図３】
2013239886.tif 000005
【図４】
2013239886.tif 000006
【図５】
2013239886.tif 000007
【図６】
2013239886.tif 000008