(57)【要約】【課題】ネットワークプロトコルとしてＵＤＰかつインタフェースとしてソケットを使用する通信プロセスを含むプログラムに対して、ソケットの最大受信バッファサイズをソケットを使用する通信プロセスとは独立に変更する。【解決手段】ソケット制御手段５は、通信プロセス識別子，ソケット識別子および拡張する最大受信バッファサイズを指定する最大受信バッファサイズ変更指示を発行する。ソケット情報制御手段３５は、最大受信バッファサイズ変更指示をソケット管理手段３１に渡す。ソケット管理手段３１は、最大受信バッファサイズ変更指示に基づいて、最大受信バッファサイズ変更手段３４により、ソケット３６の最大受信バッファサイズ１０３を、拡張する最大受信バッファサイズに変更する。【選択図】        図１
2004343214.tif 000002
【特許請求の範囲】
【請求項１】
受信バッファと、受信バッファサイズおよび最大受信バッファサイズからなるソケット管理情報とを含むソケットと、
通信プロセスからのソケット要求に基づいてソケットを割り当て、データの受信時に受信バッファサイズと最大受信バッファサイズとを比較し、受信バッファサイズが最大受信バッファサイズより小さければデータを受信バッファにつないで受信バッファサイズにデータサイズを加算し、受信バッファサイズが最大受信バッファサイズ以上であればデータを受信バッファにつながずにその旨を返すソケット管理手段と、
前記ソケット管理手段内に設けられ、通信プロセス識別子，ソケット識別子および拡張する最大受信バッファサイズを指定する最大受信バッファサイズ変更指示に基づいて当該ソケットの最大受信バッファサイズを、拡張する最大受信バッファサイズに変更する最大受信バッファサイズ変更手段と、
通信プロセスとは独立に設けられ、通信プロセス識別子，ソケット識別子および拡張する最大受信バッファサイズを指定する最大受信バッファサイズ変更指示を発行するソケット制御手段と、
前記ソケット制御手段から発行された前記最大受信バッファサイズ変更指示を前記ソケット管理手段に渡すソケット情報制御手段と
を有することを特徴とする最大受信バッファサイズ拡張方式。
【請求項２】
受信バッファと、受信バッファサイズおよび最大受信バッファサイズからなるソケット管理情報とを含むソケットと、
通信プロセスからのソケット要求に基づいてソケットを割り当て、データの受信時に受信バッファサイズと最大受信バッファサイズとを比較し、受信バッファサイズが最大受信バッファサイズより小さければデータを受信バッファにつないで受信バッファサイズにデータサイズを加算し、受信バッファサイズが最大受信バッファサイズ以上であればデータを受信バッファにつながずにその旨を返すソケット管理手段と、
前記ソケット管理手段内に設けられ、通信プロセス識別子，ソケット識別子および拡張する最大受信バッファサイズを指定する最大受信バッファサイズ変更指示に基づいて当該ソケットの最大受信バッファサイズを、拡張する最大受信バッファサイズに変更する最大受信バッファサイズ変更手段と、
通信プロセスとは独立に設けられ、ソケット管理情報表示指示を発行して戻ってきたソケット管理情報を表示し、通信プロセス識別子，ソケット識別子および拡張する最大受信バッファサイズを指定する最大受信バッファサイズ変更指示を発行するソケット制御手段と、
前記ソケット制御手段から発行されたソケット管理情報表示指示に基づいてソケット管理情報を探索して前記ソケット制御手段に戻し、前記ソケット制御手段から発行された前記最大受信バッファサイズ変更指示を前記ソケット管理手段に渡すソケット情報制御手段と
を有することを特徴とする最大受信バッファサイズ拡張方式。
【請求項３】
受信バッファと、受信バッファサイズ，最大受信バッファサイズおよび自動拡張フラグからなるソケット管理情報とを含むソケットと、
通信プロセスからのソケット要求に基づいてソケットを割り当て、データの受信時に受信バッファサイズと最大受信バッファサイズとを比較し、受信バッファサイズが最大受信バッファサイズより小さければデータを受信バッファにつないで受信バッファサイズにデータサイズを加算し、受信バッファサイズが最大受信バッファサイズ以上であれば自動拡張フラグを参照し、自動拡張フラグが設定されていなければデータを受信バッファにつながずにその旨を返し、自動拡張フラグが設定されていれば許容最大サイズと最大受信バッファサイズとを比較し、等しければデータを受信バッファにつながずにその旨を返し、等しくなければ受信バッファサイズおよびデータサイズの和を許容最大サイズと比較し、許容最大サイズより小さければ受信バッファサイズおよびデータサイズの和を最大受信バッファサイズに設定し、許容最大サイズ以上であれば許容最大サイズを最大受信バッファサイズに設定し、データを受信バッファにつなぎ受信バッファサイズにデータサイズを加算するソケット管理手段と、
前記ソケット管理手段内に設けられ、通信プロセス識別子，ソケット識別子および拡張する最大受信バッファサイズを指定する最大受信バッファサイズ変更指示に基づいて当該ソケットの最大受信バッファサイズを、拡張する最大受信バッファサイズに変更する最大受信バッファサイズ変更手段と、
前記ソケット管理手段内に設けられ、自動拡張フラグ設定・解除指示に基づいて自動拡張フラグを設定・解除する自動拡張設定手段と、
通信プロセスとは独立に設けられ、通信プロセス識別子，ソケット識別子および拡張する最大受信バッファサイズを指定する最大受信バッファサイズ変更指示を発行し、通信プロセス識別子およびソケット識別子を指定する自動拡張フラグ設定・解除指示を発行し、許容最大サイズを変更する許容最大サイズ変更指示を発行するソケット制御手段と、
前記ソケット制御手段から発行された前記最大受信バッファサイズ変更指示および前記自動拡張フラグ設定・解除指示を前記ソケット管理手段に渡し、前記許容最大サイズ変更指示に基づいて許容最大サイズを変更するソケット情報制御手段と
を有することを特徴とする最大受信バッファサイズ拡張方式。
【請求項４】
受信バッファと、受信バッファサイズ，最大受信バッファサイズおよび自動拡張フラグからなるソケット管理情報とを含むソケットと、
通信プロセスからのソケット要求に基づいてソケットを割り当て、データの受信時に受信バッファサイズと最大受信バッファサイズとを比較し、受信バッファサイズが最大受信バッファサイズより小さければデータを受信バッファにつないで受信バッファサイズにデータサイズを加算し、受信バッファサイズが最大受信バッファサイズ以上であれば自動拡張フラグを参照し、自動拡張フラグが設定されていなければデータを受信バッファにつながずにその旨を返し、自動拡張フラグが設定されていれば許容最大サイズと最大受信バッファサイズとを比較し、等しければデータを受信バッファにつながずにその旨を返し、等しくなければ受信バッファサイズおよびデータサイズの和を許容最大サイズと比較し、許容最大サイズより小さければ受信バッファサイズおよびデータサイズの和を最大受信バッファサイズに設定し、許容最大サイズ以上であれば許容最大サイズを最大受信バッファサイズに設定し、データを受信バッファにつなぎ受信バッファサイズにデータサイズを加算するソケット管理手段と、
前記ソケット管理手段内に設けられ、通信プロセス識別子，ソケット識別子および拡張する最大受信バッファサイズを指定する最大受信バッファサイズ変更指示に基づいて当該ソケットの最大受信バッファサイズを、拡張する最大受信バッファサイズに変更する最大受信バッファサイズ変更手段と、
前記ソケット管理手段内に設けられ、自動拡張フラグ設定・解除指示に基づいて自動拡張フラグを設定・解除する自動拡張設定手段と、
通信プロセスとは独立に設けられ、ソケットのソケット管理情報の表示指示，通信プロセス識別子，ソケット識別子および拡張する最大受信バッファサイズを指定する最大受信バッファサイズ変更指示，ならびに通信プロセス識別子およびソケット識別子を指定する自動拡張フラグの設定・解除指示を発行するソケット制御手段と、
前記ソケット制御手段から発行されたソケット管理情報表示指示に基づいてソケット管理情報を探索して前記ソケット制御手段に戻し、前記ソケット制御手段から発行された前記最大受信バッファサイズ変更指示および前記自動拡張フラグ設定・解除指示を前記ソケット管理手段に渡し、前記許容最大サイズ変更指示に基づいて許容最大サイズを変更するソケット情報制御手段と
を有することを特徴とする最大受信バッファサイズ拡張方式。
【請求項５】
前記ソケット情報制御手段が、全ソケット管理情報表示指示を受けたときに、前記ソケット管理手段により管理されている全ソケットを探索し、全ソケットのソケット識別子と、全ソケットを使用する通信プロセスの通信プロセス識別子と、全ソケットの受信バッファサイズ，最大受信バッファサイズ等のソケット管理情報とを前記ソケット制御手段に戻す請求項２または請求項４記載の最大受信バッファサイズ拡張方式。
【請求項６】
前記ソケット情報制御手段が、通信プロセス識別子およびソケット識別子を指定するソケット管理情報表示指示を受けたときに、当該通信プロセス識別子をもつ通信プロセスが使用する、当該ソケット識別子をもつソケットを探索し、当該ソケットのソケット識別子と、当該ソケットを使用する通信プロセスの通信プロセス識別子と、当該ソケットの受信バッファサイズ，最大受信バッファサイズ等のソケット管理情報とを前記ソケット制御手段に戻す請求項２または請求項４記載の最大受信バッファサイズ拡張方式。
【請求項７】
コンピュータを、受信バッファと、受信バッファサイズおよび最大受信バッファサイズからなるソケット管理情報とを含むソケットと、通信プロセスからのソケット要求に基づいてソケットを割り当て、データの受信時に受信バッファサイズと最大受信バッファサイズとを比較し、受信バッファサイズが最大受信バッファサイズより小さければデータを受信バッファにつないで受信バッファサイズにデータサイズを加算し、受信バッファサイズが最大受信バッファサイズ以上であればデータを受信バッファにつながずにその旨を返すソケット管理手段と、前記ソケット管理手段内に設けられ、通信プロセス識別子，ソケット識別子および拡張する最大受信バッファサイズを指定する最大受信バッファサイズ変更指示に基づいて当該ソケットの最大受信バッファサイズを、拡張する最大受信バッファサイズに変更する最大受信バッファサイズ変更手段と、通信プロセスとは独立に設けられ、通信プロセス識別子，ソケット識別子および拡張する最大受信バッファサイズを指定する最大受信バッファサイズ変更指示を発行するソケット制御手段と、前記ソケット制御手段から発行された前記最大受信バッファサイズ変更指示を前記ソケット管理手段に渡すソケット情報制御手段として制御するためのプログラム。
【請求項８】
コンピュータを、受信バッファと、受信バッファサイズおよび最大受信バッファサイズからなるソケット管理情報とを含むソケットと、通信プロセスからのソケット要求に基づいてソケットを割り当て、データの受信時に受信バッファサイズと最大受信バッファサイズとを比較し、受信バッファサイズが最大受信バッファサイズより小さければデータを受信バッファにつないで受信バッファサイズにデータサイズを加算し、受信バッファサイズが最大受信バッファサイズ以上であればデータを受信バッファにつながずにその旨を返すソケット管理手段と、前記ソケット管理手段内に設けられ、通信プロセス識別子，ソケット識別子および拡張する最大受信バッファサイズを指定する最大受信バッファサイズ変更指示に基づいて当該ソケットの最大受信バッファサイズを、拡張する最大受信バッファサイズに変更する最大受信バッファサイズ変更手段と、通信プロセスとは独立に設けられ、ソケット管理情報表示指示を発行して戻ってきたソケット管理情報を表示し、通信プロセス識別子，ソケット識別子および拡張する最大受信バッファサイズを指定する最大受信バッファサイズ変更指示を発行するソケット制御手段と、前記ソケット制御手段から発行されたソケット管理情報表示指示に基づいてソケット管理情報を探索して前記ソケット制御手段に戻し、前記ソケット制御手段から発行された前記最大受信バッファサイズ変更指示を前記ソケット管理手段に渡すソケット情報制御手段として制御するためのプログラム。
【請求項９】
コンピュータを、受信バッファと、受信バッファサイズ，最大受信バッファサイズおよび自動拡張フラグからなるソケット管理情報とを含むソケットと、通信プロセスからのソケット要求に基づいてソケットを割り当て、データの受信時に受信バッファサイズと最大受信バッファサイズとを比較し、受信バッファサイズが最大受信バッファサイズより小さければデータを受信バッファにつないで受信バッファサイズにデータサイズを加算し、受信バッファサイズが最大受信バッファサイズ以上であれば自動拡張フラグを参照し、自動拡張フラグが設定されていなければデータを受信バッファにつながずにその旨を返し、自動拡張フラグが設定されていれば許容最大サイズと最大受信バッファサイズとを比較し、等しければデータを受信バッファにつながずにその旨を返し、等しくなければ受信バッファサイズおよびデータサイズの和を許容最大サイズと比較し、許容最大サイズより小さければ受信バッファサイズおよびデータサイズの和を最大受信バッファサイズに設定し、許容最大サイズ以上であれば許容最大サイズを最大受信バッファサイズに設定し、データを受信バッファにつなぎ受信バッファサイズにデータサイズを加算するソケット管理手段と、前記ソケット管理手段内に設けられ、通信プロセス識別子，ソケット識別子および拡張する最大受信バッファサイズを指定する最大受信バッファサイズ変更指示に基づいて当該ソケットの最大受信バッファサイズを、拡張する最大受信バッファサイズに変更する最大受信バッファサイズ変更手段と、前記ソケット管理手段内に設けられ、自動拡張フラグ設定・解除指示に基づいて自動拡張フラグを設定・解除する自動拡張設定手段と、通信プロセスとは独立に設けられ、通信プロセス識別子，ソケット識別子および拡張する最大受信バッファサイズを指定する最大受信バッファサイズ変更指示を発行し、通信プロセス識別子およびソケット識別子を指定する自動拡張フラグ設定・解除指示を発行し、許容最大サイズを変更する許容最大サイズ変更指示を発行するソケット制御手段と、前記ソケット制御手段から発行された前記最大受信バッファサイズ変更指示および前記自動拡張フラグ設定・解除指示を前記ソケット管理手段に渡し、前記許容最大サイズ変更指示に基づいて許容最大サイズを変更するソケット情報制御手段として制御するためのプログラム。
【請求項１０】
コンピュータを、受信バッファと、受信バッファサイズ，最大受信バッファサイズおよび自動拡張フラグからなるソケット管理情報とを含むソケットと、通信プロセスからのソケット要求に基づいてソケットを割り当て、データの受信時に受信バッファサイズと最大受信バッファサイズとを比較し、受信バッファサイズが最大受信バッファサイズより小さければデータを受信バッファにつないで受信バッファサイズにデータサイズを加算し、受信バッファサイズが最大受信バッファサイズ以上であれば自動拡張フラグを参照し、自動拡張フラグが設定されていなければデータを受信バッファにつながずにその旨を返し、自動拡張フラグが設定されていれば許容最大サイズと最大受信バッファサイズとを比較し、等しければデータを受信バッファにつながずにその旨を返し、等しくなければ受信バッファサイズおよびデータサイズの和を許容最大サイズと比較し、許容最大サイズより小さければ受信バッファサイズおよびデータサイズの和を最大受信バッファサイズに設定し、許容最大サイズ以上であれば許容最大サイズを最大受信バッファサイズに設定し、データを受信バッファにつなぎ受信バッファサイズにデータサイズを加算するソケット管理手段と、前記ソケット管理手段内に設けられ、通信プロセス識別子，ソケット識別子および拡張する最大受信バッファサイズを指定する最大受信バッファサイズ変更指示に基づいて当該ソケットの最大受信バッファサイズを、拡張する最大受信バッファサイズに変更する最大受信バッファサイズ変更手段と、前記ソケット管理手段内に設けられ、自動拡張フラグ設定・解除指示に基づいて自動拡張フラグを設定・解除する自動拡張設定手段と、通信プロセスとは独立に設けられ、ソケットのソケット管理情報の表示指示，通信プロセス識別子，ソケット識別子および拡張する最大受信バッファサイズを指定する最大受信バッファサイズ変更指示，ならびに通信プロセス識別子およびソケット識別子を指定する自動拡張フラグの設定・解除指示を発行するソケット制御手段と、前記ソケット制御手段から発行されたソケット管理情報表示指示に基づいてソケット管理情報を探索して前記ソケット制御手段に戻し、前記ソケット制御手段から発行された前記最大受信バッファサイズ変更指示および前記自動拡張フラグ設定・解除指示を前記ソケット管理手段に渡し、前記許容最大サイズ変更指示に基づいて許容最大サイズを変更するソケット情報制御手段として制御するためのプログラム。
【請求項１１】
前記ソケット情報制御手段が、全ソケット管理情報表示指示を受けたときに、前記ソケット管理手段により管理されている全ソケットを探索し、全ソケットのソケット識別子と、全ソケットを使用する通信プロセスの通信プロセス識別子と、全ソケットの受信バッファサイズ，最大受信バッファサイズ等のソケット管理情報とを前記ソケット制御手段に戻す請求項８または請求項１０記載のプログラム。
【請求項１２】
前記ソケット情報制御手段が、通信プロセス識別子およびソケット識別子を指定するソケット管理情報表示指示を受けたときに、当該通信プロセス識別子をもつ通信プロセスが使用する、当該ソケット識別子をもつソケットを探索し、当該ソケットのソケット識別子と、当該ソケットを使用する通信プロセスの通信プロセス識別子と、当該ソケットの受信バッファサイズ，最大受信バッファサイズ等のソケット管理情報とを前記ソケット制御手段に戻す請求項８または請求項１０記載のプログラム。
【請求項１３】
データの受信時に受信バッファサイズと最大受信バッファサイズとを比較する工程と、
受信バッファサイズが最大受信バッファサイズより小さければデータを受信バッファにつないで受信バッファサイズにデータサイズを加算する工程と、
受信バッファサイズが最大受信バッファサイズ以上であれば自動拡張フラグを参照する工程と、
自動拡張フラグが設定されていなければデータを受信バッファにつながずにその旨を返す工程と、
自動拡張フラグが設定されていれば許容最大サイズと最大受信バッファサイズとを比較する工程と、
許容最大サイズと最大受信バッファサイズとが等しければデータを受信バッファにつながずにその旨を返す工程と、
許容最大サイズと最大受信バッファサイズとが等しくなければ受信バッファサイズおよびデータサイズの和を許容最大サイズと比較する工程と、
受信バッファサイズおよびデータサイズの和が許容最大サイズより小さければ受信バッファサイズおよびデータサイズの和を最大受信バッファサイズに設定する工程と、
受信バッファサイズおよびデータサイズの和が許容最大サイズ以上であれば許容最大サイズを最大受信バッファサイズに設定する工程と、
データを受信バッファにつなぎ受信バッファサイズにデータサイズを加算する工程と
を含むことを特徴とするデータ受信方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は最大受信バッファサイズ拡張方式に関し、特に通信プロセスが使用するソケットの最大受信バッファサイズ拡張方式に関する。
【０００２】
【従来の技術】
従来のネットワークを介したクライアント・サーバシステムの一例としては、図９に示すように、クライアント９２０と、サーバ９２１と、交換機９３０と、周辺装置９１３と、ネットワーク９１２とから、その主要部が構成されているネットワークファイルシステムがあった（例えば、特許文献１参照）。
【０００３】
クライアント９２０は、ファイルシステム管理手段９０２と、通信制御手段９０３と、ＴＰＴ（Ｔｈｉｒｄ−Ｐａｒｔｙ  Ｔｒａｎｓｆｅｒ）入出力管理手段９０５と、入出力制御手段９０６と、ＴＰＴ入出力管理表９１６とを含んで構成されていた。
【０００４】
また、サーバ９２１は、通信制御手段９０９と、ファイルシステム管理手段９０７と、入出力制御手段９１１とを含んで構成されていた。さらに、周辺装置９１３は、入出力制御手段９１４を含んで構成されていた。
【０００５】
このような従来のクライアント・サーバシステムは、次のように動作する。
【０００６】
クライアント９２０においてデータ転送要求が発行されると、クライアント９２０のファイルシステム管理手段９０２は、データ転送要求がサーバ９２１の管理する周辺装置９１３に対してであれば、ＴＰＴ入出力管理手段９０５をしてデータ転送要求の準備を行い、通信制御手段９０３を介してサーバ９２１に入出力要求を発行する。サーバ９２１は、通信制御手段９０９から要求を受け取り、ファイルシステム管理手段９０７に通知し、データのＩ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）を実行する。Ｉ／Ｏが完了すると、サーバ９２１は、通信制御手段９０９から完了通知を発行する。クライアント９２０が発行通知を受け取り入出力の完了となる。
【０００７】
図１０は、このような従来のクライアント・サーバシステムにおける通信制御手段１００３（図９の９０９に対応）を含むホスト１（図９の９２１に対応）の構成を示すブロック図である。ホスト１００１は、ネットワーク１００４に接続され、通信プロセス１００２と、通信制御手段１００３とから、その主要部が構成されている。
【０００８】
通信制御手段１００３は、ソケット管理手段１０３１と、ネットワークドライバ１０３２と、データグラム型のＵＤＰ／ＩＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）１０３３と、ソケット１０３６とから構成されている。
【０００９】
ソケット管理手段１０３１は、最大受信バッファ変更手段１０３４を含んで構成されている。
【００１０】
ソケット１０３６には、受信バッファ１１０１と、受信バッファサイズ１１０２および最大受信バッファサイズ１１０３からなるソケット管理情報とが備えられ、受信バッファ１１０１には、データ１０４１，１０４２等がつながれるようになっている。
【００１１】
この従来の通信制御手段１００３を含むホスト１００１は、次のように動作する。
【００１２】
サーバであるホスト１００１では、サーバ機能を提供する通信プロセス１００２がソケット管理手段１０３１を通じてソケット１０３６を１つ用意する。ただし、ソケット１０３６は、１つでなく複数でもよい。また、１つのソケット１０３６に対し、通信プロセス１００２が複数でもよい。
【００１３】
ネットワーク１００４を経由してクライアント（図示せず）から通信プロセス１００２宛てのデータ（以下、データ１０４２とする）が到達すると、まず、ネットワークドライバ１０３２は、データ１０４２を受け取って解析し、ＵＤＰ／ＩＰ１０３３に渡す。
【００１４】
ＵＤＰ／ＩＰ１０３３は、プロトコル手順に従ってデータ１０４２を処理し、ソケット管理手段１０３１に渡す。
【００１５】
ソケット管理手段１０３１は、データ１０４２に指定されたポート番号をもつソケット１０３６の受信バッファ１１０１の末尾にデータ１０４２をつなげる。
【００１６】
データ１０４２をソケット１０３６の受信バッファ１１０１につなげるとき、ソケット管理手段１０３１は、受信バッファ１１０１に現在つながれている全データの合計サイズである受信バッファサイズ１１０２と最大受信バッファサイズ１１０３とを比較し、受信バッファサイズ１１０２が最大受信バッファサイズ１１０３を超えていたならば、データ１０４２をつながずに破棄する。一方、受信バッファサイズ１１０２が最大受信バッファサイズ１１０３を超えていなければ（まだつなげられる空きがあれば）、データ１０４２を受信バッファ１１０１の末尾につなげ、データサイズ分を受信バッファサイズ１１０２に足し込み、カウントアップする。
【００１７】
サーバであるホスト１００１上の通信プロセス１００２は、ＲＥＡＤ要求をソケット管理手段１０３１に発行する。
【００１８】
ソケット管理手段１０３１は、入出力要求の処理を実行し、受信バッファ１１０１の先頭につながっているデータ（以下、データ１０４１とする）を取り出し、データ１０４１の内容を通信プロセス１００２に渡し、取り出したデータ１０４１のサイズ分だけ受信バッファサイズ１１０２を引いて更新する。
【００１９】
クライアントは、複数の入出力要求を同時に発行することができる。また、クライアントは、複数存在可能である。一般的にＵＤＰ／ＩＰ１０３３のソケット管理手段１０３１を利用するサーバは、複数のクライアントから複数の入出力要求を順次受け付け処理を実行する。
【００２０】
このとき、通信プロセス１００２は、ソケット１０３６から受信したデータ１０４２を順次取り出し処理するが、クライアントからの要求がサーバであるホスト１００１の処理速度を上回った場合、データ１０４２は受信バッファ１１０１に蓄積されてゆく。ソケット１０３６の受信バッファ１１０１にはシステムの資源を食い潰してしまわないように、受信バッファ１１０１に蓄積される上限値である最大受信バッファサイズ１１０３があらかじめ設定されている。最大受信バッファサイズ１１０３は、ソケット１０３６を使用する各種機能で、ある程度の調整が可能なように最大受信バッファサイズ変更手段１０３４が通信プロセス１００２へのインタフェースとして提供されている。
【００２１】
しかし、一時的にでもクライアントからの負荷が高まると、受信したデータ１０４２がソケット１０３６の受信バッファ１１０１に入りきらないことが多々発生する。ＵＤＰ／ＩＰ１０３３では、入りきらないパケットは破棄される。通常、ＵＤＰ／ＩＰ１０３３を使用する通信プロセス１００２は、サーバであるホスト１００１にデータ１０４２が到達しないことを考慮し、一定時間内に送ったデータ１０４２に対する応答がサーバであるホスト１００１から得られないと、データ１０４２を再送するという手法をとる。高負荷状態が長引いた場合、再送されたデータ１０４２も破棄されることもある。また、再送のタイミングによっては高負荷状態をさらに悪化させることになる。データ１０４２の再送を極力抑えるためには、システム内においてシステム全体の資源とサーバであるホスト１００１が提供する機能の重要度とを加味し、ソケット１０３６の受信バッファ１１０１の最大受信バッファサイズ１１０３を調整しなければならない。
【００２２】
また、オープンソースであるＬｉｎｕｘ（登録商標）のように、システムにおけるソケット１０３６の最大受信バッファサイズ１１０３のデフォルト値を変更するというインタフェースを提供しているシステムもある。しかし、システムのデフォルト値を変更するということは、他のソケット１０３６の動作にも影響を与えるため、この機能は個別のソケット１０３６の受信バッファ１１０１の最大受信バッファサイズ１１０３を調節するためには使用できない。
【００２３】
最大受信バッファサイズ１１０３を拡張するには、最大受信バッファサイズ１１０３を拡張したいソケット１０３６を使用する通信プロセス１００２がソケット管理手段１０３１に対して最大受信バッファサイズ変更指示を発行する。
【００２４】
ソケット管理手段１０３１は、最大受信バッファサイズ変更手段１０３４を呼び出し、ソケット１０３６の最大受信バッファサイズ１１０３を拡張する。このようにして、ソケット１０３６を使用する通信プロセス１００２は、ソケット管理手段１０３１の受信バッファサイズ１１０２の上限値である最大受信バッファサイズ１１０３を拡張することが可能である。
【００２５】
なお、従来技術として、受信キューに複数のクライアントマシンからデータがキューイングされてゆくが、そのデータを受信するサーバ機能のプロセスが一旦すべてを受信してしまい、プロセス内部でそのデータを処理することで、受信キューの溢れを防ぐ技術がある（例えば、特許文献２参照）。
【００２６】
また、例えば、Ｅｔｈｅｒｎｅｔ（登録商標），ＦＤＤＩ（Ｆｉｂｅｒ  Ｄｉｓｔｒｉｂｕｔｅｄ  Ｄａｔａ  Ｉｎｔｅｒｆａｃｅ），ＡＴＭ（Ａｓｙｎｃｈｒｏｎｏｕｓ  Ｔｒａｎｓｆｅｒ  Ｍｏｄｅ），ＨＩＰＰＩ（Ｈｉｇｈ  Ｐｅｒｆｏｒｍａｎｃｅ  ｐａｒａｌｌｅｌ  Ｉｎｔｅｒｆａｃｅ）などの各種のネットワークは、それぞれ送受信する／取り扱う、データのサイズが１５００〜６５５３６バイトと異なるため、そのドライバの特性に会わせた上位システムのバッファをあらかじめ用意しておき、取りこぼしを防ぐという技術がある（例えば、特許文献３参照）。
【００２７】
上記特許文献２および３の組合せでは、あらかじめ通信制御手段内に受信バッファサイズを何らかの区別により用意して決めておき、ソケットは作成された時点でその区分けにそってバッファサイズを設定することが想到できる。しかし、本発明では、一度作成されてしまったソケットを動的に通信プロセス以外の外部から変更可能な手段を提供するもので、上記特許文献２および３の組合せで対応できるものではない。
【００２８】
【特許文献１】
特開２０００−２５０８２１号公報（第３−４頁、図１）
【特許文献２】
特開平０５−３３４１０４号公報（第３頁、図１）
【特許文献３】
特開平０６−２１６９７０号公報（第４頁、図４）
【００２９】
【発明が解決しようとする課題】
しかし、この従来技術には、次のような問題点があった。
【００３０】
第１の問題点は、ソケットの最大受信バッファサイズを通信プロセスを含むプログラムに合うように調節するためには、通信プロセスを含むプログラムを変更しなければならなかったが、通信プロセスを含むプログラムを変更できない場合には、最大受信バッファサイズの調節が不可能となり、通信プロセスの高負荷な状態が続くとクライアント・サーバシステムの運用が継続できなくなることがあるということである。その理由は、ソケットの最大受信バッファサイズを変更する機能が通信プロセスを含むプログラム中にないためである。
【００３１】
第２の問題点は、ソケットの最大受信バッファサイズを通信プロセスを含むプログラムに合うように調節するためには、通信プロセスを含むプログラムを変更しなければならいということである。その理由は、１つのソケットの最大受信バッファサイズを変更するためのインタフェースが、そのソケットを使用する通信プロセスからソケット管理手段を経由してしかできないためである。
【００３２】
本発明の目的は、ネットワークプロトコルとしてＵＤＰ、かつインタフェースとしてソケットを使用して通信を行う通信制御手段に対して、ソケットの最大受信バッファサイズをソケットを使用する通信プロセスを含むプログラムとは独立に拡張することができる最大受信バッファサイズ拡張方式を提供することにある。
【００３３】
また、本発明の他の目的は、ネットワークプロトコルとしてＵＤＰ、かつインタフェースとしてソケットを使用して通信を行う通信制御手段に対して、ソケットの最大受信バッファサイズを自動的に拡張することができる最大受信バッファサイズ拡張方式を提供することにある。
【００３４】
【課題を解決するための手段】
本発明の最大受信バッファサイズ拡張方式は、受信バッファと、受信バッファサイズおよび最大受信バッファサイズからなるソケット管理情報とを含むソケットと、通信プロセスからのソケット要求に基づいてソケットを割り当て、データの受信時に受信バッファサイズと最大受信バッファサイズとを比較し、受信バッファサイズが最大受信バッファサイズより小さければデータを受信バッファにつないで受信バッファサイズにデータサイズを加算し、受信バッファサイズが最大受信バッファサイズ以上であればデータを受信バッファにつながずにその旨を返すソケット管理手段と、前記ソケット管理手段内に設けられ、通信プロセス識別子，ソケット識別子および拡張する最大受信バッファサイズを指定する最大受信バッファサイズ変更指示に基づいて当該ソケットの最大受信バッファサイズを、拡張する最大受信バッファサイズに変更する最大受信バッファサイズ変更手段と、通信プロセスとは独立に設けられ、通信プロセス識別子，ソケット識別子および拡張する最大受信バッファサイズを指定する最大受信バッファサイズ変更指示を発行するソケット制御手段と、前記ソケット制御手段から発行された前記最大受信バッファサイズ変更指示を前記ソケット管理手段に渡すソケット情報制御手段とを有することを特徴とする。
【００３５】
また、本発明の最大受信バッファサイズ拡張方式は、受信バッファと、受信バッファサイズおよび最大受信バッファサイズからなるソケット管理情報とを含むソケットと、通信プロセスからのソケット要求に基づいてソケットを割り当て、データの受信時に受信バッファサイズと最大受信バッファサイズとを比較し、受信バッファサイズが最大受信バッファサイズより小さければデータを受信バッファにつないで受信バッファサイズにデータサイズを加算し、受信バッファサイズが最大受信バッファサイズ以上であればデータを受信バッファにつながずにその旨を返すソケット管理手段と、前記ソケット管理手段内に設けられ、通信プロセス識別子，ソケット識別子および拡張する最大受信バッファサイズを指定する最大受信バッファサイズ変更指示に基づいて当該ソケットの最大受信バッファサイズを、拡張する最大受信バッファサイズに変更する最大受信バッファサイズ変更手段と、通信プロセスとは独立に設けられ、ソケット管理情報表示指示を発行して戻ってきたソケット管理情報を表示し、通信プロセス識別子，ソケット識別子および拡張する最大受信バッファサイズを指定する最大受信バッファサイズ変更指示を発行するソケット制御手段と、前記ソケット制御手段から発行されたソケット管理情報表示指示に基づいてソケット管理情報を探索して前記ソケット制御手段に戻し、前記ソケット制御手段から発行された前記最大受信バッファサイズ変更指示を前記ソケット管理手段に渡すソケット情報制御手段とを有することを特徴とする。
【００３６】
さらに、本発明の最大受信バッファサイズ拡張方式は、受信バッファと、受信バッファサイズ，最大受信バッファサイズおよび自動拡張フラグからなるソケット管理情報とを含むソケットと、通信プロセスからのソケット要求に基づいてソケットを割り当て、データの受信時に受信バッファサイズと最大受信バッファサイズとを比較し、受信バッファサイズが最大受信バッファサイズより小さければデータを受信バッファにつないで受信バッファサイズにデータサイズを加算し、受信バッファサイズが最大受信バッファサイズ以上であれば自動拡張フラグを参照し、自動拡張フラグが設定されていなければデータを受信バッファにつながずにその旨を返し、自動拡張フラグが設定されていれば許容最大サイズと最大受信バッファサイズとを比較し、等しければデータを受信バッファにつながずにその旨を返し、等しくなければ受信バッファサイズおよびデータサイズの和を許容最大サイズと比較し、許容最大サイズより小さければ受信バッファサイズおよびデータサイズの和を最大受信バッファサイズに設定し、許容最大サイズ以上であれば許容最大サイズを最大受信バッファサイズに設定し、データを受信バッファにつなぎ受信バッファサイズにデータサイズを加算するソケット管理手段と、前記ソケット管理手段内に設けられ、通信プロセス識別子，ソケット識別子および拡張する最大受信バッファサイズを指定する最大受信バッファサイズ変更指示に基づいて当該ソケットの最大受信バッファサイズを、拡張する最大受信バッファサイズに変更する最大受信バッファサイズ変更手段と、前記ソケット管理手段内に設けられ、自動拡張フラグ設定・解除指示に基づいて自動拡張フラグを設定・解除する自動拡張設定手段と、通信プロセスとは独立に設けられ、通信プロセス識別子，ソケット識別子および拡張する最大受信バッファサイズを指定する最大受信バッファサイズ変更指示を発行し、通信プロセス識別子およびソケット識別子を指定する自動拡張フラグ設定・解除指示を発行し、許容最大サイズを変更する許容最大サイズ変更指示を発行するソケット制御手段と、前記ソケット制御手段から発行された前記最大受信バッファサイズ変更指示および前記自動拡張フラグ設定・解除指示を前記ソケット管理手段に渡し、前記許容最大サイズ変更指示に基づいて許容最大サイズを変更するソケット情報制御手段とを有することを特徴とする。
【００３７】
さらに、本発明の最大受信バッファサイズ拡張方式は、受信バッファと、受信バッファサイズ，最大受信バッファサイズおよび自動拡張フラグからなるソケット管理情報とを含むソケットと、通信プロセスからのソケット要求に基づいてソケットを割り当て、データの受信時に受信バッファサイズと最大受信バッファサイズとを比較し、受信バッファサイズが最大受信バッファサイズより小さければデータを受信バッファにつないで受信バッファサイズにデータサイズを加算し、受信バッファサイズが最大受信バッファサイズ以上であれば自動拡張フラグを参照し、自動拡張フラグが設定されていなければデータを受信バッファにつながずにその旨を返し、自動拡張フラグが設定されていれば許容最大サイズと最大受信バッファサイズとを比較し、等しければデータを受信バッファにつながずにその旨を返し、等しくなければ受信バッファサイズおよびデータサイズの和を許容最大サイズと比較し、許容最大サイズより小さければ受信バッファサイズおよびデータサイズの和を最大受信バッファサイズに設定し、許容最大サイズ以上であれば許容最大サイズを最大受信バッファサイズに設定し、データを受信バッファにつなぎ受信バッファサイズにデータサイズを加算するソケット管理手段と、前記ソケット管理手段内に設けられ、通信プロセス識別子，ソケット識別子および拡張する最大受信バッファサイズを指定する最大受信バッファサイズ変更指示に基づいて当該ソケットの最大受信バッファサイズを、拡張する最大受信バッファサイズに変更する最大受信バッファサイズ変更手段と、前記ソケット管理手段内に設けられ、自動拡張フラグ設定・解除指示に基づいて自動拡張フラグを設定・解除する自動拡張設定手段と、通信プロセスとは独立に設けられ、ソケットのソケット管理情報の表示指示，通信プロセス識別子，ソケット識別子および拡張する最大受信バッファサイズを指定する最大受信バッファサイズ変更指示，ならびに通信プロセス識別子およびソケット識別子を指定する自動拡張フラグの設定・解除指示を発行するソケット制御手段と、前記ソケット制御手段から発行されたソケット管理情報表示指示に基づいてソケット管理情報を探索して前記ソケット制御手段に戻し、前記ソケット制御手段から発行された前記最大受信バッファサイズ変更指示および前記自動拡張フラグ設定・解除指示を前記ソケット管理手段に渡し、前記許容最大サイズ変更指示に基づいて許容最大サイズを変更するソケット情報制御手段とを有することを特徴とする。
【００３８】
また、本発明の最大受信バッファサイズ拡張方式は、前記ソケット情報制御手段が、全ソケット管理情報表示指示を受けたときに、前記ソケット管理手段により管理されている全ソケットを探索し、全ソケットのソケット識別子と、全ソケットを使用する通信プロセスの通信プロセス識別子と、全ソケットの受信バッファサイズ，最大受信バッファサイズ等のソケット管理情報とを前記ソケット制御手段に戻すことを特徴とする。
【００３９】
さらに、本発明の最大受信バッファサイズ拡張方式は、前記ソケット情報制御手段が、通信プロセス識別子およびソケット識別子を指定するソケット管理情報表示指示を受けたときに、当該通信プロセス識別子をもつ通信プロセスが使用する、当該ソケット識別子をもつソケットを探索し、当該ソケットのソケット識別子と、当該ソケットを使用する通信プロセスの通信プロセス識別子と、当該ソケットの受信バッファサイズ，最大受信バッファサイズ等のソケット管理情報とを前記ソケット制御手段に戻すことを特徴とする。
【００４０】
一方、本発明のプログラムは、コンピュータを、受信バッファと、受信バッファサイズおよび最大受信バッファサイズからなるソケット管理情報とを含むソケットと、通信プロセスからのソケット要求に基づいてソケットを割り当て、データの受信時に受信バッファサイズと最大受信バッファサイズとを比較し、受信バッファサイズが最大受信バッファサイズより小さければデータを受信バッファにつないで受信バッファサイズにデータサイズを加算し、受信バッファサイズが最大受信バッファサイズ以上であればデータを受信バッファにつながずにその旨を返すソケット管理手段と、前記ソケット管理手段内に設けられ、通信プロセス識別子，ソケット識別子および拡張する最大受信バッファサイズを指定する最大受信バッファサイズ変更指示に基づいて当該ソケットの最大受信バッファサイズを、拡張する最大受信バッファサイズに変更する最大受信バッファサイズ変更手段と、通信プロセスとは独立に設けられ、通信プロセス識別子，ソケット識別子および拡張する最大受信バッファサイズを指定する最大受信バッファサイズ変更指示を発行するソケット制御手段と、前記ソケット制御手段から発行された前記最大受信バッファサイズ変更指示を前記ソケット管理手段に渡すソケット情報制御手段として制御することを特徴とする。
【００４１】
また、本発明のプログラムは、コンピュータを、受信バッファと、受信バッファサイズおよび最大受信バッファサイズからなるソケット管理情報とを含むソケットと、通信プロセスからのソケット要求に基づいてソケットを割り当て、データの受信時に受信バッファサイズと最大受信バッファサイズとを比較し、受信バッファサイズが最大受信バッファサイズより小さければデータを受信バッファにつないで受信バッファサイズにデータサイズを加算し、受信バッファサイズが最大受信バッファサイズ以上であればデータを受信バッファにつながずにその旨を返すソケット管理手段と、前記ソケット管理手段内に設けられ、通信プロセス識別子，ソケット識別子および拡張する最大受信バッファサイズを指定する最大受信バッファサイズ変更指示に基づいて当該ソケットの最大受信バッファサイズを、拡張する最大受信バッファサイズに変更する最大受信バッファサイズ変更手段と、通信プロセスとは独立に設けられ、ソケット管理情報表示指示を発行して戻ってきたソケット管理情報を表示し、通信プロセス識別子，ソケット識別子および拡張する最大受信バッファサイズを指定する最大受信バッファサイズ変更指示を発行するソケット制御手段と、前記ソケット制御手段から発行されたソケット管理情報表示指示に基づいてソケット管理情報を探索して前記ソケット制御手段に戻し、前記ソケット制御手段から発行された前記最大受信バッファサイズ変更指示を前記ソケット管理手段に渡すソケット情報制御手段として制御することを特徴とする。
【００４２】
さらに、本発明のプログラムは、コンピュータを、受信バッファと、受信バッファサイズ，最大受信バッファサイズおよび自動拡張フラグからなるソケット管理情報とを含むソケットと、通信プロセスからのソケット要求に基づいてソケットを割り当て、データの受信時に受信バッファサイズと最大受信バッファサイズとを比較し、受信バッファサイズが最大受信バッファサイズより小さければデータを受信バッファにつないで受信バッファサイズにデータサイズを加算し、受信バッファサイズが最大受信バッファサイズ以上であれば自動拡張フラグを参照し、自動拡張フラグが設定されていなければデータを受信バッファにつながずにその旨を返し、自動拡張フラグが設定されていれば許容最大サイズと最大受信バッファサイズとを比較し、等しければデータを受信バッファにつながずにその旨を返し、等しくなければ受信バッファサイズおよびデータサイズの和を許容最大サイズと比較し、許容最大サイズより小さければ受信バッファサイズおよびデータサイズの和を最大受信バッファサイズに設定し、許容最大サイズ以上であれば許容最大サイズを最大受信バッファサイズに設定し、データを受信バッファにつなぎ受信バッファサイズにデータサイズを加算するソケット管理手段と、前記ソケット管理手段内に設けられ、通信プロセス識別子，ソケット識別子および拡張する最大受信バッファサイズを指定する最大受信バッファサイズ変更指示に基づいて当該ソケットの最大受信バッファサイズを、拡張する最大受信バッファサイズに変更する最大受信バッファサイズ変更手段と、前記ソケット管理手段内に設けられ、自動拡張フラグ設定・解除指示に基づいて自動拡張フラグを設定・解除する自動拡張設定手段と、通信プロセスとは独立に設けられ、通信プロセス識別子，ソケット識別子および拡張する最大受信バッファサイズを指定する最大受信バッファサイズ変更指示を発行し、通信プロセス識別子およびソケット識別子を指定する自動拡張フラグ設定・解除指示を発行し、許容最大サイズを変更する許容最大サイズ変更指示を発行するソケット制御手段と、前記ソケット制御手段から発行された前記最大受信バッファサイズ変更指示および前記自動拡張フラグ設定・解除指示を前記ソケット管理手段に渡し、前記許容最大サイズ変更指示に基づいて許容最大サイズを変更するソケット情報制御手段として制御することを特徴とする。
【００４３】
さらにまた、本発明のプログラムは、コンピュータを、受信バッファと、受信バッファサイズ，最大受信バッファサイズおよび自動拡張フラグからなるソケット管理情報とを含むソケットと、通信プロセスからのソケット要求に基づいてソケットを割り当て、データの受信時に受信バッファサイズと最大受信バッファサイズとを比較し、受信バッファサイズが最大受信バッファサイズより小さければデータを受信バッファにつないで受信バッファサイズにデータサイズを加算し、受信バッファサイズが最大受信バッファサイズ以上であれば自動拡張フラグを参照し、自動拡張フラグが設定されていなければデータを受信バッファにつながずにその旨を返し、自動拡張フラグが設定されていれば許容最大サイズと最大受信バッファサイズとを比較し、等しければデータを受信バッファにつながずにその旨を返し、等しくなければ受信バッファサイズおよびデータサイズの和を許容最大サイズと比較し、許容最大サイズより小さければ受信バッファサイズおよびデータサイズの和を最大受信バッファサイズに設定し、許容最大サイズ以上であれば許容最大サイズを最大受信バッファサイズに設定し、データを受信バッファにつなぎ受信バッファサイズにデータサイズを加算するソケット管理手段と、前記ソケット管理手段内に設けられ、通信プロセス識別子，ソケット識別子および拡張する最大受信バッファサイズを指定する最大受信バッファサイズ変更指示に基づいて当該ソケットの最大受信バッファサイズを、拡張する最大受信バッファサイズに変更する最大受信バッファサイズ変更手段と、前記ソケット管理手段内に設けられ、自動拡張フラグ設定・解除指示に基づいて自動拡張フラグを設定・解除する自動拡張設定手段と、通信プロセスとは独立に設けられ、ソケットのソケット管理情報の表示指示，通信プロセス識別子，ソケット識別子および拡張する最大受信バッファサイズを指定する最大受信バッファサイズ変更指示，ならびに通信プロセス識別子およびソケット識別子を指定する自動拡張フラグの設定・解除指示を発行するソケット制御手段と、前記ソケット制御手段から発行されたソケット管理情報表示指示に基づいてソケット管理情報を探索して前記ソケット制御手段に戻し、前記ソケット制御手段から発行された前記最大受信バッファサイズ変更指示および前記自動拡張フラグ設定・解除指示を前記ソケット管理手段に渡し、前記許容最大サイズ変更指示に基づいて許容最大サイズを変更するソケット情報制御手段として制御することを特徴とする。
【００４４】
また、本発明のプログラムは、前記ソケット情報制御手段が、全ソケット管理情報表示指示を受けたときに、前記ソケット管理手段により管理されている全ソケットを探索し、全ソケットのソケット識別子と、全ソケットを使用する通信プロセスの通信プロセス識別子と、全ソケットの受信バッファサイズ，最大受信バッファサイズ等のソケット管理情報とを前記ソケット制御手段に戻すことを特徴とする。
【００４５】
さらに、本発明のプログラムは、前記ソケット情報制御手段が、通信プロセス識別子およびソケット識別子を指定するソケット管理情報表示指示を受けたときに、当該通信プロセス識別子をもつ通信プロセスが使用する、当該ソケット識別子をもつソケットを探索し、当該ソケットのソケット識別子と、当該ソケットを使用する通信プロセスの通信プロセス識別子と、当該ソケットの受信バッファサイズ，最大受信バッファサイズ等のソケット管理情報とを前記ソケット制御手段に戻すことを特徴とする。
【００４６】
他方、本発明のデータ受信方法は、データの受信時に受信バッファサイズと最大受信バッファサイズとを比較する工程と、受信バッファサイズが最大受信バッファサイズより小さければデータを受信バッファにつないで受信バッファサイズにデータサイズを加算する工程と、受信バッファサイズが最大受信バッファサイズ以上であれば自動拡張フラグを参照する工程と、自動拡張フラグが設定されていなければデータを受信バッファにつながずにその旨を返す工程と、自動拡張フラグが設定されていれば許容最大サイズと最大受信バッファサイズとを比較する工程と、許容最大サイズと最大受信バッファサイズとが等しければデータを受信バッファにつながずにその旨を返す工程と、許容最大サイズと最大受信バッファサイズとが等しくなければ受信バッファサイズおよびデータサイズの和を許容最大サイズと比較する工程と、受信バッファサイズおよびデータサイズの和が許容最大サイズより小さければ受信バッファサイズおよびデータサイズの和を最大受信バッファサイズに設定する工程と、受信バッファサイズおよびデータサイズの和が許容最大サイズ以上であれば許容最大サイズを最大受信バッファサイズに設定する工程と、データを受信バッファにつなぎ受信バッファサイズにデータサイズを加算する工程とを含むことを特徴とする。
【００４７】
図１において、通信プロセス２とは独立して、ソケット制御手段５を設ける。
【００４８】
通信プロセス２が使用するソケット３６で通信を行い、他ホスト（図示せず）からデータ４２を受信する。データ４２がネットワーク４を経由してネットワークドライバ３２およびＵＤＰ／ＩＰ３３と渡り、ソケット管理手段３１に渡る。
【００４９】
ソケット管理手段３１は、ソケット３６の受信バッファサイズ１０２と最大受信バッファサイズ１０３とを比較し、受信バッファサイズ１０２が最大受信バッファサイズ１０３より小さければ（データ４２をまだ受信できる状態であれば）、データ４２を受信バッファ１０１の末尾につなぎ、受信バッファサイズ１０２を更新する。すでに受信バッファサイズ１０２が最大受信バッファサイズ１０３以上であったならば、データ４２を受信できない旨をＵＤＰ／ＩＰ３３に返す。ＵＤＰ／ＩＰ３３は、データ４２を破棄する。
【００５０】
ソケット制御手段５は、通信プロセス識別子およびソケット識別子を指定するソケット管理情報表示指示をソケット情報制御手段３５に発行する。
【００５１】
ソケット情報制御手段３５は、ソケット管理情報表示指示に含まれるソケット識別子をもつソケット３６から受信バッファサイズ１０２，最大受信バッファサイズ１０３等のソケット管理情報を取り出して、ソケット制御手段５に戻す。
【００５２】
ソケット制御手段５は、ソケット管理情報を表示する。
【００５３】
ホスト１および通信プロセス２の管理者は、ソケット制御手段５により表示されたソケット３６の最大受信バッファサイズ１１０，受信バッファサイズ１０２等のソケット管理情報を確認し、受信バッファサイズ１０２が最大受信バッファサイズ１０３を超えていたり、かなり近い値でデータ４２が破棄されそうな状態であったりすることを確認したならば、最大受信バッファサイズ１０３を拡張することを判断し、通信プロセス識別子，ソケット識別子および拡張する最大受信バッファサイズ１０３’を指定する最大受信バッファサイズ変更指示をソケット制御手段５に指示する。
【００５４】
ソケット制御手段５は、通信プロセス識別子，ソケット識別子および拡張する最大受信バッファサイズ１０３’を指定する最大受信バッファサイズ変更指示をソケット情報制御手段３５に発行する。
【００５５】
ソケット情報制御手段３５は、通信プロセス識別子，ソケット識別子および拡張する最大受信バッファサイズ１０３’を指定する最大受信バッファサイズ変更指示をソケット管理手段３１の最大受信バッファサイズ変更手段３４に渡す。
【００５６】
最大受信バッファサイズ変更手段３４は、渡されたソケット識別子をもつソケット３６の最大受信バッファサイズ１０３を、渡された拡張する最大受信バッファサイズ１０３’に更新する。
【００５７】
このようにして、通信プロセス２を含むプログラムとは個別に、ソケット管理手段３１の最大受信バッファサイズ１０３を拡張することを可能にする。
【００５８】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照して詳細に説明する。
【００５９】
［第１の実施の形態］
図１を参照すると、本発明の第１の実施の形態に係る最大受信バッファサイズ拡張方式が適用されるホスト（コンピュータ）１は、ネットワーク４に接続され、通信プロセス２と、通信制御手段３と、ソケット制御手段５とから、その主要部が構成されている。
【００６０】
通信制御手段３は、ソケット管理手段３１と、ネットワークドライバ３２と、ＵＤＰ／ＩＰ３３と、ソケット情報制御手段３５と、１つ以上のソケット３６とから構成されている。
【００６１】
ソケット管理手段３１は、最大受信バッファサイズ変更手段３４を含む。
【００６２】
各ソケット３６は、受信バッファ１０１と、受信バッファサイズ１０２，最大受信バッファサイズ１０３等のソケット管理情報とを含む。
【００６３】
これらの手段は、それぞれ概略つぎのように動作する。
【００６４】
通信プロセス２は、通信制御手段３のソケット管理手段３１にソケット３６を要求し、ソケット３６を開く。また、通信プロセス２は、ソケット管理手段３１に対してＲＥＡＤ要求を発行する。
【００６５】
ソケット制御手段５は、ソケット３６のソケット管理情報の表示，および最大受信バッファサイズ１０３の拡張をソケット情報制御手段３５に指示する。
【００６６】
ソケット管理手段３１は、ソケット要求を受けると、通信プロセス２が使用するソケット３６を割り当てる。また、ソケット管理手段３１は、受信バッファ１０１にデータ４１があれば受信バッファ１０１の先頭のデータ４１を取り出し、データ４１のサイズ分を受信バッファサイズ１０２から減算し、データ４１を通信プロセス２に渡す。さらに、ソケット管理手段３１は、受信されたデータ４２があったときに、通信プロセス２が使用するソケット３６の受信バッファサイズ１０２と最大受信バッファサイズ１０３とを比較し、受信バッファサイズ１０２が最大受信バッファサイズ１０３よりも小さければ（受信バッファ１０１に空きがまだあれば）、データ４２を受信バッファ１０１の末尾につなげ、データ４２のサイズ分を受信バッファサイズ１０２に加算する。受信バッファサイズ１０２が最大受信バッファサイズ１０３以上であれば（受信バッファ１０１に空きがなければ）、ソケット管理手段３１は、データ４２を受信できない旨をＵＤＰ／ＩＰ３３に返す。
【００６７】
ネットワークドライバ３２は、ネットワーク４を経由してデータ４２を受け取り、ＵＤＰ／ＩＰ３３に渡す。
【００６８】
ＵＤＰ／ＩＰ３３は、ネットワークドライバ３２からデータ４２を渡されると、プロトコルに従いデータ４２を処理し、データ４２をソケット管理手段３１に渡す。また、ＵＤＰ／ＩＰ３３は、ソケット管理手段３１からデータ４２を受信できない旨を受けると、データ４２を破棄する。
【００６９】
最大受信バッファサイズ変更手段３４は、通信プロセス２からソケット管理手段３１を介してソケット３６の最大受信バッファサイズ変更指示を受けたならば、最大受信バッファサイズ１０３の拡張を行う。また、最大受信バッファサイズ変更手段３４は、ソケット情報制御手段３５から通信プロセス識別子およびソケット識別子を指定する最大受信バッファサイズ変更指示を受けると、指定されたソケット識別子をもつソケット３６の最大受信バッファサイズ１０３を、渡された拡張する最大受信バッファサイズ１０３’に変更する。
【００７０】
ソケット情報制御手段３５は、ソケット管理情報表示指示を受けると、ソケット３６を探索し、受信バッファサイズ１０２，最大受信バッファサイズ１０３などのソケット管理情報をソケット制御手段５に返す。また、ソケット情報制御手段３５は、通信プロセス識別子，通信プロセス識別子，ソケット識別子および拡張する最大受信バッファサイズ１０３’を指定する最大受信バッファサイズ拡張指示を受けると、最大受信バッファサイズ拡張指示を最大受信ソケット管理手段３１に渡す。
【００７１】
図２（ａ）を参照すると、ソケット管理手段３１のデータ４２の受信時の処理は、受信バッファサイズ／最大受信バッファサイズ比較ステップＡ１と、データ破棄ステップＡ２と、データつなぎ・受信バッファサイズ更新ステップＡ３とからなる。
【００７２】
図２（ｂ）を参照すると、ソケット管理手段３１の最大受信バッファサイズ拡張時の処理は、拡張する最大受信バッファサイズ設定ステップＡ４からなる。
【００７３】
次に、このように構成された第１の実施の形態に係る最大受信バッファサイズ拡張方式の動作について説明する。
【００７４】
まず、通信プロセス２は、通信制御手段３のソケット管理手段３１に対してソケット３６を要求し、ソケット３６を開く。
【００７５】
ソケット管理手段３１は、通信プロセス２が使用するソケット３６を割り当てる。
【００７６】
次に、通信プロセス２は、通信制御手段３のソケット管理手段３１に対してＲＥＡＤ要求を発行する。
【００７７】
ソケット管理手段３１は、受信バッファ１０１にデータ４１があれば、受信バッファ１０１の先頭のデータ４１を取り出し、データ４１のサイズ分を受信バッファサイズ１０２から減算し、データ４１を通信プロセス２に渡す。
【００７８】
一方、ネットワーク４を経由して通信プロセス２宛てのデータ４２が送られてくると、ネットワークドライバ３２は、データ４２を受け取って解析し、ＵＤＰ／ＩＰ３３に渡す。
【００７９】
ＵＤＰ／ＩＰ３３は、プロトコルに従いデータ４２を処理し、データ４２をソケット管理手段３１に渡す。
【００８０】
ソケット管理手段３１は、データ４２に含まれるソケット識別子をもつソケット３６の受信バッファサイズ１０２と最大受信バッファサイズ１０３とを比較し（ステップＡ１）、受信バッファサイズ１０２が最大受信バッファサイズ１０３より小さければ（まだ受信バッファ１０１に空きがあれば）（ステップＡ１でノー）、データ４２を受信バッファ１０１の末尾につなげ、データ４２のサイズ分を受信バッファサイズ１０２に加算する（ステップＡ３）。受信バッファサイズ１０２が最大受信バッファサイズ１０３以上であれば（受信バッファ１０１に空きがなければ）（ステップＡ１でイエス）、ソケット管理手段３１は、データ４２を受信バッファ１０１につながずに、データ４２を受信できない旨をＵＤＰ／ＩＰ３３に返す（ステップＡ２）。
【００８１】
ＵＤＰ／ＩＰ３３は、データ４２を受信できない旨を返されると、データ４２を破棄する。
【００８２】
ホスト１または通信プロセス２の管理者は、データ４２が破棄される状態のソケット３６における受信バッファサイズ１０２，最大受信バッファサイズ１０３等のソケット管理情報を確認するために、ソケット３６のソケット管理情報の表示をソケット制御手段５に指示する。ソケット管理情報の表示の指示には２種類あり、ソケット管理手段３１が管理する全てのソケット３６のソケット管理情報の表示を指示する全ソケット管理情報表示指示と、特定の通信プロセス識別子およびソケット識別子を指定して当該ソケット３６のソケット管理情報の表示を指示するソケット管理情報表示指示とである。
【００８３】
ホスト１または通信プロセス２の管理者から全ソケット管理情報表示指示を受けると、ソケット制御手段５は、全ソケット管理情報表示指示をソケット情報制御手段３５に渡す。
【００８４】
ソケット情報制御手段３５は、ソケット制御手段５から全ソケット管理情報表示指示を受けると、ソケット管理手段３１により管理されている全ソケット３６を探し出し、全ソケット３６のソケット識別子と、全ソケット３６を使用する通信プロセス２の通信プロセス識別子と、全ソケット３６の受信バッファサイズ１０２，最大受信バッファサイズ１０３等のソケット管理情報とをソケット制御手段５に戻す。
【００８５】
ソケット制御手段５は、ソケット情報制御手段３５から戻された全ソケット３６のソケット識別子，全ソケット３６を使用する通信プロセス２の通信プロセス識別子，ならびに各ソケット３６の受信バッファサイズ１０２，最大受信バッファサイズ１０３等のソケット管理情報を整形し、見やすい表示形式にして表示する。
【００８６】
一方、管理者が通信プロセス識別子およびソケット識別子を指定してソケット管理情報の表示を指示した場合には、ソケット制御手段５は、通信プロセス識別子およびソケット識別子を指定するソケット管理情報表示指示をソケット情報制御手段３５に発行する。
【００８７】
ソケット情報制御手段３５は、ソケット制御手段５から通信プロセス識別子およびソケット識別子を指定するソケット管理情報表示指示を受けると、当該通信プロセス識別子をもつ通信プロセス２が使用する、当該ソケット識別子をもつソケット３６を探し出し、当該ソケット３６のソケット識別子と、当該ソケット３６を使用する通信プロセス２の通信プロセス識別子と、当該ソケット３６の受信バッファサイズ１０２，最大受信バッファサイズ１０３等のソケット管理情報とをソケット制御手段５に戻す。
【００８８】
ソケット制御手段５は、ソケット情報制御手段３５から戻された当該ソケット３６のソケット識別子，当該ソケット３６を使用する通信プロセス２の通信プロセス識別子，ならびに当該ソケット３６の受信バッファサイズ１０２，最大受信バッファサイズ１０３等のソケット管理情報を整形し、見やすい表示形式にして表示する。
【００８９】
ソケット制御手段５により表示されたソケット識別子，通信プロセス識別子およびソケット管理情報を見て、管理者は、ソケット３６の受信バッファ１０１を調整したい通信プロセス２とソケット３６の状態とを比較し、サーバ機能をもつ通信プロセス２が使用するソケッ３６の受信バッファサイズ１０２が最大受信バッファサイズ１０３に達するか、または達しそうな状態の場合には、通信プロセス識別子，ソケット識別子および拡張する最大受信バッファサイズ１０３’を指定して最大受信バッファサイズ１０３の変更をソケット制御手段５に指示する。
【００９０】
ソケット制御手段５は、通信プロセス識別子，ソケット識別子および拡張する最大受信バッファサイズ１０３’を指定する最大受信バッファサイズ変更指示をソケット情報制御手段３５に発行する。
【００９１】
ソケット情報制御手段３５は、ソケット制御手段５から通信プロセス識別子，ソケット識別子および拡張する最大受信バッファサイズ１０３’を指定する最大受信バッファサイズ変更指示を受けると、これをソケット管理手段３１に渡す。
【００９２】
ソケット管理手段３１は、最大受信バッファサイズ変更指示を受けると、最大受信バッファサイズ変更手段３４により、最大受信バッファサイズ変更指示で指定された通信プロセス識別子をもつ通信プロセス２が使用する、指定されたソケット識別子をもつソケット３６の最大受信バッファサイズ１０３を、指定された拡張する最大受信バッファサイズ１０３’に変更する（ステップＡ４）。
【００９３】
ところで、図３に示すように、１つの通信プロセス２が複数のソケット３６を使用する構成でも、前述の動作例には変わりがない。
【００９４】
また、図４に示すように、複数の通信プロセス２が同一のソケット３６を使用する構成でも、前述の動作例には変わりがない。
【００９５】
以上のようにして、通信プロセス２とは独立に、ソケット３６の最大受信バッファサイズ１０３を、通信プロセス２を含むプログラムの変更なく、かつ通信プロセス２の動作中に変更することが可能となる。
【００９６】
第１の実施の形態によれば、通信プロセス２とは独立してソケット３６の状態監視（ソケット管理情報の表示）および最大受信バッファサイズ１０３の拡張をできるようにしたことにより、通信制御手段３内のソケット３６を使用する通信プロセス２を含むプログラム、特にサーバプログラムの高負荷によるサーバ機能の停止を回避することができる。
【００９７】
［第２の実施の形態］
次に、本発明の第２の実施の形態について図面を参照して詳細に説明する。
【００９８】
図５を参照すると、本発明の第２の実施の形態に係る最大受信バッファサイズ拡張方式が適用されたホスト（コンピュータ）１は、ネットワーク４に接続され、通信プロセス２と、通信制御手段３と、ソケット制御手段５とから、その主要部が構成されている。
【００９９】
通信制御手段３は、ソケット管理手段３１と、ネットワークドライバ３２と、ＵＤＰ／ＩＰ３３と、ソケット情報制御手段３５と、１つ以上のソケット３６と、許容最大サイズ３７とを含んで構成されている。
【０１００】
ソケット管理手段３１は、最大受信バッファ変更手段３４と、自動拡張設定手段３８とを含んでいる。
【０１０１】
ソケット３６は、受信バッファ１０１と、受信バッファサイズ１０２，最大受信バッファサイズ１０３および自動拡張フラグ１０４からなるソケット管理情報とを含んでいる。
【０１０２】
許容最大サイズ３７とは、通信制御手段３内のすべてのソケット３６が最大受信バッファサイズ１０３の自動拡張を行うときの通信制御手段３内で許容する最大受信バッファサイズ１０３の最大値を示す。
【０１０３】
これらの手段は、それぞれ概略つぎのように動作する。
【０１０４】
ソケット制御手段５は、ソケット３６のソケット管理情報の表示，ソケット３６の最大受信バッファサイズ１０３の変更，自動拡張フラグ１０４の設定・解除，および許容最大サイズ３７の表示・変更をソケット情報制御手段３５に指示する。
【０１０５】
ソケット情報制御手段３５は、ソケット制御手段５からの指示に従いソケット３６のソケット管理情報の表示，最大受信バッファサイズ１０３の変更，受動拡張フラグ１０３の設定・解除，および許容最大サイズ３７の表示・変更を実行する。ソケット管理情報の表示の場合には、ソケット３６を探索し、受信バッファサイズ１０２，最大受信バッファサイズ１０３，自動拡張フラグ１０４および許容最大サイズ３７などのソケット管理情報をソケット制御手段５に戻す。自動拡張フラグ１０４の設定・解除の場合は、ソケット情報制御手段３５は、ソケット３６の自動拡張フラグ設定・解除指示をソケット管理手段３１の自動拡張設定手段３８に渡す。許容最大サイズ３７の変更の場合は、ソケット情報制御手段３５は、指定された許容最大サイズを許容最大サイズ３７に設定する。
【０１０６】
自動拡張設定手段３８は、ソケット識別子をもつソケット３６の自動拡張フラグ１０４を変更する。
【０１０７】
通信プロセス２は、通信制御手段３のソケット管理手段３１に対してソケット３６を要求し、ソケット３６を開く。また、通信プロセス２は、ソケット管理手段３１に対してＲＥＡＤ要求を発行する。
【０１０８】
ソケット管理手段３１は、ソケット要求を受けると、通信プロセス２が使用するソケット３６を割り当てる。また、ソケット管理手段３１は、受信バッファ１０１にデータ４１があれば、受信バッファ１０１の先頭のデータ４１を取り出し、受信バッファサイズ１０２をデータ４１のサイズ分減算し、データ４１を通信プロセス２に渡す。さらに、ソケット管理手段３１は、宛先であるソケット３６の受信バッファサイズ１０２と最大受信バッファサイズ１０３とを比較する。まだ受信バッファ１０１に空きがあれば、ソケット管理手段３１は、データ４２を受信バッファ１０１の末尾につなげ、受信バッファサイズ１０２をデータ４２のサイズ分加算する。受信バッファ１０１に空きがなければ、ソケット管理手段３１は、自動拡張フラグ１０４を参照し、自動拡張フラグ１０４がＯＮであれば（拡張が設定されていれば）、許容最大サイズ３７を参照し、最大受信バッファサイズ１０３より大きければ、許容最大サイズ３７を最大受信バッファサイズ１０３に設定し、データ４２を受信バッファ１０１の末尾につなげ、受信バッファサイズ１０２をデータ４２のサイズ分加算する。許容最大サイズ３７と最大受信バッファサイズ１０３とが同じ場合には、データ４２を受信できない旨をＵＤＰ／ＩＰ３３に返す。
【０１０９】
ネットワークドライバ３２は、ネットワーク４経由で送信されてきた、通信プロセス２宛てのデータ４２を受け取り、ＵＤＰ／ＩＰ３３に渡す。
【０１１０】
ＵＤＰ／ＩＰ３３は、プロトコルに従いデータ４２を処理し、データ４２をソケット管理手段３１に渡す。また、ＵＤＰ／ＩＰ３３は、データ４２を受信できない旨を受け取ると、データ４２を破棄する。
【０１１１】
図６を参照すると、ソケット管理手段３１の処理は、受信バッファサイズ／最大受信バッファサイズ比較ステップＢ１と、自動拡張フラグ判定ステップＢ２と、許容最大サイズ／最大受信バッファサイズ比較ステップＢ３と、データ破棄ステップＢ４と、許容最大サイズ／（最大受信バッファサイズ＋データサイズ）比較ステップＢ５と、許容最大サイズ設定ステップＢ６と、（受信バッファサイズ＋データサイズ）設定ステップＢ７と、データつなぎ・受信バッファサイズ更新ステップＢ８とからなる。
【０１１２】
次に、このように構成された第２の実施の形態に係る最大受信バッファサイズ拡張方式におけるソケット管理手段３１のデータ４２の受信時の動作について、図６のフローチャートを参照して詳細に説明する。
【０１１３】
受信するデータ４２は、ネットワーク４を経由して通信プロセス２が使用するソケット３６宛てに送られてくる。
【０１１４】
まず、ホスト１が通信プロセス２宛てのデータ４２を受信し、データ４２がソケット管理手段３１に渡ってきたとき、ソケット管理手段３１は、データ４２に含まれるソケット識別子をもつソケット３６の受信バッファサイズ１０２と最大受信バッファサイズ１０３とを比較し（ステップＢ１）、受信バッファサイズ１０２が最大受信バッファサイズ１０３より小さければ（まだ受信バッファ１０１に空きがあれば）（ステップＢ１でノー）、データ４２を受信バッファ１０１の末尾につなげ、データ４２のサイズ分を受信バッファサイズ１０２に加算する（ステップＢ８）。
【０１１５】
受信バッファサイズ１０２が最大受信バッファサイズ１０３以上であれば（受信バッファ１０１に空きがなければ）（ステップＢ１でイエス）、ソケット管理手段３１は、自動拡張フラグ１０４がＯＮかどうかを確認する（ステップＢ３）。自動拡張フラグ１０４がＯＮでなければ、データ４２を受け入れできないため、ソケット管理手段３１は、データ４２を受信バッファ１０１につながずに、データ４２を受信できない旨をＵＤＰ／ＩＰ３３に返す（ステップＢ４）。
【０１１６】
自動拡張フラグ１０４がＯＮの場合は、ソケット管理手段３１は、通信制御手段３で許容している受信バッファ１０１の最大サイズである許容最大サイズ３７を、受信バッファサイズ１０２とデータサイズとの和と比較する（ステップＢ５）。
【０１１７】
許容最大サイズ３７が受信バッファサイズ１０２とデータサイズとの和より小さければ、ソケット管理手段３１は、自動拡張設定手段３８により、受信バッファサイズ１０２とデータサイズとの和を最大受信バッファサイズ１０３に設定する（ステップＢ７）。
【０１１８】
許容最大サイズ３７受信バッファサイズ１０２とデータサイズとの和以上であれば、ソケット管理手段３１は、自動拡張設定手段３８により、許容最大サイズ３７を最大受信バッファサイズ１０３に設定する（ステップＢ６）。
【０１１９】
ステップＢ６，Ａ７の後は、ソケット管理手段３１は、データ４２の受信バッファ１０１へのつなぎこみを行う（ステップＢ８）。
【０１２０】
以上のようにして、ソケット３６を使用する通信プロセス２とは独立に、ソケット３６の最大受信バッファサイズ１０３を効率的に変更し、通信プロセス２の早期のソケットチューニングを実施することを可能にする。
【０１２１】
また、最大受信バッファサイズ１０３の拡張を自動で行うため、管理者のシステム監視等のコストを削減できる。
【０１２２】
さらに、個々のソケット３６の最大受信バッファサイズ１０３の拡張を、ソケット３６を使用する通信プロセス２とは独立して行えるようにし、かつ最大受信バッファサイズ１０３の拡張を管理者のソケット３６の監視なしに自動的に行うことができるようにしたため、システムの運用を継続したまま、通信プロセス２のシステムにおける最適なソケット３６の最大受信バッファサイズ１０３をプログラムの変更なしに効率的に調整でき、システムチューニングコストを削減できる。
【０１２３】
［第３の実施の形態］
図７は、本発明の第３の実施の形態に係る最大受信バッファサイズ拡張方式の構成を示すブロック図である。本実施の形態に係る最大受信バッファサイズ拡張方式は、図１に示した第１の実施の形態に係る最大受信バッファサイズ拡張方式のホスト１に対して通信制御プログラム４００を付加するようにした点だけが異なる。したがって、その他の特に言及しない部分には同一符号を付してそれらの詳しい説明を省略する。
【０１２４】
通信制御プログラム４００は、ホスト１に読み込まれ、ホスト１の動作を、ソケット管理手段３１（最大受信バッファ変更手段３４を含む），ネットワークドライバ３２，ＵＤＰ／ＩＰ３３，ソケット情報制御手段３５，および１つ以上のソケット３６（受信バッファ１０１と、受信バッファサイズ１０２，最大受信バッファサイズ１０３等のソケット管理情報を含む）として制御する。通信制御プログラム４００の制御によるホスト１の動作は、第１の実施の形態におけるホスト１の動作と全く同様になるので、その詳しい説明を割愛する。
【０１２５】
［第４の実施の形態］
図８は、本発明の第４の実施の形態に係る最大受信バッファサイズ拡張方式の構成を示すブロック図である。本実施の形態に係る最大受信バッファサイズ拡張方式は、図５に示した第２の実施の形態に係る最大受信バッファサイズ拡張方式のホスト１に対して通信制御プログラム５００を付加するようにした点だけが異なる。したがって、その他の特に言及しない部分には同一符号を付してそれらの詳しい説明を省略する。
【０１２６】
通信制御プログラム５００は、ホスト１に読み込まれ、ホスト１の動作を、ソケット管理手段３１（最大受信バッファ変更手段３４および自動拡張設定手段３８を含む），ネットワークドライバ３２，ＵＤＰ／ＩＰ３３，ソケット情報制御手段３５，１つ以上のソケット３６（受信バッファ１０１と、受信バッファサイズ１０２，最大受信バッファサイズ１０３，自動拡張フラグ１０４等のソケット管理情報を含む），および許容最大サイズ３７として制御する。通信制御プログラム５００の制御によるホスト１の動作は、第１の実施の形態におけるホスト１の動作と全く同様になるので、その詳しい説明を割愛する。
【０１２７】
【発明の効果】
第１の効果は、ソケットを使用する通信プロセスを含むプログラム、特にサーバプログラムの高負荷によるサーバ機能の停止を回避することができることにある。その理由は、通信プロセスとは独立してソケットの状態監視（ソケット管理情報の表示）および受信バッファの最大受信バッファサイズを調整できるようにしたためである。
【０１２８】
第２の効果は、システムの運用を継続したまま、通信プロセスを含むプログラムのシステムにおける最適なソケットの受信バッファサイズを通信プロセスを含むプログラムの変更なしに効率的に調整でき、システムチューニングコストを削減できることにある。その理由は、個々のソケットの最大受信バッファサイズの拡張をソケットを使用する通信プロセスとは独立して行えるようにしたためである。そして、最大受信バッファサイズの拡張を管理者のソケットの監視なしに自動的に行うことができるようにしたためである。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態に係る最大受信バッファサイズ拡張方式が適用されたホストの構成を示すブロック図である。
【図２】（ａ）はソケット管理手段のデータ受信時の処理を示し、（ｂ）はソケット管理手段の最大受信バッファサイズ拡張時の処理を示すフローチャートである。
【図３】第１の実施の形態に係る最大受信バッファサイズ拡張方式の、１つの通信プロセスが複数のソケットを使用する構成例を示すブロック図である。
【図４】第１の実施の形態に係る最大受信バッファサイズ拡張方式の、複数の通信プロセスが１つのソケットを使用する構成例を示すブロック図である。
【図５】本発明の第２の実施の形態に係る最大受信バッファサイズ拡張方式が適用されたホストの構成を示すブロック図である。
【図６】図５中のソケット管理手段の処理を示すフローチャートである。
【図７】本発明の第３の実施の形態に係る最大受信バッファサイズ拡張方式が適用されたホストの構成を示すブロック図である。
【図８】本発明の第４の実施の形態に係る最大受信バッファサイズ拡張方式が適用されたホストの構成を示すブロック図である。
【図９】従来のネットワークを介したクライアント・サーバシステムの一例として、ネットワークファイルシステムを示すブロック図である。
【図１０】図９のネットワークファイルシステムにおける通信制御手段を含むホストの構成を示すブロック図である。
【符号の説明】
１  ホスト（コンピュータ）
２  通信プロセス
３  通信制御手段
４  ネットワーク
５  ソケット制御手段
３１  ソケット
３２  ネットワークドライバ
３３  ＵＤＰ／ＩＰ
３４  最大受信バッファサイズ変更手段
３５  ソケット情報制御手段
３６  ソケット
１０１  受信バッファ
１０２  受信バッファサイズ
１０３  最大受信バッファサイズ
１０３’  拡張する最大受信バッファサイズ
１０４  自動拡張フラグ
４００，５００  通信制御プログラム
Ａ１  受信バッファサイズ／最大受信バッファサイズ比較ステップ
Ａ２  データ破棄ステップ
Ａ３  データつなぎ・受信バッファサイズ更新ステップ
Ａ４  拡張する最大受信バッファサイズ設定ステップ
Ｂ１  受信バッファサイズ／最大受信バッファサイズ比較ステップ
Ｂ２  自動拡張フラグ判定ステップ
Ｂ３  許容最大サイズ／最大受信バッファサイズ比較ステップ
Ｂ４  データ破棄ステップ
Ｂ５  許容最大サイズ／（最大受信バッファサイズ＋データサイズ）比較ステップ
Ｂ６  許容最大サイズ設定ステップ
Ｂ７  （受信バッファサイズ＋データサイズ）設定ステップ
Ｂ８  データつなぎ・受信バッファサイズ更新ステップ
【図１】
2004343214.tif 000003
【図２】
2004343214.tif 000004
【図３】
2004343214.tif 000005
【図４】
2004343214.tif 000006
【図５】
2004343214.tif 000007
【図６】
2004343214.tif 000008
【図７】
2004343214.tif 000009
【図８】
2004343214.tif 000010
【図９】
2004343214.tif 000011
【図１０】
2004343214.tif 000012