(57)【要約】【課題】通信速度の高速化を実現可能な情報処理装置、情報処理システムおよびその通信方法を提供する。【解決手段】例えば、伝送線路ＬＮに結合される端子Ｐｒと、送信元（ＳＯＣｔｘ）からＬＮを介して送信されたデータＤＡＴをＰｒ受信する際の制御を行う通信部ＣＣＢＫ１とを備える。ＣＣＢＫ１は、ＰｒでＤＡＴを受信するよりも前の時点で、当該ＤＡＴを正常に受信したことを示す肯定応答ＡＣＫを送信元（ＳＯＣｔｘ）に向けて返信する肯定応答投機部ＡＣＫＣＵ１を有する。【選択図】図１
2014222466.tif 000002
【特許請求の範囲】
【請求項１】
伝送線路に結合される端子と、
送信元から前記伝送線路を介して送信されたデータを前記端子で受信する際の制御を行う通信部と、を備え、
前記通信部は、前記端子でデータを受信するよりも前の時点で、当該データを正常に受信したことを示す肯定応答を前記送信元に向けて返信する肯定応答投機部を有する、情報処理装置。
【請求項２】
請求項１記載の情報処理装置において、
前記肯定応答投機部は、前記端子で前記送信元からの前記データを受信するよりも前の時点で、かつ、前記送信元が当該データを送信したあとに前記送信元に到達するように前記肯定応答を返信する、情報処理装置。
【請求項３】
請求項２記載の情報処理装置において、
前記肯定応答投機部は、前記肯定応答を返信する際の返信間隔を定めるタイマ部を備え、前記端子でデータを連続して受信している際に、前記肯定応答を前記返信間隔で連続して返信する、情報処理装置。
【請求項４】
請求項３記載の情報処理装置において、
前記送信元は、前記通信部に向けて送信する各データを区別するため、前記データ内の所定の領域に所定の範囲内で巡回する管理番号を付加し、
前記肯定応答投機部は、さらに、前記管理番号を順次生成する管理番号生成部を備え、前記肯定応答を前記返信間隔で連続して返信する際に、前記肯定応答内の所定の領域に前記管理番号生成部で順次生成された前記管理番号を付加する、情報処理装置。
【請求項５】
請求項４記載の情報処理装置において、
前記送信元は、前記管理番号を付加して前記データを送信したのち、当該管理番号に基づいて期待される管理番号が付加された前記肯定応答を待ち、前記肯定応答を受信した際に、前記肯定応答に付加された前記管理番号が前記期待される管理番号と異なる場合に前記通信部に向けて否定応答を送信し、
前記肯定応答投機部は、さらに、前記タイマ部に設定される前記返信間隔の最適値を、予め定めた初期値を始点として前記送信元からの前記否定応答を受信するまで順次短縮していくことで探索するタイマ最適値探索部を有する、情報処理装置。
【請求項６】
請求項５記載の情報処理装置において、
前記通信部は、ＵｎｉＰｒｏ規格に基づく処理を行う、情報処理装置。
【請求項７】
伝送線路の一端に結合される第１端子と、前記第１端子でデータを受信する際の制御を行う第１通信部と、前記第１通信部を介して受信したデータを用いて所定の処理を行う第１処理部と、を備えた第１情報処理装置と、
前記伝送線路の他端に結合される第２端子と、前記第２端子からデータを送信する際の制御を行う第２通信部と、所定の処理を行うことでデータを生成し、当該データを前記第２通信部を介して送信する第２処理部と、を備えた第２情報処理装置と、を有し、
前記第１通信部は、前記第１端子で前記第２通信部から送信されたデータを受信するよりも前の時点で、当該データを正常に受信したことを示す肯定応答を前記第２通信部に向けて返信する肯定応答投機部を備える、情報処理システム。
【請求項８】
請求項７記載の情報処理システムにおいて、
前記肯定応答投機部は、前記第１端子で前記第２通信部からの前記データを受信するよりも前の時点で、かつ、前記第２通信部が当該データを送信したあとに前記第２通信部に到達するように前記肯定応答を返信する、情報処理システム。
【請求項９】
請求項８記載の情報処理システムにおいて、
前記肯定応答投機部は、前記肯定応答を返信する際の返信間隔を定めるタイマ部を備え、前記第１端子で前記データを連続して受信している際に、前記肯定応答を前記返信間隔で連続して返信する、情報処理システム。
【請求項１０】
請求項９記載の情報処理システムにおいて、
前記第２通信部は、前記第１通信部に向けて送信する各データを区別するため、前記データ内の所定の領域に所定の範囲内で巡回する管理番号を付加し、
前記肯定応答投機部は、さらに、前記管理番号を順次生成する管理番号生成部を備え、前記肯定応答を前記返信間隔で連続して返信する際に、前記肯定応答内の所定の領域に前記管理番号生成部で順次生成された前記管理番号を付加する、情報処理システム。
【請求項１１】
請求項１０記載の情報処理システムにおいて、
前記第２通信部は、前記管理番号を付加して前記データを送信したのち、当該管理番号に基づいて期待される管理番号が付加された前記肯定応答を待ち、前記肯定応答を受信した際に、前記肯定応答に付加された前記管理番号が前記期待される管理番号と異なる場合に前記第１通信部に向けて否定応答を送信し、
前記肯定応答投機部は、さらに、前記タイマ部に設定される前記返信間隔の最適値を、予め定めた初期値を始点として前記第２通信部からの前記否定応答を受信するまで順次短縮していくことで探索するタイマ最適値探索部を有する、情報処理システム。
【請求項１２】
請求項１１記載の情報処理システムにおいて、
前記第１および第２通信部は、ＵｎｉＰｒｏ規格に基づく処理を行う、情報処理システム。
【請求項１３】
第１および第２通信部と、
前記第１通信部と前記第２通信部との間の通信経路と、を備えた情報処理システムの通信方法であって、
前記第２通信部が、前記第１通信部に向けて第１データを送信する第１ステップと、
前記第１通信部が、前記第１データを受信するよりも前の時点で、前記第１データを正常に受信したことを示す第１肯定応答を前記第２通信部に向けて返信する第２ステップと、
前記第２通信部が、前記第１肯定応答を受けて、前記第１通信部に向けて第２データを送信する第３ステップと、
前記第１通信部が、前記第２データを受信するよりも前の時点で、前記第２データを正常に受信したことを示す第２肯定応答を前記第２通信部に向けて返信する第４ステップと、を有する、情報処理システムの通信方法。
【請求項１４】
請求項１３記載の情報処理システムの通信方法において、
前記第１および第２通信部は、ＵｎｉＰｒｏ規格に基づく処理を行う、情報処理システムの通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理システムおよびその通信方法に関し、例えば、ＵｎｉＰｒｏ規格に基づくインタフェース回路を備えた情報処理装置、および、ＵｎｉＰｒｏ規格に基づく通信を行う情報処理システムならびにその通信方法に関する。
【背景技術】
【０００２】
例えば、特許文献１には、受信側のバッファ回路の空き容量を、実際にバッファ回路に空き容量が生じる時点よりも前の時点で送信側に通知する情報処理システムが示されている。これにより、通信速度の高速化が実現可能になる。特許文献２には、受信側がリクエスト／データパケットを受信したのち、送信側に向けてＡＣＫパケット又はＮＡＫパケットを連続して返信するデータ通信装置が示されている。これにより、ＡＣＫパケット又はＮＡＫパケットの返信の過程でエラーが生じた場合に、送信側はＡＣＫ／ＮＡＫタイマのタイムアウトを待たずに次ぎの通信を行うことが可能になる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−６４０９０号公報
【特許文献２】特開２００８−２０４２４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
例えば、ＵｎｉＰｒｏやＰＣＩｅ（ＰＣＩ  Ｅｘｐｒｅｓｓ）等の通信規格では、受信側がバッファの空き容量（すなわちフロー制御情報）を送信側に通知し、送信側はこの空き容量に基づいてデータを送信するという所謂フロー制御が規定されている。ただし、フロー制御を行うと、特に、小さいデータサイズのデータを単位として、それが連続して転送されるような場合にデータ転送効率が低下する恐れがある。例えば、新しい通信規格では、通常、ある程度大きいデータサイズのデータを単位としてデータ転送を行うことが可能な仕様となっている。ただし、この際に、データ転送用のソフトウェアとして、小さいデータサイズのデータを単位とする過去の通信規格に基づいて作成されたソフトウェア資産をそのまま流用したような場合に、前述したようなデータ転送効率の低下が生じ得る。
【０００５】
このような事態は、例えば、特許文献１のような技術を用いてバッファの空き容量を早期に通知する方式を用いたり、あるいは、バッファにある程度大きい容量を持つＦＩＦＯメモリを用いることなどで回避することが可能である。例えば、ＦＩＦＯメモリを用いる場合には、バッファは潤沢にあるため、前述したようなフロー制御情報を通知する間隔を十分に長くすることができ、バッファの空き状態がデータ転送を妨げるような事態は生じ難い。
【０００６】
一方、前述したような通信規格を代表に、所謂コネクション型と呼ばれる通信規格では、特許文献１や特許文献２に示されるように、データを受信した際に、データを正しく受信できたことを表す肯定応答や、データを正しく受信できなかったことを表す否定応答を返信することが規定されている。肯定応答は、ＡＣＫ（ACKnowledgement）と呼ばれ、否定応答は、ＮＡＫ（Negative AcKnowledgement）と呼ばれる。ＵｎｉＰｒｏやＰＣＩｅでは、送信側は、送信するデータに対して所定の範囲内で巡回する管理番号を順次付加し、受信側は、当該データを正しく受信できた場合には、同じ管理番号を付加した肯定応答ＡＣＫを返信する。
【０００７】
ここで、例えば、受信側が各管理番号毎に肯定応答ＡＣＫを返信し、送信側が当該肯定応答ＡＣＫを受けて次ぎの管理番号を付加したデータを送信するような場合、この送信側での肯定応答ＡＣＫの待ち時間によってデータ転送効率が低下する恐れがある。このため、ＵｎｉＰｒｏやＰＣＩｅでは、連続する複数の管理番号の肯定応答ＡＣＫを一度に纏めて行うことも可能な仕様となっている。例えば、送信側は、管理番号「１５」までの肯定応答ＡＣＫを受信済みの状態で、管理番号「１６」〜「３１」をそれぞれ付加したデータを順次送信し、これに応じて受信側は、管理番号「３１」の肯定応答ＡＣＫを返信する。この場合、送信側は、この管理番号「３１」の肯定応答ＡＣＫを、管理番号「１６」〜「３１」の肯定応答ＡＣＫとみなす。
【０００８】
しかしながら、このような管理番号は、連続して送信することが可能なデータの数を制限することになる。例えば、管理番号は、ＰＣＩｅでは１２ビット（４０９６個）、ＵｎｉＰｒｏでは５ビット（３２個）となっている。データを正しく区別するためには、送信側は、連続して送信するデータの数を少なくともこの管理番号の範囲内とし、その後、肯定応答ＡＣＫ又は否定応答ＮＡＫを受信するまで次ぎのデータの送信を必ず中断する必要がある。
【０００９】
また、送信側は、否定応答ＮＡＫを受信した場合、あるいは、タイムアウトするまで肯定応答ＡＣＫも否定応答ＮＡＫも受信しない場合には、対応する管理番号を付加したデータを再度送信する。例えば、受信側からの肯定応答ＡＣＫが送信側に到達しなかった場合には、送信側はデータを再度送信するのに対して、受信側は、再度送信されたデータではなく、次ぎのデータが送信されてくるのを期待することになる。このような場合等で、受信側に再度送信されたデータであることを認識させるためには、ＡＣＫを待たずに連続して送信することが可能なデータの数は、実際には管理番号の範囲内の更に半分となる。
【００１０】
この肯定応答ＡＣＫを待たずに連続して送信することが可能なデータの数（言い換えれば、ＡＣＫを一度に纏めて行うことが可能なデータの数）は、アウトスタンディング数と呼ばれる。特に、ＵｎｉＰｒｏの場合には、例えば１６個といったように、アウトスタンディング数が少なくなる。このため、その後に必要とされる送信側での肯定応答ＡＣＫ又は否定応答ＮＡＫの待ち時間に起因して、データ転送効率が低下する恐れがある。
【００１１】
後述する実施の形態は、このようなことを鑑みてなされたものであり、その他の課題と新規な特徴は、本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１２】
一実施の形態による情報処理装置は、伝送線路に結合される端子と、送信元から伝送線路を介して送信されたデータを端子で受信する際の制御を行う通信部とを備える。通信部は、端子でデータを受信するよりも前の時点で、当該データを正常に受信したことを示す肯定応答を送信元に向けて返信する肯定応答投機部を有する。
【発明の効果】
【００１３】
前記一実施の形態によれば、通信速度の高速化が実現可能となる。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施の形態１による情報処理システムにおいて、その構成の一例を示すブロック図である。
【図２】図１の情報処理システムにおいて、送受信間の通信状態の一例を示すシーケンス図である。
【図３】（ａ）、（ｂ）および（ｃ）は、図１の情報処理システムで通信を行う際に用いられる各信号のフォーマットの一例を示す図である。
【図４】図１の情報処理システムを適用した無線通信システムの概略構成例を示すブロック図である。
【図５】本発明の実施の形態２による情報処理システムにおいて、その構成の一例を示すブロック図である。
【図６】図５における肯定応答投機部の動作例を示すフロー図である。
【図７】図６の動作内容を説明する補足図である。
【図８】図６の動作内容を説明する補足図である。
【図９】図６の動作内容を説明する補足図であり、図７とは異なる動作内容を説明する図である。
【図１０】図６の動作内容を説明する補足図であり、図８とは異なる動作内容を説明する図である。
【図１１】本発明の実施の形態３による情報処理システムにおいて、その構成の一例を示すブロック図である。
【図１２】図１１の情報処理システムの概略的な動作例を示す説明図である。
【図１３】本発明の前提として検討した情報処理システムにおいて、その主要部の構成例を示す概略図である。
【図１４】図１３の情報処理システムにおいて、そのデータサイズと転送レートとレイテンシの関係の一例を示す図である。
【図１５】（ａ）、（ｂ）および（ｃ）は、図１４の補足図であり、送受信間の通信状態の一例を示すシーケンス図である。
【発明を実施するための形態】
【００１５】
以下の実施の形態においては便宜上その必要があるときは、複数のセクションまたは実施の形態に分割して説明するが、特に明示した場合を除き、それらは互いに無関係なものではなく、一方は他方の一部または全部の変形例、詳細、補足説明等の関係にある。また、以下の実施の形態において、要素の数等（個数、数値、量、範囲等を含む）に言及する場合、特に明示した場合および原理的に明らかに特定の数に限定される場合等を除き、その特定の数に限定されるものではなく、特定の数以上でも以下でも良い。
【００１６】
さらに、以下の実施の形態において、その構成要素（要素ステップ等も含む）は、特に明示した場合および原理的に明らかに必須であると考えられる場合等を除き、必ずしも必須のものではないことは言うまでもない。同様に、以下の実施の形態において、構成要素等の形状、位置関係等に言及するときは、特に明示した場合および原理的に明らかにそうでないと考えられる場合等を除き、実質的にその形状等に近似または類似するもの等を含むものとする。このことは、上記数値および範囲についても同様である。
【００１７】
また、実施の形態の各機能ブロックを構成する回路素子は、特に制限されないが、公知のＣＭＯＳ（相補型ＭＯＳトランジスタ）等の集積回路技術によって、単結晶シリコンのような半導体基板上に形成される。以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
【００１８】
《情報処理システム（比較例）の構成および問題点》
まず、本実施の形態による情報処理システムの説明に先だって、その比較例について説明する。図１３は、本発明の前提として検討した情報処理システムにおいて、その主要部の構成例を示す概略図である。図１３に示す情報処理システムは、２個の情報処理装置ＳＯＣｒｘ’，ＳＯＣｔｘ’と、当該情報処理装置間を結合する伝送線路ＬＮとを備える。ＳＯＣｒｘ’，ＳＯＣｔｘ’のそれぞれは、プロセッサ回路ＣＰＵと、例えば、ＵｎｉＰｒｏ規格に基づく制御を行う通信部ＣＣＢＫ’とを備える。
【００１９】
通信部ＣＣＢＫ’は、物理レイヤ処理回路ＰＨＹ、データリンクレイヤ処理回路ＤＬ、ネットワークレイヤ処理回路ＮＴ、トランスポートレイヤ処理回路ＴＬ、ＣＰＵインタフェース回路ＣＰＵＩＦ、およびバッファ回路ＢＵＦを備える。ＰＨＹ，ＤＬ，ＮＴ，ＴＬは、ＵｎｉＰｒｏ規格で定められる各レイヤ（Ｌ１（Ｌ１．５），Ｌ２，Ｌ３，Ｌ４）の制御をそれぞれ行う。
【００２０】
ここで、情報処理装置ＳＯＣｔｘ’から送信されたデータＤＡＴを情報処理装置ＳＯＣｒｘ’で受信する場合を例として簡単に動作を説明する。ＳＯＣｔｘ’において、プロセッサ回路ＣＰＵは、所定の処理を行うことでデータＤＡＴを生成し、当該ＤＡＴを通信部ＣＣＢＫ’を介して伝送線路ＬＮに送信する。この際に、まず、ＣＰＵは、ＤＡＴをＣＰＵインタフェース回路ＣＰＵＩＦを介してバッファ回路ＢＵＦに書き込む。次いで、トランスポートレイヤ処理回路ＴＬは、ＢＵＦからＣＰＵＩＦを介してＤＡＴを取得し、ネットワークレイヤ処理回路ＮＴ、データリンクレイヤ処理回路ＤＬ、物理レイヤ処理回路ＰＨＹを順に介して当該ＤＡＴを伝送線路ＬＮに送信する。
【００２１】
一方、情報処理装置ＳＯＣｒｘ’において、プロセッサ回路ＣＰＵは、通信部ＣＣＢＫ’を介してデータＤＡＴを受信し、当該ＤＡＴに基づく所定の処理を行う。この際に、物理レイヤ処理回路ＰＨＹによって受信されたＤＡＴは、データリンクレイヤ処理回路ＤＬ、ネットワークレイヤ処理回路ＮＴを順に介してトランスポートレイヤ処理回路ＴＬに伝送され、ＴＬは、当該ＤＡＴをＣＰＵインタフェース回路ＣＰＵＩＦを介してバッファ回路ＢＵＦに書き込む。ＣＰＵは、ＢＵＦからＣＰＵＩＦを介してＤＡＴを取り出し、所定の処理を行う。また、ＤＬは、当該ＤＡＴを正常に受信した場合には、ＳＯＣｔｘ’に向けて肯定信号ＡＣＫを返信する。
【００２２】
図１４は、図１３の情報処理システムにおいて、そのデータサイズと転送レートとレイテンシの関係の一例を示す図である。図１４において、横軸は、一回のデータ転送に伴うデータサイズ［Ｂ］であり、縦軸は転送レート［ＭＢ／ｓ］である。レイテンシは、通信の片道に要するサイクル数であり、図１４では、レイテンシが０，５０，１００サイクルの場合に、データサイズと転送レートの性能がどのように変わるかが示されている。なお、ここで言うサイクルとは、１０ＵＩ（１ＵＩ＝１／ビットレート）を１サイクルとするクロックでカウントした数である。
【００２３】
図１４に示すように、一回のデータ転送に伴うデータサイズが大きい場合、レイテンシによる性能の差は少ないことが判る。一方、一回のデータ転送に伴うデータサイズが小さい場合、例えばレイテンシが０サイクルと１００サイクルとでは、性能が２倍程度異なることが判る。すなわち、データサイズが小さくなるほど、また、レイテンシが大きくなるほど性能は低下する。
【００２４】
図１５（ａ）、図１５（ｂ）および図１５（ｃ）は、図１４の補足図であり、送受信間の通信状態の一例を示すシーケンス図である。図１５（ａ）、図１５（ｂ）および図１５（ｃ）では、情報処理装置ＳＯＣｔｘ’が、ＵｎｉＰｒｏ規格に基づいて、前述したアウトスタンディング数となる１６個のデータＤを連続して送信している状況が示されている。例えば、Ｄ（０）［０］は、管理番号［０］が付加された（０）番目のデータを意味する。情報処理装置ＳＯＣｒｘ’は、当該１６個のデータＤ（０）［０］〜Ｄ（１５）［１５］を正常に受信した場合に、管理番号［１５］が付加された肯定信号ＡＣＫ［１５］をＳＯＣｔｘ’に向けて返信する。この場合、ＳＯＣｔｘ’は、前述したように、管理番号［０］〜［１５］のＤ（０）［０］〜Ｄ（１５）［１５］に対して肯定信号が返信されたとみなす。
【００２５】
情報処理装置ＳＯＣｔｘ’は、データＤ（０）［０］〜Ｄ（１５）［１５］を連続して送信したのち、肯定信号ＡＣＫ［１５］を受信するまでの期間は、次ぎの送信を中断する必要がある。ＳＯＣｔｘ’は、ＡＣＫ［１５］を受信した場合には、図１５（ａ）に示されるように、送信を再開し、同様にして、次ぎの１６個のデータＤ（１６）［１６］〜Ｄ（３１）［３１］を連続して送信したのち、肯定信号ＡＣＫ［３１］を受信するまで次ぎの送信を中断する。
【００２６】
図１５（ｂ）には、図１５（ａ）と比較して、レイテンシが大きい場合の状況が示されている。この場合、例えば、送信側（ＳＯＣｔｘ’）がデータＤ（１５）［１５］を送信したのち、それが受信側（ＳＯＣｒｘ’）に到達するまでの時間や、ＳＯＣｒｘ’が肯定信号ＡＣＫ［１５］を返信したのち、それがＳＯＣｔｘ’に到達するまでの時間が共に長くなる。その結果、１６個のデータを連続して送信したのち、次ぎの１６個のデータの送信を開始するまでの時間ｔｉが長くなる。これにより、図１４に示したように、レイテンシが大きくなるほど性能（転送レート）が低下することになる。
【００２７】
図１５（ｃ）には、図１５（ａ）と比較して、データサイズが大きい場合の状況が示されている。この場合、例えば、送信側（ＳＯＣｔｘ’）が１６個のデータＤ（０）［０］〜Ｄ（１５）［１５］を連続して送信する際の、その各送信間隔（例えばＤ（０）［０］とＤ（１）［１］の間隔）ｔｄが長くなる。図１５（ｃ）では、便宜上、図１５（ａ）と比べて各データが太線で示されているが、実際には、データサイズが大きいため、各太線の間にも絶え間なくデータが送信されるような状況となる。この場合、図１５（ｃ）に示すように、この期間ｔｄによって前述した期間ｔｉが隠蔽されるため、性能（転送レート）の低下は殆ど生じない。これにより、図１４に示したように、データサイズが小さくなるほど性能（転送レート）が低下することになる。
【００２８】
（実施の形態１）
《情報処理システムの構成および動作》
図１は、本発明の実施の形態１による情報処理システムにおいて、その構成の一例を示すブロック図である。図１に示す情報処理システムは、２個の情報処理装置ＳＯＣｒｘ，ＳＯＣｔｘと、当該情報処理装置間を結合する伝送線路ＬＮとを備える。ＳＯＣｒｘ，ＳＯＣｔｘのそれぞれは、特に限定はされないが一つの半導体チップによって実現される。ここでは、ＳＯＣｒｘを受信側、ＳＯＣｔｘを送信側として、その通信機能についての説明を行うが、ＳＯＣｒｘ，ＳＯＣｔｘのそれぞれは、実際には、その逆方向の通信機能も備えている。
【００２９】
情報処理装置ＳＯＣｒｘは、伝送線路ＬＮの一端に結合される端子Ｐｒと、ＰｒでデータＤＡＴを受信する際の制御を行う通信部ＣＣＢＫ１と、ＣＣＢＫ１を介して受信したＤＡＴを用いて所定の処理を行うプロセッサ回路（処理部）ＣＰＵとを備える。情報処理装置ＳＯＣｔｘは、ＬＮの他端に結合される端子Ｐｔと、ＰｔからデータＤＡＴを送信する際の制御を行う通信部ＣＣＢＫと、所定の処理を行うことでＤＡＴを生成し、当該ＤＡＴをＣＣＢＫを介して送信するプロセッサ回路（処理部）ＣＰＵとを備える。ＣＣＢＫ１，ＣＣＢＫは、共に、物理レイヤ処理回路ＰＨＹ、データリンクレイヤ処理回路ＤＬ、ネットワークレイヤ処理回路ＮＴ、トランスポートレイヤ処理回路ＴＬ、ＣＰＵインタフェース回路ＣＰＵＩＦ、およびバッファ回路ＢＵＦを備える。これに加えて、本実施の形態１の情報処理システムは、受信側のＣＣＢＫ１に、肯定応答投機部ＡＣＫＣＵ１を備える点が主要な特徴の一つとなっている。
【００３０】
通信部ＣＣＢＫ１，ＣＣＢＫは、共に、例えばＵｎｉＰｒｏ規格に基づく通信制御を行う。具体的には、物理レイヤ処理回路ＰＨＹ、データリンクレイヤ処理回路ＤＬ、ネットワークレイヤ処理回路ＮＴ、トランスポートレイヤ処理回路ＴＬは、ＵｎｉＰｒｏ規格で定められる各レイヤ（Ｌ１（Ｌ１．５），Ｌ２，Ｌ３，Ｌ４）の制御をそれぞれ行う。ＰＨＹは、主に、端子Ｐｔ，ＰｒでデータＤＡＴ等を送信又は受信する際の電気的な制御や、ＤＡＴに対する符号化／復号化（例えば８ｂ９ｂ又は８ｂ１０ｂ等）や、パラレルとシリアルの変換や、レーンの制御等を行う。
【００３１】
例えばＵｎｉＰｒｏ規格等では、レーンと呼ばれる通信線路を複数設けることが可能となっており、各レーン毎に、差動信号を用いて一方向のシリアル通信が行われる。図１の端子Ｐｔ，Ｐｒのそれぞれは、各レーン毎の端子の集合体を表しており、実際には、レーン数に応じた数の送信用の差動端子および受信用の差動端子を含んでいる。同様に、図１の伝送線路ＬＮも、各レーンの集合体を表しており、実際には、複数の差動伝送線路を含んでいる。
【００３２】
データリンクレイヤ処理回路ＤＬは、主に、フロー制御や、エラー検出や、肯定応答ＡＣＫ／否定応答ＮＡＫの送受信や、管理番号の制御等を行う。ＤＬは、受信用のバッファを備え、前述したフロー制御に伴い受信用のバッファの空き容量に応じてデータ転送を制御する。また、ＤＬは、データＤＡＴを送信する際には、ＣＲＣ（Cyclic Redundancy Check）等のエラー検出用の情報を付加し、ＤＡＴを受信した際には、当該エラー検出用の情報に基づいてエラー検出を行う。
【００３３】
例えば、受信側のデータリンクレイヤ処理回路ＤＬは、データＤＡＴにエラーを検出した場合、送信側のＤＬに向けて否定応答ＮＡＫを送信する。送信側のＤＬは、再送用のバッファを備え、ＮＡＫを受信した際には、対応するＤＡＴを再送用のバッファから再度送信し、肯定応答ＡＣＫを受信した際には、対応するＤＡＴを再送用のバッファから削除する。さらに、ＤＬは、ＤＡＴを送信する際やＡＣＫを返信する際に所定の範囲内で巡回する管理番号を付加し、この管理番号に基づいて各ＤＡＴの区別やＤＡＴが抜けた場合の検出等を行う。
【００３４】
ネットワークレイヤ処理回路ＮＴは、主に、データの転送経路を制御する。具体的には、ＮＴは、各情報処理装置をアドレスで管理し、データにアドレスを付加することで、当該アドレスを宛先としてデータ転送が行えるように制御を行う。トランスポートレイヤ処理回路ＴＬは、主に、異なる情報処理装置のアプリケーション間でのデータ転送を制御する。アプリケーションは、ポート（ＣＰｏｒｔ）等と呼ばれるサービス提供インターフェイスを通じてデータの送受信を行う。ＴＬは、ポート間でのフロー制御を行ったり、データサイズが大きいデータを送信する場合にデータの分割等を行う。
【００３５】
また、送信側の情報処理装置ＳＯＣｔｘにおいて、プロセッサ回路ＣＰＵは、所定の処理を行うことでデータＤＡＴを生成し、当該ＤＡＴをＣＰＵインタフェース回路ＣＰＵＩＦを介してバッファ回路ＢＵＦに書き込む。トランスポートレイヤ処理回路ＴＬは、ＢＵＦからＣＰＵＩＦを介してＤＡＴを取得する。ＣＰＵＩＦは、ＵｎｉＰｒｏ規格が定めるＣＰｏｒｔに相当する。当該ＤＡＴは、ＴＬ、ネットワークレイヤ処理回路ＮＴ、データリンクレイヤ処理回路ＤＬ、物理レイヤ処理回路ＰＨＹによって順に所定のプロトコル処理が行われたのち、端子Ｐｔから伝送線路ＬＮに送信される。
【００３６】
一方、受信側の情報処理装置ＳＯＣｒｘにおいて、物理レイヤ処理回路ＰＨＹは、端子ＰｒでデータＤＡＴを受信する。当該ＤＡＴは、ＰＨＹ、データリンクレイヤ処理回路ＤＬ、ネットワークレイヤ処理回路ＮＴ、トランスポートレイヤ処理回路ＴＬによって順に所定のプロトコル処理が行われたのち、ＣＰＵインタフェース回路ＣＰＵＩＦを介してバッファ回路ＢＵＦに書き込まれる。ＣＰＵは、ＢＵＦからＣＰＵＩＦを介してＤＡＴを取り出し、所定の処理を行う。
【００３７】
ここで、受信側に含まれる肯定応答投機部ＡＣＫＣＵ１は、データリンクレイヤ処理回路ＤＬに結合され、端子ＰｒでデータＤＡＴを受信するよりも前の時点で、当該ＤＡＴを正常に受信したことを示す肯定応答ＡＣＫを送信側の通信部ＣＣＢＫ（送信元）に向けて返信する。すなわち、ＡＣＫＣＵ１は、ＡＣＫの返信を投機的に行うことが特徴となっている。ＡＣＫＣＵ１は、具体的には、ＡＣＫを返信する際の返信間隔を定めるタイマ部ＴＭＲと、管理番号を順次生成する管理番号生成部ＳＮＧ１と、このＴＭＲとＳＮＧ１の動作に基づいて、ＤＬを介してＡＣＫを返信する肯定応答制御部ＡＣＫＣとを備える。ＡＣＫＣは、ＡＣＫをＴＭＲで定められた返信間隔で連続して返信する際に、各ＡＣＫに対してＳＮＧ１で順次生成された管理番号を付加する。
【００３８】
図２は、図１の情報処理システムにおいて、送受信間の通信状態の一例を示すシーケンス図である。図２に示すように、送信側の情報処理装置ＳＯＣｔｘは、所定のデータサイズを持つデータＤを所定の送信間隔ｔｄで連続して送信する。この際に、ＳＯＣｔｘは、例えば、Ｄ（ｘ）［０］→Ｄ（ｘ＋１）［１］→Ｄ（ｘ＋２）［２］といったように、管理番号を順次増加させながらデータを送信する。図１５と同様に、例えば、データＤ（ｘ）［０］は、管理番号［０］が付加された（ｘ）番目のデータであることを意味する。
【００３９】
ＵｎｉＰｒｏ規格では、図２の各データ（例えばＤ（ｘ）［０］）に対応する各データ転送命令毎に、最大で２８８バイトのデータを送信することが可能となっている。ただし、図２の例では、各データは、例えば４バイトや８バイト等といった小さいデータサイズとなっている。これに伴い、ｔｄも十分に短い時間となる。また、ＵｎｉＰｒｏ規格では、管理番号は、［０］〜［３１］の範囲内を＋１ずつ増加させながら巡回し、［３１］の次ぎは［０］に戻る。
【００４０】
一方、受信側の情報処理装置ＳＯＣｒｘは、肯定信号ＡＣＫをタイマ部ＴＭＲで設定された返信間隔ｔａで連続して返信する。この際に、ＳＯＣｒｘは、例えば、ＡＣＫ［０］→ＡＣＫ［１］→ＡＣＫ［２］といったように、管理番号を順次増加させながらＡＣＫを返信する。当該管理番号は、管理番号生成部ＳＮＧ１によって順次生成される。具体的には、ＳＮＧ１は、肯定応答制御部ＡＣＫＣに対して管理番号を通知し、当該管理番号のＡＣＫの送信を完了したことをＡＣＫＣから通知された場合、ここでは管理番号を＋１増加させて再びＡＣＫＣに対して当該管理番号を通知する。
【００４１】
ここで、タイマ部ＴＭＲの返信間隔ｔａは、データＤの送信間隔ｔｄと同等になるように設定される。すなわち、ここでは、例えば、画像データや音声データ等にように、データサイズが大きいデータを、小さいデータサイズに分割しながら規則的に送信するような場合を前提としている。この場合、各データのデータサイズに基づいて送信間隔ｔｄの値も十分に予測することができる。このため、ｔａの値は、この予測に基づいて設定することができる。
【００４２】
さらに、例えば、データＤ（ｘ＋１）［１］を例として、情報処理装置ＳＯＣｒｘは、Ｄ（ｘ＋１）［１］に対応する肯定信号ＡＣＫ［１］を、端子ＰｒでデータＤ（ｘ＋１）［１］を受信する時点ｔｔ１よりも前の時点で送信する。なおかつ、ＳＯＣｒｘは、ＡＣＫ［１］を、情報処理装置ＳＯＣｔｘがＤ（ｘ＋１）［１］を端子Ｐｔから送信した後の時点ｔｔ２でＳＯＣｔｘのＰｔに到達するように返信する。すなわち、送信側において、データが未送信であるにも関わらず当該データに対応する肯定信号ＡＣＫが受信されるような事態を回避する。これらに基づいて、ＳＯＣｒｘは、図２に示す期間ｔｃを最大の長さとして、それ以下の長さで肯定信号ＡＣＫ［１］を投機的に返信する。
【００４３】
これにより、送信側の情報処理装置ＳＯＣｔｘは、例えば、図１５（ａ）や図１５（ｂ）に示したような肯定信号ＡＣＫの待ち時間ｔｉがほぼゼロと言える状態で、１６個（アウトスタンディング数）を超える数のデータＤを、最短の送信間隔ｔｄで連続して送信することが可能になる。その結果、図１４等で述べたように、データサイズが小さく、レイテンシが大きい場合であっても、高いデータ転送レートが得られ、通信速度の高速化が実現可能となる。
【００４４】
なお、図２における期間ｔｃは、図１の肯定応答投機部ＡＣＫＣＵ１内の肯定応答制御部ＡＣＫＣによって定められる。当該ｔｃの値は、予め予測可能な送信間隔ｔｄおよびレイテンシに基づいて設定することができる。また、図２では、情報処理装置の端子Ｐｔ，Ｐｒに相当する物理レイヤ処理回路ＰＨＹを基準としてｔｃを定めたが、より厳密には、データリンクレイヤ処理回路ＤＬを基準としてｔｃを定めることも可能である。図２から判るように、ＤＬを基準とした場合、ＰＨＹを基準とした場合よりも肯定信号ＡＣＫを更に早い時点で返信できることになるが、その反面、返信する時点が早過ぎる事態を招く恐れがある。したがって、現実的には、マージンを考慮して、期間ｔｃは、図２に示す長さ以下となるように設定され、返信間隔ｔａも、予測される最短の送信間隔ｔｄよりも若干長くなるような値に設定される。
【００４５】
《ＵｎｉＰｒｏ規格のフォーマット》
図３（ａ）、図３（ｂ）および図３（ｃ）は、図１の情報処理システムで通信を行う際に用いられる各信号のフォーマットの一例を示す図である。図３（ａ）には、ＵｎｉＰｒｏ規格上のレイヤ２（図１のデータリンクレイヤ処理回路ＤＬ）で用いられるデータフレームの概略的な構造例が示されている。図３（ａ）において、先頭部分には、エスケープバイト（ＥＳＣ＿ＤＬ）およびスタートオブフレーム（ＳＯＦ）を含むヘッダ領域が設けられ、これらは、主にレイヤ２のデータフレームが始まることを意味する。続いて、最大２８８バイトのデータが格納されるデータペイロード領域ＤＰＬＤが設けられる。
【００４６】
データペイロード領域ＤＰＬＤに続いて、エスケープバイト（ＥＳＣ＿ＤＬ）およびエンドオブフレーム（ＥＯＦ）を含むトレーラ領域が設けられ、これらは、主にレイヤ２のデータフレームが終わることを意味する。次いで、前述した管理番号が記録される管理番号領域ＳＱＮが設けられ、最後に、エラー検出用の情報（例えばＣＲＣ）が記録されるチェックサム領域ＣＳＵＭが設けられる。図２に示した各データＤのそれぞれ（例えばＤ（ｘ）［０］）は、実際には、図３（ａ）に示されるようなデータフレームで構成される。
【００４７】
図３（ｂ）および図３（ｃ）には、ＵｎｉＰｒｏ規格上のレイヤ２（図１のデータリンクレイヤ処理回路ＤＬ）で用いられる制御フレームの概略的な構造例が示されている。図３（ｂ）には、肯定応答ＡＣＫの返信で用いられる制御フレームが示され、図３（ｃ）には、否定応答ＮＡＫの返信で用いられる制御フレームが示される。
【００４８】
図３（ｂ）において、先頭部分には、エスケープバイト（ＥＳＣ＿ＤＬ）およびＡＣＫ＆ＦＣ（ＡＦＣ）を含むヘッダ領域が設けられ、これらは、主に、肯定応答ＡＣＫおよびフロー制御（ＦＣ）用の情報を含んだレイヤ２の制御フレームであることを意味する。次いで、管理番号が記録される管理番号領域ＳＱＮが設けられ、続いて、フロー制御のためのバッファの空き容量が記録されるクレジット領域ＣＲＤＴが設けられる。最後に、エラー検出用の情報（例えばＣＲＣ）が記録されるチェックサム領域ＣＳＵＭが設けられる。
【００４９】
図３（ｃ）において、先頭部分には、エスケープバイト（ＥＳＣ＿ＤＬ）および否定応答ＮＡＫを含むヘッダ領域が設けられ、これらは、主に、否定応答ＮＡＫを含んだレイヤ２の制御フレームであることを意味する。そして、最後に、エラー検出用の情報（例えばＣＲＣ）が記録されるチェックサム領域ＣＳＵＭが設けられる。図２に示した各肯定応答ＡＣＫのそれぞれ（例えばＡＣＫ［０］）は、実際には、図３（ｂ）に示されるような制御フレームで構成される。
【００５０】
《情報処理システムの適用例》
図４は、図１の情報処理システムを適用した無線通信システムの概略構成例を示すブロック図である。図４に示す無線通信システムは、例えば携帯電話システム等である。当該システムは、ディスプレイ装置ＤＰＹ、アプリケーションプロセッサ装置ＡＰＲと、ベースバンド処理装置ＢＢＩＣ、高周波信号処理装置ＲＦＩＣ、フロントエンド装置ＦＥ、カメラ装置ＣＭＲ、ストレージ装置ＳＴＧ、スピーカＳＰＫ、マイクＭＩＣ、アンテナＡＮＴ等を備える。
【００５１】
アプリケーションプロセッサ装置ＡＰＲは、例えば、ディスプレイ装置ＤＰＹに向けた画像データの出力や、カメラ装置ＣＭＲで撮像した画像の取り込みならびに画像処理や、ストレージ装置ＳＴＧに対する画像・音声データの保存や、ＳＴＧに格納された各種アプリケーションプログラムの実行等、様々なアプリケーション処理を行う。ベースバンド処理装置ＢＢＩＣは、例えば、ＡＰＲから無線通信用のデータを受け、これに対して、無線通信を行う際に必要なベースバンド帯での各種信号処理（例えば直交信号（ＩＱ信号）の生成等）を行う。また、ＢＢＩＣは、高周波信号処理装置ＲＦＩＣから送信されたベースバンド信号（例えば直交信号（ＩＱ信号）等）を受け、当該信号からデータを復調し、ＡＰＲに向けて送信する。
【００５２】
高周波信号処理装置ＲＦＩＣは、ミキサ回路等を含み、ベースバンド処理装置ＢＢＩＣによって生成されたベースバンド信号（例えば直交信号（ＩＱ信号）等）を高周波信号にアップコンバートする。また、ＲＦＩＣは、フロントエンド装置ＦＥから送信された高周波信号を受け、それをベースバンド信号にダウンコンバートし、ＢＢＩＣに向けて送信する。フロントエンド装置ＦＥは、パワーアンプや、アンテナスイッチ等を含み、ＲＦＩＣから送信された高周波信号を増幅してアンテナＡＮＴに伝達し、また、ＡＮＴで受信した高周波信号をＲＦＩＣに伝送する。
【００５３】
このような構成において、特に限定はされないが、例えば、アプリケーションプロセッサ装置ＡＰＲと、カメラ装置ＣＭＲ、ストレージ装置ＳＴＧ、ベースバンド処理装置ＢＢＩＣとの間の各伝送線路ＬＮ１，ＬＮ２，ＬＮ３や、ＢＢＩＣと高周波信号処理装置ＲＦＩＣとの間の伝送線路ＬＮ４等に、ＵｎｉＰｒｏ規格が適用される。この場合、ＡＰＲ，ＣＭＲ，ＳＴＧ，ＢＢＩＣ，ＲＦＩＣのそれぞれに、図１に示したような通信部ＣＣＢＫ１が設けることができる。その中でも、特に、ＬＮ１，ＬＮ２では、大量のデータが規則的に送受信される場合が多いと考えられため、その各両端に対してＣＣＢＫ１を設けることでより有益な効果が得られる。
【００５４】
例えば、携帯電話システム等では、多機能化が進んでおり、大量のデータを高速に処理することが求められる。その一方で、小型化等の要求もあるため、多くの配線（伝送線路）を設けることは困難となる。そこで、ＵｎｉＰｒｏ規格等のように、高速なシリアル通信を行う技術が有益となる。ただし、高速（例えば［Ｇｂｉｔ／ｓ］オーダ）であるために、相対的に伝送線路ＬＮのレイテンシの影響が大きくなり、例えば図１５（ｂ）に示したような事態が生じ得る。例えばこのような場合に、本実施の形態の情報処理システムを用いることが有益となる。
【００５５】
以上、本実施の形態１の情報処理システムおよび情報処理装置を用いることで、代表的には、通信速度の高速化が実現可能となる。なお、ここでは、ＵｎｉＰｒｏを例として説明を行ったが、勿論、これに限定されるものではなく、ＰＣＩｅ（ＰＣＩ  Ｅｘｐｒｅｓｓ）等の通信規格に適用することも可能である。例えば、ＰＣＩｅでは、前述したように、ＵｎｉＰｒｏの場合と比較して、大きいアウトスタンディング数（２０４８個）を持つが、肯定応答ＡＣＫを待たず連続して送信するデータ数を多くすると、再送バッファや受信用のバッファ等に大きい容量が必要とされる。このため、実際上、このデータ数は、必ずしも多い数が用いられるとは限らない。また、ＰＣＩｅは、例えば、大型のサーバ装置等の内部通信等に適用される場合があるため、伝送線路の長さ自体でレイテンシの影響が大きくなり得る。このような場合に、本実施の形態１の情報処理システムを適用することで有益な効果が得られる。
【００５６】
（実施の形態２）
前述した実施の形態１では、送信側がデータを送信する際の送信間隔が予め判明している場合を前提としたが、本実施の形態２では、当該送信間隔が不明の場合を前提として、これに対応可能な情報処理システムについて説明する。
【００５７】
《情報処理システムの構成（変形例［１］）》
図５は、本発明の実施の形態２による情報処理システムにおいて、その構成の一例を示すブロック図である。図５に示す情報処理システムは、前述した図１の情報処理システムと比較して、受信側の情報処理装置ＳＯＣｒｘにおける通信部ＣＣＢＫ２の構成が異なっており、具体的には、肯定応答投機部ＡＣＫＣＵ２の構成が異なっている。これ以外の構成に関しては、図１の場合と同様であるため、詳細な説明は省略する。
【００５８】
図５に示す肯定応答投機部ＡＣＫＣＵ２は、図１に示したＡＣＫＣＵ１に対して、さらに、受信データ監視部ＲＤＥＴと、タイマ最適値探索部ＴＳＫと、タイマ設定値保持部ＴＭＲＨＤとが加わった構成となっている。ＲＤＥＴは、データリンクレイヤ処理回路ＤＬを介してデータＤＡＴの受信状況と否定応答ＮＡＫの受信状況を監視する。具体的には、ＲＤＥＴは、受信したデータの数をカウントするカウンタや、データの受信レートを測定するタイマ等を備える。ＴＭＲＨＤは、タイマ部ＴＭＲに設定される返信間隔（タイマ設定値）を保持する。ＴＳＫは、ＲＤＥＴの情報を用いながら、タイマ部ＴＭＲに設定される返信間隔の最適値を、予め定めた初期値を始点としてＮＡＫを受信するまで順次短縮していくことで探索する。すなわち、ＴＳＫは、ＴＭＲＨＤで保持されるタイマ設定値を可変制御する。
【００５９】
《情報処理システムの動作（変形例［１Ａ］）》
図６は、図５における肯定応答投機部の動作例を示すフロー図である。図７および図８は、図６の動作内容を説明する補足図である。図６において、まず、タイマ最適値探索部ＴＳＫは、受信データ監視部ＲＤＥＴからの情報を用いてアウトスタンディング数分のデータを短い期間に連続して受信した場合を検出する（ステップＳ１０１）。アウトスタンディング数は、ＵｎｉＰｒｏの場合には１６個となる。ステップＳ１０１で検出が行われた場合、ＴＳＫは、タイマ設定値保持部ＴＭＲＨＤに予め定めた初期値を設定する（ステップＳ１０２）。次いで、ＴＳＫは、肯定応答制御部ＡＣＫＣに動作開始を指示し、これに応じてＡＣＫＣは、タイマ部ＴＭＲを起動する（ステップＳ１０３）。
【００６０】
当該ステップＳ１０１〜Ｓ１０３では、図７に示すような処理が行われる。図７のステップＳ１０１ａでは、アウトスタンディング数となる１６個のデータＤ（０）［０］〜Ｄ（１５）［１５］が短い期間（例えば最短の送信間隔ｔｄ０）で連続して送信されている。タイマ最適値探索部ＴＳＫは、受信データ監視部ＲＤＥＴからの情報（データの数や受信レート）を用いて、このデータの数（１６個）と、１６個のデータを受信するのに要した時間（または１６個のデータの送信間隔ｔｄ０）を認識する。そして、ＴＳＫは、この時間（または送信間隔）が予め定めた時間（または送信間隔）よりも短い場合に図６のステップＳ１０２およびＳ１０３の処理を行う。
【００６１】
ステップＳ１０２およびＳ１０３の処理を行うと、図７のステップＳ１０２ａ〜Ｓ１０５ａに示されるように、肯定応答制御部ＡＣＫＣは、肯定応答ＡＣＫを、タイマ最適値探索部ＴＳＫによって設定された初期値の返信間隔ｔａ０で連続して返信する。この際に、ＡＣＫＣは、各ＡＣＫに対して管理番号生成部ＳＮＧ１によって順次生成される管理番号を付加する。ｔａ０の大きさは、最短の送信間隔ｔｄ０よりもある程度大きくなるような値に定められる。その結果、肯定応答ＡＣＫ［０］，ＡＣＫ［１］，…，ＡＣＫ［１６］，ＡＣＫ［１７］，…が、ｔａ０毎に順次返信される。
【００６２】
一方、送信側の情報処理装置ＳＯＣｔｘは、データＤ（１５）［１５］を送信したのち、肯定応答ＡＣＫ［０］が返信されるまでは次のデータの送信を中断する必要がある。送信側（ＳＯＣｔｘ）は、ＡＣＫ［０］を受信すると、次のデータＤ（１６）［１６］を１個だけ送信することが可能となるが、その後は、同様にして肯定応答ＡＣＫ［１］の返信を持つことになる。その結果、送信側（ＳＯＣｔｘ）におけるデータの送信間隔は、肯定応答ＡＣＫの返信間隔ｔａ０に律速され、定常状態の送信間隔ｔｄ１は、ｔａ０と同様の値になる。
【００６３】
図６において、ステップＳ１０３の後、タイマ最適値探索部ＴＳＫは、受信データ監視部ＲＤＥＴからの情報を用いて送信側（ＳＯＣｔｘ）から否定応答ＮＡＫを受信したか否かを判定する（ステップＳ１０４）。ＮＡＫを受信していない場合、ＴＳＫは、ＲＤＥＴからの情報を用いてアウトスタンディング数を大幅に超えるデータをＮＡＫを受信せずに受信したか否かを判定する（ステップＳ１０５）。
【００６４】
ステップＳ１０４およびＳ１０５では、図７のステップＳ１０２ａ〜Ｓ１０５ａに示されるように、ＮＡＫを受信することなく、予め定めた所定の数（ｎ個）のデータを受信できたか否かが判定される。特に限定はされないが、例えばｎ＝１２８等である。ステップＳ１０４とＳ１０５は、ＮＡＫを受信するまで、あるいは、ＮＡＫを受信せずにデータの数が「ｎ」に達するまでループする。
【００６５】
ステップＳ１０５において、否定応答ＮＡＫを受信せずにデータの数が「ｎ」に達した場合、タイマ最適値探索部ＴＳＫは、タイマ設定値保持部ＴＭＲＨＤで保持されるタイマ設定値を一つ減らす（ステップＳ１０６）。次いで、ＴＳＫは、タイマ設定値がゼロでない場合、ステップＳ１０４へ戻る（ステップＳ１０７）。その後は、再び、ＮＡＫを受信するまで、あるいは、ＮＡＫを受信せずにデータの数が「ｎ」に達するまでステップＳ１０４とＳ１０５の処理が行われる。このステップＳ１０４〜Ｓ１０７のループ処理によって、タイマ設定値（すなわち肯定応答ＡＣＫの返信間隔）は、ＮＡＫを受信せずに「ｎ」個のデータを受信する毎に段階的に短くなっていく。
【００６６】
その結果、図８のステップＳ１０４ａ〜Ｓ１０８ａに示されるように、肯定応答ＡＣＫの返信間隔ｔａ１は、送信側（ＳＯＣｔｘ）が実現可能な最短の送信間隔ｔｄ０まで短くなる。ただし、図８のステップＳ１０４ｂ〜Ｓ１０８ｂに示されるように、返信間隔ｔａ２がｔｄ０よりも短くなると、例えば、送信側（ＳＯＣｔｘ）がデータＤ（ｋ＋１）［１］を送信する前に、これに対応する肯定信号ＡＣＫ［１］を受信してしまうような事態が生じる。
【００６７】
このような場合、ＵｎｉＰｒｏ規格では、特に規定はされていないが、通常、送信側（ＳＯＣｔｘ）は、受信側（ＳＯＣｒｘ）に向けて否定応答ＮＡＫを送信する。すなわち、送信側（ＳＯＣｔｘ）は、所定の管理番号（例えば［０］を付加して）データ（例えばＤ（ｋ＋１６）［０］）を送信したのち、当該管理番号（［０］）に基づいて期待される管理番号が付加された肯定応答ＡＣＫを待つ。この例では、期待される管理番号は［０］であり、ＡＣＫ［０］が期待される。しかしながら、図８のステップＳ１０４ｂ〜Ｓ１０８ｂでは、ＡＣＫ［０］のみならずＡＣＫ［１］を受信している。送信側（ＳＯＣｔｘ）は、このように、肯定応答に付加された管理番号が期待される管理番号と異なる場合にはＮＡＫを送信する。
【００６８】
また、送信側（ＳＯＣｔｘ）は、最も新しく送信を行ったデータの管理番号を基準として、それよりも少なくともアウトスタンディング数以上離れた管理番号を持つ肯定応答を受信することはないため、これによって期待される管理番号を定めることも可能である。例えば、最新の管理番号が［３１］の場合、期待される管理番号は、必ず［１６］〜［３１］の範囲内であり、送信側（ＳＯＣｔｘ）は、少なくとも［０］〜［１５］の管理番号が付加された肯定応答ＡＣＫを受信することはない。送信側（ＳＯＣｔｘ）が否定応答ＮＡＫを送信した場合、当該ＮＡＫは、受信側（ＳＯＣｒｘ）のデータリンクレイヤ処理回路ＤＬを介して受信データ監視部ＲＤＥＴで認識される。
【００６９】
図６のステップＳ１０４において、タイマ最適値探索部ＴＳＫは、図８のステップＳ１０４ｂ〜Ｓ１０８ｂに示したように、受信データ監視部ＲＤＥＴからの情報を用いて送信側（ＳＯＣｔｘ）から否定応答ＮＡＫを受信したと判定した場合には、タイマ設定値（肯定応答ＡＣＫの返信間隔）を一つ増加させ、処理を終了する（ステップＳ１０８）。その結果、再び図８のステップＳ１０４ａ〜Ｓ１０８ａのよう通信状態に戻り、この状態で定常状態に達する。
【００７０】
なお、ここでは、送信側（ＳＯＣｔｘ）は、肯定応答に付加された管理番号が期待される管理番号と異なる場合に否定応答ＮＡＫを送信したが、場合によっては、ＮＡＫを送信しない仕様となっていることもある。この場合、図６のステップＳ１０７において、タイマ最適値探索部ＴＳＫは、タイマ設定値がゼロ（あるいは予め定めた最小値であってもよい）となった段階で処理を終了する。
【００７１】
《情報処理システムの動作（変形例［１Ｂ］）》
図９は、図６の動作内容を説明する補足図であり、図７とは異なる動作内容を説明する図である。図１０は、図６の動作内容を説明する補足図であり、図８とは異なる動作内容を説明する図である。図９のステップＳ１０２ｃ〜Ｓ１０５ｃでは、図７のステップＳ１０２ａ〜Ｓ１０５ａと異なり、図６の管理番号生成部ＳＮＧ１が、アウトスタンディング数（ここでは１６個）の刻み幅で管理番号を順次生成し、当該管理番号が付加された肯定信号ＡＣＫが初期値となる返信間隔ｔａｇ０で返信されている。
【００７２】
図９の例では、肯定応答投機部ＡＣＫＣＵ２は、まず、データＤ（１５）［１５］を受信したのち（図６のステップＳ１０１）、肯定信号ＡＣＫ［１５］を返信することで、データＤ（０）［０］〜Ｄ（１５）［１５］を一度に纏めて肯定する。これを受けて、送信側（ＳＯＣｔｘ）は、図７の場合と異なり、最短の送信間隔ｔｄ０でアウトスタンディング数（１６個）分のデータＤ（１６）［１６］〜Ｄ（３１）［３１］を連続して送信することが可能になる。送信側（ＳＯＣｔｘ）は、この１６個のデータを送信したのち、少なくともＡＣＫ［１６］〜ＡＣＫ［３１］のいずれかを受信するまで次ぎの送信を中断する。
【００７３】
一方、肯定応答投機部ＡＣＫＣＵ２は、肯定信号ＡＣＫ［１５］を返信したのち、返信間隔ｔａｇ０を経て肯定信号ＡＣＫ［３１］を送信する。これを受けて、送信側（ＳＯＣｔｘ）は、同様にして、最短の送信間隔ｔｄ０でデータＤ（３２）［０］〜Ｄ（４７）［１５］を連続して送信したのち、ＡＣＫ［０］〜ＡＣＫ［１５］のいずれかを待つ。その結果、図９に示されるように、送信側（ＳＯＣｔｘ）は、１６個のデータを連続して送信したのち、次ぎの１６個のデータを連続して送信可能になるまで、ｔａｇ０に応じた待ち時間が生じる。
【００７４】
その後、図６のステップＳ１０４〜Ｓ１０８のループ処理に伴い、肯定応答投機部ＡＣＫＣＵ２は、「ｎ」個のデータを受信する毎に、タイマ設定値（１６個刻みの管理番号が付加された肯定信号ＡＣＫの返信間隔）を段階的に短くする。その結果、図１０のステップＳ１０４ｄ〜Ｓ１０８ｄに示されるように、送信側（ＳＯＣｔｘ）は、前述した１６個のデータと次ぎの１６個のデータとの間の待ち時間がほぼゼロの状態でデータを送信することが可能になる。この際の肯定応答投機部ＡＣＫＣＵ２における返信間隔ｔａｇ１は、ほぼ最短の送信間隔ｔｄ０の１６個分（ｔｄ０×１６）となる。
【００７５】
ただし、図１０のステップＳ１０４ｅ〜Ｓ１０８ｅに示されるように、肯定応答投機部ＡＣＫＣＵ２での返信間隔が前述したｔａｇ１よりも短くなると、例えば、送信側（ＳＯＣｔｘ）がデータＤ（ｉ＋１５）［１５］を送信する前に、これに対応する肯定信号ＡＣＫ［１５］を受信してしまうような事態が生じる。このような場合、図８の場合と同様に、送信側（ＳＯＣｔｘ）は否定応答ＮＡＫを送信し、これに応じてＡＣＫＣＵ２はタイマ設定値を一つ増加させることで、再び図１０のステップＳ１０４ｄ〜Ｓ１０８ｄのような状態に戻り、この状態で定常状態に達する。
【００７６】
以上、本実施の形態２の情報処理システムおよび情報処理装置を用いることで、送信側の情報処理装置ＳＯＣｔｘによるデータの送信間隔が不明の場合であっても肯定応答ＡＣＫを最適なタイミングで投機的に返信することができ、代表的には、通信速度の高速化が実現可能となる。なお、図９および図１０では、ＡＣＫに付加する管理番号を１６個刻みとしたが、同様にして、８個刻み、４個刻み等とすることも可能である。また、ここでは、タイマ値を段階的に短くしていく方法を用いたが、場合によっては所謂二分探索法等を用いて探索することも可能である。
【００７７】
（実施の形態３）
本実施の形態３では、肯定信号ＡＣＫを返信するタイミングを前述した実施の形態２とは異なる方法で探索する情報処理システムについて説明する。
【００７８】
《情報処理システムの構成（変形例［２］）》
図１１は、本発明の実施の形態３による情報処理システムにおいて、その構成の一例を示すブロック図である。図１１に示す情報処理システムは、前述した図５の情報処理システムと比較して、受信側の情報処理装置ＳＯＣｒｘにおける通信部ＣＣＢＫ３の構成が異なっており、具体的には、肯定応答投機部ＡＣＫＣＵ３の構成が異なっている。これ以外の構成に関しては、図１の場合と同様であるため、詳細な説明は省略する。
【００７９】
肯定応答投機部ＡＣＫＣＵ３は、図５の肯定応答投機部ＡＣＫＣＵ２における肯定応答制御部ＡＣＫＣおよび管理番号生成部ＳＮＧ１がそれぞれ肯定応答制御部ＡＣＫＣ２および管理番号生成部ＳＮＧ２に置き換わった点が異なっている。ＳＮＧ２は、データリンクレイヤ処理回路ＤＬを介して送信側（ＳＯＣｔｘ）から受信したデータの管理番号を監視、これに基づいて所定の管理番号を生成してＡＣＫＣ２に送信する。ＡＣＫＣ２は、ＳＮＧ２から管理番号を受信した際に、タイマ部ＴＭＲに応じた待ち時間を経て当該管理番号を付加した肯定信号ＡＣＫを返信する。
【００８０】
《情報処理システムの構成（変形例［２］）》
図１２は、図１１の情報処理システムの概略的な動作例を示す説明図である。図１２のステップＳ２０１に示すように、送信側（ＳＯＣｔｘ）は、まず、データＤ（０）［０］〜Ｄ（１５）［１５］を連続して送信する。ここで、管理番号生成部ＳＮＧ２は、データリンクレイヤ処理回路ＤＬを介して管理番号［０］の受信有無を監視し、受信側（ＳＯＣｒｘ）によってデータＤ（０）［０］が受信された際に、それに「１５」を加えた管理番号［１５］を生成して肯定応答制御部ＡＣＫＣ２に送信する。ＡＣＫＣ２は、この管理番号［１５］を受信した時点からタイマ部ＴＭＲ（タイマ設定値保持部ＴＭＲＨＤ）によって定められる所定の待ち時間ｔｗ０を経て、肯定信号ＡＣＫ［１５］を返信する。
【００８１】
送信側（ＳＯＣｔｘ）は、この肯定信号ＡＣＫ［１５］を受けて、次ぎの１６個のデータＤ（１６）［１６］〜Ｄ（３１）［３１］を連続して送信する。ここで、管理番号生成部ＳＮＧ２は、データリンクレイヤ処理回路ＤＬを介して管理番号［１６］の受信有無を監視し、受信側（ＳＯＣｒｘ）によってデータＤ（１６）［１６］を受信された際に、それに「１５」を加えた管理番号［３１］を生成して肯定応答制御部ＡＣＫＣ２に送信する。すなわち、ＳＮＧ２は自身が生成した最新の管理番号の次ぎの管理番号を持つデータの受信有無を監視する。ＡＣＫＣ２は、この管理番号［３１］を受信した時点からタイマ部ＴＭＲ（タイマ設定値保持部ＴＭＲＨＤ）によって定められる所定の待ち時間ｔｗ０を経て肯定信号ＡＣＫ［３１］を返信する。
【００８２】
その後は、実施の形態２の図６の場合と同様にして、否定応答ＮＡＫを受信せずに「ｎ」個のデータを受信する毎に前述した待ち時間ｔｗ０を段階的に短縮していくことで、図１２のステップＳ２０２に示されるように、最適な待ち時間ｔｗ１を得ることが可能になる。このような方式を用いると、管理番号をある程度把握した状態で肯定応答ＡＣＫの投機的な返信が行えるため、例えば、送受信間で管理番号の不整合が生じるような事態を低減できる。ただし、例えば、送受信間のレイテンシが非常に大きいような場合には、最大のデータ転送効率を実現できない場合がある。すなわち、最大のデータ転送効率を実現するためには、例えば、図１２のステップＳ２０２におけるＡＣＫ［１５］をデータＤ（ｊ）［０］を受信するよりも前に返信する必要性が生じる場合がある。このような場合には、実施の形態２の方式を用いることが望ましい。
【００８３】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。例えば、前述した実施の形態は、本発明を分かり易く説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施の形態の構成の一部を他の実施の形態の構成に置き換えることが可能であり、また、ある実施の形態の構成に他の実施の形態の構成を加えることも可能である。また、各実施の形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【００８４】
例えば、前述した各実施の形態では、肯定応答ＡＣＫを投機的に実行する機能を備えた情報処理システムを示したが、場合によって、当該機能を備えると共に、当該機能の有効・無効を切り替えられるような形態とすることも可能である。すなわち、例えば、切り替え信号に応じて前述した図１３に示した情報処理装置ＳＯＣｒｘ’の構成に設定するか、図５等に示した情報処理装置ＳＯＣｒｘの構成に設定するかを選択できるような形態であってもよい。
【符号の説明】
【００８５】
ＡＣＫ  肯定応答
ＡＣＫＣ  肯定応答制御部
ＡＣＫＣＵ  肯定応答投機部
ＡＮＴ  アンテナ
ＡＰＲ  アプリケーションプロセッサ装置
ＢＢＩＣ  ベースバンド処理装置
ＢＵＦ  バッファ回路
ＣＣＢＫ，ＣＣＢＫ’  通信部
ＣＭＲ  カメラ装置
ＣＰＵ  プロセッサ回路
ＣＰＵＩＦ  ＣＰＵインタフェース回路
ＤＡＴ，Ｄ  データ
ＤＬ  データリンクレイヤ処理回路
ＤＰＹ  ディスプレイ装置
ＦＥ  フロントエンド装置
ＬＮ  伝送線路
ＭＩＣ  マイク
ＮＡＫ  否定応答
ＮＴ  ネットワークレイヤ処理回路
Ｐ  端子
ＰＨＹ  物理レイヤ処理回路
ＲＤＥＴ  受信データ監視部
ＲＦＩＣ  高周波信号処理装置
ＳＮＧ  管理番号生成部
ＳＯＣ，ＳＯＣ’  情報処理装置
ＳＰＫ  スピーカ
ＳＴＧ  ストレージ装置
ＴＬ  トランスポートレイヤ処理回路
ＴＭＲ  タイマ部
ＴＭＲＨＤ  タイマ設定値保持部
ＴＳＫ  タイマ最適値探索部
【図１】
2014222466.tif 000003
【図２】
2014222466.tif 000004
【図３】
2014222466.tif 000005
【図４】
2014222466.tif 000006
【図５】
2014222466.tif 000007
【図６】
2014222466.tif 000008
【図７】
2014222466.tif 000009
【図８】
2014222466.tif 000010
【図９】
2014222466.tif 000011
【図１０】
2014222466.tif 000012
【図１１】
2014222466.tif 000013
【図１２】
2014222466.tif 000014
【図１３】
2014222466.tif 000015
【図１４】
2014222466.tif 000016
【図１５】
2014222466.tif 000017