"コンピュータネットワークにおいて,上位層処理部と下位層処理部の少なくとも2層の処理構造を有し,当該処理構造に基づいてデータを送信する送信機であって,A前記上位層処理部は,A-1通信の相手方である受信機において,自身と同じ階層である受信機の上位層処理部によって使用されることが意図されている通信に関する設定通信設定を,送信データに施す通信設定手段と,A-2通信設定が施された送信データを自身より下位の層に渡す送信データ伝達手段と,を備え,B前記下位層処理部は,B-1自身より上位の層から渡された送信データを受信する送信データ受信手段と,B-2受信した送信データを所定の領域にて保持させる送信データ保持手段と,B-3前記所定の領域に保持されている送信データを受信機に向けて送信する送信手段と,B-4自身である下位層処理部においてのみ管理される所定の条件が,満たされているかどうかを判断する第1の判断手段と,B-5前記所定の条件が満たされていた場合,前記送信手段に送信データの送信を指示する第1の送信指示手段と,B-6前記通信設定手段によって施された前記通信設定が所定の通信設定であるかどうかを判断する第2の判断手段と,B-7前記通信設定が所定の通信設定であると判断された場合,前記送信手段に送信データの送信を指示する第2の送信指示手段と,を備える送信機。前記下位層処理部はデータリンク層における処理を実行する処理部であり,前記所定の条件は,所定時間の到来であり,前記所定の通信設定は,前記上位層処理部において送信データの区切りを示すものである,請求項1に記載の送信機。コンピュータネットワークにおける送信機を,上位層処理手段と,下位層処理手段として機能させるプログラムであって,前記上位層処理手段においては,少なくとも,通信の相手方である受信機において,自身と同じ階層である受信機の上位層処理手段によって使用されることが意図されている通信に関する設定通信設定を,送信データに施し,通信設定が施された送信データを自身より下位の層に渡すステップが実行され,前記下位層処理手段においては,少なくとも,自身より上位の層から渡された送信データを受信し,受信した送信データを所定の領域にて保持させ,自身である下位層処理手段においてのみ管理される所定の条件が,満たされているかどうかを判断し,前記所定の条件が満たされていた場合,前記所定の領域に保持されている送信データを受信機に向けて送信し,送信データに施された前記通信設定が所定の通信設定であるかどうかを判断し,前記通信設定が所定の通信設定であると判断された場合,前記所定の領域に保持されている送信データを受信機に向けて送信するステップが実行されるプログラム。前記下位層処理手段はデータリンク層における処理を実行する手段であり,前記所定の条件は,所定時間の到来であり,前記所定の通信設定は,前記上位層処理手段において送信データの区切りを示すものである,請求項3に記載のプログラム。本願発明はかかる課題を解決するものである。つまり,ネットワークにおけるデータの送信において,アグリゲーションによる通信の効率化を維持しつつ,即時性を要する通信に対してレスポンスよく送信を行うことのできる送信機およびそのプログラムを提供することである。本願発明にかかる第1の形態は,コンピュータネットワークにおいて,上位層処理部と下位層処理部の少なくとも2層の処理構造を有し,当該処理構造に基づいてデータを送信する送信機であって,上位層処理部は,通信の相手方である受信機において,自身と同じ階層である受信機の上位層処理部によって使用されることが意図されている通信に関する設定通信設定を,送信データに施す通信設定手段と,通信設定が施された送信データを自身より下位の層に渡す送信データ伝達手段と,を備え,下位層処理部は,自身より上位の層から渡された送信データを受信する送信データ受信手段と,受信した送信データを所定の領域にて保持させる送信データ保持手段と,所定の領域に保持されている送信データを受信機に向けて送信する送信手段と,自身である下位層処理部においてのみ管理される所定の条件が,満たされているかどうかを判断する第1の判断手段と,所定の条件が満たされていた場合,送信手段に送信データの送信を指示する第1の送信指示手段と,通信設定手段によって施された通信設定が所定の通信設定であるかどうかを判断する第2の判断手段と,通信設定が所定の通信設定であると判断された場合,送信手段に送信データの送信を指示する第2の送信指示手段と,を備える送信機である。好ましくは,下位層処理部はデータリンク層における処理を実行する処理部であり,所定の条件は,所定時間の到来であり,所定の通信設定は,上位層処理部において送信データの区切りを示すものである。本願発明にかかる第2の形態は,コンピュータネットワークにおける送信機を,上位層処理手段と,下位層処理手段として機能させるプログラムであって,上位層処理手段においては,少なくとも,通信の相手方である受信機において,自身と同じ階層である受信機の上位層処理手段によって使用されることが意図されている通信に関する設定通信設定を,送信データに施し,通信設定が施された送信データを自身より下位の層に渡すステップが実行され,下位層処理手段においては,少なくとも,自身より上位の層から渡された送信データを受信し,受信した送信データを所定の領域にて保持させ,自身である下位層処理手段においてのみ管理される所定の条件が,満たされているかどうかを判断し,所定の条件が満たされていた場合,所定の領域に保持されている送信データを受信機に向けて送信し,送信データに施された通信設定が所定の通信設定であるかどうかを判断し,通信設定が所定の通信設定であると判断された場合,所定の領域に保持されている送信データを受信機に向けて送信するステップが実行されるプログラムである。好ましくは,下位層処理手段はデータリンク層における処理を実行する手段であり,所定の条件は,所定時間の到来であり,所定の通信設定は,上位層処理手段において送信データの区切りを示すものである。本願発明では,アプリケーションが設定する送信データの区切りをMAC層にて判断し,区切りがあれば即座に送信する。これにより,即時性の必要のない送信データは通常のアグリゲーションによる送信を行い,即時性の必要なデータは即座に送信することができる。結果として,アグリゲーションによる利点を維持しつつも,アグリゲーションの欠点である,アプリケーションに対するレスポンス低下を抑制することができる。以下では図面を参照し本願発明に係る実施例を説明する。[実施例1][システム全体図]図2は本願発明が想定するシステムの全体図である。PC201と無線アクセスポイント202とが無線によってネットワーク接続されており,アクセスポイント202とPC203とが有線にてネットワーク接続されている。PC201は,アクセスポイント202を介してPC203と通信することが可能である。以下では,PC201がPC203にデータを送信する場合を例にとって説明する。[ネットワークスタック構造]図3はPC201におけるネットワークスタック構造を示したものである。上位からアプリケーション層,TCP/UDP層トランスポート層,IP層ネットワーク層,MAC層データリンク層および物理層という構成となっている。アプリケーション層は,ネットワーク層のプロトコルを利用するアプリケーションであり,たとえば背景技術で説明したようにHTTPやSNMPなどのことである。このスタック構造は一般的なものであるため,詳細な説明は省略する。なお,実施例では,PC201がPC203に向けてデータを送信する場合に関するものであり,アプリケーションはTCPもしくはUDPを利用する場合について説明する。[TCPヘッダ]図4はTCPヘッダの詳細である。本実施例では,TCPヘッダに含まれる情報をMAC層にて解析し,アグリゲーションによるフレーム送信をするか否かを判断する。本来,送信側で設定されたTCPヘッダの情報は,受信側のTCPでしか利用されないものであるが,本願発明では,それを送信側のMAC層でも利用する。図4に示すようにTCPヘッダには様々な情報がセグメント単位で入っており,本実施例では,コードビットのセグメントにおけるPSHを利用する。PSHとはPushFlagのことであり,受信したデータを即座に上位アプリケーションに渡すべきか否かを示すビットである。このビットをONにするか否かの設定は,送信機側のTCPが上位アプリケーションの指示に基づいて行う。つまり,HTTPやSNMPなどが必要に応じてTCPにONするか否かを指示するわけである。一方,受信機のTCPはPSHがONになっていると,即座にアプリケーションに受信データを渡す。[送信機の動作フローメインタスク]図5は本実施例にかかる送信機の動作フローである。図示するように,TCP層ステップ501~504とMAC層ステップ505~508の両階層の動作をまとめて示している。なお,送信機は,本図で示すメインタスクと後の図6で示すアグリゲーション監視タスクより構成されている。まずは,メインタスクについて説明する。ステップ501にて,アプリケーションよりTCPデータを受信する。ステップ502にて,受信したTCPデータについてPSHをONにすべき指示があるかどうかを判断し,指示があればステップ503に進み,そうでなければステップ504に進む。ステップ503にてPSHをONにしてMAC層にTCPデータを渡す一方,ステップ504ではOFFにして渡す。ステップ505にて,TCP層より渡されたデータがTCPであるかどうかを判断し,TCPであればステップ506に進み,そうでなければステップ508に進む。ステップ506にて,TCPヘッダのPSHがONであるかどうかを判断し,ONであればステップ507に進み,そうでなければステップ508に進む。ステップ507にて,後述するアグリゲーション監視タスクに,渡されたTCPデータの送信指示を出す。ステップ508にて,渡されたTCPデータをアグリゲートする。つまり,所定の領域にTCPデータをバッファリングするわけである。[送信機の動作フローアグリゲーション監視タスク]これより説明するアグリゲーション監視タスクとは,送信フレームの送信開始タイミングを監視しており,タイミングが到来すればアグリゲートしたフレームを送信するものである。ステップ601にて,所定時間が経過したかどうかを判断する。つまり,送信開始タイミングが到来したかどうかを判断する。判断の結果,タイミングが到来していれば,ステップ603に進み,そうでなければステップ602に進む。ステップ602にて,メインタスクからの送信指示を受信したかどうかを判断する。判断の結果,受信していればステップ603に進み,そうでなければステップ601に戻る。ステップ603にて,所定の領域にバッファリングされている送信フレームを送信する。このように,フレームを送信するトリガとして,通常のアグリゲーションによるものと,PSHがONになっていることを検出するものの2つを用いるため,アグリゲーションの利点を維持しつつも,必要に応じて即座にフレームを送信することができる。[実施例1の別の形態]実施例1では,MAC層にてTCPヘッダのPSHセグメントを解析することにより,アグリゲーションの途中であっても,即座にフレームを送信することができた。TCPヘッダには,PSH以外にも上位アプリケーションからの即時送信の意図を含ませることが可能なセグメントがある。それが図7で示す予約領域である。予約領域とは,現時点では使用用途が決まっていないセグメントであり,通常は無効であることを示すゼロがセットされている。実施例1の別の形態として,この予約領域を使用し,送信データをアグリゲートさせない旨をMAC層に伝えてもよい。その場合,上位のアプリケーションとTCPとの間で予約領域にセットするビットの意味を決める必要がある。たとえば,ビット0が1の場合は送信するなどである。また,MAC層では,ビットがセットされた予約領域を解析し,アグリゲートするか,即座にフレームを送信するかを判断すればよい。[実施例2]実施例1では,MAC層にてTCPヘッダのPSHセグメントを解析することにより,アグリゲーションの途中であっても即座にフレームを送信することができた。本願発明は,トランスポート層がTCP以外のものであっても当然に適用可能であり,本実施例ではUDPを用いる場合の例を示す。UDPのヘッダにはTCPのPSHに相当するセグメントが存在しない。このため,上位アプリケーションがUDPデータを送信する場合には,UDP層とMAC層の間に位置するIP層のヘッダに含まれるセグメントを使用する。図8はIPヘッダの詳細である。図示するようにIPヘッダにはフラグのセグメントが設けられている。フラグはIPパケットの分割を制御するビットであり,その意味は図9に示すとおりである。ビット0が予約ビットであり,通常は使用されない。ビット1は分割の可否が示されており,0が分割可能,1が分割不可である。ビット2は,分割パケットの終端か否かを示すものであり,0が分割パケットの終端で,1が分割パケットの途中を意味する。本実施例では,ビット2をMAC層で解析することにより,フレームを即座に送信するか否かを判断する。図10は本実施例にかかる送信機の動作フローである。本実施例のフローも実施例1と同様,メインタスクとアグリゲーション監視タスクより構成されており,アグリゲーション監視タスクは実施例1と同じであるため説明を省略する。ステップ1001にて,アプリケーションよりUDPデータを受信する。ステップ1002にて,IPが分割されており,かつ終端であるかどうかを判断する。これは,上位アプリケーションからの指示に基づき判断する。判断の結果,分割かつ終端であれば,ステップ1003に進み,そうでなければステップ1004に進む。ステップ1003にて,フラグフィールドのビット2を0にする。一方,ステップ1004にて,フラグフィールドのビット2を1にする。このステップ1003とステップ1004は,実際にはIP層にて行われる。ステップ1005にて,上位層より渡されたデータがUDPであるかどうかを判断する。判断の結果,UDPであればステップ1006に進み,そうでなければステップ1007に進む。ステップ1006にて,IPのフラグフィールドを解析し,ビット2が0であるかどうかを判断する。判断の結果,0であればステップ1007に進み,そうでなければステップ1008に進む。ステップ1007にて,アグリゲーション監視タスクに送信の指示を出す。すなわち,アグリゲートせずに即座に送信する旨を指示するわけである。ステップ1008にて,フレームをアグリゲートする。つまり,所定の領域にUDPデータをバッファリングするわけである。[すべての実施例におけるアグリゲーション監視タスクについて]これまで説明した実施例1別の形態含むおよび実施例2におけるアグリゲーション監視タスクのアグリゲーション動作は,所定時間の到来をトリガとしてバッファリングされたフレームを送信するものであった。しかし,フレーム送信のトリガは,これに限定されることなく他のものも利用可能である。例えば,所定数のフレームがバッファリングされた場合などである。さらに,これを所定時間の到来に組み合わせることも可能である。[まとめ]本願発明では,アプリケーションが設定する送信データの区切りをMAC層にて判断し,区切りがあれば即座に送信する。これにより,即時性の必要のない送信データは通常のアグリゲーションによる送信を行い,即時性の必要なデータは即座に送信することができる。結果として,アグリゲーションによる利点を維持しつつも,アグリゲーションの欠点である,アプリケーションに対するレスポンス低下を抑制することができる。"