(57)【要約】【課題】データを結合して送信する際に冗長な処理を省略する。【解決手段】情報処理装置は、複数の送信元データのそれぞれについて、送信元データの位置に関する基本情報と、該情報処理装置におけるメモリの特定の領域を識別するための領域識別情報とを取得し、該基本情報に基づいて、該送信元データを複製するために必要な設定情報を該送信元データに対して作成し、該設定情報に従って該送信元データを該メモリに保存する。情報処理装置は、該複数の送信元データのうち、該領域識別情報が示す該特定の領域が共通であると解析された送信元データについては、該設定情報の作成を省略する。【選択図】  図２
2018106418.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置であって、
複数の送信元データの各々について、送信元データの位置に関する基本情報と、前記情報処理装置におけるメモリの特定の領域を識別するための領域識別情報とを取得する取得手段と、
前記領域識別情報を解析する解析手段と、
前記基本情報に基づいて、前記送信元データを複製するために必要な設定情報を前記送信元データに対して作成する作成手段と、
前記設定情報に従って前記送信元データを前記メモリに保存する保存手段と、を有し、
前記解析手段により、前記複数の送信元データのうち、前記領域識別情報が示す前記特定の領域が共通であると解析された送信元データについては、前記作成手段は、前記設定情報の作成を省略する
ことを特徴とする情報処理装置。
【請求項２】
前記複数の送信元データの各送信元データの位置に関する基本情報は、前記各送信元データの開始位置と終端位置に関する情報であることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記複数の送信元データの各送信元データの位置に関する基本情報は、前記各送信元データの開始位置とデータサイズに関する情報であることを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記保存手段は、前記設定情報に従って前記送信元データを複製して前記メモリに保存することを特徴とする請求項１に記載の情報処理装置。
【請求項５】
前記解析手段により、前記複数の送信元データのうち、同一の前記領域識別情報を示すと解析された送信元データに対応する前記基本情報のうちの最初に解析された基本情報に基づいて作成した前記設定情報を前記メモリに保存し、
前記保存手段は、前記メモリに保存された前記設定情報に従って保存を行うことを特徴とする請求項１から４のいずれか１項に記載の情報処理装置。
【請求項６】
前記作成手段は、前記設定情報を前記メモリに保存し、保存された複数の前記設定情報のうち、再利用される可能性の低い設定情報を前記メモリから解放することを特徴とする請求項１から５のいずれか１項に記載の情報処理装置。
【請求項７】
前記取得手段は、前記複数の送信元データのうち、同一の内容を有するか否かを示す情報をさらに取得し、
前記解析手段により、前記複数の送信元データのうち、前記同一の内容を有すると解析された送信元データについては、前記作成手段は、前記設定情報の作成を省略し、前記同一の内容を有すると解析された送信元データに対応する前記基本情報のうち最初に解析された基本に対応する送信元データに対して複製を行って前記メモリに保存することを特徴とする請求項１から６のいずれか１項に記載の情報処理装置。
【請求項８】
前記保存手段は、保存された複数の前記送信元データのち、再利用される可能性が低い送信元データを前記メモリから解放することを特徴とする請求項７に記載の情報処理装置。
【請求項９】
データを結合して送信する情報処理装置であって、  
所定の領域における複数の送信元データの各々について、送信元データの位置に関する領域情報と、前記情報処理装置におけるメモリにおける特定の領域を識別するための情報とデータの結合の順序に関する情報を含む結合順序情報と、当該領域情報と当該結合順序情報の組を識別する識別情報を取得する取得手段と、
前記取得手段により前記識別情報が取得された場合に、前記領域情報と前記結合順序情報とに基づいて、前記送信元データを複製するために必要な設定情報を前記送信元データに対して作成して前記メモリに保存する作成手段と、
前記設定情報に従って前記送信元データを前記メモリに保存する保存手段と、を有し、
前記メモリに前記設定情報が既に登録されている送信元データについては、前記作成手段は、前記設定情報の作成を省略する
ことを特徴とする情報処理装置。
【請求項１０】
前記メモリに保存された送信元データに対して、所定のプロトコル処理を行うプロトコル処理手段と、
前記所定のプロトコル処理が行われたデータを送信する送信手段と、を更に有することを特徴とする請求項１から９のいずれか１項に記載の情報処理装置。
【請求項１１】
情報処理装置の制御方法であって、
複数の送信元データの各々について、送信元データの位置に関する基本情報と、前記情報処理装置におけるメモリの特定の領域を識別するための領域識別情報とを取得する取得工程と、
前記領域識別情報を解析する解析工程と、
前記基本情報に基づいて、前記送信元データを複製するために必要な設定情報を前記送信元データに対して作成する作成工程と、
前記設定情報に従って前記送信元データを前記メモリに保存する保存工程と、を有し、
前記解析工程において、前記複数の送信元データのうち、前記領域識別情報が示す前記特定の領域が共通であると解析された送信元データについては、前記設定情報の作成は省略される
ことを特徴とする情報処理装置の制御方法。
【請求項１２】
データを結合して送信する情報処理装置の制御方法であって、  
所定の領域における複数の送信元データの各々について、送信元データの位置に関する領域情報と、前記情報処理装置におけるメモリにおける特定の領域を識別するための情報とデータの結合の順序に関する情報を含む結合順序情報と、当該領域情報と当該結合順序情報の組を識別する識別情報を取得する取得工程と、
前記識別情報が取得された場合に、前記領域情報と前記結合順序情報とに基づいて、前記送信元データを複製するために必要な設定情報を前記送信元データに対して作成して前記メモリに保存する作成工程と、
前記設定情報に従って前記送信元データを前記メモリに保存する保存工程と、を有し、
前記メモリに前記設定情報が既に登録されている送信元データについては、前記設定情報の作成は省略される、
ことを特徴とする情報処理装置の制御方法。
【請求項１３】
コンピュータを、請求項１から１０のいずれか１項に記載の情報処理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理装置の制御方法、およびプログラムに関する。
【背景技術】
【０００２】
従来、複数の連続した領域のデータを結合して送信するためのソケットＡＰＩ（Application Programming Interface）が、各種ＯＳ（Operating System）において、ＴＣＰ／ＩＰ（Transmission Control Protocol／Internet Protocol）スタックレベルで実装／提供されている。例えばＬｉｎｕｘ（商標登録）におけるソケットＡＰＩとして、複数の連続した領域のデータを結合して送信するためのｓｅｎｄｍｓｇが定義されている。このようにソケットＡＰＩがデータの結合処理を担うことで、アプリケーション層でのデータ結合に伴うメモリコピー回数が減り、処理を高速化することが見込まれる。
【０００３】
また、映像や音声等のマルチメディアデータをインターネット等のＩＰ（internet Protocol）ネットワークを経由でリアルタイムに送信するプロトコルであるＲＴＰ（Real-time Transmission Protocol）が知られている（非特許文献１参照）。映像のように比較的サイズの大きいデータをＲＴＰパケット化する際には、連続した領域のデータを分割し、複数のＲＴＰペイロードとし、それぞれのＲＴＰペイロードにＲＴＰヘッダを付与してパケット化する方法が一般的である。また、複数の異なる領域に存在するＲＴＰペイロードとＲＴＰヘッダを結合して送信する際に、ｓｅｎｄｍｓｇのようなソケットＡＰＩを利用することが考えられる。
【０００４】
また、ｓｅｎｄｍｓｇの内部処理において、複数の連続した領域のデータ結合と下位層の通信モジュールへの結合データの転送に、ＤＭＡコントローラ（Direct Memory Accessを利用することが考えられる。ＤＭＡコントローラは、機器内でのメモリ間転送を行うハードウェアである。ＤＭＡコントローラとしては、転送元や転送先の情報を示す転送指示書（ＤＭＡコントローラが解釈可能な転送指示情報）を複数読み込み、複数の連続した領域のデータを結合しながらメモリ間転送を行うＳｃａｔｔｅｒ／Ｇａｔｈｅｒ ＤＭＡコントローラも利用されている。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】RFC 3550 （IETF）, July 2003, https://www.ietf.org/rfc/rfc3550.txt
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ｓｅｎｄｍｓｇのように複数の連続した領域のデータを結合して送信するようなソケットＡＰＩにおいて、送信元の複数の連続した領域のデータに対する領域を示す情報、例えばデータ領域の先頭アドレスとデータサイズのような情報を解析する処理が発生する。この処理により、アプリケーション層でのメモリコピー回数を減らしても解析処理がオーバーヘッドとなり、データ送信に必要な処理が高速化できないという課題がある。
【０００７】
また、同一のＲＴＰパケットを複数の宛先に送信するようなケースでは、ＲＴＰペイロードは同じ領域で且つデータの内容も同一であるため、領域情報の解析処理だけでなく、複製処理そのものが冗長である。そのため、このようなケースでは、データ送信に必要な処理が高速化できないという課題がある。
【０００８】
本発明は上述の課題に鑑みてなされた発明であり、データを結合して送信する際に冗長な処理を省略することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するための一手段として、本発明の情報処理装置は以下の構成を有する。すなわち、情報処理装置であって、複数の送信元データの各々について、送信元データの位置に関する基本情報と、前記情報処理装置におけるメモリの特定の領域を識別するための領域識別情報とを取得する取得手段と、前記領域識別情報を解析する解析手段と、前記基本情報に基づいて、前記送信元データを複製するために必要な設定情報を前記送信元データに対して作成する作成手段と、前記設定情報に従って前記送信元データを前記メモリに保存する保存手段と、を有し、前記解析手段により、前記複数の送信元データのうち、前記領域識別情報が示す前記特定の領域が共通であると解析された送信元データについては、前記作成手段は、前記設定情報の作成を省略する。
【発明の効果】
【００１０】
本発明によれば、データを結合して送信する際に冗長な処理を省略することにより、処理が高速化される。
【図面の簡単な説明】
【００１１】
【図１】実施形態１における情報処理装置のハードウェア構成例。
【図２】実施形態１における情報処理装置に搭載されるソフトウェアモジュール構成例。
【図３】実施形態１における複数の連続領域のデータを結合してパケットを生成する手順を示すフローチャート。
【図４】（ａ）は、実施形態１における領域情報の例、（ｂ）は、転送指示書の例。
【図５】図３の付加情報解析処理の手順を示すフローチャート。
【図６】図３の領域解析処理の手順を示すフローチャート。
【図７】図３の複製処理の手順を示すフローチャート。
【図８】実施形態１における情報処理装置が共通のＲＴＰヘッダ領域を利用した複数のＲＴＰパケット生成例。
【図９】実施形態１における情報処理装置が共通のＲＴＰペイロードを利用した複数のＲＴＰパケット生成例。
【図１０】実施形態２における情報処理装置に搭載されるソフトウェアモジュール構成例。
【図１１】実施形態２における情報処理装置が複数の連続領域のデータ結合方法の設定を行う手順を示すフローチャート
【図１２】実施形態２における領域情報及び領域結合順序情報の例。
【図１３】実施形態２における複数の連続領域のデータを結合してパケットを生成する手順を示すフローチャート。
【図１４】図１２の領域解析処理の手順を示すフローチャート。
【図１５】図１２の複製処理の手順を示すフローチャート。
【発明を実施するための形態】
【００１２】
以下、添付の図面を参照して、本発明をその実施形態に基づいて詳細に説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
【００１３】
［実施形態１］
実施形態１では、情報処理装置が、連続領域の複数のデータを結合したアプリケーションパケット（例えばＲＴＰパケット）を送信する例について説明する。
【００１４】
図１は、本実施形態における情報処理装置１１０のハードウェア構成例を示すブロック図である。システムバス１００は、ＣＰＵ（Central Processing Unit）１０１やＲＯＭ（Read Only Memory）１０２、ＲＡＭ（Random Access Memory）１０３等を接続し、各種データの転送経路となる。ＣＰＵ１０１は、各ハードウェア構成部を統括的に制御する。ＲＯＭ１０２は、ＣＰＵ１０１で実行される制御プログラム等を格納しており、図２に示すソフトウェアモジュールもここに含まれる。ＲＡＭ１０３は、ＣＰＵ１０１の主メモリ、ワークエリア等として機能し、プログラムやデータを一時記憶する。ＲＡＭ１０３にはアプリケーションデータを格納するアプリケーションバッファを持つ。ＲＡＭ１０４は、ＲＡＭ１０３と同様、プログラムやデータを一時記憶する。ＲＡＭ１０４は、パケットデータ等を格納するネットワークバッファを持つ。
【００１５】
ＤＭＡＣ（Direct Memory Access Controller）１０５は、後述する転送指示書（ＤＭＡＣ１０５が解釈可能な転送（読み込みおよび書き込み）指示情報）に基づいて、データのメモリ間転送を行う。例えば、ＤＭＡＣ１０５は、ＲＡＭ１０３のアプリケーションバッファからＲＡＭ１０４のネットワークバッファにアプリケーションデータ（後述する送信元データ群２０２）を転送する。ＭＡＣ１０６とＰＨＹ１０７は、Ｅｔｈｅｒｎｅｔ（商標登録）等のネットワークを介し、それぞれＭＡＣ（Media Access Control）層とＰＨＹ（物理）層に対応する通信処理を行う通信部である。ネットワーク１０８は、Ｅｔｈｅｒｎｅｔ（登録商標）や無線ＬＡＮ（Ｗｉ−Ｆｉ）等のＩＰ（Internet Protocol）通信が可能なネットワークである。
【００１６】
図２は、本実施形態における情報処理装置１１０が搭載するソフトウェアモジュール構成ブロック図である。アプリケーション２００は、ユーザアプリケーションを指す。本実施形態では、アプリケーション２００は、映像や音声等のマルチメディアデータをストリーミング送信するようなＲＴＰ（Real-time Transmission Protocol）アプリケーションとする。アプリケーション２００は、ＲＡＭ１０３に含まれる所定のアプリケーションバッファ２０３を利用し、ＲＴＰヘッダやＲＴＰペイロードデータに関する領域情報群２０１や、ＲＴＰヘッダやＲＴＰペイロードデータ等を含む送信元データ群２０２を管理する。
【００１７】
ソケットＡＰＩ２１０は、アプリケーション２００から呼び出されるインタフェースである。ソケットＡＰＩ２１０は、ＴＣＰ（ＵＤＰ）／ＩＰスタックレベルで提供される。本実施形態では、ソケットＡＰＩ２１０は、複数の連続領域のデータを結合して送信するためのｓｅｎｄｍｓｇとする。
【００１８】
領域情報群取得部２１１は、アプリケーション２００からソケットＡＰＩ２１０を介して領域情報群２０１を取得する。図４（ａ）に、領域情報群２０１を構成する領域情報４００の例を示す。領域情報群２０１は、１つ以上の領域情報４００から構成される。領域情報４００は、基本情報４０１と付加情報４０２から構成される。基本情報４０１は、送信元データ群２０２を構成する各送信元データ（本実施形態ではＲＴＰヘッダもしくはＲＴＰペイロード）に対応する、一つの連続領域におけるデータ領域開始位置４２１とデータ領域サイズ４２２の情報とを含む。データ領域開始位置４２１とデータ領域サイズ４２２はそれぞれ、アプリケーションバッファ２０３における送信元データの開始位置およびサイズを示す。データ領域開始位置４２１とデータ領域サイズ４２２の情報は、アプリケーション２００により生成される。なお、データ領域開始位置４２１とデータ領域サイズ４２２に代えて、データの開始位置（先頭アドレス）とデータの終端位置（終端アドレス）を、基本情報４０１として含むようにしてもよい。また、送信元データのデータサイズが一定である場合には、データ領域サイズ４２２の情報を省略してもよい。
【００１９】
付加情報４０２は、各送信元データに対する、データ領域識別子４２３、データ内容同一フラグ４２４、再利用度４２５の情報を含む。データ領域識別子４２３は、領域解析データバッファ２１４や送信データバッファ２１６内に保存される領域解析データや送信元データの領域を特定するための領域識別情報である。データ内容同一フラグ４２４は、送信元データ群２０２の各送信元データのうち、同一内容を有する送信元データに対してＯＮと設定され、それ以外は、ＯＦＦと設定される。同一内容を有する送信元データに対しては、最先の送信元データに対してはＮＯと設定されてもよい。再利用度４２５は、バッファ内に保存される優先度を示す（例えば、再利用される可能性が高い場合は高くなる）。なお、再利用度４２５は、基本情報４０１にも含まれていてもよい。データ領域識別子４２３、データ内容同一フラグ４２４、再利用度４２５の情報も、アプリケーション２００により生成される。なお、図４（ａ）に示す領域情報４００は、必要な情報の一例を示したに過ぎず、データの種類や順序、サイズ等を限定するものではない。また、領域情報群２０１が複数の領域情報４００で構成される場合、図４（ａ）のように連続領域で配列として実現してもよいし、非連続領域でリストとして実現してもよい。
【００２０】
領域解析部２１２は、領域情報群取得部２１１から入力された領域情報群２０１に含まれる各領域情報４００の基本情報４０１に対する解析を行い、転送指示書を含む領域解析データを作成する。転送指示書および、領域解析部２１２による基本情報４０１に対する解析処理の手順については後述する。
【００２１】
付加情報解析部２１３は、領域情報群取得部２１１から入力された領域情報４００における付加情報４０２に対する解析を行う。付加情報解析部２１３による付加情報４０２に対する解析処理の手順については後述する。
【００２２】
領域解析部２１２により解析された領域解析データは、領域解析データバッファ２１４に格納される。領域解析データバッファ２１４は、ＲＡＭ１０４に含まれる。
【００２３】
複製部２１５は、アプリケーション２００からソケットＡＰＩ２１０を介して送信元データ群２０２を取得し、複製／保存を行う。その際に、複製部２１５は、領域解析データバッファ２１４から転送指示書を受け取り、当該転送指示書従って複製を行う。本実施形態では、複製部２１５は、ＤＭＡＣ１０５により構成されるものとする。複製されたデータは、ＲＡＭ１０４に含まれる送信データバッファ２１６に格納される。複製部２１５による送信元データ群２０２の各送信元データの複製処理の手順については後述する。ここで、複製とは転送元にデータを残しつつ、転送先にデータを送信する所謂コピーと、転送元にデータを残さず、転送先にデータを送信する所謂ムーブの２つの概念を含むものとする。
【００２４】
プロトコル処理部２１７は、送信データバッファ２１６に複製された送信元データ群２０２の各送信元データに対して、ＴＣＰやＵＤＰ等のトランスポート層のプロトコル処理やＩＰ層のプロトコル処理を行う。より具体的には、プロトコル処理部２１７は、送信元データ群２０２の各送信元データにＴＣＰヘッダやＵＤＰヘッダ、及びＩＰヘッダを生成および付与し、ＩＰパケットを生成する。プロトコル処理については、本発明の本質ではないので、説明を省略する。
【００２５】
入力部２１８は、プロトコル処理部２１７により生成されたＩＰパケットを、通信モジュールバッファ２２１に入力する。入力部２１８は、入力処理のためにＤＭＡＣ１０５、又は別のＤＭＡＣを利用してもよい。通信モジュールバッファ２２１は、ＭＡＣ１０６の内部メモリに含まれる。
【００２６】
通信モジュール２２０は、主にＭＡＣ１０６を制御するネットワークドライバを指し、入力部２１８により通信モジュールバッファ２２１に入力されたＩＰパケットに対して、ＭＡＣ層の処理を行う。ＭＡＣ層の処理については、本発明の本質ではないので、説明を省略する。
【００２７】
図３は、本実施形態における情報処理装置１１０が実施する送信手順のフローチャートである。本フローチャートは、情報処理装置１１０において、アプリケーション２００からソケットＡＰＩ２１０経由で送信元データ群２０２と、送信元データ群２０２に対応する領域情報群２０１とが入力され、ＩＰパケットとして通信モジュールバッファ２２１に入力するまでの処理の流れを示す。なお、本実施形態において、送信元データ群２０２の各送信元データは、ＲＴＰヘッダまたはＲＴＰペイロードから構成されるものとする。ＲＴＰペイロードは、例えば、連続領域のデータ（例えば画像データ）のうち、アプリケーション２００により分割された複数のデータのうちのいずれかである。また、ＲＴＰヘッダは、対応するＲＴＰペイロードに対応して、アプリケーションにより生成される。同一の送信先に送信される複数のＲＴＰペイロードに対しては、ＲＴＰシーケンス番号やＲＴＰタイムスタンプ等の更新を除いて、同一のＲＴＰヘッダが使用される。複数の同一のＲＴＰヘッダに対しては、基本情報４０１の付加情報４０２に含まれるデータ領域識別子４２３には同一の値が挿入される。また、異なる複数の送信先に、例えばユニキャストで送信される同一のＲＴＰペイロードに対しては、基本情報４０１の付加情報４０２に含まれるデータ内容同一フラグ４２４はＯＮに設定される。
【００２８】
Ｓ３０１において、領域情報群取得部２１１は、アプリケーション２００から領域情報群２０１を受け取る。領域情報群２０１の構成は、図４（ａ）を用いて説明した通りである。
【００２９】
Ｓ３０２〜Ｓ３０６は、アプリケーション２００により分割されている、送信元データ群２０２を構成する各送信元データ（領域データ）に対する処理である。Ｓ３０２において、付加情報解析部２１３は、領域情報４００に含まれる付加情報４０２に対する解析処理を行う。付加情報４０２は、上述したように、アプリケーション２００から領域情報群取得部２１１を介して取得された領域情報４００に含まれる（図４（ａ））。
【００３０】
ここで。図５を参照して、付加情報４０２に対する解析処理（Ｓ３０２）について説明する。図５は、付加情報解析部２１３による付加情報４０２に対する解析処理の手順を示すフローチャートである。
【００３１】
Ｓ５０１において、付加情報解析部２１３は、付加情報４０２に、データ領域識別子４２３が含まれるかどうかを判定する。付加情報４０２にデータ領域識別子４２３が含まれていない場合は（Ｓ５０１でＮｏ）、処理はＳ５０２に移行する。Ｓ５０２では、付加情報解析部２１３は、領域解析データ及び送信元データがＲＡＭ１０４に保存されていないことを確認し、処理を終了する。一方、データ領域識別子４２３が含まれる場合は（Ｓ５０１でＹｅｓ）、処理はＳ５０３へ移行する。
【００３２】
Ｓ５０３では、付加情報解析部２１３は、領域解析データバッファ２１４内に、データ領域識別子４２３で指定された識別子の領域解析データが存在するかどうかを判定する。存在しない場合は（Ｓ５０３でＮｏ）、処理はＳ５０２に移行し、付加情報解析部２１３は、領域解析データ及び送信元データがＲＡＭ１０４に保存されていないことを確認し、処理は終了する。存在する場合は（Ｓ５０３でＹｅｓ）、処理はＳ５０４へ移行する。
【００３３】
Ｓ５０４では、付加情報解析部２１３は、データ内容同一フラグ４２４を見て、データ内容が送信データバッファ２１６内に既に保存された送信元データと同一かどうかを確認する。同一でない場合は（Ｓ５０４でＮｏ）、処理はＳ５０５へ移行し、付加情報解析部２１３は、領域解析データはＲＡＭ１０４に保存されているが、送信元データはＲＡＭ１０４に保存されていないことを確認し、処理は終了する。一方、同一である場合は（Ｓ５０４でＹｅｓ）、処理はＳ５０６へ移行する。
【００３４】
Ｓ５０６において、付加情報解析部２１３は、送信データバッファ２１６内に、データ領域識別子４２３で指定された識別子の送信元データが存在するかどうか（対象の送信元データと同一内容のデータが存在するか）を確認する。存在しない場合は（Ｓ５０６でＮｏ）、Ｓ５０５に移行し、付加情報解析部２１３は、領域解析データはＲＡＭ１０４に保存されているが、送信元データはＲＡＭ１０４に保存されていないことを確認し、処理を終了する。存在する場合は（Ｓ５０６でＹｅｓ）、Ｓ５０７に移行し、付加情報解析部２１３は、領域解析データ及び送信元データがＲＡＭ１０４に保存されていることを確認し、処理を終了する。
【００３５】
図３の説明に戻る。Ｓ３０３において、付加情報解析部２１３は、Ｓ３０２のステップにより得られた付加情報４０２に対する解析（確認）結果から、対象の送信元データと同一内容の送信元データが既に送信データバッファ２１６に保存されているかを判定する。図５に示したＳ３０２の処理で、Ｓ５０７の処理に進んだ場合、対象の送信元データと同一内容の送信元データが既に送信データバッファ２１６に保存されていると判定される。保存されている場合（Ｓ３０３でＹｅｓ）は、同一内容の送信元データに対して行われたＳ３０５とＳ３０６の処理が共有（すなわち、省略）されるため、最初に処理はＳ３０７へ移行する。保存されていない場合（Ｓ３０３でＮｏ）は、処理はＳ３０４へ移行する。
【００３６】
Ｓ３０４において、付加情報解析部２１３は、Ｓ３０２のステップにより得られた付加情報４０２に対する解析（確認）結果から、領域解析データバッファ２１４に、対象の送信元データに対する領域解析データが保存されているかを確認する。図５に示したＳ３０２の処理でＳ５０５の処理に進んだ場合、対象の送信元データに対する領域解析データが保存されていると判定される。保存されている場合は（Ｓ３０４でＹｅｓ）同一のデータ領域識別子４２３に対して行われたＳ３０５の処理が共有されるため、処理はＳ３０６に移行する。保存されていない場合は（Ｓ３０３でＹｅｓ）、処理はＳ３０５へ移行する。
【００３７】
Ｓ３０５において、領域解析部２１２は、基本情報４０１に対する解析処理を行うことにより、転送指示書４１０を含む領域解析データを作成する。まず、領域解析部２１２が作成する転送指示書４１０について説明する。図４（ｂ）は、転送指示書４１０の一例を示す図である。図４（ｂ）において、転送指示書４１０には、転送の方式や転送指示書のフォーマット等を示す転送設定情報４３１や、メモリ間転送中なのか転送が完了したのか等の状況を示す転送状況４３２の情報が含まれる。また、転送指示書４１０には、データ領域開始位置４３３とデータライン長とライン数４３４、次の転送指示書の位置４３５の情報等も含まれる。なお、領域解析部２１２は、アプリケーションバッファ２０３から送信元データ群２０２を読み込むための転送指示書と、ＲＡＭ１０４内の送信データバッファ２１６に書き込むための転送指示書の二種類の転送指示書を作成する。読み込み用の転送指示書については、領域解析部２１２は、アプリケーション２００から受け取った基本情報４０１に基づいて作成する。書き込み用の転送指示書については、領域解析部２１２は、送信データバッファ２１６の空き状況等を確認した後、作成する。なお、二種類の転送指示書は、必ずしも個別に作成される必要はなく、読み込みと書込みの情報が含まれるような転送指示書が作成されてもよい。
【００３８】
ここで、図６を参照して、領域解析処理（Ｓ３０５）について説明する。図６は、領域解析部２１２による解析処理の手順を示すフローチャートである。
【００３９】
Ｓ６０１において、まず、領域解析部２１２は、基本情報４０１から、データ領域開始位置４２１、即ちメモリ上のアドレスを取得する。次に、Ｓ６０２において、領域解析部２１２は、データ領域サイズ４２２を取得する。次に、Ｓ６０３において、領域解析部２１２は、取得したデータ領域開始位置４２１とデータ領域サイズ４２２から、読み込み用の転送指示書４１０（図４（ｂ））を作成する。次に、Ｓ６０４において、領域解析部２１２は、基本情報４０１から再利用度４２５を取得する。次に、Ｓ６０５において、領域解析部２１２は、領域解析データバッファ２１４に空きがあるかどうかを確認する。空きがある場合は、処理はＳ６０８に移行する。空きが無い場合は、処理はＳ６０６に移行する。なお、書き込み用の転送指示書４１０は、領域解析部２１２により送信データバッファ２１６の空き状況等が確認された後、図６のフローと同様な手順により作成される。
【００４０】
Ｓ６０６において、領域解析部２１２は、取得した再利用度４２５よりも低い再利用度を含む領域解析データがバッファに保存されているかどうかを確認する。保存されている場合は（Ｓ６０６でＹｅｓ）、処理はＳ６０７に移行する。一方、保存されていない場合は、処理は終了する。
【００４１】
Ｓ６０７において、領域解析部２１２は、領域解析データバッファ２１４内の最低再利用度を含む領域解析データを解放する。なお、最低再利用度を含む領域解析データが複数存在する場合は、最も古い解析データを解放する様にしてもよいし、時間の経過と共に動的に再利用度が下がってもよい。最後に、領域解析部２１２は、転送指示書４１０と再利用度４２５を含む領域解析データを領域解析データバッファ２１４に保存し、終了する（Ｓ６０８）。
【００４２】
図３の説明に戻る。Ｓ３０６において、複製部２１５は、領域解析データバッファ２１４から転送指示書４１０を受け取り、複製に対する設定を行う。なお、本実施形態では、複製部２１５において、ＤＭＡＣ１０５を利用する例で説明する。複製部２１５は、複製に対する設定処理として、例えば、Ｓ３０５で生成され、領域解析データバッファ２１４に格納されている転送指示書４１０を、図４（ｂ）に示すように、転送指示書リスト４１１に追加する。なお、図４（ｂ）に示す転送指示書４１０および転送指示書リスト４１１は、必要な情報の一例を示したに過ぎず、データの種類や順序、サイズ等を限定するものではない。転送指示書リスト４１１は、読み込みと書き込みの転送指示書が両方含まれるように生成される。
【００４３】
Ｓ３０７において、ＣＰＵ１０１の制御により、Ｓ３０３〜Ｓ３０６の処理が送信元データ群２０２に含まれる全ての送信元データ（領域データ）に対して完了したか否かが判定される。完了していれば（Ｓ３０７でＹｅｓ）、処理はＳ３０８に移行し、未完了であれば（Ｓ３０７でＮｏ）、処理はＳ３０２に移行する。
【００４４】
Ｓ３０８において、複製部２１５は、Ｓ３０６において設定された転送指示書に従って、送信元データ群２０２の複製を行う。
【００４５】
ここで、図７を参照して、送信元データ群２０２の複製処理（Ｓ３０８）について説明する。図７は、複製部２１５による複製処理の手順を示すフローチャートである。本実施形態では、複製処理をＤＭＡＣ１０５で処理する例で説明するため、以下で説明する複製処理はＤＭＡＣ１０５による処理であり、当該処理はＤＭＡＣ１０５に対する処理開始指示レジスタへの設定等により開始されるものとする。なお、以下の説明の各処理について、一部の処理をＣＰＵ１０１で処理してもよい。
【００４６】
まず、Ｓ７０１において、複製部２１５は、領域解析データバッファ２１４から、アプリケーションバッファ２０３からの読み込み用の転送指示書４１０と送信データバッファ２１６への書き込み用の転送指示書４１０の二種類を読み込む。なお、読み込み用の転送指示書と書き込み用の転送指示書の数は、複数領域を結合する場合は、通常一致しない。次に、Ｓ７０２において、転送指示書に従いメモリ間転送を行う。本実施形態では、ＲＡＭ１０３からの読み込みとＲＡＭ１０４への書き込みを一つのＤＭＡＣ１０５で実施する例で説明したが、読み込みと書き込みで別々のＤＭＡＣを利用してもよい。
【００４７】
次にＳ７０３において、複製部２１５は、転送の対象となる送信元データについて、領域情報４００の付加情報４０２から転送指示書に対応する再利用度４２５を取得する。なお、ここでの再利用度４２５は、領域解析処理のＳ６０４で取得した再利用度４２５と同じ値でもよいし、領域解析データと送信データとで異なる再利用度４２５を設定できるようにしてもよい。次に、Ｓ７０４において、複製部２１５は、送信データバッファ２１６に空きがあるかどうかを確認する。空きがある場合は（Ｓ７０４でＹｅｓ）、処理はＳ７０７に移行する。一方、空きが無い場合は（Ｓ７０４でＮｏ）、処理はＳ７０５に移行する。
【００４８】
Ｓ７０５において、複製部２１５は、取得した再利用度４２５よりも低い再利用度の送信元データが送信データバッファ２１６に保存されているかどうかを確認する。保存されている場合は（Ｓ７０５でＹｅｓ）、処理はＳ７０６に移行する。保存されていない場合は（Ｓ７０５でＮｏ）、処理はＳ７０８に移行する。
【００４９】
Ｓ７０６において、複製部２１５は、バッファ内の最低再利用度の送信元データを解放する。なお、最低再利用度の送信データが複数存在する場合は、最も古い送信データを解放する様にしてもよい。続いて、Ｓ７０７では、複製部２１５は、対象の送信元データをバッファに保存する。
【００５０】
Ｓ７０８では、複製部２１５は、全転送指示書の読み込みが完了したかどうかを確認する。完了した場合は（Ｓ７０８でＹｅｓ）、処理は終了し、未完了の場合は（Ｓ７０８でＮｏ）、処理はＳ７０１に戻る。なお、図７に説明したＳ３０８の処理は、図３のＳ３０３でＹｅｓの場合、同じＲＴＰペイロードであることから、省略され、最初に複製された送信元データが使用され得る。
【００５１】
図３の説明に戻る。Ｓ３０９において、プロトコル処理部２１７は、複製及び結合された送信元データに対し、ＴＣＰやＵＤＰプロトコル処理、ＩＰ処理等を行う。Ｓ３１０において、入力部２１８は、Ｓ３０９で生成されたＩＰパケットを通信モジュールバッファ２２１に格納する。
【００５２】
最後に、Ｓ３１１において、ＡＰＩ呼び出し元に領域解析データと送信元データの、領域解析データバッファ２１４と送信データバッファ２１６における保存状況を通知する。各バッファにおける各領域には、一意に識別可能な識別子が割り当てられ、通知される。通知方法は、ＡＰＩの戻り値でもよいし、引数で与えられた領域に書き込む方法でもよい。メモリ上の固定領域に書き込むようにしてもよい。
【００５３】
図８に、本実施形態に従う例示的な送信方法として、アプリケーション２００が、共通のＲＴＰヘッダ領域を利用した複数のＲＴＰパケット群８００を生成した例を示す。ＲＡＭ１０３内のアプリケーションバッファ２０３に存在する送信元データ１から５と、それらに対応する領域情報１から５があり、ＲＴＰヘッダ領域は送信元データ１、即ち領域情報１で示される。領域情報２から５は、連続領域に存在するＲＴＰペイロードである。ＲＴＰヘッダ領域は、同じデータ領域を使い回し、ヘッダ内のＲＴＰシーケンス番号やＲＴＰタイムスタンプ等が更新される。このようなケースにおいて、ＲＴＰヘッダ領域の再利用度を高く設定し、保存されたＲＴＰヘッダ領域を識別子で指定する。これにより、パケット送信毎に発生していたＲＴＰヘッダ領域の解析処理や転送指示書の作成、設定処理が省略され、高速化の効果が向上する。
【００５４】
図９に、本実施形態に従う別の例示的な送信方法として、共通のＲＴＰペイロードを利用した複数のＲＴＰパケット群９００を生成した例を示す。例えば、同じマルチメディアデータのストリーミング送信を複数の視聴クライアントにユニキャストで送信するようなケースを想定する。ＲＡＭ１０３内のアプリケーションバッファ２０３に存在する送信元データ６から１０とそれに対応する領域情報６から１０があり、ＲＴＰペイロード領域は送信元データ１０、即ち領域情報１０で示される。領域情報６から９は異なる視聴クライアントに対するＲＴＰヘッダ領域である。各視聴クライアントに同じＲＴＰペイロードとなる送信元データ１０を送信するケースで、ペイロードデータは同一データ領域且つデータ内容も同一である。この時、最初の視聴クライアントへの送信時にＲＴＰペイロード領域及びデータの再利用度を高く設定し、二番目以降の視聴クライアントへの送信時には、保存されたＲＴＰペイロード領域を識別子で指定し、且つデータ内容同一フラグを立てる。これにより、二番目以降の視聴クライアントへのＲＴＰパケット送信時には、ＲＴＰペイロード領域の解析処理、転送指示書の作成、設定処理、更に複製処理が省略され、高速化の効果が向上する。
【００５５】
［実施形態２］
実形形態１では、複数の連続領域のデータを結合して送信するソケットＡＰＩにおいて、各領域情報や送信データの再利用度を設定し、再利用の可否は送信するソケットＡＰＩに一任する形態例を示した。実施形態２では、送信時ではなく、予め再利用性のある領域情報や送信元データ、複数の連続領域の結合方法を含めて送信様式として登録しておき、送信時には登録した送信様式を指定する形態例を示す。送信様式の登録は、送信で使用するソケットに対する設定ＡＰＩとして実装される。例えば、Ｌｉｎｕｘ（商標登録）のｓｅｔｓｏｃｋｏｐｔが知られている。実装方法としては、独自ＡＰＩでもよいし、既存ＡＰＩの拡張でもよい。なお、実施形態２において、実施形態１と同様の図、及び図中と同じ要素に関しては説明を省略する。
【００５６】
図１０は、本実施形態で説明する情報処理装置１１０が搭載するソフトウェアモジュール構成ブロック図である。実施形態１で説明した図２との差分について説明する。
【００５７】
アプリケーションバッファ２０３には、領域情報群２０５、送信元データ群２０２に加えて、領域結合順序情報２０４が含まれる。領域結合順序情報２０４は、連続領域の結合順序を領域（各送信元データ）毎に示す情報及び予め設定した送信様式の識別子を含み、アプリケーション２００により生成される。
【００５８】
ソケットＡＰＩ１０００は、アプリケーション２００から読み出されるインタフェースである。領域情報群取得部１００１は、アプリケーション２００からソケットＡＰＩ１０００を介して領域情報群２０５を受け取る。領域情報群取得部１００１は、設定方法（図１１）及び送信方法（図１２）双方で使用される。結合順序群取得部１００２は、アプリケーション２００からソケットＡＰＩ１０００を介して領域結合順序情報２０４の連続領域の結合順序を領域毎に示す情報を受け取る。結合順序群取得部１００２は、設定方法でのみ使用される。領域解析部１００３は、領域情報群取得部１００１から領域情報が入力され、領域情報の解析を行う。解析方法については後述する。領域解析部１００３は、設定方法及び送信方法双方で使用される。
【００５９】
図１２に、領域情報群２０５を構成する領域情報１２００および領域結合順序情報２０４の例を示す。図１２に示すように、領域情報１２００は、一つの連続領域のデータ領域開始位置１２１１とデータ領域サイズ１２１２とデータ領域を一意に識別可能なデータ領域識別子１２１３を含む。これらは図４で説明したものと同様である。なお、図１２で示す領域情報１２００は、必要な情報の一例を示したに過ぎず、データの種類や順序、サイズ等を限定するものではない。また、領域情報群２０５が複数の領域情報１２００で構成される場合、連続領域で配列として実現してもよいし、非連続領域でリストとして実現してもよい。領域結合順序情報２０４を構成する結合順序情報１２０２は、対応する領域情報１２００と同じデータ領域識別子１２２１と、結合順序１２２２と、データ内容同一フラグ１２２３を含む。結合順序１２２２は、領域内での結合の順序を示す。データ内容同一フラグ１２２３は、実施形態１で説明した図４のデータ内容同一フラグ４２４と同様のフラグである。なお、図１２で示す結合順序情報１２０２は、必要な情報の一例を示したに過ぎず、データの種類や順序、サイズ等を限定するものではない。また、結合順序群１２０３が複数の結合順序情報１２０２で構成される場合、連続領域で配列として実現してもよいし、非連続領域でリストとして実現してもよい。また、本実施形態では、領域情報と結合順序を別のデータ構造で実現しているが、一つのデータ構造でまとめてもよい。
【００６０】
送信様式登録部１００４は、結合順序群取得部１００２から入力される領域結合順序情報２０４と領域解析部１００３により解析された領域解析データから送信様式１００６をＲＡＭ１０４に登録する。
【００６１】
領域解析データバッファ１００５は、領域解析部１００３により解析された領域解析データのバッファであり、ＲＡＭ１０４に含まれる。送信様式１００６は、送信様式登録部１００４により登録された送信様式であり、ＲＡＭ１０４に含まれる。
【００６２】
送信様式取得部１００７は、アプリケーション２００からソケットＡＰＩ１０００を介して領域結合順序情報２０４のうちの。予め設定された送信様式の識別子（図１２の送信様式識別子１２０４）を受け取る。送信様式取得部１００７は、送信方法でのみ使用される。
【００６３】
複製部１００８は、アプリケーション２００からソケットＡＰＩ１０００を介して送信元データ群２０２を送信データバッファ２１６に複製する。その際に、領域解析データバッファ１００５から領域解析データ、送信様式取得部１００７から送信様式識別子１２０４、送信様式１００６から送信様式識別子１２０４に対応する送信様式の情報（図１２を参照）が入力される。複製部１００８は、入力された送信様式の情報及び領域解析データに従って複製する。本実施形態では、ＤＭＡＣ１０５を用いて複製する例で説明する。複製方法については後述する。
【００６４】
図１１は、本実施形態における送信方法の設定手順のフローチャートである。本フローチャートは、アプリケーション２００からソケットＡＰＩ１０００経由で少なくとも一つ以上の連続領域を含む領域情報群２０５と各連続領域に対応する領域結合順序情報２０４が入力され、送信様式１００６をＲＡＭ１０４に登録するまでの処理の流れを示す。なお、ここでの連続領域とは、例えば、ＲＴＰヘッダ領域である。
【００６５】
Ｓ１１０１において、領域情報群取得部１００１は、アプリケーション２００から領域情報群２０５を受け取る。Ｓ１１０２において、結合順序群取得部１００２は、図１２に示すような、領域情報１２００に対応した結合順序情報１２０２を少なくとも一つ以上含む結合順序群１２０３を受け取る。Ｓ１１０３において、領域解析部１００３は、領域情報１２００と結合順序情報１２０２の解析処理を行う。解析処理の手順については後述する。
【００６６】
Ｓ１１０４において、ＣＰＵ１０１の制御により、全領域情報の処理が完了したかどうかが確認される。完了していれば（Ｓ１１０４でＹｅｓ）、処理はＳ１１０５に移行する。未完了であれば（Ｓ１１０４でＮＯ）、処理はＳ１１０３に移行する。
【００６７】
最後にＳ１１０５において、送信様式登録部１００４は、結合順序情報１２０２と領域情報１２００を、それらの組を一意に識別可能な送信様式識別子１２０４と共に情報処理装置１１０内部に登録する。より具体的には、送信様式登録部１００４は、領域解析処理で解析した領域解析データと結合順序群１２０３を送信様式としてＲＡＭ１０４内に保存する。
【００６８】
図１３は、本実施形態で説明する送信方法の全体フローチャートである。Ｓ１３０１において、領域情報群取得部１００１は、アプリケーション２００から領域情報群２０５を受け取る。Ｓ１３０２において、送信様式取得部１００７は、送信様式の識別子である送信様式識別子１２０４を受け取る。次に、Ｓ１３０３において、送信様式取得部１００７は、送信様式が有るか否かを確認する。送信様式取得部１００７は、例えば、受け取った送信様式識別子１２０４が登録済かどうかを確認することにより、送信様式が有るかどうかを確認する。送信様式が有る場合は（Ｓ１３０３でＹｅｓ）、処理はＳ１３０４に移行する。送信様式が無い場合は（Ｓ１３０３でＮｏ）、処理はＳ１３０９に移行する。
【００６９】
Ｓ１３０４において、領域解析部１００３は、送信様式識別子１２０４により送信様式１００６を読み込み、領域解析データバッファ１００５において、領域毎に登録済領域解析データが有るかどうかを確認する。登録済領域解析データがある場合は（Ｓ１３０４でＹｅｓ）、処理はＳ１３０５に移行し、無い場合は（Ｓ１３０４でＮｏ）、処理はＳ１３０７に移行する。
【００７０】
Ｓ１３０５において、領域解析部１００３は、登録済領域解析データを読み込む。Ｓ１３０６において、領域解析部１００３は、データ内容同一フラグ１２２３がＯＮかどうかを確認する。データ内容同一フラグ１２２３がＯＮである場合は（Ｓ１３０６でＹｅｓ）、処理はＳ１３０９に移行し、そうでない場合は（Ｓ１３０６でＮｏ）、処理はＳ１３０８に移行する。
【００７１】
Ｓ１３０７において、領域解析部１００３は、領域解析処理を行う。領域解析処理については後述する。Ｓ１３０８において、複製部１００８は、複製に対する設定処理を行う。当該設定処理において、領域解析処理（Ｓ１３０７）で生成された転送指示書、又は登録済領域解析データに含まれる転送指示書が設定される。設定処理の詳細は実施形態１と同様であるため、説明は省略する。
【００７２】
Ｓ１３０９において、ＣＰＵ１０１の制御により、全領域情報の処理が完了したかどうかが確認される。完了していれば（Ｓ１３０９でＹｅｓ）、処理はＳ１３１３に移行し、未完了である場合は（Ａ１３０９でＮｏ）、処理はＳ１３０４に移行する。
【００７３】
Ｓ１３１０において、領域解析部１００３は、領域解析処理を行う。領域解析処理については後述する。Ｓ１３１１の複製設定処理は、Ｓ１３０８と同様の処理であるため、説明は省略する。
【００７４】
Ｓ１３１２において、ＣＰＵ１０１の制御により、全領域情報の処理が完了したかどうかが確認される。完了していれば場合は（Ｓ１３１２でＹｅｓ）、Ｓ１３１３に移行し、未完了である場合は（Ｓ１３１２でＮｏ）、Ｓ１３１０に移行する。Ｓ１３１３では、複製部１００８は、複製設定処理（Ｓ１３０８、Ｓ１３１１）で設定された転送指示書に基づいて複数の送信元データが結合されながら複製される処理を行う。複製処理方法については後述する。
【００７５】
通信プロトコル処理（Ｓ１３１４）、入力処理（Ｓ１３１５）については、実施形態１の図３における通信プロトコル処理（Ｓ３０９）、入力処理（Ｓ３１０）と同様の処理であるため、説明は省略する。
【００７６】
図１４は、領域解析処理（Ｓ１１０３、Ｓ１３０７、Ｓ１３１０）の手順を示すフローチャートである。まず、Ｓ１４０１において、領域解析部１００３は、データ領域開始位置１２１１、即ちメモリ上のアドレスを取得する。次に、Ｓ１４０２において、領域解析部１００３は、データ領域サイズ１２１２を取得する。最後に、Ｓ１４０３において、領域解析部１００３は、取得したデータ領域開始位置１２１１とデータ領域サイズ１２１２から、読み込み用の転送指示書４１０を作成する。なお、書き込み用の転送指示書４１０は、領域解析部１００３により送信データバッファ２１６の空き状況等が確認された後、図１４のフローと同様な手順により作成される。転送指示書４１０を含む領域解析データは、領域解析データバッファ１００５に保存される。
【００７７】
図１５は、複製処理（Ｓ１３１３）の手順を示すフローチャートである。本実施形態では、複製処理をＤＭＡＣ１０５で処理する例で説明するため、以下で説明する処理はＤＭＡＣ１０５による処理であり、当該処理はＤＭＡＣ１０５に対する処理開始指示レジスタへの設定等により開始されるものとする。なお、以下の説明の各処理について、一部の処理をＣＰＵ１０１で処理してもよい。
【００７８】
まず、Ｓ１５０１において、複製部１００８は、領域解析データバッファ１００５から、アプリケーションバッファ２０３からの読み込み用の転送指示書４１０と送信データバッファ２１６への書き込み用の転送指示書４１０の二種類を読み込む。なお、読み込み用の転送指示書と書き込み用の転送指示書の数は、複数領域を結合する場合は、通常一致しない。
【００７９】
次に、Ｓ１５０２において、複製部１００８は、転送指示書４１０に従いメモリ間転送を行う。本実施形態では、アプリケーションバッファ２０３からの読み込みと送信データばふぁ２１６への書き込みを一つのＤＭＡＣ１０５で実施する例で説明したが、読み込みと書き込みで別々のＤＭＡＣを利用してもよい。
【００８０】
次に、Ｓ１５０３において、複製部１００８は、全転送指示書の読み込みが完了したかどうかを確認する（Ｓ１５０３）。完了した場合は（Ｓ１５０３でＹｅｓ）、処理は終了し、未完了の場合は（Ｓ１５０３でＮｏ）、処理はＳ１５０１に移行する。
【００８１】
本実施形態に従う送信方法の例としては、実施形態１で説明した共通のＲＴＰヘッダ領域を利用した複数のＲＴＰパケット群生成例（図８）、及び共通のＲＴＰペイロードを利用した複数のＲＴＰパケット群生成例（図９）と同様であるため、説明は省略する。
【００８２】
［その他の実施形態］
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００８３】
１０  情報処理装置、１００  システムバス、１０１  ＣＰＵ、１０２  ＲＯＭ、１０３  ＲＡＭ、１０４  ＲＡＭ、１０５  ＤＭＡＣ、１０６  ＭＡＣ、１０７  ＰＨＹ２００  アプリケーション、２１０  ソケットＡＰＩ、  ２２０  通信モジュール
【図１】
2018106418.tif 000003
【図２】
2018106418.tif 000004
【図３】
2018106418.tif 000005
【図４】
2018106418.tif 000006
【図５】
2018106418.tif 000007
【図６】
2018106418.tif 000008
【図７】
2018106418.tif 000009
【図８】
2018106418.tif 000010
【図９】
2018106418.tif 000011
【図１０】
2018106418.tif 000012
【図１１】
2018106418.tif 000013
【図１２】
2018106418.tif 000014
【図１３】
2018106418.tif 000015
【図１４】
2018106418.tif 000016
【図１５】
2018106418.tif 000017