(57)【要約】  第２ノードグループを第１ノードグループに再参加させるための方法が記載されている。第１ノードグループに関連する第１グループ鍵の第１の状態を受信する。第２ノードグループに第１グループ鍵の第１の状態をマルチキャストする。第１グループ鍵を第２ノードグループに関連する第２グループ鍵に再生成する。第２ノードグループに第２グループ鍵の第２の状態をマルチキャストする。第１ノードグループに関連する第３グループ鍵の第３の状態を受信する。第３の状態が第２の状態と異なる場合、鍵再生成コマンドを第２ノードグループにマルチキャストする。第２のグループ鍵を第３のグループ鍵に再生成する。
2010517330.tif 000002
【特許請求の範囲】
【請求項１】
第２ノードグループを第１ノードグループに再参加させるための方法であって：
第１ノードグループに関連する第１グループ鍵の第１の状態を受信すること；
第２ノードグループに第１グループ鍵の第１の状態をマルチキャストすること；
第１グループ鍵を第２ノードグループに関連する第２グループ鍵に再生成すること；
第２ノードグループに第２グループ鍵の第２の状態をマルチキャストすること；
第１ノードグループに関連する第３グループ鍵の第３の状態を受信すること；
第３の状態が第２の状態と異なる場合、鍵再生成コマンドを第２ノードグループにマルチキャストすること；および
第２グループ鍵を第３グループ鍵に再生成すること
を含んでいる方法。
【請求項２】
第１グループが、ノードの安全なマルチキャストグループである、請求項１に記載の方法。
【請求項３】
第１の状態を、第１ノードグループの管理ノードから送信する、請求項１に記載の方法。
【請求項４】
第２の状態を、第２ノードグループの管理ノードから送信する、請求項１に記載の方法。
【請求項５】
第１ノードグループの１つ以上のノードを第２ノードグループに分けることをさらに含んでいる、請求項１に記載の方法。
【請求項６】
第１ノードグループの管理ノード間の通信を、第２ノードグループを構成するノードから切断する、請求項５に記載の方法。
【請求項７】
各状態が鍵交換鍵（ＫＥＫ）を含んでいる、請求項１に記載の方法。
【請求項８】
鍵交換鍵（ＫＥＫ）を含んでいるノードが、各状態を受信する、請求項７に記載の方法。
【請求項９】
各グループ鍵がグループ鍵パラメータを含んでおり、グループ鍵パラメータが、ノードグループによって各グループ鍵が利用されてきた時間量を示している、請求項１に記載の方法。
【請求項１０】
最も高いグループ鍵パラメータを有するグループ鍵を備えている管理ノードを選択することをさらに含んでいる、請求項１に記載の方法。
【請求項１１】
第１ノードグループおよび第２ノードグループを構成する各ノードがノード識別子を含んでおり、ノード識別子は、ノードが第１ノードグループに参加した時間の順番を示している、請求項１に記載の方法。
【請求項１２】
最も低いノード識別子を有する管理ノードを選択することをさらに含んでいる、請求項１１に記載の方法。
【請求項１３】
鍵再生成コマンドをグループ鍵によって暗号化する、請求項１に記載の方法。
【請求項１４】
第２ノードグループの管理ノードが、第１グループ鍵および第２グループ鍵を含んでいる、請求項１に記載の方法。
【請求項１５】
第２ノードグループを第１ノードグループに再参加させるように構成されているコンピュータシステムであって：
プロセッサと；
プロセッサと電子通信するメモリと；
メモリ内に格納されている命令と；を備えており、
命令が：
第１ノードグループに関連する第１グループ鍵の第１の状態を受信すること；
第２ノードグループに第１グループ鍵の第１の状態をマルチキャストすること；
第１グループ鍵を第２ノードグループに関連する第２グループ鍵に再生成すること；
第２ノードグループに第２グループ鍵の第２の状態をマルチキャストすること；
第１ノードグループに関連する第３グループ鍵の第３の状態を受信すること；
第３の状態が第２の状態と異なる場合、鍵再生成コマンドを第２ノードグループにマルチキャストすること；および
第２グループ鍵を第３グループ鍵に再生成すること
を実行可能である、コンピュータシステム。
【請求項１６】
各状態が鍵交換鍵（ＫＥＫ）を含んでいる、請求項１５に記載のコンピュータシステム。
【請求項１７】
鍵交換鍵（ＫＥＫ）を含んでいるノードが、各状態を受信する、請求項１６に記載のコンピュータシステム。
【請求項１８】
第２ノードグループを第１ノードグループに再参加させるための実行可能な命令を備えているコンピュータ読み込み可能媒体であって、
命令が：
第１ノードグループに関連する第１グループ鍵の第１の状態を受信すること；
第２ノードグループに第１グループ鍵の第１の状態をマルチキャストすること；
第１グループ鍵を第２ノードグループに関連する第２グループ鍵に再生成すること；
第２ノードグループに第２グループ鍵の第２の状態をマルチキャストすること；
第１ノードグループに関連する第３グループ鍵の第３の状態を受信すること；
第３の状態が第２の状態と異なる場合、鍵再生成コマンドを第２ノードグループにマルチキャストすること；および
第２グループ鍵を第３グループ鍵に再生成すること
を実行可能である、コンピュータ読み込み可能媒体。
【請求項１９】
各状態が鍵交換鍵（ＫＥＫ）を含んでいる、請求項１８に記載のコンピュータ読み込み可能媒体。
【請求項２０】
鍵交換鍵（ＫＥＫ）を含んでいるノードが、各状態を受信する、請求項１９に記載のコンピュータ読み込み可能媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概して、コンピュータおよびコンピュータ関連技術に関する。より詳細には、本発明は、共有グループ鍵を利用して第２ノードグループを第１ノードグループに再参加させるための方法およびシステムに関連する。
【背景技術】
【０００２】
コンピュータおよび通信技術は、急速に進歩し続けている。実際、コンピュータおよび通信技術は、人々の日常における多くの局面に関与している。例えば、今日、消費者によって使用されている多くのデバイスは、そのデバイス内に、小型のコンピュータを備えている。これらの小型のコンピュータは、様々なサイズ、および、様々な程度の精巧さを備えた形で提供されている。これらの小型のコンピュータは、１つのマイクロコントローラから、十分な機能を有する完全なコンピュータシステムまでの全てを含んでいる。例えば、これらの小型のコンピュータは、マイクロコントローラなどのワンチップのコンピュータ、コントローラなどのワンボードタイプのコンピュータ、ＩＢＭ−ＰＣ互換機などの一般的なデスクトップコンピュータなどであってよい。
【０００３】
コンピュータは、一般的に、コンピュータの心臓部に１つ以上のプロセッサを有している。プロセッサは、通常、異なる外部入力部および外部出力部に相互接続されており、さらに、特定のコンピュータあるいはデバイスを管理するように機能する。例えば、サーモスタット内のプロセッサは、温度設定を選択するために使用されるボタン、温度を変化させる加熱炉あるいは空気調節装置、および、現在の温度を読み取ってディスプレイに表示する温度センサに接続されていてよい。
【０００４】
多くの電化製品やデバイスなどは１つ以上の小型のコンピュータを含んでいる。例えば、サーモスタット、加熱炉、空気調節システム、冷蔵庫、電話、タイプライタ、自動車、自動販売機、および多くの異なるタイプの工業設備は、現在では、一般的に、小型のコンピュータすなわちプロセッサをそれらの内部に有している。コンピュータソフトウェアは、これらのコンピュータのプロセッサを駆動し、プロセッサに対して、特定のタスクを実行する方法を指示する。例えば、サーモスタット上で起動しているコンピュータソフトウェアは、特定の温度に達したときに空気調節装置の駆動を停止する一方、必要なときにヒータのスイッチを入れることができる。
【０００５】
デバイス、電化製品、ツールなどの一部をなしている前記したタイプの小型のコンピュータは、しばしば、組み込みデバイスあるいは組み込みシステムと称される（これらの用語「組み込みデバイス」および「組み込みシステム」は、本明細書では、互換的に使用される）。組み込みシステムは、通常、より大きいシステムの一部をなすコンピュータハードウェアおよびソフトウェアを称する。組み込みシステムは、キーボード、マウスおよび／またはモニタなどの一般的な入出力デバイスを有さないこともある。通常、各組み込みシステムの心臓部には、１つ以上のプロセッサがある。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
組み込みシステムを使用して、多くの異なるシステム、リソース、製品などをモニタリングあるいは制御することができる。インターネットおよびワールドワイドウェブの成長に伴って、組み込みシステムは、遠隔的にモニタリングおよび／または制御され得るように次第にインターネットに接続されてきている。他の組み込みシステムを、ローカルエリアネットワーク、ワールドエリアネットワークなどを含むコンピュータネットワークに接続することができる。本明細書で使用されている「コンピュータネットワーク」という用語（あるいは、単なる「ネットワーク」）は、一連のノードが通信経路によって相互接続されている任意のシステムを称する。「ノード」という用語は、コンピュータネットワークの一部として接続され得る任意のデバイスを称する。
【０００７】
組み込みシステムには、コンピュータネットワークを使用する他のコンピュータデバイスにデータおよび／またはサービスを供給することができるものもある。あるいは、コンピュータネットワークを使用する他のコンピュータデバイスにデータおよび／またはサービスを供給する典型的なコンピュータあるいはコンピュータデバイスが存在する場合もある。複数のノードは、ネットワークを使用して自身の間で状態を共有することができる。ネットワークは完全ではなく、セグメント化されたり、切断されたりすることもある。これは、通信していたノードのセットの間に接続性の損失を引き起こす場合があり、また、これらの共有状態を分岐させてしまう場合もある。この分裂が解消されたとき、従前に通信していたノードは、前記の分岐状態のために再び通信することが困難である場合がある。この困難性を最小化することは有益である。システムおよび方法が、共有グループ鍵を利用して第２ノードグループを第１ノードグループに再参加させるために有用であるなら、利点が実現され得る。
【課題を解決するための手段】
【０００８】
第２ノードグループを第１ノードグループに再参加させるための方法が記載されている。第１ノードグループに関連する第１グループ鍵の第１の状態を受信する。第２ノードグループに第１グループ鍵の第１の状態をマルチキャストする。第１グループ鍵を、第２ノードグループに関連する第２グループ鍵に再生成する。第２ノードグループに第２グループ鍵の第２の状態をマルチキャストする。第１ノードグループに関連する第３グループ鍵の第３の状態を受信する。第３の状態が第２の状態と異なる場合、鍵再生成コマンドを第２ノードグループにマルチキャストする。第２グループ鍵を第３グループ鍵に再生成する。
【０００９】
第１グループは、ノードの安全なマルチキャストグループであってよい。第１の状態を第１ノードグループの管理ノードから送信することができる。第２の状態を第２ノードグループの管理ノードから送信することができる。第１ノードグループの１つ以上のノードを第２ノードグループに分けることができる。第１ノードグループの管理ノード間の通信が、第２ノードグループを構成するノードから切断されている場合がある。
【００１０】
一実施形態では、各状態が鍵交換鍵（ＫＥＫ）を含み得る。鍵交換鍵（ＫＥＫ）を含んでいるノードは、各状態を受信することができる。各グループ鍵は、グループ鍵パラメータを含むことができ、グループ鍵パラメータは、ノードグループによって各グループ鍵が利用されてきた時間量を示している。最も高いグループ鍵パラメータを有するグループ鍵を備えている管理ノードを選択することができる。第１ノードグループおよび第２ノードグループを構成する各ノードはノード識別子を含むことができ、ノード識別子は、ノードが第１ノードグループに参加したときの順番を示している。最も低いノード識別子を有する管理ノードを選択することができる。
【００１１】
一実施形態では、鍵再生成コマンドは、グループ鍵によって暗号化されている。第２ノードグループの管理ノードは、第１グループ鍵および第２グループ鍵を含み得る。
【００１２】
第２ノードグループを第１ノードグループに再参加させるように構成されているコンピュータシステムも記載されている。コンピュータシステムは、プロセッサと、プロセッサと電子通信するメモリとを備えている。命令が、メモリに格納されている。第１ノードグループに関連する第１グループ鍵の第１の状態を受信する。第２ノードグループに第１グループ鍵の第１の状態をマルチキャストする。第１グループ鍵を第２ノードグループに関連する第２グループ鍵に再生成する。第２ノードグループに第２グループ鍵の第２の状態をマルチキャストする。第１ノードグループに関連する第３グループ鍵の第３の状態を受信する。第３の状態が第２の状態と異なる場合、鍵再生成コマンドを第２ノードグループにマルチキャストする。第２のグループ鍵を第３のグループ鍵に再生成する。
【００１３】
第２ノードグループを第１ノードグループに再参加させるための実行可能な命令を備えているコンピュータ読み込み可能媒体も記載されている。第１ノードグループに関連する第１グループ鍵の第１の状態を受信する。第２ノードグループに第１グループ鍵の第１の状態をマルチキャストする。第１グループ鍵を第２ノードグループに関連する第２グループ鍵に再生成する。第２ノードグループに第２グループ鍵の第２の状態をマルチキャストする。第１ノードグループに関連する第３グループ鍵の第３の状態を受信する。第３の状態が第２の状態と異なる場合、鍵再生成コマンドを第２ノードグループにマルチキャストする。第２のグループ鍵を第３のグループ鍵に再生成する。
【００１４】
本発明の例示的な実施形態は、後述する説明および添付された請求項から、添付の図面と併用することによって完全に明らかになるはずである。これらの図面は、例示的な実施形態を示しているにすぎないこと、したがって、本発明の範囲を限定するものとはみなされるべきではないことを理解されたい。本発明の例示的な実施形態は、以下の添付図面を使用することによって、さらに具体的かつ詳細に説明されるはずである。
【図面の簡単な説明】
【００１５】
【図１】安全なマルチキャストグループ内の１つ以上のノードに鍵交換鍵（ＫＥＫ）を伝えるサーバの一実施形態を示すブロック図である。
【図２】第１ノードグループから分かれた第２ノードグループの一実施形態を示すブロック図である。
【図３】第２ノードグループのさらなる実施形態を示すブロック図である。
【図４】第１ノードグループに参加する第２ノードグループの管理ノードの一実施形態を示すブロック図である。
【図５】第１ノードグループに再参加する第２ノードグループの一実施形態を示すブロック図である。
【図６】断片化されたノードグループ内の１つ以上のノードに鍵再生成コマンドをマルチキャストするための方法の一実施形態を示すフロー図である。
【図７】実施形態にしたがって構成されたノードにおいて使用され得るハードウェアコンポーネントのブロック図である。
【発明を実施するための形態】
【００１６】
本発明を実行するための最良の形態
ここで、本発明の様々な実施形態を、図面を参照して説明する。これらの図面では、同一の部材あるいは機能的に類似の要素を同一の参照番号によって示している。これらの図面において概して説明かつ例示されている本発明の実施形態については、広範な異なる構成にアレンジおよび設計することができる。したがって、図面に示されているような本発明におけるいくつかの例示的な実施形態に関する以下の詳細な説明は、特許請求されている本発明の範囲を限定することを意図しておらず、本発明の実施形態を単に代表しているだけである。
【００１７】
「例示的な」という語は、本明細書では、もっぱら、「実施例、事例または実例として機能すること」を意味するものとして使用される。本明細書で「例示的」と示されているいかなる実施形態についても、他の実施形態よりも好ましい、または有利であると解釈する必要はない。
【００１８】
本明細書に開示されている実施形態における多くの機能は、コンピュータソフトウェア、電子ハードウェア、あるいはこれらの組み合わせとして実現され得る。このハードウェアおよびソフトウェアの互換性を明確に示すために、様々なコンポーネントをそれらの機能性の観点から概して説明する。このような機能性がハードウェアあるいはソフトウェアのいずれとして実現されるかは、特定のアプリケーション、および、システム全体に課されている設計の制約に依存する。当業者なら、記載の機能性を、各特定のアプリケーションに関して様々な手法で実現することができ、そのような実現の決定は、本発明の範囲からの逸脱をもたらすように解釈されるべきではない。
【００１９】
記載の機能性がコンピュータソフトウェアとして実現されている場合には、このようなソフトウェアは、メモリデバイス内に配置されている且つ／またはシステムバスあるいはネットワーク上を電気的な信号として伝送される任意のタイプのコンピュータ命令あるいはコンピュータ実行可能なコードを含むことができる。本明細書に記載されているコンポーネントに関連する機能性を実現するソフトウェアは、単一の命令、あるいは多くの命令を含むことができ、さらに、異なるプログラム間において、また、複数のメモリデバイスにわたって、複数の異なるコードセグメントに分散され得る。
【００２０】
本明細書で使用されている「（１つの）実施形態」、「実施形態」、「（複数の）実施形態」、「この実施形態」、「これらの実施形態」、「１つ以上の実施形態」、「いくつかの実施形態」、「特定の実施形態」、「一実施形態」、「他の実施形態」という用語、およびその他の類似の用語は、明確に特記しない限り、「開示の発明における１つ以上の（ただし、必ずしも全てではない）実施形態」を意味する。
【００２１】
「決定」という用語（およびその文法上での変化形）は、極めて幅広い意味で使用される。「決定」という用語は、広範な行為を包含している。したがって、「決定」は、計算、演算、処理、導出、探索、検索（例えば、表、データベースあるいは他のデータ構造における検索）、究明、およびこれらに類似する行為を含み得る。また、「決定」は、受信（例えば、情報の受信）、アクセス（例えば、メモリ内のデータへのアクセス）、およびこれらに類似の行為を含み得る。また、「決定」は、解決、選択、選出、制定およびこれらに類似の行為を含み得る。
【００２２】
「〜に基づく」という句は、明確に特記しない限り、「〜だけに基づく」ということを意味しない。すなわち、「〜に基づく」という句は、「〜だけに基づく」と「少なくとも〜に基づく」との双方を示している。
【００２３】
コンピュータネットワークは、多数のノードを含み得る。ノードは、コンピュータデバイスとも称される。多数のノードを１つ以上のグループに組織化することができる。単一ノードは、そのグループにおける他のノードと通信することができる。一実施形態では、単一ノードは、そのグループにおける他のノードに情報をマルチキャストする。マルチキャストは、グループの各メンバーへの情報の同時通信を含み得る。単一ノードは、グループ内の他のノードに状態をマルチキャストすることができる。状態は、プログラムあるいはコンピュータデバイスにおける他の態様に関連する情報の固有の構成を含むことができる。
【００２４】
状態をマルチキャストすることは、拡張性のある安全なマルチキャストグループにとって望ましい場合がある。ネットワークが断片化されたとき問題が発生し得る。例えば、元のノードグループが、断片化された様々なノードグループに断片化される場合がある。元のグループのメンバー間でかつて共有されていた状態が分岐する場合がある。例えば、ノードグループは、一般的に、それ自身の鍵を管理している。時間とともに、グループは、定期的に鍵を再生成し得る。新しい鍵はランダムに選択することができるため、断片化された異なるノードグループが、同じ鍵を再生成してしまう可能性は低い。
【００２５】
ネットワークの問題が解消されるまでは、グループの分裂は正しい作用であり得る。すなわち、依然として通信可能なノードのセットもあると仮定すると、グループは、ハードウェア障害に基づいて崩壊するべきではない。しかしながら、ネットワークの問題が解消され、断片化されたノードグループの各々が再び互いに通信し得るときには、この状態はできるだけ早急に収束する必要がある。
【００２６】
本システムおよび方法は、グループの理者を決定するノードグループに関連している。グループ内の任意のノードが管理者として機能してよく、また、複数のノードが、いつでも管理者として機能してよい。管理者は、定期的にその状態をそのグループ内のノードに公表する。さらに、管理者は、その状態を、他の断片化されたノードグループがそれを抽出可能なように公表する。断片化された種々なノードグループに共通する状態の主要な片は、鍵交換鍵（ＫＥＫ）である。同じＫＥＫを使用する任意の断片化されたノードグループは互いに通信可能である。タイミングパラメータおよびグループ鍵などの追加状態は時間とともに分岐し得る。ＫＥＫは、これらのパラメータを公表し、保護することができる。すなわち、ＫＥＫを有していないノードは、これらのパラメータを状態から抽出することを許されない場合がある。
【００２７】
分裂が生じると、断片化されたノードグループの各々は異なる管理者を決定することができる。断片化されたグループ内のノードは、これらの従前の管理者から状態の定期的な公表を聞くことがなくなったとき、管理者を自動的に決定することができる。いずれかの時点で単一グループに複数の管理者が発生した場合、複数の管理者は、互いの公表を聞くことになる。これら複数の公表における状態が正確な複製物である場合、ノードの１つが管理者ではなくなることになる。最も古い状態を有する管理者、あるいは、同等の場合はより低いノード識別子を有する管理者が、断片化されたグループの管理者としてとどまることができる。当然ながら、グループの管理者の決定に関しては、使用可能な他の方法も存在する。分裂が生じるが状態が分岐する前に解消される場合、前記ロジックは、断片化されたノードグループが通信を再開したとき、複数の管理者の問題を解決することができる。
【００２８】
十分に長い時間にわたって分裂が生じる場合、種々な断片化されたグループに対応する状態が分岐する場合がある。分裂が解消されて通信が復帰するとき、断片化されたグループの複数の管理者が存在するはずであり、これらは、元のグループに属していたノードに異なる状態を公表する。種々な断片化されたグループに属しているノードは、同じＫＥＫを共有している場合がある。特定の公表が有効であると管理者が知り得ても、リプレーアタックの可能性のため、パケットが最新であるということを信頼することができない。例えば、悪意のあるノードが、以前の公表を格納し、後にその公表をリプレーする場合がある。この種のリプレーに対してノードは反応する必要はない。
【００２９】
断片化されたノードグループの管理者は、その状態との部分的な適合を含んでいる公表を聞くと、他の管理者によって特定されているグループに「参加」することができる。この参加は、最初にグループに参加するノードのプロセスとほぼ同一であってよく、さらに、リプレーアタックに対する保護されていてよい。参加が成功すると、断片化されたグループの管理者は、状態のセットの双方を所有する。そして、管理者は、自身の断片化されたノードグループの鍵を他のノードグループの状態に適合するように再生成することができる−非常に素早く、効果的にグループを治療（ｈｅａｌ）する。状況が対称的である場合（すなわち、両方の管理者が、互いの公表を聞き得る場合）、上記（すなわち、どちらの状態がより古いか）と同じロジックを使用して、どの管理者が鍵を再生成するのかを決定することができる。
【００３０】
図１は、グループＡ１０６内の１つ以上のノードに対して鍵交換鍵（ＫＥＫ）１０４を伝えるサーバ１０２の一実施形態を示すブロック図である。一実施形態では、サーバ１０２は、認証サーバである。認証サーバは、グループＡ１０６に参加することを望んでいるノードを認証するサーバであり得る。一実施形態では、サーバ１０２はノードを認証し、ノードはＫＥＫ１０４を受信する。ノードは、グループＡ１０６に既に属している他のノードに対してグループＡ１０６に参加できることを証明するＫＥＫ１０４を使用することによって、グループＡ１０６に参加することができる。一実施形態では、サーバ１０２は、グループＡ１０６の各ノードに関して最小状態を維持する。例えば、サーバ１０２は、ＫＥＫ１０４の状態を単に維持することができる。サーバ１０２は、ＫＥＫ１０４に対する変更をグループＡ１０６のノードに伝えることができる。
【００３１】
示されているように、グループＡ１０６は、ノードＡ１０８、ノードＢ１１０およびノードＣ１１２を含んでいる。グループＡ１０６は、３つのノードだけを有するように示されているが、グループＡ１０６は、より多くのノード、あるいはより少ないノードを含むこともできるということを理解するべきである。グループＡ１０６は、安全なマルチキャストグループとも称され得る。なぜならば、グループＡ１０６内のノードは、安全な手法で互いに情報をマルチキャストできるからである。例えば、グループＡ１０６のノード間でマルチキャストされる情報を、共有されるグループＡ鍵１１４を用いて暗号化することもできる。ノードは、ＫＥＫ１０４を使用してグループＡ１０６に関連するグループＡ鍵１１４を受信することができる。例えば、ノードＮ１１６は、グループＡ１０６の１つ以上のノードにグループ要求１１８を送信することによってグループＡ１０６のメンバーになることを要求することができる。グループＡ１０６の１つ以上のノードは、ノードＮ１１６がＫＥＫ１０４を含んでいるか否かを判断することができる。ノードＮ１１６がＫＥＫ１０４を含んでいる場合、１つ以上のノードは、ノードＮ１１６にグループＡ鍵１１４を配信することができる。グループＡ鍵１１４は、「ノードが、グループＡ１０６内の他のノードとの間で情報を送受信すること」を可能にすることができる。ノードは、グループＡ鍵１１４を使用してグループＡ１０６のノード間でマルチキャストされる情報を暗号化および復号化することができる。
【００３２】
ノードＮ１１６がＫＥＫ１０４を有していない場合、ノードＮ１１６は、「サーバ１０２がノードＮ１１６にＫＥＫ１０４を配信すること」を求めるＫＥＫ要求１２０をサーバ１０２に送信することができる。サーバ１０２は、ノードＮ１１６を認証し、ＫＥＫ１０４を配信することができる。しかしながら、ＫＥＫ１０４がノードＮ１１６に配信されない場合、ノードＮ１１６は、グループＡ１０６に参加すること、および、グループＡ鍵１１４を受信することができない。
【００３３】
サーバ１０２、グループＡ１０６およびノードＮ１１６の間の通信は、ネットワーク１２２上でなされ得る。ネットワーク１２２は、グローバル通信ネットワーク、インターネット、コンピュータネットワーク、電話ネットワーク、ポケットベルネットワーク、セルラーネットワーク、ワイドエリアネットワーク（ＷＡＮ）、ローカルエリアネットワーク（ＬＡＮ）などの（ただし、これらに限定されない）任意の通信ネットワークを含むことができる。一実施形態では、サーバ１０２は、ネットワーク１２２上の多数のノードグループを管理し、これらと通信することができる。サーバ１０２は、各ノードグループに固有のＫＥＫを、配信することができる。
【００３４】
図２は、第１ノードグループ２０６から分かれた第２ノードグループ２４６の一実施形態を示すブロック図である。第１グループ２０６は、グループＡ１０６などのノードのマルチキャストグループを含むことができる。一実施形態では、ノードＥ２２６、ノードＦ２２８およびノードＧ２３０が、第１グループ２０６に元から属している。示されている実施形態は７つのノードを含んでいるが、第１グループ２０６および第２グループ２４６には、より多くのノード、あるいはより少ないノードが含まれ得ることを理解するべきである。
【００３５】
ノードＡ〜Ｇ２０８、２１０、２１２、２２４、２２６、２２８、２３０は、ＫＥＫ２０４およびグループＡ鍵２１４を含むことができる。一実施形態では、グループＡ鍵２１４は、グループＡ鍵パラメータ２４０を含んでいる。パラメータ２４０は、第１グループ２０６のメンバーによってグループＡ鍵２１４が利用されてきた時間量を示すことができる。例えば、第１グループ２０６のメンバーは、グループＡ鍵２１４を管理することができる。グループＡ鍵２１４は定期的に変わり得、その結果、ノードがグループＡ鍵２１４を変更された新しいグループ鍵に再生成することになる。グループＡ鍵パラメータ２４０は、グループＡ１０６のメンバーによって現在のグループＡ鍵が使用されてきた期間を示すことができる。
【００３６】
一実施形態では、ノードＡ２０８は識別子Ａ２３８を含んでいる。識別子Ａ２３８は、第１グループ２０６にノードＡ２０８が参加した順番を示すことができる。例えば、ノードＡ２０８が、グループ２０６に参加した３番目のノードであり、ノードＢ２１０が、グループ２０６に参加した４番目のノードであったとすると、識別子Ａ２３８は「３」を示すことができ、また、識別子Ｂ（図示せず）は、「４」を示すことができる。ノードＡ２３８のみが識別子を含むように図示しているが、グループ２０６の各ノードは対応する識別子を含み得ることを理解するべきである。
【００３７】
一実施形態では、ノードＡ２０８は、第１グループ２０６のグループ管理者となるように決定される。グループ管理者は、グループにおける残りのノードに対して、グループ鍵および他のパラメータに関する情報を定期的にマルチキャストすることに関して責任を負い得る。一実施形態では、ノードＡ２０８は、識別子Ａ２３８が最も低い値を有しているため、グループ管理者となるように決定される。他の実施形態では、グループ管理者は、最初に公表を開始するノード、アドミニストレータによって手動で管理者に設定されたノードなどであってよい。他の実施形態では、ノードは、商業的に有用ないずれかの方法にしたがって、グループの管理者となるように決定されることもある。
【００３８】
ノードＡ２０８は、状態２３４を含むことができる。状態２３４は、特定のパラメータの最新の値を示し得る。例えば、状態２３４は、ＫＥＫ２０４、グループＡ鍵２１４およびタイミングパラメータＡ２３６を含むことができる。タイミングパラメータＡ２３６は、グループ２０６内のノードにノードＡ２０８が状態２３４をマルチキャストする頻度を示し得る。一実施形態では、グループＡ鍵２１４およびタイミングパラメータＡ２３６は、ＫＥＫ２０４によって保護されている。すなわち、ＫＥＫ２０４を有さないノードは、状態２３４からこれらのパラメータを抽出することを許されない場合がある。
【００３９】
ノードＡ２０８は、ルータＡ２４２を利用して、ノードＢ２１０、ノードＣ２１２およびノードＤ２２４に状態２３４をマルチキャストすることができる。同様に、ノードＡ２０８は、ルータＢ２４４を介して、ノードＥ２２６、ノードＦ２２８およびノードＧ２３０に状態２３４をマルチキャストすることができる。示されている実施形態は、２つのルータを介して状態２３４をマルチキャストしているノードＡ２０８を示すが、ノードは、任意の数のルータ、スイッチ、他のネットワーク機器、配線などを用いて情報をマルチキャストし得ることを理解するべきである。ノード２１０、２１２、２２４、２２６、２２８、２３０は、ＫＥＫ２０４を利用してグループＡ鍵２１４およびタイミングパラメータＡ２３６を状態２３４から抽出することができる。ノード２１０、２１２、２２４、２２６、２２８、２３０に含まれているグループＡ鍵２１４が、状態２３４に含まれているグループＡ鍵２１４と適合しない場合、ノードは、状態２３４に含まれているグループ鍵と適合するようにグループＡ鍵２１４を再生成することができる。上記のように、マルチキャストグループは、定期的にグループ鍵を変更することができる。グループＡ鍵２１４を含んでいる状態２３４を頻繁にマルチキャストすることにより、ノードがグループ２０６に関連する最新のグループ鍵に再生成することを可能にする。
【００４０】
一実施形態では、ノードＡ２０８とルータＢ２４４との間の通信は、遮断されるか、あるいは制限される（２９０）。例えば、ルータＢ２４４は機能しない場合があり、このため、ノードＡ２０８から送信された状態２３４が、ルータＢ２４４に接続されているノード２２６〜２３０に届かない場合がある。一実施形態では、ノードＥ２２６、ノードＦ２２８およびノードＧ２３０は、第１グループ２０６から第２グループ２４６に分かれる。ノードＡ２０８は、依然として、ノードＢ２１０、ノードＣ２１２およびノードＤ２２４に対して、ルータＡ２４２を介して、状態２３４をマルチキャストすることができる。このように、元の第１グループ２０６は、２つのグループ２０６、２４６に分かれる。２つのグループ２０６、２４６のみが示されているが、第１グループ２０６は、より多くのノードグループに分かれ得ることを理解するべきである。
【００４１】
図３は、第２ノードグループ３４６のさらなる実施形態を示すブロック図である。一実施形態では、第２グループ３４６は、ノードＥ３２６、ノードＦ３２８およびノードＧ３３０を含んでいる。ノード３２６、３２８、３３０は、３２６、３２８、３３０が第１グループ２０６の管理者からの状態に関する定期的なマルチキャストの受信を停止するとき、第２グループの管理者を決定することができる。例えば、ノードＥ〜Ｇ３２６〜３３０は、これらがノードＡ２０８からの状態２３４の受信を停止するとき、第２グループの管理者を決定することができる。一実施形態では、第２グループ３４６内の任意のノードが第２グループの管理者として機能し得る。示した実施形態では、ノードＦ３２８が、第２グループの管理者となるように決定される。これは、ノードＦ３２８が、第２グループ３４６に属しているノードに状態３３４のマルチキャストを開始したためである。ノードＦ３２８は、識別子Ｆ３５２を含むことができ、これは、ノードＦ３２８が元の第１グループ２０６に参加した順番を示している。
【００４２】
第２グループ３４６のノード３２６〜３３０は、最初は、これらが従前に第１グループ２０６のメンバーとして使用していたものと同じグループ鍵を使用することができる。例えば、ノード３２６〜３３０は、グループＡ鍵３１４を依然として利用することができる。さらなる実施形態では、第２グループの管理者ノードＦ３２８は、グループ管理者になるとき、直ちにグループＢ鍵３５０を変更することができる。その後、第２グループ３４６のメンバーが、グループＡ鍵３１４をランダムな新しいグループ鍵（例えば、グループＢ鍵３５０など）に再生成（３５４）することができる。さらなる実施形態では、依然第１グループ２０６に属しているメンバー（図示せず）も、グループＡ鍵３１４をランダムな新しいグループ鍵に再生成することができる。各グループ２０６、３４６は、グループＡ鍵３１４をランダムに再生成する。このため、第１グループ２０６および第２グループ３４６がグループＡ鍵３１４を同一の新しいグループ鍵に再生成する可能性は低い。
【００４３】
一実施形態では、グループＢ鍵３５０が、ここで第２グループ３４６のメンバーによって使用され、互いに情報をマルチキャストする。グループＢ鍵３５０は、グループＢ鍵パラメータ３４１を含むことができ、パラメータ３４１は、第２グループ３４６によってグループＢ鍵３４０が利用されてきた時間量を示している。
【００４４】
第２グループ３４６の管理者として、ノードＦ３２８は、第２グループ３４６の他のメンバーに状態３３４をマルチキャストすることができる。一実施形態では、状態３３４は、ＫＥＫ３０４およびグループＢ鍵３５０を含んでいる。ＫＥＫ３０４は、グループＢ鍵３５０を保護することができるため、ＫＥＫ３０４を保持していないノードは、状態３３４からグループＢ鍵３５０を抽出することができない。ノードＥ３２６およびノードＧ３３０は、状態３３４からグループＢ鍵３５０を抽出して、第２グループ３４６に関する最新のグループ鍵をこれらが保持していることを確認することができる。
【００４５】
図４は、第１の分裂ノードグループに参加する第２の分裂ノードグループの管理ノードの一実施形態を示すブロック図である。一実施形態では、ノードＡ４０８は、第１グループ２０６（図示せず）の管理ノードであり、ノードＦ４２８は、第２グループ２４６（図示せず）の管理ノードである。上記のように、第１グループの管理者と第２グループ２４６のノードとの間の通信が何らかの原因で遮断あるいは制限されるとき、第２グループ２４６内のノードは第１グループ２０６から分かれる。一実施形態では、ノードＡ４０８とルータＢ４４４との間の通信が遮断されている。したがって、ノードＡ４０８は、ノードＥ４２６、ノードＦ４２８およびノードＧ４３０に状態４３４をマルチキャストすることができない。後に、ノードＡ４０８と第２グループ２４６との間の通信が、ルータＢ４４４を介して再確立される場合がある。
【００４６】
上記のように、第２グループ２４６が第１グループ２０６から分かれるとき、各グループ２０６、２４６は、依然として、同じグループ鍵（例えばグループＡ鍵１１４など）を利用することができる。しばらくして、各グループ２０６、２４６は、グループＡ鍵１１４をランダムに再生成することができる。例えば、第１グループは、グループＡ鍵１１４をグループＣ鍵４１５にランダムに再生成することができ、第２グループ２４６は、グループＡ鍵１１４をグループＢ鍵４５０にランダムに再生成することができる。
【００４７】
ノードＡ４０８と第２グループ２４６のノードとの間の通信が再確立されると、ノードＡ４０８は状態４３４をマルチキャストすることができ、状態４３４は、ＫＥＫ４０４、グループＣ鍵４１５およびタイミングパラメータＣ４３７を含んでいる。グループＣ鍵４１５およびタイミングパラメータＣ４３７は、ＫＥＫ４０４によって保護され得る。一実施形態では、ノードＥ〜Ｇ４２６〜４３０は、各々、ノードＡ４０８から状態４３４を受信する。ノードＥ〜Ｇ４２６〜４３０は、各々、ＫＥＫ４０４を含むことができ、ＫＥＫ４０４により、これらノードが、保護されているグループＣ鍵４１５およびタイミングパラメータＣ４３７を状態４３４から抽出することを可能にする。しかしながら、ノードＥ〜Ｇ４２６〜４３０は、グループＣ鍵４１５と異なっていてよいグループＢ鍵４５０を含んでいる。ノードＥ４２６およびノードＧ４３０は、状態４３４が第２グループ２４６の管理者（すなわちノードＦ４２８）から送信されていないという理由で、ノードＡ４０８から送信された状態４３４を無視する場合がある。
【００４８】
一実施形態では、第２グループ２４６の管理者であるノードＦ４２８は、ノードＡ４０８からの状態４３４を受け入れることができる。ノードＦ４２８は、ＫＥＫ４０４を使用して、状態４３４からパラメータを抽出することができる。グループＣ鍵４１５は、グループＣ鍵パラメータ４４０を含むことができ、また、グループＢ鍵４５０は、グループＢ鍵パラメータ４４１を含んでいる。上記のように、グループ鍵パラメータは、グループ鍵が利用されてきた期間を示し得る。一実施形態では、ノードＦ４２８は、グループＣ鍵パラメータ４４０とグループＢ鍵パラメータ４４１とを比較する。グループＣ鍵パラメータ４４０が、グループＢ鍵４５０に比べて長い時間量にわたってグループＣ鍵４１５が使用されてきたことを示している場合、ノードＦ４２８は、グループＣ鍵４１５を格納することができる。そして、ノードＦ４２８は、最新であって、リプレーされたものではないことを確認するために、状態４３４によって特定されるグループに参加することができる。一実施形態では、ノードＦ４２８は、ここでは第１グループ２０６と第２グループ２４６との双方に属している。さらなる実施形態では、ノードＦ４２８は、グループＢ鍵４５０をグループＣ鍵４１５に再生成する。グループＣ鍵４１５に再生成することによって、ノードＦ４２８は、ノードＡ４０８が管理ノードであり続けるべきであるということを決定する。したがって、ノードＡ４０８は、状態４３４の後続のマルチキャストについての責任を負う。
【００４９】
一実施形態では、グループＣ鍵パラメータ４４０とグループＢ鍵パラメータ４４１とが同一であり、グループＣ鍵４１５とグループＢ鍵４５０とが同一の時間量にわたって使用されてきたということを示している。ノードＡ４０８およびノードＦ４２８は、識別子Ａ４３８および識別子Ｆ４５２を調べることによって、どちらのノードが管理ノードであり続けるのかを決定する。一実施形態では、最も低い識別子を有しているノードが管理者であり続ける。例えば、識別子Ａ４３８が識別子Ｆ４５２よりも低い値を有していてよい。この場合、識別子Ｆ４５２は、グループＢ鍵４５０をグループＣ鍵４１５に再生成することができる。さらなる実施形態では、ノードＡ４０８およびノードＦ４３８は、他の方法を使用して、どちらが管理者であり続けるのかを決定する。管理者であり続けないことになったノードは、そのグループの鍵を他のグループのグループＡ鍵１１４に再生成する。
【００５０】
図５は、第１グループ２０６に再参加する第２グループ５４６の一実施形態を示すブロック図である。一実施形態では、第２グループ５４６に関連するグループ鍵が、第１グループ２０６に関連するグループ鍵に再生成される。第２グループ５４６の管理者は、鍵再生成コマンド５６０を第２グループ５４６内のノードにマルチキャストすることができる。例えば、ノードＦ５２８は、第２グループ５４６の管理者であってよい。上記のように、ノードＦ５２８は、第１グループ２０６に対応するグループ鍵（すなわち、グループＣ鍵５１５）に関連する状態４３４を受信することができ、そして、「状態４３４が、現在において有効であり、リプレーされたものではない」ということを確認することができる。ノードＦ５２８は、ＫＥＫ５０４および鍵再生成コマンド５６０を含んでいるパケット５３２をマルチキャストすることができる。一実施形態では、ＫＥＫ５０４を含んでいないノードは、パケット５３２を受信することができない。また、鍵再生成コマンド５６０を、第２グループ５４６の共有グループ鍵（すなわち、グループＢ鍵５５０）を使用して暗号化することもできる。
【００５１】
ノードＥ５２６およびノードＧ５３０は、パケット５３２を受信することができ、さらに、グループＢ鍵５５０を用いて鍵再生成コマンド５６０を復号化することができる。鍵再生成コマンド５６０は、共有グループ鍵を、異なる共有グループ鍵に再生成するためのコマンドを含むことができる。例えば、ノードＥ５２６およびノードＧ５３０は、グループＢ鍵５５０をグループＣ鍵５１５に再生成（５５４）するためのコマンドを受信することができる。ノードＦ５２８は、また、鍵再生成コマンドが第２グループ５４６のノードに対してマルチキャストされた後に、グループＢ鍵５５０をグループＣ鍵５１５に再生成することもできる。グループＣ鍵５１５への再生成は、「ノードＥ〜Ｇ５２６〜５３０が、追加のデータおよび情報を、第１グループ２０６内のノードから受信すること」を可能にすることができる。すなわち、ノードＥ〜Ｇ５２６〜５３０は、第２グループ５４６に分かれる前までこれらがメンバーであったグループに再参加する。さらに、「第２グループ５４６の管理者が、鍵再生成コマンド５６０をマルチキャストすること」を許すことで、第１グループ２０６の管理者への要求を最小化することができる。例えば、第２グループ５４６内の各ノードが、鍵再生成要求をノードＡ４０８に送信した場合、ノードＡ４０８は、グループＣ鍵５１５に関する多数の要求に起因する重負荷を経験する場合がある。本システムおよび本方法によれば、第２グループ５４６の管理者（あるいは、管理ノードの小さなセット）が、第２グループに属しているノードに鍵再生成情報を送信することが可能になり、これにより、ノードＡ４０８における負荷の増加を排除することができる。
【００５２】
図６は、第２ノードグループ２４６に鍵再生成コマンドをマルチキャストするための方法６００の一実施形態を示すフロー図である。一実施形態では、方法６００は、第２グループ２４６の管理者として指名されたノードによって実現される。第１の状態を受信することができる（６０２）。一実施形態では、第１の状態は、第１ノードグループ２０６（例えばグループＡ１０６など）に関連する第１グループ鍵を含んでいる。状態を、定期的に受信することができる（６０２）。最近の状態を受信してから（６０２）所定の時間が経過したか否かについての判断がなされる（６０４）。時間が経過していない場合、ノードは、第１の状態を定期的に受信（６０２）し続ける。所定の時間が経過している場合、第１の状態は、第２ノードグループ２４６にマルチキャストされる（６０６）。一実施形態では、第１グループ２０６の管理ノードから第１の状態が定期的に受信（６０２）されないとき、第２ノードグループ２４６は第１ノードグループ２０６から分かれる。
【００５３】
追加状態が受信されたか否かについての判断がなされる（６０８）。例えば、第２グループ２４６に属しているノードは、第１の状態をマルチキャストすることができる（６０６）、該ノードは、第２ノードグループ２４６に属している１つ以上の別々のノードから１つ以上の状態を受信することもできる。方法６００が、受信された１つ以上の状態が第１の状態と同一であると判断した場合（６０８）、「受信された１つ以上の状態が、第１の状態に比して長い時間量にわたって存在しているか否か」についての判断がなされる（６１０）。すなわち、第１の状態が受信された１つ以上の状態よりも古いか否かについての判断がなされる（６１０）。受信された１つ以上の状態が第１の状態よりも古い場合、方法６００は終了する。しかしながら、ノードが１つ以上の状態を受信していない場合、あるいは、受信された１つ以上の状態が第１の状態よりも古くない場合、第１の状態をマルチキャストしたノードは、第２ノードグループ２４６の管理ノードとして指定され得る。
【００５４】
第１グループ鍵を第２グループ鍵に再生成することができる（６１２）。一実施形態では、第１グループ鍵をランダムに第２グループ鍵に再生成する（６１２）。第２グループ鍵を含む第２の状態を、第２ノードグループ２４６に定期的にマルチキャストすることができる（６１４）。一実施形態では、第２グループ２４６内のノードは、第１グループ鍵を、第２グループ鍵に再生成する（６１２）。
【００５５】
第２の状態とは異なる第３の状態が受信されたか否かについての判断をなすことができる（６１６）。第３の状態は、第１ノードグループ２０６に関連する第３グループ鍵を含むことができる。第３の状態が受信されていない場合、第２ノードグループに第２の状態が定期的にマルチキャストされ続ける（６１４）。第３の状態が受信されている場合、「第３の状態が、第２の状態に比して、長い時間量にわたって存在しているか否か」についての判断がなされる（６１８）。すなわち、第３の状態が第２の状態よりも古いか否かについての判断がなされる（６１８）。第２の状態が第３の状態よりも古いと判断された場合、第２の状態は、第２ノードグループに定期的にマルチキャストされ続ける（６１４）。
【００５６】
しかしながら、第３の状態が第２の状態よりも古いと判断された場合、鍵再生成コマンドを含むパケットを第２ノードグループ２４６に対してマルチキャストすることができる（６２０）。鍵再生成コマンドは、第２ノードグループ２４６に対して、第２グループ鍵を第３グループ鍵に再生成するよう指示することができる。一実施形態では、鍵再生成コマンドは、第２グループ鍵によって暗号化される。第２グループ鍵を含んでいるノードは、鍵再生成コマンドを暗号化することができる。一実施形態では、従前に第２ノードグループ２４６に属していたノードは、ここでは第３グループ鍵を含むことができ、鍵は、第１ノードグループ２０６に関連している場合がある。一実施形態では、各状態に含まれている各グループ鍵をＫＥＫ１０４によって保護することができる。一実施形態では、ＫＥＫ１０４を含んでいるノードは、各グループ鍵および各状態を受信することができる。
【００５７】
図７は、実施形態にしたがって構成されたノードあるいはサーバ７０２において使用され得るハードウェアコンポーネントのブロック図である。ノードまたはサーバ７０２は、いくつかの実例において、組み込みデバイスであってよい。ノードまたはサーバノード７０２は、一般的には、コンピュータデバイスである。コンピュータデバイスとして、ラップトップコンピュータ、デスクトップパーソナルコンピュータ（ＰＣ）、個人用デジタル補助装置（ＰＤＡ）、タブレットＰＣ、携帯電話などが挙げられ得る（これらに限定ない）。プロセッサ７０４を設けて、ノード／サーバ７０２の操作を制御することができ、ここで、ノード／サーバ７０２は、バス７１０を介してプロセッサ７０４に連結されている他のコンポーネントを含んでいる。プロセッサ７０４は、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ、あるいは、当該分野で既知の他のデバイスとして具体化され得る。プロセッサ７０４は、メモリ内に格納されているプログラムコードに基づいて、論理的かつ算術的な演算を実行する。特定の実施形態では、メモリ７０６は、プロセッサ７０４とともに含まれるオンボードメモリであってよい。例えば、マイクロコントローラは、多くの場合、一定量のオンボードメモリを含んでいる。
【００５８】
ノード／サーバ７０２は、ネットワークインターフェイス７０８を含むこともできる。ネットワークインターフェイス７０８は、ノード／サーバ７０２と、ネットワーク１２２に接続されている他のデバイスとの間の通信を容易にする。ネットワークは、ポケットベルネットワーク、セルラーネットワーク、グローバル通信ネットワーク、インターネット、コンピュータネットワーク、電話ネットワークなどであってよい。ネットワークインターフェイス７０８は、当該のネットワーク１２２に関する標準的なプロトコルにしたがって動作する。
【００５９】
ノード／サーバ７０２は、メモリ７０６を含むこともできる。メモリ７０６は、一時データを格納するためにランダム・アクセス・メモリ（ＲＡＭ）を含み得る。代替的に、または加えて、メモリ７０６は、更なる不変データ（固定されたコードおよび構成データなど）を格納するために、リード・オンリー・メモリ（ＲＯＭ）を含み得る。メモリ７０６は、ハードディスクドライブなどの磁気記憶デバイスとしても具体化され得る。メモリ７０６は、電子情報を格納することができる任意のタイプの電子デバイスであってよい。
【００６０】
ノード／サーバ７０２は、他のデバイスとの通信を容易にする１つ以上の通信ポート７１２も含み得る。ノード／サーバ７０２は、キーボード、マウス、ジョイスティック、タッチスクリーン、モニタ、スピーカ、プリンタなどの入出力デバイス７１４も含み得る。
【００６１】
当然ながら、図７は、ノード／サーバ７０２の１つの可能な構成を示しているにすぎない。他の種々な構造およびコンポーネントを利用することができる。
【００６２】
情報および信号は、任意の様々な異なる技術および技法を用いて表され得る。例えば、先の説明の中で言及され得たデータ、命令、コマンド、情報、信号、ビット、符号およびチップを、電圧、電流、電磁波、磁場または磁気粒子、光場または光学粒子、あるいは、これらの任意の組み合わせによって表すこともできる。
【００６３】
本明細書に開示されている実施形態に関連して記載した種々な具体的な論理ブロック、モジュール、回路、アルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、あるいは、これらの組み合わせとして実現され得る。このようなハードウェアおよびソフトウェアの互換性を明確に示すために、様々な具体的なコンポーネント、ブロック、モジュール、回路およびステップが、ここまで、これらの機能性の観点から概して説明されてきた。このような機能性がハードウェアあるいはソフトウェアとして実現されるか否かは、特定のアプリケーション、および、システム全体に課される設計制約に依存する。当業者であれば、記載の機能性を、特定のアプリケーションに関して様々な方法で実現することができる。しかしながら、このような実現の判断は、本発明の範囲からの逸脱をもたらすように解釈されてはならない。
【００６４】
本明細書に開示されている実施形態に関連して記載した様々な具体的な論理ブロック、モジュールおよび回路は、本明細書に記載された機能を実施するように設計された、汎用プロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールド・プログラマブル・ゲート・アレイ信号（ＦＰＧＡ）あるいは他のプログラム可能な論理デバイス、離散ゲートあるいはトランジスタロジック、離散ハードウェアコンポーネント、あるいは、これらの任意の組み合わせを用いて実現あるいは実施され得る。汎用プロセッサはマイクロプロセッサであってよいが、別の構成では、プロセッサは、任意の常套プロセッサ、コントローラ、マイクロコントローラあるいはステートマシンであってよい。プロセッサは、コンピュータデバイスの組み合わせ、例えば、ＤＳＰとマイクロプロセッサとの組み合わせ、複数のマイクロプロセッサ、ＤＳＰコアと連結されている１つ以上のマイクロプロセッサ、あるいは、任意の他のこのような構成として実現され得る。
【００６５】
本明細書に開示されている実施形態に関連して記載した方法あるいはアルゴリズムのステップを、ハードウェア、プロセッサによって実行されるソフトウェアモジュール、あるいは、これら２つの組み合わせにおいて直接に具体化することもできる。ソフトウェアモジュールは、ＲＡＭメモリ、フラッシュメモリ、ＲＯＭメモリ、ＥＰＲＯＭメモリ、ＥＥＰＲＯＭメモリ、レジスタ、ハードディスク、リムーバブルディスク、ＣＤ−ＲＯＭ、あるいは、当該分野で既知である、任意の他の形態の記憶媒体に備えることができる。例示的な記憶媒体はプロセッサに連結されているため、プロセッサは、記憶媒体から情報を読み出すことができるとともに、記憶媒体に対して情報を書き込むことが可能になる。別の構成では、記憶媒体をプロセッサと一体化することもできる。プロセッサと記憶媒体とをＡＳＩＣに備えることもできる。ＡＳＩＣは、ユーザ端末に備えることができる。別の構成では、プロセッサと記憶媒体とを離散コンポーネントとしてユーザ端末に備えることができる。
【００６６】
本明細書に開示されている方法は、記載の方法を達成するための１つ以上のステップあるいは動作を備えている。方法のステップおよび／または動作を、本発明の範囲から逸脱することなく互いに置き換えることもできる。すなわち、実施形態の適当な操作に関して特定の順序のステップあるいは動作が要求されない限り、特定のステップおよび／または動作の順序および／または使用を、本発明の範囲から逸脱することなく改変することができる。
【００６７】
特定の実施形態および本発明の適用を例示かつ記載したが、本発明は、本明細書に開示された構成およびコンポーネントそのものに限定されないことを理解するべきである。本明細書に開示されている本発明の方法およびシステムの構成、操作および詳細において、本発明の精神および範囲とから逸脱することなく、当業者にとって明らかであろう様々な修飾、変更、変形を行うことができる。
【図１】
2010517330.tif 000003
【図２】
2010517330.tif 000004
【図３】
2010517330.tif 000005
【図４】
2010517330.tif 000006
【図５】
2010517330.tif 000007
【図６】
2010517330.tif 000008
【図７】
2010517330.tif 000009
【国際調査報告】
2010517330.tif 000010