(57)【特許請求の範囲】
【請求項１】
端末グループを識別するマルチキャスト・アドレスの割り当てを要求するために、マルチキャスト・アドレス配布サーバに対して、自端末の属性情報を含む割り当て要求を送信する手段と、
前記マルチキャスト・アドレスの前記割り当てに応じて、前記マルチキャスト・アドレスを自端末に設定し、自端末を前記マルチキャスト・アドレスに対応する前記端末グループに参加させる手段と、
を具備する端末であって、
前記端末が前記属性情報の変更を検出した際、変更後の前記属性情報を含む第２の割り当て要求を再送信することにより、前記マルチキャスト・アドレス配布サーバに対して新たなマルチキャスト・アドレスを要求し、前記属性情報の変更に応じて自端末が参加する端末グループを変更する場合において、
前記端末の属性情報が前記端末のファームウェアのバージョンであり、前記ファームウェアのアップデートにより前記バージョンの変更が検出された際に、前記マルチキャスト・アドレス配布サーバに対して、アップデート後のファームウェアのバージョンに対応した前記新たなマルチキャスト・アドレスの割り当てを要求するために、前記第２の割り当て要求を再送信するのに先立って、
前記端末が所属する末端ルータに対してマルチキャスト・グループ離脱要求を送信することによって、前記属性情報の変更前に自端末が参加していた前記端末グループから自端末を離脱させる、
ことを特徴とする端末。
【請求項２】
前記端末の属性情報は、前記端末が設置されている地理的エリアを記述する設置エリア情報を備え、
前記端末が設置されている地理的エリアの変更が検出された際に、前記マルチキャスト・アドレス配布サーバに対して、マルチキャスト・アドレスの割り当てを再度要求するために、前記第２の割り当て要求を再送信する、
ことを特徴とする請求項１記載の端末。
【請求項３】
前記端末の属性情報が前記端末の所有者であり、前記端末の所有者の変更が検出された際に、前記マルチキャスト・アドレス配布サーバに対して、マルチキャスト・アドレスの割り当てを要求するために、前記第２の割り当て要求を再送信する、
ことを特徴とする請求項１記載の端末。
【請求項４】
端末を制御するために、前記端末上のＣＰＵによって実行可能な一連の命令コードを含む、端末制御プログラムであって、
端末グループを識別するマルチキャスト・アドレスの割り当てを要求するために、マルチキャスト・アドレス配布サーバに対して、自端末の属性情報を含む割り当て要求を送信するステップと、
前記マルチキャスト・アドレスの前記割り当てに応じて、前記マルチキャスト・アドレスを自端末に設定し、自端末を前記マルチキャスト・アドレスに対応する前記端末グループに参加させるステップと、
前記端末が前記属性情報の変更を検出した際、変更後の前記属性情報を含む第２の割り当て要求を再送信することにより、前記マルチキャスト・アドレス配布サーバに対して新たなマルチキャスト・アドレスを要求し、前記属性情報の変更に応じて自端末が参加する端末グループを変更するステップと、
前記端末の属性情報が前記端末のファームウェアのバージョンであり、前記ファームウェアのアップデートにより前記バージョンの変更が検出された際に、前記マルチキャスト・アドレス配布サーバに対して、アップデート後のファームウェアのバージョンに対応した前記新たなマルチキャスト・アドレスの割り当てを要求するために、前記第２の割り当て要求を再送信するのに先立って、
前記端末が所属する末端ルータに対してマルチキャスト・グループ離脱要求を送信することによって、前記属性情報の変更前に自端末が参加していた前記端末グループから自端末を離脱させるステップと、
を前記ＣＰＵに実行させる端末制御プログラム。
【請求項５】
端末が参加するマルチキャスト・グループを変更する方法であって、
端末グループを識別するマルチキャスト・アドレスの割り当てを要求するために、マルチキャスト・アドレス配布サーバに対して、自端末の属性情報を含む割り当て要求を送信するステップと、
前記マルチキャスト・アドレスの前記割り当てに応じて、前記マルチキャスト・アドレスを自端末に設定し、自端末を前記マルチキャスト・アドレスに対応する前記端末グループに参加させるステップと、
前記端末が前記属性情報の変更を検出した際、変更後の前記属性情報を含む第２の割り当て要求を再送信することにより、前記マルチキャスト・アドレス配布サーバに対して新たなマルチキャスト・アドレスを要求し、前記属性情報の変更に応じて自端末が参加する端末グループを変更するステップと、
前記端末の属性情報が前記端末のファームウェアのバージョンであり、前記ファームウェアのアップデートにより前記バージョンの変更が検出された際に、前記マルチキャスト・アドレス配布サーバに対して、アップデート後のファームウェアのバージョンに対応した前記新たなマルチキャスト・アドレスの割り当てを要求するために、前記第２の割り当て要求を再送信するのに先立って、
前記端末が所属する末端ルータに対してマルチキャスト・グループ離脱要求を送信することによって、前記属性情報の変更前に自端末が参加していた前記端末グループから自端末を離脱させるステップと、
を備えるマルチキャスト・グループ変更方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、端末およびマルチキャスト・アドレス配布サーバに関する。
【背景技術】
【０００２】
従来、インターネットに接続される端末の大多数はＰＣなどのＩＴ機器であった。しかしながら、近年、ＩＴ機器以外にも、世の中に存在する様々なものが通信機能を持ちインターネットに接続されるようになってきた。このようにＩＴ機器ではないが通信機能を持った様々なものには、無線タグ、センサ機器またはアクチュエータ機器などを組み込んだ物品やＩＣカードなどが含まれる。モノのインターネットとは、このような、ＩＴ機器ではないが通信機能を持つ様々なものが相互に通信することで、遠隔監視、遠隔制御、自動制御などを実現する技術であり、ＩｏＴ（Ｉｎｔｅｒｎｅｔ  ｏｆ  Ｔｈｉｎｇｓ）と呼ばれる。
【０００３】
ＩｏＴが実現されると、これまでに無い膨大な数の端末がインターネットに接続されることになり、サーバから特定のグループに所属する複数の端末に対して一斉にパケットを送信するケースがある。ネットワーク上の多数の端末に対して効率的にパケットを送信する技術としてマルチキャストが既に知られている。マルチキャストによるパケット送信では宛先となる端末グループを特定するために、グループ内の各端末にマルチキャスト・アドレスを設定する必要がある。従来の技術では、各端末に直接マルチキャスト・アドレスを設定するか、サーバ側で端末の識別子とマルチキャスト・アドレスとの対応表を管理し、識別子に応じてマルチキャスト・アドレスを各端末に割り当てる。
【０００４】
特許文献１には、特定の条件を満たす端末グループに対してパケットの同時送信を効率的に行うことを目的として、以下の動作を行うアドレス配信サーバをネットワークシステム内に配置する構成が開示されている。当該アドレス配信サーバは、パケットを同時送信しようとする送信元端末から送信先となる端末グループを検索するための検索条件を受け取る。続いて、当該アドレス配信サーバは、ネットワーク内の各端末に関して記憶されている情報に基づいて、当該検索条件に合致する端末グループを検索し、当該検索された端末グループに割り当てるマルチキャスト・アドレスを生成する。最後に、当該アドレス配信サーバは、送信元端末と送信先となる端末グループに対して当該生成したマルチキャスト・アドレスを通知する。
【０００５】
特許文献２には、ＩＰ放送端末に対するマルチキャスト・アドレスの設定を不要にすることを目的として、以下のような発明の構成が開示されている。特許文献２記載の発明においては、マルチキャストにより配信されるＩＰ放送を受信するＩＰ放送端末とマルチキャスト・グループ管理装置が設けられている。当該マルチキャスト・グループ管理装置は、ＩＰ放送チャネル識別子とマルチキャスト・グループ識別子との間の対応関係を記述する対応情報を保持している。ＩＰ放送端末は、マルチキャスト・グループ管理装置に対して、ＩＰ放送チャネル識別子を含む問合せメッセージを送る。当該問合せメッセージに応答して、マルチキャスト・グループ管理装置は、ＩＰ放送チャネルに対応したマルチキャスト・グループ識別子を決定し、当該マルチキャスト・グループ識別子をＩＰ放送端末に通知する。
【０００６】
加えて、特許文献２に開示されたＩＰ放送端末は、マルチキャスト・グループ管理装置に送られる当該問合せメッセージ内にＩＰ放送チャネル識別子だけでなく自端末が位置する地理的エリアに関するエリア情報も含めることが可能である。その場合、マルチキャスト・グループ管理装置は、ＩＰ放送チャネル識別子とマルチキャスト・グループ識別子との間の対応関係だけでなく、エリア情報も考慮してマルチキャスト・グループ識別子を決定することが可能となる。その結果、特許文献２記載の発明は、特定の地理的エリアに限定したマルチキャスト・グループをＩＰ放送端末に設定することが可能となる。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１および特許文献２記載の発明を含む従来の技術においては、各端末に複数のグループを割り当てることが困難である。そのため、従来の技術においては、例えば、端末の設置エリア毎に各端末が所属する端末グループが定められており、各端末に対して所属すべき端末グループを割り当てるような場合に、以下の問題を生じる。すなわち、特定の端末の設置エリアが変更された際に、従来の技術は、当該特定の端末が所属する端末グループを動的に変更することが困難である。また、端末の属性情報としては、端末の設置エリア以外にも様々な属性情報が考えられるが、従来の技術は、端末の属性情報が変更された際に、以下のような問題を生じる。すなわち、従来の技術は、属性情報の変更に適応する形で、当該端末に新たなマルチキャスト・アドレスを動的に再設定したり、当該端末が所属するマルチキャスト・グループを動的に変更したりすることができない。
【０００８】
以上の問題点に鑑み、本発明は、自端末の属性情報が変更された際に、当該属性情報の変更に適応する形で、自端末が所属するマルチキャスト・グループを動的に変更することを可能にする端末を得ることを目的とする。
【課題を解決するための手段】
【０００９】
そこで本発明は、端末グループを識別するマルチキャスト・アドレスの割り当てを要求するために、マルチキャスト・アドレス配布サーバに対して、自端末の属性情報を含む割り当て要求を送信する手段と、前記マルチキャスト・アドレスの前記割り当てに応じて、前記マルチキャスト・アドレスを自端末に設定し、自端末を前記端末グループに参加させる手段と、を具備する端末であって、前記端末が前記属性情報の変更を検出した際、変更後の前記属性情報を含む第２の割り当て要求を送信することにより、前記マルチキャスト・アドレス配布サーバに対して新たなマルチキャスト・アドレスを要求し、前記属性情報の変更に応じて自端末が参加する端末グループを変更する、との構成を採る。
【発明の効果】
【００１０】
本発明は、自端末の属性情報が変更された際に、当該属性情報の変更に適応する形で、自端末が所属するマルチキャスト・グループを動的に変更することを可能にする端末を得ることができる。
【図面の簡単な説明】
【００１１】
【図１】本実施の形態に係るデータ配信ネットワーク全体の構成図。
【図２】本実施の形態に係る端末２００とマルチキャスト・アドレス配布サーバ１００の装置構成図。
【図３】本実施の形態に係るマルチキャスト・アドレス配布サーバ１００の機能モジュール構成図。
【図４】本実施の形態に係る端末２００の機能モジュール構成図。
【図５】ネットワーク５００内の既存のマルチキャスト・ツリーＭＴ−１に端末２００が参加する手順を説明する図。
【図６】本実施の形態に従い、端末２００にマルチキャスト・アドレスを割り当て、端末２００を特定のマルチキャスト・グループに参加させる手順を説明するシーケンス図。
【図７】本実施の形態に従い、マルチキャスト・アドレス配布サーバ１００から端末２００に別のマルチキャスト・アドレスを再割り当てする手順を説明するシーケンス図。
【図８】本実施の形態に従い、マルチキャスト・アドレスの割り当てを要求する要求パケットのフィールド構成を示す図。
【図９】本実施の形態に従い、マルチキャスト・アドレス割り当て要求パケットに応答して返信される応答パケットのフィールド構成を示す図。
【図１０】本実施の形態に従い、マルチキャスト・アドレス配布サーバ１００上において、端末属性情報とマルチキャスト・アドレスとの間の対応関係を管理するための対応表テーブルを示す図。
【図１１】スマートメータ６００の設置エリアが変更された場合における本実施の形態の動作手順を説明するためのシステム構成図。
【図１２】スマートメータ６００の設置エリアが変更された場合における本実施の形態の動作手順を説明するためのシーケンス図。
【図１３】スマートメータ６００のファームウェア・バージョンが更新された場合における本実施の形態の動作手順を説明するためのシステム構成図。
【図１４】スマートメータ６００のファームウェア・バージョンが更新された場合における本実施の形態の動作手順を説明するためのシーケンス図。
【発明を実施するための形態】
【００１２】
本実施の形態は、マルチキャスト・アドレス配布サーバからマルチキャスト・アドレスを割り当てられた各端末が、当該割り当てられたマルチキャスト・アドレスによって識別されるマルチキャスト・グループに参加することによって、データ配信サーバからマルチキャストされる配信データを受信することが可能なデータ配信システムに関する。本実施の形態に係るデータ配信システムは、以下を実現する仕組みを備えている。すなわち、マルチキャスト配信データを受信しようとする各端末が２つ以上のマルチキャスト・グループに対応付けられると共に、各端末が、状況に応じて参加するマルチキャスト・グループを変更することを可能とする。
【００１３】
本実施の形態の以下の説明においては、まず、図１乃至図４を参照しながら、本実施の形態に係るマルチキャスト型データ配信システムのネットワーク全体の構成と当該ネットワークに接続されたサーバ機器や端末の構成について述べる。続いて、図５乃至図８を参照しながら、端末にマルチキャスト・アドレスを割り当て、端末を特定のマルチキャスト・グループに参加させる手順および当該手順においてやり取りされるメッセージのデータ構造について述べる。続いて、図９および図１０を参照しながら、本実施の形態に係る第１実施例の動作手順について述べ、図１１および図１２を参照しながら、本実施の形態に係る第２実施例の動作手順について述べる。
【００１４】
以下、図１を参照しながら、本実施の形態に係るマルチキャスト型データ配信システムのネットワーク全体の構成について説明する。本実施の形態に係るマルチキャスト型データ配信システムは、マルチキャスト・アドレス配布サーバ１００と、端末２００−Ａ〜端末２００−Ｄと、ルータ３００−Ａおよびルータ３００−Ｂと、データ配信サーバ４００と、ネットワーク５００から構成される。本実施の形態においては、ルータ３００−Ａおよびルータ３００−Ｂに加え、３個以上のルータが接続されていてもよく、これらのルータを総称してルータ３００と呼ぶ。本実施の形態においては、端末２００−Ａ〜端末２００−Ｄに加えて、５つ以上の端末が接続されていてもよく、これらの端末を総称して端末２００と呼ぶ。マルチキャスト・アドレス配布サーバ１００は、ネットワーク５００および一つ以上のルータ３００を介して一つ以上の端末２００と接続されている。また、データ配信サーバ４００も、ネットワーク５００および一つ以上のルータ３００を介して一つ以上の端末２００と接続されている。
【００１５】
マルチキャスト・アドレス配布サーバ１００は、端末２００からマルチキャスト・アドレスの割り当て要求を受信すると、端末２００に対してマルチキャスト・アドレスを割り当て、当該割り当てたマルチキャスト・アドレスを端末２００に対して配布する。マルチキャスト・アドレス配布サーバ１００によって個々の端末２００に割り当てられたマルチキャスト・アドレスは、個々の端末２００が属すべきマルチキャスト・グループを識別する。マルチキャスト・グループとは、同一のデータ配信元から同一のマルチキャスト・データをマルチキャスト配信される一群の端末によって構成される端末グループを意味している。また、マルチキャスト・データの送信元を表すネットワーク・アドレス（例えば、ＩＰアドレス）は、データ配信元となるサーバのネットワーク・アドレス（例えば、ＩＰアドレス）である。
【００１６】
例えば、端末グループＧ１に対して配信されるマルチキャスト・データを受信しようとする端末２００−Ａがマルチキャスト・アドレス配布サーバ１００に対してマルチキャスト・アドレスの割り当て要求を送信したとする。すると、当該割り当て要求を受信したマルチキャスト・アドレス配布サーバ１００は、端末グループＧ１をマルチキャスト配信の宛先として識別するマルチキャスト・アドレスａｄ−１を端末２００−Ａに対して割り当て、マルチキャスト・アドレスａｄ−１を端末２００−Ａに返信する。別の例として、端末グループＧ１とは異なる端末グループＧ２に対して配信されるマルチキャスト・データを受信しようとする端末２００−Ｄがマルチキャスト・アドレス配布サーバ１００に対してマルチキャスト・アドレスの割り当て要求を送信したとする。すると、当該割り当て要求を受信したマルチキャスト・アドレス配布サーバ１００は、端末グループＧ２をマルチキャスト配信の宛先として識別するマルチキャスト・アドレスａｄ−２を端末２００−Ｄに対して割り当て、マルチキャスト・アドレスａｄ−２を端末２００−Ｄに返信する。
【００１７】
データ配信サーバ４００は、マルチキャスト・アドレスによって宛先として指定される一群の端末２００に向けてマルチキャスト・データをマルチキャスト配信するサーバである。データ配信サーバ４００は、一つ以上のマルチキャスト・グループにそれぞれ対応する一つ以上のマルチキャスト・アドレスを管理している。データ配信サーバ４００は、自身のネットワーク・アドレスを送信元ネットワーク・アドレスとし、自身が管理しているマルチキャスト・アドレスを宛先ネットワーク・アドレスとして一連のパケットを生成し、当該一連のパケットにマルチキャスト・データを載せて配信する。これにより、データ配信サーバ４００は、自身が管理しているマルチキャスト・アドレスによって識別される端末グループに属する一群の端末２００に対して、当該マルチキャスト・データを載せた一連のパケットをマルチキャスト配信する。
【００１８】
端末２００は、特定の端末グループに新たに所属し、当該端末グループを宛先としてマルチキャスト配信されるマルチキャスト・データを受信するために、マルチキャスト・アドレスの割り当て要求をマルチキャスト・アドレス配布サーバ１００に送信する。続いて、端末２００は、当該割り当て要求への応答として、自端末が所属すべき端末グループをマルチキャスト配信の宛先として識別するマルチキャスト・アドレスをマルチキャスト・アドレス配布サーバ１００から受信する。
【００１９】
例えば、マルチキャスト・データを受信しようとする端末２００−Ａが、マルチキャスト・アドレス配布サーバ１００に対して、マルチキャスト・アドレスの割り当て要求を送信したとする。すると、当該割り当て要求を受信したマルチキャスト・アドレス配布サーバ１００は、端末グループＧ１をマルチキャスト配信の宛先として識別するマルチキャスト・アドレスａｄ−１を、端末２００−Ａに対して割り当てる。続いて、端末２００−Ａは、マルチキャスト・アドレス配布サーバ１００からマルチキャスト・アドレスａｄ−１を受信して自端末内に設定する。
【００２０】
別の例として、マルチキャスト・データを受信しようとする端末２００−Ｄが、マルチキャスト・アドレス配布サーバ１００に対して、マルチキャスト・アドレスの割り当て要求を送信したとする。すると、当該割り当て要求を受信したマルチキャスト・アドレス配布サーバ１００は、端末グループＧ２をマルチキャスト配信の宛先として識別するマルチキャスト・アドレスａｄ−２を、端末２００−Ｄに対して割り当てる。続いて、端末２００−Ｄは、マルチキャスト・アドレス配布サーバ１００からマルチキャスト・アドレスａｄ−２を受信して自端末内に設定する。
【００２１】
マルチキャスト・アドレス配布サーバ１００から割り当てられたマルチキャスト・アドレスを端末２００が受信し、自端末内に設定した後には、端末２００は、当該マルチキャスト・アドレスによってマルチキャスト配信の宛先として識別される端末グループに新たに所属することになる。また、当該割り当てられたマルチキャスト・アドレスを端末２００が受信し、自端末内に設定した後には、端末２００は、当該マルチキャスト・アドレスを宛先としてマルチキャスト配信されたマルチキャスト・データを受信することが出来るようになる。なお、既存のいずれかの端末グループに個々の端末２００を新たに所属させるためにルータ３００およびネットワーク５００の上で実現される具体的な仕組みと手順に関しては、図５を用いて後述する。
【００２２】
次に、図２を参照しながら、マルチキャスト・アドレス配布サーバ１００および端末２００の装置構成について説明する。マルチキャスト・アドレス配布サーバ１００は、ＣＰＵ  １５０、主記憶１６０、Ｉ／Ｏインターフェース１７０、入出力装置（マウス、キーボード、ディスプレイ等）１８０を備えたサーバ・コンピュータとすることが可能である。マルチキャスト・アドレス配布サーバ１００のＣＰＵ  １５０は、主記憶１６０の上に常駐しているＯＳ  １４０を実行している。ＯＳ  １４０の上では、複数のＷｅｂアプリケーション１２０Ａ〜１２０ＤとＷｅｂサーバ・ソフトウェア１３０が実行されている。以下、当該複数のＷｅｂアプリケーション１２０Ａ〜１２０Ｄを総称してＷｅｂアプリケーション１２０と呼ぶこととする。Ｗｅｂアプリケーション１２０Ａ〜１２０ＤとＷｅｂサーバ・ソフトウェア１３０とは、ＯＳ  １４０が提供するプロセス間通信機能やスレッド間通信機能を使用して相互にデータをやり取りすることが可能である。同様に、複数のＷｅｂアプリケーション１２０同士の間でも、ＯＳ  １４０が提供するプロセス間通信機能やスレッド間通信機能を使用して相互にデータをやり取りすることが可能である。
【００２３】
一実施例において、端末２００は、ＣＰＵ  ２４０、主記憶２５０、センサ・デバイス２７０、アクチュエータ駆動回路２８０を備え、当該センサ・デバイス２７０やアクチュエータ駆動回路は、Ｉ／Ｏインターフェース２６０を介してＣＰＵ  ２４０や主記憶２５０との間でデータをやり取り可能に構成された端末機器である。端末２００のＣＰＵ  ２４０は、主記憶２５０の上に常駐しているＯＳ  ２３０を実行している。ＯＳ  ２３０の上では、複数の端末制御プログラム２１０Ａ〜２１０ＤとＨＴＴＰクライアント２２０が実行されている。以下、当該複数の端末制御プログラム２１０Ａ〜２１０Ｄを総称して端末制御プログラム２１０と呼ぶこととする。複数の端末制御プログラム２１０Ａ〜２１０ＤとＨＴＴＰクライアント２２０とは、ＯＳ  ２３０が提供するプロセス間通信機能やスレッド間通信機能を使用して相互にデータをやり取りすることが可能である。同様に、複数の端末制御プログラム２１０同士の間でも、ＯＳ  ２３０が提供するプロセス間通信機能やスレッド間通信機能を使用して相互にデータをやり取りすることが可能である。また、代替的実施例においては、端末２００は、ＣＰＵ、主記憶、Ｉ／Ｏインターフェース、入出力装置（タッチパネル、液晶ディスプレイ等）を備えたモバイル情報端末とすることも可能である。
【００２４】
マルチキャスト・アドレス配布サーバ１００のＩ／Ｏインターフェース１７０および端末２００のＩ／Ｏインターフェース２６０は、物理レベルの通信機能を実現するネットワーク・インターフェース（図示せず）をそれぞれ具備している。マルチキャスト・アドレス配布サーバ１００のＩ／Ｏインターフェース１７０および端末２００のＩ／Ｏインターフェース２６０は、当該ネットワーク・インターフェースの通信機能を利用して物理通信回線９１を介して相互に物理層レベルおよびデータリンク層レベルの通信をすることが可能である。また、端末２００上の複数の端末制御プログラム２１０Ａ〜２１０Ｄがマルチキャスト・アドレス配布サーバ１００上の複数のＷｅｂアプリケーション１２０Ａ〜１２０Ｄに対してメッセージを送信する際には、端末２００とマルチキャスト・アドレス配布サーバ１００との間で物理通信回線９１を介した物理層レベルおよびデータリンク層レベルの通信機能を利用して以下の通信制御手順が実行される。
【００２５】
まず、端末制御プログラム２１０は、ＨＴＴＰクライアント２２０に対して通信セッションの開始要求を通知する。続いて、当該通知を受けたＨＴＴＰクライアント２２０は、マルチキャスト・アドレス配布サーバ１００上のＷｅｂサーバ・ソフトウェア１３０に対してＨＴＴＰコネクション９２の確立要求を通知する。続いて、マルチキャスト・アドレス配布サーバ１００上でＨＴＴＰコネクション９２の確立要求を受け取ったＷｅｂサーバ・ソフトウェア１３０は、端末２００上のＨＴＴＰクライアント２２０との間でＨＴＴＰコネクション９２を確立する。ＨＴＴＰコネクション９２が確立された後は、端末制御プログラム２１０は、ＨＴＴＰクライアント２２０とＷｅｂサーバ・ソフトウェア１３０との間に設定されたＨＴＴＰコネクション９２を介してマルチキャスト・アドレス配布サーバ１００上の複数のＷｅｂアプリケーション１２０Ａ〜１２０Ｄに対してメッセージを送信し、さらに、複数のＷｅｂアプリケーション１２０Ａ〜１２０Ｄから応答メッセージを受信することが可能となる。
【００２６】
次に、図３を参照しながら、マルチキャスト・アドレス配布サーバ１００の機能モジュール構成について説明する。マルチキャスト・アドレス配布サーバ１００は、マルチキャスト・アドレス配布部１０１と、マルチキャスト・アドレス管理部１０２と、通信部１０３と、から構成される。また、マルチキャスト・アドレス配布部１０１、マルチキャスト・アドレス管理部１０２および通信部１０３の各々は、マルチキャスト・アドレス配布サーバ１００上のＣＰＵ  １５０によってＯＳ  １４０上で実行される複数のＷｅｂアプリケーション１２０として実装することが可能である。ＣＰＵ  １５０によってＯＳ  １４０上で複数のＷｅｂアプリケーション１２０として実行されるマルチキャスト・アドレス配布部１０１、マルチキャスト・アドレス管理部１０２および通信部１０３は、ＯＳ  １４０が提供するプロセス間通信機能やスレッド間通信機能を使用して相互にデータをやり取りすることが可能である。
【００２７】
通信部１０３は、ネットワーク５００および一つ以上のルータ３００を介して一つ以上の端末２００との間でパケットを送受信する機能モジュールである。通信部１０３によって送受信されるパケットには、マルチキャスト・アドレス配布サーバ１００に対して端末２００からマルチキャスト・アドレスの割り当てを要求する割り当て要求を含む割り当て要求パケットが含まれる。また、通信部１０３によって送受信されるパケットには、当該割り当て要求に応答して、端末２００に宛てて返信されるマルチキャスト・アドレスを含んだ応答パケットが含まれる。
【００２８】
マルチキャスト・アドレス配布部１０１は、個々の端末２００の属性に応じて個々の端末２００にマルチキャスト・アドレスを割り当てる動作全体を統括する機能モジュールである。具体的には、マルチキャスト・アドレスの割り当て要求を含んだ割り当て要求パケットを端末２００から受信した旨を通信部１０３から通知されたマルチキャスト・アドレス配布部１０１は、通信部１０３から当該割り当て要求を受け取る。このとき、端末２００から受信したマルチキャスト・アドレスの割り当て要求には、端末２００の属性情報が含まれている。端末２００の属性情報とは、端末２００の現在の状況や機器設定内容を反映した端末属性を記述する情報である。これにより、マルチキャスト・アドレス配布サーバ１００内において、端末２００からマルチキャスト・アドレスの割り当てを要求する割り当て要求を受信する手段が実現される。
【００２９】
続いて、マルチキャスト・アドレス配布部１０１は、端末２００から受信したマルチキャスト・アドレスの割り当て要求に含まれる端末２００の属性情報から対応するマルチキャスト・アドレスを得るようにマルチキャスト・アドレス管理部１０２に指示する。端末２００の属性情報に対応してマルチキャスト・アドレス管理部１０２によって得られるマルチキャスト・アドレスは、端末２００からの割り当て要求に応答して端末２００に割り当てるべきマルチキャスト・アドレスである。続いて、マルチキャスト・アドレス配布部１０１は、端末２００に割り当てるべきマルチキャスト・アドレスをマルチキャスト・アドレス管理部１０２から受け取り、当該マルチキャスト・アドレスを端末２００に返信するように通信部１０３に指示する。これにより、マルチキャスト・アドレス配布サーバ１００内において、端末２００に対して当該決定したマルチキャスト・アドレスを通知する手段が実現される。
【００３０】
マルチキャスト・アドレス管理部１０２は、端末２００の属性情報とマルチキャスト・アドレスとの間の対応関係をテーブルとして保持すると共に、マルチキャスト・アドレス管理部１０２は、マルチキャスト・アドレスの端末２００への割り当て状態を保持する。これにより、マルチキャスト・アドレス配布サーバ１００内において、端末２００の属性情報とマルチキャスト・アドレスとの間の対応関係を保持する手段が実現される。加えて、マルチキャスト・アドレス配布部１０１からの指示を受けたマルチキャスト・アドレス管理部１０２は、以下の動作を行う。すなわち、マルチキャスト・アドレス配布部１０１から端末２００ｘについて新規に渡された属性情報を検索キーとして使用して端末２００の属性情報とマルチキャスト・アドレスとの間の対応関係を保持するテーブルを検索する。その結果、該当するマルチキャスト・アドレスが得られると、該当するマルチキャスト・アドレスの未割り当て分に相当する空きアドレスを端末２００ｘに割り当てる。これにより、マルチキャスト・アドレス配布サーバ１００内において、端末２００ｘから受信した端末２００ｘの属性情報に基づいて、端末２００ｘに配布するマルチキャスト・アドレスを決定する手段が実現される。
【００３１】
次に、図４を参照しながら、端末２００の機能モジュール構成について説明する。端末２００は、マルチキャスト・アドレス保持部２０１、端末属性情報保持部２０２、配信データ処理部２０３、マルチキャスト・アドレス配布要求部２０４および通信部２０５から構成される。マルチキャスト・アドレス保持部２０１、端末属性情報保持部２０２、配信データ処理部２０３、マルチキャスト・アドレス配布要求部２０４および通信部２０５の各々は、端末２００上のＣＰＵ  ２４０によってＯＳ  ２３０上で実行される複数の端末制御プログラム２１０として実装することが可能である。ＣＰＵ  ２４０によってＯＳ  ２３０上で複数の端末制御プログラム２１０として実行されるマルチキャスト・アドレス保持部２０１、端末属性情報保持部２０２、配信データ処理部２０３、マルチキャスト・アドレス配布要求部２０４および通信部２０５は、端末２００上のＯＳ  ２３０が提供するプロセス間通信機能やスレッド間通信機能を使用して相互にデータをやり取りすることが可能である。
【００３２】
通信部２０５は、一つ以上のルータ３００およびネットワーク５００を介してマルチキャスト・アドレス配布サーバ１００との間でパケットを送受信する機能モジュールである。通信部２０５によって送受信されるパケットには、端末２００からマルチキャスト・アドレス配布サーバ１００に対してマルチキャスト・アドレスの割り当てを要求する割り当て要求を含む割り当て要求パケットが含まれる。また、通信部２０５によって送受信されるパケットには、当該割り当て要求に応答して、マルチキャスト・アドレス配布サーバ１００から端末２００に宛てて返信されるマルチキャスト・アドレスを含んだ応答パケットが含まれる。
【００３３】
マルチキャスト・アドレス保持部２０１は、マルチキャスト・アドレス配布サーバ１００から受信したマルチキャスト・アドレスを保持する。端末属性情報保持部２０２は、端末２００の位置情報、ファームウェアのバージョンといった属性情報を保持する。マルチキャスト・アドレス配布要求部２０４は、マルチキャスト・アドレスの割り当てを要求する割り当て要求に端末２００の属性情報を含めた上で、マルチキャスト・アドレス配布サーバ１００に対して当該割り当て要求を送信するように通信部２０５に指示する。これにより、端末２００内において、端末グループを識別するマルチキャスト・アドレスの割り当てを端末２００がマルチキャスト・アドレス配布サーバ１００に対して要求するために、端末２００の属性情報を含む割り当て要求を送信する手段が実現される。また、マルチキャスト・アドレス配布要求部２０４は、マルチキャスト・アドレス配布サーバ１００からマルチキャスト・アドレスを受信して、マルチキャスト受信用アドレスとして端末２００に設定するようにマルチキャスト・アドレス保持部２０１に指示する。これにより、端末２００内において、マルチキャスト・アドレスの割り当てに応じて、当該マルチキャスト・アドレスを端末２００に設定し、端末２００を当該マルチキャスト・アドレスに対応する端末グループに参加させる手段が実現される。配信データ処理部２０３は、データ配信サーバ４００からマルチキャスト・アドレスに宛ててマルチキャスト配信されたデータを処理する。
【００３４】
端末２００からマルチキャスト・アドレス配布サーバ１００へマルチキャスト・アドレスの割り当てを要求するために、端末２００からマルチキャスト・アドレス配布サーバ１００へ送信される割り当て要求を含んだメッセージは、以下のようにして伝送される。すなわち、当該割り当て要求を含んだメッセージをマルチキャスト・アドレス配布要求部２０４（図４）から受け取った通信部２０５（図４）は、当該メッセージをＨＴＴＰクライアント２２０（図２）に渡す。続いて、ＨＴＴＰクライアント２２０は、Ｗｅｂサーバ・ソフトウェア１３０（図２）との間に設定されたＨＴＴＰコネクション９２（図２）を介して、当該メッセージを、ＨＴＴＰリクエスト・メッセージとしてマルチキャスト・アドレス配布サーバ１００上のＷｅｂサーバ・ソフトウェア１３０（図２）に送信する。当該メッセージを受け取ったＷｅｂサーバ・ソフトウェア１３０は、通信部１０３（図３）に当該メッセージを渡し、通信部１０３は、当該メッセージをマルチキャスト・アドレス配布部１０１（図３）に渡す。
【００３５】
逆に、当該メッセージへの応答として、マルチキャスト・アドレス配布サーバ１００から端末２００がマルチキャスト・アドレスを受信するための応答メッセージは、以下のようにして伝送される。すなわち、当該マルチキャスト・アドレスを含んだ応答メッセージをマルチキャスト・アドレス配布部１０１（図３）から受け取った通信部１０３（図３）は、当該応答メッセージをＷｅｂサーバ・ソフトウェア１３０（図２）に渡す。続いて、Ｗｅｂサーバ・ソフトウェア１３０は、ＨＴＴＰクライアント２２０（図２）との間に設定されたＨＴＴＰコネクション９２（図２）を介して、当該応答メッセージを、ＨＴＴＰ応答メッセージとして端末２００上のＨＴＴＰクライアント２２０（図２）に送信する。当該応答メッセージを受け取ったＨＴＴＰクライアント２２０は、通信部２０５（図４）に当該応答メッセージを渡し、通信部２０５は、当該応答メッセージをマルチキャスト・アドレス配布要求部２０４（図４）に渡す。
【００３６】
次に、マルチキャスト・アドレス配布サーバ１００およびデータ配信サーバ４００からマルチキャスト・グループとして指摘される特定の端末グループに端末２００が参加する際にルータ３００およびネットワーク５００内で実行される動作手順について説明する。端末２００ｘがマルチキャスト・グループに参加する動作は、以下のように捉えることができる。データ配信サーバ４００からマルチキャスト・グループに属する複数の端末２００−１~２００−ｎに対して同一のマルチキャスト・データを配信するためのデータ伝送経路は、以下のようなパケット・ルーティング経路として形成される。すなわち、上記データ伝送経路は、データ配信サーバ４００を根ノード（ルート・ノード）とし、マルチキャスト・グループに属する複数の端末２００−１~２００−ｎを葉ノード（リーフ・ノード）とする木構造状のマルチキャスト・パケット・ルーティング経路として形成される。その際、根ノード（ルート・ノード）および葉ノード（リーフ・ノード）以外の中間ノードは、ネットワーク５００内の複数のルータに対応し、当該複数のルータは、根ノードに位置するデータ配信サーバ４００からのマルチキャスト・パケットをマルチキャスト・ルーティングにより中継転送する。以下、このような木構造をマルチキャスト・ツリーと呼ぶ。
【００３７】
端末２００ｘがマルチキャスト・グループに参加する動作は、マルチキャスト・ツリーに対して端末２００ｘが新たな葉ノード（リーフ・ノード）として加わる動作に相当する。既存のマルチキャスト・ツリーに対して端末２００ｘを新たな葉ノード（リーフ・ノード）として加えるには、当該マルチキャスト・ツリーの合流ポイントに位置するルータから端末２００ｘに至るまでのルーティング経路を新たに確立することが必要である。加えて、当該マルチキャスト・ツリーに対して端末２００ｘを新たな葉ノード（リーフ・ノード）として加えるには、当該マルチキャスト・ツリー上の合流ポイントに位置するルータからデータ配信サーバ４００に至るまでのルーティング経路上のルーティング・テーブルを書き換える必要がある。このルーティング・テーブルの書き換えは、当該マルチキャスト・ツリーの合流ポイントから根ノードまでの経路上に位置するルータにおいて端末２００ｘへのパケット・ルーティング経路が追加されたことによるマルチキャスト・ルーティングの変更を反映させるものでなくてはならない。
【００３８】
これにより、マルチキャスト・パケットは、まずは、データ配信サーバ２００から端末２００−１~２００−ｎまでのデータ伝送経路に含まれる既存のマルチキャスト・ツリーを経由してデータ配信サーバ４００から合流ポイントに位置するルータまで転送される。続いて、当該マルチキャスト・パケットは、当該合流ポイントから当該新たに追加されたルーティング経路を介して端末２００ｘへと転送されるようになる。
【００３９】
当該マルチキャスト・ツリーの合流ポイントに位置するルータから端末２００ｘに至るまでのルーティング経路を新たに追加する動作には以下の２つのケースが考えられる。第１のケースは、端末２００ｘが１ホップで直接接続しているルータ（以下、末端ルータと呼ぶ）が既存のマルチキャスト・ツリーに接続するルーティング経路を確立しておらず、当該末端ルータが既存のマルチキャスト・ツリーに参加していない場合である。この場合には、当該末端ルータが既存のマルチキャスト・ツリーに参加させるために、以下の２つの動作が必要になる。まず、ＰＩＭ（Protocol  Independent  Multicast）またはＭ−ＯＳＰＦ（Multicast-OSPF（Open-Shortest-Path-First））等のようなマルチキャスト・ルーティング・プロトコルを使用して当該末端ルータから既存のマルチキャスト・ツリーの合流ポイントに位置するルータまでのルーティング経路を確立する必要がある。続いて、当該末端ルータが既存のマルチキャスト・ツリーを経由して受信したマルチキャスト・パケットを同報送信する宛先の一つとして、端末２００ｘを、当該末端ルータ上のルーティング・テーブルに新たに追加登録する必要がある。当該末端ルータが、当該マルチキャスト・パケットを同報送信する宛先の一つとして端末２００ｘを新たに追加登録する動作は、例えば、ＩＧＭＰ（IP  Group  Management  Protocol）などを使用して実現することが可能である。第２のケースは、末端ルータが既存のマルチキャスト・ツリーに接続するルーティング経路を確立しており、当該末端ルータが既存のマルチキャスト・ツリーに既に参加している場合である。この場合には、当該末端ルータが、ＩＧＭＰを使用して、既存のマルチキャスト・ツリーから受信したマルチキャスト・パケットを同報送信する宛先の一つとして、端末２００ｘを、当該末端ルータ上のルーティング・テーブルに新たに追加登録するだけでよい。
【００４０】
以下、図５を参照しながら、マルチキャスト・ツリーの合流ポイントに位置するルータから端末２００ｘに至るまでのルーティング経路を新たに追加する動作の具体的なシナリオについて説明する。なお、図５を使用した以下の具体例においては、マルチキャスト・ルーティング・プロトコルの一例としてＰＩＭのスパーズ・モードが使用されていると仮定して説明を行う。しかしながら、本実施の形態は、ＰＩＭ以外の他のマルチキャスト・ルーティング・プロトコルを使用して実現することももちろん可能である。図５において、ＭＴ−１として示されているマルチキャスト・ルーティング経路は、データ配信サーバ４００からマルチキャスト・アドレスＭＡ１により識別される端末グループに所属する複数の端末に至るマルチキャスト・ツリーの一部分を示すものである。図５においては、マルチキャスト・ルーティング経路ＭＴ−１が、データ配信サーバ４００を根ノード（ルート・ノード）として出発し、ネットワーク５００内においてルータ３１０Ｑおよびルータ３１０Ｒを含む複数のルータを経由している様子が示されている。また、図５において、ルータ３００−Ａは、端末２００−Ａ〜端末２００−Ｃが１ホップで直接接続している末端ルータであり、ルータ３００−Ｂは、端末２００−Ｄが１ホップで直接接続している末端ルータである。上述したルータ３１０Ｑおよびルータ３１０Ｒは、末端ルータであるルータ３００−Ａおよびルータ３００−Ｂが、マルチキャスト・ルーティング・プロトコルを使用してマルチキャスト・ツリーＭＴ−１に参加する際の合流ポイントとなるルータである。
【００４１】
図５に示す例において、マルチキャスト・アドレス配布サーバ１００からマルチキャスト・アドレスＭＡ１を割り当てられた端末２００Ａは、自端末にとっての末端ルータであるルータ３００−Ａに対して、ＭＡ１により識別される端末グループに新たに参加したい旨の要求を通知する。この要求は、ＩＧＭＰを使用して、端末２００Ａから末端ルータ３００−Ａに通知することが可能である。当該通知を受けた末端ルータ３００−Ａは、ルータ３００−Ａがマルチキャスト・ツリーＭＴ−１に既に参加しているか否かを判定する。既に参加しているならば、末端ルータ３００−Ａは、マルチキャスト・ツリーＭＴ−１を経由してマルチキャスト・アドレスＭＡ１に宛ててマルチキャスト配信されたパケットを同報送信する宛先の一つとして、端末２００−Ａを、末端ルータ３００−Ａ上のルーティング・テーブルに新たに追加登録する。今、末端ルータ３００−Ａ上のルーティング・テーブルにおいて、マルチキャスト・アドレスＭＡ１宛てのパケットを同報送信する宛先として端末２００−Ｂと端末２００−Ｃが既に登録されており、端末２００−Ａも新たに登録されたと仮定する。その場合、末端ルータ３００−Ａは、マルチキャスト・ツリーＭＴ−１を経由して受信したマルチキャスト・アドレスＭＡ１宛てのパケットを端末２００−Ａ〜端末２００−Ｃのすべてに対して同報送信する。
【００４２】
続いて、マルチキャスト・アドレスＭＡ１により識別される端末グループに新たに参加したい旨の要求を端末２００−Ａから通知された際に、末端ルータであるルータ３００−Ａがマルチキャスト・ツリーＭＴ−１に未だ参加していなかった場合について説明する。この場合には、末端ルータ３００−Ａは、マルチキャスト・ルーティング・プロトコル（ＰＩＭのスパーズ・モード）を使用して以下の動作手順を実行する。まず、末端ルータ３００−Ａは、マルチキャスト・ツリーＭＴ−１に参加する際にネットワーク５００内の合流ポイントとなるルータ３１０Ｑに対して、マルチキャスト・ツリーＭＴ−１に参加するためのジョイン要求ＪＮ−１を通知する。続いて、ネットワーク５００内のルータ３１０Ｑは、自身のルーティング・テーブル内において、マルチキャスト・アドレスＭＡ１を宛先とするパケットの中継転送先（次ホップ）の一つとして末端ルータ３００−Ａを新たに登録する。その結果、マルチキャスト・ツリーＭＴ−１を経由してルータ３１０Ｑが受信したマルチキャスト・パケットは、既存の次ホップ・ルータに加えて、末端ルータ３００−Ａにも中継転送されるようになる。
【００４３】
また、マルチキャスト・アドレスＭＡ１により識別される端末グループに新たに参加したい旨の要求を端末２００−Ｄから通知された際に、末端ルータであるルータ３００−Ｂがマルチキャスト・ツリーＭＴ−１に未だ参加していなかった場合についても同様の説明が可能である。つまり、この場合には、末端ルータ３００−Ｂは、まず、マルチキャスト・ツリーＭＴ−１に参加する際にネットワーク５００内の合流ポイントとなるルータ３１０Ｒに対して、マルチキャスト・ツリーＭＴ−１に参加するためのジョイン要求ＪＮ−２を通知する。続いて、ネットワーク５００内のルータ３１０Ｒは、自身のルーティング・テーブル内において、マルチキャスト・アドレスＭＡ１を宛先とするパケットの中継転送先（次ホップ）の一つとして末端ルータ３００−Ｂを新たに登録する。その結果、マルチキャスト・ツリーＭＴ−１を経由してルータ３１０Ｒが受信したマルチキャスト・パケットは、既存の次ホップ・ルータに加えて、末端ルータ３００−Ｂにも中継転送されるようになる。
【００４４】
端末２００−Ａにとっての末端ルータであるルータ３００−Ａがマルチキャスト・ツリーＭＴ−１に参加した後に、末端ルータ３００−Ａは、以下の動作を実行する。つまり、マルチキャスト・ツリーＭＴ−１を経由してマルチキャスト・アドレスＭＡ１に宛ててマルチキャスト配信されたパケットを同報送信する宛先の一つとして、端末２００−Ａを、末端ルータ３００−Ａ上のルーティング・テーブルに新たに追加登録する。同様に、端末２００−Ｄにとっての末端ルータであるルータ３００−Ｂがマルチキャスト・ツリーＭＴ−１に参加した後に、末端ルータ３００−Ｂは、以下の動作を実行する。つまり、マルチキャスト・ツリーＭＴ−１を経由してマルチキャスト・アドレスＭＡ１に宛ててマルチキャスト配信されたパケットを同報送信する宛先の一つとして、端末２００−Ｄを、末端ルータ３００−Ｂ上のルーティング・テーブルに新たに追加登録する。
【００４５】
続いて、図６を参照しながら、本実施の形態に従い、端末２００にマルチキャスト・アドレスを割り当て、端末２００を特定のマルチキャスト・グループに参加させるための一連の手順について説明する。以下の例示的なシナリオにおいては、端末グループ２００Ｇに端末２００−Ｂがすでに所属しており、端末２００−Ａが新たに端末グループ２００Ｇに参加することによって、端末２００−Ｂと同一のマルチキャスト配信データを受信しようとする手順について説明する。まず、端末グループ２００Ｇに新たに参加しようとする端末２００−Ａは、ルータ３００を経由してマルチキャスト・アドレス配布サーバ１００に対してマルチキャスト・アドレスの割り当てを求める割り当て要求を含んだメッセージを送信する（図６のステップＳ４０１）。当該割り当て要求を含んだメッセージには、端末２００−Ａの現在の端末属性を記述する端末属性情報が含まれている。
【００４６】
続いて、マルチキャスト・アドレス配布サーバ１００は、当該割り当て要求を含んだメッセージを受け取ると、当該メッセージに含まれる当該端末属性情報に基づいて、端末２００−Ａに対して割り当てるべきマルチキャスト・アドレスを決定する（図６のステップＳ４０２）。具体的には、マルチキャスト・アドレス配布サーバ１００内において以下の動作が実行される。マルチキャスト・アドレス配布部１０１（図３）は、端末２００−Ａから受信した当該メッセージに含まれる端末属性情報から対応するマルチキャスト・アドレスを得るようにマルチキャスト・アドレス管理部１０２（図３）に指示する。続いて、マルチキャスト・アドレス配布部１０１からの指示を受けたマルチキャスト・アドレス管理部１０２は、以下の動作を行う。すなわち、マルチキャスト・アドレス配布部１０１から端末２００−Ａについて新規に渡された端末属性情報を検索キーとして使用して端末２００の端末属性情報とマルチキャスト・アドレスとの間の対応関係を保持するテーブルを検索する。その結果、端末２００−Ａの端末属性情報に対応するマルチキャスト・アドレスが得られると、当該マルチキャスト・アドレスの未割り当て分に相当する空きアドレスを端末２００−Ａに割り当てる。
【００４７】
なお、端末２００−Ａから受信した端末属性情報が、上記テーブル内において保持されている属性情報とマルチキャスト・アドレスとの間の対応関係のいずれとも一致しないとマルチキャスト・アドレス管理部１０２が判定した場合には、マルチキャスト・アドレス配布部１０１は、新規のマルチキャスト・グループを生成する。続いて、マルチキャスト・アドレス配布部１０１は、当該新規に生成したマルチキャスト・グループに対応するマルチキャスト・アドレスを新規に生成する。最後に、マルチキャスト・アドレス配布部１０１は、当該新規に生成したマルチキャスト・アドレスを端末２００−Ａに割り当てるべきマルチキャスト・アドレスとして決定する。
【００４８】
続いて、マルチキャスト・アドレス配布サーバ１００は、端末２００−Ａに対して割り当てるべきマルチキャスト・アドレスを端末２００−Ａに対して通知するために、当該マルチキャスト・アドレスを含んだ応答メッセージを端末２００−Ａに対して送信する（図６のステップＳ４０３）。当該応答メッセージに含まれた当該マルチキャスト・アドレスを受信した端末２００−Ａは、当該受信した当該マルチキャスト・アドレスをマルチキャスト受信用のアドレスとして自端末に設定する（図６のステップＳ４０４）。続いて、端末２００−Ａは、当該マルチキャスト・アドレスによって識別されるマルチキャスト・グループに参加するために、ルータ３００に対して参加要求を送信する（図６のステップＳ４０５）。当該参加要求の送信先となるルータ３００は、端末２００−Ａと１ホップで直接通信が可能な末端ルータであり、当該マルチキャスト・アドレスによって識別されるマルチキャスト・グループは、端末グループ２００Ｇに相当する。端末２００−Ａから当該参加要求を受信した当該末端ルータ３００は、図５を使用して上述した手順に従って、端末２００−Ａを当該マルチキャスト・グループに参加させる。その結果、端末２００−Ａは、当該マルチキャスト・グループに対応するマルチキャスト・ツリーの葉ノード（リーフ・ノード）として当該マルチキャスト・ツリーに加えられることとなる。以上のようにして、端末２００−Ａが当該マルチキャスト・アドレスによって識別される端末グループ２００Ｇに参加すると、端末２００−Ａは、端末２００−Ｂと共に、同一のマルチキャスト配信データを受信することが可能となる（図６のステップＳ４０６およびＳ４０７）。
【００４９】
次に、マルチキャスト・アドレス配布サーバ１００上においてテーブル内に保持されている端末属性情報とマルチキャスト・アドレスとの間の対応関係の一つ以上が変更された際に、実行されるシナリオについて、図７を参照しながら説明する。この場合、マルチキャスト・アドレス配布サーバ１００は、各端末に対して上述した変更を通知しなくてはならないため、例えば、図７に示す以下の例示的シナリオが実行される。まず、ネットワーク５００（図１）内に設置されたネットワーク構成管理サーバ４８０は、端末属性情報とマルチキャスト・アドレスとの間の対応関係を変更する必要性の有無を、システム運用管理ポリシーなどに従って判定する。変更の必要性がある場合、ネットワーク構成管理サーバ４８０は、端末属性情報とマルチキャスト・アドレスとの間の対応関係に関する変更内容をマルチキャスト・アドレス配布サーバ１００に対して通知する（図７のステップＳ７０１）。代替的な実施例において、端末属性情報とマルチキャスト・アドレスとの間の対応関係を変更する必要性の有無の判定および変更内容の決定は、マルチキャスト・アドレス配布サーバ１００自身が行うようにしても良い。
【００５０】
続いて、マルチキャスト・アドレス配布サーバ１００は、上記対応関係に関してネットワーク構成管理サーバ４８０から通知された変更内容に基づいて、端末２００−Ａおよび端末２００−Ｂに対して割り当てるべきマルチキャスト・アドレスに変更が生じるか否かを判定する。端末２００−Ａに割り当てるべきマルチキャスト・アドレスに変更が生じる場合、マルチキャスト・アドレス配布サーバ１００は、上述した変更内容に基づいて、端末２００−Ａに新たに割り当てるべきマルチキャスト・アドレスを決定する。端末２００−Ｂに割り当てるべきマルチキャスト・アドレスに変更が生じる場合、マルチキャスト・アドレス配布サーバ１００は、上述した変更内容に基づいて、端末２００−Ｂに新たに割り当てるべきマルチキャスト・アドレスを決定する（図７のステップＳ７０２）。
【００５１】
続いて、マルチキャスト・アドレス配布サーバ１００は、上記対応関係の変更後に端末２００−Ａに対して新たに割り当てるために上記決定したマルチキャスト・アドレスを端末２００−Ａに通知する（図７のステップＳ７０３）。同様に、マルチキャスト・アドレス配布サーバ１００は、上記対応関係の変更後に端末２００−Ｂに対して新たに割り当てるために上記決定したマルチキャスト・アドレスを端末２００−Ｂに通知する（図７のステップＳ７０４）。
【００５２】
次に、マルチキャスト・アドレスの割り当てを要求するために、端末２００ｘからマルチキャスト・アドレス配布サーバ１００に対して送信される割り当て要求メッセージのパケット・フォーマットについて図８を参照しながら説明する。図８において、ｆ１１として示されるフィールドには、ＨＴＴＰプロトコルのＧＥＴコマンドと当該ＧＥＴコマンドに付随する複数のパラメータが含まれている。当該複数のパラメータのうち、ｖａｌｕｅ１は、ａｔｔｒ１＿ｎａｍｅで表される端末属性に対応する端末属性情報の値が格納されるパラメータである。また、当該複数のパラメータのうち、ｖａｌｕｅ２は、ａｔｔｒ２＿ｎａｍｅで表される端末属性に対応する端末属性情報の値が格納されるパラメータであり、以下同様である。図８において、ｆ１２として示されるフィールドには、ＨＴＴＰプロトコルのＨＴＴＰヘッダ情報が格納されている。図８に示すパケット・フォーマットは、マルチキャスト・アドレスの割り当てを求める端末２００ｘについての複数の端末属性情報を複数のパラメータとして含むことができる。また、図８に示すパケット・フォーマットは、図２に示すＨＴＴＰコネクション９２を経由して端末２００ｘからマルチキャスト・アドレス配布サーバ１００に対してマルチキャスト・アドレスの割り当て要求をＨＴＴＰリクエストとして伝送することができる。
【００５３】
次に、上記割り当て要求メッセージに応答して、マルチキャスト・アドレス配布サーバ１００から端末２００ｘに対して割り当てられたマルチキャスト・アドレスを通知するために送信される応答メッセージのパケット・フォーマットについて図９を参照しながら説明する。図９において、ｆ２１として示されるフィールドには、ＨＴＴＰリクエストとして伝送されたマルチキャスト・アドレスの割り当て要求に対するＨＴＴＰレスポンスとして肯定応答（ＯＫ）コマンドを含んでいる。図９において、ｆ２２として示されるフィールドには、ＨＴＴＰプロトコルのＨＴＴＰヘッダ情報が格納されている。図９において、ｆ２３として示されるフィールドには、ＨＴＴＰレスポンスである肯定応答（ＯＫ）コマンドに付随する複数のパラメータの値として端末２００ｘに通知すべき一つ以上のマルチキャスト・アドレスが含まれている。このように、マルチキャスト・アドレス配布サーバ１００は、端末２００ｘに同時に割り当てるべき２つ以上のマルチキャスト・アドレスを、図９のパケット・フォーマットに示す一つの応答メッセージに含めて端末２００に送信することができる。その結果、マルチキャスト・アドレス配布サーバ１００は、端末２００ｘに同時に２つ以上のマルチキャスト・アドレスを割り当てることができる。また、図９に示すパケット・フォーマットは、端末２００ｘに割り当てるべきマルチキャスト・アドレスを通知するために、図２に示すＨＴＴＰコネクション９２を経由して、マルチキャスト・アドレス配布サーバ１００から端末２００ｘに対してＨＴＴＰレスポンスとして伝送することができる。
【００５４】
次に、マルチキャスト・アドレス配布サーバ１００内において、マルチキャスト・アドレス管理部１０２が維持管理するテーブルのデータ構造について、図１０を参照しながら説明する。図１０に示す当該テーブルは、端末２００の属性情報とマルチキャスト・アドレスとの間の対応関係を保持するための対応付けテーブルである。図１０に示すテーブルの第１列目は、個々のマルチキャスト・アドレスによって識別される端末グループ（マルチキャスト・グループ）の識別番号を格納する。図１０に示すテーブルの第２列目は、第１列目の識別番号によって識別される端末グループに属する一つ以上の端末２００ａ〜２００ｋが有していなければならない端末属性を表す端末属性情報の値が格納されている。図１０に示すテーブルの第３列目は、第１列目の識別番号によって識別される端末グループに属する一つ以上の端末２００ｂ〜２００ｊに割り当てるべきマルチキャスト・アドレスを値として格納している。
【００５５】
例えば、神奈川県内に設置されている端末２００ｈについて言えば、端末２００ｈの地理的な設置位置を表す端末属性情報の値は、神奈川県を表す値であるが、その場合、端末２００ｈは、図１０のテーブルの第１列目の最上段において「１」の識別番号を与えられた端末グループに所属すべきであり、その結果、端末２００ｈに割り当てるべきマルチキャスト・アドレスは、図１０のテーブルの第３列目の最上段において格納されているマルチキャスト・アドレス「ｆｆ１ｅ：：１２３４：０：１」となる。
【００５６】
また、例えば、ファームウェアのバージョンがバージョン１．０．１である端末２００ｊについて言えば、端末２００ｊのファームウェア・バージョンを表す端末属性情報の値は、「１．０．１」であるが、その場合、端末２００ｊは、図１０のテーブルの第１列目の３段目において「３」の識別番号を与えられた端末グループに所属すべきであり、その結果、端末２００ｊに割り当てるべきマルチキャスト・アドレスは、図１０のテーブルの第３列目の３段目において格納されているマルチキャスト・アドレス「ｆｆ１ｅ：：１２３４：０：３」となる。
【００５７】
マルチキャスト・アドレス配布部１０１からの指示を受けたマルチキャスト・アドレス管理部１０２は、図１０に示すテーブルを使用して以下の動作を行う。すなわち、マルチキャスト・アドレス配布部１０１から端末２００ｘについて新規に渡された属性情報を検索キーとして使用して端末２００の属性情報とマルチキャスト・アドレスとの間の対応関係を保持する図１０のテーブルを検索する。その結果、該当するマルチキャスト・アドレスが得られると、該当するマルチキャスト・アドレスの未割り当て分に相当する空きアドレスを端末２００ｘに割り当てる。なお、端末２００ｘから受信した端末属性情報が、図１０のテーブル内において保持されている属性情報とマルチキャスト・アドレスとの間の対応関係のいずれとも一致しないとマルチキャスト・アドレス管理部１０２が判定した場合には、マルチキャスト・アドレス配布部１０１は、新規のマルチキャスト・グループを生成する。続いて、マルチキャスト・アドレス配布部１０１は、当該新規に生成したマルチキャスト・グループに対応するマルチキャスト・アドレスを新規に生成する。最後に、マルチキャスト・アドレス配布部１０１は、当該新規に生成したマルチキャスト・アドレスを端末２００ｘに割り当てるべきマルチキャスト・アドレスとして決定する。
【００５８】
＜本実施の形態に係る第１実施例＞
次に、図１１および図１２を使用して、本実施の形態に係る第１実施例について説明する。第１実施例においては、端末２００の一実施例として、設置エリア内の電力使用量などを計測するための計測機能やセンサ機能を備えたスマートメータ６００を使用する。以下、第１実施例においては、スマートメータ６００の端末属性情報は、スマートメータ６００が設置されている地理的な位置を識別するものである。第１実施例においては、スマートメータ６００の設置エリア毎に各スマートメータ６００が所属する端末グループが定められており、各スマートメータ６００に対して所属すべき端末グループを割り当てるようにしている。このような場合、従来であれば、特定のスマートメータ６００ｘの設置エリアが変更されたときに、当該特定のスマートメータ６００ｘが所属する端末グループを動的に変更することが困難であった。また、スマートメータ６００ｘの設置エリアが変わると対応する端末属性情報が変更される。その際、従来であれば、そのような端末属性情報の変更に適応する形で、スマートメータ６００ｘに新たなマルチキャスト・アドレスを動的に再設定したり、スマートメータ６００ｘが所属するマルチキャスト・グループを動的に変更したりすることができなかった。以下、第１実施例が上記問題点を解決するための例示的なシナリオを図１１および図１２を参照しながら説明する。
【００５９】
図１１の左側において、地区Ａ（図１１のＲ１０）および地区Ｂ（図１１のＲ２０）は、それぞれスマートメータ６００が設置される地理的エリア（設置エリア）を表す。また、図１１において、ルータ３００−Ａおよびルータ３００−Ｂは、地区Ａ（図１１のＲ１０）および地区Ｂ（図１１のＲ２０）において一つ以上のスマートメータ６００と１ホップで直接通信可能な末端ルータとしてそれぞれ機能する。また、末端ルータ３００−Ａの配下に接続されるスマートメータ６００−Ａおよび６００−Ｂは、端末グループＮ１０を形成し、末端ルータ３００−Ｂの配下に接続されているスマートメータ６００−Ｃは、端末グループＮ２０を形成する。スマートメータ６００−Ａおよび６００−Ｂは、マルチキャスト・アドレス配布サーバ１１０によってマルチキャスト・アドレスＭＡ−１を割り当てられているものとする。スマートメータ６００−Ａおよび６００−Ｂは、末端ルータ３００−Ａおよびネットワーク５００を経由してデータ配信サーバ４００からマルチキャスト・アドレスＭＡ−１を宛先としてマルチキャスト配信される端末制御命令や端末設定情報を受信している。スマートメータ６００−Ｃは、マルチキャスト・アドレス配布サーバ１１０によってマルチキャスト・アドレスＭＡ−２を割り当てられているものとする。スマートメータ６００−Ｃは、末端ルータ３００−Ｂおよびネットワーク５００を経由してデータ配信サーバ４００からマルチキャスト・アドレスＭＡ−２を宛先としてマルチキャスト配信される端末制御命令や端末設定情報を受信している。なお、マルチキャスト・アドレスＭＡ−１は、端末グループＮ１０をマルチキャスト・グループとして識別し、マルチキャスト・アドレスＭＡ−２は、端末グループＮ２０をマルチキャスト・グループとして識別する。
【００６０】
ここで、マルチキャスト・アドレスＭＡ−１は、地区Ａ（図１１のＲ１０）に設置されている一群のスマートメータ６００に対してだけ割り当てられるマルチキャスト・アドレスであるとする。その場合、データ配信サーバ４００は、地区Ａ（図１１のＲ１０）に設置されている一群のスマートメータ６００に対してだけ配信される端末制御命令や端末設定情報を、マルチキャスト・アドレスＭＡ−１を宛先としてマルチキャスト配信する。また、マルチキャスト・アドレスＭＡ−２は、地区Ｂ（図１１のＲ２０）に設置されている一群のスマートメータ６００に対してだけ割り当てられるマルチキャスト・アドレスであるとする。その場合、データ配信サーバ４００は、地区Ｂ（図１１のＲ１０）に設置されている一群のスマートメータ６００に対してだけ配信される端末制御命令や端末設定情報を、マルチキャスト・アドレスＭＡ−２を宛先としてマルチキャスト配信する。
【００６１】
今、スマートメータ６００−Ａの設置エリアが地区Ａ（図１１のＲ１０）から地区Ｂ（図１１のＲ２０）へと変更されたとする（図１１の右側）。図１１の右側を参照すると、スマートメータ６００−Ａは、スマートメータ６００−Ｃと共に、地区Ｂ（図１１のＲ２０）に設置されており、スマートメータ６００−Ｃと共に、末端ルータ３００−Ｂの配下において端末グループＮ２０に接続されている。上述したように、データ配信サーバ４００は、地区Ｂ（図１１のＲ１０）に設置されている一群のスマートメータ６００に対してだけ配信される端末制御命令や端末設定情報を、マルチキャスト・アドレスＭＡ−２を宛先としてマルチキャスト配信する。従って、スマートメータ６００−Ａに割り当てるべきマルチキャスト・アドレスは、端末グループＮ１０を識別するマルチキャスト・アドレスＭＡ−１から端末グループＮ２０を識別するマルチキャスト・アドレスＭＡ−２へと変更されなくてはならないはずである。
【００６２】
次に、スマートメータ６００−Ａの設置エリアが地区Ａ（図１１のＲ１０）から地区Ｂ（図１１のＲ２０）へと変更されたのに伴い、スマートメータ６００−Ａに新たなマルチキャスト・アドレスＭＡ−２を割り当てるための一連の手順について図１２を参照しながら説明する。図１１と同様に、末端ルータ３００−Ａの配下に接続されるスマートメータ６００−Ａおよび６００−Ｂは、端末グループＮ１０を形成し、末端ルータ３００−Ｂの配下に接続されているスマートメータ６００−Ｃは、端末グループＮ２０を形成する。図１１と同様に、スマートメータ６００−Ａおよび６００−Ｂは、マルチキャスト・アドレス配布サーバ１１０によってマルチキャスト・アドレスＭＡ−１を割り当てられている。スマートメータ６００−Ａおよび６００−Ｂは、末端ルータ３００−Ａおよびネットワーク５００を経由してデータ配信サーバ４００からマルチキャスト・アドレスＭＡ−１を宛先としてマルチキャスト配信され、地区Ａ（図１１のＲ１０）の電気料金の変更通知を含む端末制御命令を受信している（図１２のステップＳ９０１）。スマートメータ６００−Ｃは、マルチキャスト・アドレス配布サーバ１１０によってマルチキャスト・アドレスＭＡ−２を割り当てられているものとする。スマートメータ６００−Ｃは、末端ルータ３００−Ｂおよびネットワーク５００を経由してデータ配信サーバ４００からマルチキャスト・アドレスＭＡ−２を宛先としてマルチキャスト配信され、地区Ｂ（図１１のＲ２０）の電気料金の変更通知を含む端末制御命令を受信している（図１２のステップＳ９０２）。なお、マルチキャスト・アドレスＭＡ−１は、端末グループＮ１０をマルチキャスト・グループとして識別し、マルチキャスト・アドレスＭＡ−２は、端末グループＮ２０をマルチキャスト・グループとして識別する。
【００６３】
スマートメータ６００−Ａの端末属性情報のうち、スマートメータ６００−Ａが設置されている地理的エリアを表す端末属性情報が変更されると、スマートメータ６００−Ａは、現在所属しているマルチキャスト・グループである端末グループＮ１０から離脱するために、以下の動作を行う。すなわち、スマートメータ６００−Ａが所属する地区Ａ（図１１のＲ１０）における末端ルータ３００−Ａに対して、スマートメータ６００−Ａは、マルチキャスト・アドレスＭＡ−１が識別するマルチキャスト・ツリーからの離脱要求を送信する。当該マルチキャスト・グループからの離脱要求を送信することによって、スマートメータ６００−Ａは、端末属性情報の変更前に自端末が参加していた当該マルチキャスト・グループ（端末グループＮ１０）から自端末を離脱させる（図１２のステップＳ９０３）。
【００６４】
続いて、ネットワーク管理者や作業員の手によってスマートメータ６００−Ａの設置エリアが実際に地区Ａから地区Ｂに移されると、スマートメータ６００−Ａは、自端末の設置エリアが変更された旨を検出する（図１２のステップＳ９０４）。続いて、スマートメータ６００−Ａは、変更後の設置エリアに対応した新しいマルチキャスト・アドレスの割り当てを要求するために、新たなマルチキャスト・アドレスの割り当て要求を含む割り当て要求メッセージをマルチキャスト・アドレス配布サーバ１１０に対して送信する（図１２のステップＳ９０５）。続いて、当該割り当て要求メッセージをスマートメータ６００−Ａから受信したマルチキャスト・アドレス配布サーバ１１０は、スマートメータ６００−Ａに割り当てるべき新たなマルチキャスト・アドレスを決定する（図１２のステップＳ９０６）。
【００６５】
当該マルチキャスト・アドレスの決定を行うために、マルチキャスト・アドレス配布サーバ１１０は、まず、スマートメータ６００−Ａの現在の設置エリアを識別する端末属性情報を検索キーとして、図１０に示すテーブルを検索する。続いて、マルチキャスト・アドレス配布サーバ１１０は、当該端末属性情報に対応するマルチキャスト・アドレスをテーブルから抽出する。図１０の例においては、設置エリア変更前のスマートメータ６００−Ａの設置エリアである地区Ａ（図１１のＲ１０）は、図１０に示すテーブルの２行目の１段目に格納された端末属性情報の値「神奈川県」に相当する。また、図１０の例においては、設置エリア変更後のスマートメータ６００−Ａの設置エリアである地区Ｂ（図１１のＲ２０）は、図１０に示すテーブルの２行目の２段目に格納された端末属性情報の値「大阪府」に相当する。また、設置エリア変更後のスマートメータ６００−Ａの端末属性情報「大阪府」に対応するマルチキャスト・アドレスは、図１０に示すテーブルの３行目の２段目に格納されているマルチキャスト・アドレス「ｆｆ１ｅ：：１２３４：０：２」である。このマルチキャスト・アドレス「ｆｆ１ｅ：：１２３４：０：２」が設置エリア変更後のスマートメータ６００−Ａに割り当てるべきマルチキャスト・アドレスＭＡ−２に相当する。スマートメータ６００−Ａの設置エリアは、地区Ａから地区Ｂに移ったのであるから、マルチキャスト・アドレス配布サーバ１１０は、スマートメータ６００−Ａに新たに割り当てるべきマルチキャスト・アドレスがＭＡ−２であると決定する。
【００６６】
続いて、マルチキャスト・アドレス配布サーバ１１０は、ステップＳ９０６にて決定したマルチキャスト・アドレスをスマートメータ６００−Ａに対して通知するために、スマートメータ６００−Ａに対して、当該決定したマルチキャスト・アドレスを含む応答メッセージを送信する（図１２のステップＳ９０７）。続いて、マルチキャスト・アドレス配布サーバ１１０から当該決定したマルチキャスト・アドレスとしてＭＡ−２を通知されたスマートメータ６００−Ａは、当該通知されたマルチキャスト・アドレスＭＡ−２をマルチキャスト配信受信用のアドレスとして自端末に設定する（図１２のステップＳ９０８）。続いて、スマートメータ６００−Ａは、自端末に設定されたマルチキャスト・アドレスＭＡ−２によって識別されるマルチキャスト・グループが端末グループＮ２０（図１１）であり、自端末を末端ルータ３００−Ｂの配下の端末グループＮ２０に参加させる必要があると判断する。そこで、スマートメータ６００−Ａは、自端末を末端ルータ３００−Ｂの配下の端末グループＮ２０に参加させるために、末端ルータ３００−Ｂに対して端末グループＮ２０に対応するマルチキャスト・ツリーへの参加要求を送信する（図１２のステップＳ９０９）。
【００６７】
末端ルータ３００−Ｂの配下の端末グループＮ２０に対応するマルチキャスト・ツリーに対してスマートメータ６００−Ａが参加をすると、スマートメータ６００−Ｂは、データ配信サーバ４００からマルチキャスト・アドレスＭＡ−１に宛ててマルチキャスト配信され、地区Ａの電気料金の変更を通知する端末制御命令を受信することができるようになる（図１２のステップＳ９１０）。また、スマートメータ６００−Ａおよび６００−Ｃは、データ配信サーバ４００からマルチキャスト・アドレスＭＡ−２に宛ててマルチキャスト配信され、地区Ｂの電気料金の変更を通知する端末制御命令を受信することができるようになる（図１２のステップＳ９１１およびＳ９１２）。
【００６８】
＜本実施の形態に係る第２実施例＞
次に、図１３および図１４を使用して、本実施の形態に係る第２実施例について説明する。第２実施例においても、端末２００の一実施例として、設置エリア内の電力使用量などを計測するための計測機能やセンサ機能を備えたスマートメータ６００を使用する。以下、第２実施例においては、スマートメータ６００の端末属性情報は、スマートメータ６００にインストールされているファームウェアのバージョンを識別するものである。第２実施例においては、スマートメータ６００のファームウェアのバージョン毎に各スマートメータ６００が所属する端末グループが定められており、各スマートメータ６００に対して所属すべき端末グループを割り当てるようにしている。このような場合、従来であれば、特定のスマートメータ６００ｘのファームウェア・バージョンが変更されたときに、当該特定のスマートメータ６００ｘが所属する端末グループを動的に変更することが困難であった。また、スマートメータ６００ｘのファームウェア・バージョンが変わると対応する端末属性情報が変更される。その際、従来であれば、そのような端末属性情報の変更に適応する形で、スマートメータ６００ｘに新たなマルチキャスト・アドレスを動的に再設定したり、スマートメータ６００ｘが所属するマルチキャスト・グループを動的に変更したりすることができなかった。以下、第２実施例が上記問題点を解決するための例示的なシナリオを図１３および図１４を参照しながら説明する。
【００６９】
図１３において、ルータ３００は、３台のスマートメータ６００−Ａ〜６００−Ｃと１ホップで直接通信可能な末端ルータである。３台のスマートメータ６００−Ａ〜６００−Ｃは、ルータ３００とネットワーク５００を経由してデータ配信サーバ４００からマルチキャスト配信される端末制御命令や端末設定情報を受信しているとする。図１３のＶ１００は、３台のスマートメータ６００−Ａ〜６００−Ｃについて、ファームウェアのアップデート操作前におけるファームウェア・バージョンを示し、Ｖ２００は、ファームウェアのアップデート操作後におけるファームウェア・バージョンを示す。以下の例示的シナリオにおいて、アップデート操作前の古いファームウェア・バージョンを有するスマートメータ６００は、マルチキャスト・アドレスＭＡ−１によって識別されるマルチキャスト・ツリーからの配信データをデータ配信サーバ２００から受信するものとする。また、以下の例示的シナリオにおいて、アップデート操作後の新しいファームウェア・バージョンを有するスマートメータ６００は、マルチキャスト・アドレスＭＡ−２によって識別されるマルチキャスト・ツリーからの配信データをデータ配信サーバ４００から受信するものとする。
【００７０】
ファームウェアのアップデート操作前においては、スマートメータ６００−Ａ〜６００−Ｃのファームウェア・バージョンは、全て１．０であり、スマートメータ６００−Ａ〜６００−Ｃは、マルチキャスト・アドレスＭＡ−１を宛先としてデータ配信サーバ４００からマルチキャスト配信される端末制御命令や端末設定情報を受信している。図１３においては、スマートメータ６００−Ｂのファームウェア・バージョンが１．０から１．１にアップデートされる様子が示されているが、アップデート後は、スマートメータ６００−Ａおよび６００−Ｂのファームウェア・バージョンは１．１に更新されている。これに対して、スマートメータ６００−Ｃにおいては、ファームウェアのアップデート操作が失敗し、スマートメータ６００−Ｃのファームウェア・バージョンは１．０のままであるとする。アップデート後においては、スマートメータ６００−Ａおよび６００−Ｂは、マルチキャスト・アドレスＭＡ−２を宛先としてデータ配信サーバ４００からマルチキャスト配信される端末制御命令や端末設定情報を受信し、スマートメータ６００−Ｃは、依然として、マルチキャスト・アドレスＭＡ−１を宛先としてデータ配信サーバ４００からマルチキャスト配信される端末制御命令や端末設定情報を受信している。
【００７１】
なお、スマートメータ６００のファームウェア・バージョンのアップデート操作は、例えば、ネットワーク運用管理者や作業員の手動操作によりスマートメータ６００に対して直接行うことにより可能である。また、ファームウェア・バージョンのアップデート操作は、スマートメータ６００がデータ配信サーバ４００から新しいバージョンのファームウェアをネットワーク５００およびルータ３００を介してダウンロードすることにより可能である。ファームウェア・バージョンの上述したアップデート操作により、スマートメータ６００のファームウェア・バージョンが図１３に示すとおりに変更されたのに伴い、以下の変更が必要となる。つまり、マルチキャスト・アドレスＭＡ−１に対応するマルチキャスト・ツリーから配信情報を受信していたスマートメータ６００−Ａおよび６００−Ｂは、マルチキャスト・アドレスＭＡ−２に対応するマルチキャスト・ツリーから配信情報を受信しなくてはならなくなる。
【００７２】
次に、スマートメータ６００のファームウェア・バージョンが図１３に示すとおりに変更されたのに伴い、スマートメータ６００−Ａおよび６００−Ｂに新たなマルチキャスト・アドレスＭＡ−２を割り当てるための一連の手順について図１４を参照しながら説明する。まず、データ配信サーバ４００は、スマートメータ６００−Ａ〜６００−Ｃのファームウェアのバージョンをアップデートするために、新しいバージョン「１．１」を有する新しいファームウェアをスマートメータ６００−Ａ〜６００−Ｃに対してマルチキャスト配信する。当該新しいバージョンのファームウェアは、マルチキャスト・アドレスＭＡ−１を宛先としてデータ配信サーバ４００からマルチキャスト・アドレスＭＡ−１に対応するマルチキャスト・ツリーを経由してスマートメータ６００−Ａ〜６００−Ｃに配信される（図１４のステップＳ１１０１Ｓ〜１１０３）。スマートメータ６００−Ａ〜６００−Ｃに新バージョンのファームウェアが配信されると、スマートメータ６００−Ａおよび６００−Ｂは、自端末のファームウェア・バージョンを新しいバージョンである「１．１」にアップデートさせる（図１４のステップＳ１１０４およびＳ１１０５）。しかし、スマートメータ６００−Ｃは、ファームウェアのアップデート操作に失敗したので、スマートメータ６００−Ｃにおいては、ファームウェアのバージョンの古いバージョンである「１．０」のままであるとする（図１４のＶ１５）。
【００７３】
ファームウェア・バージョンの上述したアップデート操作により、スマートメータ６００−Ａおよび６００−Ｂのファームウェア・バージョンが変更されたのに伴い、以下の変更が必要となる。つまり、マルチキャスト・アドレスＭＡ−１に対応するマルチキャスト・ツリーから配信情報を受信していたスマートメータ６００−Ａおよび６００−Ｂは、マルチキャスト・アドレスＭＡ−２に対応するマルチキャスト・ツリーから配信情報を受信しなくてはならなくなる。そのためには、まず、スマートメータ６００−Ａおよび６００−Ｂはマルチキャスト・アドレスＭＡ−１に対応するマルチキャスト・ツリーから離脱しなくてはならない。そこで、スマートメータ６００−Ａおよび６００−Ｂは、マルチキャスト・アドレスＭＡ−１に対応するマルチキャスト・ツリーから自端末を離脱させるための離脱要求を末端ルータ３００に対して送信する（図１４のステップＳ１１０６およびＳ１１０７）。
【００７４】
続いて、スマートメータ６００−Ａは、アップデート後のファームウェア・バージョンに対応した新しいマルチキャスト・アドレスＭＡ−２の割り当てを要求するために、新たなマルチキャスト・アドレスの割り当て要求を含む割り当て要求メッセージをマルチキャスト・アドレス配布サーバ１１０に対して送信する（図１４のステップＳ１１０８）。続いて、当該割り当て要求メッセージをスマートメータ６００−Ａから受信したマルチキャスト・アドレス配布サーバ１１０は、スマートメータ６００−Ａに割り当てるべき新たなマルチキャスト・アドレスを決定する（図１４のステップＳ１１０９）。当該マルチキャスト・アドレスの決定を行うために、マルチキャスト・アドレス配布サーバ１１０は、まず、スマートメータ６００−Ａの現在のファームウェア・バージョンを識別する端末属性情報を検索キーとして、図１０に示すテーブルを検索する。続いて、マルチキャスト・アドレス配布サーバ１１０は、当該端末属性情報に対応するマルチキャスト・アドレスをテーブルから抽出する。スマートメータ６００−Ａのファームウェア・バージョンは、古いバージョン「１．０」から新しいバージョン「１．１」に変わったのであるから、マルチキャスト・アドレス配布サーバ１１０は、スマートメータ６００−Ａに新たに割り当てるべきマルチキャスト・アドレスがＭＡ−２であると決定する。
【００７５】
続いて、マルチキャスト・アドレス配布サーバ１１０は、ステップＳ１１０９にて決定したマルチキャスト・アドレスＭＡ−２をスマートメータ６００−Ａに対して通知するために、スマートメータ６００−Ａに対して、当該決定したマルチキャスト・アドレスＭＡ−２を含む応答メッセージを送信する（図１４のステップＳ１１１０）。続いて、マルチキャスト・アドレス配布サーバ１１０から当該決定したマルチキャスト・アドレスとしてＭＡ−２を通知されたスマートメータ６００−Ａは、当該通知されたマルチキャスト・アドレスＭＡ−２をマルチキャスト配信受信用のアドレスとして自端末に設定する（図１４のステップＳ１１１１）。続いて、スマートメータ６００−Ａは、自端末をマルチキャスト・アドレスＭＡ−２によって識別される新しいマルチキャスト・ツリーに参加させるために、末端ルータ３００に対してマルチキャスト・アドレスＭＡ−２に対応する新しいマルチキャスト・ツリーへの参加要求を送信する（図１４のステップＳ１１１２）。
【００７６】
続いて、スマートメータ６００−Ｂは、アップデート後のファームウェア・バージョンに対応した新しいマルチキャスト・アドレスＭＡ−２の割り当てを要求するために、新たなマルチキャスト・アドレスの割り当て要求を含む割り当て要求メッセージをマルチキャスト・アドレス配布サーバ１１０に対して送信する（図１４のステップＳ１１１３）。続いて、当該割り当て要求メッセージをスマートメータ６００−Ｂから受信したマルチキャスト・アドレス配布サーバ１１０は、スマートメータ６００−Ｂに割り当てるべき新たなマルチキャスト・アドレスを決定する（図１４のステップＳ１１１４）。当該マルチキャスト・アドレスの決定を行うために、マルチキャスト・アドレス配布サーバ１１０は、まず、スマートメータ６００−Ｂの現在のファームウェア・バージョンを識別する端末属性情報を検索キーとして、図１０に示すテーブルを検索する。続いて、マルチキャスト・アドレス配布サーバ１１０は、当該端末属性情報に対応するマルチキャスト・アドレスをテーブルから抽出する。スマートメータ６００−Ｂのファームウェア・バージョンは、古いバージョン「１．０」から新しいバージョン「１．１」に変わったのであるから、マルチキャスト・アドレス配布サーバ１１０は、スマートメータ６００−Ｂに新たに割り当てるべきマルチキャスト・アドレスがＭＡ−２であると決定する。図１０の例においては、ファームウェアの古いバージョン「１．０」および新しいバージョン「１．１」は、図１０に示すテーブルの２行目の３段目と４段目に端末属性情報としてそれぞれ格納されている。図１０の例においては、ファームウェア・バージョンのアップデート後のスマートメータ６００−Ａおよび６００−Ｂに割り当てるべきマルチキャスト・アドレスＭＡ−２は、図１０に示すテーブルの３行目の４段目に格納されているマルチキャスト・アドレス「ｆｆ１ｅ：：１２３４：０：４」に相当する。
【００７７】
続いて、マルチキャスト・アドレス配布サーバ１１０は、ステップＳ１１１４にて決定したマルチキャスト・アドレスＭＡ−２をスマートメータ６００−Ｂに対して通知するために、スマートメータ６００−Ｂに対して、当該決定したマルチキャスト・アドレスＭＡ−２を含む応答メッセージを送信する（図１４のステップＳ１１１５）。続いて、マルチキャスト・アドレス配布サーバ１１０から当該決定したマルチキャスト・アドレスとしてＭＡ−２を通知されたスマートメータ６００−Ｂは、当該通知されたマルチキャスト・アドレスＭＡ−２をマルチキャスト配信受信用のアドレスとして自端末に設定する（図１４のステップＳ１１１６）。続いて、スマートメータ６００−Ｂは、自端末をマルチキャスト・アドレスＭＡ−２によって識別される新しいマルチキャスト・ツリーに参加させるために、末端ルータ３００に対してマルチキャスト・アドレスＭＡ−２に対応する新しいマルチキャスト・ツリーへの参加要求を送信する（図１４のステップＳ１１１７）。
【００７８】
その後、データ配信サーバ４００は、ファームウェアのアップデート操作が失敗したスマートメータ６００−Ｃに対して改めてファームウェア・バージョンのアップデート操作を行うために、新しいバージョン「１．１」を有する新しいファームウェアをスマートメータ６００−Ｃに対して配信する。当該新しいバージョンのファームウェアは、マルチキャスト・アドレスＭＡ−１を宛先としてデータ配信サーバ４００からマルチキャスト・アドレスＭＡ−１に対応するマルチキャスト・ツリーを経由してスマートメータ６００−Ｃに配信される（図１４のステップＳ１１１８）。
【００７９】
＜その他の実施例＞
端末２００の端末属性情報としては、端末２００の所有者を使用することも可能である。端末２００の所有者の変更が検出された際に、端末２００は、マルチキャスト・アドレス配布サーバ１００に対して、変更後の所有者に対応するマルチキャスト・アドレスの割り当てを要求するために、新たなマルチキャスト・アドレスの割り当てを要求する割り当て要求メッセージを送信することが可能である。例えば、端末２００は、当該割り当て要求メッセージに端末属性情報として変更後の端末所有者の氏名を文字列データの形で含めてマルチキャスト・アドレス配布サーバ１００に対して送信し、その応答として、変更後の所有者に対応するマルチキャスト・アドレスをマルチキャスト・アドレス配布サーバ１００から通知してもらうことが可能である。
【００８０】
＜本実施の形態の効果＞
本実施の形態は、端末２００の属性情報が変更された際に、当該属性情報の変更に適応する形で、端末２００が所属するマルチキャスト・グループを動的に変更することを可能にする端末２００およびマルチキャスト・アドレス配布サーバ１００を得ることができる。従って、本実施の形態は、属性情報の変更に適応する形で、当該端末に新たなマルチキャスト・アドレスを動的に再設定したり、当該端末が所属するマルチキャスト・グループを動的に変更したりすることができないという従来技術の課題を解決することができる。
【００８１】
本実施の形態に係る第１実施例においては、端末２００の属性情報は、端末２００が設置されている地理的エリアを記述する設置エリア情報を備え、端末２００が設置されている地理的エリアの変更が検出された際に、マルチキャスト・アドレス配布サーバ１００に対して、マルチキャスト・アドレスの割り当てを再度要求するために、第２の割り当て要求を再送信する、ことを特徴とする。従って、本実施の形態に係る第１実施例は、特定の端末２００ｘの設置エリアが変更されたときに、当該特定の端末２００ｘが所属する端末グループを動的に変更することができる。また、端末２００ｘの設置エリアが変わると対応する端末属性情報が変更される。その際、本実施の形態は、そのような端末属性情報の変更に適応する形で、端末２００ｘに新たなマルチキャスト・アドレスを動的に再設定したり、端末２００ｘが所属するマルチキャスト・グループを動的に変更したりすることができる。
【００８２】
本実施の形態に係る第２実施例においては、端末２００の属性情報は、端末２００のファームウェアのバージョンであり、当該ファームウェアのアップデートにより当該バージョンの変更が検出された際に、マルチキャスト・アドレス配布サーバ１００に対して、マルチキャスト・アドレスの割り当てを要求するために、第２の割り当て要求を再送信する、ことを特徴とする。従って、本実施の形態に係る第２実施例は、特定の端末２００ｘのファームウェア・バージョンが変更されたときに、当該特定の端末２００ｘが所属する端末グループを動的に変更することができる。また、端末２００ｘのファームウェア・バージョンが変わると対応する端末属性情報が変更される。その際、本実施の形態は、そのような端末属性情報の変更に適応する形で、端末２００ｘに新たなマルチキャスト・アドレスを動的に再設定したり、端末２００ｘが所属するマルチキャスト・グループを動的に変更したりすることができる。
【００８３】
なお、本発明に関し、追加的な実施例を以下に付記する。
（付記１）端末グループを識別するマルチキャスト・アドレスの割り当てを要求するために、マルチキャスト・アドレス配布サーバに対して、自端末の属性情報を含む割り当て要求を送信する手段と、
前記マルチキャスト・アドレスの前記割り当てに応じて、前記マルチキャスト・アドレスを自端末に設定し、自端末を前記マルチキャスト・アドレスに対応する前記端末グループに参加させる手段と、
を具備する端末であって、
前記端末が前記属性情報の変更を検出した際、変更後の前記属性情報を含む第２の割り当て要求を再送信することにより、前記マルチキャスト・アドレス配布サーバに対して新たなマルチキャスト・アドレスを要求し、前記属性情報の変更に応じて自端末が参加する端末グループを変更する、ことを特徴とする、端末。
（付記２）前記端末の属性情報は、前記端末が設置されている地理的エリアを記述する設置エリア情報を備え、
前記端末が設置されている地理的エリアの変更が検出された際に、前記マルチキャスト・アドレス配布サーバに対して、マルチキャスト・アドレスの割り当てを再度要求するために、前記第２の割り当て要求を再送信する、
ことを特徴とする、付記１記載の端末。
（付記３）前記端末の属性情報が前記端末のファームウェアのバージョンであり、前記ファームウェアのアップデートにより前記バージョンの変更が検出された際に、前記マルチキャスト・アドレス配布サーバに対して、マルチキャスト・アドレスの割り当てを要求するために、前記第２の割り当て要求を再送信する、
ことを特徴とする、付記１記載の端末。
（付記４）前記端末の属性情報が前記端末の所有者であり、前記端末の所有者の変更が検出された際に、前記マルチキャスト・アドレス配布サーバに対して、マルチキャスト・アドレスの割り当てを要求するために、前記第２の割り当て要求を再送信する、
ことを特徴とする、付記１記載の端末。
（付記５）前記端末の属性情報が変更され、マルチキャスト・アドレスの割り当てを再度要求するための前記第２の割り当て要求を前記端末が再送信するのに先立って、
前記端末が所属する末端ルータに対してマルチキャスト・グループ離脱要求を送信することによって、前記属性情報の変更前に自端末が参加していた前記端末グループから自端末を離脱させる、
ことを特徴とする、付記１記載の端末。
（付記６）端末からマルチキャスト・アドレスの割り当てを要求する割り当て要求を受信する手段と、
前記端末の属性情報とマルチキャスト・アドレスとの間の対応関係を保持する手段と、
前記端末から受信した前記端末の属性情報に基づいて、前記端末に配布するマルチキャスト・アドレスを決定する手段と、
前記端末に対して前記決定したマルチキャスト・アドレスを通知する手段と、
を具備するマルチキャスト・アドレス配布サーバ。
（付記７）マルチキャスト・アドレス配布サーバからの前記マルチキャスト・アドレスの通知に複数のマルチキャスト・アドレスを含める、
ことを特徴とする、付記６記載のマルチキャスト・アドレス配布サーバ。
（付記８）前記端末からマルチキャスト・アドレスの割り当てを要求する割り当て要求に含まれる端末属性情報を抽出し、
前記抽出した端末属性情報が、マルチキャスト・アドレス配布サーバ上において保持されている属性情報とマルチキャスト・アドレスとの間の前記対応関係のいずれとも一致しない場合に、新規にマルチキャスト・グループを生成する、
ことを特徴とする、付記６記載のマルチキャスト・アドレス配布サーバ。
（付記９）マルチキャスト・アドレス配布サーバ上において保持されている属性情報とマルチキャスト・アドレスとの間の前記対応関係の一つ以上が変更された際に、各端末に対して変更の通知を送信する、
ことを特徴とする、付記６記載のマルチキャスト・アドレス配布サーバ。
（付記１０）端末を制御するために、前記端末上のＣＰＵによって実行可能な一連の命令コードを含む、端末制御プログラムであって、
端末グループを識別するマルチキャスト・アドレスの割り当てを要求するために、マルチキャスト・アドレス配布サーバに対して、自端末の属性情報を含む割り当て要求を送信するステップと、
前記マルチキャスト・アドレスの前記割り当てに応じて、前記マルチキャスト・アドレスを自端末に設定し、自端末を前記マルチキャスト・アドレスに対応する前記端末グループに参加させるステップと、
前記端末が前記属性情報の変更を検出した際、変更後の前記属性情報を含む第２の割り当て要求を再送信することにより、前記マルチキャスト・アドレス配布サーバに対して新たなマルチキャスト・アドレスを要求し、前記属性情報の変更に応じて自端末が参加する端末グループを変更するステップと、
を前記ＣＰＵに実行させる、端末制御プログラム。
（付記１１）サーバを制御するために、前記サーバ上のＣＰＵによって実行可能な一連の命令コードを含む、サーバ制御プログラムであって、
端末からマルチキャスト・アドレスの割り当てを要求する割り当て要求を受信するステップと、
前記端末の属性情報とマルチキャスト・アドレスとの間の対応関係を保持するステップと、
前記端末から受信した前記端末の属性情報に基づいて、前記端末に配布するマルチキャスト・アドレスを決定するステップと、
前記端末に対して前記決定したマルチキャスト・アドレスを通知するステップと、
を前記ＣＰＵに実行させる、サーバ制御プログラム。
（付記１２）端末が参加するマルチキャスト・グループを変更する方法であって、
端末グループを識別するマルチキャスト・アドレスの割り当てを要求するために、マルチキャスト・アドレス配布サーバに対して、自端末の属性情報を含む割り当て要求を送信するステップと、
前記マルチキャスト・アドレスの前記割り当てに応じて、前記マルチキャスト・アドレスを自端末に設定し、自端末を前記マルチキャスト・アドレスに対応する前記端末グループに参加させるステップと、
前記端末が前記属性情報の変更を検出した際、変更後の前記属性情報を含む第２の割り当て要求を再送信することにより、前記マルチキャスト・アドレス配布サーバに対して新たなマルチキャスト・アドレスを要求し、前記属性情報の変更に応じて自端末が参加する端末グループを変更するステップと、
を備える、方法。
（付記１３）マルチキャスト・アドレスを配布する方法であって、
端末からマルチキャスト・アドレスの割り当てを要求する割り当て要求を受信するステップと、
前記端末の属性情報とマルチキャスト・アドレスとの間の対応関係を保持するステップと、
前記端末から受信した前記端末の属性情報に基づいて、前記端末に配布するマルチキャスト・アドレスを決定するステップと、
前記端末に対して前記決定したマルチキャスト・アドレスを通知するステップと、
を備える、マルチキャスト・アドレス配布方法。
【符号の説明】
【００８４】
１００  マルチキャスト・アドレス配布サーバ
１０１  マルチキャスト・アドレス配布部
１０２  マルチキャスト・アドレス管理部
１０３  通信部
１１０  マルチキャスト・アドレス配布サーバ
２００  端末
２０１  マルチキャスト・アドレス保持部
２０２  端末属性情報保持部
２０３  配信データ処理部
２０４  マルチキャスト・アドレス配布要求部
２０５  通信部
３００  末端ルータ
３１０  ネットワーク内のルータ
４００  データ配信サーバ
５００  ネットワーク
６００  スマートメータ
【先行技術文献】
【特許文献】
【００８５】
【特許文献１】特開２００３−１３４１６１号公報
【特許文献２】特許第４８８６５００号公報
【図１】
0006561656.tif 000002
【図２】
0006561656.tif 000003
【図３】
0006561656.tif 000004
【図４】
0006561656.tif 000005
【図５】
0006561656.tif 000006
【図６】
0006561656.tif 000007
【図７】
0006561656.tif 000008
【図８】
0006561656.tif 000009
【図９】
0006561656.tif 000010
【図１０】
0006561656.tif 000011
【図１１】
0006561656.tif 000012
【図１２】
0006561656.tif 000013
【図１３】
0006561656.tif 000014
【図１４】
0006561656.tif 000015