(57)【特許請求の範囲】
【請求項１】
送信側装置と受信側装置とが通信ネットワークを介して相互に接続されたデータ伝送システムにおけるデータの伝送方法において、前記データは優先度に応じて分類されていると共に、前記優先度が最も高いデータ（以下、優先度高のデータという）に対しては、前記送信側装置が前記データを複数のデータユニットに分割して該データユニットを前記受信側装置に対して予め設定された回数分繰り返し送信する処理を行い、かつ、前記受信側装置が、前記送信側装置が送信した前記データユニットを受信すると共に既に受信したデータユニットと同一のデータユニットを受信した場合には該データユニットを廃棄する処理と、前記優先度高のデータを分割した前記データユニットをすべて受信した後に前記データユニットを結合して元の前記優先度高のデータを復元する処理とを行い、前記優先度が最も高いものではないデータ（以下、優先度中低のデータという）に対しては、前記送信側装置が前記データを複数のデータユニットに分割して前記受信側装置に対して送信する処理を行い、かつ、前記受信側装置が、前記送信側装置が送信した前記データユニットを受信し、前記優先度中低のデータを分割した前記データユニットに欠落がある場合に前記送信側装置に対して前記欠落しているデータユニットの再送要求を返信する処理を行うと共に、前記送信側装置が前記優先度中低のデータを分割したデータユニットのうち前記再送要求のあった前記データユニットを前記受信側装置に対して送信する処理を行い、前記受信側装置が前記優先度中低のデータを分割したデータユニットをすべて受信した後に前記データユニットを結合して元の前記優先度中低のデータを復元する処理を行うことを特徴とするデータ伝送方法。
【請求項２】
さらに、前記受信側装置が、前記データの復元を完了した後に前記送信側装置に対し送達確認を送信し、かつ、前記送信側装置が、前記送達確認を受信した場合に、送達確認応答を前記受信側装置に返信することを特徴とする請求項１記載のデータ伝送方法。
【請求項３】
送信側装置と受信側装置とが通信ネットワークを介して相互に接続されたデータ伝送システムにおいて、データが優先度に応じて分類されていると共に、前記優先度が最も高いデータ（以下、優先度高のデータという）に対しては、前記送信側装置が前記データを複数のデータユニットに分割して該データユニットを前記受信側装置に対して予め設定された回数分繰り返し送信する処理を行い、かつ、前記受信側装置が、前記送信側装置が送信した前記データユニットを受信すると共に既に受信したデータユニットと同一のデータユニットを受信した場合には該データユニットを廃棄する処理と、前記優先度高のデータを分割したデータユニットをすべて受信した後に前記データユニットを結合して元の前記優先度高のデータを復元する処理とを行い、優先度が最も高いものではないデータ（以下、優先度中低のデータという）に対しては、前記送信側装置が前記データを複数のデータユニットに分割して前記受信側装置に対して送信する処理を行い、かつ、前記受信側装置が、前記送信側装置が送信した前記データユニットを受信し、前記優先度中低のデータを分割した前記データユニットに欠落がある場合に前記送信側装置に対して前記欠落しているデータユニットの再送要求を返信する処理を行うと共に、前記送信側装置が前記優先度中低のデータを分割したデータユニットのうち前記再送要求のあった前記データユニットを前記受信側装置に対して送信する処理を行い、前記受信側装置が前記優先度中低のデータを分割したデータユニットをすべて受信した後に前記データユニットを結合して元の前記優先度中低のデータを復元する処理を行うことを特徴とするデータ伝送システム。
【請求項４】
さらに、前記受信側装置が、前記データの復元を完了した後に前記送信側装置に対し送達確認を送信する処理を行い、かつ、前記送信側装置が、前記送達確認を受信した場合に、送達確認応答を前記受信側装置に返信する処理を行うことを特徴とする請求項３記載のデータ伝送システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ伝送方法及びデータ伝送システムに関する。さらに詳述すると、本発明は、例えば需要地系統の監視制御用モバイルエージェントの伝送におけるリアルタイム処理を実現するための伝送方法、伝送システムに関する。
【背景技術】
【０００２】
多数の分散型電源が連系した場合に生じる事故発生時の影響範囲の増大や、電圧不平衡等の問題の解消を可能とする次世代の配電系統として需要地系統の開発がなされている。尚、需要地系統とは、電力需要地に近い場所で発電を実施し電力を供給するためのシステムのことで、需要地系統の監視制御にあたっては、限られた計算資源の下での分散型電源の測定、配電線電圧の安定化に必要な監視制御、事故区間の分離などの多様な処理の実現を可能とすると共に、構成や機能の変更に対する柔軟性を確保する必要がある。
【０００３】
このような需要地系統の監視制御にあたって、モバイルエージェントをベースとしたシステムの適用の検討がされている。尚、モバイルエージェントとは、データと処理手順が一体化し通信ネットワークを経由して遠隔装置に移動することが可能で、しかも移動先での情報処理を行うことができるソフトウェアをいう。即ち、モバイルエージェントによれば必要なときに必要なデータと処理手順を送り込むことで様々な機能を限られた計算資源で実現できる。さらに、構成や機能が変更された場合でも、ソフトウェアをインストールする必要がないので、柔軟性も確保することできる。
【０００４】
しかしながら、モバイルエージェント（以下、単にエージェントともいう）はプログラムとデータが一体となって移動するものであるため、使い方によっては通常の分散システムよりも処理時間が長くなる場合がある。また、需要地系統の監視制御システムにおいては多種多様な機能を実現する必要があることから、それぞれの機能が要求する通信及び処理の品質（ＱｏＳ：Quality of Service）を実現する必要がある。
【０００５】
従来、需要地系統の監視制御向けに開発が進められているモバイルエージェント（ＭＡＦＤＡＰＳ：Mobile Agents For Demand Area Power Systems）におけるＱｏＳ制御において、モバイルエージェントを伝送する下位のプロトコルとしてＪＡＶＡ（登録商標）ＲＭＩをセション層、ＴＣＰをトランスポート層に用いて、多様な機能をその要求に応じて三種類のエージェントにより実現し、異なるＱｏＳを実現するという技術が存在する（非特許文献１）。また、最も厳しいリアルタイム性が要求される地絡発生時の事故区間分離処理を、モバイルエージェントを用いて実現した技術が存在する（非特許文献２）。
【０００６】
【非特許文献１】大谷哲夫「次世代配電系統監視制御用モバイルエージェントの構成とＱｏＳ制御方式」、電気学会電子・情報・システム部門誌、2004年、Vol.124-C、No.3、pp.921-928
【非特許文献２】大谷哲夫 他「モバイルエージェントとイーサネットに基づく需要地系統向け運用管理システム−実験系統を用いた処理時間の評価と実系統への適用に関する考察−」、電力中央研究所報告  研究報告：R04004,2005年
【発明の開示】
【発明が解決しようとする課題】
【０００７】
地絡事故時の区間分離等に用いられるモバイルエージェントは、最も高いＱｏＳが求められる。即ち、リアルタイム処理の実現が求められている。ここで、リアルタイム処理とは、アプリケーションが要求する時間内での実行完了の通知、または、その時間内での実行失敗の通知がなされることをいうものとし、需要地系統において要求される速度は、例えば地絡事故発生から区間分離まで電力機器（例えば開閉器）の動作を含めて１秒以内であるものとする。このため需要地系統におけるリアルタイム処理の実現が課題となっている。
【０００８】
しかしながら、非特許文献１、２の技術を用いた場合、需要地系統におけるリアルタイムでの処理を実現できない場合がある。例えば非特許文献２に記載の技術では、配電系統の事故発生とほぼ同時に情報通信側に障害が発生した場合、要求された時間内での処理完了ができなかった。これは、モバイルエージェントを伝送する下位のプロトコルとして、セション層プロトコルにＪＡＶＡ  ＲＭＩとトランスポート層プロトコルにＴＣＰの組合せを用いていることに起因している。尚、セション層プロトコルとしてＪＡＶＡ  ＲＭＩを用いた場合は、トランスポート層のプロトコルとしてＴＣＰを用いる必要がある。
【０００９】
トランスポート層のプロトコルとしてＴＣＰを用いた場合、受信側が送信側に対して正常に受信できたデータのシーケンス番号を送り返すことによって、送達確認を行っている。ここで、データが受信側に到着しなければ、送信側にＡＣＫ（Acknowledgement Flag：送達確認に用いる信号）は送り返されない。また、送信側ではデータを送信してから対応するＡＣＫを受け取るまでのの時間を計測し、一定時間内にＡＣＫが到着しなければ、応答がなかったデータ（セグメント）を再送する。この際の待ち時間をＲＴＯと呼び、ＲＴＯの初期値は、ＲＴＴの４倍＋αとなっている。ＲＴＯは再送を行う度に２倍に増やされ、最大で６４秒となる。ＲＴＴは初期値を３秒とし、これまでに送ったデータに対しＡＣＫが返ってくるまでにかかった時間から算出する（数式１）。尚、srttは、平滑化した値、rttは実測値、αの推奨値０．９である。測定結果の一例としてrttは約４００ミリ秒（１００Mbps）であった。即ち、再送は１．６＋α秒後に行われることとなり、需要地系統における要求時間である１秒以内を実現することができない。このようにＴＣＰを用いると、通信システムに障害が発生した場合等、リアルタイム処理を実現できない場合が存在する。
【００１０】
＜数１＞
srtt = α × srtt + (1-α) × rtt
【００１１】
またＴＣＰでは、再送制御に加えて高速再転送という仕組みを備えている。この仕組みでは、送信側はＡＣＫを待たずに次々とデータを送信する。受信側では、受け取っていないセグメントが存在し、それより大きなセグメント番号を持つデータを受信するたびに受け取っていないセグメント番号とＡＣＫによって送信側に知らせる。送信側は、３回連続同じセグメント番号をもったＡＣＫを受信すると、その番号以降のすべてのデータ（セグメント）を送信し直すものである。再送までにＡＣＫを３回受信しなければならないため、数１００ミリ秒で処理を実行するアプリケーションの要求を満たすことはできず、通信に瞬断が発生した場合等、リアルタイム処理を実現することができない場合が存在する。
【００１２】
このため、ＱｏＳ制御と高い信頼性を維持しつつ、リアルタイム処理を同時に実現する必要がある。しかしながら、上記述べたように、通信プロトコルとしてＴＣＰを用いた場合は、需要地系統においてリアルタイム処理を実現することはできない。
【００１３】
そこで、本発明はＪＡＶＡ  ＲＭＩを用いることなく新たなセション層のプロトコルを利用し、ＴＣＰに代えてＵＤＰをトランスポート層のプロトコルとして採用することにより通信瞬断に対する高信頼化を目的とする。より具体的には、需要地系統におけるモバイルエージェントの伝送に関する通信障害に対し頑強なシステムとなるデータ伝送方法、伝送システムを提供することを目的とする。
【課題を解決するための手段】
【００２０】
かかる目的を達成するため、請求項１に記載のデータ伝送方法は、送信側装置と受信側装置とが通信ネットワークを介して相互に接続されたデータ伝送システムにおけるデータの伝送方法において、前記データは優先度に応じて分類されていると共に、優先度が最も高いデータ（以下、優先度高のデータという）に対しては、送信側装置がデータを複数のデータユニットに分割して該データユニットを受信側装置に対して予め設定された回数分繰り返し送信する処理を行い、かつ、受信側装置が、送信側装置が送信したデータユニットを受信すると共に既に受信したデータユニットと同一のデータユニットを受信した場合には該データユニットを廃棄する処理と、優先度高のデータを分割したデータユニットをすべて受信した後にデータユニットを結合して元の優先度高のデータを復元する処理とを行い、優先度が最も高いものではないデータ（以下、優先度中低のデータという）に対しては、送信側装置がデータを複数のデータユニットに分割して受信側装置に対して送信する処理を行い、かつ、受信側装置が、送信側装置が送信したデータユニットを受信し、優先度中低のデータを分割したデータユニットに欠落がある場合に送信側装置に対して欠落しているデータユニットの再送要求を返信する処理を行うと共に、送信側装置が優先度中低のデータを分割したデータユニットのうち再送要求のあったデータユニットを受信側装置に対して送信する処理を行い、受信側装置が優先度中低のデータを分割したデータユニットをすべて受信した後にデータユニットを結合して元の優先度中低のデータを復元する処理を行うようにしている。
【００２１】
また、請求項３に記載のデータ伝送システムは、送信側装置と受信側装置とが通信ネットワークを介して相互に接続されたデータ伝送システムにおいて、データが優先度に応じて分類されていると共に、優先度が最も高いデータ（以下、優先度高のデータという）に対しては、送信側装置がデータを複数のデータユニットに分割して該データユニットを受信側装置に対して予め設定された回数分繰り返し送信する処理を行い、かつ、受信側装置が、送信側装置が送信したデータユニットを受信すると共に既に受信したデータユニットと同一のデータユニットを受信した場合には該データユニットを廃棄する処理と、優先度高のデータを分割したデータユニットをすべて受信した後にデータユニットを結合して元の優先度高のデータを復元する処理とを行い、優先度が最も高いものではないデータ（以下、優先度中低のデータという）に対しては、送信側装置がデータを複数のデータユニットに分割して受信側装置に対して送信する処理を行い、かつ、受信側装置が、送信側装置が送信したデータユニットを受信し、優先度中低のデータを分割したデータユニットに欠落がある場合に送信側装置に対して欠落しているデータユニットの再送要求を返信する処理を行うと共に、送信側装置が優先度中低のデータを分割したデータユニットのうち再送要求のあったデータユニットを受信側装置に対して送信する処理を行い、受信側装置が優先度中低のデータを分割したデータユニットをすべて受信した後にデータユニットを結合して元の優先度中低のデータを復元する処理を行うものである。
【００２２】
したがって、上位層においてデータの優先度を判断したうえで、優先度の高いデータに対しては、送信側装置は、複数のデータユニットに分割されたデータを複数回に渡って連続的に送信し、受信側装置は、そのデータを分割したデータユニットを連続的に受信し、既に受信した受信済みのデータユニットと同一のデータユニットを受信した場合には該データユニットの廃棄を行い、かつ分割されたデータユニットをすべて受信した場合には、分割された複数のデータユニットからデータの復元をする並列処理を行うことで、再送要求の伝送にかかる処理時間を除き、その他のデータに対しては、送信側装置が、そのデータを分割した複数のデータユニットを作成し、受信側装置に対してデータユニットを送信し、受信側装置は、そのデータを分割したデータユニットに欠落がある場合は、データの復元ができないので、該欠落データユニットの再送要求を行い、送信側装置から当該データユニットを受信し、データを分割したすべてのデータユニットが揃った時点で、分割されたデータユニットからデータの復元をする並列処理を行っている。
【００２３】
請求項２に記載の発明は、請求項１記載のデータ伝送方法において、さらに、受信側装置が、データの復元を完了した後に送信側装置に対し送達確認を送信し、かつ、送信側装置が、送達確認を受信した場合に、送達確認応答を受信側装置に返信するようにしている。
【００２４】
また、請求項４に記載の発明は、請求項３記載のデータ伝送システムにおいて、さらに、受信側装置が、データの復元を完了した後に送信側装置に対し送達確認を送信する処理を行い、かつ、送信側装置が、送達確認を受信した場合に、送達確認応答を受信側装置に返信する処理を行うものである。
【００２５】
したがって、受信側装置は、データが送達されたことを、送信側装置に対して送達確認を送信することにより通知を行い、さらに送信側装置は、送達確認を受信したことを、受信側装置に対し送達確認応答を返信することにより通知を行っている。
【発明の効果】
【００２６】
以上説明したように、請求項１に記載の伝送方法、請求項３に記載のデータ伝送システムによれば、通信ネットワークに障害等が発生し、データユニットの一部が受信側装置に到達しない場合であっても、送信側装置は、受信側装置からの再送要求を待つことなくデータユニットを複数回に渡り送信するので、再送要求の伝送にかかる処理時間を除くことができる。これにより、データ伝送処理における高信頼化を図り、通信の瞬断発生時でもリアルタイム処理を実現することができる。例えば需要地系統での監視制御用モバイルエージェントに要求される時間内での伝送処理を実現することができる。
【００２７】
更に、請求項１に記載のデータ伝送方法、請求項３に記載のデータ伝送システムによれば、通信ネットワークに障害等が発生し、データユニットの一部が受信側装置に到達しない場合であっても、送信側装置は、受信側装置からの再送要求に応じて、データユニットの再送を行う。これにより、通信の効率化を図り、データ伝送処理の高信頼化を図ることができる。
【００２８】
更に、請求項１に記載のデータ伝送方法、請求項３に記載のデータ伝送システムによれば、データの優先度に応じて、優先度の高いデータに対しては、送信側装置は、受信側装置からの再送要求を待つことなくデータユニットを複数回に渡り送信することにより、その他のデータに対しては、送信側装置が、欠落データユニットの再送要求を待って受信側装置に送信することにより、優先度の高いデータに対しては高速処理を実現し、その他のデータに対しては通信を効率的にすることでデータ伝送処理の高信頼化、ＱｏＳ制御、高速化を図ることでのリアルタイム処理を併せて実現することができる。
【００２９】
更に、請求項２に記載のデータ伝送方法、請求項４に記載のデータ伝送システムによれば、データの送達確認を行うことで、データ伝送処理の高信頼化を図ることができる。
【発明を実施するための最良の形態】
【００３０】
以下、本発明の構成を図面に示す実施の形態に基づいて詳細に説明する。本発明のデータ伝送方法は、送信側装置と受信側装置が通信ネットワークを介して相互に接続されたデータ伝送方法において、優先度が判断されたデータに対して、送信側装置が、前記優先度の高いデータに対しては、データを複数のデータユニットに分割し、該データユニットを受信側装置に対し、トランスポート層経由で予め設定された回数分繰り返し送信する処理を行い、かつ受信側装置が、データユニットを受信し、既に受信したデータユニットと同一のデータユニットを受信した場合には該データユニットを廃棄する処理と、データを分割したデータユニットをすべて受信した後にデータユニットを結合してデータを復元する処理を行い、その他のデータに対しては、前記データを複数のデータユニットに分割し、該データユニットをバッファに記憶して、該データユニットを前記受信側装置に対し、前記トランスポート層経由で送信する処理を行い、かつ前記受信側装置が、受信した前記データを分割した前記データユニットに欠落があった場合に、前記送信側装置に対して欠落した前記データユニットの再送要求を返信し、前記再送要求を受けた前記送信側装置が、前記バッファに記憶した前記データユニットのうち再送要求のあった前記データユニットを前記受信側装置に対し、前記トランスポート層経由で送信し、前記受信側装置が、前記データを分割した前記データユニットをすべて受信した後に前記データユニットを結合して前記データを復元する処理をセション層において行うものである。尚、本明細書においてはデータとは、一般のデータ、プログラム及びプログラムとデータが一体となったエージェントをいうものとする。
【００３１】
本実施形態においては、需要地系統の監視制御用モバイルエージェントの伝送について説明する。図１から図１９までに本発明の実施の一形態を示す。まず、本発明のデータ伝送システムについて説明する。本発明のデータ伝送システムは、モバイルエージェントを送信する送信側装置１、通信ネットワーク２、モバイルエージェントを受信する受信側装置３によって構成される。通常は、送信側装置１、受信側装置３は、通信ネットワーク内に複数台存在するものとするが、それぞれ最低１台あれば足りるものとする。尚、送信側装置１が受信側装置３に、受信側装置３が送信側装置１にそれぞれなりうるのは、勿論である。
【００３２】
図１に送信側装置１の構成の一例を示す。送信側装置１は、ディスプレイ等の出力装置４と、キーボード、マウス等の入力装置５と、ＣＰＵ６と、主記憶装置（メインメモリ）７と、ハードディスク等の補助記憶装置８等により構成される。上記のハードウェア資源は例えばバス９を通じて電気的に接続され、ネットワークＩ／Ｆ１０を通じてＷＡＮ等の通信ネットワーク２との通信を行うものである。尚、通信ネットワーク２は一般的には有線通信ネットワークであるが、一部又は全部を無線通信ネットワークとしても構わない。また、通信ネットワーク２は、特に限られるものではなく、例えばインターネット等を利用しても良い。
【００３３】
また、セション層プロトコル１１は、いわゆるミドルウェアによって実現され、ＣＰＵ６に読み込まれ実行されることによって、コンピュータが送信側装置１として機能する。さらに、送信側装置１は、エージェントを複数のデータユニットに分割し、該データユニットを受信側装置に対し、トランスポート層経由で予め設定された回数分繰り返し送信する連続送信手段２５と、エージェントを複数のデータユニットに分割し、該データユニットをバッファに記憶したうえで受信側装置に対し送信する処理と、バッファに記憶したデータユニットのうち再送要求のあったデータユニットを受信側装置に対して送信する処理を行う再送受付手段２６と、受信側装置３からの移動完了確認を受信した場合に、移動完了確認応答を受信側装置３に返信する処理を行う移動完了確認応答手段２７を有している。尚、本実施形態では、伝送の対象はエージェントであるので、「送達確認」を「移動完了確認」、「送達確認応答」を「移動完了確認応答」とそれぞれいうものとし、また、「送達確認手段」を「移動完了確認手段」、「送達確認応答」を「移動完了確認応答手段」とそれぞれいうものとする。
【００３４】
また、送信側装置１は、受信側装置３にもなりうるものであるので、送信側装置１は、受信済みの前記データユニットを廃棄する処理と、一つのエージェントを分割したデータユニットをすべて受信した後にそのデータユニットを結合して元のエージェントを復元する処理を行う後着廃棄手段２８と、受信したエージェントを分割したデータユニットに欠落があった場合に、送信側装置に対して欠落しているデータユニットの再送要求を返信する処理とエージェントを分割したデータユニットをすべて受信した後にデータユニットを結合してエージェントを復元する処理を行う再送要求手段２９と、エージェントの復元を完了した後に送信側装置に対し移動完了確認を送信する処理を行う移動完了確認手段３０を有している。また、データの優先度の判断を行う判断手段３１を有している。また、受信側装置３の構成も同一であることは勿論である。尚、上記述べた送信側装置１の構成は一例であり、これに限られるものではない。例えば、移動完了確認の送信と、移動完了確認応答の返信を行わないこととすれば、移動完了確認応答手段２７と移動完了確認手段３０を有しないこととしても良い。また、以下に述べる処理において、データの一時記録、保管を伴う処理については、すべて送信側装置１、または送信側装置３のＣＰＵ６が、ＣＰＵ６内のキャッシュメモリ、または主記憶装置７、または記憶装置のバッファ領域上で行うものである。また、以下、単に記憶装置とした場合は、ＣＰＵ６内のキャッシュメモリ、主記憶装置７、補助記憶装置８のいずれかをいうものとする。
【００３５】
また、図２に本実施形態におけるプロトコルスタックの一例を示す。上位にＳｔｒａｔｅｇｙ、Ａｇｅｎｔ（エージェント）１４、及びＡｇｅｎｔＰｌａｔｆｏｒｍ（エージェントプラットフォーム）１５、セション層にセション層プロトコル１１、トランスポート層にＵＤＰ１７、ネットワーク層にＩＰ、データベース層にＥｔｈｅｒｎｅｔ（登録商標）を用いる。また、図示はしないが物理層が存在する。
【００３６】
本実施形態においては、トランスポート層にＵＤＰ１７を用いる。ＵＤＰ１７はコネクションレスで動作するため、必要なオーバーヘッドと能力が小さく、通信速度が速い。したがって、セション層において、順序制御や高信頼化の実現に向けての様々な方式をとることが可能となる。本実施形態においては、セション層プロトコル１１により確認、再送制御等を実現する。また、ＵＤＰ１７を用いることにより、ＴＣＰでは提供されないマルチキャストの通信を行うことが可能となる。尚、本実施形態におけるセション層プロトコル１１は、トランスポート層にＵＤＰ１７を用いる他は、他の階層のプロトコルを限定するものではない。したがって、他の通信ネットワークにおいても適用することが可能である。
【００３７】
図５に、エージェントシステムにおけるＱｏＳ制御方式を実現するエージェント及び受信部とセション層プロトコルの対応付けを示す。例えばＭＡＦＤＡＰＳにおいてはエージェントを優先度に応じて以下の三種類に分類するものとしている。
（１）緊急処理エージェント：優先度「高」
（２）迅速処理エージェント：優先度「中」
（３）平常処理エージェント：優先度「低」
本実施形態では、事故時の処理等を優先度「高」に、電圧安定化や機器の通常制御等に用いるものを優先度「中」に、保全情報や電源の計画運転に関するデータ等を優先度「低」に割り当てるものとしているが、一般には応用プログラム（Ｓｔｒａｔｅｇｙ）が利用するエージェントは限られるものではない。また、上記エージェントの優先度の区分方法は一例でありこれに限られるものではない。
【００３８】
以下に、セション層プロトコル１１について詳細に説明する。図３及び図４にセション層プロトコル１１の内部構成を示す。図３に送信側装置１、図４に受信側装置３のセション層プロトコルの内部構成を示す。セション層プロトコル１１は、セション上位エンティティ１２とセション下位エンティティ１３の２階層構造からなる。
【００３９】
送信側装置１のセション上位エンティティ１２は、エージェント１４を構成するオブジェクトをバイト列に並べることにより通信可能なデータとするオブジェクト直列化処理、ＵＤＰの最大通信容量を超える場合に直列化されたバイト列をデータグラムに分割するバイト列分割処理及び分割された各バイト列（データグラム）に対しデータの何番目であるかの順番の情報をセション層ヘッダに与えるヘッダ添付処理、移動要求を出しているエージェント識別子の記録を行うものである。尚、データグラムとは、ＵＤＰにおける伝送の基本単位をいう。
【００４０】
また、受信側装置３のセション上位エンティティ１２は、受信したデータグラムの一時的保存、受信したデータグラムを結合するバイト列結合処理及び結合されたバイト列をオブジェクト化してエージェントプラットフォーム１５の受信部１６に渡すバイト列オブジェクト化処理を行うものである。
【００４１】
送信側装置１のセション下位エンティティ１３は、ＵＤＰソケットの管理に加え、同じデータユニット１８を繰り返し送信する連続送信機能及び送信したデータユニット１８をバッファに保管する再送受付機能を有する。以下、連続送信機能を有するセション下位エンティティを連続送信機能付セション下位エンティティ１３ａ、再送受付機能を有するセション下位エンティティを再送受付機能付セション下位エンティティ１３ｂという。
【００４２】
また、受信側装置３のセション下位エンティティ１３は、ＵＤＰソケットの管理、セション層ヘッダの解釈に加え、複数回送信されたデータユニット１８のうち後着のデータユニット１８を廃棄する後着廃棄機能及び到着していないデータユニット１８に対して再送要求を行う再送要求機能を有する。以下、後着廃棄機能を有するセション下位エンティティを後着廃棄機能付セション下位エンティティ１３ｃ、再送要求機能を有するセション下位エンティティを再送要求機能付セション下位エンティティ１３ｄという。また、再送要求機能付セション下位エンティティ１３ｄは、タイマーを有し、設定された時間内に送信されてこなかったデータを再送するよう、送信側装置１に要求するものとしている。これによりリアルタイム処理を可能としている。また、これらのセション下位エンティティ１３は、送信側と受信側のそれぞれにおいてインタフェースを統一するものとする。
【００４３】
また、セション下位エンティティ１３は、通信途絶監視機能を有している。通信途絶監視機能とは、セション層での通信が途絶していないかどうかをエージェントの伝送の有無にかかわらず、一定周期で監視する機能をいう。本実施形態では、例えば通信途絶監視用のデータユニット１８は、シーケンス番号２２を負の整数に設定し、送信側装置１のセション下位エンティティ１３から送信されるものとしている。尚、シーケンス番号２２の設定は上記に限られるものではない。通信途絶監視用のデータユニット１８を受信側装置１のセション下位エンティティ１３が受信すると、受信確認信号を送信側装置３のセション下位エンティティ１３に返送する。送信側装置１のセション下位エンティティ１３は、受信確認信号を受け取った最新の時刻と現在の時刻を予め設定された一定の時間毎に比較し、予め設定された時間以上経過している場合には、セション上位エンティティ１２に対して通信途絶が発生していることを通知するものである。
【００４４】
本実施形態では、例えば送信側装置１のセション上位エンティティ１２は初期設定時に、セション下位エンティティ１３が、連続送信機能付セション下位エンティティ１３ａであるか、または再送受付機能付セション下位エンティティ１３ｂであるかの認識を行うものとする。尚、初期設定時とは、例えば装置の起動時、再起動時、アプリケーションプログラムの起動時が該当する。また、受信側装置３のセション上位エンティティ１２も同様に初期設定時に、後着廃棄機能付セション下位エンティティ１３ｃであるか、または再送要求機能付セション下位エンティティ１３ｄであるかの認識を行うものとする。本実施形態では、例えば優先度により、オブジェクトクラス定義がそれぞれ異なることとしているので、セション上位エンティティ１２はオブジェクトクラス定義により、セション下位エンティティ１３の認識を行うものとしている。尚、セション上位エンティティ１２が直接初期設定を行わない場合、すなわち初期設定プログラムが別途存在する場合には、セション上位エンティティ１２はセション下位エンティティ１３の違いを認識する必要はない。
【００４５】
本実施形態では、例えば初期設定時の認識は次のように行われる。セション上位エンティティ１２を設定する際に、緊急処理用または通常時用であるのかを予め指定する。この指定は、例えば次のように行われる。まず、エージェントプラットフォーム１５にセション上位エンティティ１２が緊急処理用であるのか、通常用であるのかの違いを予め認識させておく。さらにエージェントはエージェントプラットフォーム１５に問い合わせを行って、いずれのセション上位エンティティ１２であるのかを認識し、適切なセション上位エンティティ１２を選択するようにしている。また、緊急処理用である場合は、セション下位エンティティ１３として送信側装置１であれば連続送信機能付下位エンティティを１３ａ、受信側装置３であれば後着廃棄機能付下位エンティティ１３ｃを生成してセション上位エンティティ１２との関連づけを行う。尚、関連づけは、例えばオブジェクトの参照によることとしている。本実施形態では、セション上位エンティティ１２の有するセション下位エンティティ１３の参照番号を記憶する記憶領域に、関連づけるセション下位エンティティ１３の参照番号を記憶しておくことで、関連づけを行っている。また、通常時用である場合は、セション下位エンティティ１３として送信側装置１であれば再送受付機能付下位エンティティを１３ｂ、受信側装置３であれば再送要求機能付下位エンティティ１３ｄを生成してセション上位エンティティ１２との関連づけを行うものである。尚、セション上位エンティティ１２とセション下位エンティティ１３は別のオブジェクトであって、かつセション下位エンティティは種類に関わらず同一のインタフェースを有しているため、セション下位エンティティ１３との組合せはこれに限られるものではない。
【００４６】
また、送信側装置１においては、一つのセション上位エンティティに対して、連続送信機能付セション下位エンティティ１３ａと再送受付機能付セション下位エンティティ１３ｂとは、初期設定時にいずれか選択し、同時に使用することはない。また、受信側装置３においても同様に、一つのセション上位エンティティに対して、後着廃棄機能付セション下位エンティティ１３ｃと再送要求機能付セション下位エンティティ１３ｄとを同時に使用することはない。
【００４７】
また、本実施形態では、例えば優先度「中」や「低」のエージェントの伝送を行っている場合に、優先度「高」のエージェントの伝送を行う場合には、優先度「中」や「低」のエージェントの伝送は、一時的に中断し、優先度「高」のエージェントの伝送を行うようにしている。また、優先度「高」のエージェントの伝送を行っている場合には、優先度「中」や「低」のエージェントの伝送要求は発生しないものとしている。
【００４８】
また、送信側装置１の連続送信機能付セション下位エンティティ１３ａと通信を行うのは、受信側装置３の後着廃棄機能付セション下位エンティティ１３ｂであり、受信側装置３の再送要求機能付セション下位エンティティ１３ｄとは通信を行うことはできない。また、同様に送信側装置１の再送受付機能付セション下位エンティティ１３ｃと受信側装置３の後着廃棄機能付セション下位エンティティ１３ｂは通信を行うことはないものとする。
【００４９】
また、受信側装置３のセション下位エンティティ１３は、自らスレッドを有し、他のスレッド（例えばモバイルエージェント）と並列に処理を実行可能としている。即ち、受信処理やエージェントの処理が行われていても、新たなデータユニット１８の受信を開始することが可能である。また、受信側装置３のセション上位エンティティは、エージェントの移動完了確認を行うためのセション下位エンティティ１３を有する。
【００５０】
また、セション層プロトコル１１は、別ルート送信の隠蔽機能を有している。別ルート送信の隠蔽機能とは、ある受信側装置３に対して複数の経路が存在する場合に、送信側装置１がいずれの経路を選択して送信するのか、または、複数の経路に対して同時に送信し、受信側装置３において後着廃棄等の処理を行うかの判断をセション層において行うことをいう。
【００５１】
これにより、エージェント又はエージェントプラットフォーム等の上位層における経路選択の判断処理をなくすことができる。より具体的には、通常、異なる経路にデータを送信する場合には、受信側装置１及び送信側装置３に複数の通信ネットワークカードを装備しておき、ＵＤＰのソケットを必要数設定する必要があるが、セション層においてＵＤＰのソケット設定を行うことにより、上位層に対しては複数の経路が存在しない場合と同じインタフェースにて利用可能とする状態を実現するものである。尚、複数経路の設定は、イーサネットスイッチにおけるＭＳＴＰ（Multiple Spanning Tree Protocol）や、ＭＰＬＳ（Multiprotocol Label Switching）技術を用いることにより実現されるものである。
【００５２】
また、エージェントが移動後に到着する受信部１６には、緊急処理用受信部１６ａと通常処理用受信部１６ｂがあるものとする。本実施形態では、緊急処理エージェントを連続送信機能（連続送信機能付セション下位エンティティ１３ａと後着廃棄機能付セション下位エンティティ１３ｃの組合せ）付きセション層プロトコル１１ａにより緊急処理用受信部１６ａに送信し、また迅速処理エージェント及び平常処理エージェントを再送要求機能（再送受付機能付セション下位エンティティ１３ｂと再送要求機能付セション下位エンティティ１３ｄの組合せ）付セション層プロトコル１１ｂにより通常処理用受信部１６ｂに送信するものとしている。尚、受信部１６に対しての優先度の設定は、上記方法に限られるものではない。また、後着廃棄機能付セション下位エンティティ１３ｂは最も優先度の高いエージェント及び受信部１６に利用されるものであるので、この処理を制御するスレッドの優先度も「高」に設定するものとするが、これに限られるものではなく、他の優先度としても良い。
【００５３】
また、本実施形態においては、セション下位エンティティ１３の種類に応じて、ＵＤＰレベルにおいて異なるトポロジを形成することとすることとしている。例えば図６にセション下位エンティティ１３とＵＤＰトポロジの組み合わせを示す。図６（ａ）に示すように、連続送信機能付きセション層プロトコル１１ａを用いる場合には、ＵＤＰのマルチキャスト機能を利用することにより、送信側装置１から複数の受信側装置３へ同時に同じデータが伝送可能となる。これにより、例えば高いリアルタイム性が要求される処理を行う場合において、本来その機能を提供すべき受信側装置とそのバックアップ装置に対して、別々に送信処理を行うようにした場合に、処理時間が長くなるという問題に対しても、マルチキャスト機能を利用することでバックアップ装置へのデータ伝送を行う場合であっても、バックアップを行わない場合と同じ処理となる。これによりエージェントの移動の効率化を図ることができる。尚、この通信は一方向とし、エージェントレベルで装置間の双方向通信を行う場合には、別のマルチキャストグループを設定するものとする。
【００５４】
また、図６（ｂ）に示すように、再送要求機能付セション層プロトコル１１ｂを用いる場合には、ユニキャスト機能を用いて、送信側装置１から受信側装置３にデータユニットを転送する。
【００５５】
以下に、セション層プロトコル１１によるモバイルエージェントの伝送方法について詳細に説明する。送信処理、受信処理、移動完了確認処理について説明する。
【００５６】
（送信処理）  
まず、セション層プロトコル１１が行う送信処理について説明する。以下、セション上位エンティティ１２、連続送信機能付セション下位エンティティ１３ａ、再送受付機能付セション下位エンティティ１３ｃがデータユニット１８を送信する際にそれぞれ行う処理を説明する。
【００５７】
図７に、セション上位エンティティ１２がデータユニット１８を送信する処理のフローチャートを示す。先ず、エージェント１４がセション上位エンティティ１２に対し移動を要求する（Ｓ１０１）。エージェント１４を構成するオブジェクトを通信可能な形式であるバイト列に変換する（Ｓ１０２）。送信するバイト列の大きさと設定されたユーザ領域２０の大きさからＵＤＰの最大通信容量に従って分割数を算出する（Ｓ１０３）。算出された分割数に基づいて送信するバイト列を分割し（Ｓ１０４）、分割された各バイト列にヘッダを付加してデータユニット１８を作成する（Ｓ１０５）。尚、ユーザ領域２０とは、セション層のデータユニット１８においてユーザデータを格納する領域をいい、データユニット１８とは、セション下位エンティティ１２によって送受信される単位をいい、ヘッダ１９とユーザ領域２０からなるものである。
【００５８】
図１９にデータユニット１８の一例を示す。データユニット１８は、セション識別子２１(8バイト)、シーケンス番号２２(8バイト)、分割数２３(4バイト)、分割現在位置２４(4バイト)により構成されるヘッダ１９とユーザ領域２０からなる。尚、上記述べたデータユニット１８の構成、例えばバイト数は一例でありこれに限られるものではない。また、本実施形態ではシーケンス番号２２は、データ伝送に用いられる場合には常に正の値を有するものとし、通信途絶監視機能に用いられる場合には負の整数に設定するものとするが、設定方法はこれに限られるものではない。
【００５９】
次に、データユニット１８を配列として管理可能とし（Ｓ１０６）、移動中のエージェントの識別子を登録する（Ｓ１０７）。このようにデータユニット１８を配列として管理することにより、配列のインデックスにて順番等の管理が可能となるので、例えば送信する際にインデックスの小さい順にバイト列をデータユニット１８から抽出することが容易となる。さらにセション下位エンティティ１３に対して分割されたバイト列の送信を依頼し（Ｓ１０８）、シーケンス番号２２の更新を行う（Ｓ１０９）。以上で、セション上位エンティティ１２がデータユニット１８を送信する処理は終了する。
【００６０】
次に、連続送信機能付セション下位エンティティ１３ａがデータユニット１８を送信する処理のフローチャートを図８に示す。セション上位エンティティ１２から送信依頼を受けデータの送信回数を０に初期化する（Ｓ１１０）。次に、送信回数が予め設定された繰り返し回数に達したかどうかの判断を行い（Ｓ１１１）、予め設定された繰り返し回数に達していれば（Ｓ１１１：Ｙｅｓ）、処理は終了するが、予め設定された繰り返し回数に達していない場合（Ｓ１１１：Ｎｏ）は、配列の先頭から参照する（Ｓ１１２）。尚、本実施形態では、送信回数はプログラム起動時に初期設定ファイルに予め記述された回数を読み取って設定するものとしているが、これに限られるものではなく、例えばプログラム起動後に、受信するエージェントによって設定するようにしてもよい。なお、初期設定ファイルとは、補助記憶装置８に記憶され、送受信ポート番号や相手装置名等セションエンティティが正常に動作するためのデータを指示するためのものである。
【００６１】
次に、参照位置が配列の最後尾を過ぎたかどうかの判断を行い（Ｓ１１３）、配列の最後尾を過ぎていない場合（Ｓ１１３：Ｎｏ）は、参照しているデータユニット１８に基づき、データグラムパケットを作成する（Ｓ１１４）。さらに、作成したデータグラムパケットをＵＤＰにて送信し（Ｓ１１５）、参照位置を次に移したうえで（Ｓ１１６）、Ｓ１１３へ戻る。最後尾を過ぎている場合（Ｓ１１３：Ｙｅｓ）は、送信回数を１増やし（Ｓ１１７）、さらに予め設定された時間だけ待機し（Ｓ１１８）、Ｓ１１１に戻るものである。尚、本実施形態では、待機時間はプログラム起動時に初期設定ファイルに予め記述された時間を読み取って設定するものとしているが、これに限られるものではなく、例えばプログラム起動後に、受信するエージェントによって設定するようにしてもよい。また、待機時間を０に設定して待機しないようにしても良い。以上で、連続送信機能付セション下位エンティティ１３ａがデータユニット１８を送信する処理は終了する。
【００６２】
次に、再送受付機能付セション下位エンティティ１３ｃがデータユニット１８を送信する処理のフローチャートを図９に示す。先ず、参照位置を配列の先頭に定め（Ｓ１１９）、参照位置が配列の最後尾を過ぎたかどうかを判断する（Ｓ１２０）。配列の最後尾を過ぎていない場合（Ｓ１２０：Ｎｏ）は、参照しているデータユニット１８に基づき、データグラムパケットを作成し（Ｓ１２１）、作成したデータグラムパケットをＵＤＰにて送信し（Ｓ１２２）、Ｓ１２０へ戻る。最後尾を過ぎている場合（Ｓ１２０：Ｙｅｓ）は、分割されたバイト列を管理する配列を送信側装置１の記憶装置上のバッファに保存する（Ｓ１２３）。バッファに保存しておくことにより、再送要求を受け取った際の再送を可能とするものである。以上で、再送受付機能付セション下位エンティティ１３ｃがデータユニット１８を送信する処理は終了する。以上が、セション層プロトコル１１が行う送信処理についての説明である。
【００６３】
（受信処理）
次に、セション層プロトコル１１が行う受信処理について説明する。以下、後着廃棄機能付セション下位エンティティ１３ｂ、再送受付機能付セション下位エンティティ１３ｄ、セション上位エンティティ１２がデータユニット１８を受信する際にそれぞれ行う処理を説明する。
【００６４】
後着廃棄機能付セション下位エンティティ１３ｂがデータユニット１８を受信する際のフローチャートを図１０に示す。先ず、連続送信機能により送信されたデータグラムパケットを受信し（Ｓ２０１）、セション識別子２１が正しいかどうか判断する（Ｓ２０２）。正しいセション識別子２１である場合（Ｓ２０２：Ｙｅｓ）は、当該シーケンス番号２２のデータユニット１８は既にすべて受信したかどうかを判断する（Ｓ２０３）。すべて受信していない場合（Ｓ２０３：Ｎｏ）は、受信したデータユニット１８が有するシーケンス番号２２の記録が受信側装置３の受信ログファイルに存在するかどうかを判断する（Ｓ２０４）。なお、受信ログファイルは主記憶装置７に記録され、既に受信されているデータユニット１８を識別するために存在する。存在しない場合（Ｓ２０４：Ｎｏ）は、当該シーケンス番号２２の記録を受信側装置３のログに保存する（Ｓ２０６）。存在する場合（Ｓ２０４：Ｙｅｓ）は、受信したデータユニット１８と同一の分割現在位置２４（フラグメント）を示すデータユニット１８が既に受信されているかどうか判断し（Ｓ２０５）、受信していない場合（Ｓ２０５：Ｎｏ）は、受信したデータユニット１８の記録を受信側装置３のログに保存する（Ｓ２０７）。次に、データユニット１８からセション上位用データユニットを作成し（Ｓ２０８）、当該シーケンス番号２２におけるすべてのデータユニット１８が揃ったかどうか判断する（Ｓ２０９）。揃った場合（Ｓ２０９：Ｙｅｓ）は、最後の分割であることを示すフラッグをセション上位用データユニットに設定し（Ｓ２１０）、当該シーケンス番号２２のデータユニット１８をすべて受信したことを記憶装置に記録する（Ｓ２１１）。セション上位エンティティにセション上位用データユニットを渡し（Ｓ２１２）、Ｓ２０１に戻るものである。以上で、後着廃棄機能付セション下位エンティティ１３ｂがデータユニット１８を受信する処理は終了する。
【００６５】
再送要求機能付セション下位エンティティ１３ｄがデータユニット１８を受信する処理のフローチャートを図１１に示す。先ず、再送要求機能により送信されたデータグラムパケットを受信し（Ｓ２１３）、セション識別子２１が正しいかどうか判断する（Ｓ２１４）。正しい場合セション識別子２１である場合（Ｓ２１４：Ｙｅｓ）は、当該シーケンス番号２２のデータユニット１８を既にすべて受信したかどうかの判断を行う（Ｓ２１５）。すべて受信していない場合（Ｓ２１５：：Ｎｏ）は、受信したデータユニット１８が有するシーケンス番号２２の記録が受信側装置３のログに存在するかどうかを判断する（Ｓ２１６）。存在しない場合（Ｓ２１６：Ｎｏ）は、再送要求処理を並行して処理ができるように起動する（Ｓ２１８）。
【００６６】
再送要求処理は、再送要求機能付セション下位エンティティ１３ｄが送信側装置１に対して設定された時間内に送信されてこなかったデータを再送するよう、送信側装置１に要求するものである。再送要求処理のフローチャートを図１６に示す。先ずシーケンス番号の記録をログに保存し、時計の計測を開始し（Ｓ２１８−１）、設定された時間だけ待機する（Ｓ２１８−２）。次に、バッファを参照して受信していないデータユニット番号を収集して（Ｓ２１８−３）、受信していないデータユニット１８が存在していれば（Ｓ２１８−３：Ｙｅｓ）、受信していないデータユニットの分割現在位置２４を送信側装置１に対して送信し（Ｓ２１８−４）、Ｓ２１８−１の処理に戻るものである。受信していないデータユニット１８が存在しなくなった場合（Ｓ２１８−３：Ｎｏ）は、タイマを消去し（Ｓ２１８−５）、再送要求処理は終了する。
【００６７】
これに対し、受信したデータユニット１８が有するシーケンス番号２２の記録が受信側装置３のログに存在する場合（Ｓ２１６：Ｙｅｓ）は、受信したデータユニット１８と同一の分割現在位置２４のデータユニット１８が既に受信されているかどうか判断する（Ｓ２１７）。そして、受信していない場合（Ｓ２１７：Ｎｏ）あるいは再送要求処理（Ｓ２１８）の後、受信したデータユニット１８の記録を受信側装置３のログに保存する（Ｓ２１９）。受信したデータユニット１８からセション上位用データユニットを作成し（Ｓ２２０）、当該シーケンス番号２２におけるすべてのデータユニット１８が揃ったかどうか判断する（Ｓ２２１）。揃った場合（Ｓ２２１：Ｙｅｓ）は、最後のフラグメントであることを示すフラッグをセション上位用データユニットに設定し（Ｓ２２２）、当該シーケンス番号２２のデータユニット１８を既にすべて受信したことを記憶装置に記録する（Ｓ２２３）。セション上位エンティティ１２にセション上位用データユニットを渡し（Ｓ２２４）、Ｓ２１３に戻るものである。以上で、再送要求機能付セション下位エンティティ１３ｄがデータユニット１８を受信する処理は終了する。
【００６８】
セション上位エンティティ１２がデータユニット１８を受信する処理のフローチャートを図１２に示す。先ず、受信したデータユニット１８のシーケンス番号２２に対応したデータユニット１８が送信側装置１のバッファに存在するかどうかの判断をおこない（Ｓ２２５）、バッファが存在しない場合（Ｓ２２５：Ｎｏ）は、当該シーケンス番号２２に対応した受信用バッファを記憶装置上に作成する（Ｓ２２６）。次に、データユニット１８からユーザ領域２０のバイト列を抽出し（Ｓ２２７）、当該シーケンス番号２２における最後のデータユニット１８かどうかの判断をおこなう（Ｓ２２８）。最後のデータユニット１８でない場合（Ｓ２２８：Ｎｏ）、処理は終了する。最後のデータユニット１８である場合（Ｓ２２８：Ｙｅｓ）は、ユーザ領域２０のバイト列を結合し（Ｓ２２９）、結合後のバイト列からオブジェクトを複製し（Ｓ２３０）、さらに複製したオブジェクトを受信部１６に渡す（Ｓ２３１）。 さらに、受信用バッファから該当するデータユニット１８を削除し（Ｓ２３２）、復元したエージェントの識別子を到着処理ログファイルに記述（Ｓ２３３）を行い、移動完了確認の送信処理を起動する（Ｓ２３４）。なお、到着処理ログファイルは、主記憶装置７に記憶され、復元されたエージェントのうち、移動完了確認応答が受信されていないものを判別するためのものである。以上で、セション上位エンティティ１２がデータユニット１８を受信する処理は終了する。
【００６９】
（移動完了確認処理）
セション層プロトコル１１が行う移動完了確認処理について説明する。先ず、受信側装置３が移動完了確認を送信する際のフローチャートを図１３に示す。受信側装置は、エージェントの復元の後、移動完了確認を送信側装置１に返送し（Ｓ３０１）、予め設定された時間だけ待機して（Ｓ３０２）、移動完了確認応答を受信しているかどうか判断する（Ｓ３０３）。受信している場合（Ｓ３０３：Ｙｅｓ）は、処理は終了する。移動完了確認応答を受信していない場合（Ｓ３０３：Ｎｏ）は、設定された返送回数を超えているかどうかを判断する（Ｓ３０４）。返送回数を超えている場合（Ｓ３０４：Ｙｅｓ）は、移動完了確認応答が得られないことを受信部１６に通知する（Ｓ３０５）。具体的には、エージェントが一意に持っている識別子を受信部１６に受け渡すことにより、受信部１６は、どのエージェントの移動完了応答が受信できていないかを認識するものである。このとき、セション下位エンティティ１３は、エージェントとして復元されていながら対応する移動完了確認応答が得られていないエージェント識別子を主記憶装置７に記録されている到着処理ログファイルに記述し、移動完了確認応答の受信があったかどうかの照合を可能としている。返送回数を超えていない場合（Ｓ３０４：Ｎｏ）は、Ｓ３０１に戻る。以上で移動完了確認の送信受信側が移動完了確認を送信する処理は終了する。
【００７０】
送信側装置１が移動完了確認を受信し、受信側装置３に対し移動完了確認応答を送信する処理のフローチャートを図１４に示す。先ず、エージェントの移動完了確認を受信側装置３より受け取り（Ｓ３０６）、既に移動完了確認を行ったエージェントかどうかの判断を行う（Ｓ３０７）。既に、移動完了確認を行っている場合（Ｓ３０７：Ｙｅｓ）は、処理は終了する。移動完了確認を行っていない場合（Ｓ３０７：Ｎｏ）は、移動中と登録されているエージェントの移動完了を上位エンティティに通知し（Ｓ３０８）、上位エンティティにおいて該当するエージェントの識別子を主記憶装置７にある到着処理ログファイルから削除する。次に、移動完了確認応答を受信側装置１に送信し（Ｓ３０９）、予め設定された時間だけ待機する（Ｓ３１０）。さらに、送信回数が設定された回数を超えたかどうかの判断を行い（Ｓ３１１）、設定された回数を超えていれば（Ｓ３１１：Ｙｅｓ）、処理は終了する。設定された回数を超えていなければ（Ｓ３１１：Ｎｏ）、Ｓ３０９に戻ることとしている。尚、例えば連続送信を複数の受信側装置３に対して行う場合は、移動完了確認は受信側装置３ごとに実施されるものである。以上で、送信側装置１が移動完了確認を受信し、移動完了確認応答を受信側装置３に送信する処理は終了する。
【００７１】
受信側装置３が、移動完了確認応答を受信する処理のフローチャートを図１５に示す。エージェントの移動完了確認応答を送信側装置１より受け取ると（Ｓ３１２）、当該エージェントの識別子を主記憶装置７に保存されている到着処理ログファイルから削除し（Ｓ３１３）、エージェントの移動完了確認応答を記憶装置に記録する（Ｓ３１４）。以上で、移動完了確認応答の受信側が、移動完了確認応答を受信する処理は終了する。
【００７２】
以上、説明した送信処理、受信処理、移動完了確認処理によるセション層におけるモバイルエージェントの伝送方法について、連続送信機能を利用した場合と再送機能を利用した場合に分けて説明する。
【００７３】
まず、連続送信機能を利用した場合のデータ交換手順を図１７に示す。このデータ交換手順は、エージェントを複数、例えば３つのデータユニット１８に分割し同じデータを２回送信する場合、即ち再送回数を２回に設定する場合において、１回目の送信時に２番目のデータユニット１８が何らかの理由により受信側に到着しなかった例を示す。
【００７４】
連続送信機能を用いた場合、送信側装置１はデータユニット１８の到着成否にかかわらず、予め設定された回数（本実施形態においては２回とする）分、繰り返して送信を行うものである。データユニット１８を受信した受信側装置３は後着廃棄機能を用いて、各データユニット１８を一つずつ揃えて、エージェントを復元する。さらに、受信側装置３は、復元に成功した後、エージェントの移動完了確認を送信側装置１に送信する。移動完了確認は、送信側装置１からの移動完了確認応答を受信するか、または設定された回数分送信を行った後に終了する。さらに、移動完了確認を受信した送信側装置１は、移動完了確認応答を送信する。尚、移動完了確認とは、受信側から送信側へ送信される移動完了したエージェントの識別子を示す。また、本実施形態では、例えば移動完了確認を受信できなかった場合には、エージェントの復元に失敗した旨の応答を返信し、以降はアプリケーションプログラムの処理に従うこととしているがこれに限られるものではない。
【００７５】
次に、移動完了確認を受け取った送信側装置１は、移動完了確認応答を設定された回数分、受信側装置３に送るものとしている。尚、本実施形態において示すようにエージェントの移動完了確認とその応答を行うものとするが、以下に述べる移動完了確認とその応答は必ずしも行うことを必要とせず、省略することとしても良い。
【００７６】
次に、再送要求機能を利用した場合のデータ交換手順を図１８に示す。このデータ交換手順は、図１７による例と同様、エージェントを３つのデータユニット１８に分割して送信する際に、そのうち２番目のデータユニット１８が何らかの理由により受信側に到着しなかった例を示す。
【００７７】
再送要求機能を用いた場合には、設定された到着しないデータユニット１８があると、受信側から送信側に対し、到着していないデータユニット１８を特定しその再送を要求するものとしている。要求を受けた送信側は、該当するデータユニット１８を送信する。エージェントの復元以降、移動完了確認とその応答に関する処理は、連続送信機能を用いた場合と同様におこなうものとしている。
【００７８】
本実施形態においては、連続送信機能付きセション層プロトコル１１ａと再送要求機能付セション層プロトコル１１ｂを実装した送信側装置１、受信側装置３により通信ネットワークが構成されるものとしたが、実施の形態はこれに限られるものではない。例えば、連続送信機能付きセション層プロトコル１１ａのみを実装した送信側装置１、受信側装置３で通信ネットワークを構成し、すべての伝送処理を連続送信機能、後着廃棄機能の組み合わせにより処理することとしても良い。また、逆に、再送要求機能付セション層プロトコル１１ｂのみを実装した送信側装置１、受信側装置３で通信ネットワークを構成し、すべての伝送処理を再送受付機能、再送要求機能の組合せにより処理することとしても良い。
【００７９】
以上、本実施形態においては、需要地系統におけるモバイルエージェントをセション層プロトコル１１を用いて伝送する場合について説明したが、上記述べたセション層プロトコルはモバイルエージェントの伝送のみに用いられるものではなく、他の通信ネットワークにも適用すること可能である。伝送を行う対象もモバイルエージェントに限定されるものではなく、一般のデータ、プログラム等であっても良い。
【図面の簡単な説明】
【００８０】
【図１】送信側装置のハードウェア構成の一例を示す図である。
【図２】プロトコルスタックの一例を示す図である。
【図３】送信側装置のセション層プロトコルの内部構成の一例を示す図である。
【図４】受信側装置のセション層プロトコルの内部構成の一例を示す図である。
【図５】モバイルエージェントとセション層プロトコルの対応付けの一例を示す図である。
【図６】セション下位エンティティとＵＤＰトポロジの組み合わせの一例を示す図であり、（ａ）は、連続送信機能付セション下位エンティティと後着廃棄付セション下位エンティティとの組み合わせの一例を示す図であり、（ｂ）は、再送受付機能付セション下位エンティティと再送要求機能付セション下位エンティティとの組み合わせを示す図である。
【図７】送信処理時にセション上位エンティティが行う処理の一例を示すフローチャートである。
【図８】送信処理時に連続送信機能付セション下位エンティティが行う処理の一例を示すフローチャートである。
【図９】送信処理時に再送受付機能付セション下位エンティティが行う処理の一例を示すフローチャートである。
【図１０】受信処理時に後着廃棄機能付セション下位エンティティが行う処理の一例を示すフローチャートである。
【図１１】受信送信処理時に再送要求機能付セション下位エンティティが行う処理の一例を示すフローチャートである。
【図１２】受信処理時にセション上位エンティティが行う処理の一例を示すフローチャートである。
【図１３】移動完了確認処理時に受信側装置が行う処理の一例を示すフローチャートである。
【図１４】移動完了確認処理時に送信側装置が行う処理の一例を示すフローチャートである。
【図１５】移動完了確認応答処理時に受信側装置が行う処理の一例を示すフローチャートである。
【図１６】再送要求処理の一例を示すフローチャートである。
【図１７】連続送信機能を用いた場合のデータ交換手順の一例を示す図である。
【図１８】再送機能を用いた場合のデータ交換手順の一例を示す図である。
【図１９】セション層プロトコルが伝送するデータユニットの一例を示す図である。
【符号の説明】
【００８１】
１  受信側装置
２  通信ネットワーク
３  送信側装置
１１  セション層プロトコル
１４  エージェント
１８  データユニット
２５  連続送信手段
２６  再送受付手段
２７  移動完了確認応答手段
２８  後着廃棄手段
２９  再送要求手段
３０  移動完了確認手段
３１  判断手段
【図１】
0004723993.tif 000002
【図２】
0004723993.tif 000003
【図３】
0004723993.tif 000004
【図４】
0004723993.tif 000005
【図５】
0004723993.tif 000006
【図６】
0004723993.tif 000007
【図７】
0004723993.tif 000008
【図８】
0004723993.tif 000009
【図９】
0004723993.tif 000010
【図１０】
0004723993.tif 000011
【図１１】
0004723993.tif 000012
【図１２】
0004723993.tif 000013
【図１３】
0004723993.tif 000014
【図１４】
0004723993.tif 000015
【図１５】
0004723993.tif 000016
【図１６】
0004723993.tif 000017
【図１７】
0004723993.tif 000018
【図１８】
0004723993.tif 000019
【図１９】
0004723993.tif 000020