(57)【要約】複数の非類似無線ネットワーク間でパケットをブロードキャストする方法が提供され、少なくとも１つのネットワークはブロードキャストを元来サポートし、少なくとも１つのネットワークはブロードキャストを元来サポートしない。方法は、パケットがブロードキャストされるものであるか否かを判断し（Ｓ１４）、パケットがブロードキャストされるべきものである場合、パケットのレシピエントを決定する（Ｓ１８）。そして、パケットがブロードキャストされることになるカレントネットワークが決定されたレシピエントに基づいて選択される（Ｓ２０）。その結果、カレントネットワークがブロードキャストをサポートするか否か判断される（Ｓ２４）。カレントネットワークがブロードキャストを元来サポートしない場合、パケットは、カレントネットワークにおいて各レシピエントへ個別に送られる（Ｓ３６）。カレントネットワークがブロードキャストを元来サポートする場合、カレントネットワークにおいてパケットがレシピエントへブロードキャストされる（Ｓ２６）。
2008517559.tif 000002
【特許請求の範囲】
【請求項１】
複数の非類似無線ネットワークを介してのみアクセス可能な複数のレシピエントに対してパケットをブロードキャストする方法であって、
パケットがブロードキャストされるものであるか判断し、
前記パケットがブロードキャストされるものであると判断された場合、前記パケットのレシピエントを決定し、
前記パケットがブロードキャストされることになる第１のカレントネットワークを、前記決定されたレシピエントに基づいて選択し、
前記第１のカレントネットワークを介してアクセス可能な前記レシピエントへ前記パケットを送り、
前記パケットがブロードキャストされることになる第２のカレントネットワークを、前記決定されたレシピエントに基づいて選択し、そして、
前記第２のカレントネットワークを介してアクセス可能な前記レシピエントへ前記パケットを送ることを特徴とする方法。
【請求項２】
前記第１及び第２のカレントネットワークをブロードキャスト可能リストから選択することをさらに有し、
前記ブロードキャスト可能リストが、ダイナミックに生成され、ブロードキャスト可能に構成された無線ネットワークを含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記ブロードキャスト可能リストを、初めに、ブロードキャストを元来サポートするネットワークを含め、後に、ブロードキャストを元来サポートしないネットワークを含めるように最適化することを特徴とする請求項２に記載の方法。
【請求項４】
前記レシピエントが、スタティックにあらかじめ設定されていることを特徴とする請求項１に記載の方法。
【請求項５】
無線ネットワークを通じて複数のレシピエントにパケットをブロードキャストする方法であって、
パケットがブロードキャストされるものであるか判断し、
前記パケットがブロードキャストされるものであると判断された場合、前記パケットのレシピエントを決定し、
前記パケットがブロードキャストされることになるカレントネットワークを、前記決定されたレシピエントに基づいて選択し、
前記カレントネットワークが、前記パケットによって表されるブロードキャストのタイプをサポートするか否かを判断し、
前記カレントネットワークが、前記パケットによって表されるブロードキャストのタイプをサポートしない場合、パケットを、前記パケットによって表されるブロードキャストのタイプから前記ネットワークによってサポートされるブロードキャストのタイプのものへ変更し、
前記ネットワークによってサポートされるブロードキャストのタイプを使った前記カレントネットワークを介して、前記パケットを前記レシピエントへ送ることを特徴とする方法。
【請求項６】
前記カレントネットワークがどのブロードキャストのタイプもサポートせず、
前記変更することは、前記パケットを各レシピエントに複製することを含み、     
前記送ることは、前記複製されたパケットを個別に各レシピエントへ送ることを含むことを特徴とする請求項５に記載の方法。
【請求項７】
前記パケットを受信する前に、前記パケットによって表されるブロードキャストのタイプをサポートしない前記ネットワークを設定することをさらに含む請求項５に記載の方法。
【請求項８】
複数の非類似無線ネットワークを通じて複数のレシピエントにパケットをブロードキャストする方法であって、
少なくとも１つのネットワークはブロードキャストをサポートせず、
パケットがブロードキャストされるものであるか判断し、
前記パケットがブロードキャストされるものであると判断された場合、前記パケットのレシピエントを決定し、
前記パケットがブロードキャストされることになるカレントネットワークを、前記決定されたレシピエントに基づいて選択し、
前記カレントネットワークがブロードキャストをサポートするか否か判断し、
前記カレントネットワークがブロードキャストをサポートしない場合、前記カレントネットワークにおいて前記パケットを各レシピエントに対して個別に送り、
前記カレントネットワークがブロードキャストをサポートする場合、前記カレントネットワークにおいて前記パケットを前記レシピエントへブロードキャストすることを特徴とする方法。
【請求項９】
さらに、ダイナミックにブロードキャスト可能リストを生成し、
前記ブロードキャスト可能リストが、ブロードキャスト可能に構成された無線ネットワークを含み、前記カレントネットワークが前記ブロードキャスト可能リストから選択されることを特徴とする請求項８に記載の方法。
【請求項１０】
さらに、前記許可ブロードキャストリストを、初めにブロードキャストを元来サポートするネットワークを含め、後に、ブロードキャストを元来サポートしないネットワークを含めるように最適化することを特徴とする請求項９に記載の方法。
【請求項１１】
さらに、仮想ブロードキャストアドレスに関連づけられる前記レシピエントを、スタティックにあらかじめ設定することを特徴とする請求項８に記載の方法。
【請求項１２】
複数の非類似無線ネットワークを介してのみアクセス可能な複数のレシピエントへパケットをブロードキャストするシステムであって、
前記パケットがブロードキャストされるものであるか判断するルータと、
前記パケットがブロードキャストされるものである場合、前記パケットを前記ルータから受けるブロードキャストシステムとを備え、
前記ブロードキャストシステムが、前記パケットのレシピエントを決定し、前記パケットがブロードキャストされることになる第１のカレントネットワークを前記決定されたレシピエントに基づいて選択し、そして、ブロードキャストされる第１のパケットを前記ルータへ戻し、
前記ルータが、前記第１のカレントネットワークを介してアクセス可能な前記レシピエントへ前記第１のパケットを送り、
前記ブロードキャストシステムが、第２のパケットがブロードキャストされることになる第２のカレントネットワークを前記決定されたレシピエントに基づいて選択し、そして、
前記ルータが、前記第２のカレントネットワークを介してアクセス可能な前記レシピエントに対して前記第２のパケットを前記第２のカレントネットワークで送ることを特徴とするシステム。
【請求項１３】
複数の非類似無線ネットワークを介してのみアクセス可能な複数のレシピエントへパケットをブロードキャストするための装置であって、
前記パケットがブロードキャストされるものであるか判断する判断システムと、
前記パケットがブロードキャストされるべきである場合、前記パケットを前記ルータから受けるブロードキャストシステムであって、前記パケットのレシピエントを決定し、前記パケットがブロードキャストされることになる第１のカレントネットワークを前記決定されたレシピエントに基づいて選択し、そして、ブロードキャストされる第１のパケットを前記ルータへ戻すブロードキャストシステムと、
前記第１のカレントネットワークを介してアクセス可能な前記レシピエントへ前記第１のパケットを送る転送部とを備え、
前記ブロードキャストシステムが、第２のパケットがブロードキャストされることになる第２のカレントネットワークを前記決定されたレシピエントに基づいて選択し、そして、
前記転送部が、前記第２のカレントネットワークを介してアクセス可能な前記レシピエントに対して前記第２のパケットを前記第２のカレントネットワークで送ることを特徴とする装置。
【請求項１４】
複数の非類似無線ネットワークを介してのみアクセス可能な複数のレシピエントへパケットをブロードキャストするためのプログラムを格納するコンピュータ読み取り可能な記録媒体であって、
前記パケットがブロードキャストされるものであるか判断する判断コードセグメントと、
前記パケットがブロードキャストされるものであると判断された場合、前記パケットのレシピエントを決定するレシピエントコードセグメントと、
前記パケットがブロードキャストされることになる第１のカレントネットワークを、前記決定されたレシピエントに基づいて選択し、また、前記パケットがブロードキャストされることになる第２のカレントネットワークを、前記決定されたレシピエントに基づいて選択するネットワーク選択コードセグメントと、
前記第１のカレントネットワークを介してアクセス可能な前記レシピエントへ前記パケットを送り、そして、前記第２のカレントネットワークを介してアクセス可能な前記レシピエントへ前記パケットを送る転送コードセグメントと
を備えたことを特徴とする記録媒体。
【請求項１５】
前記ネットワーク選択コードセグメントが、前記第１及び第２のカレントネットワークをブロードキャスト可能リストから選択し、
前記ブロードキャスト可能リストが、ダイナミックに生成され、ブロードキャスト可能に構成された無線ネットワークを含むことを特徴とする請求項１４に記載の記録媒体。
【請求項１６】
前記ブロードキャスト可能リストを、初めに、ブロードキャストを元来サポートするネットワークを含め、後に、ブロードキャストを元来サポートしないネットワークを含めるように最適化する最適コードセグメントを更に有することを特徴とする請求項１５に記載の記録媒体。
【請求項１７】
仮想ブロードキャストアドレスに関連する前記レシピエントを、あらかじめ静的に設定するネットワーク設定コードセグメントをさらに有することを特徴とする請求項１４に記載の記録媒体。
【請求項１８】
無線ネットワークを通じて複数のレシピエントにパケットをブロードキャストするためのプログラムを格納するコンピュータ読み取り可能な記録媒体であって、
パケットがブロードキャストされるものであるか判断する判断コードセグメントと、
前記パケットがブロードキャストされるものであると判断された場合、前記パケットのレシピエントを決定するレシピエントコードセグメントと、
前記パケットがブロードキャストされることになるカレントネットワークを、前記決定されたレシピエントに基づいて選択するネットワーク選択コードセグメントと、
前記カレントネットワークが前記パケットによって表されるブロードキャストのタイプをサポートするか否かを判断するネットワークサポートコードセグメントと、
前記カレントネットワークが前記パケットによって表されるブロードキャストのタイプをサポートしない場合、パケットを、前記パケットによって表されるブロードキャストのタイプのものから前記ネットワークによってサポートされるブロードキャストのタイプのものへ変更する変更コードセグメントと、
前記ネットワークによってサポートされるブロードキャストのタイプを使った前記カレントネットワークを介して、前記パケットを前記レシピエントへ送る転送コードセグメントと
を備えたことを特徴とする記録媒体。
【請求項１９】
複数の非類似無線ネットワークを通じて複数のレシピエントにパケットをブロードキャストするためのプログラムを格納するコンピュータ読み取り可能な記録媒体であって、
少なくとも１つのネットワークはブロードキャストをサポートせず、
パケットがブロードキャストされるものであるか判断する判断コードセグメントと、
前記パケットがブロードキャストされるものであると判断された場合、前記パケットのレシピエントを決定するレシピエントコードセグメントと、
前記パケットがブロードキャストされることになるカレントネットワークを、前記決定されたレシピエントに基づいて選択するネットワーク選択コードセグメントと、
前記カレントネットワークがブロードキャストをサポートするか否か判断するネットワークサポートコードセグメントと、
前記カレントネットワークがブロードキャストをサポートしない場合、前記カレントネットワークにおいて前記パケットを各レシピエントに対して個別に送る転送コードセグメントと、
前記カレントネットワークがブロードキャストをサポートする場合、前記カレントネットワークにおいて前記パケットを前記レシピエントへブロードキャストするブロードキャストコードセグメントと
を備えたことを特徴とする記録媒体。
【請求項２０】
ダイナミックにブロードキャスト可能リストを生成するリスト生成コードセグメントをさらに有し、
前記ブロードキャスト可能リストが、ブロードキャスト可能に構成された無線ネットワークを含み、前記カレントネットワークが前記ブロードキャスト可能リストから選択されることを特徴とする請求項１９に記載の記録媒体。
【請求項２１】
前記リスト生成コードセグメントが、前記ブロードキャスト可能リストを、初めにブロードキャストを元来サポートするネットワークを含め、後にブロードキャストを元来サポートしないネットワークを含めるように最適化することを特徴とする請求項２０に記載の記録媒体。
【請求項２２】
仮想ブロードキャストアドレスに関連するレシピエントを、あらかじめ静的に設定するネットワーク設定コードセグメントをさらに有することを特徴とする請求項１９に記載の記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、無線通信分野に関する。特に、本発明は、モバイルユーザが複数の非類似無線ネットワーク間でシームレスにローミングする場合にネットワークでデータをブロードキャスト通信することに関する。
【背景技術】
【０００２】
ここ１０年、無線ネットワークによって、携帯利用労働者の日々の行動は統合されてきた。多くの組織が、労働者の生産性を向上させるため、無線ネットワークの使用を通じて実質的なコスト削減を実現した。また、多くのケースにおいて、無線ネットワークがコストを削減し、会社の顧客へ提供するサービスの種類を増やすことに役立つことが証明されている。
【０００３】
無線通信会社は、ＧＰＲＳ、ＥＤＧＥ、１ｘＲＴＴ、そして１ｘＥｖＤＯのような第３世代ネットワークを作るために数十億ドルを費やした。８０２．１１無線ＬＡＮの使用が世界中で急増している。そして今、ＲＤ−ＬＡＰ、ＥＤＡＣＳのような多くのプライベート無線周波数（ＲＦ）ネットワーク、そして従来型の長距離ネットワークが、世界中を通して何百万の公益事業及び公共安全（public safety）の労働者によって使用されるネットワークとして存在する。そして、Ｗｉｍａｘ、ＵＭＴＳなどのより新しい無線ネットワークが、企業、サービスプロバイダへ配置され始めている。    
【０００４】
無線ネットワーク界に対して明確なアドバンテージをもつ多数の有線ネットワークにある特徴は、ブロードキャストである。ブロードキャストは、同じメッセージを各ユーザに送信しなければならないとき、ユーザにメッセージを送る最も有効な方法である。個々のメッセージを各ユーザへ送信する代わりに、一つのメッセージをすべてのユーザへ同時に送信することができる。多くの有線アプリケーションは、主にマルチメディア空間において、マルチキャストのような現在ある標準技術を使ったブロードキャスト性能（capability）を一般的に利用している。
【０００５】
様々な種類の公共安全、ファーストレスポンダー（first responder）、フィールドフォース自動アプリケーション(field force automation applications)では、ブロードキャスト性能がモバイルユーザの生産性を改善する。例えば、モバイルユーザに対してすぐに状況および適切な行動について警報するため、１つの警告メッセージをすべてのモバイルユーザにブロードキャストすることができる。単一のブロードキャストは、１つの転送だけが電波を通じて使用されるため、無線に有益である。ブロードキャスト性能を強化する（lever5age）ことによって、アプリケーション提供者は、無線通話時間の量を減少させることができ、それによって他のアプリケーショントラフィックに対してより多くのスループットおよび帯域幅を提供する。
【０００６】
残念ながら、無線ネットワークにおけるブロードキャスト問題は、非常に複雑である。
一つには、無線ネットワークすべてがブロードキャスト性能をサポートしているわけではいないことにある。多くの無線ネットワークは、ネットワークを通じてブロードキャストのトラフィックがレプリケーション可能となるように作られていない。従って、あるアプリケーションがブロードキャストをサポートしていた場合、ブロードキャスト性能のないネットワークのために特徴を消さなければならない。そしてアプリケーションは、どの無線設備が使用されているかを理解し、選択的にブロードキャスト機能を起動させることが要求される。
仮に、無線ネットワークがブロードキャスト用ネットワークであるか検出するためアプリケーション修正が必要となると、アプリケーション開発ソースにおいて相当な投資を要求することになるだろう。加えて、アプリケーションは、カスタマイズされたものであって、ネットワーク独立でない。
【０００７】
無線ネットワークでのブロードキャストにおける第２の問題は、モバイルユーザが非類似無線ネットワーク間でローミングするときに生じる。米国特許第６，１９８，９２０号明細書（ドビエックその他、発明の名称“遠隔装置とホストシステム間のデータのインテリジェントルーティング”）、そして米国特許第６，４１８，３２４号明細書（ドビエックその他、発明の名称“遠隔装置とホストシステム間のトランスペアレントな無線通信装置およびその方法”）といった特許（その開示内容全体は本明細書にそのまま参照されて組み入れられている）には、改善されたマルチネットワークの同時利用が開示されている。このシステムでは、ユーザは非類似ネットワーク間でシームレスにローミングすることができる。したがって、モバイルワーカーが第１のネットワークの範囲外へ移動しても、モバイルワーカーは第２の無線ネットワークにおいて通信を続けることができる。モバイルユーザローミングの例では、アプリケーションが無線ネットワークの特徴を理解しておらず、そのため、モバイルユーザにパケットをブロードキャストすることができない。モバイルユーザが無線ネットワークを切り替えているため、メッセージをどこにブロードキャストすべきであるかアプリケーションはわからない。加えて、モバイルユーザがブロードキャストをサポートするネットワークからサポートしないネットワークへローミングする時をアプリケーションが認識しなければならない問題がある。
【０００８】
無線ネットワークにおけるブロードキャスト性能は、無線アプリケーションに対して非常に有用であるけれども、特別なブロードキャスト性能を無線アプリケーションに組み立てることは非常に高価であり、アプリケーションによる無線ネットワークを特別なものにしてしまう。このことは、無線アプリケーションの採用を少なくし、より深刻にはアプリケーションをネットワーク依存にしてしまうことであり、これによって無線アプリケーションの一般的採用が遅くなる。
【発明の開示】
【発明が解決しようとする課題】
【０００９】
したがって、無線ネットワークにおいてブロードキャストを可能にする必要がある。さらに、標準化されたブロードキャスト方法を使ってアプリケーションが無線ネットワークでのブロードキャストを自動的に強化できるシステムが必要である。加えて、グループ内のユーザがちょうど異なった無線ネットワークを使用しているとき、そのユーザのいるグループへメッセージをブロードキャストできる必要性がある。加えて、ブロードキャスト性能をサポートしない無線ネットワークにおいてブロードキャスト可能なアプリケーションが機能できる必要がある。そして、複数の無線ネットワークにおいて、エンドユーザ、アプリケーション、そしてそれらを含む無線設備に対してトランスペアレントなブロードキャスト性能を提供するシステムが必要である。
【課題を解決するための手段】
【００１０】
前述の観点から、本発明は、アプリケーションが無線、有線両方を含むマルチネットワーク上でモバイルユーザに対しブロードキャストできることに向けられている。本発明は、マルチネットワークブロードキャストとして具現化されるものとして、モバイルデータユーザが現在使用されているネットワークに関係なくブロードキャストされたパケットを受信できるようにする。
【００１１】
本発明の一態様によれば、複数の非類似無線ネットワークを介してのみアクセス可能な複数のレシピエントに対してパケットをブロードキャストする方法が提供される。方法は、パケットがブロードキャストされるものであるか判断し、パケットがブロードキャストされるものであると判断された場合、パケットのレシピエントを決定し、パケットがブロードキャストされることになる第１のカレントネットワークを、決定されたレシピエントに基づいて選択し、第１のカレントネットワークを介してアクセス可能なレシピエントへパケットを送ることを含む。方法はまた、パケットがブロードキャストされることになる第２のカレントネットワークを、決定されたレシピエントに基づいて選択し、そして、第２のカレントネットワークを介してアクセス可能なレシピエントへパケットを送ることを含む。
【００１２】
一例では、第１及び第２のカレントネットワークがブロードキャスト可能リスト（Allowable Broadcast List）から選択され、ブロードキャスト可能リストが、ダイナミックに生成され、ブロードキャスト可能に構成された無線ネットワークを含む。ブロードキャスト可能リストが、初めにブロードキャストを元来サポートするネットワークを含み、後に、ブロードキャストを元来サポートしないネットワークを含むように、最適化が行われる。一例では、レシピエントが、静的にあらかじめ設定されている。
【００１３】
他の態様では、無線ネットワークを通じて複数のレシピエントにパケットをブロードキャストする方法が提供される。方法は、パケットがブロードキャストされるものであるか判断し、パケットがブロードキャストされるものであると判断された場合、パケットのレシピエントを決定することを含む。さらに方法は、パケットがブロードキャストされることになるカレントネットワークを、決定されたレシピエントに基づいて選択し、カレントネットワークが、パケットによって表されるブロードキャストのタイプをサポートするか否かを判断することを含む。カレントネットワークが、パケットによって表されるブロードキャストのタイプをサポートしない場合、パケットは、パケットによって表されるブロードキャストのタイプからネットワークによってサポートされるブロードキャストのタイプのものへ変更される。さらに方法は、ネットワークによってサポートされるブロードキャストのタイプを使ったカレントネットワークを介して、パケットをレシピエントへ送ることを含む。
【００１４】
カレントネットワークがどのブロードキャストのタイプもサポートしない場合、変更することは、パケットを各レシピエントにレプリケーションすることを含み、送ることは、複製されたパケットを個別に各レシピエントへ送ることを含む。方法はまた、パケットを受信する前に、パケットによって表されるブロードキャストのタイプをサポートしないネットワークを設定することを含んでもよい。
【００１５】
複数の非類似無線ネットワークを通じて複数のレシピエントにパケットをブロードキャストする方法が提供され、なくとも１つのネットワークはブロードキャスト通信をサポートしない。方法は、パケットがブロードキャストされるものであるか判断し、パケットがブロードキャストされるものであると判断された場合、パケットのレシピエントを決定することを含む。そして、パケットがブロードキャストされることになるカレントネットワークが、決定されたレシピエントに基づいて選択される。その結果、カレントネットワークがブロードキャストをサポートするか否か判断される。カレントネットワークがブロードキャストを本来サポートしない場合、カレントネットワークにおいてパケットが各レシピエントに対して個別に送信される。カレントネットワークがブロードキャストをサポートする場合、カレントネットワークにおいてパケットがレシピエントへブロードキャストされる。
【００１６】
方法はまた、ダイナミックにブロードキャスト可能リストを生成することを含み、ブロードキャスト可能リストが、ブロードキャスト可能に構成された無線ネットワークを含んでもよく、カレントネットワークがブロードキャスト可能リストから選択される。さらに方法は、許可ブロードキャストリストを、初めにブロードキャストを元来サポートするネットワークを含め、後に、ブロードキャストを元来サポートしないネットワークを含めるように最適化することを含んでもよい。方法はまた、仮想ブロードキャストアドレスに関連づけられるレシピエントを、スタティックにあらかじめ設定することを含んでもよい。
【００１７】
他の態様として、複数の非類似無線ネットワークを介してのみアクセス可能な複数のレシピエントへパケットをブロードキャストするシステムが提供される。システムは、パケットがブロードキャストされるものであるか判断するルータと、ブロードキャストシステムを備える。ブロードキャストシステムは、パケットがブロードキャストされるものである場合、パケットをルータから受け、パケットのレシピエントを決定し、パケットがブロードキャストされることになる第１のカレントネットワークを決定されたレシピエントに基づいて選択し、そして、ブロードキャストされる第１のパケットをルータへ戻す。ルータは、第１のカレントネットワークを介してアクセス可能なレシピエントへ第１のパケットを送る。ブロードキャストシステムはまた、第２のパケットがブロードキャストされることになる第２のカレントネットワークを決定されたレシピエントに基づいて選択する。ルータはまた、第２のカレントネットワークを介してアクセス可能なレシピエントに対して第２のパケットを第２のカレントネットワークで送る。
【００１８】
他の態様として、複数の非類似無線ネットワークを介してのみアクセス可能な複数のレシピエントへパケットをブロードキャストするための装置が提供される。装置は、パケットがブロードキャストされるものであるか判断する判断システムと、パケットがブロードキャストされるべきである場合、パケットをルータから受けるブロードキャストシステムであって、パケットのレシピエントを決定し、パケットがブロードキャストされることになる第１のカレントネットワークを決定されたレシピエントに基づいて選択し、そして、ブロードキャストされる第１のパケットをルータへ戻すブロードキャストシステムとを備える。装置はまた、第１のカレントネットワークを介してアクセス可能なレシピエントへ第１のパケットを送る転送部を備える。ブロードキャストシステムは、第２のパケットがブロードキャストされることになる第２のカレントネットワークを決定されたレシピエントに基づいて選択し、そして、転送部は、第２のカレントネットワークを介してアクセス可能なレシピエントに対して第２のパケットを第２のカレントネットワークで送る。
【００１９】
他の態様として、複数の非類似無線ネットワークを介してのみアクセス可能な複数のレシピエントへパケットをブロードキャストするためのプログラムを格納するコンピュータ読み取り可能な記録媒体が提供される。記録媒体は、パケットがブロードキャストされるものであるか判断する判断コードセグメントと、パケットがブロードキャストされるものであると判断された場合、パケットのレシピエントを決定するレシピエントコードセグメントとを備える。記録媒体はまた、パケットがブロードキャストされることになる第１のカレントネットワークを、決定されたレシピエントに基づいて選択し、また、パケットがブロードキャストされることになる第２のカレントネットワークを、決定されたレシピエントに基づいて選択するネットワーク選択コードセグメントを備える。記録媒体はまた、第１のカレントネットワークを介してアクセス可能なレシピエントへパケットを送り、そして、第２のカレントネットワークを介してアクセス可能なレシピエントへパケットを送る転送コードセグメントを備える。
【００２０】
ネットワーク選択コードセグメントは、第１及び第２のカレントネットワークをブロードキャスト可能リストから選択することができ、ブロードキャスト可能リストが、ダイナミックに生成され、ブロードキャスト可能に構成された無線ネットワークを含む。記録媒体はまた、記ブロードキャスト可能リストを、初めに、ブロードキャストを元来サポートするネットワークを含め、後に、ブロードキャストを元来サポートしないネットワークを含めるように最適化する最適コードセグメントを含んでもよい。記録媒体はまた、仮想ブロードキャストアドレスに関連するレシピエントを、あらかじめ静的に設定するネットワーク設定コードセグメントを含んでもよい。
【００２１】
他の態様として、無線ネットワークを通じて複数のレシピエントにパケットをブロードキャストするためのプログラムを格納するコンピュータ読み取り可能な記録媒体が提供される。記録媒体は、パケットがブロードキャストされるものであるか判断する判断コードセグメントと、パケットがブロードキャストされるものであると判断された場合、パケットのレシピエントを決定するレシピエントコードセグメントとを備える。記録媒体はまた、パケットがブロードキャストされることになるカレントネットワークを、決定されたレシピエントに基づいて選択するネットワーク選択コードセグメントと、カレントネットワークがパケットによって表されるブロードキャストのタイプをサポートするか否かを判断するネットワークサポートコードセグメントとを備える。さらに記録媒体は、カレントネットワークがパケットによって表されるブロードキャストのタイプをサポートしない場合、パケットを、パケットによって表されるブロードキャストのタイプのものからネットワークによってサポートされるブロードキャストのタイプのものへ変更する変更コードセグメントと、ネットワークによってサポートされるブロードキャストのタイプを使ったカレントネットワークを介して、パケットをレシピエントへ送る転送コードセグメントとを備える。
【００２２】
他の態様として、複数の非類似無線ネットワークを通じて複数のレシピエントにパケットをブロードキャストするためのプログラムを格納するコンピュータ読み取り可能な記録媒体が提供さ、少なくとも１つのネットワークはブロードキャストをサポートされない。記録媒体は、パケットがブロードキャストされるものであるか判断する判断コードセグメントと、パケットがブロードキャストされるものであると判断された場合、パケットのレシピエントを決定するレシピエントコードセグメントとを備える。記録媒体はまた、パケットがブロードキャストされることになるカレントネットワークを、決定されたレシピエントに基づいて選択するネットワーク選択コードセグメントと、カレントネットワークがブロードキャストをサポートするか否か判断するネットワークサポートコードセグメントとを備える。さらに記録媒体は、カレントネットワークがブロードキャストをサポートしない場合、カレントネットワークにおいてパケットを各レシピエントに対して個別に送る転送コードセグメントと、カレントネットワークがブロードキャストをサポートする場合、カレントネットワークにおいてパケットをレシピエントへブロードキャストするブロードキャストコードセグメントとを備える。
【００２３】
記録媒体はまた、ダイナミックにブロードキャスト可能リストを生成するリスト生成コードセグメントをさらに含んでもよく、ブロードキャスト可能リストが、ブロードキャスト可能に構成された無線ネットワークを含み、カレントネットワークがブロードキャスト可能リストから選択される。リスト生成コードセグメントは、ブロードキャスト可能リストを、初めにブロードキャストを元来サポートするネットワークを含め、後にブロードキャストを元来サポートしないネットワークを含めるように最適化することができる。記録媒体はまた、仮想ブロードキャストアドレスに関連するレシピエントを、あらかじめ静的に設定するネットワーク設定コードセグメントを含んでもよい。
【００２４】
本発明は、本発明の限定しない好適な例による図面を参照しながら以下に続く詳細な説明に記載され、図面における同じ参照符号は、一連の図面を通して同じ構成要素を表す。
【発明を実施するための最良の形態】
【００２５】
マルチネットワークブロードキャストでは、無線ネットワークが各モバイルユーザに使用されていることに関係なく、アプリケーションがモバイルユーザへメッセージをブロードキャストすることができる。システムは、アプリケーションからのブロードキャストされたメッセージを自動的に受信し、異なる無線ネットワーク間でメッセージをモバイルユーザに対してブロードキャストすることを決定する。ソリューションの柔軟性は、アプリケーションによってブロードキャストされた同じパケットを異なった無線ネットワーク上で異なったユーザが受信できる性能を提供する。加えて、ブロードキャスト可能なネットワーク上にいないモバイルユーザがいても、ブロードキャストされたパケットを受信することができる。
【００２６】
ブロードキャスト通信は、何年もの間、インターネットプロトコル（ＩＰ）を使用する有線システムで利用可能であった。ブロードキャスト通信を強化する最も簡単な方法の一つに、インターネットプロトコル内に構築されるブロードキャストアドレスの使用がある。ＩＰアドレスは、ネットワークＩＤとホストＩＤから成る。ネットワークＩＤは、機器が構成員となる唯一のネットワークを識別する。ホストＩＤは、個々の機器を特定する唯一のアドレスである。ホストＩＤがすべて２進数で“１”に設定されると、そのアドレスはブロードキャストアドレスになる。そして、このアドレスは、ネットワークＩＤ内の各機器に対して指示されたメッセージを送信するのに使用可能である。
【００２７】
例として、ネットワークが１９２．１６８．１．０と１９２．１６８．１．２５５の間のＩＰアドレスで作られた場合、アドレス１９２．１６８．１がネットワークＩＤに定められるため、ブロードキャストアドレスは１９２．１６８．１．２５５である。アプリケーションがネットワーク内のコンピュータすべてにメッセージを送信したい場合、アプリケーションはメッセージを１９２．１６８．１．２５５に向け、すべての機器がメッセージを受信する。
【００２８】
その他の一般的ブロードキャストの形式は、ＩＰマルチキャストの使用である。上述したブロードキャストアドレスを使用している間、ネットワークのメンバーだけがブロードキャストパケットを受信できる。ＩＰマルチキャストでは、別々の物理ネットワークにまたがるユーザへパケットが導かれる。加えて、ＩＰマルチキャストグループのメンバー関係は、ダイナミックである。これは、モバイルユーザがいつでもグループに参加し、脱退ことができることを意味する。マルチキャストのダイナミックな性質は、データを複数のユーザへブロードキャストするのにマルチキャストを好ましい方法とする。
【００２９】
ブロードキャストされたパケットを送信するための上述した２つの方法は重要な意味をもち、なぜなら、本発明の一態様が、無線ネットワークに渡ってブロードキャストを可能にする標準を強化するからである。上述した２つの特徴に加え、その他の方法をアプリケーションプロバイダによって使用することもできる。本実施形態では、各グループのメンバーをスタティックに設定し、仮想ＩＰアドレスをそのブロードキャストのグループに割り当てる方法が提供される。仮想ＩＰアドレスへ向けられたパケットは、いずれもグループ内のユーザすべてに対して自動的にブロードキャストされる。
【００３０】
開示されたシステムがブロードキャストを生成するための３つの主な方法を記載する一方、ブロードキャストされるメッセージを生成する任意の方法が提供可能である。例えば、実施形態は、ブロードキャストされたパケットをシステムに送るためにアプリケーションプロバイダによって使用されるＡＰＩを定めればよい。その他の実施形態では、アプリケーションは、特定のＩＰアドレスおよびポート番号を目標として定め、ブロードキャストされたパケットをシステムへ送ればよい。システムは、ユーザの居場所に関係なくユーザすべてにブロードキャスト可能な最も効率のよい方法でパケットがブロードキャストされることを確実にする。
【００３１】
図１は、モバイルユーザ１へ緊急通知を送るためにブロードキャスト通信を使った一例を示す。パブリックセーフティアプリケーション２は、“緊急！”というブロードキャストメッセージを生成する。メッセージ３は、ユーザ１にメッセージ３を配信する責任のあるブロードキャストゲートウェイ４を流れる。ブロードキャストゲートウェイ４は、どのユーザがどのグループに属し、どのユーザが今現在どの無線ネットワーク５、６と関係しているかを認識する。ブロードキャストゲートウェイ４は、ネットワーク５，６によって要求されるフォーマットでデータ３を異なるネットワーク５、６間に渡って送信する。一例では、無線プライベートネットワーク６が、ブロードキャスト性能をサポートし、ネットワーク本来のブロードキャスト性能が使用される。しかしながら、無線公共ネットワーク５は、ブロードキャスト通信をサポートしない。したがって、ブロードキャストゲートウェイ４は、ネットワーク５を通じてアクセス可能なグループ１内の各モバイルユーザに対し、パケット３を手動でレプリケーションする。上述した機能性は、アプリケーション２に対してトランスペアレントである。
【００３２】
図２は、ブロードキャストをサポートするアーキテクチャの詳細図である。アプリケーションサーバ１３は、ブロードキャストされるトラフィックを生成するため、ＬＡＮ１０に置かれている。アプリケーションサーバ１３は、複数の無線ネットワーク５６の間でパケットをレプリケーションする責任のあるブロードキャストサーバ２０に接続されなければならない。モバイルコンピュータ２００は、ブロードキャストサーバ２０に登録し、ブロードキャストサーバ２０は、ユーザがどの無線ネットワークに登録されているかを知る。そして、モバイルアプリケーション１４は、ブロードキャストされるパケットを受信、処理する責務がある。モバイルアプリケーション１４の例示的実施形態では、緊急警告を表示するパブリックセーフティアプリケーション、又はビデオあるいはオーディオストリームを表示するマルチメディアアプリケーションが含まれる。
【００３３】
マルチネットワークブロードキャストは、通常、無線ルータと関連して使用される。一例としてのルータは、上述した米国特許第６，１９８，９２０号および第６，４１８，３２４号明細書に記載されており、その開示内容全体はそのまま参照されて本明細書に組み入れられる。図３は、ホスト側ルータ（すなわち、サーバルータ３５）とブロードキャストシステム３０との間の通信例を示した図である。サーバルータ３５は、標準ルータとして動作可能であるが、ブロードキャストシステム３０を介してあるトラフィックをブロードキャストすることが要求されると、データはブロードキャストシステム３０へ送信される。システム全体は、モバイルアプリケーション１４、モバイルルータ３６、そしてアプリケーションサーバ１３にあるホストアプリケーションを備える。
【００３４】
パケットがサーバルータ３５を通るとき、サーバルータ３５は、データがブロードキャストシステム３０を通して送られるべきか決定し、その場合サーバルータ３５は処理のためにデータをブロードキャストシステム３０へ通す。ブロードキャストシステム３０がマルチネットワーク５６に対する転送用データの処理を終えると、ブロードキャストシステム３０は、ネットワーク５６に対する最終的な配信のためサーバルータ３５へデータを戻す。サーバルータ３５とブロードキャストシステム３０との間の通信は、よく知られたＩＰＣ（inter-process communication）を通じて行われる。
【００３５】
サーバルータ３５は、ネットワークがレンジ内に入るとき、もしくはレンジ外に出るときを認識しなければならない。この機能は、上述した米国特許第６，１９８，９２０号および第６，４１８，３２４号明細書に記載されており、その開示内容全体はそのまま参照されて本明細書に組み入れられる。ネットワーク状態に関する情報は、サーバルータ３５にとって重要であり、なぜなら、ネットワーク状態のダイナミックな変化に応じてブロードキャストの態様をダイナミックに変化させることが要求されるからである。
【００３６】
ブロードキャストシステム３０は、ブロードキャストシステム３０の態様を変えるシステム管理者（administrators）に対する制御を提供するコンフィギュレーションインターフェイスを要求する。機能的に以下に記載されるコンフィギュレーションは、ブロードキャストシステム３０に置くことができる。ブロードキャストシステム３０上のオペレーティングシステムがグラフィックユーザインターフェイスを提供すると、ブロードキャストシステム３０にあるグラフィックアプリケーションを使ってコンフィギュレーションが実行される。コンフィギュレーションインターフェイス４００の一形態が図４に示されている。グラフィックユーザインターフェイスのない装置にブロードキャストソフトウェアがインストールされた場合、ブロードキャストコンフィギュレーションを受けるその他の手段が要求される。一例として、ネットワークに渡ってＵＤＰポートにおけるコンフィギュレーションパケットを受信し、あるいはダウンロードファイルを通してコンフィギュレーションを受け入れるコンフィギュレーションインターフェイスがある。
【００３７】
図４に示すように、ブロードキャスト性能に関する様々なオプションをユーザはセットアップすることができる。例えば、ユーザはどのタイプのブロードキャストパケットを受け入れるか特定するオプションをもつことができる。
・標準ブロードキャストアドレス（Standard Broadcast Address）４０２−このパラメータは、ブロードキャストシステム３０がモバイルユーザへブロードキャストされる標準ＩＰブロードキャストパケットを受け入れるか否か明示する。
・マルチキャスト（Multicast）４０３−このパラメータは、ブロードキャストシステム３０がマルチキャストパケットを受け入れ、処理を行うか否か明示する。
・ブロードキャストグループ（Broadcast Groups）４０４−このパラメータは、ブロードキャストシステム３０がブロードキャストグループを受け入れるか否か明示する。ブロードキャストグループパラメータは、スタティックグループ（statically defined group）を要求するため、スタティックに定義されたグループを入力するためのメカニズムは以下で明らかにされる。
【００３８】
上述した３つのブロードキャストパケットの種類は、ブロードキャスト用に最も一般的に使用されている。その他の実施形態では、ホストアプリケーションから新しいタイプのブロードキャストパケットが導入されればよい。例えば、代わりの実施形態では、特定のブロードキャストグループと関連するＩＰアドレスとポートの組み合わせのブロードキャストパケットが含まれる。パケットがＩＰアドレスとポートの組み合わせとして受信されるどんな時でも、パケットがグループのメンバーすべてにブロードキャストされる。さらにその他の実施形態では、ＩＰアドレスのかわりに識別子が含まれる。例えば、ブロードキャストグループのメンバーを確認するため、ＭＡＣアドレスやホストネームを使用すればよい。
ブロードキャストパケットフォーマットが変化するような間、異なる無線ネットワーク間でブロードキャストパケットをレプリケーションするのに現システムを使用することもできる。コンフィギュレーションスクリーン４００は、新しいブロードキャストパケットフォーマットのセッティングを反映させるように変化させなければならない。
【００３９】
システム管理者がブロードキャストグループ４０４を選択すると、グラフィックユーザインターフェイスがスタティックグループの情報を入力する方法を提供する。一実施形態では、別のスタティックブロードキャストコンフィギュレーション画面５１を表示させる編集ボタン（Edit button）４０５が用いられる。画面４０１はまた、コンフィギュレーション情報をまとめたリスト４０６を示す。リスト４０６は、仮想ブロードキャストアドレスを含む。ブロードキャストアドレスは、ユーザのグループに割り当てられる仮想ＩＰアドレスを表す。グループに割り当てられた全機器の選択されたリストを表示するため、管理者は、仮想ＩＰを選択し、編集ボタン４０５を押すことが可能である。そして、変更を受け入れもしくは拒絶するためのＯＫ４０７とキャンセル４０８が設けられている。
【００４０】
図５を参照すると、スタティックブロードキャストコンフィギュレーション画面５０１では、管理者がスタティックブロードキャストグループに関する情報を入力することができる。ブロードキャストＩＰアドレス項目５０２は、ブロードキャストグループに割り当てられる仮想ＩＰアドレスを明示する。この仮想ＩＰアドレスをターゲットとするＩＰパケットは、グループ内のユーザすべてに対して自動的にブロードキャストされる。メンバーシップレンジ項目５０３、５０４は、ＩＰアドレスのレンジ（あるいはマルチレンジ）を入力するために使用される。追加ボタン（Add button）５０５は、ＩＰアドレスをブロードキャストグループに加えるため使用される。機器関連リスト５０６は、グループに割り当てられるＩＰアドレスすべてを表示する。グループボックスからレンジを削除するメカニズムが提供されている。例えば、削除ボタン（Delete button）５０７が、適切なレンジが選択された後に押下される。そして、変更を受け入れもしくは拒絶するためのＯＫ５０８とキャンセル５０９が設けられている。
【００４１】
ブロードキャストコンフィギュレーションに加え、システムは、システム内の各ネットワークに対してもコンフィギュレーションを要求する。ネットワークパラメータのコンフィギュレーションのための性能を提供する画面６０１（図６参照）と同じ画面が提供される。ネットワークネーム項目６０２によって、ユーザは、システム内でコンフィギュレーションされる適切なネットワークを選択することができる。ユーザがネットワークネームを選択すると、以下のパラメータが各ネットワークに対して修正可能である。
・ネットワークへのブロードキャスト許可６０３（Allow Broadcasts over Network）−ネットワークへのブロードキャストを許可するコンフィギュレーションは、選択されたネットワークで管理者がブロードキャストを可能にし、あるいは制限することができる。したがって、このパラメータは、ネットワーク上でのブロードキャスト伝達を制限することができる。
・ネットワークサポートブロードキャスト（Network Supports Broadcast）６０４−ネットワークサポートブロードキャストのコンフィギュレーションによって、管理者は、ネットワークが本来的にブロードキャストをサポートするか明示することができる。
ネットワークが元来ブロードキャストをサポートしない場合、ブロードキャストシステムは、ネットワークに登録されたモバイルユーザに対してブロードキャストメッセージをレプリケーションする。ネットワークがブロードキャストをサポートする場合、ネットワーク用コンフィギュレーションパラメータを入力することが要求される。
・ブロードキャスト詳細（Broadcasting Details）６０５−ネットワークが元来ブロードキャストをサポートする場合、ネットワークは、特定のブロードキャストに対してコンフィギュレーションパラメータを要求する。例えば、ＲＤ−ＬＡＰネットワークでブロードキャストパケットを送信ため、ＲＤ−ＬＡＰの論理識別子（ＬＩＤ）６０６がコンフィギュレーションされることを要求される。この例ではＬＩＤだけ使用されるが、ネットワークはその他の同様のアイテムを要求し、コンフィギュレーションアイテムは、適切なインフォメーションを反映させるように修正される。
【００４２】
そして、コンフィギュレーションを保存もしくは変更をキャンセルするＯＫ６０７及びキャンセル６０８のボタンが設けられている。
【００４３】
図７は、ブロードキャストグループコンフィギュレーションを格納するために使用される格納構造マップ７００の一例を示す。マップ７００は、ペアとなる項目（key）／値（value）のリストを含むデータ構造オブジェクトである。マップ７００は、同じ項目を含むことはできず、各項目は、ただ１つの値にだけ対応する。配列、スタック、キュー、あるいはリンクリストのような、その他のよく知られたデータ構造も使用可能であるが、マップ７００は、ブロードキャストによって要求される機能性の種類に最高のパフォーマンスを提供する。マップ７００はブロードキャストＩＰアドレスからキーオフされ、それによって項目７０１が、各ブロードキャストＩＰアドレスをブロードキャストグループコンフィギュレーションに格納する。各マップにおいて、エントリーは、様々なデータ一式を格納する構造である。構造は、ブロードキャストコンフィギュレーションとヘッダ７０２に関連したデータオブジェクト７０４のリンクされたリスト７０３になる。図７は、マップデータ構造の各要素に格納されたブロードキャストグループの各アドレスの例を示す。
・ＩＰアドレス（IP Address）−このエントリーは、ブロードキャストグループに関連した各モバイル機器の固有のＩＰアドレスを格納する。
【００４４】
図７は、個別のグループに関連したＩＰアドレスを格納するため使用されるデータ構造を描いているが、システムは、異なるブロードキャストのタイプに関する情報を格納するため使用されるマルチデータ構造を考察する。したがって、記載されたシステムでは、ブロードキャストグループコンフィギュレーション用マップデータ構造と、その他のマルチキャストグループコンフィギュレーション用マップデータ構造が提供される。上述のデータ構造は、適切なブロードキャストグループに関連する識別子グループの種類を格納するために使用することができる。したがって、本発明は、ＩＰアドレスによって分類することに限定されない。
【００４５】
図２、３に例示したような実施形態では、ブロードキャストシステム３０は、ホスト側にのみ存在する。したがって、ホスト１３からブロードキャストされたトラフィックは、モバイルアプリケーション１４へ向けて外に送信される前に、ブロードキャストシステム３０へ最初に到達する。このコンフィギュレーションでは、モバイルクライアント２００によってブロードキャストパケットが生成されると、最初にパケットをブロードキャストシステム３０へ送信し、そしてブロードキャストシステム３０は、ブロードキャストをレプリケーションする。このアーキテクチャは、ブロードキャストシステム３０をすべてのモバイルクライアント２００に存在させることを要求しないという利点がある。
【００４６】
代わりの実施形態では、ブロードキャストシステム３０をモバイルクライアント２００およびホスト側の両方に存在することもできる。これは、各モバイルユーザに対して自身のコンフィギュレーションセッティングをもつことを要求する。このアーキテクチャでは、モバイルクライアント２００は、ホスト側へ最初に送信する代わりに他のユーザへ直接ブロードキャストすることができる。したがって、モバイルクライアント２００によってブロードキャストパケットが生成されると、モバイルクライアント２００は、ブロードキャストパケットを最初にホスト側へ送る代わりに、ブロードキャストパケットに関連したすべてのユーザへ直接レプリケーションする。
【００４７】
処理フロー
例示的なブロードキャストを通じたデータフローが、以下に記載される。
【００４８】
初期化
ブロードキャストシステムのスタートアップでは、システムは最初に内部の格納変数を初期化する。そこには、少なくともブロードキャスト可能リスト（Allowable Broadcast List:ＡＢＬ）が存在する。ＡＢＬはダイナミックに作成され、システム内に設定された利用可能な無線ネットワークに基づいている。ＡＢＬは、現在システム内に設定される無線ネットワークすべての名前を最初に格納する。最適な機能として、初期化ルーチンは、ブロードキャストできないように設定されたネットワークを除去する。メインシステムがネットワークのコンフィギュレーションを修正する場合、ネットワークの追加もしくは除去を要求するか決定するため、ＡＢＬが再評価される。
【００４９】
その後、ＡＢＬは、ブロードキャストシステムの最適化を提供するために格納される。ＡＢＬは、最初にブロードキャスト性能によって格納される。元来サポートされたブロードキャスト可能なネットワークは、元来ブロードキャストをサポートしないネットワークに比べて高くランキングされている。このソートは、元々ブロードキャストをサポートするネットワークをすべてリストのトップへ押し上げることを確実にする。これは最適な技術を提供し、そこでは、ブロードキャストメッセージが送られるどんな時でも、その適切なネットワークにとって可能な最も効率のよい方法でユーザにメッセージがブロードキャストされる。
【００５０】
２番目のソートが生じ、ブロードキャスト性能サブグループ内の各ネットワークに優先度をつける。したがって、すべてのブロードキャスト可能なネットワークは、リストの先頭に好ましいネットワークを置くためにソートされる。好ましいネットワークの位置は、様々な方法によって決定可能である。一つは、各ネットワークの優先度を静的に設定する方法がある。これによって、最優先のネットワークがリストの先頭に置かれる。その他の方法として、スループットに基づいてネットワークをダイナミックにソートする方法がある。これによって、最もスループットの高いネットワークがリストのトップに置かれる。さらに他の方法では、ネットワークのコストに基づいてネットワークをソートする方法がある。最も低コストのネットワークがリストのトップに押し上げられる。加えて、システムはまた、上述した３つのソートオプションの組み合わせを用いることができる。実施形態において、開示されたシステムは、ルータからネットワークの優先度を受信する。
データがソートされると、ＡＢＬは、最も好ましいネットワークから最も好ましくないネットワークの順で配置された１つのリストとなる。
【００５１】
システムは、ブロードキャストグループ規定（definitions）を格納するためのデータ構造を初期化する。開示される例では、少なくとも２つのマップデータ構造が作成される。一方はブロードキャストグループコンフィギュレーションのために作成され、他方はマルチキャストグループコンフィギュレーションのために作成される。
【００５２】
マルチキャストグループコンフィギュレーションがダイナミックに構築されるため、ゼロエントリーを含むように初期化される。しかしながら、ブロードキャストグループのマップデータ構造は、コンフィギュレーションされたセッティングを含むように初期化可能である。ブロードキャストシステムは、ブロードキャストグループコンフィギュレーションエントリーからすべてのセッティングを読み出し、そのデータをブロードキャストグループのマップデータ構造に入れる。
【００５３】
そして、ブロードキャストシステムは通常無線ルータと関連づけて使用されることから、ブロードキャストシステムは、どのパケットがブロードキャストパケットとして規定されるかをルータに登録する。使用可能な一例としては、適切なアドレスをルータに登録することである。この例において、ブロードキャストシステムは、適切なパケット識別子（例えば、ＩＰアドレス）をルータに登録する。これによって、ルータは、パケットを受信すると、これらの基準を満たすパケットをブロードキャストシステムへ自動的に送信する。
【００５４】
初期化が終了した後、ブロードキャストシステムは、メインの処理機能を開始させる。
【００５５】
メイン処理
図９を参照すると、ステップＳ１０における初期化の後、ステップＳ１２では、ルータがブロードキャストサーバに到達するパケットに注目（listen）する。受け取ったパケットがコンフィギュレーションに描かれたある種類のブロードキャストパケットにマッチすると、パケットは処理のためにブロードキャストシステムへ通される（Ｓ１４：ＹＥＳ）。
パケットがどの種類のブロードキャストパケットにもマッチしない場合（Ｓ１４：ＮＯ）、ルータはステップＳ１６でパケットの処理を続け、終了する。パケットは、ＩＰＣのようなよく知られた方法を使ってブロードキャストシステムへ通される。発明者ホイットモア（Whitmore）その他によって２００２年２月２８日に出願されて米国公開第２００２／１２２３９４号公報として刊行され、その開示内容全体がそのまま本明細書に参照することによって組み入れられる米国特許出願第１０／０８４，０４９号に開示されたポートルーティング機能のようなフィルタ性能を提供する他のルールをシステムが持っている場合、どのブロードキャストの種類のパケットも否定されたのか判断するため、ルールが評価される。この場合、パケットは、ブロードキャストタイプのトラフィックを許可しないようにフィルタリングされる。
【００５６】
正当なブロードキャストパケットが受信されると、ブロードキャストシステムは、ステップＳ１８において、適用可能クライアント母集団（Applicable Client Population：ＡＣＰ）のリストを初めに生成する。適用可能クライアント母集団は、ブロードキャストパケットに関連するモバイルユーザすべてのリストである。本実施形態では、リストには、少なくともＩＰアドレスが含まれるが、同様なその他の識別子を含むインプリメンテーションへ拡張することも可能である。例えば、実施形態では、ＩＰアドレスの代わりにＭＡＣアドレスをクライアント識別子として使用してもよい。ＡＣＰを、適用可能なデータ構造に格納することができる。付加的な最適技術として、ＡＣＰは、初期化プロセスにおいて静的にコンフィギュレーションされてもよい。これは、ブロードキャストパケットがシステムによって受信される度ダイナミックにリストを構築することを要求しない利点がある。
【００５７】
ＡＣＰの生成は、受信したブロードキャストパケットの種類に基づく。受信したパケットが標準的ブロードキャストパケットである場合、ＡＣＰは、サブネット内のコンピュータ母集団全体になる。例えば、パケットが１９２．１６８．１．２５５のブロードキャストアドレスをもって受信された場合、これは、１９２．１６８．１．１と１９２．１６８．１．２５４の間のコンピュータおよびデバイスすべてに決定する。ＩＰアドレスのホスト部分は２５５であるため、この番号は１〜２５４の間の値すべてによって置き換えられ、結果生じるリストはＡＣＰを作成する。他の例として、ブロードキャストパケットが１９２．１６８．２５５．２５５のＩＰアドレスをもって受信された場合、ホストＩＤは１〜２５５の間のすべての数で置き換えられる。したがって、ＡＣＰは、１９２．１６８．０．１〜１９２．１６８．２５５．２５４から成る。
【００５８】
受け取ったブロードキャストパケットがブロードキャストグループパケットに合う場合、そのパケットがブロードキャストグループコンフィギュレーションにおいてコンフィギュレーションされた仮想ＩＰアドレスをもつことを意味する。ブロードキャストシステムは、ブロードキャストグループのマップテーブル内で適切な仮想ＩＰアドレスを探す。適切なエントリーが置かれると、ＡＣＰは、ブロードキャストＩＰアドレスに関連したリスト内の全ＩＰアドレスから構成される。
【００５９】
そして、ブロードキャストパケットがマルチキャストアドレスレンジ内に落ちた場合、ＡＣＰは、マルチキャストグループに対してダイナミックに結びついたすべての機器から成る。マルチキャストプロトコルは、ＲＦＣ１１１２およびＲＦ２２３６を通じて規定されているよく知られた技術であり、その開示内容全体は本明細書にそのまま参照されて組み入れられ、この明細書では議論しない。しかしながら、マルチキャストグループに結びつこうとするモバイルクライアントは、ＩＧＭＰプロトコルに基づいたパケットを生成する。ブロードキャストシステムは、ＩＧＭＰトラフィックをインテリジェントに管理し、グループが生成される度に、ブロードキャストシステムはマルチキャストグループに関連した機器のトラック（track）を維持する。特定のマルチキャストグループへ現在登録されているユーザのリストは、マルチキャストブロードキャストパケットがそのグループに対して受信される場合、ＡＣＰを母集団化（populate）するために使用される。ブロードキャストグループコンフィギュレーションと同様、ブロードキャストシステムは、マルチキャストグループのマップテーブル内でマルチキャストＩＰアドレスを探す。加えて、ブロードキャストシステムは、ブロードキャストサーバがマルチキャストトラフィックを処理できることを設備内のルータへ通知するため、関連するＲＦＣにおいて規定されるようにＩＧＭＰを実装することが要求される。適切にエントリーが置かれると、ＡＣＰはマルチキャストＩＰアドレスに関連したリスト内のＩＰアドレスから構成される。
【００６０】
ブロードキャストシステムは、モバイルユーザへパケットを送信開始するために準備されている。ブロードキャストシステムは、ＡＢＬを通して反復（iterate）開始する。システムは、ステップＳ２０において、ＡＢＬ内の最初の無線ネットワークを選択する。このネットワークは、“カレントブロードキャストネットワーク”と呼ばれる。ステップＳ２２では、システムが、カレントブロードキャストネットワークに関連するＡＣＰ内のユーザすべてを識別する。これは、通常ルータによって使用されるルーティングテーブルを見て行われる。ルーティングテーブルは、各モバイルユーザと現在ユーザが登録されている無線ネットワークとの間の異種参照として役立つ。ルーティングテーブルは、典型的にはルータによって管理される。参照は、カレントブロードキャストネットワークに今現在登録されているいずれのモバイルユーザにも戻る。
【００６１】
カレントブロードキャストネットワークに現在登録されている各ユーザに対し、ブロードキャストシステムはパケットを送信する。無線ネットワークの種類に従い、ブロードキャストシステムは、ステップＳ２４において、パケットをブロードキャストするのにどの方法が使用されているか判断する。選択された無線ネットワークが元々ブロードキャストサポートを提供する場合、パケットは、ステップＳ２６において、無線ネットワークにより要求された方法に従ってブロードキャストされる。これは、モバイルユーザにブロードキャストされる新しいパケットを生成することによって通常なされる。また、管理者によって入力されたブロードキャストコンフィギュレーション詳細６０５を強化する（leveraging）ことによってもなされる。多くの場合、新しいデータパケットは、ブロードキャストコンフィギュレーション詳細６０５に関連するパラメータに従って生成される。この新しいパケットのペイロードは、元のブロードキャストされたパケットから成る。これにより、ネットワークがパケットによって表されるブロードキャストのタイプをサポートしない場合、ブロードキャストシステムは、パケットによって表されるブロードキャストのタイプからネットワークにサポートされるブロードキャストのタイプへ変換する。無線ネットワークが元々ブロードキャストをサポートする場合、ステップＳ２８では、本来のブロードキャストパケットがネットワークを通じて転送された後、現在ネットワークに登録されているすべてのユーザがＡＣＰから除去され、そして、カレントブロードキャストネットワークがＡＢＬから除去される。
【００６２】
選択された無線ネットワークが本来ブロードキャストをサポートしない場合（Ｓ２４：ＮＯ）、ステップＳ３６において、ブロードキャストシステムは、ネットワーク上に現在残っているユーザ各々を通じて繰り返し(iterate)、パケットを各ユーザに対して個別に送信する。ブロードキャストシステムは、新しいパケットを生成し、元のブロードキャストパケットを新しいパケットデータのペイロードに加える。パケットが各ユーザへ送信されると、ステップＳ２８において、ユーザがＡＣＰから除去される。ステップＳ２８では、パケットがカレントネットワーク上のユーザすべてに送信されると、カレントネットワークはＡＢＬから除去される。
【００６３】
ブロードキャストシステムは、モバイルユーザへ直接パケットを送信しない。代わりに、新しいブロードキャストパケットを生成した後、カレントネットワークを介したモバイルユーザへの最終的配信のため、パケットをルータへ戻す。ブロードキャストシステムは、ルータとの通信に標準ＩＰＣを使用する。
【００６４】
カレントブロードキャストネットワークに関連したすべてのユーザへブロードキャストが送信された後、ステップＳ２８において、ユーザがＡＣＰから除去される。加えて、ステップＳ２８では、カレントブロードキャストネットワークがＡＢＬから同様に除去される。そしてステップＳ３０では、ブロードキャストシステムが、追加のレシピエントがＡＣＰに存在するか判断する。そうである場合（Ｓ３０：ＹＥＳ）、そして、追加のネットワークがＡＢＬ内にある場合（Ｓ３２：ＹＥＳ）、ステップＳ３４において、ＡＢＬから次の無線ネットワークを選択する処理が実行される。すべての無線ネットワークがＡＢＬから除去されるまで、処理はステップＳ２２を始点として続く。モバイルユーザがＡＢＬ内にネットワークが存在しない状態でＡＣＰ内に残されている場合、（Ｓ３２：ＮＯ）、モバイルユーザはブロードキャストを通じてパケットを受けられず、処理は終了する（Ｓ３８）。したがって、メッセージはこれらモバイルユーザに対してレプリケーションされない。追加のレシピエントがなければ（Ｓ３０：ＮＯ）、処理は終了する。
【００６５】
図８は、上述した処理機能の一例を示す。
ＡＢＬ８０１は、システムにインストールされた無線ネットワークから生成される。
ＡＣＰ８０２は、ブロードキャストパケットが受信された後生成される。
そして、ルータによってルートテーブル８０３が提供される。
上述のフローが実行された後、ブロードキャストシステムは、無線ネットワークとそれに関連するユーザの組分けを作成する。
この組分け８０４は、元々ブロードキャストをサポートするネットワークが元々ブロードキャストをサポートしないネットワークの前に使用されることを確実にする。
モバイルユーザが両方に関係する場合、より最適なネットワークが通信に使用される。
【００６６】
本発明は、いくつかの例示的実施形態を参照して説明されたが、使用された用語は、限定する用語ではなく、説明と例示の用語と理解される。変更は、現在述べているものおよび補正されているものとして、添付されたクレームの範囲内で可能であり、その変更は本発明の意図から離れない。例えば、本発明は、幾つかのネットワークがブロードキャストをサポートし、その他の値とワークがブロードキャストをサポートしない環境に限定されない。レシピエントが単一のネットワークにアクセス可能ではない場合、ネットワークがブロードキャストをサポートすることに関わらず、本発明が適用される。さらに、ネットワークが受信したパケットで表される種類のブロードキャスト（あるいはいずれの種類のブロードキャスト）をサポートしていない場合も、本発明が適用される。
【００６７】
本発明は、特定の手段、構成、実施形態を参照しながら説明されているが、本発明が特定の開示されたものに限定されることを意図せず、むしろ本発明は、添付されたクレームの範囲と同じような機能的に均等な構成、方法、および使用にまで拡張する。
【００６８】
本発明の様々な実施形態に従い、ここに記載された方法は、コンピュータプロセッサで走るソフトウェアプログラムとしてのオペレーションに意図される。限定されないアプリケーション特別集積回路、プログラム可能な論理アレイおよび他のハードウェアを含む専用のハードウェア実装は、同様にここに記載された方法を実行するものとして構成可能である。さらに、限定されない分散処理又はコンポーネント／オブジェクト分散処理、並列処理又は仮想マシーン処理が、ここに記載された方法を実行するものとして構成可能である。
【００６９】
注意すべきこととして、ここに記載された本発明のソフトウェアの実行は、ディスクあるいはテープのような磁気媒体、ディスクなどの光磁気媒体或いは光媒体、一つ以上のＲＯＭ、ＲＡＭあるいはその他の書き換え可能なメモリを所有するメモリカードやその他のパッケージなどの固体状態媒体など、任意に具体的な記憶媒体に格納される。Ｅ−ｍａｉｌに添付されるデジタルファイル、あるいはその他の情報を自身に含むアーカイブあるいはアーカイブ一式が、具体的な記憶媒体と均等な配布メディアとみなされる。したがって、本発明は、ここに提示されるとともに技術に認識される均等物および承継するメディアを含むような具体的な記憶媒体および配布メディアを含むものとみなされ、ソフトウェアのインプリメンテーションが格納される。
【００７０】
本明細書では、特定の標準およびプロトコルを参照しながら実施形態において実装された構成および機能を説明しているが、本発明は、そのような標準およびプロトコルに限定される意図はない。インターネットの各標準およびその他のパケット交換ネットワーク転送（例えば、ＩＰバージョン４、ＩＰバージョン６、ＵＤＰ／ＩＰ、ＴＣＰ／ＩＰ、ＩＣＭＰ）、そして無線ネットワーク（８０２．１１ａ、８０２．１１ｂ、８０２．１１ｇ、ＣＤＭＡ１ｘＲＡＴＴ、ＣＤＭＡ１ｘＥＶＤＯ、ＧＳＭ、ＣＤＰＤ、ＧＰＲＳ、ＥＤＧＥ、ＵＭＴＳ、ＲＤ−ＬＡＰ、ＳＭＲ、ＬＭＲ）は、技術状態の一例を示す。そのような標準は、本質的に同じ機能を備えたより早くより効果的な同等物に周期的に取って代わられる。したがって、同じ機能をもつ代わりの標準およびプロトコルは、同等物と見なされる。
【図面の簡単な説明】
【００７１】
【図１】本発明の一態様によるマルチ無線ネットワークにおけるブロードキャストの外観図である。
【図２】本発明の一態様による、ブロードキャストシステムの様々なコンポーネントの概略的ブロック図である。
【図３】本発明の一態様に従ったソフトウェアコンポーネントを記述するブロック図である。
【図４】本発明の一態様によるコンフィギュレーション画面の一例を示した図である。
【図５】本発明の一態様による例示的静的ブロードキャストコンフィギュレーション画面を示した図である。
【図６】本発明の一態様による例示的なネットワークブロードキャストコンフィギュレーション画面を示した図である。
【図７】本発明の一態様における、グループブロードキャストコンフィギュレーションを格納するため使用される内部マップデータ構造の一例を示した図である。
【図８】本発明の一態様における、無線ネットワーク上のモバイルユーザを最も効率のよい無線ネットワークと関連させるため識別するために使用される処理の一例を示した図である。
【図９】本発明の一態様におけるブロードキャストパケット送信処理の一例を示した図である。
【図１】
2008517559.tif 000003
【図２】
2008517559.tif 000004
【図３】
2008517559.tif 000005
【図４】
2008517559.tif 000006
【図５】
2008517559.tif 000007
【図６】
2008517559.tif 000008
【図７】
2008517559.tif 000009
【図８】
2008517559.tif 000010
【図９】
2008517559.tif 000011
【国際調査報告】
2008517559.tif 000012