(57)【要約】【課題】ユーザの望むリアルタイム性を実現可能にする。【解決手段】ネットワーク２による通信環境におけるサーバとクライアントとの間でデータの送受信が行われる場合に、サーバ側とクライアント側とのエンドポイントとして通信部１９が採用される。この場合、クライアント側の通信部１９のRTP設定部１１９は、自身で使用したい、ネットワーク２の性格を表すリアルタイムパラメータRTPを設定する。そして、リアルタイム制御部１１５は、このRTPに基づいてリアルタイム制御を行うことで、データの送受信処理を制御する。また、クライアント側の通信部１９は、設定したRTPをサーバ側に通知する。サーバ側のリアルタイム制御部１１５も、通知されたRTPに基づいてリアルタイム制御を行うことで、データの送受信処理を制御する。本発明は、ネットワーク環境におけるエンドポイントに適用可能である。【選択図】図４
2007201884.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク環境におけるサーバとクライアントとの間でデータの送受信が行われる場合に、前記サーバ側または前記クライアント側のエンドポイントとして機能する情報処理装置において、
前記クライアント側で使用したいネットワークの性格を表すパラメータとして、許容できる最大レイテンシーを少なくとも設定する設定手段と、
送受信対象のデータに対して、前記設定手段により設定された前記パラメータに基づいてリアルタイム制御を行うことで、そのデータの送受信処理を制御する制御手段と
を備える情報処理装置。
【請求項２】
前記設定手段は、前記パラメータとしてさらに優先度を設定する
請求項１に記載の情報処理装置。
【請求項３】
前記設定手段は、前記パラメータとしてさらに使用帯域を設定する
請求項２に記載の情報処理装置。
【請求項４】
前記情報処理装置は、前記クライアント側のエンドポイントとして機能し、
送信対象のデータのひとつとして、前記設定手段により設定された前記パラメータを前記サーバ側に通知するための通知データを生成する生成手段をさらに備える
請求項１に記載の情報処理装置。
【請求項５】
前記生成手段は、TCP/IP（Transmission Control Protocol/Internet Protocol）またはUDP/IP（User Datagram Protocol/ Internet Protocol）によるパケット化処理を行うことで、前記通知データをパケットとして生成する
請求項４に記載の情報処理装置。
【請求項６】
前記パラメータとして取り得る各値に対して、所定の１つのポート番号が予め割り当てられており、
前記設定手段は、さらに、設定した前記パラメータの値を、その値に対応付けられたポート番号に変換し、
前記生成手段は、前記変換手段により前記パラメータの値から変換された前記ポート番号を含むソケットを用いて、前記通知データであるパケットを生成する
請求項５に記載の情報処理装置。
【請求項７】
前記生成手段は、前記設定手段により設定された前記パラメータの値をデータ領域に記述したパケットを、前記前記通知データとして生成する
請求項５に記載の情報処理装置。
【請求項８】
前記情報処理装置は、
前記サーバ側のエンドポイントとして機能し、
前記パラメータが、前記クライアント側により設定されて、前記ネットワーク環境で送受信されるデータの形態に変換され、変換後のデータが前記クライアント側から送信されてきた場合、前記設定手段は、そのデータに基づいて、前記パラメータを設定する
請求項１に記載の情報処理装置。
【請求項９】
ネットワーク環境におけるサーバとクライアントとの間でデータの送受信が行われる場合に、前記サーバ側または前記クライアント側のエンドポイントとして機能する情報処理装置の情報処理方法において、
前記クライアント側で使用したいネットワークの性格を表すパラメータとして、許容できる最大レイテンシーを少なくとも設定し、
送受信対象のデータに対して、設定された前記パラメータに基づいてリアルタイム制御を行うことで、そのデータの送受信処理を制御する
ステップを含む情報処理方法。
【請求項１０】
ネットワーク環境におけるサーバとクライアントとの間でデータの送受信が行われる場合に、前記サーバ側または前記クライアント側のエンドポイントを制御するコンピュータに実行させるプログラムであって、
前記クライアント側で使用したいネットワークの性格を表すパラメータとして、許容できる最大レイテンシーを少なくとも設定し、
送受信対象のデータに対して、設定された前記パラメータに基づいてリアルタイム制御を行うことで、そのデータの送受信処理を制御する
ステップを含むプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置および方法並びにプログラムに関し、特に、大量のデータと、高いリアルタイム性が要求される制御コマンドデータ等が混在するような通信環境において、ユーザの望むリアルタイム性を実現可能にする情報処理装置および方法並びにプログラムに関する。
【背景技術】
【０００２】
インターネットでの優先制御技術や品質提供技術として、IntservやDiffservという技術が存在する。IntservはRSVP（Resource Reservation Protocol）というプロトコルを用いて、エンド-エンド間で帯域を確保し、QoS（Quality of Service）を保証しようとする技術である。このIntservでは、RSVPの複雑さやスケーラビリティ、実現の困難さから実用には至っていない。また、Diffservはネットワークのルータにおいて、IP（Internet Protocol）ヘッダ内のDSCPフィールドの値に従ってパケットスケジューリングを行い、相対的なQoS保証を実現する技術である。
【０００３】
一方、ネットワーク環境のエンドポイントでの処理を高速化してリアルタイム性を実現しようとする技術が、特許文献１に開示されている。この特許文献１の技術では、TCP/IP（Transmission Control Protocol/Internet Protocol）処理を、OS（Operating System）制御下のソフトウエアから専用のハードウエアに移行することで、OS制御下のタスクに邪魔されることなくプロトコル処理を実行する事が可能になり、ネットワーク通信の高リアルタイム性を可能にしている。
【０００４】
ここにリアルタイム性とは、一定時間内に所定の処理を完了しなければならないという制約、即ちいわゆる時間制約を満たすことをいう。
【特許文献１】特開２００３−１４３２２１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、IntservやDiffservという技術はいずれもエンド-エンド間の経路での制御であり、エンドポイント内部での優先制御処理ではないため、大量のデータと、高いリアルタイム性が要求される制御コマンドデータ等が混在するような通信環境において、ユーザの望むリアルタイム性の実現が非常に困難である点が問題となる。
【０００６】
一方、特許文献１の技術は、処理自体での優先制御を行っていないため、大量のデータと、高いリアルタイム性が要求される制御コマンドデータ等が混在するような通信環境において、ユーザの望むリアルタイム性の実現が非常に困難である点が問題となる。
【０００７】
即ち、現状の技術では、たとえそれらを組み合わせても、大量のデータと、高いリアルタイム性が要求される制御コマンドデータ等が混在するような通信環境において、ユーザの望むリアルタイム性を実現することは非常に困難である、という問題に帰着する。
【０００８】
本発明は、このような状況に鑑みてなされたものであり、大量のデータと、高いリアルタイム性が要求される制御コマンドデータ等が混在するような通信環境において、ユーザの望むリアルタイム性を実現可能にするものである。
【課題を解決するための手段】
【０００９】
本発明の一側面の情報処理装置は、ネットワーク環境におけるサーバとクライアントとの間でデータの送受信が行われる場合に、前記サーバ側または前記クライアント側のエンドポイントとして機能する情報処理装置であって、前記クライアント側で使用したいネットワークの性格を表すパラメータとして、許容できる最大レイテンシーを少なくとも設定する設定手段と、送受信対象のデータに対して、前記設定手段により設定された前記パラメータに基づいてリアルタイム制御を行うことで、そのデータの送受信処理を制御する制御手段とを備える。
【００１０】
前記設定手段は、前記パラメータとしてさらに優先度を設定することができる。
【００１１】
前記設定手段は、前記パラメータとしてさらに使用帯域を設定することができる。
【００１２】
前記情報処理装置は、前記クライアント側のエンドポイントとして機能し、送信対象のデータのひとつとして、前記設定手段により設定された前記パラメータを前記サーバ側に通知するための通知データを生成する生成手段をさらに備えることができる。
【００１３】
前記生成手段は、TCP/IP（Transmission Control Protocol/Internet Protocol）またはUDP/IP（User Datagram Protocol/ Internet Protocol）によるパケット化処理を行うことで、前記通知データをパケットとして生成することができる。
【００１４】
前記パラメータとして取り得る各値に対して、所定の１つのポート番号が予め割り当てられており、前記設定手段は、さらに、設定した前記パラメータの値を、その値に対応付けられたポート番号に変換し、前記生成手段は、前記変換手段により前記パラメータの値から変換された前記ポート番号を含むソケットを用いて、前記通知データであるパケットを生成することができる。
【００１５】
前記生成手段は、前記設定手段により設定された前記パラメータの値をデータ領域に記述したパケットを、前記前記通知データとして生成することができる。
【００１６】
前記情報処理装置は、前記サーバ側のエンドポイントとして機能し、前記パラメータが、前記クライアント側により設定されて、前記ネットワーク環境で送受信されるデータの形態に変換され、変換後のデータが前記クライアント側から送信されてきた場合、前記設定手段は、そのデータに基づいて、前記パラメータを設定することができる。
【００１７】
本発明の一側面の情報処理方法は、ネットワーク環境におけるサーバとクライアントとの間でデータの送受信が行われる場合に、前記サーバ側または前記クライアント側のエンドポイントとして機能する情報処理装置の情報処理方法であって、前記クライアント側で使用したいネットワークの性格を表すパラメータとして、許容できる最大レイテンシーを少なくとも設定し、送受信対象のデータに対して、設定された前記パラメータに基づいてリアルタイム制御を行うことで、そのデータの送受信処理を制御するステップを含む。
【００１８】
本発明の一側面のプログラムは、上述した本発明の一側面の情報処理方法に対応するプログラムである。
【００１９】
本発明の一側面の情報処理装置および方法並びにプログラムにおいては、ネットワーク環境におけるサーバとクライアントとの間でデータの送受信が行われる場合に、前記サーバ側または前記クライアント側のエンドポイントにより次のような処理が実行される。前記クライアント側で使用したいネットワークの性格を表すパラメータとして、許容できる最大レイテンシーが少なくとも設定され、送受信対象のデータに対して、設定された前記パラメータに基づいてリアルタイム制御が行われることで、そのデータの送受信処理が制御される。
【発明の効果】
【００２０】
以上のごとく、本発明によれば、サーバとクライアントとの間のデータの送受信を伴う処理の実行ができる。特に、かかる処理の実行に際して、大量のデータと、高いリアルタイム性が要求される制御コマンドデータ等が混在するような通信環境において、ユーザの望むリアルタイム性が実現できる。
【発明を実施するための最良の形態】
【００２１】
以下に本発明の実施の形態を説明するが、請求項に記載の構成要件と、明細書又は図面における具体例との対応関係を例示すると、次のようになる。この記載は、請求項に記載されている発明をサポートする具体例が、明細書又は図面に記載されていることを確認するためのものである。従って、明細書又は図面中には記載されているが、構成要件に対応するものとして、ここには記載されていない具体例があったとしても、そのことは、その具体例が、その構成要件に対応するものではないことを意味するものではない。逆に、具体例が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その具体例が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【００２２】
さらに、この記載は、明細書又は図面に記載されている具体例に対応する発明が、請求項に全て記載されていることを意味するものではない。換言すれば、この記載は、明細書又は図面に記載されている具体例に対応する発明であって、この出願の請求項には記載されていない発明の存在、すなわち、将来、分割出願されたり、補正により追加される発明の存在を否定するものではない。
【００２３】
本発明の一側面の情報処理装置（例えば図２の通信部１９として搭載される装置であって、図３のハードウエア構成を有し、図４、図１１、図１８、または図２２の機能的構成を有する装置。ただし、以下、説明の簡略上、図４または図１１の機能的構成を有する装置についてのみ、対応関係を例示する）は、
ネットワーク環境（例えば、図１のネットワーク２による通信環境）におけるサーバとクライアントとの間でデータの送受信が行われる場合（例えば、通信装置１−１乃至１−Ｎのうちの２台間で通信が行われる場合）に、前記サーバ側または前記クライアント側のエンドポイントとして機能する情報処理装置において、
前記クライアント側で使用したいネットワークの性格を表すパラメータとして、許容できる最大レイテンシーを少なくとも設定する設定手段（例えば、クライアント側として機能している場合には図４や図１１のRTP設定部１１９であり、サーバ側として機能している場合には図４や図１１のパケット判定部１１８である）と、
送受信対象のデータに対して、前記設定手段により設定された前記パラメータに基づいてリアルタイム制御を行うことで、そのデータの送受信処理を制御する制御手段（例えば図４や図１１のリアルタイム制御部１１５）と
を備える。
【００２４】
前記情報処理装置は、前記クライアント側のエンドポイントとして機能し、
送信対象のデータのひとつとして、前記設定手段により設定された前記パラメータを前記サーバ側に通知するための通知データを生成する生成手段（例えば図４のプロトコル処理部１１４）をさらに備える。
【００２５】
前記生成手段は、TCP/IP（Transmission Control Protocol/Internet Protocol）またはUDP/IP（User Datagram Protocol/ Internet Protocol）によるパケット化処理を行うことで、前記通知データをパケットとして生成する。
この場合、例えば図４の例では、
前記パラメータとして取り得る各値に対して、所定の１つのポート番号が予め割り当てられており（例えば図６の表参照）、
前記設定手段は、さらに、設定した前記パラメータの値を、その値に対応付けられたポート番号に変換し（例えば図５のステップＳ４）、
前記生成手段は、前記変換手段により前記パラメータの値から変換された前記ポート番号を含むソケット（例えば図５のステップＳ５）を用いて、前記通知データであるパケットを生成する（例えば図７のステップＳ１５）。
或いは、この場合、例えば図１１の例では、
前記生成手段は、前記設定手段により設定された前記パラメータの値をデータ領域に記述したパケット（例えば図１２や図１３の構造のRTP通知用パケット）を、前記前記通知データとして生成する。
【００２６】
前記情報処理装置は、
前記サーバ側のエンドポイントとして機能し、
前記パラメータが、前記クライアント側により設定されて、前記ネットワーク環境で送受信されるデータの形態に変換され、変換後のデータが前記クライアント側から送信されてきた場合、前記設定手段は、そのデータに基づいて、前記パラメータを設定する（例えば、図９のステップＳ３７や、図１６のステップＳ８５，Ｓ８６）
【００２７】
本発明の一側面の情報処理方法は、
ネットワーク環境におけるサーバとクライアントとの間でデータの送受信が行われる場合に、前記サーバ側または前記クライアント側のエンドポイントとして機能する情報処理装置の情報処理方法（例えば図２の通信部１９に対応する装置であって、図３のハードウエア構成を有し、図４、図１１、図１８、または図２２の機能的構成を有する装置の情報処理方法。ただし、以下、説明の簡略上、図４の装置の情報処理方法についてのみ対応関係を例示する）において、
前記クライアント側で使用したいネットワークの性格を表すパラメータとして、許容できる最大レイテンシーを少なくとも設定し（例えば、装置がクライアント側として機能している場合には図５のクライアント側でのRTP設定処理。また、装置がサーバ側として機能している場合には図９のステップＳ３７）、
送受信対象のデータに対して、設定された前記パラメータに基づいてリアルタイム制御を行うことで、そのデータの送受信処理を制御する（例えば、装置がクライアント側として機能している場合には図７のステップＳ１６や図８のステップＳ２５。また、装置がサーバ側として機能している場合には図９のステップＳ３８や図１０のステップＳ５４）
ステップを含む。
【００２８】
本発明の一側面のプログラムは、上述した本発明の一側面の情報処理方法に対応するプログラムであって、例えば、後述する図３のCPU５１を有するコンピュータにより実行される。
【００２９】
以下、図面を参照して、本発明の実施の形態について説明する。
【００３０】
図１は、本発明を適用した情報処理システムの構成例を示している。
【００３１】
図１の例の情報処理システムは、Ｎ台（Ｎは２以上の任意の整数値）のデータ通信装置１−１乃至１−Ｎで構成されている。通信装置１−１乃至１−Ｎは、ネットトワーク２を介して相互に通信を行うことができる。
【００３２】
なお、本明細書では、通信装置１−１乃至１−Ｎのうちの、通信の要求を行う側の装置をクライアントと称し、通信の要求がなされる側の装置をサーバと称する。即ち、通信装置１−１乃至１−Ｎは、通信相手（他の通信装置）との関係によって、サーバとしても機能するし、クライアントとしても機能する。さらに、通信装置１−１乃至１−Ｎは、通信相手が複数存在する場合には、サーバとクライアントとして同時に機能し得る。
【００３３】
また、以下、通信装置１−１乃至１−Ｎを個々に区別する必要がない場合、単に通信装置１と称する。さらに、クライアントして機能している通信装置１を、クライアント側の通信装置１と称し、サーバとして機能している通信装置１をサーバ側の通信装置１と称する。
【００３４】
かかる通信装置１のハードウエアの構成例が図２に示されている。
【００３５】
図２の例の通信装置１において、CPU（Central Processing Unit）１１は、ROM（Read Only Memory）１２に記憶されているプログラム、または記録部１８からRAM（Random Access Memory）１３にロードされたプログラムにしたがって各種の処理を実行する。RAM１３にはまた、CPU１１が各種の処理を実行する上において必要なデータなども適宜記憶される。
【００３６】
CPU１１、ROM１２、およびRAM１３は、バス１４を介して相互に接続されている。このバス１４にはまた、入出力インターフェース１５も接続されている。
【００３７】
入出力インターフェース１５には、キーボード、マウスなどよりなる入力部１６、スピーカおよびLCD（Liquid Crystal Display）などのディスプレイなどよりなる出力部１７、ハードディスクなどより構成される記録部１８、並びに通信部１９が接続されている。
【００３８】
通信部１９は、例えば、NIC（Network Interface Card）などから構成され、ネットワーク２を介しての他のブロックとの通信処理を制御する。通信部１９の詳細は後述する。
【００３９】
入出力インターフェース１５にはまた、必要に応じてドライブ２０が接続され、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブルメディア２１が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記録部１８にインストールされる。
【００４０】
なお、通信装置１のハードウエアの構成は、図２の例に限定されず、後述する図４、図１１、図１８、または図２２の機能的構成を少なくとも有していればよい。
【００４１】
図３は、通信部１９のハードウエアの構成例を示している。
【００４２】
通信部１９は、入出力インターフェース１５（図２）に接続され、CPU１１（図２）から供給されるデータを、ネットワーク２を介して、ネットワーク２に接続されている他の機器（図１の例では、他の通信装置１）に送信したり、ネットワーク２に接続されている他の機器から送信されてくるデータを受信し、CPU１１に供給したりする。また、通信部１９は、例えば、TCP/IP（Transmission Control Protocol/Internet Protocol）などのプロトコルスタックの処理（プロトコルスタックに関する所定の処理）を行う。
【００４３】
通信部１９は、CPU５１、ROM５２、RAM５３、記録部５５、インターフェース５６、および送受信処理部５７を含むようにして構成される。CPU５１、ROM５２、RAM５３、記録部５５、インターフェース５６、および送受信処理部５７のそれぞれは、バス５４を介して相互に接続されている。
【００４４】
図３の例の通信部１９において、CPU５１は、ROM５２に記憶されているプログラム、または記録部５５からRAM５３にロードされたプログラムにしたがって各種の処理を実行する。RAM５３にはまた、CPU５１が各種の処理を実行する上において必要なデータなども適宜記憶される。
【００４５】
送受信処理部５７は、CPU５１の制御の基に、例えば、ネットワーク２を介して他の機器にデータを送信したり、ネットワーク２に接続されている他の機器から送信されてくるデータを受信したりするための所定の処理を行う。
【００４６】
なお、通信部１９のハードウエアの構成は、図３の例に限定されず、後述する図４、図１１、図１８、または図２２の機能的構成を少なくとも有していればよい。
【００４７】
かかる図２，図３のハードウエア構成の通信装置１が有する機能のうちの、ネットワーク２を介する他の通信装置１との通信処理に関する機能を実現するための機能的構成の一例が図４に示されている。図４の例では、通信装置１は、ネットワークアプリケーション実行部１１１乃至RTP-クライアント側ポート番号変換表保持部１２１を含むように構成されている。
【００４８】
より詳細には、図４の例では、ネットワークアプリケーション実行部１１１のみが、通信部１９の外部に設けられており、それ以外のインターフェース部１１２乃至RTP-クライアント側ポート番号変換表保持部１２１が通信部１９に設けられている。
【００４９】
換言すると、図４の例では、ネットワークアプリケーション実行部１１１のみが、CPU１１（図２）が実行するOS制御下のアプリケーションソフトウエア（ネットワークアプリケーション）により機能し、それ以外のインターフェース部１１２乃至RTP-クライアント側ポート番号変換表保持部１２１は、通信部１９のCPU５１（図３）の制御に基づいて機能する。
【００５０】
なお、ネットワークアプリケーション実行部１１１乃至RTP-クライアント側ポート番号変換表保持部１２１の各個別機能（動作）の説明については、後述する図５乃至図１０の説明時に適宜行うこととし、ここでは省略する。
【００５１】
図４の例の機能的構成を有する通信装置１−１乃至１−Ｎからなる情報処理システム（図１）においては、クライアント側の通信装置１のネットワークアプリケーションソフトウエアに、通信に使用したいRTPを設定する機能が搭載されている。かかるネットワークアプリケーションは、ネットワークアプリケーション実行部１１１により実行される。
【００５２】
ここに、RTPとは、リアルタイムパラメータ（Real Time Parameter）の略語である。リアルタイムパラメータとは、ネットワーク環境のエンドポイント（終端デバイスであって、本実施の形態では図２と図３の通信部１９）において、クライアント側の通信装置１がデータの送受信に使用したいネットワーク２の性格を表すパラメータのことをいう。ネットワーク２の性格とは、例えば、優先度、使用帯域、許容できる最大レイテンシー等をいう。
【００５３】
この場合、クライアント側の通信装置１は、サーバ側にRTPを通知するために、予め定められた変換表（具体例については図６を参照して後述する）に従ってRTPを送信元ポート番号に変換し、その送信元ポート番号を用いてサーバ側にRTPを通知する。なお、以下、かかる変換表を、RTP-クライアント側ポート番号変換表と称する。また、RTP-クライアント側ポート番号変換表が予め定められたとは、図４の例では、RTP-クライアント側ポート番号変換表がRTP-クライアント側ポート番号変換表保持部１２１に予め保持されていることを意味する。
【００５４】
サーバ側の通信装置１は、クライアント側から通知された送信元ポート番号を、RTP-クライアント側ポート番号変換表を用いてRTPに変換する。この場合、RTP-クライアント側ポート番号変換表は、サーバ側の通信装置１においても予め定められている。即ち、RTP-クライアント側ポート番号変換表は、サーバ側のRTP-クライアント側ポート番号変換表保持部１２１にも予め保持されている。
【００５５】
なお、RTPは、サーバ側自身のネットワークアプリケーションから指定されたものを利用することもできる。
【００５６】
このようにして、クライアント側とサーバ側の両方の通信装置１においてRTPが指定されることになるので、以降、クライアント側とサーバ側の各通信装置１のそれぞれは、RTPに基づいて、データの送受信処理に対するリアルタイム制御を行うことができる。ここに、RTPに基づくリアルタイム制御とは、例えば、RTPが優先度を示すパラメータの場合には優先制御のことをいい、例えばRTPが使用帯域を示すパラメータの場合には帯域割り当ての制御のことをいい、また例えば、RTPが最大レイテンシーを示すパラメータの場合には最大レイテンシー確保の制御のことをいう。
【００５７】
かかる情報処理システムの動作を実現するためのクライアント側またはサーバ側の幾つかの処理例が、図５乃至図１０に示されている。
【００５８】
図５は、クライアント側の通信装置１（図４）が、RTPの設定を行うまでの一連の処理（以下、クライアント側でのRTP設定処理と称する）の一例を説明するフローチャートである。
【００５９】
ステップＳ１において、ネットワークアプリケーション実行部１１１により実行されるネットワークアプリケーションは（以下、単に「ネットワークアプリケーション実行部１１１は」と表現する）、インターフェース部１１２を介してソケット処理部１１３に対して、ソケット生成要求を出す。
【００６０】
ステップＳ２において、ソケット処理部１１３は、ソケットを生成する。ソケットとは、例えば本実施の形態では、IPアドレスとポート番号との組み合わせをいう。ただし、ステップＳ２の処理の段階では、ポート番号は確定しておらず、後述するステップＳ５の処理で確定（バインド）する。
【００６１】
ステップＳ３において、ネットワークアプリケーション実行部１１１は、通信に使用したいRTP（その種類と値）を、インターフェース部１１２を介してRTP設定部１１９に指定する。
【００６２】
ステップＳ４において、RTP設定部１１９は、指定されたRTPを、RTP−クライアントポート番号変換表保持部１２１に予め記録されているRTP-クライアントポート番号変換表を用いてクライアント側のポート番号に変換し、そのポート番号とRTPをRTP保持部１２０に記録する。
【００６３】
具体的には例えば、RTP−クライアントポート番号変換表保持部１２１に図６の例のRTP-クライアントポート番号変換表が記録されているとする。即ち、図６は、RTPの種類として、最大レイテンシー、使用帯域、および、優先度の３種類のうちの所定の１種類のみが使用される場合における、RTP-クライアントポート番号変換表の一例を示している。
【００６４】
この場合、ステップＳ３の処理で指定されたRTPの種類が最大レイテンシーであって、そのRTP値が1msである場合には、ステップＳ４の処理で、20000のポート番号に変換されることになる。そして、「最大レイテンシー：1ms」と「ポート番号:20000」とが対応付けられてRTP保持部１２０に記録されることになる。
【００６５】
なお、使用されるRTPの種類は、後述するように、１種類に限定されず、最大レイテンシー、使用帯域、および、優先度の３種類のうちの所定の２種類または全種類が使用される場合もある。このような場合、図示はしないが、各種類の取り得る各値の種類間の全組み合わせのそれぞれについて、一意のポート番号を割り当て、その割り当てを示すRTP-クライアントポート番号変換表を採用すればよい。
【００６６】
ステップＳ５において、ソケット処理部１１３は、RTP保持部１２０からポート番号（上述した具体例では20000）を読み出し、そのポート番号を、ステップＳ２の処理で生成されたソケットにバインドする。
【００６７】
これにより、クライアント側でのRTP設定処理は終了となる。
【００６８】
図７は、クライアント側の通信装置１（図４）が、リアルタイム制御を行いつつデータをネットワーク２に送信するまでの一連の処理（以下、クライアント側データ送信のリアルタイム制御処理と称する）の一例を説明するフローチャートである。
【００６９】
ステップＳ１１において、ネットワークアプリケーション実行部１１１は、インターフェース部１１２を介してソケット処理部１１３に対して、送信対象の（送信したい）ソケットとデータを指定し、送信要求を出す。
【００７０】
ステップＳ１２において、ソケット処理部１１３は、クライアント側ポート番号が指定されているか否か、即ち、上述した図５のクライアント側でのRTP設定処理が既に実行されてRTPが設定されているか否かを判定する。
【００７１】
ステップＳ１２において、クライアント側ポート番号が指定されていないと判定した場合、ソケット処理部１１３は、ステップＳ１３において、エフェメラルポート番号を設定する。
【００７２】
ステップＳ１３の処理でエフェメラルポート番号が設定された場合、または、ステップＳ１２の処理でクライアント側ポート番号が指定されていると判定された場合、処理はステップＳ１４に進む。ステップＳ１４において、ソケット処理部１１３は、ステップＳ１１の処理で指定されたデータをプロトコル処理部１１４に通知する。
【００７３】
ステップＳ１５において、プロトコル処理部１１４は、ステップＳ１１の処理で指定されたデータ（ステップＳ１４の処理で通知されたデータ）をネットワーク２へ送出するための処理として、例えば本実施の形態ではTCP UDP/IPのパケット化処理を行い、パケットを生成する。なお、TCP UDP/IP とは、TCP/IPまたはUDP（User Datagram Protocol）/IPを意味する。
【００７４】
ステップＳ１５の処理で生成されたパケットが、プロトコル処理部１１４からリアルタイム制御部１１５に提供されると、処理はステップＳ１６に進む。
【００７５】
ステップＳ１６において、リアルタイム制御部１１５は、RTP保持部１２０に記録されているRTPに基づいて、リアルタイム制御（例えば、優先制御、帯域割り当て、最大レイテンシー確保等）を行う。
【００７６】
なお、その際、RTPが設定されていないとき、即ち、RTP保持部１２０にRTPが記録されていないときには、リアルタイム制御部１１５は、デフォルトのRTPを用いてリアルタイム制御を行うとする。
【００７７】
かかるリアルタイム制御がなされて、パケットが、リアルタイム制御部１１５からパケット送信部１１６に提供されると、処理はステップＳ１７に進む。
【００７８】
ステップＳ１７において、パケット送信部１１６は、ネットワーク２にパケットを送出する。
【００７９】
これにより、クライアント側データ送信のリアルタイム制御処理は終了となる。
【００８０】
以上説明したように、リアルタイム制御部１１５は、送出するパケットに対してリアルタイム制御を行うことができるので、大量データの送信中であっても、他のデバイスを制御するコマンド（以下、制御コマンドと称する）等の遅延を最小限にしたデータ送信の実現が可能になる。
【００８１】
図８は、クライアント側の通信装置１（図４）が、受信したデータに対するリアルタイム制御を伴う処理（以下、クライアント側データ受信のリアルタイム制御処理と称する）の一例を説明するフローチャートである。
【００８２】
ステップＳ２１において、パケット受信部１１７は、ネットワーク２からパケットを受信する。
【００８３】
このパケットが、パケット受信部１１７からパケット判定部１１８に提供されると、処理はステップＳ２２に進む。
【００８４】
ステップＳ２２において、パケット判定部１１８は、パケットヘッダのアドレスやポート番号をチェックする。そして、ステップＳ２３において、パケット判定部１１８は、そのチェック結果に基づいて、自身がクライアントとして振舞っているプロセス宛のパケットであるか否かを判定する。
【００８５】
ステップＳ２３において、自身がクライアントとして振舞っているプロセス宛のパケットではないと判定された場合、即ち、自身がサーバとして振舞っているプロセス宛のパケットであると判定された場合、ステップＳ２４において、サーバ側データ受信のリアルタイム制御処理が実行され、このクライアント側データ受信のリアルタイム制御処理は終了となる。なお、ステップＳ２４でいう「サーバ側データ受信のリアルタイム制御処理」とは、例えば本実施の形態では、後述する図９のステップＳ３５乃至Ｓ４１までの処理をいう。
【００８６】
これに対して、自身がクライアントとして振舞っているプロセス宛のパケットであると判定された場合、パケットが、パケット判定部１１８からリアルタイム制御部１１５に提供されて、処理はステップＳ２５に進む。
【００８７】
ステップＳ２５において、リアルタイム制御部１１５は、RTP保持部１２０に記録されているRTPに基づいて、リアルタイム制御（例えば、優先制御、帯域割り当て、最大レイテンシー確保等）を行う。
【００８８】
なお、その際、RTPが設定されていないとき、即ち、RTP保持部１２０にRTPが記録されていないときには、リアルタイム制御部１１５は、デフォルトのRTPを用いてリアルタイム制御を行うとする。
【００８９】
かかるリアルタイム制御がなされて、パケットが、リアルタイム制御部１１５からプロトコル処理部１１４に提供されると、処理はステップＳ２６に進む。
【００９０】
ステップＳ２６において、プロトコル処理部１１４は、ステップＳ２１の処理で受信されたパケットのプロトコル処理として、例えば本実施の形態ではTCP UDP/IPを用いる処理を行う。
【００９１】
ステップＳ２７において、プロトコル処理部１１４は、パケットにデータが存在するか否かを判定する。
【００９２】
ステップＳ２７において、パケットにデータが存在すると判定した場合、プロトコル処理部１１４は、ステップＳ２８において、パケットからデータを取り出し、ソケット処理部１１３とインターフェース部１１２とを介してネットワークアプリケーション実行部１１１にそのデータを提供する。
【００９３】
このようなステップＳ２８の処理が終了するか、または、ステップＳ２７の処理でパケットにデータが存在しないと判定されると、クライアント側データ受信のリアルタイム制御処理は終了となる。
【００９４】
以上説明したように、リアルタイム制御部１１５は、プロトコル処理部１１４に渡すパケットに対してもリアルタイム制御を行うことができるので、大量データの受信中であっても、制御コマンドの受け付けや実行が可能になる。
【００９５】
以上、図４の通信装置１について、クライアント側の各種処理例について説明した。そこで、以下、サーバ側の通信装置１の処理の幾つかの例について説明する。
【００９６】
例えば本実施の形態では、サーバ側の通信装置１におけるRTPの設定や、受信処理のリアルタイム制御は、次のような処理によりなされる。
【００９７】
即ち、サーバ側の通信装置１は、RTPの設定の処理として、サーバ側ネットワークアプリケーションにより指定されたRTPを設定する処理と、クライアント側から送信されるパケットの送信元ポート番号(クライアント側ポート番号)を基に判別したRTPを設定する処理とをそれぞれ実行することができる。
【００９８】
この場合、前者のRTPの設定の処理がなされたときには、サーバ側の通信装置１のリアルタイム制御を伴うデータの送受信処理は、上述した図７のクライアント側データ送信のリアルタイム制御処理と図８のクライアント側データ受信のリアルタイム制御処理と基本的に同様となる。
【００９９】
これに対して、後者のRTPの設定の処理がなされるときには、サーバ側の通信装置１のリアルタイム制御を伴うデータの送受信処理としては、例えば図９のフローチャートに従った処理がなされる。ただし、図９のフローチャートには、データの送受信処理例のみならず、後者のRTPの設定の処理、即ち、クライアント側から送信されるパケットの送信元ポート番号(クライアント側ポート番号)を基に判別したRTPを設定する処理の例も記載されている。そこで、以下、図９の処理を、クライアント側からのデータに基づく、サーバ側でのRTP設定およびデータ受信のリアルタイム制御処理と称する。
【０１００】
ステップＳ３１において、パケット受信部１１７は、ネットワーク２からパケットを受信する。
【０１０１】
このパケットが、パケット受信部１１７からパケット判定部１１８に提供されると、処理はステップＳ３２に進む。
【０１０２】
ステップＳ３３において、パケット判定部１１８は、パケットヘッダのアドレスやポート番号をチェックする。そして、ステップＳ３３において、パケット判定部１１８は、そのチェック結果に基づいて、自身がサーバとして振舞っているプロセス宛のパケットであるか否かを判定する。
【０１０３】
ステップＳ３３において、自身がサーバとして振舞っているプロセス宛のパケットではないと判定された場合、即ち、自身がクライアントとして振舞っているプロセス宛のパケットであると判定された場合、ステップＳ３４において、クライアント側データ受信のリアルタイム制御処理が実行され、このクライアント側からのデータに基づく、サーバ側でのRTP設定およびデータ受信のリアルタイム制御処理は終了となる。なお、ステップＳ３４でいう「サーバ側データ受信のリアルタイム制御処理」とは、例えば本実施の形態では、上述した図８のステップＳ２５乃至Ｓ２８までの処理をいう。
【０１０４】
これに対して、自身がサーバとして振舞っているプロセス宛のパケットであると判定された場合、処理はステップＳ３５に進む。
【０１０５】
ステップＳ３５において、パケット判定部１１８は、そのパケットに格納されている送信元アドレスやポート番号から、通信相手が、本ネットワーク通信装置であるか否かを判定する。
【０１０６】
ここに、本ネットワーク通信装置とは、上述した図４、または、後述する図１１、図１８、若しくは図２２の機能的構成を有する通信部１９（エンドポイント）が搭載された通信装置１をいう。
【０１０７】
即ち、図１には図示はしていないが、ネットワーク２の形態によっては、上述した図４、または、後述する図１１、図１８、若しくは図２２の機能的構成とは別の機能的構成を有するエンドポイントを搭載した装置が接続されている場合がある。このような場合、通信装置１は、かかる装置も通信相手とすることができる。ただし、かかる装置が通信相手となったときには、ステップＳ３５において、通信相手が、本ネットワーク通信装置ではないと判定されて、後述するステップＳ３７の処理は実行されずにパケットがパケット判定部１１８からリアルタイム制御部１１５に提供されて、処理はステップＳ３８に進む。
【０１０８】
これに対して、ステップＳ３５において、通信相手が、本ネットワーク通信装置であると判定した場合には、パケット判定部１１８は、さらに、以前にRTPを判定したことがあるか否かを判定する。
【０１０９】
ステップＳ３５において、以前にRTPを判定したことがあると判定された場合、後述するステップＳ３７の処理は実行されずにパケットがパケット判定部１１８からリアルタイム制御部１１５に提供されて、処理はステップＳ３８に進む。
【０１１０】
これに対して、ステップＳ３５において、以前にRTPを判定したことがないと判定した場合、パケット判定部１１８は、RTP-クライアント側ポート番号変換表保持部１２１に予め記録されているRTP-クライアント側ポート番号変換表を用いて、送信元ポート番号（クライアント側ポート番号）からRTPを判定し、それをRTP保持部１２０に記録する。そして、パケットがパケット判定部１１８からリアルタイム制御部１１５に提供されて、処理はステップＳ３８に進む。
【０１１１】
ステップＳ３８において、リアルタイム制御部１１５は、RTP保持部１２０に記録されているRTPに基づいて、リアルタイム制御（例えば、優先制御、帯域割り当て、最大レイテンシー確保等）を行う。
【０１１２】
なお、その際、RTPが設定されていないとき、即ち、RTP保持部１２０にRTPが記録されていないときには、リアルタイム制御部１１５は、デフォルトのRTPを用いてリアルタイム制御を行うとする。
【０１１３】
かかるリアルタイム制御がなされて、パケットが、リアルタイム制御部１１５からプロトコル処理部１１４に提供されると、処理はステップＳ３９に進む。
【０１１４】
ステップＳ３９において、プロトコル処理部１１４は、ステップＳ３１の処理で受信されたパケットのプロトコル処理として、例えば本実施の形態ではTCP UDP/IPを用いる処理を行う。
【０１１５】
ステップＳ４０において、プロトコル処理部１１４は、パケットにデータが存在するか否かを判定する。
【０１１６】
ステップＳ４０において、パケットにデータが存在すると判定した場合、プロトコル処理部１１４は、ステップＳ４１において、パケットからデータを取り出し、ソケット処理部１１３とインターフェース部１１２とを介してネットワークアプリケーション実行部１１１にそのデータを提供する。
【０１１７】
このようなステップＳ４１の処理が終了するか、または、ステップＳ４０の処理でパケットにデータが存在しないと判定されると、クライアント側からのデータに基づく、サーバ側でのRTP設定およびデータ受信のリアルタイム制御処理は終了となる。
【０１１８】
次に、図１０のフローチャートを参照して、サーバ側の通信装置１（図４）が、リアルタイム制御を行いつつデータをネットワーク２に送信するまでの一連の処理（以下、サーバ側データ送信のリアルタイム制御処理と称する）の一例について説明する。
【０１１９】
ステップＳ５１において、ネットワークアプリケーション実行部１１１は、インターフェース部１１２を介してソケット処理部１１３に対して、送信対象の（送信したい）ソケットとデータを指定し、送信要求を出す。
【０１２０】
ステップＳ５２において、ソケット処理部１１３は、ステップＳ５１の処理で指定されたデータをプロトコル処理部１１４に通知する。
【０１２１】
ステップＳ５３において、プロトコル処理部１１４は、ステップＳ５１の処理で指定されたデータ（ステップＳ５２の処理で通知されたデータ）をネットワーク２へ送出するための処理として、例えば本実施の形態ではTCP UDP/IPのパケット化処理を行い、パケットを生成する。
【０１２２】
ステップＳ５３の処理で生成されたパケットが、プロトコル処理部１１４からリアルタイム制御部１１５に提供されると、処理はステップＳ５４に進む。
【０１２３】
ステップＳ５４において、リアルタイム制御部１１５は、RTP保持部１２０に記録されているRTPに基づいて、リアルタイム制御（例えば、優先制御、帯域割り当て、最大レイテンシー確保等）を行う。
【０１２４】
なお、その際、RTPが設定されていないとき、即ち、RTP保持部１２０にRTPが記録されていないときには、リアルタイム制御部１１５は、デフォルトのRTPを用いてリアルタイム制御を行うとする。
【０１２５】
具体的には例えば、帯域512Kbps、最大レイテンシー1msec、および優先度1というRTPを持つ通信Aによるデータ送信と、帯域500MB、最大レイテンシー10msec、および優先度2というRTPを持つ通信Bによるデータ送信とを同時に行っている場合であって、両者の通信A,Bの帯域や最大レイテンシーを同時に確保することができないような場合、リアルタイム制御部１１５は、優先度が高いRTPを持つ通信Aに対して優先的にリソースを確保し、その確保したリソースで通信Aの送信を行わせ、残りのリソースで通信Bの送信を行わせる、といったリアルタイム制御を行うことができる。
【０１２６】
かかるリアルタイム制御がなされて、パケットが、リアルタイム制御部１１５からパケット送信部１１６に提供されると、処理はステップＳ５５に進む。
【０１２７】
ステップＳ５５において、パケット送信部１１６は、ネットワーク２にパケットを送出する。
【０１２８】
これにより、サーバ側データ送信のリアルタイム制御処理は終了となる。
【０１２９】
以上、本発明が適用される通信装置１の実施の形態として、図４の機能的構成を有する通信装置１について説明した。ただし、通信装置１の機能的構成は、図１の例に限定されず、その他様々な実施の形態を取ることが可能である。
【０１３０】
具体的には例えば、図１１、図１８、および図２２のそれぞれには、通信装置１の他の実施の形態の機能ブロック図が示されている。なお、図１１、図１８、および図２２のそれぞれにおいて、他の実施の形態と対応する部分（機能ブロック）には対応する符号を付しており、それらの説明については同様の説明となるため、最初に登場する実施の形態において説明し、それ以降の実施の形態においては説明を省略する。即ち、図４の例の実施の形態において説明済みのものは、以下、その説明は省略する。
【０１３１】
図１１の例の通信装置１では、図４の例の構成に対して、RTP-クライアント側ポート番号変換表保持部１２１が省略され、その代わりに、相手側判定部１３１とRTP判定部１３２とがさらに設けられている。
【０１３２】
なお、相手側判定部１３１とRTP判定部１３２との各個別機能（動作）の説明については、後述する図１４乃至図１７の説明時に適宜行うこととし、ここでは省略する。
【０１３３】
図１１の例の機能的構成を有する通信装置１−１乃至１−Ｎからなる情報処理システム（図１）においては、クライアント側の通信装置１は、サーバ側に対してRTPを通知するために、上述した図４の例のようにクライアント側ポート番号を用いて通知するのではなく、RTPの通知を行うための特別のパケット（以下、RTP通知用パケットと称する）を生成し、そのRTP通知用パケットをサーバ側に送信する事でRTPを通知する。
【０１３４】
図１２と図１３とのそれぞれは、TCPを用いたRTP通知用パケットのフォーマット例と、UDPを用いたRTP通知用パケットのフォーマット例とのそれぞれを示している。図１２の例のRTP通知用パケットは、先頭から順に、IPヘッダ、TCPヘッダ、および、データの記述領域から構成される。一方、図１３の例のRTP通知用パケットは、先頭から順に、IPヘッダ、UDPヘッダ、および、データの記述領域から構成される。ただし、データの記述領域は、図１２の例も図１３の例も、送信元IPアドレス、送信元ポート番号、宛先IPアドレス、宛先ポート番号、並びに、RTPとしての最大レイテンシー、帯域、および優先度のそれぞれについての、各記述領域から構成されている。
【０１３５】
以上のことから、図１１の例の通信装置１の処理（クライアント側およびサーバ側の処理）のうちの、RTP通知用パケットに関する処理が、図４の例の場合と異なることになる。換言すると、それ以外は、サーバ側もクライアント側も、上述した図４の例の場合の処理と同様の処理となる。また、図４の例と場合と同様に図１１の例の場合でも、サーバ側でのRTPは、サーバ側自身のネットワークアプリケーションから指定されたものを用いることもできるし、クライアント側から受信したRTP通知用パケットにより通知されたものを用いることも可能である。
【０１３６】
以下、図１４乃至図１７を参照して、RTP通知用パケットに関する幾つかの処理例について説明する。
【０１３７】
図１４は、図１１の機能的構成を有するクライアント側の通信装置１についての、クライアント側でのRTP設定処理の一例を説明するフローチャートである。
【０１３８】
ステップＳ６１において、ネットワークアプリケーション実行部１１１は、インターフェース部１１２を介してソケット処理部１１３に対して、ソケット生成要求を出す。
【０１３９】
ステップＳ６２において、ソケット処理部１１３は、ソケットを生成する。
【０１４０】
ステップＳ６３において、ネットワークアプリケーション実行部１１１は、生成したソケット通信で用いるRTPを、インターフェース部１１２を介してRTP設定部１１９に指定する。具体的には例えば、上述した図１２または図１３のRTP通知用パケットが採用されている場合には、最大レイテンシーの値、帯域の値、および、優先度の値がRTPとして指定されることになる。
【０１４１】
ステップＳ６４において、RTP設定部１１９は、指定されたRTPをRTP保持部１２０に記録する。
【０１４２】
ステップＳ６５において、RTP設定部１１９は、相手側判定部１３１に対して、通信相手が本ネットワーク通信装置であるか否かの判定要求を出す。
【０１４３】
ステップＳ６６において、相手側判定部１３１は、例えば宛先アドレスに基づいて、通信相手が本ネットワーク通信装置であるか否かを判定する。
【０１４４】
ステップＳ６６において、通信相手が本ネットワーク通信装置であると判定した場合、相手側判定部１３１は、ステップＳ６７において、ソケット処理部１１３に対して、RTP通知用パケットの送信要求を出す。その際に使用する送信元ポート番号は、RTP通知用パケットであることを示す特定のポート番号（RTP通知用パケット内のデータに格納されているクライアント側ポート番号とは別の番号）が採用されるとする。これにより、クライアント側でのRTP設定処理は終了となる。
【０１４５】
この場合、上述した図７のクライアント側データ送信のリアルタイム制御処理が実行され、RTP通知用パケットが生成されて、ネットワーク２に送出されることになる。換言すると、図７のステップＳ１１の代わりに、ステップＳ６７の処理が実行され、その後、ステップＳ１２以降の処理が実行されることになる。
【０１４６】
これに対して、ステップＳ６６において、通信相手が本ネットワーク通信装置でないと判定された場合、ステップＳ６７の処理は実行されずに、即ち、通信相手に対してRTP通知用パケットは送出されずに、クライアント側でのRTP設定処理は終了となる。
【０１４７】
図１５は、サーバ側の通信装置１（図１１）がパケットを受信した場合に実行する処理（以下、サーバ側受信処理と称する）の一例を説明するフローチャートである。
【０１４８】
ステップＳ７１において、パケット受信部１１７は、ネットワーク２からパケットを受信する。
【０１４９】
このパケットが、パケット受信部１１７からパケット判定部１１８に提供されると、処理はステップＳ７２に進む。
【０１５０】
ステップＳ７２において、パケット判定部１１８は、パケットの送信元ポート番号がRTP通知用パケットを示す特定の番号であるか否か、即ち、ステップＳ７１の処理で受信されたパケットがRTP通知用パケットであるか否かを判定する。
【０１５１】
ステップＳ７２において、RTP通知用パケットであると判定された場合、後述する図１６に示されるサーバ側でのRTP設定処理が実行される。
【０１５２】
これに対して、ステップＳ７２において、RTP通知用パケットではないと判定された場合、後述する図１７に示されるサーバ側データ受信のリアルタイム制御処理が実行される。
【０１５３】
ステップＳ７３のサーバ側でのRTP設定処理、またはステップＳ７４のサーバ側データ受信のリアルタイム制御処理が終了すると、サーバ側受信処理は終了となる。
【０１５４】
図１６は、ステップＳ７３のサーバ側でのRTP設定処理の詳細例を説明するフローチャートである。
【０１５５】
上述したように、図１５のステップＳ７２において、RTP通知用パケットであると判定された場合、図１５のステップＳ７１の処理で受信されたパケットがパケット判定部１１８からリアルタイム制御部１１５に提供されて、このサーバ側でのRTP設定処理が開始される。
【０１５６】
即ち、ステップＳ８１において、リアルタイム制御部１１５は、RTP保持部１２０に予め記録されている、RTP通知用パケットについてのRTPに基づいて、リアルタイム制御（例えば、優先制御、帯域割り当て、最大レイテンシー確保等）を行う。
【０１５７】
なお、その際、RTPが設定されていないとき、即ち、RTP保持部１２０にRTPが記録されていないときには、リアルタイム制御部１１５は、デフォルトのRTPを用いてリアルタイム制御を行うとする。
【０１５８】
かかるリアルタイム制御がなされて、パケットが、リアルタイム制御部１１５からプロトコル処理部１１４に提供されると、処理はステップＳ８２に進む。
【０１５９】
ステップＳ８２において、プロトコル処理部１１４は、パケットからデータを取り出すとともに、そのパケットの送信元ポート番号をチェックする。そして、ステップＳ８３において、プロトコル処理部１１４は、そのチェック結果に基づいて、パケットの送信元ポート番号がRTP通知用パケットを示す特定の番号であるか否か、即ち、ステップＳ７１の処理で受信されたパケットがRTP通知用パケットであるか否かを再判定する。
【０１６０】
ステップＳ８３において、RTP通知用パケットではないと判定した場合、プロトコル処理部１１４は、ステップＳ８４において、通常パケット受信処理を実行する。ここでいう通常パケット受信処理とは、例えば、後述する図１７のステップＳ９４乃至Ｓ９６の処理をいう。これにより、図１５のステップＳ７３のサーバ側でのRTP設定処理は終了となる。即ち、サーバ側受信処理全体も終了となる。
【０１６１】
これに対して、ステップＳ８３において、RTP通知用パケットであると判定した場合、プロトコル処理部１１４は、ステップＳ８５において、パケットに格納されているデータを抽出し、RTP判定部１３２に提供する。
【０１６２】
ステップＳ８６において、RTP判定部１３２は、ステップＳ８５の処理で抽出されたデータに格納されている、RTP（図１２や図１３の例では、最大レイテンシー、帯域、および優先度の各領域の記述値）、クライアント側ポート番号やアドレス（図１２や図１３の例では、送信元IPアドレスや送信元ポート番号の各領域の記述値）をRTP保持部１２０に記録する。これにより、図１５のステップＳ７３のサーバ側でのRTP設定処理は終了となる。即ち、サーバ側受信処理全体も終了となる。
【０１６３】
なお、図１５のステップＳ７３のサーバ側でのRTP設定処理として、上述した図１６のフローチャートに従った処理の代わりに、サーバ側ネットワークアプリケーションにより指定されたRTPを設定する処理を採用することも当然ながら可能である。
【０１６４】
次に、図１７のフローチャートを参照して、図１５のステップＳ７４のサーバ側データ受信のリアルタイム制御処理の詳細例について説明する。
【０１６５】
上述したように、図１５のステップＳ７２において、RTP通知用パケットではないと判定された場合、図１５のステップＳ７１の処理で受信されたパケットがパケット判定部１１８からリアルタイム制御部１１５に提供されて、このサーバ側データ受信のリアルタイム制御処理が開始される。
【０１６６】
即ち、ステップＳ９１において、リアルタイム制御部１１５は、RTP保持部１２０に記録されているRTPに基づいて、リアルタイム制御（例えば、優先制御、帯域割り当て、最大レイテンシー確保等）を行う。
【０１６７】
なお、その際、RTPが設定されていないとき、即ち、RTP保持部１２０にRTPが記録されていないときには、リアルタイム制御部１１５は、デフォルトのRTPを用いてリアルタイム制御を行うとする。
【０１６８】
かかるリアルタイム制御がなされて、パケットが、リアルタイム制御部１１５からプロトコル処理部１１４に提供されると、処理はステップＳ９２に進む。
【０１６９】
ステップＳ９２において、プロトコル処理部１１４は、提供されたパケット（ステップＳ７１の処理で受信されたパケット）がRTP通知用パケットではないか否かを再判定する。
【０１７０】
ステップＳ９２において、RTP通知用パケットである（ＮＯである）と判定した場合、プロトコル処理部１１４は、ステップＳ９３において、サーバ側でのRTP設定処理を実行する。ここでいうサーバ側でのRTP設定処理とは、例えば上述した図１６のステップＳ８５とＳ８６の処理をいう。
【０１７１】
これに対して、ステップＳ９２において、RTP通知用パケットであると判定した場合、プロトコル処理部１１４は、ステップＳ９４において、図１５のステップＳ７１の処理で受信されたパケットのプロトコル処理として、例えば本実施の形態ではTCP UDP/IPを用いる処理を行う。
【０１７２】
ステップＳ９５において、プロトコル処理部１１４は、パケットにデータが存在するか否かを判定する。
【０１７３】
ステップＳ９５において、パケットにデータが存在すると判定した場合、プロトコル処理部１１４は、ステップＳ９６において、パケットからデータを取り出し、ソケット処理部１１３とインターフェース部１１２とを介してネットワークアプリケーション実行部１１１にそのデータを提供する。
【０１７４】
このようなステップＳ９６の処理が終了するか、または、ステップＳ９５の処理でパケットにデータが存在しないと判定されると、図１５のステップＳ７４のサーバ側データ受信のリアルタイム制御処理は終了となる。即ち、サーバ側受信処理全体も終了となる。
【０１７５】
以上説明した図４や図１１の例とは異なる機能的構成を有する通信装置１についての機能ブロック図が、図１８にも示されている。
【０１７６】
図１８の例の通信装置１では、図４の例の構成に対して、さらに、送信制御信号発生部１５１が設けられている。
【０１７７】
これにより、送信制御信号発生部１５１が発生する信号（以下、適宜外部信号と称する）の出力タイミングで、ある特定のRTP値をもつデータを送信する処理（以下、送信タイミング制御によるデータ送信処理と称する）を実行することが可能になる。
【０１７８】
例えば、図１９と図２０のフローチャートには、クライアント側での送信タイミング制御によるデータ送信処理の一例が示されている。
【０１７９】
図１９のステップＳ１０１において、ネットワークアプリケーション実行部１１１は、インターフェース部１１２を介してソケット処理部１１３に対して、ソケット生成要求を出す。
【０１８０】
ステップＳ１０２において、ソケット処理部１１３は、ソケットを生成する。
【０１８１】
ステップＳ１０３において、ネットワークアプリケーション実行部１１１は、そのソケットに対し、外部信号による送信タイミング制御データ用の特定のRTPを、インターフェース部１１２を介してRTP設定部１１９に対して指定する。
【０１８２】
ステップＳ１０４において、RTP設定部１１９は、指定されたRTPからRTP-クライアント側ポート番号変換表を用いて、通信に使用するクライアント側のポート番号に変換し、そのポート番号とRTPとを関連付けてRTP保持部１２０に記録する。
【０１８３】
このようにして、ステップＳ１０１乃至Ｓ１０４の処理によりRTP設定がなされると、処理は図２０のステップＳ１０５に進む。
【０１８４】
ステップＳ１０５において、ネットワークアプリケーション実行部１１１は、外部信号で送信タイミングを制御したいデータを送信対象として、インターフェース部１１２を介してソケット処理部１１３に対して指定し、送信要求を出す。
【０１８５】
ステップＳ１０６において、ソケット処理部１１３は、RTP保持部１２０に保持してあるクライアント側ポート番号と、ステップＳ１０５の処理で指定されたデータとをプロトコル処理部１１４に渡す。
【０１８６】
ステップＳ１０７において、プロトコル処理部１１４は、ネットワーク２へ送出するための処理として、例えば本実施の形態ではTCP UDP/IPのパケット化処理を行い、パケットを生成する。
【０１８７】
ステップＳ１０７の処理で生成されたパケットが、プロトコル処理部１１４からリアルタイム制御部１１５に提供されると、処理はステップＳ１０８に進む。
【０１８８】
ステップＳ１０８において、リアルタイム制御部１１５は、送信制御信号発生部５１から送信制御信号（外部信号）が出力されたか否かを判定する。
【０１８９】
ステップＳ１０８において、送信制御信号（外部信号）が出力されていないと判定された場合、処理はステップＳ１０８に戻され、送信制御信号（外部信号）が出力されたか否かが再度判定される。
【０１９０】
即ち、送信制御信号（外部信号）が出力されるまでの間、ステップＳ１０８のループ処理が繰り返されて、データの送信が待機される。
【０１９１】
送信制御信号発生部１５１は、一定の周期で、リアルタイム制御部１１５に対して送信制御信号を出力しているので、次の周期で送信制御信号を出力すると直ちに、ステップＳ１０８においてＹＥＳであると判定されて、パケットが、リアルタイム制御部１１５からパケット送信部１１６に提供され、その結果、処理はステップＳ１０９に進む。
【０１９２】
ステップＳ１０９において、パケット送信部１１６は、ネットワーク２にパケットを送出する。
【０１９３】
これにより、クライアント側での送信タイミング制御によるデータ送信処理は終了となる。
【０１９４】
このようなクライアント側での送信タイミング制御によるデータ送信処理に対して、サーバ側での送信タイミング制御によるデータ送信処理の一例が、図２１のフローチャートに示されている。
【０１９５】
ステップＳ１１０において、ネットワークアプリケーション実行部１１１は、インターフェース部１１２を介してソケット処理部１１３に対して、送信対象のソケットとデータとを指定して、送信要求を出す。
【０１９６】
ステップＳ１１１において、ソケット処理部１１３は、指定されたデータをプロトコル処理部１１４に通知する。
【０１９７】
ステップＳ１１２において、プロトコル処理部１１４は、指定されたデータをネットワーク２へ送出するための処理として、例えば本実施の形態ではTCP UDP/IPのパケット化処理を行い、パケットを生成する。
【０１９８】
ステップＳ１１２の処理で生成されたパケットが、プロトコル処理部１１４からリアルタイム制御部１１５に提供されると、処理はステップＳ１１３に進む。
【０１９９】
ステップＳ１１３において、リアルタイム処理部１１５は、RTP保持部１２０に記録されているRTPをチェックし、そのチェック結果に基づいて、送信タイミングを制御するデータのパケットであるか否かを判定する。
【０２００】
ステップＳ１１３において、送信タイミングを制御するデータのパケットではないと判定した場合、即ち、RTPが送信タイミング制御データ用のものでない場合、或いは、RTP自体が設定されていない場合、リアルタイム制御部１１５は、ステップＳ１１４において、そのRTPに基づいて、リアルタイム制御（例えば、優先制御、帯域割り当て、最大レイテンシー確保等）を行う。
【０２０１】
なお、その際、RTPが設定されていないとき、即ち、RTP保持部１２０にRTPが記録されていないときには、リアルタイム制御部１１５は、デフォルトのRTPを用いてリアルタイム制御を行うとする。
【０２０２】
かかるリアルタイム制御がなされて、パケットが、リアルタイム制御部１１５からパケット送信部１１６に提供されると、処理はステップＳ１１６に進む。
【０２０３】
ステップＳ１１６において、パケット送信部１１６は、ネットワーク２にパケットを送出する。これにより、サーバ側での送信タイミング制御によるデータ送信処理が終了となる。
【０２０４】
これに対して、ステップＳ１１３において、送信タイミングを制御するデータのパケットであると判定した場合、即ち、RTPが送信タイミング制御データ用のものである場合、リアルタイム制御部１１５は、ステップＳ１１５において、送信制御信号発生部５１から送信制御信号（外部信号）が出力されたか否かを判定する。
【０２０５】
ステップＳ１１５において、送信制御信号（外部信号）が出力されていないと判定された場合、処理はステップＳ１１５に戻され、送信制御信号（外部信号）が出力されたか否かが再度判定される。
【０２０６】
即ち、送信制御信号（外部信号）が出力されるまでの間、ステップＳ１１５のループ処理が繰り返されて、データの送信が待機される。
【０２０７】
送信制御信号発生部１５１は、一定の周期で、リアルタイム制御部１１５に対して送信制御信号を出力しているので、次の周期で送信制御信号を出力すると直ちに、ステップＳ１１５においてＹＥＳであると判定されて、パケットが、リアルタイム制御部１１５からパケット送信部１１６に提供され、その結果、処理はステップＳ１１６に進む。
【０２０８】
ステップＳ１１６において、パケット送信部１１６は、ネットワーク２にパケットを送出する。これにより、サーバ側での送信タイミング制御によるデータ送信処理は終了となる。
【０２０９】
以上説明したように、通信装置１は、クライアント側の場合には例えば図１９と図２０のフローチャートに従って、サーバ側の場合には例えば図２１のフローチャートに従って、それぞれ処理を実行することで、各送信制御信号（外部信号）の発生タイミング毎に、各データを逐次送信していくことが可能になる。
【０２１０】
以上説明した図４，図１１，図１８の例とは異なる機能的構成を有する通信装置１についての機能ブロック図が、図２２にも示されている。
【０２１１】
図２２の例の通信装置１では、図１１の例の構成に対して、さらに、図１８の例と同様の送信制御信号発生部１５１が設けられている。
【０２１２】
これにより、図２２の例の通信装置１でも、送信タイミング制御によるデータ送信処理の実行が可能になる。
【０２１３】
例えば、図２３と図２４のフローチャートには、図２２の例の通信装置１がクライアント側になった場合における、クライアント側での送信タイミング制御によるデータ送信処理の一例が示されている。
【０２１４】
図２３のステップＳ１２１において、ネットワークアプリケーション実行部１１１は、インターフェース部１１２を介してソケット処理部１１３に対して、ソケット生成要求を出す。
【０２１５】
ステップＳ１２２において、ソケット処理部１１３は、ソケットを生成する。
【０２１６】
ステップＳ１２３において、ネットワークアプリケーション実行部１１１は、そのソケットに対し、外部信号による送信タイミング制御データ用の特定のRTPを、インターフェース部１１２を介してRTP設定部１１９に対して指定する。
【０２１７】
ステップＳ１２４において、RTP設定部１１９は、指定されたRTPをRTP保持部１２０に記録する。
【０２１８】
ステップＳ１２５において、RTP設定部１１９は、相手側判定部１３１に対して、通信相手が本ネットワーク通信装置であるか否かの判定要求を出す。
【０２１９】
ステップＳ１２６において、相手側判定部１３１は、例えば宛先アドレスに基づいて、通信相手が本ネットワーク通信装置であるか否かを判定する。
【０２２０】
ステップＳ１２６において、通信相手が本ネットワーク通信装置であると判定した場合、相手側判定部１３１は、ステップＳ１２７において、ソケット処理部１１３に対して、RTP通知用パケットの送信要求を出す。その際に使用する送信元ポート番号は、RTP通知用パケットであることを示す特定のポート番号（RTP通知用パケット内のデータに格納されているクライアント側ポート番号とは別の番号）が採用されるとする。
【０２２１】
この場合、図２３には図示されていないが、RTP通知用パケットが生成されて、ネットワーク２に送出されることになる。換言すると、図７のステップＳ１１の代わりに、ステップＳ６７の処理が実行され、その後、ステップＳ１２以降の処理が実行されることになる。これにより、RTP設定がなされることになる。
【０２２２】
これに対して、ステップＳ１２６において、通信相手が本ネットワーク通信装置でないと判定された場合、ステップＳ１２７の処理は実行されずに、即ち、通信相手に対してRTP通知用パケットは送出されずに、RTP設定自体は終了となる。
【０２２３】
このようにして、RTP設定がなされると、処理は図２４のステップＳ１２８に進む。
【０２２４】
ステップＳ１２８において、ネットワークアプリケーション実行部１１１は、外部信号で送信タイミングを制御したいデータを送信対象として、インターフェース部１１２を介してソケット処理部１１３に対して指定し、送信要求を出す。
【０２２５】
ステップＳ１２９において、ソケット処理部１１３は、ステップＳ１２８の処理で指定されたデータをプロトコル処理部１１４に渡す。
【０２２６】
ステップＳ１３０において、プロトコル処理部１１４は、ネットワーク２へ送出するための処理として、例えば本実施の形態ではTCP UDP/IPのパケット化処理を行い、パケットを生成する。
【０２２７】
ステップＳ１３０の処理で生成されたパケットが、プロトコル処理部１１４からリアルタイム制御部１１５に提供されると、処理はステップＳ１３１に進む。
【０２２８】
ステップＳ１３１において、リアルタイム制御部１１５は、送信制御信号発生部５１から送信制御信号（外部信号）が出力されたか否かを判定する。
【０２２９】
ステップＳ１３１において、送信制御信号（外部信号）が出力されていないと判定された場合、処理はステップＳ１３１に戻され、送信制御信号（外部信号）が出力されたか否かが再度判定される。
【０２３０】
即ち、送信制御信号（外部信号）が出力されるまでの間、ステップＳ１３１のループ処理が繰り返されて、データの送信が待機される。
【０２３１】
送信制御信号発生部１５１は、一定の周期で、リアルタイム制御部１１５に対して送信制御信号を出力しているので、次の周期で送信制御信号を出力すると直ちに、ステップＳ１３１においてＹＥＳであると判定されて、パケットが、リアルタイム制御部１１５からパケット送信部１１６に提供され、その結果、処理はステップＳ１３２に進む。
【０２３２】
ステップＳ１３２において、パケット送信部１１６は、ネットワーク２にパケットを送出する。
【０２３３】
これにより、クライアント側での送信タイミング制御によるデータ送信処理は終了となる。
【０２３４】
なお、図２２の例の通信装置１がサーバ側になった場合における、サーバ側での送信タイミング制御によるデータ送信処理は、上述した図２１のフローチャートに従った処理と基本的に同様になるので、ここではその説明は省略する。
【０２３５】
以上説明したように、本発明によれば、Ethernet（登録商標）等のネットワーク環境のエンドポイントにおいて、ユーザがデータの送受信に使用したい、ネットワークの性格（例えば優先度、使用帯域、許容できる最大レイテンシー等）を表すRTPの指定を可能にし、そのRTPに従ってデータの送受信処理を制御することができる。従って、大量データの高速な送受信中であっても、遅延やジッタを最小限にしたいデータの送受信が可能になる。
【０２３６】
これにより、AV(Audio and Visual)データなどの大量のデータを高速に受信中でも、制御コマンドを遅延することなく受け付け、実行することが可能になる。また、AVデータなどの大量のデータを高速に送信中でも、制御コマンドを遅延することなく送信することが可能になる。
【０２３７】
また、相手側（サーバ側）に対してRTPを通知する事により、相手側が本ネットワーク通信装置（図４等の機能的構成を有する通信部１９を搭載している装置）である場合には、相手側が、AVデータなどの大量のデータを高速に受信中でも、相手側に対し、制御コマンドを遅延することなく送り届け、実行させることが可能になる。また、相手側が、AVデータなどの大量のデータを高速に送信中でも、相手側からの制御コマンドを遅延することなく受信し、実行することが可能になる。
【０２３８】
具体的には例えば、本発明を適用した２台の通信装置１の間で、AV FileのFTP(File Transfer Protocol)転送と、9Pinコマンドによる機器制御とを1本のEthernet（登録商標）ケーブルのみを用いて同時に行う場合を考える。
【０２３９】
この場合、通信を要求するクライアント側の通信装置１において、それぞれの通信のRTPは下記のように設定されているとする。
【０２４０】
FTP転送用RTP・・・帯域：200Mbps、最大レイテンシー：50msec、優先度：2
【０２４１】
9Pinコマンド用RTP・・・帯域：512Kbps、最大レイテンシー：1msec、優先度：1
【０２４２】
なお、ここでのRTPは、ネットワーク２全体を通しての値ではなく、クライアント側の通信装置１内での値である。
【０２４３】
以下、この場合の処理は、例えば、次のステップＳ２０１乃至Ｓ２０７として実行される。
【０２４４】
ステップＳ２０１において、クライアント側の通信装置１に対するユーザ操作により、FTP通信が開始される。
【０２４５】
ステップＳ２０２において、クライアント側の通信装置１のネットワークアプリケーション（図４等のネットワークアプリケーション実行部１１１）は、上述したFTP転送用RTPをクライアント側の通信部１９（図４等）に指定する。
【０２４６】
ステップＳ２０３において、クライアント側の通信部１９は、サーバ側に対してポート番号を用いた手法（上述した図５乃至図７等参照）もしくはRTP通知用パケットを用いた手法（上述した図１４等参照）を利用して、サーバ側の通信装置１に対して使用したいRTPを通知する。
【０２４７】
ステップＳ２０４において、クライアント側の通信部１９は、FTP通信用パケットの送受信を行う際には、ステップＳ２０２の処理で設定した帯域や最大レイテンシーを確保して通信を行う。
【０２４８】
同様に、ステップＳ２０５において、ユーザがクライアント側の通信装置１に対して、通信相手に対して9Pinコマンドを発行する何らかの操作を行った場合、クライアント側のネットワークアプリケーションは、上述した9Pinコマンド用RTPをクライアント側の通信部１９に指定する。
【０２４９】
ステップＳ２０６において、クライアント側の通信部１９は、9Pinコマンド用パケットの送受信を行う際は、ステップＳ２０５の処理で設定した帯域や最大レイテンシーを確保して通信を行う。
【０２５０】
なお、ステップＳ２０１乃至Ｓ２０４の処理と、ステップＳ２０５，Ｓ２０６の処理とは独立しており、その処理順番は上述した例に限定されず、任意の順番（同時も含む）となる。
【０２５１】
この場合、例えばサイズの大きなAV FileのFTP転送中にコマンド通信が行われたときでも、ステップＳ２０１乃至Ｓ２０４の処理と、ステップＳ２０５，Ｓ２０６の処理とにより、9Pinコマンド用パケットは最大レイテンシー1msecが確保されているので、遅れることなく9Pinコマンドの送受信が可能になり、コマンドを実行する/させることが可能になる。
【０２５２】
また、例えばFTP通信や9Pinコマンド通信の本数が増加し、指定した帯域や最大レイテンシーが確保できなくなった場合には、優先度の高い方（値が小さい方）から優先して帯域や最大レイテンシーを確保することも可能になる。
【０２５３】
一方、ステップＳ２０７において、サーバ側の通信部１９は、ステップＳ２０３の処理でクライアント側から通知されたRTP、もしくはサーバ側ネットワークアプリケーション（サーバ側の通信装置１自身のネットワークアプリケーション実行部１１１）が指定したRTP値を用いて、クライアント側と同様にFTPと9Pinコマンド用パケットとのそれぞれの帯域や最大レイテンシーを確保しつつ、パケットの送受信を行う。
【０２５４】
このようなステップＳ２０７の処理により、サーバ側の通信装置１においても、例えばサイズの大きなAV FileのFTP転送中にコマンド通信が行われたときでも、9Pinコマンド用パケットは最大レイテンシー1msecが確保されているので、遅れることなく9Pinコマンドの送受信が可能になり、コマンドを実行する/させることが可能になる。
【０２５５】
ところで、上述した一連の処理（或いはそのうちの一部分の処理）は、ハードウエアにより実行させることもできるが、ソフトウエアにより実行させることもできる。
【０２５６】
一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、ネットワークや記録媒体からインストールされる。
【０２５７】
このようなプログラムを含む記録媒体は、図２や図３に示されるように、装置本体とは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク（フロッピディスクを含む）、光ディスク（CD-ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)を含む）、光磁気ディスク（ＭＤ（Mini-Disk）を含む）、もしくは半導体メモリなどよりなるリムーバブルメディア（パッケージメディア）２１により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される、プログラムが記録されている図２のROM１２，図３のROM５２や、図２の記録部１８，図３の記録部５５に含まれるハードディスクなどで構成される。
【０２５８】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０２５９】
また、上述したように、本明細書において、システムとは、複数の処理装置や処理部により構成される装置全体を表すものである。
【０２６０】
さらにまた、図２の通信部１９は、上述した例では通信装置１の一構成要素とされたが、図３の構成例に示すように、１つの装置として把握することも可能である。即ち、例えば、図２の通信部１９を、通信装置１から着脱自在な装置として構成することも可能である。この場合、通信部１９は、通信装置１のみならず様々な機器にエンドポイントとして装着されて、ネットワーク通信を行うための上述した各種処理を実行することができる。
【図面の簡単な説明】
【０２６１】
【図１】本発明が適用される情報処理システムの構成例を示すブロック図である。
【図２】図１の通信装置、即ち、本発明が適用される情報処理装置としての通信装置のハードウエア構成の一例を示すブロック図である。
【図３】図２の通信装置の通信部の詳細なハードウエア構成の一例を示すブロック図である。
【図４】図２の通信装置の機能的構成例を示す機能ブロック図である。
【図５】図４の通信装置が実行する処理のうちの、クライアント側でのRTP設定処理の一例を説明するフローチャートである。
【図６】RTP-クライアント側ポート番号変換表の一例を示す図である。
【図７】図４の通信装置が実行する処理のうちの、クライアント側データ送信のリアルタイム制御処理の一例を説明するフローチャートである。
【図８】図４の通信装置が実行する処理のうちの、クライアント側データ受信のリアルタイム制御処理の一例を説明するフローチャートである。
【図９】図４の通信装置が実行する処理のうちの、クライアント側からのデータに基づく、サーバ側でのRTP設定およびデータ受信のリアルタイム制御処理の一例を説明するフローチャートである。
【図１０】図４の通信装置が実行する処理のうちの、サーバ側データ送信のリアルタイム制御処理の一例を説明するフローチャートである。
【図１１】図２の通信装置の機能的構成例であって、図４の例とは異なる例を示す機能ブロック図である。
【図１２】RTP通知用パケットの構造例を示す図である。
【図１３】RTP通知用パケットの構造例であって、図１２とは異なる例を示す図である。
【図１４】図１１の通信装置が実行する処理のうちの、クライアント側でのRTP設定処理の一例を説明するフローチャートである。
【図１５】図１１の通信装置が実行する処理のうちの、サーバ側受信処理の一例を説明するフローチャートである。
【図１６】図１５のサーバ側受信処理のサーバ側でのRTP設定処理の詳細例を説明するフローチャートである。
【図１７】図１５のサーバ側受信処理のサーバ側データ受信のリアルタイム制御処理の詳細例を説明するフローチャートである。
【図１８】図２の通信装置の機能的構成例であって、図４，図１１の例とは異なる例を示す機能ブロック図である。
【図１９】図１８の通信装置が実行する処理のうちの、クライアント側での送信タイミング制御によるデータ送信処理の一例を説明するフローチャートである。
【図２０】図１８の通信装置が実行する処理のうちの、クライアント側での送信タイミング制御によるデータ送信処理の一例を説明するフローチャートである。
【図２１】図１８の通信装置が実行する処理のうちの、サーバ側での送信タイミング制御によるデータ送信処理の一例を説明するフローチャートである。
【図２２】図２の通信装置の機能的構成例であって、図４，図１１，図１８の例とは異なる例を示す機能ブロック図である。
【図２３】図２２の通信装置が実行する処理のうちの、クライアント側での送信タイミング制御によるデータ送信処理の一例を説明するフローチャートである。
【図２４】図２２の通信装置が実行する処理のうちの、クライアント側での送信タイミング制御によるデータ送信処理の一例を説明するフローチャートである。
【符号の説明】
【０２６２】
１，１−１乃至１−Ｎ  データ通信装置，  ２  ネットワーク，  １１  CPU，  １２  ROM，  １３  RAM，  １８  記録部，  １９  通信部，  ２１  リムーバブルメディア，  ５１  CPU，  ５２  ROM，  ５３  RAM，  ５５  記録部，  １１１  ネットワークアプリケーション実行部，  １１２  インターフェース部  ，  １１３ソケット処理部，  １１４  プロトコル処理部，  １１５  リアルタイム制御部，  １１６  パケット送信部，  １１７  パケット受信部，  １１８  パケット判定部，  １１９  RTP設定部，  １２０  RTP保持部，  １２１  RTP-クライアント側ポート番号変換表保持部，  １３１  相手側判定部  ，  １３２  RTP判定部，  １５１  送信制御信号発生部
【図１】
2007201884.tif 000003
【図２】
2007201884.tif 000004
【図３】
2007201884.tif 000005
【図４】
2007201884.tif 000006
【図５】
2007201884.tif 000007
【図６】
2007201884.tif 000008
【図７】
2007201884.tif 000009
【図８】
2007201884.tif 000010
【図９】
2007201884.tif 000011
【図１０】
2007201884.tif 000012
【図１１】
2007201884.tif 000013
【図１２】
2007201884.tif 000014
【図１３】
2007201884.tif 000015
【図１４】
2007201884.tif 000016
【図１５】
2007201884.tif 000017
【図１６】
2007201884.tif 000018
【図１７】
2007201884.tif 000019
【図１８】
2007201884.tif 000020
【図１９】
2007201884.tif 000021
【図２０】
2007201884.tif 000022
【図２１】
2007201884.tif 000023
【図２２】
2007201884.tif 000024
【図２３】
2007201884.tif 000025
【図２４】
2007201884.tif 000026
【手続補正書】
【提出日】平成19年2月16日(2007.2.16)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ネットワーク環境におけるサーバとクライアントとの間でデータの送受信が行われる場合に、前記サーバ側または前記クライアント側のエンドポイントとして機能する情報処理装置において、
前記クライアント側で使用したいネットワークの性格を表すパラメータとして、許容できる最大レイテンシーを少なくとも設定する設定手段と、
送受信対象のデータに対して、前記設定手段により設定された前記パラメータに基づいてリアルタイム制御を行うことで、そのデータの送受信処理を制御する制御手段と
を備える情報処理装置。
【請求項２】
前記設定手段は、前記パラメータとしてさらに優先度を設定する
請求項１に記載の情報処理装置。
【請求項３】
前記設定手段は、前記パラメータとしてさらに使用帯域を設定する
請求項２に記載の情報処理装置。
【請求項４】
前記情報処理装置は、前記クライアント側のエンドポイントとして機能し、
送信対象のデータのひとつとして、前記設定手段により設定された前記パラメータを前記サーバ側に通知するための通知データを生成する生成手段をさらに備える
請求項１に記載の情報処理装置。
【請求項５】
前記生成手段は、TCP/IP（Transmission Control Protocol/Internet Protocol）またはUDP/IP（User Datagram Protocol/ Internet Protocol）によるパケット化処理を行うことで、前記通知データをパケットとして生成する
請求項４に記載の情報処理装置。
【請求項６】
前記パラメータとして取り得る各値に対して、所定の１つのポート番号が予め割り当てられており、
前記設定手段は、さらに、設定した前記パラメータの値を、その値に対応付けられたポート番号に変換し、
前記生成手段は、前記設定手段により前記パラメータの値から変換された前記ポート番号を含むソケットを用いて、前記通知データであるパケットを生成する
請求項５に記載の情報処理装置。
【請求項７】
前記生成手段は、前記設定手段により設定された前記パラメータの値をデータ領域に記述したパケットを、前記通知データとして生成する
請求項５に記載の情報処理装置。
【請求項８】
前記情報処理装置は、
前記サーバ側のエンドポイントとして機能し、
前記パラメータが、前記クライアント側により設定されて、前記ネットワーク環境で送受信されるデータの形態に変換され、変換後のデータが前記クライアント側から送信されてきた場合、前記設定手段は、そのデータに基づいて、前記パラメータを設定する
請求項１に記載の情報処理装置。
【請求項９】
ネットワーク環境におけるサーバとクライアントとの間でデータの送受信が行われる場合に、前記サーバ側または前記クライアント側のエンドポイントとして機能する情報処理装置の情報処理方法において、
前記クライアント側で使用したいネットワークの性格を表すパラメータとして、許容できる最大レイテンシーを少なくとも設定し、
送受信対象のデータに対して、設定された前記パラメータに基づいてリアルタイム制御を行うことで、そのデータの送受信処理を制御する
ステップを含む情報処理方法。
【請求項１０】
ネットワーク環境におけるサーバとクライアントとの間でデータの送受信が行われる場合に、前記サーバ側または前記クライアント側のエンドポイントを制御するコンピュータに実行させるプログラムであって、
前記クライアント側で使用したいネットワークの性格を表すパラメータとして、許容できる最大レイテンシーを少なくとも設定し、
送受信対象のデータに対して、設定された前記パラメータに基づいてリアルタイム制御を行うことで、そのデータの送受信処理を制御する
ステップを含むプログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１４
【補正方法】変更
【補正の内容】
【００１４】
前記パラメータとして取り得る各値に対して、所定の１つのポート番号が予め割り当てられており、前記設定手段は、さらに、設定した前記パラメータの値を、その値に対応付けられたポート番号に変換し、前記生成手段は、前記設定手段により前記パラメータの値から変換された前記ポート番号を含むソケットを用いて、前記通知データであるパケットを生成することができる。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００１５
【補正方法】変更
【補正の内容】
【００１５】
前記生成手段は、前記設定手段により設定された前記パラメータの値をデータ領域に記述したパケットを、前記通知データとして生成することができる。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００２５
【補正方法】変更
【補正の内容】
【００２５】
前記生成手段は、TCP/IP（Transmission Control Protocol/Internet Protocol）またはUDP/IP（User Datagram Protocol/ Internet Protocol）によるパケット化処理を行うことで、前記通知データをパケットとして生成する。
この場合、例えば図４の例では、
前記パラメータとして取り得る各値に対して、所定の１つのポート番号が予め割り当てられており（例えば図６の表参照）、
前記設定手段は、さらに、設定した前記パラメータの値を、その値に対応付けられたポート番号に変換し（例えば図５のステップＳ４）、
前記生成手段は、前記設定手段により前記パラメータの値から変換された前記ポート番号を含むソケット（例えば図５のステップＳ５）を用いて、前記通知データであるパケットを生成する（例えば図７のステップＳ１５）。
或いは、この場合、例えば図１１の例では、
前記生成手段は、前記設定手段により設定された前記パラメータの値をデータ領域に記述したパケット（例えば図１２や図１３の構造のRTP通知用パケット）を、前記通知データとして生成する。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００３１
【補正方法】変更
【補正の内容】
【００３１】
図１の例の情報処理システムは、Ｎ台（Ｎは２以上の任意の整数値）の通信装置１−１乃至１−Ｎで構成されている。通信装置１−１乃至１−Ｎは、ネットトワーク２を介して相互に通信を行うことができる。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】０１０２
【補正方法】変更
【補正の内容】
【０１０２】
ステップＳ３２において、パケット判定部１１８は、パケットヘッダのアドレスやポート番号をチェックする。そして、ステップＳ３３において、パケット判定部１１８は、そのチェック結果に基づいて、自身がサーバとして振舞っているプロセス宛のパケットであるか否かを判定する。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】０１０３
【補正方法】変更
【補正の内容】
【０１０３】
ステップＳ３３において、自身がサーバとして振舞っているプロセス宛のパケットではないと判定された場合、即ち、自身がクライアントとして振舞っているプロセス宛のパケットであると判定された場合、ステップＳ３４において、クライアント側データ受信のリアルタイム制御処理が実行され、このクライアント側からのデータに基づく、サーバ側でのRTP設定およびデータ受信のリアルタイム制御処理は終了となる。なお、ステップＳ３４でいう「クライアント側データ受信のリアルタイム制御処理」とは、例えば本実施の形態では、上述した図８のステップＳ２５乃至Ｓ２８までの処理をいう。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】０１０８
【補正方法】変更
【補正の内容】
【０１０８】
これに対して、ステップＳ３５において、通信相手が、本ネットワーク通信装置であると判定した場合には、ステップＳ３６において、パケット判定部１１８は、さらに、以前にRTPを判定したことがあるか否かを判定する。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】０１０９
【補正方法】変更
【補正の内容】
【０１０９】
ステップＳ３６において、以前にRTPを判定したことがあると判定された場合、後述するステップＳ３７の処理は実行されずにパケットがパケット判定部１１８からリアルタイム制御部１１５に提供されて、処理はステップＳ３８に進む。
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】０１１０
【補正方法】変更
【補正の内容】
【０１１０】
これに対して、ステップＳ３６において、以前にRTPを判定したことがないと判定した場合、ステップＳ３７において、パケット判定部１１８は、RTP-クライアント側ポート番号変換表保持部１２１に予め記録されているRTP-クライアント側ポート番号変換表を用いて、送信元ポート番号（クライアント側ポート番号）からRTPを判定し、それをRTP保持部１２０に記録する。そして、パケットがパケット判定部１１８からリアルタイム制御部１１５に提供されて、処理はステップＳ３８に進む。
【手続補正１１】
【補正対象書類名】明細書
【補正対象項目名】０１３５
【補正方法】変更
【補正の内容】
【０１３５】
以上のことから、図１１の例の通信装置１の処理（クライアント側およびサーバ側の処理）のうちの、RTP通知用パケットに関する処理が、図４の例の場合と異なることになる。換言すると、それ以外は、サーバ側もクライアント側も、上述した図４の例の場合の処理と同様の処理となる。また、図４の例の場合と同様に図１１の例の場合でも、サーバ側でのRTPは、サーバ側自身のネットワークアプリケーションから指定されたものを用いることもできるし、クライアント側から受信したRTP通知用パケットにより通知されたものを用いることも可能である。
【手続補正１２】
【補正対象書類名】明細書
【補正対象項目名】０１５１
【補正方法】変更
【補正の内容】
【０１５１】
ステップＳ７２において、RTP通知用パケットであると判定された場合、ステップＳ７３において、後述する図１６に示されるサーバ側でのRTP設定処理が実行される。
【手続補正１３】
【補正対象書類名】明細書
【補正対象項目名】０１５２
【補正方法】変更
【補正の内容】
【０１５２】
これに対して、ステップＳ７２において、RTP通知用パケットではないと判定された場合、ステップＳ７４において、後述する図１７に示されるサーバ側データ受信のリアルタイム制御処理が実行される。
【手続補正１４】
【補正対象書類名】明細書
【補正対象項目名】０１７１
【補正方法】変更
【補正の内容】
【０１７１】
これに対して、ステップＳ９２において、RTP通知用パケットではないと判定した場合、プロトコル処理部１１４は、ステップＳ９４において、図１５のステップＳ７１の処理で受信されたパケットのプロトコル処理として、例えば本実施の形態ではTCP UDP/IPを用いる処理を行う。
【手続補正１５】
【補正対象書類名】明細書
【補正対象項目名】０１８８
【補正方法】変更
【補正の内容】
【０１８８】
ステップＳ１０８において、リアルタイム制御部１１５は、送信制御信号発生部１５１から送信制御信号（外部信号）が出力されたか否かを判定する。
【手続補正１６】
【補正対象書類名】明細書
【補正対象項目名】０２０４
【補正方法】変更
【補正の内容】
【０２０４】
これに対して、ステップＳ１１３において、送信タイミングを制御するデータのパケットであると判定した場合、即ち、RTPが送信タイミング制御データ用のものである場合、リアルタイム制御部１１５は、ステップＳ１１５において、送信制御信号発生部１５１から送信制御信号（外部信号）が出力されたか否かを判定する。
【手続補正１７】
【補正対象書類名】明細書
【補正対象項目名】０２２１
【補正方法】変更
【補正の内容】
【０２２１】
この場合、図２３には図示されていないが、RTP通知用パケットが生成されて、ネットワーク２に送出されることになる。換言すると、図７のステップＳ１１の代わりに、ステップＳ１２７の処理が実行され、その後、ステップＳ１２以降の処理が実行されることになる。これにより、RTP設定がなされることになる。
【手続補正１８】
【補正対象書類名】明細書
【補正対象項目名】０２２８
【補正方法】変更
【補正の内容】
【０２２８】
ステップＳ１３１において、リアルタイム制御部１１５は、送信制御信号発生部１５１から送信制御信号（外部信号）が出力されたか否かを判定する。
【手続補正１９】
【補正対象書類名】明細書
【補正対象項目名】０２６２
【補正方法】変更
【補正の内容】
【０２６２】
１，１−１乃至１−Ｎ  通信装置，  ２  ネットワーク，  １１  CPU，  １２  ROM，  １３  RAM，  １８  記録部，  １９  通信部，  ２１  リムーバブルメディア，  ５１  CPU，  ５２  ROM，  ５３  RAM，  ５５  記録部，  １１１  ネットワークアプリケーション実行部，  １１２  インターフェース部  ，  １１３ソケット処理部，  １１４  プロトコル処理部，  １１５  リアルタイム制御部，  １１６  パケット送信部，  １１７  パケット受信部，  １１８  パケット判定部，  １１９  RTP設定部，  １２０  RTP保持部，  １２１  RTP-クライアント側ポート番号変換表保持部，  １３１  相手側判定部  ，  １３２  RTP判定部，  １５１  送信制御信号発生部
【手続補正２０】
【補正対象書類名】図面
【補正対象項目名】図１６
【補正方法】変更
【補正の内容】
【図１６】
2007201884.tif 000027
【手続補正２１】
【補正対象書類名】図面
【補正対象項目名】図２２
【補正方法】変更
【補正の内容】
【図２２】
2007201884.tif 000028