(57)【要約】   【課題】  受信者が受信したいメッセージを受信したい形式で適切に受信でき、かつ、送信者が送信したいメッセージを適切な形式で送信できる。  【解決手段】  エッジルータ１６は、問い合わせを実行すべきトリガを示す外部問い合わせトリガ、問い合わせすべき所定の外部システムや問い合わせ内容を特定する情報を含む問い合わせ内容、および、問い合わせ結果に基づいて受信条件および／または変換条件をどのように変更するかを示す条件変更内容を含むイベント情報３０と、受信すべきメッセージを規定した受信条件３２と、メッセージを変更する手法を示す変換条件３４と記憶した記憶部２８を備え、問い合わせ処理部２８が、受信したメッセージが、外部問い合わせトリガに合致する場合に、問い合わせ内容に示す外部システムに問い合わせて問い合わせ結果を受信し、問い合わせ結果および条件変更内容に基づいて、受信条件および／または変換条件を更新する。【選択図】  図１
2008311701.tif 000002
【特許請求の範囲】
【請求項１】
送信者の端末装置であるパブリッシャ端末装置に接続され、当該パブリッシャ端末装置から送信されたメッセージをネットワークに送出するパブリッシャ側エッジルータとして機能する場合に、前記パブリッシャ端末装置から受信したメッセージを、メッセージを変更する手法を示す変換条件にしたがって、変更されたメッセージを、前記ネットワークに送出し、
受信者の端末装置であるサブスクライバ端末装置に接続され、ネットワークを介して伝送されたメッセージを、前記サブスクライバ端末装置に送信するサブスクライバ側エッジルータとして機能する場合に、前記サブスクライバ端末装置が受信すべきメッセージを規定した受信条件に合致するメッセージを受信し、メッセージを変更する手法を示す変換条件にしたがって、変更されたメッセージを、前記サブスクライバ端末装置に送信するエッジルータを有するデータ通信システムにおいて、
前記エッジルータが、
前記受信条件および／または変換条件と、
所定のメッセージを受信したときに問い合わせを実行すべきトリガを示す外部問い合わせトリガ、ネットワークを介して接続された、問い合わせすべき所定の外部システム、および、当該問い合わせ内容を特定する情報を含む問い合わせ内容、および、外部システムからの問い合わせ結果に基づいて、受信条件および／または変換条件をどのように変更するかを示す条件変更内容を含むイベント情報と、を記憶した記憶手段を備え、
前記エッジルータにおいて、
メッセージを受信したときに、前記受信したメッセージが、前記イベント情報中の外部問い合わせトリガに合致するか否かを判断するステップと、
前記受信したメッセージが、前記外部問い合わせトリガに合致する場合に、前記イベント情報中の問い合わせ内容に基づいて、前記問い合わせ内容に示す外部システムに問い合わせるステップと、
前記外部システムからの問い合わせ結果を受信するステップと、
前記受信した問い合わせ結果、および、前記イベント情報中の条件変更内容に基づいて、前記受信条件および／または前記変換条件を更新するステップと、を備えたことを特徴とするデータ通信方法。
【請求項２】
前記エッジルータが、前記パブリッシャ側エッジルータとして機能する場合に、
前記外部問い合わせトリガが、前記パブリッシャ端末装置の接続時、前記外部システムからのデータ受信時、および、前記パブリッシャ端末装置からのメッセージ受信時の何れかであり、
前記エッジルータが、前記サブスクライバ側エッジルータとして機能する場合に、
前記外部問い合わせトリガが、前記サブスクライバ端末装置の接続時、前記外部システムからのデータ受信時、および、前記パブリッシャ端末装置からのメッセージ受信時の何れかであることを特徴とする請求項１に記載のデータ通信方法。
【請求項３】
前記外部問い合わせトリガが、所定のタイミングで実行されるタイマ処理時であり、
前記エッジルータにおいて、
前記タイマ処理の際に、前記イベント情報中の問い合わせ内容に基づいて、前記問い合わせ内容に示す外部システムに問い合わせるステップと、
前記外部システムからの問い合わせ結果を受信するステップと、
前記受信した問い合わせ結果、および、前記イベント情報中の条件変更内容に基づいて、前記受信条件および／または前記変換条件を更新するステップと、を備えたことを特徴とする請求項１に記載のデータ通信方法。
【請求項４】
前記外部問い合わせトリガが、前記エッジルータの内部状態が所定の条件を満たしたときであり、
前記エッジルータにおいて、
前記エッジルータの前記内部状態が所定の条件を満たしたときに、前記イベント情報中の問い合わせ内容に基づいて、前記問い合わせ内容に示す外部システムに問い合わせるステップと、
前記外部システムからの問い合わせ結果を受信するステップと、
前記受信した問い合わせ結果、および、前記イベント情報中の条件変更内容に基づいて、前記受信条件および／または前記変換条件を更新するステップと、を備えたことを特徴とする請求項１に記載のデータ通信方法。
【請求項５】
前記ネットワークに接続された外部システムが統計システムであり、
前記統計システムにおいて、
前記サブスクライバ側エッジルータに記憶された、前記サブスクライバ端末装置に関する受信条件および／または変換条件、或いは、前記パブリッシャ側エッジルータに記憶された、前記パブリッシャ端末装置に関する変換条件を取得するステップと、
前記サブスクライバ端末装置に関する受信条件および／または変換条件、或いは、前記パブリッシャ端末装置に関する変換条件についての統計情報を生成するステップと、
前記統計情報を含むメッセージを、前記パブリッシャ側エッジルータに送信するステップと、を備え、
前記パブリッシャ側エッジルータにおいて、
前記統計システムから受信したメッセージに含まれる統計情報、および、前記イベント情報中の条件変更内容に基づいて、前記変換条件を更新するステップを備えたことを特徴とする請求項１に記載のデータ通信方法。
【請求項６】
前記ネットワークに接続された外部システムが統計システムであり、
前記統計システムにおいて、
前記サブスクライバ側エッジルータに記憶された、前記サブスクライバ端末装置に関する受信条件および／または変換条件或いは、前記パブリッシャ側エッジルータに記憶された、前記パブリッシャ端末装置に関する変換条件を取得するステップと、
前記サブスクライバ端末装置に関する受信条件および／または変換条件、或いは、前記パブリッシャ端末装置に関する変換条件についての統計情報を生成するステップと、
前記統計情報を含むメッセージを、前記サブスクライバ側エッジルータに送信するステップと、を備え、
前記サブスクライバ側エッジルータにおいて、
前記統計システムから受信したメッセージに含まれる統計情報、および、前記イベント情報中の条件変更内容に基づいて、前記受信条件および／または変換条件を更新するステップを備えたことを特徴とする請求項１に記載のデータ通信方法。
【請求項７】
前記ネットワーク中を伝送されるメッセージが論理的に階層化され、前記エッジルータが前記メッセージを変更して他の階層のメッセージを生成するように構成され、前記メッセージに当該メッセージが属する階層を示す情報が付加され、
前記イベント情報が、外部システムからの問い合わせ結果に基づいて、前記メッセージをどのように変更するかを示すメッセージ変更内容を含み、
前記エッジルータにおいて、
前記特定の階層を示すメッセージの受信を外部問い合わせトリガとして、前記イベント情報中の問い合わせ内容に示す外部システムに問い合わせるステップと、
前記外部システムからの問い合わせ結果を受信するステップと、
前記受信した問い合わせ結果、および、前記イベント情報中のメッセージ変更内容に基づいて、前記メッセージおよび当該メッセージの属する階層を示す情報を変更するステップと、
前記変更されたメッセージを、前記ネットワークに送出するステップと、を備えたことを特徴とする請求項１に記載のデータ通信方法。
【請求項８】
送信者の端末装置であるパブリッシャ端末装置に接続され、当該パブリッシャ端末装置から送信されたメッセージをネットワークに送出するパブリッシャ側エッジルータとして機能する場合に、前記パブリッシャ端末装置から受信したメッセージを、メッセージを変更する手法を示す変換条件にしたがって、変更されたメッセージを、前記ネットワークに送出し、
受信者の端末装置であるサブスクライバ端末装置に接続され、ネットワークを介して伝送されたメッセージを、前記サブスクライバ端末装置に送信するサブスクライバ側エッジルータとして機能する場合に、前記サブスクライバ端末装置が受信すべきメッセージを規定した受信条件に合致するメッセージを受信し、メッセージを変更する手法を示す変換条件にしたがって、変更されたメッセージを、前記サブスクライバ端末装置に送信するエッジルータを有するデータ通信システムにおいて、
前記受信条件および／または変換条件と、
所定のメッセージを受信したときに問い合わせを実行すべきトリガを示す外部問い合わせトリガ、ネットワークを介して接続された、問い合わせすべき所定の外部システム、および、当該問い合わせ内容を特定する情報を含む問い合わせ内容、および、外部システムからの問い合わせ結果に基づいて、受信条件および／または変換条件をどのように変更するかを示す条件変更内容を含むイベント情報と、を記憶した記憶手段を備えたエッジルータであって、
メッセージを受信したときに、前記受信したメッセージが、前記イベント情報中の外部問い合わせトリガに合致するか否かを判断し、前記受信したメッセージが、前記外部問い合わせトリガに合致する場合に、前記イベント情報中の問い合わせ内容に基づいて、前記問い合わせ内容に示す外部システムに問い合わせ、前記外部システムからの問い合わせ結果を受信する外部問い合わせ手段と、
前記受信した問い合わせ結果、および、前記イベント情報中の条件変更内容に基づいて、前記受信条件および／または前記変換条件を更新する更新手段と、を備えたことを特徴とするエッジルータ。
【請求項９】
前記パブリッシャ側エッジルータとして機能する場合に、
前記外部問い合わせトリガが、前記パブリッシャ端末装置の接続時、前記外部システムからのデータ受信時、および、前記パブリッシャ端末装置からのメッセージ受信時の何れかであり、
前記サブスクライバ側エッジルータとして機能する場合に、
前記外部問い合わせトリガが、前記サブスクライバ端末装置の接続時、前記外部システムからのデータ受信時、および、前記パブリッシャ端末装置からのメッセージ受信時の何れかであることを特徴とする請求項８に記載のエッジルータ。
【請求項１０】
前記外部問い合わせトリガが、所定のタイミングで実行されるタイマ処理時であり、
前記外部問い合わせ手段が、前記所定のタイミングで実行されるタイマ処理時に、前記イベント情報中の問い合わせ内容に基づいて、前記問い合わせ内容に示す外部システムに問い合わせ、前記外部システムからの問い合わせ結果を受信し、
前記更新手段が、前記受信した問い合わせ結果、および、前記イベント情報中の条件変更内容に基づいて、前記受信条件および／または前記変換条件を更新することを特徴とする請求項８に記載のエッジルータ。
【請求項１１】
前記外部問い合わせトリガが、前記エッジルータの内部状態が所定の条件を満たしたときであり、
前記外部問い合わせ手段が、前記エッジルータの前記内部状態が所定の条件を満たしたときに、前記イベント情報中の問い合わせ内容に基づいて、前記問い合わせ内容に示す外部システムに問い合わせ、外部システムからの問い合わせ結果を受信し、
前記更新手段が、前記受信した問い合わせ結果、および、前記イベント情報中の条件変更内容に基づいて、前記受信条件および／または前記変換条件を更新することを特徴とする請求項８に記載のエッジルータ。
【請求項１２】
前記ネットワークに接続された外部システムが、前記サブスクライバ側エッジルータに記憶された、前記サブスクライバ端末装置に関する受信条件および／または変換条件、或いは、前記パブリッシャ側エッジルータに記憶された、前記パブリッシャ端末装置に関する変換条件について生成された統計情報を取得し、当該統計情報を含むメッセージを送信する統計システムであり、
前記更新手段が、前記統計システムから受信したメッセージに含まれる統計情報、および、前記イベント情報中の条件変更内容に基づいて、前記受信条件および／または変換条件を更新することを特徴とする請求項８に記載のエッジルータ。
【請求項１３】
前記ネットワーク中を伝送されるメッセージが論理的に階層化され、前記エッジルータが前記メッセージを変更して他の階層のメッセージを生成するように構成され、前記メッセージに当該メッセージが属する階層を示す情報が付加され、
前記イベント情報が、外部システムからの問い合わせ結果に基づいて、前記メッセージをどのように変更するかを示すメッセージ変更内容を含み、
前記外部問い合わせ手段が、前記特定の階層を示すメッセージの受信を外部問い合わせトリガとして、前記イベント情報中の問い合わせ内容に示す外部システムに問い合わせ、前記外部システムからの問い合わせ結果を受信し、
前記更新手段が、前記受信した問い合わせ結果、および、前記イベント情報中のメッセージ変更内容に基づいて、前記メッセージおよび当該メッセージの属する階層を示す情報を変更し、前記変更されたメッセージを、前記ネットワークに送出することを特徴とする請求項８に記載のエッジルータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、送信者が宛先を明示せず送信したメッセージを受信者が受信するデータ通信方法およびエッジルータに関する。
【背景技術】
【０００２】
従来、送信者が情報を送信する場合には、送信者の端末装置において、明示的に宛先を指定して、情報を送信する必要があった。上記明示的な宛先として、メールアドレスやＵＲＬが知られている。
【０００３】
これに対して、送信者は宛先を特定せずにネットワーク中にメッセージを送出し、ルータがメッセージの内容などを参照してルーティングし、そのメッセージを必要としている受信者に、当該メッセージを届けるようなデータ通信システムが実用化されている（特許文献１、特許文献２）。
【０００４】
上述するようなデータ通信システムは、メッセージングネットワークと称され、以下のような特徴を有している。
【０００５】
送信者（パブリッシャ）は、宛先を意識することなく、ただネットワークのどこかに向けてメッセージを送信するだけでよい。
【０００６】
また、受信者（サブスクライバ）は、予め受信したいメッセージに関する条件を設定しておくだけでよい。条件は、たとえば、受信者の端末装置（サブスクライバ端末装置）に接続されたエッジルータの記憶部に記憶されており、エッジルータにより参照される。
【０００７】
さらに、メッセージングネットワークでは、たとえば、送信者の端末装置（パブリッシャ端末装置）が、当該パブリッシャ端末装置に接続されたエッジルータの記憶部に、メッセージを変換・加工する手法を示す条件を記憶しておくことも可能である。この場合には、パブリッシャ端末装置から送信されたメッセージは、当該パブリッシャ端末装置に接続されたエッジルータにおいて、条件にしたがって変換・加工されて、ネットワークに送出される。
【特許文献１】特開２００６−２０３９０４号公報
【特許文献２】特開２００１−２９１０４４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
従来のメッセージングネットワークにおいて、エッジルータに登録しておく条件は固定的なものである。たとえば、受信したいメッセージに関する条件を変更したい場合には、サブスクライバ端末装置が、当該サブスクライバ端末装置に接続されたエッジルータに、変更された条件を通知する必要がある。
【０００９】
同様に、パブリッシャ端末装置も、送出するメッセージの変換・加工する手法を示す条件を変更したい場合には、パブリッシャ端末装置が、当該パブリッシャ端末装置に接続されたエッジルータに、変更された条件を通知する必要がある。
【００１０】
本発明は、受信者が受信したいメッセージを受信したい形式で適切に受信でき、かつ、送信者が送信したいメッセージを適切な形式で送信できるようなデータ通信方法およびエッジルータを提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明の目的は、送信者の端末装置であるパブリッシャ端末装置に接続され、当該パブリッシャ端末装置から送信されたメッセージをネットワークに送出するパブリッシャ側エッジルータとして機能する場合に、前記パブリッシャ端末装置から受信したメッセージを、メッセージを変更する手法を示す変換条件にしたがって、変更されたメッセージを、前記ネットワークに送出し、
受信者の端末装置であるサブスクライバ端末装置に接続され、ネットワークを介して伝送されたメッセージを、前記サブスクライバ端末装置に送信するサブスクライバ側エッジルータとして機能する場合に、前記サブスクライバ端末装置が受信すべきメッセージを規定した受信条件に合致するメッセージを受信し、メッセージを変更する手法を示す変換条件にしたがって、変更されたメッセージを、前記サブスクライバ端末装置に送信するエッジルータを有するデータ通信システムにおいて、
前記エッジルータが、
前記受信条件および／または変換条件と、
所定のメッセージを受信したときに問い合わせを実行すべきトリガを示す外部問い合わせトリガ、ネットワークを介して接続された、問い合わせすべき所定の外部システム、および、当該問い合わせ内容を特定する情報を含む問い合わせ内容、および、外部システムからの問い合わせ結果に基づいて、受信条件および／または変換条件をどのように変更するかを示す条件変更内容を含むイベント情報と、を記憶した記憶手段を備え、
前記エッジルータにおいて、
メッセージを受信したときに、前記受信したメッセージが、前記イベント情報中の外部問い合わせトリガに合致するか否かを判断するステップと、
前記受信したメッセージが、前記外部問い合わせトリガに合致する場合に、前記イベント情報中の問い合わせ内容に基づいて、前記問い合わせ内容に示す外部システムに問い合わせるステップと、
前記外部システムからの問い合わせ結果を受信するステップと、
前記受信した問い合わせ結果、および、前記イベント情報中の条件変更内容に基づいて、前記受信条件および／または前記変換条件を更新するステップと、を備えたことを特徴とするデータ通信方法により達成される。
【００１２】
好ましい実施態様においては、前記エッジルータが、前記パブリッシャ側エッジルータとして機能する場合に、
前記外部問い合わせトリガが、前記パブリッシャ端末装置の接続時、前記外部システムからのデータ受信時、および、前記パブリッシャ端末装置からのメッセージ受信時の何れかであり、
前記エッジルータが、前記サブスクライバ側エッジルータとして機能する場合に、
前記外部問い合わせトリガが、前記サブスクライバ端末装置の接続時、前記外部システムからのデータ受信時、および、前記パブリッシャ端末装置からのメッセージ受信時の何れかである。
【００１３】
また、好ましい実施態様においては、前記外部問い合わせトリガが、所定のタイミングで実行されるタイマ処理時であり、
前記エッジルータにおいて、
前記タイマ処理の際に、前記イベント情報中の問い合わせ内容に基づいて、前記問い合わせ内容に示す外部システムに問い合わせるステップと、
前記外部システムからの問い合わせ結果を受信するステップと、
前記受信した問い合わせ結果、および、前記イベント情報中の条件変更内容に基づいて、前記受信条件および／または前記変換条件を更新するステップと、を備える。
【００１４】
さらに別の好ましい実施態様においては、前記外部問い合わせトリガが、前記エッジルータの内部状態が所定の条件を満たしたときであり、
前記エッジルータにおいて、
前記エッジルータの前記内部状態が所定の条件を満たしたときに、前記イベント情報中の問い合わせ内容に基づいて、前記問い合わせ内容に示す外部システムに問い合わせるステップと、
前記外部システムからの問い合わせ結果を受信するステップと、
前記受信した問い合わせ結果、および、前記イベント情報中の条件変更内容に基づいて、前記受信条件および／または前記変換条件を更新するステップと、を備える。  別の好ましい実施態様においては、前記ネットワークに接続された外部システムが統計システムであり、
前記統計システムにおいて、
前記サブスクライバ側エッジルータに記憶された、前記サブスクライバ端末装置に関する受信条件および／または変換条件、或いは、前記パブリッシャ側エッジルータに記憶された、前記パブリッシャ端末装置に関する変換条件を取得するステップと、
前記サブスクライバ端末装置に関する受信条件および／または変換条件、或いは、前記パブリッシャ端末装置に関する変換条件についての統計情報を生成するステップと、
前記統計情報を含むメッセージを、前記パブリッシャ側エッジルータに送信するステップと、を備え、
前記パブリッシャ側エッジルータにおいて、
前記統計システムから受信したメッセージに含まれる統計情報、および、前記イベント情報中の条件変更内容に基づいて、前記変換条件を更新するステップを備える。
【００１５】
また、別の好ましい実施態様においては、前記ネットワークに接続された外部システムが統計システムであり、
前記統計システムにおいて、
前記サブスクライバ側エッジルータに記憶された、前記サブスクライバ端末装置に関する受信条件および／または変換条件或いは、前記パブリッシャ側エッジルータに記憶された、前記パブリッシャ端末装置に関する変換条件を取得するステップと、
前記サブスクライバ端末装置に関する受信条件および／または変換条件、或いは、前記パブリッシャ端末装置に関する変換条件についての統計情報を生成するステップと、
前記統計情報を含むメッセージを、前記サブスクライバ側エッジルータに送信するステップと、を備え、
前記サブスクライバ側エッジルータにおいて、
前記統計システムから受信したメッセージに含まれる統計情報、および、前記イベント情報中の条件変更内容に基づいて、前記受信条件および／または変換条件を更新するステップを備えている。
【００１６】
さらに別の好ましい実施態様においては、前記ネットワーク中を伝送されるメッセージが論理的に階層化され、前記エッジルータが前記メッセージを変更して他の階層のメッセージを生成するように構成され、前記メッセージに当該メッセージが属する階層を示す情報が付加され、
前記イベント情報が、外部システムからの問い合わせ結果に基づいて、前記メッセージをどのように変更するかを示すメッセージ変更内容を含み、
前記エッジルータにおいて、
前記特定の階層を示すメッセージの受信を外部問い合わせトリガとして、前記イベント情報中の問い合わせ内容に示す外部システムに問い合わせるステップと、
前記外部システムからの問い合わせ結果を受信するステップと、
前記受信した問い合わせ結果、および、前記イベント情報中のメッセージ変更内容に基づいて、前記メッセージおよび当該メッセージの属する階層を示す情報を変更するステップと、
前記変更されたメッセージを、前記ネットワークに送出するステップと、を備えている。
【００１７】
また、本発明の目的は、送信者の端末装置であるパブリッシャ端末装置に接続され、当該パブリッシャ端末装置から送信されたメッセージをネットワークに送出するパブリッシャ側エッジルータとして機能する場合に、前記パブリッシャ端末装置から受信したメッセージを、メッセージを変更する手法を示す変換条件にしたがって、変更されたメッセージを、前記ネットワークに送出し、
受信者の端末装置であるサブスクライバ端末装置に接続され、ネットワークを介して伝送されたメッセージを、前記サブスクライバ端末装置に送信するサブスクライバ側エッジルータとして機能する場合に、前記サブスクライバ端末装置が受信すべきメッセージを規定した受信条件に合致するメッセージを受信し、メッセージを変更する手法を示す変換条件にしたがって、変更されたメッセージを、前記サブスクライバ端末装置に送信するエッジルータを有するデータ通信システムにおいて、
前記受信条件および／または変換条件と、
所定のメッセージを受信したときに問い合わせを実行すべきトリガを示す外部問い合わせトリガ、ネットワークを介して接続された、問い合わせすべき所定の外部システム、および、当該問い合わせ内容を特定する情報を含む問い合わせ内容、および、外部システムからの問い合わせ結果に基づいて、受信条件および／または変換条件をどのように変更するかを示す条件変更内容を含むイベント情報と、を記憶した記憶手段を備えたエッジルータであって、
メッセージを受信したときに、前記受信したメッセージが、前記イベント情報中の外部問い合わせトリガに合致するか否かを判断し、前記受信したメッセージが、前記外部問い合わせトリガに合致する場合に、前記イベント情報中の問い合わせ内容に基づいて、前記問い合わせ内容に示す外部システムに問い合わせ、前記外部システムからの問い合わせ結果を受信する外部問い合わせ手段と、
前記受信した問い合わせ結果、および、前記イベント情報中の条件変更内容に基づいて、前記受信条件および／または前記変換条件を更新する更新手段と、を備えたことを特徴とするエッジルータにより達成される。
【００１８】
好ましい実施態様においては、前記パブリッシャ側エッジルータとして機能する場合に、
前記外部問い合わせトリガが、前記パブリッシャ端末装置の接続時、前記外部システムからのデータ受信時、および、前記パブリッシャ端末装置からのメッセージ受信時の何れかであり、
前記サブスクライバ側エッジルータとして機能する場合に、
前記外部問い合わせトリガが、前記サブスクライバ端末装置の接続時、前記外部システムからのデータ受信時、および、前記パブリッシャ端末装置からのメッセージ受信時の何れかである。
【００１９】
別の好ましい実施態様においては、前記外部問い合わせトリガが、所定のタイミングで実行されるタイマ処理時であり、
前記外部問い合わせ手段が、前記所定のタイミングで実行されるタイマ処理時に、前記イベント情報中の問い合わせ内容に基づいて、前記問い合わせ内容に示す外部システムに問い合わせ、前記外部システムからの問い合わせ結果を受信し、
前記更新手段が、前記受信した問い合わせ結果、および、前記イベント情報中の条件変更内容に基づいて、前記受信条件および／または前記変換条件を更新する。
【００２０】
さらに別の好ましい実施態様においては、前記外部問い合わせトリガが、前記エッジルータの内部状態が所定の条件を満たしたときであり、
前記外部問い合わせ手段が、前記エッジルータの前記内部状態が所定の条件を満たしたときに、前記イベント情報中の問い合わせ内容に基づいて、前記問い合わせ内容に示す外部システムに問い合わせ、外部システムからの問い合わせ結果を受信し、
前記更新手段が、前記受信した問い合わせ結果、および、前記イベント情報中の条件変更内容に基づいて、前記受信条件および／または前記変換条件を更新する。
【００２１】
また、別の好ましい実施態様においては、前記ネットワークに接続された外部システムが、前記サブスクライバ側エッジルータに記憶された、前記サブスクライバ端末装置に関する受信条件および／または変換条件、或いは、前記パブリッシャ側エッジルータに記憶された、前記パブリッシャ端末装置に関する変換条件について生成された統計情報を取得し、当該統計情報を含むメッセージを送信する統計システムであり、
前記更新手段が、前記統計システムから受信したメッセージに含まれる統計情報、および、前記イベント情報中の条件変更内容に基づいて、前記受信条件および／または変換条件を更新する。
【００２２】
さらに別の好ましい実施態様においては、前記ネットワーク中を伝送されるメッセージが論理的に階層化され、前記エッジルータが前記メッセージを変更して他の階層のメッセージを生成するように構成され、前記メッセージに当該メッセージが属する階層を示す情報が付加され、
前記イベント情報が、外部システムからの問い合わせ結果に基づいて、前記メッセージをどのように変更するかを示すメッセージ変更内容を含み、
前記外部問い合わせ手段が、前記特定の階層を示すメッセージの受信を外部問い合わせトリガとして、前記イベント情報中の問い合わせ内容に示す外部システムに問い合わせ、前記外部システムからの問い合わせ結果を受信し、
前記更新手段が、前記受信した問い合わせ結果、および、前記イベント情報中のメッセージ変更内容に基づいて、前記メッセージおよび当該メッセージの属する階層を示す情報を変更し、前記変更されたメッセージを、前記ネットワークに送出する。
【発明の効果】
【００２３】
本発明によれば、受信者が受信したいメッセージを受信したい形式で適切に受信でき、かつ、送信者が送信したいメッセージを適切な形式で送信できるようなデータ通信方法およびエッジルータを提供することが可能となる。
【発明を実施するための最良の形態】
【００２４】
以下、添付図面を参照して、本発明の実施の形態について説明する。図１は、本実施の形態にかかるデータ通信方法が適用されるデータ通信システムの概略を示すブロックダイヤグラムである。図１において、端末装置１２、１４−１、１４−２、１４−３は、それぞれ、エッジルータ１６、１８−１、１８−２、１８−３を介して、ネットワークに接続できるようになっている。
【００２５】
エッジルータは、ネットワーク１０の端部に位置し、端末装置と直接接続されるルータをいう。したがって、端末装置から送信されたメッセージは、まず、当該端末装置に接続されたエッジルータを介して、ネットワーク１０に送出される。また、ネットワーク１０中を伝送されているメッセージは、エッジルータを介して、当該エッジルータに接続された端末装置に伝達される。
【００２６】
図１において、端末装置１２は、メッセージの送信者（パブリッシャ或いはパブリッシュ・ユーザと称する。）であり、この端末装置１２を、パブリッシャ端末装置１２と称する。また、パブリッシャ端末装置１２に接続されたエッジルータ１６を、パブリッシャ側エッジルータとも称する。
【００２７】
また、端末装置１４−１、１４−２、１４−３は、メッセージの受信者（サブスクライバ或いはサブスクライブ・ユーザ）であり、この端末装置１４−１、１４−２、１４−３を、サブスクライバ端末装置と称する。また、サブスクライバ端末装置１４−１、１４−２、１４−３にそれぞれ接続されたエッジルータ１８−１、１８−２、１８−３を、サブスクライバ側エッジルータとも称する。また、サブスクライバ側エッジルータについて、符号１８−１〜１８−３で示す特定のエッジルータを指す場合以外には、単にサブスクライバ側エッジルータ１８と称する。また、サブスクライバ端末装置１４−１〜１４−３についても、同様である。
【００２８】
本実施の形態においては、ネットワーク１０には、後述するように、エッジルータ１６、１８からの問い合わせに応じて、所定の情報を、エッジルータ１６、１８に伝達する外部システム２０が接続されている。また、ネットワーク１０には、ネットワーク管理者（アドミニストレータ）の操作に応じて、エッジルータ１６、１８にデータを伝達する管理者システム２１が接続されている。
【００２９】
本実施の形態にかかるデータ通信システムは、いわゆるメッセージングネットワークであり、以下のような特徴を有する。
【００３０】
サブスクライバ端末装置１４からサブスクライバ側エッジルータ１８へ、サブスクライバ端末装置１４が受信したいメッセージに関して、必要な条件を送信し、サブスクライバ側エッジルータ１８が、送信された条件を、記憶部２８に記憶する。サブスクライバ側では、条件には、受信条件と変換条件とがあり、これらについては後述する。
【００３１】
また、パブリッシャ端末装置１２からパブリッシャ側エッジルータ１６にも、パブリッシャ端末装置１２が送信するメッセージに関して、必要な条件を送信し、パブリッシャ側エッジルータ１６が、送信された条件を、記憶部２８に記憶する。パブリッシャ側では、条件には、変換条件のみがある。
【００３２】
図２は、本実施の形態にかかるエッジルータの構成を示すブロックダイヤグラムである。パブリッシャ側エッジルータ１６およびサブスクライバ側エッジルータ１８は、双方とも、図２に示すような同様の構成となっているが、便宜上、サブスクライバ側エッジルータ１８を例として説明する。
【００３３】
図２に示すように、本実施の形態にかかるサブスクライバ側エッジルータ１８は、メッセージ１０をネットワークから受信し、また、ネットワーク１０にメッセージを送出する通信処理部２２、当該サブスクライバ側エッジルータ１８に接続されたサブスクライバ端末装置１４からのイベント情報を、記憶部２８に記憶する処理を実行するイベント情報登録部２４、記憶部２８に登録されたイベント情報を参照して、外部システム２０への問い合わせ処理の是非を判断し、問い合わせ処理を実行するとともに、問い合わせ結果に基づいて、記憶部２８に記憶された受信条件や変換条件を更新する問い合わせ処理部２６と、記憶部２８と、を備えている。問い合わせ処理部２６は、外部問い合わせ手段および更新手段として機能する。
【００３４】
通信処理部２２は、ルータとしての機能、たとえば、当該サブスクライバ側エッジルータ１８が宛先となったメッセージを受信して、サブスクライバ側エッジルータ１８に接続されたサブスクライバ端末装置１４に向けて送信し、或いは、他の宛先のメッセージを受信して、再度、ネットワークに送出することなどを実行する。
【００３５】
また、本実施の形態にかかるデータ通信システムは、メッセージングネットワークであるため、エッジルータは以下のようにも機能する。エッジルータがパブリッシャ側エッジルータ１６として機能する場合には、エッジルータは、後述する変換条件にしたがって、パブリッシャ端末装置から受信したメッセージのフォーマットを変換し、メッセージに情報を付加し、或いは、メッセージをフィルタリングして必要な情報のみを含むようにメッセージを加工して、ネットワークに送出する。なお、本実施の形態において、メッセージを変換・加工することを単にメッセージを変更するとも称する。
【００３６】
エッジルータがサブスクライバ側エッジルータ１８として機能する場合には、エッジルータは、ネットワーク１０を介して受信したメッセージを参照し、受信条件に合致するメッセージであれば、当該メッセージを、変換条件に応じて、変換・加工した上で、サブスクライバ端末装置１４に送信する。
【００３７】
以下、本実施の形態における受信条件および変換条件について説明する。
【００３８】
受信条件とは、サブスクライバ側エッジルータ１８において、サブスクライバ端末装置１４が受信すべきメッセージを、当該メッセージの内容や他の情報に基づいて規定した条件である。たとえば、受信条件には、メッセージに付加されたタグに所定の情報が含まれていること、メッセージに所定の文字列が含まれていること、他のシステムからの外部情報やサブスクライバ側エッジルータ１８の記憶部２８に記憶された内部情報から当該メッセージを受信すべきこと、などが含まれる。
【００３９】
また、変換条件とは、パブリッシャ側エッジルータ１６において、パブリッシャ端末装置１２から受信しネットワークに送出すべきメッセージ、或いは、サブスクライバ側エッジルータ１８において、サブスクライバ端末装置１４が受信すべきメッセージを変換・加工する手法を示す条件である。たとえば、変換条件には、メッセージのフォーマット変換、メッセージに所定の情報を付加すること、メッセージをフィルタしてメッセージ中の所定の情報のみを抽出すること、などが含まれる。
【００４０】
次に、本実施の形態にかかるエッジルータにおいて実行される処理について説明する。本実施の形態において、サブスクライバ側エッジルータ１８は、記憶部２８に記憶されたイベント情報３０にしたがって、イベント情報３０に規定された状況が生じたときに、サブスクライバ側エッジルータ１８は、外部システム２０に問い合わせをした上で、受信条件３２および／または変換条件３４を更新し、更新された受信条件３２および／または変換条件３４を記憶部２８に記憶する。
【００４１】
また、パブリッシャ側エッジルータ１６も、記憶部２８に記憶されたイベント情報３０にしたがって、イベント情報３０に規定された状況が生じたときに、パブリッシャ側エッジルータ１６は、外部システム２０に問い合わせした上で、変換条件３４を更新し、更新された変換条件３４を記憶部２８に記憶する。
【００４２】
本実施の形態において、イベント情報は、
（１）どの装置からどのタイミングでメッセージが届いたか、すなわち、所定のメッセージを受信したときに問合せを実行すべきトリガを示す外部問い合わせトリガ、と、
（２）外部問い合わせトリガが生じた場合に、どの外部システムに何を問い合わせるかを示す、すなわち、問合せすべき所定の外部システムおよび問い合わせ内容を特定する情報を含む問い合わせ内容と、
（３）問い合わせ結果に基づいて、受信条件、変換条件のうちどの条件を、どのように変更するかを示す条件変更内容と、を有している。
【００４３】
たとえば、サブスクライバ側エッジルータ１８の記憶部２８に記憶されるイベント情報は以下のようなものとなる。
（１）外部問い合わせトリガとして「パブリッシュ・データ受信時」、
（２）問い合わせ内容として「外部システムとして天気予報情報配信システムに、天気を問い合わせること」、
（３）条件変更内容として、「問い合わせ結果である天気予報が「雨」を示す場合に、「天気」に関連するメッセージ（たとえば、「天気予報」という文字を含むメッセージ）を受信するように受信条件を変更すること」。
【００４４】
まず、エッジルータにおけるイベント情報の登録処理について説明する。図３は、サブスクライバ側エッジルータ１８におけるイベント情報の登録処理の例を示すフローチャートである。図３に示す例では、サブスクライバ端末装置１４からのメッセージによって、サブスクライバ側エッジルータ１８の記憶部２８にイベント情報３０が記憶される。
【００４５】
図３に示すように、サブスクライバ側エッジルータ１８が、サブスクライバ端末装置１４からのメッセージを受信すると（ステップ３０１）、処理が開始され、認証が行われる（ステップ３０２）。認証が失敗した場合には（ステップ３０２でＮＧ）、サブスクライバ側エッジルータ１８はエラー処理を実行する（ステップ３０３）。エラー処理においては、たとえば、認証が失敗したことが、サブスクライバ側エッジルータ１８からサブスクライバ端末装置１４に送信される。
【００４６】
認証が成功した場合には（ステップ３０２でＯＫ）、サブスクライバ側ルータ１８のイベント情報登録部２４は、メッセージ中に外部問い合わせトリガを含むか否かを判断する（ステップ３０４）。ステップ３０４でＮｏと判断される場合には、通信処理部２２による通常処理（通常処理（１））が実行される（ステップ３０５）。通常処理（１）については、図９を参照して後述する。
【００４７】
ステップ３０４でＹｅｓと判断された場合には、トリガ処理部２４は、外部問い合わせトリガの種別を判断する（ステップ３０６）。本実施の形態においては、サブスクライバ側エッジルータ１８については、「サブスクライブ・ユーザ接続時」、「外部プッシュデータ受信時」、「パブリッシュ・データ受信時」および「ポーリング」という外部問い合わせトリガを含み得る。
【００４８】
「サブスクライブ・ユーザ接続時」とは、サブスクライバ側エッジルータ１８に接続されたサブスクライバ端末装置１４が接続してきたときを、外部システム２０への問い合わせのためのトリガとすることをいう。
【００４９】
「外部プッシュデータ受信時」とは、外部システム２０からデータがプッシュされ、当該データを受信したときを、外部システム２０への問い合わせのためのトリガとすることをいう。
【００５０】
「パブリッシュ・データ受信時」とは、パブリッシャ端末装置１２からパブリッシャ側エッジルータ１６を介してネットワーク１０中を伝送されたメッセージを、サブスクライバ側エッジルータ１８が受信したときを、外部システム２０への問い合わせのためのトリガとすることをいう。
【００５１】
また、「ポーリング」とは、一定のタイミングでタイマ処理を実行し、タイマ処理を、外部システム２０への問い合わせのためのトリガとすることをいう。
【００５２】
メッセージ中の外部問い合わせトリガが、「サブスクライブ・ユーザ接続時」であれば、イベント情報登録部２４は、「サブスクライバ・ユーザ接続時」であることを示す情報を含むイベント情報３０を、記憶部２８に記憶する（ステップ３０７）。この場合には、その後に、問い合わせ処理部２６による外部問い合わせ処理が実行される（図６参照）が、これについては後述する。
【００５３】
メッセージ中の外部問い合わせトリガが、「外部プッシュデータ受信時」であれば、イベント情報登録部２４は、「外部プッシュデータ受信時」であることを示す情報を含むイベント情報３０を、記憶部２８に記憶する（ステップ３０８）。その後、サブスクライバ側エッジルータ１８は、他のメッセージの受信を待機する（ステップ３０９）。
【００５４】
メッセージ中の外部問い合わせトリガが、「パブリッシュ・データ受信時」であれば、イベント情報登録部２４は、「パブリッシュ・データ受信時」であることを示す情報を含むイベント情報３０を、記憶部２８に記憶する（ステップ３１０）。その後、サブスクライバ側エッジルータ１８は、他のメッセージの受信を待機する（ステップ３０９）。
【００５５】
また、メッセージ中の外部問い合わせトリガが、「ポーリング」であれば、イベント情報登録部２４は、「タイマ処理時」であることを示す情報を含むイベント情報３０を、記憶部２８に記憶する（ステップ３１１）。その後、サブスクライバ側エッジルータ１８は、一定のタイミングでのタイマ処理の際に、ポーリングを行って外部システム２０への問い合わせを行う（ステップ３１２、後述する図８参照）。
【００５６】
上述したように、イベント情報には、外部システム２０への問い合わせのためのトリガ（外部取り合わせトリガ）、問い合わせ内容、および、条件変更内容とが含まれる。したがって、記憶部２８へのイベント情報３０の記憶においては、外部問い合わせトリガ、問い合わせ内容および条件変更内容が、記憶部２８に記憶される。
【００５７】
図４は、パブリッシャ側エッジルータ１６におけるイベント情報の登録処理の例を示すフローチャートである。図４に示すように、パブリッシャ側エッジルータ１６においても、外部問い合わせトリガの種別が一部異なることを除き、図３の処理と同様である。
【００５８】
図４に示すように、パブリッシャ側エッジルータ１６が、パブリッシャ端末装置１２からのメッセージを受信すると（ステップ４０１）、処理が開始され、認証が行われる（ステップ４０２）。認証が失敗した場合には（ステップ４０２でＮＧ）、パブリッシャ側エッジルータ１６はエラー処理を実行する（ステップ４０３）。
【００５９】
認証が成功した場合には（ステップ４０２でＯＫ）、パブリッシャ側エッジルータ１６のイベント情報登録部２４は、メッセージ中に外部問い合わせトリガを含むか否かを判断する（ステップ４０４）。ステップ４０４でＮｏと判断される場合には、通信処理部２２による通常処理（通常処理（２））が実行される（ステップ４０５）。通常処理（２）については、図１０を参照して後述する。
【００６０】
ステップ４０４でＹｅｓと判断された場合には、トリガ処理部２４は、外部問い合わせトリガの種別を判断する（ステップ４０６）。本実施の形態においては、パブリッシャ側エッジルータ１６については、「パブリッシュ・ユーザ接続時」、「外部プッシュデータ受信時」、「パブリッシュ・データ受信時」および「ポーリング」という外部問い合わせトリガを含み得る。
【００６１】
「パブリッシュ・ユーザ接続時」とは、パブリッシャ側エッジルータ１６に接続されたパブリッシャ端末装置１２が接続してきたときを、外部システム２０への問い合わせのためのトリガとすることをいう。
【００６２】
「外部プッシュデータ受信時」とは、外部システム２０からデータがプッシュされ、当該データを受信したときを、外部システム２０への問い合わせのためのトリガとすることをいう。
【００６３】
「パブリッシュ・データ受信時」とは、パブリッシャ端末装置１２から送信されたメッセージを、当該パブリッシャ端末装置１２に接続されたパブリッシャ側エッジルータ１６が受信したときを、外部システム２０への問い合わせのためのトリガとすることをいう。
【００６４】
また、「ポーリング」とは、一定のタイミングでタイマ処理を実行し、タイマ処理を、外部システム２０への問い合わせのためのトリガとすることをいう。
【００６５】
メッセージ中の外部問い合わせトリガが、「パブリッシャ・ユーザ接続時」であれば、イベント情報登録部２４は、「パブリッシャ・ユーザ接続時」であることを示す情報を含むイベント情報３０を、記憶部２８に記憶する（ステップ４０７）。この場合には、問い合わせ処理部２６による外部問い合わせ処理が実行される（図６参照）が、これについては後述する。
【００６６】
メッセージ中の外部問い合わせトリガが、「外部プッシュデータ受信時」であれば、イベント情報登録部２４は、「外部プッシュデータ受信時」であることを示す情報を含むイベント情報３０を、記憶部２８に記憶する（ステップ４０８）。その後、パブリッシャ側エッジルータ１６は、他のメッセージの受信を待機する（ステップ４０９）。
【００６７】
メッセージ中の外部問い合わせトリガが、「パブリッシュ・データ受信時」であれば、イベント情報登録部２４は、「パブリッシュ・データ受信時」であることを示す情報を含むイベント情報３０を、記憶部２８に記憶する（ステップ４１０）。その後、パブリッシャ側エッジルータ１６は、他のメッセージの受信を待機する（ステップ４０９）。
【００６８】
また、メッセージ中の外部問い合わせトリガが、「ポーリング」であれば、イベント情報登録部２４は、「タイマ処理時」であることを示す情報を含むイベント情報３０を、記憶部２８に記憶する（ステップ４１１）。その後、パブリッシャ側エッジルータ１６は、一定のタイミングでのタイマ処理の際に、ポーリングを行って外部システムへの問い合わせを行う（ステップ４１２、後述する図８参照）。
【００６９】
なお、本実施の形態においては、ネットワーク管理者が、管理者システム２１を操作することにより、パブリッシャ側エッジルータ１６および／またはサブスクライバ側エッジルータ１８にイベント情報を含むメッセージを送信し、イベント情報を、記憶部２８に記憶させることも可能である。
【００７０】
図５は、管理者システム２１からのメッセージ受信に応答して、エッジルータにおいて実行される処理を示すフローチャートである。この処理は、パブリッシャ側エッジルータ１６およびサブスクライバ側エッジルータ１８の双方で実行され得る。
【００７１】
図５において、ステップ５０１〜５０３は、たとえば、図３のステップ３０１〜３０３と同様である。認証の後、イベント情報登録部２４は、メッセージ中の外部問い合わせトリガのトリガ種別を判断し（ステップ５０４）。トリガ種別にしたがって、イベント情報を記憶部２８に記憶する。
【００７２】
ステップ５０５は、図４のステップ４０７と同様である。ステップ５０７は、図３のステップ３０７と同様である。また、ステップ５０８、５０９、５１０は、それぞれ、図３のステップ３０８、３１０、３１１と同様であり、ステップ５０６、５１１は、それぞれ、図３のステップ３０９、３１２と同様である。
【００７３】
このようにしてイベント情報３０が記憶部２８に記憶されることにより、エッジルータがメッセージを受信した際に、そのメッセージが、記憶部２８に記憶されたイベント情報３０中の外部問い合わせトリガと合致する場合に、外部システム２０に対する問い合わせが実行される。
【００７４】
図６および図７は、エッジルータにおいて実行される外部問い合わせ処理の例を示すフローチャートである。図６および図７に示す処理は、パブリッシャ側ルータ１６およびサブスクライバ側ルータ１８の双方で実行され得る。
【００７５】
エッジルータが、メッセージを受信すると（ステップ６０１）、処理が開始され、認証が行われる（ステップ６０２）。認証が失敗した場合には（ステップ６０２でＮＧ）、エッジルータ１８はエラー処理を実行する（ステップ６０３）。ステップ６０２において受信するメッセージには、エッジルータが接続された端末装置から受信したもの、ネットワークを介して受信したものなどが含まれる。
【００７６】
エッジルータの問い合わせ処理部２６は、当該メッセージがどの装置からどういったアクションで送られたかを判断する（ステップ６０４）。本明細書においては、これをメッセージ種別の判断と称する。
【００７７】
本実施の形態において、メッセージ種別には、「サブスクライブ・ユーザ接続時」、「パブリッシュ・ユーザ接続時」、「外部プッシュデータ受信時」および「パブリッシュ・データ受信時」が含まれる。
【００７８】
「サブスクライブ・ユーザ接続時」とは、サブスクライバ側エッジルータ１８に接続されたサブスクライバ端末装置１４が接続してきたときをいう。このケースは、エッジルータが、サブスクライバ側エッジルータ１８であるときのみ生じ得る。
【００７９】
「パブリッシュ・ユーザ接続時」とは、パブリッシャ側エッジルータ１６に接続されたサブスクライバ端末装置１２が接続してきたときをいう。このケースは、エッジルータが、パブリッシャ側エッジルータ１６であるときのみ生じる。
【００８０】
「外部プッシュデータ受信時」とは、外部システム２０からデータがプッシュされ、当該データを受信したときをいう。
【００８１】
「パブリッシュ・データ受信時」とは、パブリッシャ端末装置１２からパブリッシャ側エッジルータ１６を介してネットワーク１０中を伝送されたメッセージを、サブスクライバ側エッジルータ１８が受信したとき、或いは、パブリッシャ端末装置１２からのメッセージを、パブリッシャ側エッジルータ１６が受信したときをいう。
【００８２】
メッセージ種別が、サブスクライブ・ユーザ接続時である場合には、問い合わせ処理部２６は、記憶部２８のイベント情報３０を参照して、イベント情報３０に、サブスクライブ・ユーザ接続時という外部問い合わせトリガが含まれるか否かを判断する（ステップ６０５）。ステップ６０５でＮｏと判断された場合には、通信処理部２２が、後述する通常処理（１）（図９参照）を実行する。
【００８３】
ステップ６０５でＹｅｓと判断された場合には、問い合わせ処理部２６は、イベント情報３０の問い合わせ内容により特定される外部システム２０に対して、所定の問い合わせをするように通信処理部２２に依頼する。これに応答して、通信処理部２２は、ネットワーク１０に接続された、問い合わせ内容により特定された外部システム２０に対して、問い合わせを実行する（ステップ６０７）。
【００８４】
外部システム２０は問い合わせに応答して、所定の問い合わせ結果をエッジルータに対して送信する。エッジルータの問い合わせ処理部２６は、イベント情報３０中の条件変更内容および受信した問い合わせ結果に基づいて、受信条件および／または変換条件を更新する（ステップ６０８）。更新された受信条件および／または変換条件は、後述する通常処理（１）で、記憶部２８に記憶される。その後、通信処理部２２が、通常処理（１）（図９参照）を実行する。
【００８５】
メッセージ種別が「サブスクライブ・ユーザ接続時」であり、ステップ６０５でＹｅｓと判断されるようなエッジルータは、サブスクライバ側エッジルータ１８である。したがって、通常処理（１）においては、受信条件および／または変換条件が更新され、記憶部２８に記憶され得る。
【００８６】
メッセージ種別が、「パブリッシュ・ユーザ接続時」である場合には、問い合わせ処理部２６は、記憶部２８のイベント情報３０を参照して、イベント情報３０に、パブリッシュ・ユーザ接続時という外部問い合わせトリガが含まれるか否かを判断する（ステップ６０９）。ステップ６０９でＮｏと判断された場合には、通信処理部２２が、後述する通常処理（２）（図１０参照）を実行する。
【００８７】
ステップ６０９でＹｅｓと判断された場合には、問い合わせ処理部２６は、イベント情報３０の問い合わせ内容により特定される外部システム２０に対して、所定の情報の問い合わせをするように通信処理部２２に依頼する。これに応答して、通信処理部２２は、ネットワーク１０に接続された、問い合わせ内容により特定された外部システム２０に対して、問い合わせを実行する（ステップ６１０）。
【００８８】
外部システム２０は問い合わせに応答して、所定の問い合わせ結果をエッジルータに対して送信する。エッジルータの問い合わせ処理部２６は、イベント情報３０中の条件変更内容および受信した問い合わせ結果に基づいて変換条件を更新する（ステップ６１１）。更新された変換条件は、通常処理（２）で、記憶部２８に記憶され。その後、通信処理部２２が通常処理（２）（図１０参照）を実行する。
【００８９】
メッセージ種別が「パブリッシュ・ユーザ接続時」であり、ステップ６０９でＹｅｓと判断されるようなエッジルータは、パブリッシャ側エッジルータ１６である。したがって、通常処理（２）においては、変換条件が更新され、記憶部２８に記憶され得る。
【００９０】
メッセージ種別が、「外部プッシュデータ受信時」である場合には、問い合わせ処理部２６は、記憶部２８のイベント情報３０を参照して、イベント情報３０に、外部プッシュデータ受信時という外部問い合わせトリガが含まれるか否かを判断する（ステップ７０１）。ステップ７０１でＮｏと判断された場合には待機となる（ステップ７０４）。
【００９１】
ステップ７０１でＹｅｓと判断された場合には、問い合わせ処理部２６は、イベント情報３０の問い合わせ内容により特定される外部システム２０に対して、所定の情報の問い合わせをするように通信処理部２２に依頼する。これに応答して、通信処理部２２は、問い合わせ内容により特定された外部システム２０に対して、問い合わせを実行する（ステップ７０２）。
【００９２】
外部システム２０は問い合わせに応答して、所定の問い合わせ結果をエッジルータに対して送信する。エッジルータの問い合わせ処理部２６は、受信した問い合わせ結果に基づいて変換条件を更新し、記憶部２８に記憶する（ステップ７０３）。その後、新たなメッセージの受信の待機となる（ステップ７０５）。
【００９３】
メッセージ種別が、「外部プッシュデータ受信時」であり、ステップ７０１でＹｅｓと判断されるようなエッジルータは、パブリッシャ側エッジルータ１６およびサブスクライバ側エッジルータ１８の双方が該当し得る。サブスクライバ側エッジルータ１８の場合には、ステップ７０３においては、受信条件および／または変換条件が更新され得る。その一方、パブリッシャ側エッジルータ１６の場合には、ステップ７０３において変換条件が更新され得る。
【００９４】
メッセージ種別が、「パブリッシュ・データ受信時」である場合には、問い合わせ処理部２６は、記憶部２８のイベント情報３０を参照して、イベント情報３０に、パブリッシュ・データ受信時という外部問い合わせトリガが含まれるか否かを判断する（ステップ７１１）。ステップ７１１でＮｏと判断された場合には、通信処理部２２による通常処理（３）（図１１参照）が実行される。
【００９５】
ステップ７１１でＹｅｓと判断された場合には、問い合わせ処理部２６は、イベント情報３０の問い合わせ内容により特定される外部システム２０に対して、所定の情報の問い合わせをするように通信処理部２２に依頼する。これに応答して、通信処理部２２は、問い合わせ内容により特定された外部システム２０に対して、問い合わせを実行する（ステップ７１２）。
【００９６】
外部システム２０は問い合わせに応答して、所定の問い合わせ結果をエッジルータに対して送信する。エッジルータの問い合わせ処理部２６は、イベント情報中の条件変更内容および受信した問い合わせ結果に基づいて変換条件を更新し、記憶部２８に記憶する（ステップ７１３）。その後、通信処理部２２が通常処理（３）（図１１参照）を実行する。
【００９７】
メッセージ種別が「パブリッシュ・データ受信時」であり、ステップ７１１でＹｅｓと判断されるようなエッジルータは、パブリッシャ側エッジルータ１６およびサブスクライバ側エッジルータ１８の双方が該当し得る。サブスクライバ側エッジルータ１８の場合には、ステップ７１３においては、受信条件および／または変換条件が更新され得る。その一方、パブリッシャ側エッジルータ１６の場合には、ステップ７１３において、変換条件が更新され得る。
【００９８】
また、図３のステップ３１１、図４のステップ４１１、図５のステップ５１０で説明したように、イベント情報中の外部問い合わせトリガが、タイマ処理時である場合がある。このような場合には、エッジルータは、タイマ処理の際に、ポーリングを行って外部システム２０への問い合わせを行う。
【００９９】
図８は、エッジルータにおいて実行されるタイマ処理の例を示すフローチャートである。図８に示す処理は、パブリッシャ側ルータ１６およびサブスクライバ側ルータ１８の双方で実行され得る。
【０１００】
図８に示すように、エッジルータは、タイマ処理の処理タイミングとなるまで待機する（ステップ８０１でＮｏ）。タイマ処理の処理タイミングは予め定められている。ステップ８０２でＹｅｓと判断されると、エッジルータの問い合わせ処理部２６は、記憶部２８のイベント情報３０に、外部問い合わせトリガとしてタイマ処理時が含まれるか否かを判断する（ステップ８０２）。ステップ８０２でＮｏと判断された場合には、エッジルータは、通常のタイマ処理を実行する（ステップ８０５）。
【０１０１】
ステップ８０２でＹｅｓと判断された場合には、問い合わせ処理部２６は、イベント情報３０の問い合わせ内容により特定される外部システム２０に対して、所定の情報の問い合わせをするように通信処理部２２に依頼する。これに応答して、通信処理部２２は、問い合わせ内容により特定された外部システム２０に対して、問い合わせを実行する（ステップ８０３）。
【０１０２】
外部システム２０は問い合わせに応答して、所定の問い合わせ結果をエッジルータに対して送信する。エッジルータの問い合わせ処理部２６は、イベント情報中の条件変更内容および受信した問い合わせ結果に基づいて、受信条件および／または変換条件を更新し、記憶部２８に記憶する（ステップ８０４）。その後エッジルータは、通常のタイマ処理を実行する（ステップ８０５）。
【０１０３】
図９〜図１１は、それぞれ、本実施の形態にかかるエッジルータで実行される通常処理（１）〜（３）の例を示すフローチャートである。それ以前に実行された処理の違い、および、エッジルータがパブリッシャ側エッジルータ１６或いはサブスクライバ側エッジルータ１８の何れとして機能しているかにより実行される処理が異なる。
【０１０４】
図９に示す通常処理（１）は、サブスクライバ側エッジルータ１８において実行される通常処理である。
【０１０５】
サブスクライバ側エッジルータ１８は、メッセージを受信すると処理を開始する（ステップ９０１）。問い合わせ結果に基づいて受信条件を変更すべき場合にはステップ９０２でＹｅｓと判断される。この場合には、サブスクライバ側エッジルータ１８は、変更された受信条件３２を記憶部２８に記憶する（ステップ９０３）。
【０１０６】
また、問い合わせ結果に基づいて変換条件を変更すべき場合にはステップ９０４でＹｅｓと判断される。この場合には、サブスクライバ側エッジルータ１８は、変更された変換条件３４を記憶部２８に記憶する（ステップ９０５）。
【０１０７】
また、サブスクライバ側エッジルータ１８にキャッシュされたメッセージが存在すれば、ステップ９０６でＹｅｓと判断され、サブスクライバ側エッジルータ１８は、サブスクライバ端末装置１４にメッセージをプッシュする（ステップ９０７）。これにより、サブスクライバ端末装置１４はメッセージを受信することができる。
【０１０８】
その後、サブスクライバ側エッジルータ１８はメッセージの受信を待機する状態となる（ステップ９０８）。
【０１０９】
図１０に示す通常処理（２）は、パブリッシャ側エッジルータ１６において実行される通常処理である。パブリッシャ側エッジルータ１６は、メッセージを受信すると処理を開始する（ステップ１００１）。問い合わせ結果に基づいて変換条件を変更すべき場合にはステップ１００２でＹｅｓと判断される。この場合には、パブリッシャ側エッジルータ１６は、変更された変換条件３４を記憶部２８に記憶する（ステップ１００３）。
【０１１０】
その後、パブリッシャ側エッジルータ１６はメッセージの受信を待機する状態となる（ステップ１００４）。
【０１１１】
図１１に示す通常処理（３）は、特に、サブスクライバ側エッジルータ１８において、パブリッシュ・データ受信のときに実行される通常処理である。
【０１１２】
サブスクライバ側エッジルータ１８は、メッセージを受信すると処理を開始する（ステップ１１０１）。受信したパブリッシュ・データ（メッセージ）が、記憶部２８に記憶された受信条件３２に合致していない場合（ステップ１１０２でＮｏ）には、サブスクライバ側エッジルータ１８は、メッセージを廃棄する（ステップ１１０３）。その一方、メッセージが、記憶部２８に記憶された受信条件３２に合致する場合には（ステップ１１０２でＹｅｓ）、サブスクライバ側エッジルータ１８は、記憶部２８に変換条件３４が存在するか否かを判断する（ステップ１１０４）。ステップ１１０４でＹｅｓと判断された場合には、サブスクライバ側エッジルータ１８は、メッセージを変換条件にしたがって変更する（ステップ１１０５）。
【０１１３】
ユーザ、つまり、サブスクライバ端末装置１４が接続中であれば（ステップ１１０６でＹｅｓ）、サブスクライバ側エッジルータ１８は、サブスクライバ端末装置１４にメッセージをプッシュする（ステップ１１０８）。これにより、サブスクライバ端末装置１４はメッセージを受信することができる。
【０１１４】
その一方、ステップ１１０６でＮｏと判断された場合には、サブスクライバ側エッジルータ１８は、メッセージを一時的に記憶する、つまり、メッセージをキャッシュする（ステップ１１０７）。キャッシュされたデータは、前述した図９のステップ９０７においてサブスクライバ端末装置１４にプッシュされ、伝達される。このように、サブスクライバ側エッジルータは、受信条件に合致するパブリッシュ・データ（メッセージ）のみを受信し、それを変換条件にしたがって変更して、変更されたメッセージを、サブスクライバ端末装置に送信することができる。
【０１１５】
その後、サブスクライバ側エッジルータ１８は、メッセージの受信を待機する状態となる（ステップ１１０９）。
【０１１６】
本実施の形態によれば、イベント情報３０がエッジルータに登録され（つまり、エッジルータの記憶部２８に記憶され）、エッジルータがメッセージを受信したときに、メッセージ種別が、イベント情報３０の外部問い合わせトリガとして存在しているか否かを判断し、存在する場合には、エッジルータが外部システム２０に問い合わせを行って、問い合わせ結果に基づいて、受信条件および／または変換条件を更新し、更新された受信条件および／または変換条件を記憶部２８に記憶する。したがって、登録されたイベント情報にしたがって、動的に受信条件および／または変換条件を更新することが可能となる。
【０１１７】
サブスクライバ側エッジルータ１８は、動的に更新された受信条件にしたがって、ネットワークを介して受信したメッセージのうち、サブスクライバ端末装置１４に送信すべきものを、サブスクライバ端末装置１４に送信することができる。また、サブスクライバ端末装置１４に送信すべきメッセージを、変換条件にしたがって変更して、サブスクライバ端末装置１４が求める形式および内容のメッセージとすることができる。
【０１１８】
同様に、パブリッシャ側エッジルータ１６は、動的に更新された変換条件にしたがって、パブリッシャ端末装置１２から送信されたメッセージを変換条件にしたがって変更して、ネットワークに送出することができる。
【０１１９】
次に、本発明の第２の実施の形態について説明する。第２の実施の形態においては、外部システムとして、特に、サブスクライバ端末装置の受信条件や変換条件を受け入れて、受信条件や変換条件の統計情報を生成する統計システムが適用される。
【０１２０】
図１２は、本発明の第２の実施の形態にかかるデータ通信システムにおける処理の概略を説明するブロックダイヤグラムである。図１２において、ネットワーク１０、パブリッシャ端末装置１２、サブスクライバ端末装置１４（１４−１〜１４−３）、パブリッシャ側エッジルータ１６、サブスクライバ側エッジルータ１８（１８−１〜１８−３）、および、管理者システム２１は、第１の実施の形態と同様である。第２の実施の形態においては、ネットワーク１０に、外部システムとして、統計システム２００が接続されている。
【０１２１】
たとえば、サブスクライバ側ルータ１８−１〜１８−３においては、サブスクライバ端末装置１４−１〜１４−３のそれぞれの受信条件（符号２０１〜２０３参照）や変換条件が、その記憶部２８に記憶されている。また、パブリッシャ側ルータ１６においては、パブリッシャ端末装置１２の変換条件が、その記憶部２８に記憶されている。受信条件および／変換条件は、第１の実施の形態と同様に、外部システム２０（図１０では図示しない）への問い合わせによって動的に変更され得る。
【０１２２】
図１２においては、パブリッシャ端末装置１２からの、商品の価格を含む広告メッセージの受信条件が、それぞれのサブスクライバ側エッジルータ１８−１〜１８−３に登録されていると考える。図１２の例では、受信条件は、特に、タマゴの価格がいくら以下であれば、広告メッセージを受信するかを示している。サブスクライバ端末装置１４−１〜１４−３では、それぞれ、タマゴの価格が「８０円以下」、「１２０円以下」、「１００円以下」であれば（符号２０１〜２０３参照）、パブリッシャ端末装置１２からのメッセージを受信するようになっている。
【０１２３】
第２の実施の形態においては、統計システム２００が、サブスクライバ側エッジルータ１８から受信条件を取得して（符号２１１〜２１３参照）、統計情報を生成する。図１２の例では、タマゴの価格に関する統計情報（平均値、中央値、標準偏差など）を算出する。統計情報には、上記価格などの数値に関する平均値などの情報、受信条件の内容に関する統計情報（受信条件に含まれる文字や項目に関する統計情報）が含まれる。
【０１２４】
さらに、パブリッシャ側エッジルータ１６が、イベント情報にしたがって、統計システム２００に問い合わせることで、統計システム２００はパブリッシャ側エッジルータ１６に、上記タマゴの価格に関する統計情報を送信する（符号２２０）。パブリッシャ側エッジルータ１６は、統計情報に基づいて、変換条件を更新する。これにより、パブリッシャ側エッジルータ１６は、送信する広告メッセージを、更新された変換条件に基づいて変更して、ネットワークに送出する。この例では、パブリッシャ側エッジルータ１６は、タマゴの価格の統計情報を参照して、広告メッセージに含まれるタマゴの価格を更新して、更新された広告メッセージをネットワークに送出する（符号２３０、２３１〜２３３）。
【０１２５】
図１３は、第２の実施の形態にかかるデータ通信システムにおけるメッセージフローを示す図である。図１３に示すように、統計システム２００は、サブスクライバ側エッジルータ１８に対して、その記憶部２８に記憶された受信条件を送信するように要求する（ステップ１３０１）。サブスクライバ側エッジルータ１８は複数存在し得るため、統計システム２００は、複数のサブスクライバ側エッジルータ１８のそれぞれに受信条件の送信要求を送信する。
【０１２６】
サブスクライバ側エッジルータ１８は、それぞれ、送信要求を受信すると、これに応答して、記憶部２８に記憶された、サブスクライバ側エッジルータ１８に接続されたサブスクライバ端末装置１４の受信条件を取り出して、統計システム２００に送信する（ステップ１３０２）。
【０１２７】
統計システム２００は、サブスクライバ側エッジルータ１８のそれぞれから受信した受信条件に基づいて、統計情報を生成する（ステップ１３０３）。前述したように、本実施の形態においては、タマゴの価格に関する統計情報が生成される。
【０１２８】
統計システム２００は、生成した統計情報を、パブリッシャ側エッジルータ１６に送信する（ステップ１３０４）。パブリッシャ側エッジルータ１６は、受信した統計情報および記憶部２８に記憶されたイベント情報に基づいて変換条件を更新して、パブリッシャ側エッジルータ１６の記憶部２８に記憶する（ステップ１３０５）。
【０１２９】
パブリッシャ側エッジルータ１６は、パブリッシャ端末装置１２から、変換条件を変更するためのイベント情報を受け入れ、当該イベント情報を記憶部２８に記憶しておく。
【０１３０】
このイベント情報においては、
（１）外部問い合わせトリガが、外部システムである統計システム２００からのプッシュデータ受信時であり、
（２）問い合わせ内容が、統計システムに、タマゴの価格の統計情報を問い合わせることであり、かつ、
（３）条件変更内容が、統計情報に含まれる中央値或いは平均値を参照して、中央値或いは平均値が、パブリッシャ端末装置１２のユーザにより定められた所定の下限価格よりも高ければ、中央値に価格を変更する、というものであれば良い。
【０１３１】
なお、外部問い合わせトリガが、外部システムからのプッシュデータ受信時であり、かつ、そのときに、問い合わせ内容に含まれる、タマゴの価格の統計情報が送信されるため、実際には、パブリッシャ側エッジルータ１６は、内容を問い合わせる必要が無いため、外部システム（統計システム２００）への問い合わせは省略される。
【０１３２】
このように、パブリッシャ側エッジルータ１６は、受信した統計情報が、条件変更内容に合致する場合に、変換条件を変更する。
【０１３３】
パブリッシャ端末装置１２からパブリッシャ側エッジルータ１６にメッセージが送信され（ステップ１３０６）、パブリッシャ側エッジルータ１６がメッセージを受信すると、パブリッシャ側エッジルータ１６は、新たな変換条件にしたがって、メッセージにおいてタマゴの価格を変更し（ステップ１３０７）、変更されたメッセージをネットワークに送出する（ステップ１３０８）。
【０１３４】
第２の実施の形態によれば、サブスクライバ端末装置１４の受信条件（サブスクライバ側エッジルータ１８の記憶部に記憶された受信条件）に基づいて得られた統計情報にしたがって、パブリッシャ側エッジルータ１６が、メッセージの変換条件を動的に変更し、変更された変換条件にしたがって内容を変更されたメッセージが、パブリッシャ側エッジルータ１６からネットワークに送出される。これにより、パブリッシャ側端末装置１２から送信されるメッセージを、より適切なサブスクライバ端末装置１４に伝達させることが可能となる。
【０１３５】
第２の実施の形態においては、統計情報をパブリッシャ側エッジルータ１６に送信し、パブリッシャ側エッジルータ１６が、統計情報に基づいて、パブリッシャ端末装置１２の変換条件を変更している。第３の実施の形態においては、統計情報をサブスクライバ側エッジルータ１８に送信し、サブスクライバ側エッジルータ１８が、統計情報に基づいて、サブスクライバ端末装置１２の受信条件および／または変換条件を変更している。
【０１３６】
図１４は、第３の実施の形態にかかるデータ通信システムにおけるメッセージフローを示す図である。図１４において、ステップ１４０１〜１４０３は、図１３のステップ１３０１〜１３０３に対応する。
【０１３７】
統計システム２００は、生成した統計情報を、サブスクライバ側エッジルータ１８のそれぞれに送信する（ステップ１４０４）。各サブスクライバ側エッジルータ１８は、受信した統計情報および記憶部２８に記憶されたイベント情報に基づいて受信条件および／または変換条件を更新して、サブスクライバ側エッジルータ１８の記憶部２８に記憶する（ステップ１４０５、１４０６）。
【０１３８】
第２の実施の形態と同様に、サブスクライバ側エッジルータ１８は、サブスクライバ端末装置１４から、受信条件および／または変換条件の更新条件を示す情報予め受け入れ、当該更新条件を示す情報を記憶部２８に記憶しておく。サブスクライバ側エッジルータ１８は、統計情報が更新条件に合致する場合には、受信条件および／または変換条件を、当該更新条件にしたがって変更する。
【０１３９】
第３の実施の形態においては、サブスクライバ端末装置１４の受信条件（サブスクライバ側エッジルータ１８の記憶部に記憶された受信条件）に基づいて得られた統計情報にしたがって、サブスクライバ側エッジルータ１８が、メッセージの受信条件および／または変換条件を動的に変更している。これにより、サブスクライバ側端末装置が、他のサブスクライバ側端末装置の受信条件や変換条件を考慮して、自身の受信条件や変換条件を変更することができる。
【０１４０】
次に、本発明の第４の実施の形態について説明する。第４の実施の形態では、エッジルータが、外部システムに問い合わせを実行して、受信したメッセージに問い合わせ結果を付加するなど、問い合わせ結果に基づいてメッセージを変更することにより新たなメッセージを生成して、さらにネットワーク中に送出する。
【０１４１】
図１５は、本発明の第４の形態におけるメッセージの変更を概略的に示すブロックダイヤグラムである。図１５において、３００−１〜３００−３は、外部システム、３０１−１−１〜３０１−３はエッジルータである。図１５に示すように、第４の実施の形態においては、ネットワーク中を伝送されるメッセージを論理的に階層化し、エッジルータがメッセージを変更して他の階層のメッセージを生成するように構成している。第４の実施の形態における階層は、パブリッシャ端末装置１２（図１５においては図示せず）からパブリッシャ側エッジルータ１６（図１５においては図示せず）を介してネットワークに送出された生データの階層（生データ層）３１０を有する。生データ層３１０のメッセージは、たとえば、商品名から構成され、当該商品の内容を知るための付加的な情報がほとんど含まれていない。
【０１４２】
さらに、階層は、たとえば、生データ層のメッセージに、商品の内容を含む情報が付加されたメッセージが属する基本データ層３１１、商品に関する消費者の評判を含む情報が付加されたメッセージが属する評判データ層３１２、さらに、販売店における商品の価格を比較した情報が付加されたメッセージが属する価格比較データ層３１３を有する。上述した階層は、例示的なものであり、このようなものに限定されない。なお、メッセージの一部（たとえばタグ）に階層を示す情報を付加することにより、メッセージの属する階層を特定することができる。
【０１４３】
図１５において、生データ層３１０に属するメッセージがエッジルータ３０１−１に受信されると、エッジルータ３０１−１は、外部システム３００−１に問い合わせ（符号３０２−１参照）、問い合わせ結果に基づいて、商品の内容を含む情報を付加するなど、メッセージを変更して、次の階層（基本データ層）に属するメッセージを生成してネットワーク中に送出する（矢印３０３−１参照）。
【０１４４】
基本データ層３１１に属するメッセージがエッジルータ３０１−２に受信されると、エッジルータ３０１−２は、外部システム３００−２に問い合わせ（符号３０１−２参照）、問い合わせ結果に基づいて、商品に関する消費者の評判を付加するなど、メッセージを変更して、次の階層（評判データ層３１２）に属するメッセージを生成してネットワーク中に送出する（矢印３０３−２参照）。
【０１４５】
また、評判データ層３１２に属するメッセージがエッジルータ３０１−３に受信されると、エッジルータ３０１−３は、外部システム３００−３に問い合わせ（符号３０１−３参照）、問い合わせ結果に基づいて、販売店における商品の価格を比較した情報を付加するなど、メッセージを変更して、次の階層（価格比較データ層３１３）に属するメッセージを生成してネットワーク中に送出する（矢印３０３−３参照）。
【０１４６】
このようにして価格比較データ層３１３に属するメッセージが、受信条件が合致するようなサブスクライバ側エッジルータ１８−１、１８−２にて受信され、最終的にサブスクライバ端末装置１４−１、１４−２のそれぞれに伝達される。
【０１４７】
メッセージがどの階層に属するかは、メッセージの変更の際にエッジルータが、メッセージが属する階層を示すタグをメッセージに付与することにより特定することができる。また、第４の実施の形態においては、エッジルータが、特定の階層を示すタグを含むメッセージを受信したことをイベント情報の外部問い合わせトリガとして、外部システムに問い合わせして、問い合わせ結果に基づいてメッセージを変更する。
【０１４８】
このように、第４の実施の形態では、イベント情報について、
（１）外部問い合わせトリガとして、特定の階層に属するメッセージ（パブリッシュ・データ）受信であり、
（２）問い合わせ内容として、それぞれ所定の外部システムに、付加すべき情報を問い合わせることとすればよい。
（３）また、条件変更内容の代わりに、イベント情報に、メッセージ変更内容として、メッセージに問い合わせ結果である情報を付加すること、および、メッセージの属する階層を変更することを含ませれば良い。
【０１４９】
図１６は、第４の実施の形態にかかるデータ通信システムにおけるメッセージフローを示す図である。パブリッシャ端末装置１２が作成されたメッセージを送信すると、当該メッセージはパブリッシャ側エッジルータ１６を経て、エッジルータに受信される（ステップ１６０１）。
【０１５０】
エッジルータは、パブリッシャ端末装置からのメッセージを受信すると、当該メッセージの受信をイベント情報の外部問い合わせトリガとして、外部システムに問い合わせする(ステップ１６０２)。エッジルータは、問い合わせ結果を受信し（ステップ１６０３）、問い合わせ結果に基づいてメッセージを変更する（ステップ１６０４）。ステップ１６０４では、メッセージの階層を示すタグも更新される。
【０１５１】
変更されたメッセージは、ネットワーク中に送出される（ステップ１６１１）。他のエッジルータがメッセージを受信し、メッセージに含まれるタグを参照して、メッセージが、当該他のエッジルータのイベント情報の問い合わせトリガに示される階層に属する場合には、他のエッジルータは、他の外部システムに問い合わせする(ステップ１６１２１)。他のエッジルータは、問い合わせ結果を受信し（ステップ１６１３）、問い合わせ結果に基づいてメッセージを変更する（ステップ１６１４）。ステップ１６１４では、メッセージの階層を示すタグも更新される。
【０１５２】
その後、他のエッジルータは、変更されたメッセージをネットワークに送出する（ステップ１６１５）。このようなメッセージの変更を繰り返すことにより、異なる階層に属するメッセージが順次作成されることになる。
【０１５３】
本発明は、以上の実施の形態に限定されることなく、特許請求の範囲に記載された発明の範囲内で、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【０１５４】
第２の実施の形態および第３の実施の形態においては、サブスクライバ側エッジルータ１８の記憶部２８に記憶された、サブスクライバ端末装置１４の受信条件を、統計システム２００が取得して、統計情報を生成しているが、取得する条件は、受信条件に限定されず、変換条件であっても良い。
【０１５５】
また、第２の実施の形態のパブリッシャ側エッジルータ１６とサブスクライバ側エッジルータ１８とを交換したような変形例も実現可能である。この変形例では、パブリッシャ側エッジルータ１６の記憶部２８に記憶された変換条件を、統計システム２００が取得して統計情報を生成し、生成された統計情報を、サブスクライバ側エッジルータ１８に送信し、サブスクライバ側エッジルータ１８が、統計情報に基づいて、記憶部２８に記憶された受信条件および／または変換条件を更新する。
【０１５６】
さらに、第３の実施の形態におけるサブスクライバ側エッジルータ１６の代わりに、パブリッシャ側エッジルータ１６を適用するような変形例も実現可能である。この変形例では、パブリッシャ側エッジルータ１６の記憶部２８に記憶された変換条件を、統計システム２００が取得して統計情報を生成し、生成された統計情報を、パブリッシャ側エッジルータ１６に送信し、パブリッシャ側エッジルータ１６が、統計情報に基づいて、記憶部２８に記憶された受信条件および／または変換条件を更新する。
【０１５７】
また、前記実施の形態においては、サブスクライバ側エッジルータ１８において、パブリッシュ・データを受信したときに、記憶部２８に記憶された受信条件３２を参照して、パブリッシュ・データが受信条件に合致しているか否かを判断している。しかしながら、このような構成に限定されるものではなく、以下のようにして、サブスクライバ側エッジルータ１８に、受信条件に合致したメッセージ（パブリッシュ・データ）が受信されるように構成しても良い。
【０１５８】
図９に示す通常処理（１）において、サブスクライバ側エッジルータ１８は、メッセージの受信待機状態となる（ステップ９０８）前に、当該サブスクライバエッジルータに直接接続しているエッジルータ（便宜上「他のエッジルータ」と称する。）に、サブスクライバ端末装置１４の受信条件を通知する。他のエッジルータの各々は、当該サブスクライバ側エッジルータ１８から通知された受信条件を、その記憶部に記憶しておく。他のエッジルータが、メッセージ（パブリッシュ・データ）を受信すると、記憶部に記憶された受信条件にしたがって、当該メッセージを送信すべきエッジルータを決定し、決定されたエッジルータにのみメッセージを送信する。つまり、各ルータは、メッセージ（パブリッシュ・データ）を必要とするユーザ（サブスクライバ端末装置）のいるネクスト・ホップにルーティングする。
【０１５９】
このように、サブスクライバ側エッジルータに直接接続された他のルータが、受信条件にしたがって、メッセージを受信すべきサブスクライバ端末装置に接続されたサブスクライバ側エッジルータにのみ、メッセージを送信するような構成としても良い。
【０１６０】
さらに、前記実施の形態においては、エッジルータが、外部システムに問い合わせして、問い合わせ結果に基づいてメッセージを変更しているが、これに限定されず、ネットワークに接続されている他の装置（たとえばルータ）が、外部システムに問い合わせして、問い合わせ結果に基づいてメッセージを変更しても良い。
【０１６１】
また、第１の実施の形態においては、エッジルータがメッセージ受信に伴って外部問い合わせを実行する場合以外に、自律的に外部問い合わせを実行する場合の例として、外部問い合わせ処理がタイマ処理時である場合について説明した（たとえば図８参照）。このように自律的に外部問い合わせを実行する例はタイマ処理時に限定されない。
【０１６２】
たとえば、エッジルータの内部状態が所定の条件を満たしたときを、外部問い合わせトリガとしても良い。上記エッジルータの内部状態が所定の条件を満たしたときとは、以下のような例が考えられる。
（１）ルーティングテーブルのエントリ数が所定の閾値を超えた場合、
（２）特定のインタフェースのトラヒックカウンタが所定の閾値を超えた場合、
（３）エッジルータにおけるＣＰＵ使用率が所定の閾値を超えた場合。
【０１６３】
エッジルータの内部状態が所定の条件を満たした場合を外部問い合わせトリガとする場合にも、外部問い合わせトリガと、問い合わせ内容、および、条件変更内容を含むイベント情報が、エッジルータの記憶部２８に記憶される。この記憶部２８へのイベント情報の記憶の処理（登録処理）は、たとえば、図３〜５のフローチャートにおける、外部問い合わせ処理が「ポーリング」であるときの処理（図３のステップ３１１、図４のステップ４１１、図５のステップ５１０とほぼ同様である）。記憶部２８へのイベント情報の記憶が終了すると、外部問い合わせトリガに示される内部条件が所定の条件を満たすまで待機の状態となる。
【０１６４】
図１７は、エッジルータの内部状態の変化に伴う外部問い合わせ処理の例を示すフローチャートである。図１７に示す処理は、パブリッシャ側ルータ１６およびサブスクライバ側ルータ１８の双方で実行され得る。なお、図１７の処理は、イベント情報に含まれる外部問い合わせトリガとして、内部状態が所定の条件を満たすことが含まれているときのみ実行される。
【０１６５】
図１７に示すように、エッジルータは、エッジルータの内部状態を取得し（ステップ１７０１）、内部状態が所定の条件を満たすまで待機する（ステップ１７０２）。内部状態が所定の条件を満たす場合には（ステップ１７０２でＹｅｓ）、問い合わせ処理部２６は、イベント情報３０の問い合わせ内容により特定される外部システム２０に対して、所定の情報の問い合わせをするように通信処理部２２に依頼する。これに応答して、通信処理部２２は、問い合わせ内容により特定された外部システム２０に対して、問い合わせを実行する（ステップ１７０３）。
【０１６６】
外部システム２０は問い合わせに応答して、所定の問い合わせ結果をエッジルータに対して送信する。エッジルータの問い合わせ処理部２６は、イベント情報中の条件変更内容および受信した問い合わせ結果に基づいて、受信条件および／または変換条件を更新し、記憶部２８に記憶する（ステップ１７０４）。
【０１６７】
このような処理を実行することにより、エッジルータの内部状態に変化が生じた場合であっても、受信条件および／または変換条件を動的に変更することが可能となる。
【図面の簡単な説明】
【０１６８】
【図１】図１は、本実施の形態にかかるデータ通信方法が適用されるデータ通信システムの概略を示すブロックダイヤグラムである。
【図２】図２は、本実施の形態にかかるエッジルータの構成を示すブロックダイヤグラムである。
【図３】図３は、サブスクライバ側エッジルータ１８におけるイベント情報の登録処理の例を示すフローチャートである。
【図４】図４は、パブリッシャ側エッジルータ１６におけるイベント情報の登録処理の例を示すフローチャートである。
【図５】図５は、管理者システム２１からのメッセージ受信に応答して、エッジルータにおいて実行される処理を示すフローチャートである。
【図６】図６は、エッジルータにおいて実行される外部問い合わせ処理の例を示すフローチャートである。
【図７】図７は、エッジルータにおいて実行される外部問い合わせ処理の例を示すフローチャートである。
【図８】図８は、エッジルータにおいて実行されるタイマ処理の例を示すフローチャートである。
【図９】図９は、本実施の形態にかかるエッジルータで実行される通常処理（１）の例を示すフローチャートである。
【図１０】図１０は、本実施の形態にかかるエッジルータで実行される通常処理（２）の例を示すフローチャートである。
【図１１】図１１は、本実施の形態にかかるエッジルータで実行される通常処理（３）の例を示すフローチャートである。
【図１２】図１２は、本発明の第２の実施の形態にかかるデータ通信システムにおける処理の概略を説明するブロックダイヤグラムである。
【図１３】図１３は、第２の実施の形態にかかるデータ通信システムにおけるメッセージフローを示す図である。
【図１４】図１４は、第３の実施の形態にかかるデータ通信システムにおけるメッセージフローを示す図である。
【図１５】図１５は、第４の形態におけるメッセージの変更を概略的に示すブロックダイヤグラムである。
【図１６】図１６は、第４の実施の形態にかかるデータ通信システムにおけるメッセージフローを示す図である。
【図１７】図１７は、エッジルータの内部状態の変化に伴う外部問い合わせ処理の例を示すフローチャートである。
【符号の説明】
【０１６９】
１０        ネットワーク
１２        パブリッシャ端末装置
１４        サブスクライバ端末装置
１６        パブリッシャ側エッジルータ
１８        サブスクライバ側エッジルータ
２０        外部システム
２１        管理者システム
２２        通信処理部
２４        イベント情報登録部
２６        問い合わせ処理部
２８        記憶部
３０        イベント情報
３２        受信条件
３４        変換条件
【図１】
2008311701.tif 000003
【図２】
2008311701.tif 000004
【図３】
2008311701.tif 000005
【図４】
2008311701.tif 000006
【図５】
2008311701.tif 000007
【図６】
2008311701.tif 000008
【図７】
2008311701.tif 000009
【図８】
2008311701.tif 000010
【図９】
2008311701.tif 000011
【図１０】
2008311701.tif 000012
【図１１】
2008311701.tif 000013
【図１２】
2008311701.tif 000014
【図１３】
2008311701.tif 000015
【図１４】
2008311701.tif 000016
【図１５】
2008311701.tif 000017
【図１６】
2008311701.tif 000018
【図１７】
2008311701.tif 000019