(57)【特許請求の範囲】
【請求項１】
ネットワークを介して送信機（２）から複数の受信機（４ａ−４ｄ）のセットへメッセージを伝送する方法であって、
マルチキャストメッセージ（１０）を前記複数の受信機（４ａ−４ｄ）へ送信する工程と、
受信機（４ａ，４ｂ，４ｄ）のサブセットの各受信機から、各受信機において前記マルチキャストメッセージが受領されたことを示す各受領確認メッセージを受信する工程と、
前記複数の受信機（４ａ−４ｄ）のセットのうち、前記受信機（４ａ，４ｂ，４ｄ）のサブセットに属さない受信機（４ｃ）へユニキャストメッセージ（１４）を送信する工程と、を含み、
前記マルチキャストメッセージは、イベントベースの分析フレームワークにおいて第１のイベント検出部（４０）から第２のイベント検出部（４２）へ送信され、前記第１のイベント検出部によって検出されたイベントについての情報を含むことを特徴とする方法。
【請求項２】
前記ユニキャストメッセージは、前記マルチキャストメッセージが送信されてから所定期間経過後に送信されることを特徴とする請求項１に記載の方法。
【請求項３】
前記複数の受信機（４ａ−４ｄ）のセットにおける各々の受信機の識別情報を含む加入者データ（５０）と、前記受領確認メッセージに含まれており前記受信機（４ａ，４ｂ，４ｄ）のサブセットの各受信機に対応しており各受信機を識別するための識別情報とを比較する工程をさらに含むことを特徴とする請求項１または２に記載の方法。
【請求項４】
加入しようとしている受信機（４２）から伝送要求（３０）を受信する工程と、
前記加入しようとしている受信機（４２）の識別情報を前記加入者データ（５０）に追加する工程と、を含むことを特徴とする請求項３に記載の方法。
【請求項５】
前記マルチキャストメッセージを識別するためのメッセージ識別情報（７４）を送信メッセージデータ（７６）に追加する工程をさらに含み、前記送信メッセージデータ（７６）は、マルチキャストメッセージによって送信されるメッセージのセットを識別するための識別情報を含むことを特徴とする請求項１から４のいずれか１項に記載の方法。
【請求項６】
前記複数の受信機（４ａ−４ｄ）のセットに属する全ての受信機からの受領確認メッセージが揃ったメッセージについてのメッセージ情報を前記送信メッセージデータから削除する工程を含むことを特徴とする請求項５に記載の方法。
【請求項７】
前記ユニキャストメッセージは、順序型（ordered）もしくは非順序型（unordered）のユニキャストプロトコルを使用して送信されることを特徴とする請求項１から６のいずれか１項に記載の方法。
【請求項８】
前記ユニキャストメッセージは、ＵＤＰプロトコルを使用して送信されることを特徴とする請求項１から７のいずれか１項に記載の方法。
【請求項９】
前記ネットワークは有線ネットワークであることを特徴とする請求項１から８のいずれか１項に記載の方法。
【請求項１０】
前記サブセットの受信機の数が前記複数の受信機のセットの受信機の数の所定割合よりも多い場合、前記ユニキャストメッセージ（１４）の代わりに次のマルチキャストメッセージが前記セットの受信機（４ａ−４ｄ）に送信されることを特徴とする請求項１から９のいずれか１項に記載の方法。
【請求項１１】
ネットワークを介して送信機（２）からメッセージを受信する方法であって、
マルチキャストプロトコルによって前記送信機（２）から第１のメッセージ（１０）を受信し、ユニキャストプロトコルによって前記送信機（２）から第２のメッセージ（１４）を受信する工程と、
前記第１のメッセージ（１０）を受領したことを示す第１の受領確認メッセージ（１２）を前記送信機（２）へ送信し、前記第２のメッセージを受領したことを示す第２の受領確認メッセージを前記送信機（２）へ送信する工程と、
前記第１のメッセージ（１０）を関連するアプリケーションに転送する工程と、
前記第１のメッセージ（１０）が前記第２のメッセージ（１４）と同一である場合、前記第２のメッセージ（１４）を、前記関連するアプリケーションに転送することなく削除する工程とを含むことを特徴とする方法。
【請求項１２】
前記第２のメッセージ（１４）が前記第１のメッセージ（１０）と同一でない場合、前記関連するアプリケーションに前記第２のメッセージ（１４）を転送することを特徴とする請求項１１に記載の方法。
【請求項１３】
第１のメッセージ（１０）を識別するための第１の識別情報を、受信メッセージデータに追加する工程を含み、前記受信メッセージデータは、前記マルチキャストプロトコルによって受信されるメッセージのセットを識別するための識別情報を含み、
第１のメッセージ（１０）と第２のメッセージ（１４）とが同一か否かを判断するために、第２のメッセージ（１４）を識別するための、対応する第２のメッセージ識別情報と、第１のメッセージ（１０）を識別するための第１のメッセージ情報とを比較する工程と含むことを特徴とする請求項１１または１２に記載の方法。
【請求項１４】
ネットワークを介して送信機（２）から複数の受信機（４ａ−４ｄ）のセットへメッセージを伝送する伝送装置であって、
前記複数の受信機（４ａ−４ｄ）に対してマルチキャストメッセージ（１０４）を送信するように作動可能なマルチキャスト送信部（１０２）と、
受信機（４a，４ｂ，4ｄ）のサブセットの各受信機から、各受信機にて前記マルチキャストメッセージが受領されたことを示す各受領確認メッセージを受信するように作動可能な受信部（１０８）と、
前記複数の受信機（４ａ−４ｄ）のセットのうち、前記受信機（４ａ，４ｂ，４ｄ）のサブセットに属さない受信機へユニキャストメッセージ（１１２）を送信するように作動可能なユニキャスト送信部（１１０）と、を備え、
前記マルチキャストメッセージは、イベントベースの分析フレームワークにおいて第１のイベント検出部（４０）から第２のイベント検出部（４２）へ送信され、前記第１のイベント検出部によって検出されたイベントについての情報を含むことを特徴とする伝送装置。
【請求項１５】
ネットワークを介して送信機（２）からメッセージを受信する受信機（１５０）であって、
マルチキャストプロトコルによって前記送信機から第１のメッセージ（１０）を受信し、ユニキャストプロトコルによって前記送信機から第２のメッセージ（１４）を受信するように作動可能な受信部（１５２）と、
前記第１のメッセージを受領したことを示す第１の受領確認メッセージを前記送信機へ送信し、前記第２のメッセージを受領したことを示す第２の受領確認メッセージを前記送信機へ送信するように作動可能な送信部（１５４）と、
前記第１のメッセージ（１０）を関連するアプリケーションに転送し、前記第１のメッセージ（１０）が前記第２のメッセージ（１４）と同一である場合に前記第２のメッセージ（１４）を削除するメッセージ処理部（１５６）と、を備えたことを特徴とする受信機。
【請求項１６】
請求項１から１３のいずれか１項に記載の方法をコンピュータに実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、データネットワークに関するものであり、特に、メッセージを複数の受信機に伝送する装置および方法に関する。
【背景技術】
【０００２】
ネットワークを介して単一の送信機から複数の受信機へのメッセージまたはデータの伝送は、複数の筋書き（シナリオ）において問題がある。例えば、インターネットを介した音声や映像のストリーミングは、一般的に知られた用途である。要求される帯域幅を低減させるために、マルチキャストプロトコルについて種々な提案がなされている。マルチキャストプロトコルでは、ネットワークを介した通信経路または伝送がパケットロスを発生させないエラーフリーである場合、送信機による単一のメッセージ伝送のみが必要とされる。しかし、パケットロスやエラーは定期的に発生している。各受信機における送信機からのメッセージの受信を確実に行おうとする、信頼性の高いマルチキャストプロトコルは、複数の受信機のうちのいずれか１つがメッセージを受信しない場合、若しくは、受信されたメッセージが破壊された場合、マルチキャストメッセージの再送を開始するために多くの手段（mechanisms）を使用する。
【０００３】
いくつかの送信機によって制御される手段またはプロトコルでは、各受信機がメッセージを無事に受信した場合に各受信機から送信機へ受領確認メッセージ（ACK）を送信することを要求し、送信機は、所定時間内に予期される全ての受領確認メッセージを受信したわけではない場合にブロードキャストメッセージを再送信するようになっている。受信機によって制御される手段は、予期されるメッセージを受信機が受信しなかった場合、メッセージのマルチキャストをさらに引き起こすために、通常、受領否定メッセージ（NAKs）を用いるようになっている。しかしながら、マルチキャストメッセージを再送信すると、送信機とすべての受信機との間のネットワーク負荷が増加する（つまり、送信機と各受信機との間の各径路のネットワーク負荷が増大する）。このことは、システム全体の安定性に影響を与えることなく、全ての受信機に対するトラフィックの増加がさらなるパケットロスによって補償される場合、音声または映像の配信にて許容され得る。なぜなら、パケットロスまたはメッセージロス（損失）が生じる場合、通常はストリームの品質が短時間低下するだけだからである。
【０００４】
しかし、ネットワーク負荷の増加（システム全体の不安定性をもたらし得る複数のネットワーク経路を介した予期しないメッセージの再送信等）に対して、はるかに要求の厳しい他のシステムがある。例えば、リアルタイムで、または、ほぼリアルタイムで大量のデータを分析（解析）する分析ネットワークまたはフレームワークは、１または複数のネットワークセグメントにおいて予定外または予期しない追加トラフィックに対してさらにいっそう脆弱である。
【０００５】
このような分析フレームワークの例として、センサーネットワークによって提供される分析済データに使用される分析フレームワークが挙げられ得る。センサーネットワーク、例えば、無線センサーネットワークは、広範囲の用途を有する。場所を特定するために、様々な技術を駆使した無線センサーネットワークが使われる事がある。例えば、人間やその他の物体の場所を特定したり、人間やその他の物体を追跡したりするために、無線センサーネットワークを使う事がある。ここで、「場所を特定する」とは、地理的な場所や位置を検出し、割り出す事を意味する。一方、追跡するとは、短時間の間隔をおいて、何度も場所を特定する事を意味する。このような追跡は、観察される物体の位置やその他の運動学的変数を、時間を追って取得するために行う。
【０００６】
例えば、サッカーやアメリカン・フットボールやラグビーやテニスなどのスポーツイベントで、選手や他の物体（例えばボールや競技用具）の場所を特定するために、専用の場所特定システムや位置追跡システムを使う事がある。このようなスポーツイベントでの観察物体（観察対象の物体）の急速な動きのために、観察される運動学的変数（位置、速度、加速度）の更新間隔は、信頼性の高い追跡を提供するために特に短くする必要がある。センサにおけるそのようなデータ転送速度の高速化によって、センサにおける未加工データの分析のために特に効率的なネットワークまたはフレームワークが要求されるかもしれない。なぜなら、様々なタスクが、全てのセンサの未加工データの様々な集合についての情報の把握を一度に必要とするからである。つまり、単一の有用な結論を引き出すか、関心の対象となる単一のイベント（a single event of interest）を検出するために、複数のセンサのデータが比較されなければならない。
【０００７】
この目的のために、単一のセンサに関連するデータは、当該データを処理する様々な要素、または、当該データを処理する受信機に配信される必要がある。これは、従属状態のレベルが異なる様々な階層で相互イベントを導出する階層分析手法を適用するイベントベースのシステムの場合である。一般的に、イベントとは、ある時点において瞬間的に起きた、興味を惹く出来事、と定義できる。イベントは、一般的に、センサで感知可能な、関係のある特定の量の変化と関連している。このイベントは、階層の基盤における基本イベント、若しくは、高次の階層における複合イベントであってもよい。基本イベントは、追跡システムのセンサのデータ（例えば運動学的データ）に直接基づいている。高次の階層の複合イベントは、以前に検出された他のイベントに基づく。階層的手法を使えば、複数の処理ノードがネットワークを介して通信している状態で、元になっているデータを並行して分析できるが、イベントもまた、その生成元（つまり単一の送信機）から複数の受信機へ送信されなければならないという問題が存続してしまう（なお、前記の複数の受信機は、それら自身のタスクを遂行するためにイベントの情報を必要とするものである）。しかし、イベントの再ブロードキャストなどに起因した予定外のネットワーク負荷が発生する場合、ネットワーク全体の遅延は分析フレームワークの全体が不安定になるような程度に減少することがある。特に、個々の受信機またはネットワークノードが必要な情報の時間内の受信に失敗する場合、検出されたイベントにエラーが発生することがある。それどころか、これは、誤ったイベントに依存している、より高い階層レベルの全ての関連ノードを通じて、エラーの伝搬を引き起こすかもしれず、その結果システム全体が不安定になることがある。
【０００８】
それゆえ、複数の受信機へのメッセージの送信を効果的に行う方法の提供が求められている。
【発明の概要】
【０００９】
本発明の一態様は、ネットワークを介して送信機から複数の受信機のセットへメッセージを伝送する方法であって、マルチキャストメッセージを前記複数の受信機へ送信する工程と、受信機のサブセットの各受信機から、各受信機において前記マルチキャストメッセージが受領されたことを示す各受領確認メッセージを受信する工程と、前記複数の受信機のセットのうち、前記受信機のサブセットに属さない受信機へユニキャストメッセージを送信する工程と、を含み、前記マルチキャストメッセージが、イベントベースの分析フレームワークにおいて第１のイベント検出部から第２のイベント検出部へ送信され、前記第１のイベント検出部によって検出されたイベントについての情報を含むことによって、前記の目的を達成する。特定の受信機に対するメッセージの配信が確認できないために再送信が必要とされるメッセージは、ユニキャストプロトコルによって、ユニキャストメッセージとして再送信される。それゆえ、送信機から特定の受信機へのネットワーク経路のみ、追加のトラフィックが得られる。このトラフィックは、残りの受信機に対してリンク上の追加の付加を与えるものではない。これは、ネットワーク全体の付加をかなり減少させることができ、ネットワークを使用若しくはネットワークに依存するシステムの信頼性低下の抑制、若しくは、当該システムの不安定化の抑制に役立つことができる。
【００１０】
この目的のため、マルチキャストメッセージは、複数の受信機へ向かうメッセージであり、マルチキャスト手段またはプロトコルを使用して送信されるものと理解される。マルチキャスト手段またはプロトコルは、ネットワークもしくはネットワーク機器（例えばネットワーク上のスイッチあるいはルータ等）が複数の受信機の集合の各受信機に対してメッセージを転送することを保証する。
【００１１】
メッセージは、通常、ネットワーク上の特定のリンクを経由して一度だけ送信される。このようなプロトコルの例として、ＩＰマルチキャストプロトコルが挙げられ（ＩＰはインターネットプロトコルの略である）、224.0.0.0 から239.255.255.255のＩＰｖ４アドレスを用いることで特定の受信機のセット若しくは集合を宛先指定する。ＩＰｖ６では、マルチキャストの目的で複数の受信機のグループを宛先指定するために、IFF00::/8で始まるどのアドレスも使用可能である。
【００１２】
そのようなわけで、ユニキャストメッセージは、マルチキャストメッセージは、１つの受信機のみへ向かうメッセージであり、ネットワークもしくはネットワーク機器が当該受信機に対してメッセージを転送することを保証するマルチキャスト手段またはプロトコルを使用して送信されるものと理解される。メッセージは、通常、送信機から受信機への単一経路上にてトラフィックを生成する。そのタイプのユニキャストプロトコルの例としては、ＴＣＰ（Transmission Control Protocol）若しくはＵＤＰ（User Datagram Protocol）が挙げられる。
【００１３】
メッセージは、パケット指向のデータ伝送プロトコルにおいてより大きな論理エンティティの内容の一部を含む単一のパケットであってもよい。しかしながら、メッセージという用語は、そのペイロードが複数のデータパケットにまたがることができ、論理的なエンティティ自体を指すことを理解すべきである。
【００１４】
受信機は、例えば、ネットワークを介して、送信機のノード、または、マルチコアマシン上の単一または複数のコア上で実行されている単一のプロセスに接続される演算ノードであってもよい。このため、ネットワークは、様々な装置またはコンピュータに接続されるネットワークであって、例えば、イーサネット（登録商標）、トークンリングネットワーク、より一般的にはＬＡＮ（Local Area Network）またはＷＡＮ（Wide Area Network）のいずれかの種類などである。しかし、ネットワークという用語は、例えば、マルチリンクＣＰＵコンピュータにおいて異なるＣＰＵ（Central Processing Unit）間の通信リンク若しくはネットワークを指すものとして理解される。
【００１５】
いくつかの実施形態によれば、前記ユニキャストメッセージは、前記マルチキャストメッセージが送信されてから所定期間経過後に送信される。つまり、メッセージを配信する最初の試みを行った後、送信機に対して全ての受領確認メッセージが到達可能になるような最小猶予期間の経過後にのみ再試行が実行される。いくつかの実施形態では、前記所定の期間（すなわち前記最小猶予期間）は、経時的に可変であり、判定されたネットワーク負荷に依存する。これは、ネットワークの混雑をもたらさずに早期にユニキャストメッセージを送信させつつ、トラフィック条件の変化に適切に対応し、且つ、最大スループットを確保するためである。
【００１６】
いくつかの実施形態によれば、前記複数の受信機のセットにおける各々の受信機の識別情報を含む加入者データと、前記受領確認メッセージに含まれており前記受信機のサブセットの各受信機に対応しており各受信機を識別するための識別情報とが比較される。これは、ユニキャストメッセージによる宛先指定がなされる受信機を割り出すためである。
【００１７】
加入者情報は、受信機を一意に識別可能な情報であればよく、例えば、受信機のＩＰアドレス、対応するネットワーク装置のＭＡＣ（Media-Access-Control-Address）、他のいずれかの任意の情報、または、フィンガープリント等が挙げられる。加入者データは、例えば、順序型（ordered）または非順序型（unordered）のリストとしてメッセージ識別情報と共に記憶されてもよい。メッセージ識別情報は、記憶されているメッセージ識別情報と、受領確認メッセージにおいて対応するメッセージ識別情報とを比較することで特定のメッセージを一意に識別するために用いられる。
【００１８】
このため、メッセージのメッセージ識別情報は、送信メッセージデータに追加されてもよい。送信メッセージデータは、マルチキャストメッセージとして送信された特定のメッセージのセットを識別するメッセージ識別情報を全て含む情報である。送信メッセージデータは、例えば、加入者データと一体となったリスト、加入者データと分離したリスト、あるいは、データベース内等の任意の適切なフォーマットで記憶されてもよい。メッセージ識別情報は、例えば、メッセージまたはメッセージの少なくとも一部を含むデータパケットについて計算されたハッシュ値であってもよい。あるいは、任意の他のフィンガープリントを、メッセージを識別するためのメッセージ識別情報として用いることもできる。
【００１９】
いくつかの実施形態によれば、加入しようとする受信機（すなわち受信機のセットに属することを求める受信機）の識別情報は、加入しようとする受信機からの伝送要求の受信後のみ、加入者データに追加される。これにより、本発明に係る送信機から複数の受信機のセットへのメッセージ伝送方法の実施形態と、さらなるマルチキャスト技術との並列使用が可能になる。さらに、マルチキャスト技術は、例えば、データを送信に使用されるネットワークによって提供されるようになっていてもよい。受信機の一部は、そのように本発明の一実施形態のセキュアな配信サービス（delivery）に加入可能である。その一方、他の受信機は、全体的なネットワーク負荷の利益のためにメッセージまたはパケット損失が受け入れられるセキュアでないブロードキャストに加入してもよい。
【００２０】
また、いくつかの実施形態によれば、この方法は有線ネットワークで行われ、この場合、個々の受信機及び送信者による共有メディアアクセス（shared media access）が行われないので、効率の点において特に利点が高い。
【００２１】
本発明のさらなる実施形態によれば、前記サブセットの受信機の数が前記複数の受信機のセットの受信機の数の所定割合よりも多い場合、再送信を必要とするメッセージが、ユニキャストメッセージの代わりにマルチキャストメッセージとして再び送信される。これは、マルチキャストの再送信が複数のユニキャストメッセージの再送信よりも効率的である場合（ネットワーク負荷を要因とするものに関して）、ネットワーク負荷のさらなる減少に役立ち得る。特定の一実施形態では、前記割合は半分であってもよいが、その一方で、他の実施形態では、例えば４分の１や３分の１の他の割合を用いることができる。
【００２２】
いくつかの実施形態によれば、前記メッセージは、イベントベースの分析フレームワークにおいて第１のイベント検出部（前記送信機）から第２のイベント検出部（前記受信機）へ送信され、さらに、前記メッセージは、第１のイベント検出部によって検出されたイベントについての情報を含む。イベントベースの分析フレームワークにおいて、データの大部分は、下位層の情報に依存しているため、下位の分析層のイベント検出部からより上位層のイベント検出部へ向かうメッセージの方向に流れることが可能になる。すなわち、この方向において低いネットワークトラフィックを維持するために不可欠である。しかし、これは、全ての受信機の中の１つのみがメッセージを受信していない場合、全ての受信機にメッセージを再ブロードキャストすることによって阻害されるであろう。しかし、メッセージの方向とは逆方向に受領確認メッセージを送信することは、特に完全な双方向ネットワークを使用して、歪みなく実現可能である。したがって、送信機から複数の受信機へメッセージを伝送する方法の一実施形態の利用は、イベントベースの分析フレームワークにおいて特に有利である。
【００２３】
本発明の実施形態によれば、ネットワークを介して送信機からのメッセージを受信する方法は、マルチキャストプロトコルによって送信機からの第１のメッセージを受信し、ユニキャストプロトコルによって送信機から第２のメッセージを受信するだけでなく、第１のメッセージの受領を示す第１の受領確認メッセージと、第２のメッセージの受領を示す第２の受領確認メッセージとを送信機へ送信するようになっている。第１のメッセージは、関連するアプリケーションに転送される。第１のメッセージと第２のメッセージとが同一である場合、第２のメッセージは関連するアプリケーションに転送されずに削除される。つまり、任意の先行するマルチキャストメッセージと異なる場合のみ、さらにユニキャストメッセージが配信または処理されてもよい。これは、先行する受領確認メッセージが送信機に到達していないため、送信機がメッセージをユニキャストメッセージとして再送信する場合であっても、受信機の関連するアプリケーションが１度だけメッセージを受信する事を保証する。関連するアプリケーションは、例えば、より高次のプログラムやデバイスなどを入力としてメッセージを用いる、任意のプロセスまたはエンティティであると理解される。一方でまた、この点に関して、ネットワークスタックの上位層も関連アプリケーションであると理解される。
【００２４】
本発明のいくつかの実施形態は、ユニキャストメッセージによって受信された第２のメッセージを識別する第２メッセージ識別情報との比較を行うために、第１メッセージを識別するための第１メッセージ識別情報を、受信メッセージデータに追加する工程を含む。受信メッセージデータは、マルチキャストプロトコルによって受信されたメッセージのセットを識別する識別情報を含む。メッセージ識別情報は、任意のアルゴリズムを使用して受信機で得られるか、メッセージ自体から抽出できる。メッセージ情報は、例えば、ハッシュ値または他の任意のタイプのフィンガープリントであってもよい。
【００２５】
本発明の実施形態によれば、マルチキャスト通信を効率的なマルチキャスト通信を変換するネットワークインタフェースは、複数の受信機のセットに向けて送信機から送られるマルチキャストメッセージを受信するように作動可能なアップリンク受信部に加えて、前記複数の受信機へ前記マルチキャストメッセージを送信するように作動可能なダウンリンクマルチキャスト送信部を備える。前記ネットワークインタフェースは、さらに、受信機のサブセットの各受信機から、各受信機にて前記メッセージが受領されたことを示す受領確認メッセージを受信するように作動可能なダウンリンク受信部を備える。前記ネットワークインタフェースは、さらに、前記複数の受信機のセットのうち、前記受信機のサブセットに属さない受信機へユニキャストメッセージを送信するように作動可能なダウンリンクユニキャスト送信部を備える。すなわち、ネットワークインタフェースは、包括的なマルチキャストをサポートするノードによって用いられる包括的且つ非効率なマルチキャストプロトコルを、上述した効率的且つセキュアなマルチキャストに変換するために使用されてもよい。損失したパッケージの再送信のためにマルチキャストメッセージを使用する標準的マルチキャストシステムと比較して、ネットワーク負荷は、単にネットワークインタフェースの一実施形態を挿入することによって減少させることができる。これは、通信用の送信機若しくは受信機自体を変更することなく達成できる。
【００２６】
上述の本発明の一実施形態をまとめると、例えば、既存のマルチキャストプロトコルまたはハードウェアを使用し、同時にパッケージ若しくはメッセージの安全な受領を保証する、セキュアな１：Ｎのマルチキャスト転送手段の確立を可能にする。これに関し、安全とは、その概念をＩＰベースのネットワークで実施する際に、基準となるＴＣＰと同程度の安全を指す。既存のマルチキャストシナリオと本発明の実施形態との間を接続するネットワークインタフェースの実施形態に関して、送信処理/送信ノード、受信処理/受信ノード、若しくは以前に備え付けられた全ての送信機および受信機において、全く変形を必要としないことに留意すべきである。個々の受信機は、ネットワークインタフェースのインストール後に、本発明の伝送サービスへ加入する加入手段を用いる。この加入手段は例えばＴＣＰ／ＩＰプロトコルを用いて実行可能である。
【図面の簡単な説明】
【００２７】
次に、装置や方法に係るいくつかの実施形態を例に挙げて説明する。その際、次の図面に言及する。
【図１】図1は、複数の受信機にメッセージを伝送する方法の一実施形態を実施するネットワーク全体の概要を示す。
【図２】図２は、複数の受信機にメッセージを伝送する方法の一実施形態のブロック図を模式的に示す。
【図３】図３は、送信機から受信機へのマルチキャストの例を模式的に示す。
【図４】図４は、図２の手法を実施する受信機と送信機とのブロック図を模式的に示す。
【図５】図５は、図２に示した方法における通信の方法を模式的に示す。
【図６】図６は、本発明の実施形態に係るメッセージを伝送する方法を模式的に示す。
【図７】図７は、本発明の実施形態に係る伝送装置のブロック図を示す。
【図８】図８は、本発明の実施形態に係るメッセージを受信する方法のブロック図を模式的に示す。
【図９】図９は、ネットワークを介して送信機からメッセージを受信する方法のさらなる実施形態のブロック図を模式的に示す。
【図１０】図１０は、本発明の実施形態に係る受信機のブロック図を示す。
【図１１】図１１は、ネットワークインタフェースの一実施形態のブロック図を示す。
【発明を実施するための形態】
【００２８】
図1は、複数の受信者にメッセージを送信する方法の一実施形態を構成するネットワークの例を示している。
【００２９】
図1の実施形態では、単一の送信機２が複数の受信機４ａ〜４ｄへメッセージを伝送する。ここでは、イーサネット（登録商標）ベースのローカルエリアネットワークを使用してメッセージが伝送される例を述べる。２つの典型的なスイッチ６ａ・６ａは、マルチキャストプロトコルが可能なスイッチやルータがいかにして動作するのかを示すために図示されているものである。スイッチ６ａ・６ａは、スイッチ６ａ・６ａのネットワークポート、または、宛て先となる受信機のグループに含まれる受信機を関連付けているネットワーク経路にのみメッセージを配信する。どの受信機が複数の受信機からなる特定グループに属しているのかを示す通知は、一般的なプロトコルまたは手段を使用して実行される。第１のスイッチ６ａに接続する第５の受信機８は、グループにサインインしていないため、受信機４ａ〜４ｄにブロードキャストされるいずれのメッセージも受信しない。
【００３０】
図１に示されるように、マルチキャストプロトコルによって受信機４ａ〜４ｄへの最初の伝送が行われ、その結果、ネットワークにおける必要なリンクのみを介してマルチキャストメッセージ１０が配信される。つまり、ノード８はメッセージのコピーを受信しない。図１に示す例において、受信機４ａ，４ｂ，４ｄは、メッセージ１０の受領を認める一方、受信機４ｃは、受領確認メッセージ１２を送信しない。受領確認メッセージ１２は、送信機２に届けられるものであり、個々の受信機によるメッセージの受領を示すものである。図１のネットワークにおいて、受信機は、例えばそれらのＩＰアドレスによって識別可能になっている。そのため、送信機は、どの受信機が未だマルチキャストメッセージ１０の受領を確認していないかの結論を出すために、送信機に記憶されているＩＰアドレスと、受領確認メッセージの送り主のＩＰアドレスとを比較するようになっていてもよい。なお、送信機に記憶されているＩＰアドレスとは、受信機４ａ〜４ｄのセットに含まれる各受信機の加入者データとして送信機に記憶されているものである。所定時間後に、送信機２は、受領確認メッセージを送信しなかった受信機４ｃについてはパケットロス（パケット損失）が生じたものと推測する。そのため、送信機は、スイッチ６ａと６ｂとの間のネットワークリンクを介して受信機４ｃへ配信されるユニキャストメッセージ１４を受信機４ｃへ送信するが、残りの受信機とスイッチとの間のリンクには追加トラフィックが全くみられない。
【００３１】
ユニキャストメッセージ１４の受領後、受信機４ｃは、第２の受領確認メッセージ１６を送信する。第２の受領確認メッセージ１６の受信によって、送信機２は、その加入者データにて保存されている最後の受信機がメッセージの受領を認めたと結論付ける。それゆえ、送信機２は、要求される全ての受信機がパッケージやメッセージを無事に受領したことを認めたため、メッセージと、この特定のメッセージのメッセージ識別情報に対応するエントリ（entries）とを送信機２のメモリから削除可能になる。
【００３２】
図２はメッセージを伝送する方法の実施形態を示す。この実施形態は図1のネットワークに組み込まれたものである。
【００３３】
伝送が開始された後、複数の受信機に対してマルチキャストメッセージが送信される。この複数の受信機は、メッセージの伝送サービス（method for transmitting）に加入しており、それゆえに送信機にてアドレス指定される受信機のセットのメンバーになっている。マルチキャストメッセージは、マルチキャスト工程２０で送信される。マルチキャストメッセージの送信後、受領工程２２において受領確認メッセージが受信される。
【００３４】
完全性チェック２４では、全ての受信機が受領確認メッセージを送信したか否かを例えば一定時間間隔でチェックしてもよい。すなわち、完全性チェック２４では、例えば一定時間間隔で、受領確認メッセージを送信した受信機のサブセットとマルチキャストメッセージが送信された受信機のセットとが同じか否かを一定時間間隔でチェックしてもよい。全ての受信機が受領確認メッセージを送信している場合（完了している場合）、メッセージ送信方法を終了する。そうでない場合、付随的な時間切れチェック工程２６において、マルチキャストが送信されてから所定期間が経過したか否かのチェックが行われる。所定期間が経過していない場合、更なる受領確認メッセージを受信するために受領工程２２に戻る。
【００３５】
しかしながら、所定期間が経過した場合、ユニキャスト工程２８において、受信機のセットのうち受信機のサブセットに属していない受信機にユニキャストメッセージが送信される。つまり、その時（所定期間経過時）まで受領確認メッセージを送信していない受信機は、ユニキャストプロトコルによって再伝送メッセージを受信する。
【００３６】
図３は、送信機に提供されるメッセージを伝送するサービス（method for transmitting）への加入を受信機が完了させた後における送信機２から受信機４ａへのマルチキャストメッセージの伝送を再度図示したものである。受信機（例えば図１の受信機４ａ）は、ＩＰによる信頼性の高い双方向通信として例えばＴＣＰメッセージ３０を用いて、送信機２によって提供される伝送サービス（transmission）に加入する。
【００３７】
加入によるメッセージの受信要望が送信機２に通知されると、送信機２は、加入期間において例えば調停される所定のメッセージングポート（例えばＩＰポート）を使用して、マルチキャストメッセージもしくはマルチキャストデータパケット３２を受信機に送信する。図３の個別の例では、受信機４ａは、ＵＤＰプロトコル、および、以前に調停もしくは派生されたポート番号を使用して、受領確認メッセージ３４を送信機に送信する。
【００３８】
図４は、イベントベースの分析フレームワーク内の複数の受信機のセットに送信者からメッセージを伝送する方法の適用例を示す。この具体例では、送信機４０は、データストリームに対して動作する第１のイベント検出部であり、この第１のイベント検出部は、データストリームに基づいて、関心の対象となるイベントである関心イベント（event of interest）を識別する。例えば、データストリームが観察物体の位置に関する位置情報を含む場合、観察物体が所定位置に近接するとイベントが検出されるようになっていてもよい。受信機４２は、第２のイベント検出部であり、伝送方法の実施形態によって送信機４０と通信する。図３で既に詳述したように、送信機４０はマルチキャストメッセージもしくはパケット３２を送信するものであり、この送信について、受信機４２は、ＵＤＰプロトコルを用いた受領確認パッケージ３４による受領確認を行うようになっている。
【００３９】
図４では、加入の仕組みがより詳細に示されている。図４の具体的な実施態様では、送信機４０の伝送サービス（transmission）に対する加入は、コアコネクタとして示される中間ネットワーク層やミドルウェアを用いて行われる。コアコネクタ４４および４６は、イベント検出部４０および４２に関連付けられ、それらの能力を通知するようになっている。すなわち、コアコネクタ４４および４６は、検出されたイベントの種類およびそれに関連するイベント検出部のさらなる機能について、マルチキャストまたはブロードキャスト通知メッセージ４８によって他のイベント検出器に知らせる。イベント検出部／送信機４０による情報提供サービス（information offered）への加入を受信機４２が要求する場合、ＴＣＰコネクション３０を用いて加入が行われる。通知および加入処理はコアコネクタ４４および４６によって実行（操作）される。送信機／イベント検出部４０のコアコネクタ４４は、受信機４２に関連付けられたコアコネクタ４６から加入要求を一旦受信すると、送信機４０の加入者データ５０に、受信機４２のＩＰアドレスまたは他の任意の識別情報を追加する。これにより、例えば、送信機４０は、加入している全ての受信機（宛先指定される複数受信機のセットにおける各受信機）がマルチキャストメッセージの受領を認めたか否かチェックすることが可能になる。
【００４０】
図５は、図４のイベント検出部または送信機４０が本発明の実施形態に係る伝送を確立するためにイベント受信機４２に関連するコアコネクタ４６とどのようにして相互作用するかを示した図である。既に述べたように、受信機４２のコアコネクタ４６は、ネットワーク５０を介して伝送されるＴＣＰメッセージ３０を用いることにより、送信機４０に関連するコアコネクタ４４から提供されるセキュアな伝送サービス（transmission）に加入する。コアコネクタ４６は、本発明の実施形態による、すべての伝送リンクを含むリストであるセキュアな加入システム（subscription）についての内部リストへ加入者（subscription）を追加する。コアコネクタ４６は、さらに、標準となる加入者のリストに対して加入者のリンク先を追加する（このリストは、ネットワーク自体が提供する手段によるマルチキャストのリストである）。この理由は、セキュアな伝送が、本発明の実施形態によって強化可能な標準的な伝送プロトコル若しくは手段を用いるからである。セキュアな伝送サービスに対する加入に関する情報、および関連する標準的加入に対する情報は、受信機４２における対応する要求を確認するためにイベント受信機４２に転送される。
【００４１】
図６は、図４の送信機４０が、どのようにして受信機のセットの受領確認メッセージを待ち、受領を確認した受信機のリストを管理しているかをより詳細に図示したものである。送信機４０は、まず、宛先とされる受信機のセットの一部である、ネットワーク７２の複数の受信機に、マルチキャストメッセージ７０を送信する。理解を容易にするために、図６においてネットワーク７２および関連する受信機は図示しない。図６は、図２に示したメッセージ伝送方法の一部のフローチャートを意味するに過ぎない。マルチキャストによってイベントに関する情報を有するメッセージを送信した後、送信されるメッセージのハッシュ値が工程７４で計算される。ハッシュ値は、キューなどにおいて、単純リストの形式で、保留中のイベントのリストとして、加入している受信者のリストと共に一緒に保存される。
【００４２】
所定時間の経過後、これまでに受領確認メッセージを送っていないすべての加入者を含むベクトル（vector）が工程７８にて作成される。ユニキャスト送信工程８０にて、ユニキャストプロトコルを使用して、工程７８にて生成されたリストの全ての受信機にメッセージを再送信する。その後、保留中のイベントのリストは、受領確認を受信した場合に継続的に更新される（例えば最後の受領確認メッセージ８２を受信した場合に保留中のメッセージのリストを削除できるようにする等）。
【００４３】
図７は、ネットワークを介して送信機から複数の受信機のセットへメッセージを伝送する伝送装置１００のブロック図を示す。
【００４４】
伝送装置１００は、複数の受信機にマルチキャストメッセージ１０４を送信するように作動可能なマルチキャスト送信部１０２を備える。
【００４５】
伝送装置１００は、さらに、受信機のサブセットに含まれる各受信機から、各受信機によるメッセージの受領を示す受領確認メッセージ１０８を受信するように作動可能な受信部１０６を備える。
【００４６】
ユニキャスト送信部１１０は、受信機のセットのうち、受信機のサブセットに属さない受信機に対しユニキャストメッセージ１１２を送信するように作動可能である。
【００４７】
個々に分離した機能ブロックが図７に示されているが、ユニキャスト送信部１１０およびマルチキャスト送信部１０２は、単一のハードウェア若しくは様々なプロトコルを利用可能なソフトウェア要素に実装されでもよい。ハードウェアに実装される送受信機は、ユニキャスト送信部１１０およびマルチキャスト送信部１０２の機能性は勿論のこと受信部１０６の機能性も含めたかたちで一体化させることができる。一般的に、ここでのみ示される機能ブロックは様々な実施形態の機能を説明するのに役立つ一方で、さらなる実施形態では、同じ機能が、ソフトウェアまたはハードウェア構成の機能要素において分散していてもよい。
【００４８】
図８は、ネットワークを介して送信機からメッセージを受信する方法の一実施形態のブロック図を模式的に示す。
【００４９】
受領工程１２０において、マルチキャストプロトコルによって送信機から第１のメッセージを受信し、ユニキャストプロトコルによって送信機から第２のメッセージを受信する。受領確認工程１２２において、第１の受領確認メッセージおよび第２の受領確認メッセージを送信機へ送信する。第１の受領確認メッセージは第１のメッセージの受領を示し、第２の受領確認メッセージは第２のメッセージの受領を示す。
【００５０】
メッセージ処理工程１２４において、第１のメッセージは関連するアプリケーションに転送されるが、第１のメッセージと第２のメッセージとが同一である場合、第２のメッセージは、関連するアプリケーションに転送されずに削除される。
【００５１】
図９は、ネットワークを介して送信機からメッセージを受信する方法のさらなる実施形態のブロック図を示す。第１の受信工程１３０において、マルチキャストプロトコルによって送信機から第１のメッセージを受信する。第１の受領確認ステップ１３２において、第１の受領確認メッセージが送信機に送信される。第１の受領確認メッセージは第１のメッセージの受領を示す。第１のメッセージ処理工程１３４において、第１のメッセージは、関連するアプリケーションに転送される。第１の受信工程１３６において、ユニキャストプロトコルによって送信機から第２のメッセージを受信する。第２の受領確認工程１３８において、第２の受領確認メッセージが送信機に送信される。第２の受領確認メッセージは第２のメッセージの受領を示す。比較工程１４０において、第1のメッセージが第２のメッセージと同一であるか否かが判定される。第１のメッセージが第２のメッセージと同一の場合、削除工程１４２において、第２のメッセージは、関連するアプリケーションに転送されず削除される。
【００５２】
第１のメッセージが第２のメッセージと同一でない場合、選択的な第２のメッセージ処理工程１４４において、第２のメッセージが、関連付けられたアプリケーションに転送され得る。
【００５３】
図１０は、本発明の実施形態に係る受信機１５０のブロック図を示す。前記の受信機は、マルチキャストプロトコルによって送信機から第１のメッセージを受信し、ユニキャストプロトコルによって送信機から第２のメッセージを受信するように作動可能である受信部１５２を備えている。さらに、受信機は、第1の受領確認メッセージと第２の受領確認メッセージとを送信機へ送信するように作動可能な送信部１５４を備える。第１の受領確認メッセージは第１のメッセージの受領を示し、第２の受領確認メッセージは第２のメッセージの受領を示す。さらに、受信機１５０は、第１のメッセージを関連するアプリケーションに転送し、且つ、第１のメッセージが第２のメッセージと同じである場合に第２のメッセージを削除するように作動可能なメッセージ処理部１５６を備える。この目的のために、メッセージ処理部１５６は、必要に応じて、直接的に受信部１５２と一体化されてもよい。
【００５４】
図１１は、マルチキャスト通信を効率的なマルチキャスト通信に変換するネットワークインタフェース１６０の実施形態のブロック図を示す。ネットワークインタフェース１６０は、送信機２から複数の受信機のセットに宛てられているマルチキャストメッセージ１６４を受信するように作動可能なアップリンク受信部１６２を備える。ネットワークインタフェース１６０は、さらに、複数の受信機にマルチキャストメッセージ１６８を送信するように作動可能なダウンリンクマルチキャスト送信部１６６を備える。ダウンリンク受信部１７０は、受信機のサブセットに属する各受信機から、各受信機によるメッセージの受領を示す各受領確認メッセージ１７２を受信するように作動可能である。ネットワークインタフェース１６０のダウンリンクユニキャスト送信部１７４は、受信機のセットのうち、受信機のサブセットに属さない受信機にユニキャストメッセージ１７６を送信するように作動可能である。
【００５５】
ネットワークインタフェース１６０は、必要に応じてアップリンク送信部１７８を備える。アップリンク送信部１７８は、送信機２に対してアップリンク受領確認メッセージ１８０を送信するように作動可能である。アップリンク受領確認メッセージ１８０は、受信機のサブセットからの、受信機によるメッセージの受領を示す。
【００５６】
上述の実施形態をまとめると、メッセージ若しくはイベントは、最初に、マルチキャストメッセージによって、すべての受信機、若しくは、宛先指定された全てのノードに対して送信される。これは、メッセージの割り当ておよび経路指定を行う残りのネットワーク機器（例えばネットワーク上の切替器およびルータ）がＩＰマルチキャストに従うものである場合、マルチキャストアドレス（例えばＩＰマルチキャストアドレスなど）に単一のメッセージを送信することにより達成されてもよいことを暗に示している。送信されるパッケージのためにハッシュ値が計算され、このハッシュ値はキューに格納される。受信機からの受領確認パッケージを受信するために特別な信号処理が使用される。受領確認パッケージは、受信機側で受信したパケットのハッシュ値を含む。このように、送信機のキューは、ある特定の受信機が特定のパケットを受信して受領を認めた事を示す情報を含む。所定の時間内に（過去の受領確認のパッケージの経験に基づいて適用可能な最小の再伝送間隔）、受信機が特定のパケットの受領を認めていない場合、パケット若しくはイベントは、ＵＤＰのようなユニキャストプロトコルを用いることで受信機に再び伝送される。
【００５７】
これは、ネットワーク内の他のノードが不必要に付加的なパケットを処理する必要がないことを保証する。いくつかの実施態様によれば、ＵＤＰメッセージのためのポートは、ポート番号に１を加えることによって、マルチキャストメッセージに使用されるポート番号から生成されてもよい。ＵＤＰポートを決定するためのさらなるアルゴリズムが実行されてもよい事はいうまでもない。たとえば、上記の複数のポートは、特別な管理メッセージによって動的に分散させてもよく、若しくは、受信機によるセキュアなマルチキャストに対する加入において調停が動的になされてもよい。セキュアなマルチキャストへの加入は、例えば、送信機においてＴＣＰ／ＩＰを使用して行い、例えば加入がセキュアに行われるようにすることができる。加入は、通常、セッションごとに一度だけ実行されるので、一回の加入のＴＣＰ／ＩＰ接続のオーバヘッドは許容され得る。受領確認メッセージが失われた場合、送信機はＵＤＰを使用してパケットの代わりにメッセージを再送信するであろう。したがって、ＵＤＰパケットを受信する受信機は、関連するパケットのハッシュ値が既に前もって確認されたか否かをチェックするように動作可能である。確認された場合、パッケージの内容（つまりメッセージ）は、関連するアプリケーションに転送されないが、その代わりに、例えば送信機のさらなる再伝送を避けるために、受領確認パッケージを再度伝送する間に削除される。
【００５８】
説明や図面は、本発明に係る原理の例を示しているにすぎない。したがって、これらの説明や図面に明示されていなくても、本発明に係る原理や趣旨に適合していて本発明の範囲に含まれているような様々な組み合わせを、当業者が作り出す事は可能であろう。さらに、上記の説明や図面に登場する全ての例は、主に教育的な目的で紹介されているにすぎない。つまり、これらの例は、本発明に係る原理や、当業者がどのような概念を創出して技術分野に貢献したかという事が、読者にとって理解しやすいものとなるように、提供されている。本発明は、明示されている特定の例や条件に限定されずに解釈されるべきである。さらに、本発明に係る原理や本発明の一態様や実施形態やそれらの具体例を紹介する全ての説明は、上記のものの均等物についても言及する事を意図して書かれている。
【００５９】
（特定の機能を果たす）「・・・のための手段」のように表現されている機能ブロックは、それぞれ、特定の機能を果たすために構成された電気回路を備える機能ブロックとして理解するものとする。したがって、「何かをするための手段」といった表現は、「何かに適している、あるいは、何かのために操作可能な手段」と理解する事ができる。したがって、特定の機能を果たすための手段は、必ずしも（ある特定の瞬間に）その機能を果たしているとは限らない。
【００６０】
図面に描かれている、機能ブロックなどの様々な構成要素の機能は、専用のハードウェアを使う事によって提供できる。専用のハードウェアの例として、プロセッサや、目的に適したソフトウェアと連動してソフトウェアを実行できるハードウェアが挙げられる。機能がプロセッサによって提供される場合、前記の機能は、一つの専用プロセッサ、一つの共有プロセッサ、あるいは、複数の個別のプロセッサによって提供されてもよい。前記複数の個別のプロセッサのうちのいくつかのプロセッサは、共有プロセッサであってもよい。さらに、「プロセッサ」や「制御部」という用語が使われていても、これらの用語は、ソフトウェアを実行できるハードウェアだけを意味すると解釈されるべきではない。「プロセッサ」や「制御部」という用語は、言外の意味として、例えば、次のものを含む事がある：デジタル・シグナル・プロセッサー（ＤＳＰ）ハードウェア、ネットワーク・プロセッサー、特定用途向け集積回路（ＡＳＩＣ）、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）、ソフトウェアを格納するための読み取り専用メモリ（ＲＯＭ）、ランダム・アクセス・メモリ（ＲＡＭ）、不揮発性記憶装置。従来から使われている他のハードウェアや、特別に設定されたハードウェアも「プロセッサ」や「制御部」という用語の意味に含まれてもよい。
【００６１】
本願で紹介されているブロック図は、本発明に係る原理の実施形態の具体例である電気回路を概念化した図であるという事を、当業者は理解すべきである。同様に、フローチャートや工程系統図や状態遷移図や擬似コードなどは、様々なプロセスの例を示している。これらのプロセスは、コンピュータで読み取れる媒体内で実質的に表される事があり、本願でコンピュータやプロセッサが紹介されていなくても、前記プロセスはコンピュータかプロセッサで実行される。
【００６２】
また、後述するクレームは、詳細な説明に組み込むものとする。一つ一つのクレームが、それぞれ独立した実施形態になり得るものとする。一方で、他の一つあるいは複数のクレームとの組み合わせについて言及している従属クレームがあるが、他の実施形態も、同様に、前記従属クレームと他の各従属クレームの内容との組み合わせを含む場合がある。そのような組み合わせは、本願で提示されているものとする。ただし、特定の組み合わせを外すという意図が明示されている場合は、その特定の組み合わせは本願の内容に含まれない。さらに、クレームに記載されている特徴点は、他のどの独立クレームにも含まれるという意図で記載されている。上記のクレームが特定の独立クレームを従属先として指定していなくても、その独立クレームは上記のクレームの特徴点を含むものとする。特に、従属クレームが符号器や送信機に言及している時、関連する符号器や送信機の、対応する特徴点も、明細書の開示内容の一部も、含まれるものとする。
【００６３】
そして、明細書やクレームに開示されている方法は、その方法の各工程を実施するための手段を備えた装置によって実行される事が可能である。
【００６４】
さらに、明細書やクレームに複数の工程や機能が開示されていても、それらを特定の順番で行うべきだとは限らない。したがって、複数の工程や機能が開示されていても、これらを特定の順番で行うべきだという限定は生じない。ただし、技術的な理由により工程や機能を互いに入れ替える事が不可能な場合を除く。
【００６５】
さらに、いくつかの実施形態では、一つの工程が複数のサブ工程を含んでいる場合がある。一つの工程を複数のサブ工程に分解できる場合もある。サブ工程を除く、と明記されていない限り、サブ工程も、開示されている単一の工程の一部に含まれるものとする。
【図１】
0005857135.tif 000002
【図２】
0005857135.tif 000003
【図３】
0005857135.tif 000004
【図４】
0005857135.tif 000005
【図５】
0005857135.tif 000006
【図６】
0005857135.tif 000007
【図７】
0005857135.tif 000008
【図８】
0005857135.tif 000009
【図９】
0005857135.tif 000010
【図１０】
0005857135.tif 000011
【図１１】
0005857135.tif 000012