(57)【要約】  通信装置（１０１）は、送信するデータの種類をタイムスロットの単位で切り替えてデータを送信する。データ送信部（６）は、送信データを、送信データの種類に対応するタイムスロットにおいて送信する。また、データ送信部（６）は、送信データの再送を行う再送時刻を、送信データの送信を完了した時刻を基準にして決定する。
2019224860.tif 000002
【特許請求の範囲】
【請求項１】
送信するデータの種類をタイムスロットの単位で切り替えてデータを送信する通信装置であって、
送信データを、前記送信データの種類に対応するタイムスロットにおいて送信する送信部と、
前記送信データの再送を行う再送時刻を、前記送信部が前記送信データの送信を完了した時刻を基準にして決定する再送時刻決定部とを有する通信装置。
【請求項２】
前記再送時刻決定部は、
前記送信データの種類に対応するタイムスロット内の時刻を前記再送時刻に決定する請求項１に記載の通信装置。
【請求項３】
送信するデータの種類をタイムスロットの単位で切り替えてデータを送信する送信部と、
データの再送の登録を行う再送管理部と、
前記再送管理部により再送の登録が行われたデータを再送する再送部と、
送信データが発生した際に、現在のタイムスロットが前記送信データの種類に対応するタイムスロットである送信タイムスロットであるか否かを判定し、現在のタイムスロットが送信タイムスロットでない場合に、次の送信タイムスロットまでの待ち時間と閾値時間とを比較し、比較結果に基づき、前記送信部に次の送信タイムスロットにおいて前記送信データの送信を行わせ前記再送管理部に前記送信データの再送の登録を行わせる第１の送信制御と、前記再送管理部に次の送信タイムスロットにおける前記送信データの再送の登録を行わせ前記再送部に次の送信タイムスロットにおいて前記送信データの送信を行わせる第２の送信制御とのいずれかを選択し、選択した送信制御を行う送信制御部とを有する通信装置。
【請求項４】
前記送信制御部は、
前記閾値時間として、前記再送部によりデータが再送される場合の再送間隔を、次の送信タイムスロットまでの待ち時間と比較し、
前記待ち時間が前記再送間隔以下である場合に、前記第１の送信制御を選択し、
前記待ち時間が前記再送間隔よりも長い場合に、前記第２の送信制御を選択する請求項３に記載の通信装置。
【請求項５】
送信するデータの種類をタイムスロットの単位で切り替えてデータを送信する送信部と、
送信データが発生した際に、現在のタイムスロットが前記送信データの種類に対応するタイムスロットである送信タイムスロットであるか否かを判定し、現在のタイムスロットが送信タイムスロットである場合に、現在のタイムスロットの残り時間と閾値時間とを比較し、現在のタイムスロットの残り時間が前記閾値時間よりも長い場合に、現在のタイムスロットでの前記送信データの送信を選択し、現在のタイムスロットの残り時間が前記閾値時間以下である場合に、次の送信タイムスロットでの前記送信データの送信を選択する送信制御部とを有する通信装置。
【請求項６】
前記送信制御部は、
前記閾値時間として、前記送信部が前記送信データを送信するのに要する送信所要時間を現在のタイムスロットの残り時間と比較する請求項５に記載の通信装置。
【請求項７】
前記送信制御部は、
前記閾値時間として、前記送信データの送信先から前記送信データについての受信確認を受信するまでの受信確認所要時間を現在のタイムスロットの残り時間と比較する請求項５に記載の通信装置。
【請求項８】
前記通信装置は、更に、
データの再送の登録を行う再送管理部と、
前記再送管理部により再送の登録が行われたデータを再送する再送部とを有し、
前記送信制御部は、
現在のタイムスロットの残り時間が前記閾値時間よりも長い場合に、前記送信部に現在のタイムスロットにおいて前記送信データの送信を行わせ前記再送管理部に前記送信データの再送の登録を行わせる第１の送信制御を選択し、
現在のタイムスロットの残り時間が前記閾値時間以下である場合に、前記再送管理部に次の送信タイムスロットにおける前記送信データの再送の登録を行わせ前記再送部に次の送信タイムスロットにおいて前記送信データの送信を行わせる第２の送信制御を選択し、
選択した送信制御を行う請求項５に記載の通信装置。
【請求項９】
前記送信制御部は、
現在のタイムスロットが送信タイムスロットでない場合に、前記第２の送信制御を行う請求項８に記載の通信装置。
【請求項１０】
送信するデータの種類をタイムスロットの単位で切り替えてデータを送信する通信装置が、
送信データを、前記送信データの種類に対応するタイムスロットにおいて送信し、
前記送信データの再送を行う再送時刻を前記送信データの送信を完了した時刻を基準にして決定する通信方法。
【請求項１１】
送信するデータの種類をタイムスロットの単位で切り替えてデータを送信する送信部と、
前記送信部により送信されたデータの再送の登録を行う再送管理部と、
前記再送管理部により再送の登録が行われたデータを再送する再送部とを有する通信装置が、
送信データが発生した際に、現在のタイムスロットが前記送信データの種類に対応するタイムスロットである送信タイムスロットであるか否かを判定し、
現在のタイムスロットが送信タイムスロットでない場合に、次の送信タイムスロットまでの待ち時間と閾値時間とを比較し、
比較結果に基づき、前記送信部に次の送信タイムスロットにおいて前記送信データの送信を行わせ前記再送管理部に前記送信データの再送の登録を行わせる第１の送信制御と、前記再送管理部に次の送信タイムスロットにおける前記送信データの再送の登録を行わせ前記再送部に次の送信タイムスロットにおいて前記送信データの送信を行わせる第２の送信制御とのいずれかを選択し、選択した送信制御を行う通信方法。
【請求項１２】
送信するデータの種類をタイムスロットの単位で切り替えてデータを送信する通信装置が、
送信データが発生した際に、現在のタイムスロットが前記送信データの種類に対応するタイムスロットである送信タイムスロットであるか否かを判定し、
現在のタイムスロットが送信タイムスロットである場合に、現在のタイムスロットの残り時間と閾値時間とを比較し、
現在のタイムスロットの残り時間が前記閾値時間よりも長い場合に、現在のタイムスロットでの前記送信データの送信を選択し、現在のタイムスロットの残り時間が前記閾値時間以下である場合に、次の送信タイムスロットでの前記送信データの送信を選択する通信方法。
【請求項１３】
送信するデータの種類をタイムスロットの単位で切り替えてデータを送信する通信装置に、
送信データを、前記送信データの種類に対応するタイムスロットにおいて送信する送信処理と、
前記送信データの再送を行う再送時刻を、前記送信処理が前記送信データの送信を完了した時刻を基準にして決定する再送時刻決定処理とをコンピュータに実行させる通信プログラム。
【請求項１４】
送信するデータの種類をタイムスロットの単位で切り替えてデータを送信する送信処理と、
前記送信処理により送信されたデータの再送の登録を行う再送管理処理と、
前記再送管理処理により再送の登録が行われたデータを再送する再送処理と、
送信データが発生した際に、現在のタイムスロットが前記送信データの種類に対応するタイムスロットである送信タイムスロットであるか否かを判定し、現在のタイムスロットが送信タイムスロットでない場合に、次の送信タイムスロットまでの待ち時間と閾値時間とを比較し、比較結果に基づき、前記送信部に次の送信タイムスロットにおいて前記送信データの送信を行わせ前記再送管理部に前記送信データの再送の登録を行わせる第１の送信制御と、前記再送管理部に次の送信タイムスロットにおける前記送信データの再送の登録を行わせ前記再送部に次の送信タイムスロットにおいて前記送信データの送信を行わせる第２の送信制御とのいずれかを選択し、選択した送信制御を行う送信制御処理とを通信装置に実行させる通信プログラム。
【請求項１５】
送信するデータの種類をタイムスロットの単位で切り替えてデータを送信する通信装置に、
送信データが発生した際に、現在のタイムスロットが前記送信データの種類に対応するタイムスロットである送信タイムスロットであるか否かを判定し、現在のタイムスロットが送信タイムスロットである場合に、現在のタイムスロットの残り時間と閾値時間とを比較し、現在のタイムスロットの残り時間が前記閾値時間よりも長い場合に、現在のタイムスロットでの前記送信データの送信を選択し、現在のタイムスロットの残り時間が前記閾値時間以下である場合に、次の送信タイムスロットでの前記送信データの送信を選択する送信制御処理を実行させる通信プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データの送信制御に関する。
【背景技術】
【０００２】
近年、制御ネットワークで行われる通信にＩＥＥＥ８０２．１Ｑｂｖ、ＩＥＥＥ８０２．１ＡＳなどのＴｉｍｅ  Ｓｅｎｓｉｔｉｖｅ  Ｎｅｔｗｏｒｋｉｎｇ（ＴＳＮ）技術が適用されつつある。
ＴＳＮでは、通信周期が複数のタイムスロット（ＴＳ）に分割される。そして、ＴＳＮでは、ＴＳの単位でデータの種類を切り替えてデータを送信する。また、ＴＳＮでは、プロトコルごとにＴＳが割り当てられることが多い。例えば、ＴＣＰ／ＩＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）の通信にタイムスロット０（ＴＳ０）が割り当てられ、ＦＡ（Ｆａｃｔｏｒｙ  Ａｕｔｏｍａｔｉｏｎ）用の通信にタイムスロット１（ＴＳ１）が割り当てられることが考えられる。【０００３】
図１６は、ＴＳＮにおける通信シーケンスの例を示す。
ＴＳＮでは、データは、対応するＴＳの送信キュー（送信キューはＩＥＥＥ８０２．１Ｑｂｖが提供）に格納され、ＴＳの開始時刻が到来した際に、当該ＴＳの送信キューに格納されているデータが順次送信される。受信側では、データを受信すると、データを受信キューに格納することなく受信アプリケーションに渡す。
図１６では、３０秒の周期通信が行われている。そして、図１６では、この周期が３つのＴＳに分割されている。つまり、各ＴＳには１０秒が割り当てられている。
また、図１６では、送信アプリケーション０のデータはＴＳ０で送信される。送信アプリケーション０は、時刻「００：００：０６」にデータ０をＴＳ０用の送信キューに挿入している。時刻「００：００：０６」はＴＳ０内の時刻であるため、データ０は待ち時間なくＴＳ０において送信される。
一方、送信アプリケーション１のデータはＴＳ１で送信される。送信アプリケーション１は、時刻「００：００：３１」にデータ１をＴＳ１用の送信キューに挿入している。時刻「００：００：３１」はＴＳ０内の時刻であるため、データ１はＴＳ１用の送信キュー内で待機させられる。そして、時刻「００：００：４０」が到来して、ＴＳ１が開始された後に、データ１が送信される。【０００４】
制御ネットワーク上で行われる、ＴＣＰ／ＩＰ通信などの確達性が求められる通信にもＴＳＮは適用される。ＴＣＰ／ＩＰ通信では、受信側の通信装置にパケットが届くと、パケットの送信側の通信装置に受信確認（ＡＣＫデータ）が送信される。また、ＴＣＰ／ＩＰ通信では、規定時間内に送信側の通信装置がＡＣＫデータを受信しない場合は、送信側の通信装置がパケットを再送する。
ＴＳＮをＴＣＰ／ＩＰ通信に適用する場合は、ＴＣＰ／ＩＰ通信のＴＳとＡＣＫデータの送信タイミングとが一致しないと、以下のような問題が生じる。
受信側の通信装置がＡＣＫデータを送信しようとした際に現在のＴＳがＴＣＰ／ＩＰ通信用のＴＳではない場合は、受信側の通信装置はＴＣＰ／ＩＰ通信用のＴＳが到来するまでＡＣＫデータの送信を保留する。この結果、規定時間内に送信側の通信装置にＡＣＫデータが届かず、このため、送信側の通信装置はパケットを再送するという事態が生じる。このように、ＴＳＮをＴＣＰ／ＩＰ通信に適用すると、受信側の通信装置にパケットが届いているにもかかわらず、送信側の通信装置からパケットが再送され、結果的に、ネットワークの帯域を浪費することになる。
このような事態に対処するために、例えば、特許文献１では、パケットの送信後、再送までの時間を十分に長く設定する技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１１−０７４９４６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１の手法をＴＳＮに適用した場合に、実際には受信側の通信装置にデータが届いているにも関わらず再送が発生するという事態が生じる。
特許文献１の手法をＴＳＮに適用した場合は、送信アプリケーションがデータを送信キューに格納した時刻をもとに再送時刻が計算される。ＴＮＳでは、前述したように、データの種類に対応したタイムスロットが到来しないとデータを送信することができない。このため、該当するタイムスロットの到来までに時間を要する場合は、送信アプリケーションがデータを送信キューに格納した時刻と実際にデータの送信が完了した時刻とが大幅に異なことになる。このため、受信側の通信装置がデータを受信している場合でも、送信側の通信装置にＡＣＫデータが届く前に再送時刻が到来し、無駄なデータの再送が発生することがある。【０００７】
本発明は、このような事情に鑑みたものであり、ＴＳＮのように、タイムスロットの単位で送信するデータの種類を切り替えてデータを送信する構成において、効率的なデータの送信を実現することを主な目的とする。
【課題を解決するための手段】
【０００８】
本発明に係る通信装置は、
送信するデータの種類をタイムスロットの単位で切り替えてデータを送信する通信装置であって、
送信データを、前記送信データの種類に対応するタイムスロットにおいて送信する送信部と、
前記送信データの再送を行う再送時刻を、前記送信部が前記送信データの送信を完了した時刻を基準にして決定する再送時刻決定部とを有する。
【発明の効果】
【０００９】
本発明によれば、タイムスロットの単位で送信するデータの種類を切り替えてデータを送信する構成において、効率的なデータの送信を実現することができる。
【図面の簡単な説明】
【００１０】
【図１】実施の形態１に係るデータ通信システムの構成例を示す図。
【図２】実施の形態１に係る通信装置の機能構成例を示す図。
【図３】実施の形態１に係る再送データリストの構成例を示す図。
【図４】実施の形態１に係る再送データリストの例を示す図。
【図５】実施の形態１に係る送信制御部の動作例を示すフローチャート。
【図６】実施の形態１に係るタイムスロット管理部の動作例を示すフローチャート。
【図７】実施の形態１に係るデータ送信部の動作例を示すフローチャート。
【図８】実施の形態１に係る再送管理部の動作例を示すフローチャート。
【図９】実施の形態１に係るデータ受信部の動作例を示すフローチャート。
【図１０】実施の形態１に係るＡＣＫデータ生成部の動作例を示すフローチャート。
【図１１】実施の形態２に係る通信装置の機能構成例を示す図。
【図１２】実施の形態２に係る送信制御部の動作例を示すフローチャート。
【図１３】実施の形態２に係る再送管理部の動作例を示すフローチャート。
【図１４】実施の形態３に係る送信制御部の動作例を示すフローチャート。
【図１５】実施の形態４に係る送信制御部の動作例を示すフローチャート。
【図１６】ＴＮＳにおける通信シーケンスを示す図。
【発明を実施するための形態】
【００１１】
以下、本発明の実施の形態について、図を用いて説明する。以下の実施の形態の説明及び図面において、同一の符号を付したものは、同一の部分又は相当する部分を示す。
【００１２】
実施の形態１．
＊＊＊構成の説明＊＊＊
図１は、本実施の形態に係る通信システムの構成例を示す。
本実施の形態に係る通信システムでは、通信装置１０１、通信装置１０２及び通信装置１０３がネットワーク５に接続されている。
図１では、通信システムには、通信装置１０１、通信装置１０２及び通信装置１０３が含まれているが、通信システムに含まれる通信装置の台数は３台以上であってもよい。
通信装置１０１、通信装置１０２及び通信装置１０３は、ＴＳＮに従って、データを送受信する。
【００１３】
図１では、通信装置１０１のハードウェア構成が示されている。通信装置１０２及び通信装置１０３でも、通信装置１０１と同じハードウェア構成を備えるものとする。
通信装置１０１、通信装置１０２及び通信装置１０３は、コンピュータである。
図１に示すように、通信装置１０１は、ハードウェアとして、プロセッサ２、メモリ３、ネットワークインタフェース４を備える。
メモリ３には、図２に示す送信アプリケーション１５及び受信アプリケーション１６が記憶されている。また、メモリ３には、図２に示すデータ送信部６、タイムスロット管理部７、データ受信部８、ＡＣＫデータ生成部９、再送管理部１１及び送信制御部１２の機能を実現するプログラムが記憶されている。
プロセッサ２は、メモリ３内の送信アプリケーション１５及び受信アプリケーション１６を実行する。また、プロセッサ２は、データ送信部６、タイムスロット管理部７、データ受信部８、ＡＣＫデータ生成部９、再送管理部１１及び送信制御部１２の機能を実現するプログラムを実行して、データ送信部６、タイムスロット管理部７、データ受信部８、ＡＣＫデータ生成部９、再送管理部１１及び送信制御部１２の動作を行う。
【００１４】
図２は、通信装置１０１の機能構成例を示す。図２では、通信装置１０１の機能構成例のみが示されているが、通信装置１０２及び通信装置１０３でも、通信装置１０１と同じ機能構成を備えるものとする。
【００１５】
データ送信部６は、タイムスロット（ＴＳ）の単位で送信するデータの種類を切り替えてデータを送信する。
より具体的には、データ送信部６は、送信データ管理部１０内の送信キュー１４に格納されている送信データを、当該送信データの種類に対応するタイムスロットにおいて送信する。
また、データ送信部６は、送信データの再送を行う再送時刻を、送信データの送信を完了した時刻を基準にして決定する。
更に、データ送信部６は、送信データの再送が指示された場合は、送信データを再送する。
データ送信部６は、送信部及び再送時刻決定部に相当する。また、データ送信部６により行われる処理は、送信処理及び再送時刻決定処理に相当する。
【００１６】
タイムスロット管理部７は、現在時刻を保持し、タイムスロットを切り替える時刻が到来したら現在のタイムスロットに対応する送信キュー１４をデータ送信部６に通知し、データ送信部６に送信データを送信するよう指示する。
【００１７】
データ受信部８は、通信装置１０２又は通信装置１０３から送信されたデータを受信する。また、データ受信部８は、受信したデータを受信アプリケーション１６に渡す。更に、データ受信部８は、受信したデータに対する受信確認（ＡＣＫデータ）を送信するようＡＣＫデータ生成部に指示する。
【００１８】
ＡＣＫデータ生成部９は、データ受信部８から指示に従い、ＡＣＫデータを送信データ管理部１０の対応する送信キュー１４に格納する。
【００１９】
送信データ管理部１０は、タイムスロットごとにエントリを持つ。各エントリには、送信キュー１４が設けられている。送信キュー１４では、送信データのメモリアドレス又はＡＣＫデータのメモリアドレスが保持される。
【００２０】
再送管理部１１は、データ送信部６により送信された送信データの再送を管理する。
具体的には、再送管理部１１は、データ送信部６により送信された送信データ及びデータ送信部６により決定された再送時刻を再送データリスト１３に登録する。
図３は、再送データリスト１３の構成例を示す。再送データリスト１３の各エントリには再送時刻と、再送対象の送信データのメモリアドレスと、送信データの識別子であるシーケンス番号が格納されている。再送データリスト１３のエントリは再送時刻の早い順に並べられる。図４は、再送データリスト１３の具体例を示す。なお、本実施の形態では、再送データリスト１３において送信データのメモリアドレスが登録されている例を示しているが、メモリアドレスではなく送信データの実体が再送データリスト１３に登録されるようにしてもよい。
再送管理部１１は、再送時刻までに送信データに対するＡＣＫデータが受信されていない場合に、送信データの再送を決定する。
再送管理部１１により行われる処理は、再送管理処理に相当する。
【００２１】
送信制御部１２は、送信アプリケーション１５の指示に基づき、送信データを生成する。また、送信制御部１２は、送信データを該当するタイムスロットの送信キュー１４に格納する。
送信制御部１２により行われる処理は、送信制御処理に相当する。
【００２２】
送信アプリケーション１５は、送信制御部１２に送信データの生成を指示する。送信アプリケーション１５は、例えば、送信すべきコンテンツを送信制御部１２に出力して、送信データの生成を指示する。
【００２３】
受信アプリケーション１６は、データ受信部８で受信されたデータをデータ受信部８から取得する。
【００２４】
なお、本実施の形態では、送信データの種類を送信データのプロトコルとする。つまり、本実施の形態では、送信データのプロトコルごとにタイムスロットが割り当てられているものとする。送信データのプロトコルに割り当てられたタイムスロットを、以下では送信タイムスロットという。つまり、送信データは送信タイムスロット以外のタイムスロットでは送信されず、送信タイムスロットでのみ送信される。
送信データに対するＡＣＫデータは、送信タイムスロットでのみ送信される。つまり、送信データに対応するタイムスロット（送信タイムスロット）がタイムスロット０である場合は、当該送信データに対するＡＣＫデータは、タイムスロット０でのみ送信される。送信データが送信されたタイムスロット０内にＡＣＫデータが送信されない場合は、ＡＣＫデータは次に到来するタイムスロット０で送信される。
【００２５】
＊＊＊動作の説明＊＊＊
本実施の形態における通信装置１０１の動作例を説明する。
以下では、通信装置１０１の動作として説明するが、通信装置１０２及び通信装置１０３の動作も同じである。
なお、以下で説明する動作手順は、本願の通信方法及び通信プログラムに相当する。
【００２６】
まず、本実施の形態に係る送信制御部１２の動作例を図５を参照して説明する。
【００２７】
ステップＳ１では、送信制御部１２は、送信アプリケーション１５からコンテンツを取得し、送信データを生成する。
【００２８】
次に、ステップＳ２では、送信制御部１２は、ステップＳ１で生成した送信データのメモリアドレスを該当する送信キュー１４に格納する。
つまり、送信制御部１２は、送信データ管理部１０で管理されている複数の送信キュー１４のうち、送信データのプロトコルに対応するタイムスロットのエントリの送信キュー１４にステップＳ１で生成した送信データのメモリアドレスを格納する。
【００２９】
次に、送信制御部１２は、ステップＳ３で規定時間待機する。
次に、送信制御部１２は、ステップＳ４で、データ送信部６からデータ送信完了通知が届いたかどうかを確認する。
データ送信完了通知が届いていない場合は、送信制御部１２は、ステップＳ３及びステップＳ４をデータ送信完了通知が届くまで繰り返す。
データ送信完了通知が届いたら、送信制御部１２は、処理を終了する。
【００３０】
次に、図６を参照して、タイムスロット管理部７の動作例を説明する。
【００３１】
先ず、タイムスロット管理部７は、ステップＳ５で規定時間待機する。
次に、タイムスロット管理部７は、ステップＳ６において、タイムスロットの切り替え時刻が到来したか否かを確認する。タイムスロットの切り替え時刻が到来している場合は、タイムスロット管理部７はステップＳ７に進む。
ステップＳ７では、タイムスロット管理部７はデータ送信部６に送信データの送信を指示する。その後、タイムスロット管理部７はステップＳ５に戻る。より具体的には、タイムスロット管理部７はデータ送信部６に現在のタイムスロットに対応する送信キュー１４を通知して、データ送信部６に送信データの送信を指示する。
タイムスロットの切り替え時刻が到来していない場合は、タイムスロット管理部７は、タイムスロットの切り替え時刻が到来するまで、ステップＳ５及びステップＳ６を繰り返す。
【００３２】
次に、図７を参照して、データ送信部６の動作例を説明する。
【００３３】
先ず、データ送信部６は、ステップＳ８で規定時間待機する。
次に、データ送信部６は、ステップＳ９において、送信データの送信指示が届いた否かを確認する。
タイムスロット管理部７から送信指示が届く場合と、再送管理部１１から送信指示が届く場合がある。
送信指示が届いていない場合は、データ送信部６は、送信指示が届くまで、ステップＳ８及びステップＳ９を繰り返す。
送信指示が届いている場合は、データ送信部６はステップＳ１０に進む。
【００３４】
ステップＳ１０では、データ送信部６は、送信データをネットワーク５に送信する。
タイムスロット管理部７から送信指示が届いている場合は、データ送信部６は、送信データ管理部１０の該当する送信キュー１４から送信データを取得し、取得した送信データをネットワーク５に送信する。
一方、再送管理部１１から送信指示が届いている場合は、データ送信部６は、送信指示とともに再送管理部１１から届いている送信データをネットワーク５に送信する。なお、再送管理部１１からの送信指示に基づく送信データの送信は、送信データの再送に該当する。
【００３５】
送信データの送信が完了したら、データ送信部６は、ステップＳ１１において、送信データの送信が完了した時刻を基準にして送信データの再送時刻を算出し、算出した再送時刻と、送信データのメモリアドレスとシーケンス番号を再送管理部１１に通知する。
データ送信部６は、送信タイムスロット内の時刻を再送時刻に決定する。例えばデータ送信部６が０時０分０秒に送信データの送信を完了した場合を想定する。また、ここでは、送信データの送信が完了した時刻から１０秒後に再送するような設定となっているものとする。この場合に、データ送信部６は、０時０分１０秒が送信タイムスロット内の時刻であれば、０時０分１０秒を再送時刻に決定する。一方、０時０分１０秒が送信タイムスロット内の時刻でなければ、データ送信部６は、０時０分１０秒より後に最も早く到来する送信タイムスロット内の時刻を再送時刻に決定する。
その後、データ送信部６はステップＳ８に戻る。
【００３６】
次に、図８を参照して、再送管理部１１の動作例を説明する。
【００３７】
先ず、再送管理部１１は、ステップＳ１２で規定時間待機する。
次に、ステップＳ１３で、再送管理部１１は、再送データリスト１３の先頭のエントリの再送時刻が到来したか否かを確認する。
再送時刻が到来している場合は、再送管理部１１はステップＳ１４に進む。一方、再送時刻が到来していない場合は、再送管理部１１はステップＳ１５に進む。
【００３８】
ステップＳ１４では、再送管理部１１は、再送データリスト１３の先頭エントリに示されるメモリアドレスに基づいて送信データを取得し、データ送信部６に、送信データの送信を指示する。
より具体的には、再送管理部１１は、送信データの送信指示と、送信データをデータ送信部６に出力する。
ステップＳ１４で送信指示と送信データが出力された結果、図７のステップＳ９でＹＥＳとなり、データ送信部６は、ステップＳ１０において、送信データを再送する。
【００３９】
ステップＳ１５では、再送管理部１１は、データ送信部６またはデータ受信部８から通知が届いたか否かを確認する。
通知が届いていれば、再送管理部１１はステップＳ１６に進む。一方、通知が届いていない場合は、再送管理部１１はステップＳ１２に戻る。
【００４０】
ステップＳ１６では、再送管理部１１は、データ送信部６からの通知及びデータ受信部８からの通知のいずれが届いたのかを確認する。
データ送信部６からの通知が届いている場合は、再送管理部１１はステップＳ１７に進む。一方、データ受信部８からの通知が届いている場合は、再送管理部１１はステップＳ１８に進む。
【００４１】
ステップＳ１７では、再送管理部１１は、再送データリスト１３に新たなエントリを追加する。
データ送信部６から通知は、図７のステップＳ１１で示された、再送時刻と送信データのメモリアドレスとシーケンス番号の通知である。再送管理部１１は、ステップＳ１７において、データ送信部６から通知された再送時刻と送信データのメモリアドレスとシーケンス番号が示される新たなエントリを再送データリスト１３に追加する。再送管理部１１は、再送時刻順に従って、新たなエントリを再送データリスト１３に追加する。これにより送信データの再送が登録される。
新たなエントリを再送データリスト１３に追加したら、再送管理部１１はステップＳ１５に戻る。
【００４２】
ステップＳ１８では、再送管理部１１は、再送データリスト１３からエントリを削除する。
データ受信部８からの通知は、送信データの送信先からＡＣＫデータを受信した旨の通知である。データ受信部８からの通知には、ＡＣＫデータが受信された送信データのシーケンス番号が示される。このため、再送管理部１１は、データ受信部８からの通知に示されるシーケンス番号に基づいて、再送データリスト１３のエントリのうち、ＡＣＫデータが受信された送信データについてのエントリを削除する。
エントリを再送データリスト１３から削除したら、再送管理部１１はステップＳ１５に戻る。
【００４３】
再送管理部１１は、データ送信部６からの通知及びデータ受信部８からの通知を全て処理するまで、ステップＳ１６〜Ｓ１８を繰り返す。データ送信部６からの通知及びデータ受信部８からの通知が全て処理されたら、再送管理部１１はステップＳ１２に戻る。
【００４４】
次に、図９を参照して、データ受信部８の動作例を説明する。
【００４５】
先ず、ステップＳ１９で、データ受信部８は、ネットワークインタフェース４からのデータ到着通知を待つ。データ到着通知は例えばハードウェア割り込みによって実現される。
【００４６】
データ到着通知が届くと、データ受信部８は、ステップＳ２０において、受信されたデータの種別を確認する。つまり、データ受信部８は、受信されたデータが、通信装置１０２又は通信装置１０３から送信された送信データであるか、通信装置１０２又は通信装置１０３から送信されたＡＣＫデータであるかを確認する。
受信されたデータが送信データであれば、データ受信部８はステップＳ２１に進む。一方、受信されたデータがＡＣＫデータであれば、データ受信部８はステップＳ２３に進む。
【００４７】
ステップＳ２１では、データ受信部８は、受信アプリケーション１６に送信データを渡す。
また、データ受信部８は、ステップＳ２２において、ＡＣＫデータ生成部９に、受信した送信データのＡＣＫデータを、送信データの送信元に送信するよう指示する。
そして、データ受信部８はステップＳ１９に戻り、次のデータ到着通知の到着を待つ。
【００４８】
ステップＳ２３では、データ受信部８は、再送管理部１１にＡＣＫデータを受信した旨を通知する。より具体的には、データ受信部８は、ＡＣＫデータが受信された送信データのシーケンス番号を通知する。
そして、データ受信部８はステップＳ１９に戻り、次のデータ到着通知の到着を待つ。
【００４９】
次に、図１０を参照して、ＡＣＫデータ生成部９の動作例を説明する。
【００５０】
先ず、ＡＣＫデータ生成部９は、ステップＳ２４において、データ受信部８からの指示に従い、ＡＣＫデータを生成する。
次に、ＡＣＫデータ生成部９は、ステップＳ２５において、ステップＳ２４で生成したＡＣＫデータのメモリアドレスを該当する送信キュー１４に格納する。
つまり、ＡＣＫデータ生成部９は、送信データ管理部１０で管理されている複数の送信キュー１４のうち、ＡＣＫデータのプロトコルに対応するタイムスロットのエントリの送信キュー１４にステップＳ２４で生成したＡＣＫデータのメモリアドレスを格納する。
【００５１】
次に、ＡＣＫデータ生成部９は、ステップＳ２６で規定時間待機する。
次に、ＡＣＫデータ生成部９は、ステップＳ２７で、データ送信部６からデータ送信完了通知が届いたかどうかを確認する。
データ送信完了通知が届いていない場合は、ＡＣＫデータ生成部９は、ステップＳ２６及びステップＳ２７をデータ送信完了通知が届くまで繰り返す。
データ送信完了通知が届いたら、ＡＣＫデータ生成部９は、処理を終了する。
【００５２】
なお、送信アプリケーション１５の動作は送信制御部１２コンテンツを出力するだけである。
また、受信アプリケーション１６の動作は、受信されたデータをデータ受信部８から取得し、受信アプリケーション１６独自の処理を当該データに対して行うだけである。
このため、送信アプリケーション１５及び受信アプリケーション１６の処理手順の説明は省略する。
【００５３】
＊＊＊実施の形態の効果の説明＊＊＊
従来の手法であれば、送信制御部１２が送信キュー１４に送信データのメモリアドレスを格納した時刻（図５のステップＳ２の時刻）を基準して再送時刻が決定される。このため、送信タイムスロットではないタイムスロットで送信キュー１４に送信データが格納された場合は、送信タイムスロットが到来するまでに再送時刻が到来してしまい、送信データの１回目の送信と同時に送信データの再送が行われてしまう可能性がある。また、送信データの１回目の送信の後に再送時刻が到来する場合であっても、送信データの１回目の送信の直後に再送時刻が到来すると、受信側の通信装置がＡＣＫデータを送信する前に送信データが再送されることになる。いずれのケースにおいても、送信データは受信側の通信装置に到達するにも関わらず、無駄に送信データの再送が発生することになる。
本実施の形態では、データ送信部６が送信データの送信を完了した時刻（図７のステップＳ１０の時刻）を基準にして再送時刻が決定される（図７のステップＳ１１）。従って、本実施の形態では、送信データの１回目の送信と同時に送信データの再送が行われることはない。また、本実施の形態では、送信データの１回目の送信の直後に再送時刻が到来することもない。
このように、本実施の形態では、ＴＳＮのように、タイムスロットの単位で送信するデータの種類を切り替えてデータを送信する構成において、無駄な再送を防止することができる。
【００５４】
実施の形態２．
本実施の形態では、現在のタイムスロットが送信タイムスロットではなく、また、次の送信タイムスロットまでの待ち時間が閾値時間以下である場合に、通信装置１０１が、実施の形態１と同様に送信データを送信する。一方、次の送信タイムスロットまでの待ち時間が閾値時間よりも長い場合は、通信装置１０１は、送信データを再送する手順にて送信データを送信する。
以下では、再送間隔を閾値時間として扱う。再送間隔は、送信データの１回目の送信から再送までの間の間隔として通信装置１０１において規定されているデフォルト値である。
【００５５】
＊＊＊構成の説明＊＊＊
本実施の形態においても、通信システムの構成例は図１に示すものと同様である。
図１１は、本実施の形態に係る通信装置１０１の機能構成例を示す。
図１１に示す通信装置１０１の機能構成例は、図２に示すものと同じであるが、本実施の形態では、データ送信部６は、送信部及び再送部に相当する。また、データ送信部６により行われる処理は、送信処理及び再送処理に相当する。
【００５６】
＊＊＊動作の説明＊＊＊
次に、本実施の形態に係る通信装置１０１の動作例を説明する。本実施の形態でも、通信装置１０２及び通信装置１０３は、通信装置１０１と同じ動作を行う。
本実施の形態では、主に実施の形態１との差異を説明する。
なお、以下で説明していない事項は、実施の形態１と同様である。
【００５７】
図１２は、本実施の形態に係る送信制御部１２の動作例を示す。
【００５８】
ステップＳ１０１では、送信制御部１２は、送信データを生成する。
ステップＳ１０１は、実施の形態１で説明したステップＳ１と同じであるため、詳細な説明は省略する。
【００５９】
次に、ステップＳ１０２で、送信制御部１２は、現在のタイムスロットが送信タイムスロットであるか否かを確認する。つまり、送信制御部１２は、現在のタイムスロットが、送信データの送信が許可されるタイムスロットであるか否かを判定する。
現在のタイムスロットが送信タイムスロットであれば、送信制御部１２はステップＳ１０５に進む。
一方、現在のタイムスロットが送信タイムスロットでなければ、送信制御部１２はステップＳ１０３に進む。
【００６０】
ステップＳ１０３では、送信制御部１２は、次の送信タイムスロットまでの待ち時間を取得する。具体的には、送信制御部１２は、タイムスロットの割当て時間（規定値）と、現在のタイムスロットが開始してからの経過時間とを用いて、次の送信タイムスロットまでの待ち時間を取得する。
【００６１】
ステップＳ１０４では、送信制御部１２は、ステップＳ１０３で取得した次の送信タイムスロットまでの待ち時間と、再送間隔とを比較する。
次の送信タイムスロットまでの待ち時間が再送間隔以下である場合に、送信制御部１２はステップＳ１０５に進む。
一方、次の送信タイムスロットまでの待ち時間が再送間隔よりも長い場合に、送信制御部１２はステップＳ１０６に進む。
【００６２】
ステップＳ１０５では、送信制御部１２は図５のステップＳ２からステップＳ４の処理を行う。
つまり、送信制御部１２は、ステップＳ１０１で生成した送信データのメモリアドレスを該当する送信キュー１４に格納する（ステップＳ２）。
また、送信制御部１２は、規定時間待機し（ステップＳ３）、データ送信部６からデータ送信完了通知が届いたかどうかを確認する（ステップＳ４）。
データ送信完了通知が届いていない場合は、送信制御部１２は、ステップＳ３及びステップＳ４をデータ送信完了通知が届くまで繰り返す。
データ送信完了通知が届いたら、送信制御部１２は、処理を終了する。
送信制御部１２がステップＳ２からステップＳ４を行うと、データ送信部６は次の送信タイムスロットにおいて送信データの送信を行い、また、次の送信タイムスロット内の再送時刻を決定し（図７）、再送管理部１１が次の送信タイムスロット内の再送時刻での送信データの再送の登録を行う（後述の図１３）。
このように、本実施の形態では、送信制御部１２は、次の送信タイムスロットまでの待ち時間が再送間隔以下である場合は、データ送信部６に次の送信タイムスロットにおいて送信データの送信を行わせ、データ送信部６に次の送信タイムスロット内の再送時刻を決定させ、再送管理部１１に次の送信タイムスロット内の再送時刻での送信データの再送の登録を行わせる。送信制御部１２のこのような制御は、第１の送信制御という。
【００６３】
ステップＳ１０６では、送信制御部１２は、送信データの再送時刻を算出し、算出した再送時刻と、送信データのメモリアドレスとシーケンス番号を再送管理部１１に通知する。
送信制御部１２は、次の送信タイムスロット内の時刻を再送時刻に決定する。
後述するように、再送管理部１１は、ステップＳ１０５で通知された再送時刻と送信データのメモリアドレスとシーケンス番号を、新たなエントリとして再送データリスト１３に登録する。この結果、データ送信部６は、再送データリスト１３に従い、次の送信タイムスロットにおいて送信データの送信を行う。
このように、本実施の形態では、送信制御部１２は、次の送信タイムスロットまでの待ち時間が再送間隔よりも長い場合は、再送管理部１１に次の送信タイムスロットにおける送信データの再送の登録を行わせ、データ送信部６に次の送信タイムスロットにおいて送信データの送信を行わせる。送信制御部１２のこのような制御は、第２の送信制御という。
なお、ステップＳ１０６が行われた場合は、データ送信部６にステップＳ１１にて再送時刻を決定しないように指示する。
【００６４】
図１３は、本実施の形態に係る再送管理部１１の動作例を示す。
【００６５】
図１３において、ステップＳ１５１及びステップＳ１６１以外の処理は、図８に示すものと同じである。このため、以下では、ステップＳ１５１及びステップＳ１６１のみを説明する。
【００６６】
ステップＳ１５１では、再送管理部１１は、データ送信部６、送信制御部１２またはデータ受信部８から通知が届いたか否かを確認する。
通知が届いていれば、再送管理部１１はステップＳ１６１に進む。一方、通知が届いていない場合は、再送管理部１１はステップＳ１２に戻る。
【００６７】
ステップＳ１６１では、再送管理部１１は、データ送信部６または送信制御部１２からの通知、データ受信部８からの通知のいずれが届いたのかを確認する。
データ送信部６または送信制御部１２からの通知が届いている場合は、再送管理部１１はステップＳ１７に進む。一方、データ受信部８からの通知が届いている場合は、再送管理部１１はステップＳ１８に進む。
送信制御部１２からの通知は、図１２のステップＳ１０６の通知である。つまり、送信制御部１２からステップＳ１０６の通知が届いている場合にも、再送管理部１１は、データ送信部６からの通知と同様に、送信制御部１２からの通知に基づいて、再送データリスト１３に新たなエントリを追加する。
【００６８】
＊＊＊実施の形態の効果の説明＊＊＊
本実施の形態では、現在のタイムスロットが送信タイムスロットではなく、次の送信タイムスロットまでの待ち時間が閾値時間（再送間隔）よりも長い場合は、再送手順にて送信データの１回目の送信が行われる。このため、本実施の形態によれば、次の送信タイムスロットまでの待ち時間が閾値時間（再送間隔）よりも長い場合は、送信キュー１４への送信データの格納等の手順を省略することができ、処理負荷を軽減することができる。つまり、本実施の形態により、より効率的なデータ送信を実現することができる。
また、従来技術での再送時刻により近い時刻でデータの再送処理が可能となる。
なお、以上では、閾値時間を再送間隔としているが、閾値時間は再送間隔でなくてもよい。
【００６９】
実施の形態３．
本実施の形態では、現在のタイムスロットが送信タイムスロットであり、また、現在のタイムスロットの残り時間が閾値時間よりも長い場合に、通信装置１０１が、現在のタイムスロットでの送信データの送信を選択する。一方、現在のタイムスロットの残り時間が閾値時間以下である場合は、通信装置１０１は、次の送信タイムスロットでの送信データを選択する。
本実施の形態では、送信所要時間を閾値時間として扱う。送信所要時間は、データ送信部６が送信データを送信するのに要する時間である。
【００７０】
＊＊＊構成の説明＊＊＊
本実施の形態においても、通信システムの構成例は図１に示すものと同様である。
また、本実施の形態においても通信装置１０１の機能構成は図１１に示すものと同様である。
【００７１】
＊＊＊動作の説明＊＊＊
次に、本実施の形態に係る通信装置１０１の動作例を説明する。本実施の形態でも、通信装置１０２及び通信装置１０３は、通信装置１０１と同じ動作を行う。
本実施の形態では、主に実施の形態１との差異を説明する。
なお、以下で説明していない事項は、実施の形態１と同様である。
【００７２】
図１４は、本実施の形態に係る送信制御部１２の動作例を示す。
【００７３】
ステップＳ２０１では、送信制御部１２は、送信データを生成する。
ステップＳ２０１は、実施の形態１で説明したステップＳ１と同じであるため、詳細な説明は省略する。
【００７４】
次に、ステップＳ２０２では、送信制御部１２は、再送間隔とタイムスロットの割り当て時間とを比較する。
再送間隔よりもタイムスロットの割り当て時間が長い場合は、送信制御部１２はステップＳ２０３に進む。一方、タイムスロットの割り当て時間が再送間隔以下であれば、送信制御部１２はステップＳ２０７に進む。
【００７５】
ステップＳ２０３では、送信制御部１２は、現在のタイムスロットが送信タイムスロットであるか否かを確認する。つまり、送信制御部１２は、現在のタイムスロットが、送信データの送信が許可されるタイムスロットであるか否かを判定する。
現在のタイムスロットが送信タイムスロットであれば、送信制御部１２はステップＳ２０４に進む。
一方、現在のタイムスロットが送信タイムスロットでなければ、送信制御部１２はステップＳ２０８に進む。
【００７６】
ステップＳ２０４では、送信制御部１２は、送信所要時間を求める。すなわち、送信制御部１２は、図７のステップＳ１０とステップＳ１１の処理に要する時間を確認する。例えば、データ送信部６が、ステップＳ１０とステップＳ１１に要する時間を計測して送信所要時間として保持しておき、データ送信部６が送信制御部１２に送信所要時間を通知することが考えられる。
【００７７】
ステップＳ２０５では、送信制御部１２は、現在のタイムスロットの残り時間を求める。
【００７８】
ステップＳ２０６では、送信制御部１２は、送信所要時間と現在のタイムスロットの残り時間を比較する。
現在のタイムスロットの残り時間が送信所要時間よりも長ければ、送信制御部１２はステップＳ２０７に進む。一方、現在のタイムスロットの残り時間が送信所要時間以下であれば、送信制御部１２はステップＳ２０８に進む。
【００７９】
ステップＳ２０７では、送信制御部１２は図５のステップＳ２からステップＳ４の処理を行う。
つまり、送信制御部１２は、ステップＳ１０１で生成した送信データのメモリアドレスを該当する送信キュー１４に格納する（ステップＳ２）。
また、送信制御部１２は、規定時間待機し（ステップＳ３）、データ送信部６からデータ送信完了通知が届いたかどうかを確認する（ステップＳ４）。
データ送信完了通知が届いていない場合は、送信制御部１２は、ステップＳ３及びステップＳ４をデータ送信完了通知が届くまで繰り返す。
データ送信完了通知が届いたら、送信制御部１２は、処理を終了する。
送信制御部１２がステップＳ２からステップＳ４を行うと、データ送信部６は次の送信タイムスロットにおいて送信データの送信を行い、また、次の送信タイムスロット内の再送時刻を決定し（図７）、再送管理部１１が次の送信タイムスロット内の再送時刻での送信データの再送の登録を行う（図１３）。
このように、本実施の形態では、送信制御部１２は、現在のタイムスロットの残り時間が送信所要時間よりも長ければ、データ送信部６に次の送信タイムスロットにおいて送信データの送信を行わせ、データ送信部６に次の送信タイムスロット内の再送時刻を決定させ、再送管理部１１に次の送信タイムスロット内の再送時刻での送信データの再送の登録を行わせる。送信制御部１２のこのような制御は、第１の送信制御という。
【００８０】
ステップＳ２０８では、送信制御部１２は、送信データの再送時刻を算出し、算出した再送時刻と、送信データのメモリアドレスとシーケンス番号を再送管理部１１に通知する。
送信制御部１２は、次の送信タイムスロット内の時刻を再送時刻に決定する。
本実施の形態でも、再送管理部１１は、ステップＳ２０８で通知された再送時刻と送信データのメモリアドレスとシーケンス番号を、新たなエントリとして再送データリスト１３に登録する。この結果、データ送信部６は、再送データリスト１３に従い、次の送信タイムスロットにおいて送信データの送信を行う。
このように、本実施の形態では、送信制御部１２は、現在のタイムスロットの残り時間が送信所要時間以下であれば、再送管理部１１に次の送信タイムスロットにおける送信データの再送の登録を行わせ、データ送信部６に次の送信タイムスロットにおいて送信データの送信を行わせる。送信制御部１２のこのような制御は、第２の送信制御という。
なお、ステップＳ２０８が行われた場合は、データ送信部６にステップＳ１１にて再送時刻を決定しないように指示する。
【００８１】
本実施の形態でも、再送管理部１１の動作は図１３に示す通りである。
【００８２】
＊＊＊実施の形態の効果の説明＊＊＊
実施の形態１の方法では、現在のタイムスロットが送信タイムスロットであり、現在のタイムスロットの残り時間が送信所要時間以下であっても、通信装置１０１は送信データの送信処理を行う。しかし、この場合は、通信装置１０１は現在のタイムスロット内で送信データを送信することはできないので、現在のタイムスロット内で行った送信処理が無駄になる。
そこで、本実施の形態では、現在のタイムスロットの残り時間が送信所要時間以下である場合は、通信装置１０１は、現在のタイムスロットでは送信データを送信せずに、次の送信タイムスロットに送信データを送信する。この結果、本実施の形態によれば、効率的なデータ送信を行うことができる。
【００８３】
実施の形態４．
本実施の形態でも、実施の形態３と同様に、現在のタイムスロットが送信タイムスロットであり、また、現在のタイムスロットの残り時間が閾値時間よりも長い場合に、通信装置１０１が、現在のタイムスロットでの送信データの送信を選択する。一方、現在のタイムスロットの残り時間が閾値時間以下である場合は、通信装置１０１は、次の送信タイムスロットでの送信データを選択する。
本実施の形態では、受信確認所要時間を閾値時間として扱う。受信確認所要時間は、送信データの送信から、送信データの送信先から送信データについての受信確認（ＡＣＫデータ）を受信するまでに要する時間である。
【００８４】
＊＊＊構成の説明＊＊＊
本実施の形態においても、通信システムの構成例は図１に示すものと同様である。
また、本実施の形態においても通信装置１０１の機能構成は図１１に示すものと同様である。
【００８５】
＊＊＊動作の説明＊＊＊
次に、本実施の形態に係る通信装置１０１の動作例を説明する。本実施の形態でも、通信装置１０２及び通信装置１０３は、通信装置１０１と同じ動作を行う。
本実施の形態では、主に実施の形態１との差異を説明する。
なお、以下で説明していない事項は、実施の形態１と同様である。
【００８６】
図１５は、本実施の形態に係る送信制御部１２の動作例を示す。
【００８７】
ステップＳ３０１では、送信制御部１２は、送信データを生成する。
ステップＳ３０１は、実施の形態１で説明したステップＳ１と同じであるため、詳細な説明は省略する。
【００８８】
次に、ステップＳ３０２では、送信制御部１２は、再送間隔とタイムスロットの割り当て時間とを比較する。
再送間隔よりもタイムスロットの割り当て時間が長い場合は、送信制御部１２はステップＳ３０３に進む。一方、タイムスロットの割り当て時間が再送間隔以下であれば、送信制御部１２はステップＳ３０７に進む。
【００８９】
ステップＳ３０３では、送信制御部１２は、現在のタイムスロットが送信タイムスロットであるか否かを確認する。つまり、送信制御部１２は、現在のタイムスロットが、送信データの送信が許可されるタイムスロットであるか否かを判定する。
現在のタイムスロットが送信タイムスロットであれば、送信制御部１２はステップＳ３０４に進む。
一方、現在のタイムスロットが送信タイムスロットでなければ、送信制御部１２はステップＳ３０８に進む。
【００９０】
ステップＳ３０４では、送信制御部１２は、受信確認所要時間を求める。例えば、データ送信部６が、送信データを送信し、送信データを送信してから、同じタイムスロット内で受信側の通信装置からＡＣＫデータを受信するまでの時間を受信確認所要時間として計測する。そして、データ送信部６が送信制御部１２に受信確認所要時間を通知することが考えられる。データ送信部６は、過去に計測した受信確認所要時間を送信制御部１２に通知してもよい。
【００９１】
ステップＳ３０５では、送信制御部１２は、現在のタイムスロットの残り時間を求める。
【００９２】
ステップＳ３０６では、送信制御部１２は、受信確認所要時間と現在のタイムスロットの残り時間を比較する。
現在のタイムスロットの残り時間が受信確認所要時間よりも長ければ、送信制御部１２はステップＳ３０７に進む。一方、現在のタイムスロットの残り時間が受信確認所要時間以下であれば、送信制御部１２はステップＳ３０８に進む。
【００９３】
ステップＳ３０７では、送信制御部１２は図５のステップＳ２からステップＳ４の処理を行う。
つまり、送信制御部１２は、ステップＳ１０１で生成した送信データのメモリアドレスを該当する送信キュー１４に格納する（ステップＳ２）。
また、送信制御部１２は、規定時間待機し（ステップＳ３）、データ送信部６からデータ送信完了通知が届いたかどうかを確認する（ステップＳ４）。
データ送信完了通知が届いていない場合は、送信制御部１２は、ステップＳ３及びステップＳ４をデータ送信完了通知が届くまで繰り返す。
データ送信完了通知が届いたら、送信制御部１２は、処理を終了する。
送信制御部１２がステップＳ２からステップＳ４を行うと、データ送信部６は次の送信タイムスロットにおいて送信データの送信を行い、また、次の送信タイムスロット内の再送時刻を決定し（図７）、再送管理部１１が次の送信タイムスロット内の再送時刻での送信データの再送の登録を行う（図１３）。
このように、本実施の形態では、送信制御部１２は、現在のタイムスロットの残り時間が受信確認所要時間よりも長ければ、データ送信部６に次の送信タイムスロットにおいて送信データの送信を行わせ、データ送信部６に次の送信タイムスロット内の再送時刻を決定させ、再送管理部１１に次の送信タイムスロット内の再送時刻での送信データの再送の登録を行わせる。送信制御部１２のこのような制御は、第１の送信制御という。
【００９４】
ステップＳ３０８では、送信制御部１２は、送信データの再送時刻を算出し、算出した再送時刻と、送信データのメモリアドレスとシーケンス番号を再送管理部１１に通知する。
送信制御部１２は、次の送信タイムスロット内の時刻を再送時刻に決定する。
本実施の形態でも、再送管理部１１は、ステップＳ３０８で通知された再送時刻と、送信データのメモリアドレスとシーケンス番号を、新たなエントリとして再送データリスト１３に登録する。この結果、データ送信部６は、再送データリスト１３に従い、次の送信タイムスロットにおいて送信データの送信を行う。
このように、本実施の形態では、送信制御部１２は、現在のタイムスロットの残り時間が受信確認所要時間以下であれば、再送管理部１１に次の送信タイムスロットにおける送信データの再送の登録を行わせ、データ送信部６に次の送信タイムスロットにおいて送信データの送信を行わせる。送信制御部１２のこのような制御は、第２の送信制御という。
なお、ステップＳ３０８が行われた場合は、データ送信部６にステップＳ１１にて再送時刻を決定しないように指示する。
【００９５】
本実施の形態でも、再送管理部１１の動作は図１３に示す通りである。
【００９６】
＊＊＊実施の形態の効果の説明＊＊＊
実施の形態１の方法では、現在のタイムスロットが送信タイムスロットであり、現在のタイムスロットの残り時間が受信確認所要時間以下であっても、通信装置１０１は送信データを送信する。しかし、この場合は、ＡＣＫデータは現在のタイムスロットでは通信装置１０１に届かない。このため、通信装置１０１にＡＣＫデータが届く前に再送時刻が到来し、通信装置１０１は、送信データが受信側の通信装置に届いているにも関わらず、送信データを再送することになる。
そこで、本実施の形態では、現在のタイムスロットの残り時間が受信確認所要時間以下である場合は、通信装置１０１は、現在のタイムスロットでは送信データを送信せずに、次の送信タイムスロットに送信データを送信する。この結果、本実施の形態では、無駄な再送を防止することができる。
【００９７】
なお、上記では、受信確認所要時間の取得方法として、送信データを送信してからＡＣＫデータが戻るまでの時間を計測する方法を説明した。これは、ＴＣＰ／ＩＰでは、ＡＣＫデータに、送信データが受信側の通信装置に到達した時刻が格納できないため、上記では、実際に受信確認所要時間を計測する例を説明している。送信データが受信側の通信装置に到達した時刻をＡＣＫデータに格納できるプロトコルが用いられる場合は、送信制御部１２は、通信装置１０１がＡＣＫデータを受信した時刻からＡＣＫデータに格納された時刻（送信データが受信側の通信装置に到達した時刻）を減算して得られる時間を２倍し、更に、２倍により得られた時間に受信側の通信装置での処理時間を加算すれば、受信確認所要時間を得ることができる。
【００９８】
以上、本発明の実施の形態について説明したが、これらの実施の形態のうち、２つ以上を組み合わせて実施しても構わない。
あるいは、これらの実施の形態のうち、１つを部分的に実施しても構わない。
あるいは、これらの実施の形態のうち、２つ以上を部分的に組み合わせて実施しても構わない。
なお、本発明は、これらの実施の形態に限定されるものではなく、必要に応じて種々の変更が可能である。
【００９９】
＊＊＊ハードウェア構成の説明＊＊＊
最後に、通信装置１０１のハードウェア構成の補足説明を行う。
プロセッサ２は、プロセッシングを行うＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）である。
プロセッサ２は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）等である。
メモリ３は、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、フラッシュメモリ、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）等である。
ネットワークインタフェース４は、データを送受信する電子回路である。
ネットワークインタフェース４は、例えば、通信チップ又はＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）である。
【０１００】
また、メモリ３には、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）も記憶されている。
そして、ＯＳの少なくとも一部がプロセッサ２により実行される。
プロセッサ２はＯＳの少なくとも一部を実行しながら、データ送信部６、タイムスロット管理部７、データ受信部８、ＡＣＫデータ生成部９、再送管理部１１及び送信制御部１２の機能を実現するプログラムを実行する。
また、データ送信部６、タイムスロット管理部７、データ受信部８、ＡＣＫデータ生成部９、再送管理部１１及び送信制御部１２の処理の結果を示す情報、データ、信号値又は変数値が、メモリ３、又は、プロセッサ２内のレジスタ又はキャッシュメモリに記憶される。
また、データ送信部６、タイムスロット管理部７、データ受信部８、ＡＣＫデータ生成部９、再送管理部１１及び送信制御部１２の機能を実現するプログラムは、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ（登録商標）ディスク、ＤＶＤ等の可搬記録媒体に記憶されてもよい。
【０１０１】
また、通信装置１０１は、ロジックＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、ＧＡ（Ｇａｔｅ  Ａｒｒａｙ）、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、ＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）といった電子回路により実現されてもよい。
なお、プロセッサ及び上記の電子回路を総称してプロセッシングサーキットリーともいう。
【符号の説明】
【０１０２】
２  プロセッサ、３  メモリ、４  ネットワークインタフェース、５  ネットワーク、１０１  通信装置、１０２  通信装置、１０３  通信装置、６  データ送信部、７  タイムスロット管理部、８  データ受信部、９  ＡＣＫデータ生成部、１０  送信データ管理部、１１  再送管理部、１２  送信制御部、１３  再送データリスト、１４  送信キュー、１５  送信アプリケーション、１６  受信アプリケーション。
【図１】
2019224860.tif 000003
【図２】
2019224860.tif 000004
【図３】
2019224860.tif 000005
【図４】
2019224860.tif 000006
【図５】
2019224860.tif 000007
【図６】
2019224860.tif 000008
【図７】
2019224860.tif 000009
【図８】
2019224860.tif 000010
【図９】
2019224860.tif 000011
【図１０】
2019224860.tif 000012
【図１１】
2019224860.tif 000013
【図１２】
2019224860.tif 000014
【図１３】
2019224860.tif 000015
【図１４】
2019224860.tif 000016
【図１５】
2019224860.tif 000017
【図１６】
2019224860.tif 000018
【手続補正書】
【提出日】令和2年7月21日(2020.7.21)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
送信するデータの種類をタイムスロットの単位で切り替えてデータを送信する送信部と、
データの再送の登録を行う再送管理部と、
前記再送管理部により再送の登録が行われたデータを再送する再送部と、
送信データが発生した際に、現在のタイムスロットが前記送信データの種類に対応するタイムスロットである送信タイムスロットであるか否かを判定し、現在のタイムスロットが送信タイムスロットでない場合に、次の送信タイムスロットまでの待ち時間と閾値時間とを比較し、比較結果に基づき、前記送信部に次の送信タイムスロットにおいて前記送信データの送信を行わせ前記再送管理部に前記送信データの再送の登録を行わせる第１の送信制御と、前記再送管理部に次の送信タイムスロットにおける前記送信データの再送の登録を行わせ前記再送部に次の送信タイムスロットにおいて前記送信データの送信を行わせる第２の送信制御とのいずれかを選択し、選択した送信制御を行う送信制御部とを有する通信装置。
【請求項２】
前記送信制御部は、
前記閾値時間として、前記再送部によりデータが再送される場合の再送間隔を、次の送信タイムスロットまでの待ち時間と比較し、
前記待ち時間が前記再送間隔以下である場合に、前記第１の送信制御を選択し、
前記待ち時間が前記再送間隔よりも長い場合に、前記第２の送信制御を選択する請求項１に記載の通信装置。
【請求項３】
送信するデータの種類をタイムスロットの単位で切り替えてデータを送信する送信部と、
送信データが発生した際に、現在のタイムスロットが前記送信データの種類に対応するタイムスロットである送信タイムスロットであるか否かを判定し、現在のタイムスロットが送信タイムスロットである場合に、現在のタイムスロットの残り時間と閾値時間とを比較し、現在のタイムスロットの残り時間が前記閾値時間よりも長い場合に、現在のタイムスロットでの前記送信データの送信を選択し、現在のタイムスロットの残り時間が前記閾値時間以下である場合に、次の送信タイムスロットでの前記送信データの送信を選択する送信制御部とを有する通信装置。
【請求項４】
前記送信制御部は、
前記閾値時間として、前記送信部が前記送信データを送信するのに要する送信所要時間を現在のタイムスロットの残り時間と比較する請求項３に記載の通信装置。
【請求項５】
前記送信制御部は、
前記閾値時間として、前記送信データの送信先から前記送信データについての受信確認を受信するまでの受信確認所要時間を現在のタイムスロットの残り時間と比較する請求項３に記載の通信装置。
【請求項６】
前記通信装置は、更に、
データの再送の登録を行う再送管理部と、
前記再送管理部により再送の登録が行われたデータを再送する再送部とを有し、
前記送信制御部は、
現在のタイムスロットの残り時間が前記閾値時間よりも長い場合に、前記送信部に現在のタイムスロットにおいて前記送信データの送信を行わせ前記再送管理部に前記送信データの再送の登録を行わせる第１の送信制御を選択し、
現在のタイムスロットの残り時間が前記閾値時間以下である場合に、前記再送管理部に次の送信タイムスロットにおける前記送信データの再送の登録を行わせ前記再送部に次の送信タイムスロットにおいて前記送信データの送信を行わせる第２の送信制御を選択し、
選択した送信制御を行う請求項３に記載の通信装置。
【請求項７】
前記送信制御部は、
現在のタイムスロットが送信タイムスロットでない場合に、前記第２の送信制御を行う請求項６に記載の通信装置。
【請求項８】
送信するデータの種類をタイムスロットの単位で切り替えてデータを送信する送信部と、
前記送信部により送信されたデータの再送の登録を行う再送管理部と、
前記再送管理部により再送の登録が行われたデータを再送する再送部とを有する通信装置が、
送信データが発生した際に、現在のタイムスロットが前記送信データの種類に対応するタイムスロットである送信タイムスロットであるか否かを判定し、
現在のタイムスロットが送信タイムスロットでない場合に、次の送信タイムスロットまでの待ち時間と閾値時間とを比較し、
比較結果に基づき、前記送信部に次の送信タイムスロットにおいて前記送信データの送信を行わせ前記再送管理部に前記送信データの再送の登録を行わせる第１の送信制御と、前記再送管理部に次の送信タイムスロットにおける前記送信データの再送の登録を行わせ前記再送部に次の送信タイムスロットにおいて前記送信データの送信を行わせる第２の送信制御とのいずれかを選択し、選択した送信制御を行う通信方法。
【請求項９】
送信するデータの種類をタイムスロットの単位で切り替えてデータを送信する通信装置が、
送信データが発生した際に、現在のタイムスロットが前記送信データの種類に対応するタイムスロットである送信タイムスロットであるか否かを判定し、
現在のタイムスロットが送信タイムスロットである場合に、現在のタイムスロットの残り時間と閾値時間とを比較し、
現在のタイムスロットの残り時間が前記閾値時間よりも長い場合に、現在のタイムスロットでの前記送信データの送信を選択し、現在のタイムスロットの残り時間が前記閾値時間以下である場合に、次の送信タイムスロットでの前記送信データの送信を選択する通信方法。
【請求項１０】
送信するデータの種類をタイムスロットの単位で切り替えてデータを送信する送信処理と、
前記送信処理により送信されたデータの再送の登録を行う再送管理処理と、
前記再送管理処理により再送の登録が行われたデータを再送する再送処理と、
送信データが発生した際に、現在のタイムスロットが前記送信データの種類に対応するタイムスロットである送信タイムスロットであるか否かを判定し、現在のタイムスロットが送信タイムスロットでない場合に、次の送信タイムスロットまでの待ち時間と閾値時間とを比較し、比較結果に基づき、前記送信処理に次の送信タイムスロットにおいて前記送信データの送信を行わせ前記再送管理処理に前記送信データの再送の登録を行わせる第１の送信制御と、前記再送管理処理に次の送信タイムスロットにおける前記送信データの再送の登録を行わせ前記再送処理に次の送信タイムスロットにおいて前記送信データの送信を行わせる第２の送信制御とのいずれかを選択し、選択した送信制御を行う送信制御処理とを通信装置に実行させる通信プログラム。
【請求項１１】
送信するデータの種類をタイムスロットの単位で切り替えてデータを送信する通信装置に、
送信データが発生した際に、現在のタイムスロットが前記送信データの種類に対応するタイムスロットである送信タイムスロットであるか否かを判定し、現在のタイムスロットが送信タイムスロットである場合に、現在のタイムスロットの残り時間と閾値時間とを比較し、現在のタイムスロットの残り時間が前記閾値時間よりも長い場合に、現在のタイムスロットでの前記送信データの送信を選択し、現在のタイムスロットの残り時間が前記閾値時間以下である場合に、次の送信タイムスロットでの前記送信データの送信を選択する送信制御処理を実行させる通信プログラム。
【手続補正書】
【提出日】令和2年8月15日(2020.8.15)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０００６
【補正方法】変更
【補正の内容】
【０００６】
特許文献１の手法をＴＳＮに適用した場合に、実際には受信側の通信装置にデータが届いているにも関わらず再送が発生するという事態が生じる。
特許文献１の手法をＴＳＮに適用した場合は、送信アプリケーションがデータを送信キューに格納した時刻をもとに再送時刻が計算される。ＴＳＮでは、前述したように、データの種類に対応したタイムスロットが到来しないとデータを送信することができない。このため、該当するタイムスロットの到来までに時間を要する場合は、送信アプリケーションがデータを送信キューに格納した時刻と実際にデータの送信が完了した時刻とが大幅に異なることになる。このため、受信側の通信装置がデータを受信している場合でも、送信側の通信装置にＡＣＫデータが届く前に再送時刻が到来し、無駄なデータの再送が発生することがある。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１０
【補正方法】変更
【補正の内容】
【００１０】
【図１】実施の形態１に係るデータ通信システムの構成例を示す図。
【図２】実施の形態１に係る通信装置の機能構成例を示す図。
【図３】実施の形態１に係る再送データリストの構成例を示す図。
【図４】実施の形態１に係る再送データリストの例を示す図。
【図５】実施の形態１に係る送信制御部の動作例を示すフローチャート。
【図６】実施の形態１に係るタイムスロット管理部の動作例を示すフローチャート。
【図７】実施の形態１に係るデータ送信部の動作例を示すフローチャート。
【図８】実施の形態１に係る再送管理部の動作例を示すフローチャート。
【図９】実施の形態１に係るデータ受信部の動作例を示すフローチャート。
【図１０】実施の形態１に係るＡＣＫデータ生成部の動作例を示すフローチャート。
【図１１】実施の形態２に係る通信装置の機能構成例を示す図。
【図１２】実施の形態２に係る送信制御部の動作例を示すフローチャート。
【図１３】実施の形態２に係る再送管理部の動作例を示すフローチャート。
【図１４】実施の形態３に係る送信制御部の動作例を示すフローチャート。
【図１５】実施の形態４に係る送信制御部の動作例を示すフローチャート。
【図１６】ＴＳＮにおける通信シーケンスを示す図。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００５２
【補正方法】変更
【補正の内容】
【００５２】
なお、送信アプリケーション１５の動作は送信制御部１２にコンテンツを出力するだけである。
また、受信アプリケーション１６の動作は、受信されたデータをデータ受信部８から取得し、受信アプリケーション１６独自の処理を当該データに対して行うだけである。
このため、送信アプリケーション１５及び受信アプリケーション１６の処理手順の説明は省略する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００６３
【補正方法】変更
【補正の内容】
【００６３】
ステップＳ１０６では、送信制御部１２は、送信データの再送時刻を算出し、算出した再送時刻と、送信データのメモリアドレスとシーケンス番号を再送管理部１１に通知する。
送信制御部１２は、次の送信タイムスロット内の時刻を再送時刻に決定する。
後述するように、再送管理部１１は、ステップＳ１０６で通知された再送時刻と送信データのメモリアドレスとシーケンス番号を、新たなエントリとして再送データリスト１３に登録する。この結果、データ送信部６は、再送データリスト１３に従い、次の送信タイムスロットにおいて送信データの送信を行う。
このように、本実施の形態では、送信制御部１２は、次の送信タイムスロットまでの待ち時間が再送間隔よりも長い場合は、再送管理部１１に次の送信タイムスロットにおける送信データの再送の登録を行わせ、データ送信部６に次の送信タイムスロットにおいて送信データの送信を行わせる。送信制御部１２のこのような制御は、第２の送信制御という。
なお、ステップＳ１０６が行われた場合は、データ送信部６にステップＳ１１にて再送時刻を決定しないように指示する。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００６９
【補正方法】変更
【補正の内容】
【００６９】
実施の形態３．
本実施の形態では、現在のタイムスロットが送信タイムスロットであり、また、現在のタイムスロットの残り時間が閾値時間よりも長い場合に、通信装置１０１が、現在のタイムスロットでの送信データの送信を選択する。一方、現在のタイムスロットの残り時間が閾値時間以下である場合は、通信装置１０１は、次の送信タイムスロットでの送信データの送信を選択する。
本実施の形態では、送信所要時間を閾値時間として扱う。送信所要時間は、データ送信部６が送信データを送信するのに要する時間である。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００８３
【補正方法】変更
【補正の内容】
【００８３】
実施の形態４．
本実施の形態でも、実施の形態３と同様に、現在のタイムスロットが送信タイムスロットであり、また、現在のタイムスロットの残り時間が閾値時間よりも長い場合に、通信装置１０１が、現在のタイムスロットでの送信データの送信を選択する。一方、現在のタイムスロットの残り時間が閾値時間以下である場合は、通信装置１０１は、次の送信タイムスロットでの送信データの送信を選択する。
本実施の形態では、受信確認所要時間を閾値時間として扱う。受信確認所要時間は、送信データの送信から、送信データの送信先から送信データについての受信確認（ＡＣＫデータ）を受信するまでに要する時間である。
【国際調査報告】
2019224860.tif 000019
2019224860.tif 000020
2019224860.tif 000021