(57)【特許請求の範囲】
【請求項１】
サーバと複数の計算機が、ネットワークを介して接続されるネットワークシステムにおいて、
前記サーバは、移動エージェントが前記複数の計算機を巡回するためにかかる時間を算出し、
前記複数の計算機を巡回するためにかかる時間が、予め指定された時間より大きい場合、前記複数の計算機を、複数のグループに分割し、
前記分割されたグループのそれぞれについて、前記移動エージェントが当該グループ内の計算機を巡回するためにかかる時間の算出、及び、当該時間が予め指定された時間より大きい場合のグループの分割、の処理を繰り返し、
前記処理を繰り返し行った結果、巡回するためにかかる時間が予め指定された時間より小さくなった場合、前記処理を終了し、
最終的に分割されたグループのそれぞれについて、巡回リストを作成し、
前記最終的に分割されたそれぞれのグループに対応するそれぞれの巡回リストを、それぞれの移動エージェントに付加して、当該それぞれのグループに当該それぞれの移動エージェントを送信する、ネットワークシステム。
【請求項２】
前記サーバは、一つのグループに対して、付加する巡回リストがそれぞれ異なる第一及び第二の移動エージェントを送信し、前記第一の移動エージェントは、前記第二の移動エージェントと逆の進路を巡回し、双方が出会った時点で巡回を終了する、請求項１記載のネットワークシステム。
【請求項３】
前記サーバは、前記複数の計算機のうちのいずれかの計算機に障害が発見されると、障害情報を記憶装置に格納し、表示装置へ前記障害情報の表示を行う、請求項１記載のネットワークシステム。
【請求項４】
前記サーバは、前記障害情報に係る計算機を除いた巡回リストを前記移動エージェントに付加する、請求項３記載のネットワークシステム。
【請求項５】
前記サーバは、予め作成しておいたスケジュールに従って、前記移動エージェントの送信を行う、請求項１記載のネットワークシステム。
【請求項６】
サーバと複数の計算機が、ネットワークを介して接続されるネットワークシステムにおいて、
前記サーバは、トランシーバモードで接続可能な計算機をグループ化し、
移動エージェントが前記グループ内の計算機を巡回するためにかかる時間を算出し、
前記グループ内の計算機を巡回するためにかかる時間が、予め指定された時間より大きい場合、前記グループ内の計算機を、更に複数のグループに分割し、
前記更に分割されたグループのそれぞれについて、前記移動エージェントが当該グループ内の計算機を巡回するためにかかる時間の算出、及び、当該時間が予め指定された時間より大きい場合のグループの分割、の処理を繰り返し、
前記処理を繰り返し行った結果、巡回するためにかかる時間が予め指定された時間より小さくなった場合、前記処理を終了し、
最終的に分割されたグループのそれぞれについて、巡回リストを作成し、
前記最終的に分割されたそれぞれのグループに対応するそれぞれの巡回リストを、それぞれの移動エージェントに付加して、当該それぞれのグループに当該それぞれの移動エージェントを送信する、ネットワークシステム。
【請求項７】
前記サーバは、一つのグループ内に、前記計算機が接続する基地局が、２つ以上含まれるように前記グループ化を行う、請求項６記載のネットワークシステム。
【請求項８】
前記サーバは、前記基地局の一つに障害が発生した場合、障害のない基地局へ接続可能な計算機を介して、他の計算機に前記移動エージェントを送信する、請求項７記載のネットワークシステム。
【請求項９】
トランシーバ接続可能な基地局に障害がある場合、前記移動エージェントは、トランシーバ接続可能な計算機を巡回し、障害のない基地局と接続可能な計算機を検索する、請求項８記載のネットワークシステム。
【請求項１０】
コンピュータに、
移動エージェントが複数の計算機を巡回するためにかかる時間を算出する機能、
前記複数の計算機を巡回するためにかかる時間が、予め指定された時間より大きい場合、前記複数の計算機を、複数のグループに分割する機能、
前記分割されたグループのそれぞれについて、前記移動エージェントが当該グループ内の計算機を巡回するためにかかる時間の算出、及び、当該時間が予め指定された時間より大きい場合のグループの分割、の処理を繰り返す機能、
前記処理を繰り返し行った結果、巡回するためにかかる時間が予め指定された時間より小さくなった場合、前記処理を終了する機能、
最終的に分割されたグループのそれぞれについて、巡回リストを作成する機能、及び、
前記最終的に分割されたそれぞれのグループに対応する巡回リストを、それぞれの移動エージェントに付加して、当該それぞれのグループに当該それぞれの移動エージェントを送信する機能、を実現させるためのプログラムを記録したコンピュータ読み取り可能な記憶媒体。
【請求項１１】
複数の計算機にネットワークを介して接続されるサーバにおいて、
移動エージェントが前記複数の計算機を巡回するためにかかる時間を算出する手段と、
前記複数の計算機を巡回するためにかかる時間が、予め指定された時間より大きい場合、前記複数の計算機を、複数のグループに分割する手段と、
前記分割されたグループのそれぞれについて、前記移動エージェントが当該グループ内の計算機を巡回するためにかかる時間の算出、及び、当該時間が予め指定された時間より大きい場合のグループの分割、の処理を繰り返す手段と、
前記処理を繰り返し行った結果、巡回するためにかかる時間が予め指定された時間より小さくなった場合、前記処理を終了する手段と、
最終的に分割されたグループのそれぞれについて、巡回リストを作成する手段と、
前記最終的に分割されたそれぞれのグループに対応する巡回リストを、それぞれの移動エージェントに付加して、当該それぞれのグループに当該それぞれの移動エージェントを送信する手段を備える、サーバ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はネットワークに接続した複数のホーム端末間を移動しながらサービスプログラムの実行を行う移動エージェントの配信と実行の方法に関する。
【０００２】
【従来の技術】
複数の計算機間を移動しながらプログラムの実行を進める技術として移動エージェントがある。従来の移動エージェントは、エージェント作成者がプログラム中に巡回順路や巡回アルゴリズムを記述していた。特開平11-149426では、エージェントの移動先に障害があった場合の障害回避に関する技術について述べられている。
【０００３】
【発明が解決しようとする課題】
従来の移動エージェントでは、移動先の決定方法がエージェントプログラム内に記述されているために以下のような問題があった。
【０００４】
（１）巡回終了までにかかる時間の制御が困難であった。また巡回先端末の性能が均一でないため、巡回終了までにかかる時間の予測も困難であった。
【０００５】
（２）巡回先が完全に一致しない複数のサービスプログラムを１つのエージェントにまとめて巡回させることが困難であることから、サービスプログラム毎にエージェントの配信が必要となり通信コストがかかっていた。
【０００６】
（３）巡回先が多い場合や、巡回先が頻繁に変更される場合、巡回先を保守管理するのが困難であった。
【０００７】
本発明の目的は、移動エージェントの巡回に要する時間を制御できる移動エージェント制御方法を提供することにある。
【０００８】
【課題を解決するための手段】
本発明の移動エージェント制御方法は、以下の方法を実施する。
【０００９】
巡回リストとエージェントプログラムを分離して管理し、エージェント配信時に巡回リストをエージェントプログラムに付加して配信する移動エージェント配信方法をサーバ装置に設け、付加された巡回リストを読み取って次の移動先を決める移動エージェント実行方法を各ホーム端末装置に設けることによって、配信前に巡回リストの結合や分割を可能にし、同じエージェントプログラムを持つエージェントを複数配信することで巡回にかかる時間を制御可能とした。
【００１０】
またエージェントプログラムと巡回リストが分離していることから、複数のエージェントプログラムに1つの巡回リストを付加して配信することで、通信コストをさげる事が可能となる。
【００１１】
また巡回リストの保守管理手段をサーバ装置に設けることにより、巡回先が多い場合や頻繁に更新される場合の保守管理を容易にした。
【００１２】
【発明の実施の形態】
以下、本発明についての実施例を図を用いて説明する。
【００１３】
まず始めに図１により、本発明による一利用形態の全体図と機器構成を示す。
【００１４】
サーバ装置100は、二次記憶装置101、主記憶装置102、中央処理装置103、通信装置104、表示装置109からなる。主記憶装置102には、基本制御プログラム105、移動エージェント配信プログラム106、通信プログラム107、データベース保守管理プログラム108等がある。
【００１５】
ホーム端末装置110は、二次記憶装置111、主記憶装置112、中央処理装置113、通信装置114、ホームネットワーク通信装置115からなり、ホームネットワーク通信装置115は電灯、エアコン等の電気製品が接続するホームネットワークに接続している。主記憶装置112には、基本制御プログラム116、移動エージェント実行プログラム117、ホームネットワーク通信プログラム118、インターネット通信プログラム119がある。サーバ装置100、ホーム端末装置110は共に広域ネットワークに接続している。広域ネットワークにはホーム端末装置110と同様の機器構成のホーム端末が多数接続している。
【００１６】
図２にサーバ100の移動エージェント配信機能を示す。サーバ100は広域ネットワークに接続しているホーム端末群に対して、移動エージェント210を配信して、サービスの提供を行う。その際、特定の条件を満たすように配信先を複数のグループに分割し、グループそれぞれに移動エージェントを配信する。移動エージェント210の配信は移動エージェント配信プログラム106が行っている。配信の時の手順は、全ての配信先を必要ならグループ分けし、グループの数分の巡回リスト201を生成する。この巡回リスト201とサービスプログラムデータ202とセンタ署名203とから移動エージェント210を生成する。移動エージェント210は必要なサービスプログラム211とグループ毎の巡回リスト212とセンタ署名203から構成されている。1つの移動エージェントにサービスプログラム211を複数含むことが可能だが、巡回する全てのホーム端末で全てのサービスプログラムを実行する必要はない。ホーム端末において実行すべきサービスプログラムの情報は巡回リスト212に含まれる。移動エージェント210は巡回してサービスプログラムを実行し、各ホーム端末の課金情報等のデータを収集し、巡回を終了するとサーバ100に戻る。
【００１７】
図３にサーバ100での移動エージェント配信プログラム106の詳細な機能を説明する。サーバ100の二次記憶装置101には、実行管理データ310、サービススケジュール311、契約データ312、サービスプログラムデータ202、署名データ203があらかじめ格納されている。移動エージェント配信プログラム106は、移動エージェント実行状態管理部301、サービススケジュール管理部302、エージェント配信部303、メッセージ処理部307、収集データ集計処理部308とからなり、さらにエージェント配信部303は、巡回予測時間算出部305を含む配信区域処理部304とエージェント生成部306からなる。
【００１８】
それぞれの機能について以下に説明する。
【００１９】
移動エージェント実行状態管理部301は、移動エージェント実行状態管理データ310を参照して配信した移動エージェントの巡回状況を監視し、移動エージェントが巡回の制限時間を大幅に越えて戻らない場合等は、表示装置への表示や音/音声の発生等によってサーバの管理者に報告する。また管理者からの要求により、図２１に示す表示例のような移動エージェントの実行状況2102を表示装置に表示する。表示画面2101上でマウス等のポインティングデバイスを用いて移動エージェントリスト2103中の移動エージェントを指定されると、対応する巡回区域を配信地区の地図2104上に示す。
【００２０】
サービススケジュール管理部302は、サービスの配信スケジュールを格納したサービススケジュール311を参照しながらサービスを配信すべき時刻に当該サービスプログラムを含むエージェント配信を行うような要求イベントを出す。
【００２１】
エージェント配信部303は、サービススケジュール管理部302から起動され、まず配信区域分割処理部304が、契約データ312、障害データ313、ログデータ314、サービスプログラム202のデータから巡回リストデータ201を生成し、次にエージェント生成部306がサービスプログラムデータ202、巡回リストデータ201、センタ署名データ203から移動エージェントを生成し、配信する。
【００２２】
メッセージ処理部307は、巡回中の移動エージェント210から送られてくるメッセージ316の障害処理を行い、障害情報を障害データ313に格納し、この後の巡回リスト生成時に参照する。
【００２３】
移動エージェント終了処理部308は、移動エージェント210が収集してきた収集データの集計処理を行い、課金データ315、ログデータ314に格納する。課金データ315はサービスの使用料金の計算に使用し、ログデータ314はこの後の巡回リスト生成時の参考データとする。
【００２４】
図４にホーム端末装置110での移動エージェント210の実行手順を示す。ホーム端末の二次記憶装置111にはあらかじめセンタサーバの証明書及び公開鍵404が格納されている。移動エージェント実行プログラム117は、センタ署名認証部401、サービスプログラム実行部402、エージェント配信部403からなる。センタ署名認証部401は、移動エージェントがまだ1つ前のホーム端末にある時に、移動エージェント210が持つセンタ署名213と、ホーム端末にあらかじめ格納されているセンタサーバの証明書及び公開鍵404によって、移動エージェント210の正当性を認証する処理を行う。認証を行った後に移動エージェント210が当該ホーム端末に移動することを許可する。サービスプログラム実行部402は、巡回リスト212に記述されている実行サービスプログラムデータにより、サービスプログラム211のうちの実行すべきプログラムを実行し、その実行によって得られるデータを移動エージェントの収集データ405に格納する。エージェント配信部403は、巡回リストを参照し移動エージェントが次に巡回すべきホーム端末を得、そのホーム端末によるセンタ署名の認証を求め、認証されたら移動エージェント210を次ホーム端末に配信する。ここで次ホーム端末への接続不可、次ホーム端末の不認証、次ホーム端末の移動エージェント配信拒絶等によって移動エージェントの配信不可能な場合は、障害メッセージ316を生成しセンタサーバ100へ送り、センタサーバが障害回避巡回リストを送ってくるのを待つ。
【００２５】
図５に契約データ312の内容例を示す。契約データ312は多数の契約情報501の集まりであり、契約情報501はホーム端末毎に1つの契約情報があり、その内容は、ホーム端末情報、契約者情報、契約サービス情報、通信管理区域からなる。ホーム端末情報は、ホーム端末の識別番号(ホーム端末の通信用電話番号など)、端末の機種情報として通信速度、実行性能、メモリサイズがある。契約者情報は、契約者氏名、住所、電話番号、取引銀行口座情報からなる。契約サービス情報は、契約しているサービスの名称とサービスを受ける期間を組み合わせた情報を契約しているサービス数だけ含むリストである。通信管理区域とは、通信を行う(電話をかける)上で、通信料金が同一となる区域の区域IDである。
【００２６】
図６にサービスプログラムデータ202の内容例を示す。サービスプログラムデータ202は、提供するサービスの種類数分のサービスプログラム固有情報601の集まりで構成する。サービスプログラム固有情報601は、サービス名、属性(サービス提供会社名等)、標準の実行時間、標準使用メモリサイズ、サービスの価格、配信方針、巡回制限時間、プログラム本体データからなる。配信方針とは、配信を時間厳守で行うか、多少の時間のずれが起こっても通信費等のコストを抑える方法で行うかを決めるためのもので、サービスの性質に合わせて選択できる。
【００２７】
図７に障害データ313の内容例を示す。障害データ313は過去に報告された障害情報701の集まりである。障害情報701は、現在障害発生中であるか否かを示す障害フラグ、障害を起こしているホーム端末の識別番号、障害の起きた発生時刻、障害が回復した回復時刻からなる。
【００２８】
図８にサービススケジュール管理データ311の内容例を示す。サービススケジュール管理データ311は各サービスのスケジュール情報801がサービスの種類数だけ集まったものである。各サービスのスケジュール情報801はサービス名、実行間隔、詳細実行時刻からなる。実行間隔は月1回、週1回等のサービス実行から次の実行までのインターバルを示し、詳細実行時刻は、例えば週1回のサービスの場合、何曜日の何時何分に配信を開始するかを指定するものである。
【００２９】
図９に移動エージェント210の内容構成例を示す。移動エージェント210は、移動エージェントの識別番号、巡回リスト901、センタ署名、移動エージェントが持つサービスプログラムの数、各サービスのプログラム本体、各サービスプログラム毎の結果を格納する収集データリスト902の集合からなる。巡回リスト901は、巡回先ホーム端末の識別番号、移動エージェント210に含まれるサービスプログラム群のうちのどのサービスを実行するかを示すフラグデータからなる。図９に示した巡回リスト901のフラグデータ例では、ホーム端末aでは、サービスA、サービスC、サービスDを実行し、ホーム端末ｂでは、サービスA、サービスBを実行することを示している。
【００３０】
図１０に障害メッセージ316の構成例を示す。障害メッセージ316は、移動エージェントの識別番号、障害のあるホーム端末識別番号、障害の発生/回復、事象の発生時刻からなる。移動エージェント巡回中に、何らかの理由で次の巡回先ホーム端末に移動エージェントを送信できない場合、移動元ホーム端末は、障害メッセージ316を生成しサーバ100に送信する。
【００３１】
図１１に配信した移動エージェントの実行状態を管理するための移動エージェント実行状態管理データ310の構成例を示し説明する。エージェント実行状態管理データ310は、移動エージェントID、移動エージェントの状態(巡回中、巡回終了、障害対策中等)、移動エージェントに含まれるサービスプログラム名リスト、巡回データ1101からなる。巡回データ1101は、巡回リスト、移動エージェントの発信時刻、巡回終了予定時刻、巡回終了時刻、障害データからなる。移動エージェント配信プログラム106の各処理は移動エージェント実行状態管理データ310によって移動エージェントの巡回状況や障害状況を管理する。
【００３２】
例えば図１１に示した例で、移動エージェント2が巡回を終了してもどってきた場合、移動エージェント終了処理部308は、移動エージェント実行状態管理データ310の移動エージェント2の状態を巡回終了にし、収集データを2次記憶装置に記録すると共に、同じサービス(サービスA,B,D)を含む他のエージェント(移動エージェント1、移動エージェント3)の状態を調べ、全てが巡回終了となっていた場合にサービスA、B、Dの巡回終了と判断し、移動エージェント1、2、3を移動エージェント実行状況管理データ310から削除する。
【００３３】
また、あるホーム端末から障害メッセージ316が送信されてきた場合、メッセージ処理部307は、移動エージェント実行状態管理データ310と障害メッセージ316の移動エージェント識別番号から障害が起きている移動エージェントと巡回リストを特定し、その巡回リストから障害ホーム端末を除外した障害回避巡回リストを生成し、障害メッセージを送信してきたホーム端末に送る。
【００３４】
図１２に移動エージェント巡回中に障害端末があった場合を図示する。巡回開始時の巡回リストではホーム端末m、ホーム端末n、ホーム端末oの順で巡回する予定の時にホーム端末nの端末で障害が起きた場合、ホーム端末mはホーム端末nへの送信を試みるが送信が行えず障害があることを検知する。そこで、ホーム端末mは障害メッセージ316を生成しセンタサーバ100に送信する。障害メッセージ316には障害を起こしたホーム端末mの識別番号や、移動エージェントの識別番号が含まれる。センタサーバ100は障害メッセージ316を受け取り、移動エージェント実行状態管理データ310と報告された移動エージェントの識別番号から巡回リストを得、当該巡回リストから障害のあったホーム端末nを除いたホーム端末m、ホーム端末oの順に巡回する障害回避巡回リスト1201を生成し、ホーム端末mに送信する。ホーム端末mは障害回避巡回リスト1201により、次の巡回先ホーム端末oに移動エージェントを送信する。
【００３５】
図１に示したサーバ100におけるイベント処理のフローチャートを図１３に示し、処理フローを以下に説明する。
【００３６】
処理1301：イベントキューのイベントを1つ読み込む。
【００３７】
処理1302：イベントがサービスの配信開始要求イベントである場合は処理1303に進み、それ以外は処理1304に進む。
【００３８】
処理1303：移動エージェント配信プログラム106のエージェント配信処理を実行し、処理1301に戻る。詳細な処理フローを図１４、図１５、図１６で説明する。
【００３９】
処理1304：イベントがエージェント着信報告イベントである場合は処理1305に進み、それ以外は処理1306に進む。
【００４０】
処理1305：移動エージェント配信プログラム106の移動エージェント終了処理を実行し、処理1301に戻る。詳細な処理フローを図１７で説明する。
【００４１】
処理1306：イベントがメッセージ着信報告イベントである場合は処理1307に進み、それ以外は処理1308に進む。
【００４２】
処理1307：移動エージェント配信プログラム106のメッセージ処理を実行し、処理1301に戻る。詳細な処理フローを図１８で説明する。
【００４３】
処理1308：サーバ100で行うべきその他のイベント処理を行い、処理1301に戻る。
【００４４】
サーバのイベント処理ルーチンにより、必要時に呼び出される移動エージェント配信プログラムのエージェント配信処理1303のフローチャートを図１４に示し、処理フローを以下に示す。
【００４５】
処理1401：サービスの配信区域を必要があれば分割し、分割した区域毎に巡回リストを生成する。詳細な処理内容については図１５、１６に示し、後述する。
【００４６】
処理1402：処理1401で生成した巡回リスト数分について、処理1403,1404を繰り返したかどうかを判定し、繰り返しが終了した場合はエージェント配信処理を終了して呼び出し元に戻る。
【００４７】
処理1403：巡回リスト、センタ署名、エージェントに含むサービスの数、サービスプログラム本体をマージしたものに、移動エージェント識別番号を付加してエージェントを生成する。移動エージェント識別番号、巡回リスト等の情報をエージェント実行状態管理データに追加する。
【００４８】
処理1404：処理1403で生成したエージェントを巡回リストの先頭のホーム端末に送信する。
【００４９】
エージェント配信処理によりコールされる配信区域分割処理1401のフローチャートを図１５に示し、処理フローを以下に示す。
【００５０】
処理1501：巡回先のリストをホーム端末の通信管理区域でソートする。同じ通信管理区域のものは住所でソートする。
【００５１】
処理1502：未分割の巡回リストによる巡回の予測時間を算出する。巡回時間予測処理についての詳細なフローについては図１６を用いて後述する。
【００５２】
処理1503：処理1502で算出した予測時間が配信制限時間より大きい場合は処理1504に進み、それ以外の場合は処理1509に進む。
【００５３】
処理1504：巡回リストをホーム端末の通信管理区域毎に分割する。
【００５４】
処理1505：分割した全ての巡回グループに対して処理1506、処理1507、処理1508が終了したかどうかを判定し、終了した場合は処理1509に進み、終了していない場合は次の巡回グループへの処理のため、処理1506に進む。
【００５５】
処理1506：巡回リストによる巡回の予測時間を算出する。
【００５６】
処理1507：処理1506で算出した予測時間が配信制限時間より大きい場合は処理1508に進み、それ以外は処理1505に戻る。
【００５７】
処理1508：巡回リストの先頭からの予測時間を順次計算し、予測時間が配信制限時間を超えたホーム端末の手前で巡回リストを分割し、前半を1つの巡回リストとする。分割した後半の巡回リストについては前述の処理を繰り返し、全ての巡回リストの予測時間が配信制限時間を超えないように分割する。
【００５８】
1つの巡回リストについて、巡回にかかる予測時間を計算する巡回時間予測処理1502のフローチャートを図１６に示し、処理フローを以下に示す。
【００５９】
処理1601：巡回リストの全てのホーム端末について順次予測時間を加算するループ処理。計算が終了したかを判定し、終了した場合巡回時間予測処理ルーチンを終了し、ルーチンの呼び出し元に戻る。それ以外の場合は処理1602に進む。初回のみ予測巡回時間を初期化する。
【００６０】
処理1602：当該ホーム端末から、エージェントを次のホーム端末に送信するのにかかる時間(移動エージェントのサイズ*当該ホーム端末の通信速度)を予測巡回時間に加算する。処理1603に進む。
【００６１】
処理1603：当該ホーム端末において実行するサービス全てについて順次、実行予測時間を計算するループ処理。実行予測時間の計算が終了したかを判定し、終了した場合処理1601に戻り、それ以外の場合処理1604に進む。
【００６２】
処理1604：当該ホーム端末において当該サービスを実行するのにかかる時間(サービスの標準実行時間*ホーム端末の実行性能)を予測巡回時間に加算し、処理1603に戻る。
【００６３】
サーバのイベント処理ルーチンにより必要時にコールされる、移動エージェントが巡回を終了しサーバに戻った時の処理であるエージェント実行終了処理1305のフローチャートを図１７に示し、処理フローを以下に示す。
【００６４】
処理1701：移動エージェント210のサービス収集データリスト902に収集してきたデータを課金データ315、ログデータ314に記録する。
【００６５】
処理1702：移動エージェント実行状態管理データ310の当該移動エージェントの状態を「巡回終了」にする。
【００６６】
処理1703：当該移動エージェントと同じサービスの移動エージェントが全て巡回を終了している場合は処理1704に進み、それ以外は当該処理を終了する分岐処理。
【００６７】
処理1704：移動エージェント実行状態管理データ310から当該サービスの移動エージェント情報を削除し、当処理を終了する。
【００６８】
サーバのイベント処理ルーチンにより必要時にコールされる、巡回中の障害時に送られてくるメッセージを受けた時のメッセージ着信処理1307のフローチャートを図１８に示し、処理フローを以下に示す。
【００６９】
処理1801：障害メッセージである場合は処理1702に進み、それ以外は当処理を終了する。
【００７０】
処理1802：障害メッセージの内容を障害データに追加する。
【００７１】
処理1803：障害メッセージと移動エージェント実行状態管理データから巡回リストを得、障害データ中の障害ホーム端末端末を当該リストから削除して、障害対策巡回リストを生成する。
【００７２】
処理1804：処理1803で生成した障害対策巡回リストを障害メッセージを送ってきたホーム端末に送信し、当処理を終了する。
【００７３】
サーバのイベント処理ルーチンからは独立して動作する、移動エージェントの配信開始を管理するサービススケジュール管理ルーチン302のフローチャートを図１９に示し、処理フローを以下に示す。
【００７４】
処理1901：タイマから現在時間情報を得る。
【００７５】
処理1902：現在時刻に配信開始するサービスがある場合は処理1093に進み、それ以外は処理1901に戻る。
【００７６】
処理1903：エージェント配信要求イベントを発行する。
【００７７】
次にホーム端末での移動エージェント実行処理を含むイベント処理ルーチンのフローチャートを図２０に示し、処理フローを以下に示す。
【００７８】
処理2001：イベントキューからイベントを読み込む。
【００７９】
処理2002：移動エージェントの受信である場合は処理2003に進み、それ以外は処理2009に進む分岐処理。
【００８０】
処理2003：当該ホーム端末で実行すべきサービスプログラムの実行が全て終了したかどうかを判別し、終了していれば処理2005に進み、それ以外は処理2004に進むループ終了の判別処理。
【００８１】
処理2004： 1つのサービスプログラムを実行し、処理2003に戻る。
【００８２】
処理2005：次の配信先が接続可能かどうかを判別し、接続可能なら処理2006に進み、それ以外は処理2015に進む分岐処理。
【００８３】
処理2006：次の配信先でセンタ署名が認証されるかどうかを判定し、認証された場合は処理2007に進み、それ以外は処理2015に進む分岐処理。
【００８４】
処理2007： 次の配信先配信可能状態かどうかを判定し、配信可能な場合は処理2008に進み、それ以外は処理2014に進む分岐処理。
【００８５】
処理2008：エージェントを次の配信先に送信し、処理2001に戻る。
【００８６】
処理2009：巡回リスト待ち状態で巡回リストを受信した場合、処理2005に進み、それ以外は処理2010に進む分岐処理。
【００８７】
処理2010：配信可能状態の問い合わせを受信した場合、処理2012に進み、それ以外は処理2011に進む分岐処理。
【００８８】
処理2011：センタ署名の認証処理要求を受信した場合、処理2013に進み、それ以外は処理2001に戻る分岐処理に進む。
【００８９】
処理2012：配信の可否を返信し、処理2001に戻る。
【００９０】
処理2013：センタ署名の認証処理を実行し結果を返信し、処理2001に戻る。
【００９１】
次に、本発明を用いたもう一つの実施例を図１から図３、図６から図１４、図１６から図１９、図２２以降の図を用いて説明する。
【００９２】
サーバ装置100、ホーム端末装置110はそれぞれ、前述の実施例と同様に、図１に示すようなハードウェア構成を持つが、それぞれの通信装置104,114には携帯電話を使用し、図２２に示すように基地局2200を経由して通信を行う。ただし、図２２のホーム端末A1とホーム端末A2のように、携帯電話によるトランシーバモード通信が可能なホーム端末間はトランシーバモードで直接通信する。利用可能な箇所ではトランシーバモード通信を利用することにより、通信費を抑えることが可能となる。
【００９３】
契約データとして図２３に示すように、上記の実施例の契約データ501に、ホーム端末の接続基地局情報2301と、トランシーバモード接続可能なホーム端末情報2302を追加した契約データ2300を使用する。
【００９４】
サーバ100は移動エージェント配信の際にまず、契約データ2300、障害データ313、ログデータ314、サービスプログラム202のデータに基づいて、巡回の対象となるホーム端末のうち、トランシーバモードで接続可能なホーム端末をグループ化し、図２４に示すようなトランシーバモード接続グループテーブル2400を生成する。トランシーバモード接続グループテーブル2400は、トランシーバモードで通信可能なホーム端末のリスト2401と、それぞれの基地局ID2401からなる。このグループを最小限の構成要素として巡回リストを作成する。この時、一つの巡回リストデータに含まれるホーム端末が接続する基地局が二つ以上になるように、巡回リストデータを作成する。トランシーバモードで接続できるホーム端末が一つもないホーム端末は、上記の実施例での処理と同様に、通信管理区域と住所でソートしておいてから、グループ化して巡回リストを作成する。
【００９５】
移動エージェント巡回中に、あるホーム端末から基地局経由でサーバに移動エージェントを戻そうとした時に接続基地局に障害が発生していることがわかった場合、当該ホーム端末は自分を始点として、自分からトランシーバモード通信が可能なホーム端末の全てに対し、障害のない基地局の検索要求を順次発信する。検索要求を受信したホーム端末は、自分が接続する基地局に障害がなければ自分の端末IDを返送し、自分の基地局にも障害があればトランシーバモード接続可能な他の端末に検索要求を送信することにより、検索を続ける。障害のない基地局を見つけるか、トランシーバモード接続可能なホーム端末がなくなるまで検索を行う。検索の結果、障害のない基地局が見つかった場合は、返送された端末IDのホーム端末まではトランシーバモードで順次移動エージェントを送信し、検索結果の端末からは基地局を経由して通信を行う。
【００９６】
図２５に移動エージェントの巡回リストの一例を示し、基地局に障害が発生した場合の障害回避方法について具体的に説明する。グループ１は一つの巡回リストで、ホーム端末A1から巡回を開始し、図中の矢印が示す順に巡回する。また、巡回リストの前後のホーム端末同士はトランシーバモードでの通信が可能である。ホーム端末B2で、移動エージェントの巡回が終了し基地局Bを経由してサーバにエージェントを戻す時点になって、基地局Bに障害が発生していることがわかった場合、ホーム端末B2は、ホーム端末B1に基地局検索要求を出す。ホーム端末B1は自分が接続する基地局(B)も障害発生中であることから、さらにホーム端末A4に基地局検索要求を送信する。基地局検索要求を受け取ったホーム端末A4は自分の基地局Aが正常に機能していることを確認し、自分のホーム端末IDをホーム端末B1に返送する。ホーム端末B1はこの回答をホーム端末B2に送信する。検索回答を受け取ったホーム端末B2は、ホーム端末A4まではトランシーバモード通信で送り、ホーム端末A4からは基地局Aを経由して、移動エージェントをサーバに戻す。
【００９７】
上記のように、一つの巡回リストにホーム端末から接続する基地局を二つ以上含むように巡回リストを作成することにより、一つの基地局に障害が発生した場合にトランシーバモード通信で障害のない基地局に接続するホーム端末に移動エージェントを移動し、そこからサーバや他の基地局のホーム端末に移動エージェントを送信することにより、障害回避が可能となる。
【００９８】
なお、図２６に示すように、本実施例を実行するシステムのホーム端末装置101には、トランシーバモード通信可能なホーム端末情報2601を格納している。
【００９９】
本実施例を実現するために、上記の実施例における移動エージェント配信プログラム106に含まれる配信区域分割処理部304と、ホーム端末の移動エージェント実行プログラム117の処理内容を修正する必要がある。以下、配信区域分割処理部304の処理フローのフローチャートを図２７に、移動エージェント実行プログラム117の処理フローのフローチャートを図２８、図２９に示す。
【０１００】
処理2701：巡回先のホーム端末群をトランシーバモード接続グループに分ける。グループを形成できないホーム端末のみを通信管理区域でソートし、同一区域内は住所でソートする。
【０１０１】
処理2702：全体の巡回にかかる予測時間を巡回時間予測処理で算出する。巡回時間予測処理についての詳細なフローについては図１６を用いて前述している。
【０１０２】
処理2703：処理2702で算出した予測時間が規定の配信制限時間より大きい場合は処理2704に進み、それ以外は配信区域分割処理を終了して、関数呼び出し元に戻る。
【０１０３】
処理2704：トランシーバモード接続グループ全てに対して、処理2705、処理2706を行い、終了後、処理2707に進む。
【０１０４】
処理2705： 一つのグループの巡回予測時間を巡回時間予測処理で算出する。
【０１０５】
処理2706： グループの予測時間の合計が規定の配信制限時間を超えないようにグループを統合する。
【０１０６】
処理2707： グループを形成しなかったホーム端末全てを巡回する予測時間が規定の配信制限時間を越える場合は処理2708に進み、それ以外は本配信区域分割処理を終了し呼び出し元に戻る。
【０１０７】
処理2708： グループを形成しなかったホーム端末を通信管理区域毎のグループに分割する。
【０１０８】
処理2709： 処理2708で分割したグループに対し処理2710、処理2711、処理2712を行い、全てのグループへの処理終了後、本配信区域分割処理を終了し呼び出し元に戻る。
【０１０９】
処理2710： 一つのグループの巡回予測時間を算出する。
【０１１０】
処理2711： 処理2710で算出した巡回予測時間が規定配信制限時間より大きい場合は処理2712に進み、それ以外は処理2709に戻る。
【０１１１】
処理2712： 巡回予測時間が規定の配信制限時間を超えないようなグループに分割する。
【０１１２】
ホーム端末における移動エージェント実行プログラム117を、基地局障害時の回避処理も含めて図２８に示し、以下に説明する。
【０１１３】
処理2801： イベントキューからイベントを読み込む。
【０１１４】
処理2802： イベントが移動エージェント受信の場合、処理2803に進みそれ以外は処理2809に進む。
【０１１５】
処理2803： 実行すべきサービスプログラムを全て終了するまで処理2804を繰り返し、終了後処理2805に進む。
【０１１６】
処理2804： サービスプログラムを実行する。
【０１１７】
処理2805： 次の配信先への接続の可・不可を検知し、接続可の場合は処理2806に進み、接続不可の場合は処理2816に進む。
【０１１８】
処理2806： 次の配信先のセンタ署名認証処理を行い、認証された場合は処理2807に進み、それ以外は処理2819に進む。
【０１１９】
処理2807： 次の配信先に配信可能状態かどうかを問い合わせ、配信可能状態なら処理2808に進み、それ以外は処理2818に進む。
【０１２０】
処理2808： エージェントを次の配信先に配信する。
【０１２１】
処理2809： センタサーバからの巡回リスト待ち状態で、かつイベントが巡回リスト受信の場合、処理2810に進み、それ以外は処理2811に進む。
【０１２２】
処理2810： 巡回リスト待ち状態を終了し、処理2805に進む。
【０１２３】
処理2811： イベントが配信可能状態問い合わせ受信の場合処理2812に進み、それ以外は処理2813に進む。
【０１２４】
処理2812： 配信可能状態の可否を返送する。
【０１２５】
処理2813： イベントが認証要求受信の場合処理2814に進み、それ以外は処理2815に進む。
【０１２６】
処理2814： センタ署名の認証処理を行い、その結果を返送する。
【０１２７】
処理2815： 基地局障害回避処理を行う。基地局障害回避処理の処理フローは図２９に示し、後述する。
【０１２８】
処理2816： 接続基地局に障害がある場合は処理2817に進み、それ以外は処理2819に進む。
【０１２９】
処理2817： 当該ホーム端末からトランシーバモード通信可能な端末へ、正常基地局検索要求を送信する。当該ホーム端末を検索要求発生端末とし、状態を検索回答待ち状態とする。
【０１３０】
処理2818： 次の配信先が配信可能状態となる待ち状態の場合で、待ち時間が規定値を越えた場合は処理2819に進み、超えないうちは処理2807に戻る。
【０１３１】
処理2819： 障害メッセージを生成し、センタサーバに発信する。センタからの返信(障害回避巡回リスト)待ち状態となる。
【０１３２】
次に、上述した移動エージェント実行プログラム117からコールされる基地局障害回避処理の処理フローを図２９に示し、以下に説明する。
【０１３３】
処理2901： 状態が基地局検索回答待ち状態で、かつイベントが検索回答受信の場合、処理2902に進み、それ以外は処理2907に進む。
【０１３４】
処理2902： 検索回答がNULLの場合処理2912に進み、それ以外は処理2903に進む。
【０１３５】
処理2903： 当該ホーム端末が検索要求発生端末である場合は処理2904に進み、それ以外は処理2906に進む。
【０１３６】
処理2904： 検索回答のホーム端末を経由して、エージェントの送信とセンタへの障害報告を送信する。
【０１３７】
処理2905： 基地局検索回答待ち状態を終了する。
【０１３８】
処理2906： 検索要求送信元に検索回答を送信する。
【０１３９】
処理2907： イベントが基地局検索要求の受信である場合には処理2908に進み、それ以外の場合は本基地局障害回避処理を終了し、呼び出し元に戻る。
【０１４０】
処理2908： 当該ホーム端末の接続基地局に異常がない場合は処理2909に進み、それ以外は処理2910に進む。
【０１４１】
処理2909： 検索回答として、当該ホーム端末のIDを返信し、基地局障害回避処理を終了し呼び出し元に戻る。
【０１４２】
処理2910： 未検索のトランシーバモード接続可能端末がない場合は処理2911に進み、それ以外は処理2912に進む。
【０１４３】
処理2911： 検索回答としてNULLを返送し、基地局障害回避処理を終了し呼び出し元に戻る。
【０１４４】
処理2912： 当該ホーム端末からトランシーバモード接続可能な端末全てについて検索が終了している場合は処理2906に進み、それ以外は処理2913に進む。
【０１４５】
処理2913： 検索未済みのトランシーバモード接続可能な端末に、正常な基地局検索の要求を送信し、基地局検索回答待ち状態となり、基地局障害回避処理を終了し呼び出し元に戻る。
【０１４６】
【発明の効果】
以上述べたように本発明によれば、移動エージェントを配信するサーバにおいて、エージェントプログラムから巡回リストを切り離して管理し、巡回先のホーム端末情報と巡回先で実行するプログラムの情報とから巡回にかかる時間を予測し、必要に応じて巡回先を複数のグループに分割して配信することにより、巡回にかかる時間を制御可能とする。
【図面の簡単な説明】
【図１】本発明を実現するシステム全体の構成及び、ハードウェア構成の一例を示す。
【図２】本発明を実現するシステム全体における処理の流れを示す。
【図３】本発明を実現するサーバにおけるソフトウェア構成の一例とデータの流れを示す。
【図４】本発明を実現するホーム端末におけるソフトウェア構成の一例とデータの流れを示す。
【図５】サーバにおいて移動エージェント配信プログラムが使用する契約データの構成要素とデータ形式の一例を示す。
【図６】サーバにおいて移動エージェント配信プログラムが使用するサービスプログラムデータの構成要素とデータ形式の一例を示す。
【図７】サーバにおいて移動エージェント配信プログラムが使用する障害データの構成要素とデータ形式の一例を示す。
【図８】サーバにおいて移動エージェント配信プログラムが使用するサービススケジュール管理データの構成要素とデータ形式の一例を示す。
【図９】サーバにおいて移動エージェント配信プログラムが生成、配信する移動エージェントの構成要素とデータ形式の一例を示す。
【図１０】障害時にホーム端末からサーバに送られる障害メッセージの構成要素とデータ形式の一例を示す。
【図１１】サーバにおいて移動エージェント配信プログラムが使用する移動エージェント実行状態管理データの構成要素とデータ形式の一例を示す。
【図１２】移動エージェント巡回中における障害時の処理の流れを示す。
【図１３】サーバにおけるイベント処理ルーチンのフローチャートである。
【図１４】図１３に示したプログラムから起動されるエージェント配信処理のフローチャートである。
【図１５】図１４に示したプログラムから起動される配信区域分割処理のフローチャートである。
【図１６】図１５に示したプログラムから起動される巡回時間予測処理のフローチャートである。
【図１７】図１３に示したプログラムから起動される移動エージェント終了処理のフローチャートである。
【図１８】図１３に示したプログラムから起動されるメッセージ着信処理のフローチャートである。
【図１９】サーバにおいて、イベント処理ルーチンとは独立して動作するサービススケジュール管理ルーチンのフローチャートである。
【図２０】ホーム端末における移動エージェント実行処理を含むイベント処理ルーチンのフローチャートである。
【図２１】移動エージェント巡回中に特定の障害が起きた場合、またはサーバの管理者が要求した場合に、サーバの表示装置に表示する移動エージェントの実行状況を示す表示画面の一例である。
【図２２】本発明を基地局を介して接続する通信方法を使用して実現するシステムの全体構成の一例を示す。
【図２３】サーバにおいて移動エージェント配信プログラムが使用する契約データの構成要素とデータ形式の一例を示す図である。
【図２４】図２３に示した契約データを元に生成する、トランシーバモード接続可能な端末を一つのグループにまとめたテーブルデータの例を示す。
【図２５】本発明を実現するシステムにおける移動エージェントの巡回リストグループの例を示す。
【図２６】本発明を実現するホーム端末におけるソフトウェア構成の一例とデータの流れ
を示す。
【図２７】図１４に示したプログラムから起動される配信区域分割処理のフローチャート
である。
【図２８】ホーム端末における移動エージェント実行処理を含むイベント処理ルーチンの
フローチャートである。
【図２９】図２８に示したプログラムから起動される基地局障害回避処理のフローチャー
トである。
【符号の説明】
100…サーバ、101… 2次記憶装置、102… 主記憶装置、103… 中央処理装置、104… 通信装置、105… 基本制御プログラム、106… 移動エージェント配信プログラム、107…通信プログラム、108…データベース保守管理プログラム、109…通信装置、110…ホーム端末装置、111…2次記憶装置、112…主記憶装置、113…中央処理装置、114…通信装置、115…ホームネットワーク通信装置、116…基本制御プログラム、117…移動エージェント実行プログラム、118…ホームネットワーク通信プログラム、119…インターネット通信プログラム
【図１】
0003861559.tif 000002
【図２】
0003861559.tif 000003
【図３】
0003861559.tif 000004
【図４】
0003861559.tif 000005
【図５】
0003861559.tif 000006
【図６】
0003861559.tif 000007
【図７】
0003861559.tif 000008
【図８】
0003861559.tif 000009
【図９】
0003861559.tif 000010
【図１０】
0003861559.tif 000011
【図１１】
0003861559.tif 000012
【図１２】
0003861559.tif 000013
【図１３】
0003861559.tif 000014
【図１４】
0003861559.tif 000015
【図１５】
0003861559.tif 000016
【図１６】
0003861559.tif 000017
【図１７】
0003861559.tif 000018
【図１８】
0003861559.tif 000019
【図１９】
0003861559.tif 000020
【図２０】
0003861559.tif 000021
【図２１】
0003861559.tif 000022
【図２２】
0003861559.tif 000023
【図２３】
0003861559.tif 000024
【図２４】
0003861559.tif 000025
【図２５】
0003861559.tif 000026
【図２６】
0003861559.tif 000027
【図２７】
0003861559.tif 000028
【図２８】
0003861559.tif 000029
【図２９】
0003861559.tif 000030