(57)【要約】複数の異なる無線ネットワーク（４０７）上でパケット化されたデータの流れを管理する方法。この方法は、無線ネットワーク（４０７）のそれぞれにウェイト（４０８）を割り当てること、そして割り当てられたネットワークウェイト（４０８）に基づいてそれぞれのネットワーク（４０７）にパケット化されたデータの一部を割り振ることを含む。最後に、割り振られたデータは対応する無線ネットワーク（４０７）を横断して一斉に送信される。
2007538422.tif 000002
【特許請求の範囲】
【請求項１】
複数の異なる無線ネットワークを介してパケット化されたデータの流れを管理する方法であって、
それぞれのネットワークに前記パケット化されたデータの一部を割り振り、
前記対応する無線ネットワークを横断して前記割り振られたデータを同時に送信する方法。
【請求項２】
複数の異なる無線ネットワークを介してパケット化されたデータの流れを管理する方法であって、
前記無線ネットワークのそれぞれにウェイトを割り当て、
前記割り当てられたネットワークウェイトに基づいてそれぞれのネットワークに前記パケット化されたデータの一部を割り振り、
前記対応する無線ネットワークを横断して前記割り振られたデータを同時に送信する方法。
【請求項３】
前記パケット化されたデータの割り振りは、前記割り当てられたネットワークウェイトに基づいてそれぞれの無線ネットワークに対してパケット全体を割り振る請求項２に記載の方法。
【請求項４】
前記パケット化されたデータを割り振りは、前記割り当てられたネットワークウェイトに基づいてそれぞれの無線ネットワークに対してそれぞれのパケットの一部を割り振る請求項２に記載の方法。
【請求項５】
前記割り振りは、それぞれのネットワークにネットワークパケットを関連づけ、及び前記指定されたネットワークに関連づけられた前記ネットワークパケットに前記それぞれのパケットの一部を割り振る請求項４に記載の方法。
【請求項６】
前記割り振りを説明するルールを前記割り振られたデータの中でエンコードする請求項２に記載の方法。
【請求項７】
前記割り振りはランダムである請求項４に記載の方法。
【請求項８】
前記割り振りは交互である請求項４に記載の方法。
【請求項９】
それぞれのネットワークのレイテンシを決定するためにそれぞれのネットワークを横断するループバック制御パケットを送信する請求項２に記載の方法。
【請求項１０】
前記ウェイトの割り当ては、前記それぞれのネットワークの決定されたレイテンシに基づいてウェイトを割り当てる請求項９に記載の方法。
【請求項１１】
前記割り振られたデータが前記対応する無線ネットワークを横断して送信され得ないとき、前記パケット化されたデータを割り振ることなく単一のネットワークを介して前記割り振られたデータを送信する請求項２に記載の方法。
【請求項１２】
複数のマルチパスグループを定義し、それぞれのグループは複数の無線ネットワークを備え、
前記割り当ては、選択されたグループにおけるそれぞれの前記無線ネットワークに対してウェイトを割り当て、
前記割り振りは、前記選択されたグループにおけるそれぞれのネットワークに前記データを割り振り、
前記送信は、前記選択されたグループにおける前記対応する無線ネットワークを横断して前記割り振られたデータを送信する請求項２に記載の方法。
【請求項１３】
ルールと関連づけられたパケット基準を定義し、
前記定義された基準と前記データのそれぞれのパケットとを比較し、
前記パケットが前記基準と合致したとき、前記関連づけられたルールに基づいて前記複数のネットワークの１つに前記パケットを割り振り、
前記パケットが前記基準と合致しないとき、前記パケットを割り振らずに前記パケットを送信する請求項２に記載の方法。
【請求項１４】
複数の異なる無線ネットワークを介してパケット化されたデータの流れを管理するシステムであって、
前記無線ネットワークのそれぞれにウェイトを割り当て、前記割り当てられたネットワークウェイトに基づいてそれぞれのネットワークに前記パケット化されたデータの一部を割り振るマルチパス要素と、
前記マルチパス要素から前記割り振られたデータを受信し、前記対応する無線ネットワークを横断して前記割り振られたデータを同時に送信するルータとを備えるシステム。
【請求項１５】
前記マルチパス要素は、前記割り当てられたネットワークウェイトに基づいてそれぞれの無線ネットワークに全てのパケットを割り振る請求項１４に記載のシステム。
【請求項１６】
前記マルチパス要素は、前記割り当てられたネットワークウェイトに基づいてそれぞれの無線ネットワークにそれぞれのパケットの一部を割り振る請求項１４に記載のシステム。
【請求項１７】
前記マルチパス要素は、ネットワークパケットをそれぞれのネットワークと関連付け、指定されたネットワークと関連付けられた前記ネットワークパケットにそれぞれのパケットの一部を割り振る請求項１６に記載のシステム。
【請求項１８】
前記マルチパス要素は、前記割り振られたデータの中で前記割り振りを説明するルールをエンコードする請求項１４に記載のシステム。
【請求項１９】
前記マルチパス要素は、それぞれのネットワークのレイテンシを決定するためにそれぞれのネットワークを横断して送信するためのループバック制御パケットを生成する請求項１４に記載のシステム。
【請求項２０】
前記マルチパス要素は前記それぞれのネットワークの決定されたレイテンシに基づいてウェイトを割り当てる請求項１９に記載のシステム。
【請求項２１】
パケット基準はルールと関連付けられ、
前記マルチパス要素は、前記データのそれぞれのパケットを前記定義された基準と比較し、
前記パケットが前記基準と合致するとき、前記パケットを前記関連付けられたルールに基づいて前記複数のネットワークの１つに割り振り、
前記パケットが前記基準と合致しないとき、前記ルータは前記パケットを割り振らずに前記パケットを送信する請求項１４に記載のシステム。
【請求項２２】
複数の異なる無線ネットワークを介するパケット化されたデータの流れを管理するためのプログラムを記憶するコンピュータ読取可能な媒体であって、
前記無線ネットワークのそれぞれにウェイトを割り当てる割り当てコードセグメントと、
前記割り当てられたネットワークウェイトに基づいてそれぞれのネットワークに前記パケット化されたデータの一部を割り振る割り振りコードセグメントと、
前記対応する無線ネットワークを横断して前記割り振られたデータを同時に送信する通信コードセグメントとを備える媒体。
【請求項２３】
前記割り振りコードセグメントは、前記割り当てられたネットワークウェイトに基づいてそれぞれの無線ネットワークに全てのパケットを割り振る請求項２２に記載の媒体。
【請求項２４】
前記割り振りコードセグメントは、前記割り当てられたネットワークウェイトに基づいてそれぞれの無線ネットワークにそれぞれのパケットの一部を割り振る請求項２２に記載の媒体。
【請求項２５】
前記割り振りコードセグメントは、ネットワークパケットをそれぞれのネットワークと関連付け、前記指定されたネットワークと関連付けられた前記ネットワークパケットにそれぞれのパケットの一部を割り振る請求項２４に記載の媒体。
【請求項２６】
前記割り振りを説明するルールを前記割り振られたデータの中でエンコードするエンコーディングコードセグメントをさらに備える請求項２２に記載の媒体。
【請求項２７】
前記通信コードセグメントは、それぞれのネットワークのレイテンシを決定するためにそれぞれのネットワークを横断してループバック制御パケットを送信する請求項２２に記載の媒体。
【請求項２８】
前記割り当てコードセグメントは、前記それぞれのネットワークの決定されたレイテンシに基づいてウェイトを割り当てる請求項２７に記載の媒体。
【請求項２９】
前記割り振られたデータが前記対応する無線ネットワークを横断して送信されないとき、前記通信コードセグメントは、前記データを割り振ることなく単一のネットワークを介して前記パケット化されたデータを送信する請求項２２に記載の媒体。
【請求項３０】
複数のマルチパスグループが定義され、それぞれのグループは複数の無線ネットワークを備え、
前記割り当てコードセグメントは、選択されたグループにおけるそれぞれの前記無線ネットワークに対してウェイトを割り当て、
前記割り振りコードセグメントは、前記選択されたグループにおけるそれぞれのネットワークに前記データを割り振り、
前記通信コードセグメントは、前記選択されたグループにおける前記対応する無線ネットワークを横断して前記割り振られたデータを送信する請求項２２に記載の媒体。
【請求項３１】
パケット基準はルールと関連付けられ、
前記媒体は、前記データのそれぞれのパケットを前記定義された基準と比較する比較コードセグメントをさらに備え、
前記パケットが前記基準と合致するとき、前記割り振りコードセグメントは前記パケットを前記関連付けられたルールに基づいて前記複数のネットワークの１つに割り振り、
前記パケットが前記基準と合致しないとき、前記通信コードセグメントは前記パケットを割り振らずに前記パケットを送信する請求項２２に記載の媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、無線通信の分野に関する。より適切には、本発明は、無線ネットワークのタイプ、フォーマット、又はアドレッシングに係わらず、複数の無線ネットワーク上における同時データルーティングに関する。
【背景技術】
【０００２】
本願は、“複数の無線ネットワーク上でデータをルーティングする方法及び装置”と題し２０００年８月３１日に出願された米国特許出願第０９／６５２，００９号の一部継続出願であって、かつ“リモートデバイス及びホストシステム間における透過的無線通信のための方法及び装置”と題し現在米国特許第５，７１７，７３７号である米国特許出願第０８／４５６，８６０号の一部継続出願である“リモートデバイス及びホストシステム間におけるデータのインテリジェントルーティングのための方法及び装置”と題し１９９７年９月１７日に出願された米国特許出願第０８／９３２，５３２号の一部継続出願でもある、２００２年９月５日に米国特許公開第２００２／０１２２３９４  Ａ１号として公開され、“ポートルーティング機能”と題した２００２年２月２８日に出願された米国特許出願第１０／０８４，０４９号明細書に関し、その内容は全体としてここにおける参照により明確に取り入れられる。
【０００３】
本願は、２００４年９月２日に米国特許公開第２００４／０１７０１８１  Ａ１号として公開され、“優先代替ルーティング機能”と題し２００３年２月２７日に出願された米国特許出願第１０／３７４，０７０号明細書に関し、その内容は全体としてここにおける参照により明確に取り入れられる。
【０００４】
過去１０年において、無線ネットワークはモバイルワーカーの日々の活動にとって必須となっている。多くの組織は、労働者の生産性を増加することにより無線ネットワークを用いて莫大なコスト削減をしていることを認識している。多くの場合において、無線ネットワークは、会社によってその顧客に提供されるサービスのコストを削減し、そしてサービスのタイプを増加させることを助けることがまた証明されている。
【０００５】
無線通信事業者は、ＧＰＲＳ、ＥＤＧＥ、１ｘＲＴＴ、そして１ｘＥｖＤＯのような新しい第３世代ネットワークを構築するために数十億ドルを費やしている。８０２．１１無線ＬＡＮは世界中で激増している。ついに、ＲＤ−ＬＡＰ、ＥＤＡＣＳ、そして世界中の数百万のユーティリティ及び公安職員により使用されている従来の、あるいはトランクに入れられたネットワークといった非公開のＲＦネットワークが存在する。
【０００６】
その内容が全体としてここにおける参照により明確に取り入れられる、“リモートデバイス及びホストシステム間におけるデータのインテリジェントルーティングのための方法及び装置”と題された米国特許第６，１９８，９２０号明細書、及び“リモートデバイス及びホストシステム間における透過的無線通信のための方法及び装置” と題された米国特許第６，４１８，３２４号明細書といった既存の特許は、複数のネットワークの改善された同時利用を公開する。これらのシステムにおいて、ユーザは異なるネットワーク間でシームレスに歩き回ることが出来る。それゆえ、モバイルワーカーが第１のネットワークの範囲から出たとき、ワーカーは第２の無線ネットワーク上で通信し続けることが出来る。
【０００７】
異なるネットワーク間でシームレスローミングのために創られた解決策は、無線ネットワークの採用を促進する助けとなっている。シームレスローミングはモバイルワーカーに異なるネットワークを活用させ、そしていかなる単一のネットワークに関連する制限をも最小にさせる。例えば、無線ＬＡＮが小さい範囲で高帯域アクセスを提供し、ＣＤＭＡ  １ｘＲＴＴが広い範囲で低帯域アクセスを提供するのであれば、モバイルクライアントは２つのネットワークを自動的に使用するように構成されるであろう。無線ＬＡＮの範囲にいるときには、クライアントは増やされた情報処理量を活用するが、１ｘＲＴＴの普及範囲にのみいるときには、より広い普及範囲を活用する。
【０００８】
この種の解決策はエンドユーザにとって非常に力強く、そして無線ネットワーク上での制御を提供する一方で、ネットワークのより多くの制御を管理者に提供する高機能化に対する要求がある。どのようにして、複数のネットワークがデータトラフィックの通信に対して同時に用いられ得るのであろうか？このような高機能化は、単一のネットワークとして複数のネットワークを使用する能力をアプリケーションに提供するであろう。それゆえ管理者は、離隔し相異するネットワークを単一のチャンネルとして動作させるためのルールと制限を加える。
【発明の開示】
【発明が解決しようとする課題】
【０００９】
そのような解決策による即時の恩恵は、通信全体の増加されたスループットである。例えば、ユーザが１９．２Ｋｂｐｓネットワークと２８．８Ｋｂｐｓネットワークを使用しているのであれば、このネットワークに同時にアクセスすることは、概略４８Ｋｂｐｓの単一のチャンネルを生み出す。しかしながら、複数の流れを動的に管理する能力は、無線ネットワークを取り巻く問題に起因する複雑な処理である。無線ネットワークの範囲は変化するため、ネットワークが変化したとき、システムは自動的に復旧しなければならない。さらに、無線ネットワークは通常異なる通信プロトコルを有するため、システムは異なるネットワーク上でセッションを維持しながら、異なるプロトコル及びネットワークの通信特性を管理することが出来なければならない。
【００１０】
この解決策の他の間接的な利益は、ネットワークを通じて送られた通信におけるセキュリティの向上である。無線ネットワークは通信のために公共の電波を用いるため、多くの通信は頭上にある。暗号化及び他のバーチャルプライベートネットワーク（ＶＰＮ）サービスは、データが傍受され、処理される機会を減少する。しかしながら、データをより安全にする要求がまだ存在する。それゆえ、複数の無線ネットワークを用いることにより、アプリケーションはそれぞれのネットワークを介して異なった一連のバイトを送信することが出来る。ユーザはデータトラフィックを解読する必要があるだけでなく、同じ瞬間に双方の無線ネットワーク上でデータトラフィックを捕捉しなければならない。そして、盗聴者は複数のネットワークを通じたデータトラフィックの分配を理解しなければならないであろう。複数のネットワークを経由した通信は、ネットワークを通じて送信されたデータを捕捉する可能性を実質的に除去しうる。
【００１１】
しかしながら、現行のシステムはこの性能を提供しない。それゆえ、通信のセキュリティを向上させるために同時に複数の無線ネットワークを用いることに対する要求がある。このシステムはネットワークストリームを動的に確立し、そして複数のネットワークを横断するデータの流れを動的に管理することを可能にする。
【００１２】
それゆえ、モバイル機器に対する同時に複数の無線ネットワークを介した通信を管理する要求が存在する。さらに、ネットワークが定期的に動的に変化するとき、同時に複数のネットワークを用いてアドレスを割り当てるためのシステムに対する要求が存在する。その上、アプリケーションが複数のネットワークを用いている間、１つのモバイルホスト同一性を維持することに対する要求が存在する。最後に、エンドユーザ、アプリケーション、あるいはネットワークインフラが入り組んだものに対して透過的な複数の無線ネットワークを介してパケットを送信することにより、追加のセキュリティレイヤを提供するためのシステムに対する要求が存在する。
【課題を解決するための手段】
【００１３】
上述の観点から、本願発明は、静的なモバイルホスト同一性を維持する間、同時通信のために、複数のネットワーク、つまり無線及び有線双方を用いるように指揮される。マルチパシングとして具現化され得る本願発明は、モバイルデータユーザが、複数の無線ネットワークを介してローカルエリアネットワークと同時かつ透過的に通信できるようにする、すなわち、複数のネットワークを同時に用いる他のモバイルホスト、又はローカルエリアネットワーク上のアプリケーションは、モバイルクライアントへの複数の無線ネットワークを介して外部と通信することができる。
【００１４】
本願発明における一つの側面によれば、方法は、複数の異なる無線ネットワーク上でパケット化されたデータの流れを管理するために提供される。この方法は、それぞれのネットワークにパケット化されたデータの一部を割り振る手段と、割り振られたデータを対応する無線ネットワークを横断して同時に送信する手段とを有する。
【００１５】
本願発明による一つの側面によれば、複数の異なる無線ネットワーク上でのパケット化されたデータの流れは、無線ネットワークのそれぞれにウェイトを割り当てること、及び割り当てられたネットワークウェイトに基づいてそれぞれのネットワークにパケット化されたデータの一部を割り振ることにより管理され、割り振られたデータは対応する無線ネットワークを横断して同時に送信される。
【００１６】
全てのパケットは、割り当てられたネットワークウェイトに基づいてそれぞれの無線ネットワークに割り振られる。あるいは、それぞれのパケットの一部は、割り当てられたネットワークウェイトに基づき、それぞれの無線ネットワークに割り振られる。この場合、ネットワークパケットはそれぞれのネットワークに関連付けられ、それぞれのパケットの一部は、指定されたネットワークに関連付けられたネットワークパケットに割り振られる。
【００１７】
この割り振りを説明するルールは、割り振られたデータにおいて暗号化されうる。さらに、割り振りは、シーケンシャル、ランダム、又は交互になされうる。
【００１８】
一つの側面において、ループバックコントロールパケットはそれぞれのネットワークのレイテンシを決定するためにそれぞれのネットワークを横断して送信される。それぞれのネットワークに対して決定されたレイテンシに基づいて、ウェイトが割り当てられる。
【００１９】
他の側面において、割り振られたデータが対応する無線ネットワークを横断して送信されないとき、データは割り振られず、単一のネットワーク上で送信される。
【００２０】
一実施形態において、複数のマルチパスグループが定義され、それぞれのグループは複数の無線ネットワークを有する。この実施形態では、ウェイトは選択されたグループ内でそれぞれの無線ネットワークに対して割り当てられる。さらに、データは選択されたグループにおけるそれぞれのネットワークに対して割り振られ、そして割り振られたデータは、選択されたグループの中で対応する無線ネットワークを横断して送信される。
【００２１】
さらに他の実施形態では、ルールと関連付けられたパケット基準が定義される。そして、データのそれぞれのパケットは、定義された基準と比較される。パケットが基準に合致するとき、パケットは関連付けられたルールに基づいてネットワークの１つに割り振られる。パケットが基準と合致しないとき、パケットを割り振ることなくパケットは送信される。
【００２２】
上記の特徴は、コンピュータ読み込み可能な媒体に記録されるオブジェクト・コードとして具体化され得る。この特徴は、異なるネットワークを横断するパケット化されたデータの流れを管理する処理の一部となりうる。さらに、この特徴はマルチパス要素とルータを含むシステムの一部となりうる。
【発明を実施するための最良の形態】
【００２３】
マルチパシングは同時に複数のネットワークを介して通信する能力を有するモバイル機器を提供する。同時は、同じ時間、又はほぼ同じ時間の間を好ましくは意味する。本発明の適応性は、単一の仮想ネットワークリンクを形成するためにいかなる数のネットワークをも相互に結合する能力を促進する。一度、単一の仮想ネットワークリンクが確立されると、いかなるアプリケーションも、異なる無線ネットワークを横断してデータを透過的に送信することかできる。マルチパシングは異なるネットワークを介してデータの流れを自動的に管理する。
【００２４】
マルチパシングには少なくとも２つの使用目的がある。１つの使用目的は通信の速度を上げるためである。図１は、無線ネットワーク７、８の組合せを通じてバンド幅全体を増やすためにマルチパシングを用いる一例を示す。第１のネットワーク７はＧＰＲＳネットワークであり、他のネットワーク８はＣＤＭＡ  １ｘＲＴＴネットワークである。この例において、モバイル側のアプリケーション１、２、３はデータパケット（Ｃａｔ、Ｄｏｇ、Ｆｉｓｈ）をホスト側のアプリケーション４、５、６に２つのネットワーク７、８を経由して送信しようと試みている。図１において、アプリケーションＡ及びＢ（１、２）から生じた２つのパケット（Ｃａｔ、Ｄｏｇ）は第１のネットワーク７経由で送信され、アプリケーションＣ（３）から生じた１つのパケット（Ｆｉｓｈ）は他のネットワーク８経由で送信される。
【００２５】
２つのネットワークを共に使用することは、制御パケットオーバーヘッドを引いたそれぞれのネットワークの速度の合計に略等しい、合計のスループットを提供する。上限として、最大スループットはそれぞれのネットワークにおける個々のスループットの合計である。システムのオーバーヘッドは最小であるため、帯域幅の最大量がデータ通信に利用できる。マルチパシングシステムは、スループットを最大化するために集められたネットワークを最も上手く利用する手段を決定することが可能である。データ通信をさらに最適化するために、マルチパスシステムは複数の外部向けパケットを受信したとき、可能な限り多くの帯域幅を利用するためにパケットを一斉にバッチ処理しようとし、ネットワークの性能を含む基準に基づいてネットワーク間でパケットを送信する。
【００２６】
マルチパシングの第２の用途は、ネットワークを通じたデータの流れに対する高いセキュリティを提供することである。図２は２つのネットワーク７、８を介してデータのセキュリティを強化するためにマルチパシングを用いる一例である。この例では、３つのアプリケーション１、２、３は２つのネットワーク７、８を経由してホストアプリケーション４、５、６にデータ（Ｃａｔ、Ｄｏｇ、Ｆｉｓｈ）を送信している。しかしながらこの場合、マルチパスシステムはバイト単位でそれぞれのパケットを分割し、ネットワークに割り当てられたウェイトに基づきそれぞれのネットワークを介してそれぞれのパケットの一部を送信する。この例では、Ｃａｔパケットの第１及び最後のバイト、Ｄｏｇパケットの第１及び最後のバイト、及びＦｉｓｈパケットの第１及び最後のバイトが第１のネットワーク７を経由して送信される。Ｃａｔパケットの第２のバイト、Ｄｏｇパケットの第２のバイト、並びにＦｉｓｈパケットの第２及び第４のバイトは、他のネットワーク８を介して送信される。その後、マルチパスシステムは受信側でバイトを再び組み立て、そして再組立されたパケットを適切なアプリケーション４、５、６に転送する。
【００２７】
それぞれ個々のネットワークはそれ自体がセキュリティ手段を有するが、ネットワークを通じてデータトラフィックを交互にするために２つのネットワークを用いることは、データの全体的なセキュリティを向上する。傍受者は、同時に双方のネットワークを介して実際のパケットを傍受し、異なるネットワークを通じたデータの分裂を理解するまで、パケットの再構築の可能性をほとんど有さない。終端間暗号化、デジタル署名、ハッシング、及び動的暗号鍵といった特徴を兼ね備えたこの機能性は、いかなるデータストリームを再構築する困難を劇的に増加する。
【００２８】
図３は、ローカルエリアネットワーク（ＬＡＮ）１０へのアクセスポイントとして動作するホストネットワークサーバ２０と、複数のモバイルデバイス２００と、ＬＡＮ１０上のアプリケーションサーバ１３内の少なくとも１つのホストアプリケーションと、モバイルデバイス２００上の少なくとも１つのモバイルアプリケーション１４と、及び複数のネットワーク５６とを有する全体システム図を示す。マルチパスシステムはモバイルデバイス２００及びホストネットワークサーバ２０の両方にインストールされる。設計の柔軟性は、マルチパスシステムがモバイルデバイス２００内に埋め込まれ、あるいはモバイルデバイス２００に接続されるハードウェアルータ（図示しない）内に埋め込まれるようにする。
【００２９】
モバイルデバイス２００上のアプリケーション１４、及びアプリケーションサーバ１３にあるアプリケーションは、モバイルクライアント２００及びＬＡＮ１０間でのネットワーク通信を考慮したファームウェア又はソースコードから創られる実行可能なコードであり得る。モバイルデバイス２００が標準的なモバイルコンピュータであるならば、典型的なアプリケーションは、データベース、つまりクライアント−サーバアプリケーション、メッセージング、つまり投函アプリケーション、ウェブブラウザクライアント、ファイル転送アプリケーション、及びｅメールクライアントを含む。モバイルデバイス２００が標準的なモバイルコンピュータでないならば、典型的なアプリケーションは、写真を撮影してデータを流し、センサを読み込んで示度を送信し、又はホストアプリケーションからコントロールデバイスへのデータを受信するファームウェアを含む。
【００３０】
マルチパシングは、通常、ワイヤレスルータと共に用いられる。典型的なルータは上述の米国特許第６，１９８，９２０号及び６，４１８，３２４号明細書に記載され、その内容は全体としてここにおける参照により明確に取り入れられる。図４は、ルータ３５とマルチパスシステム３０との間における通信の一例を示す。ルータ３５は標準的なルータとして作動しうる。しかしながら、あるトラフィックがマルチパスシステム３０を通じて送信されることが必要とされるのであれば、データはマルチパスシステム３０へ転送されうる。システムはまた、モバイルアプリケーション１４及びアプリケーションサーバ１３にあるホストアプリケーションを含む。マルチパスシステム３０はパケットをルータから受信することによりルータ３５と通信し、その後、ルータ３５にパケットを送り返す。それゆえに、パケットがルータ３５を通じて流れるとき、ルータ３５は、データがマルチパスシステム３０を通じて送信されるべきかどうか決定しうる。ルータ３５は処理するためにマルチパスシステム３０にデータを送る。一旦マルチパスシステム３０が、複数のネットワーク５６を介した通信のためにデータを処理することを完了すると、その後、マルチパスシステム３０はネットワーク５６を介し、最後の送付のためにルータ３５へデータを送り返す。ルータ３５とマルチパスシステム３０との間における通信は、公知のＩＰＣ（プロセス間通信）を経由される。
【００３１】
マルチパスシステムは、ネットワークが範囲に入り、又は出るときをわかるべきである。この機能は、上述の米国特許第６，１９８，９２０号及び６，４１８，３２４号明細書のような先の特許に記載され、その内容は全体としてここにおける参照により明確に取り入れられる。このネットワーク状態情報は、ネットワーク状態の動的な変化に反応してマルチパス動作を動的に変化することが要求されるため、マルチパスシステムにとって重要である。
【００３２】
マルチパスシステムは送信機（例えば、モバイル機器）及び受信機（例えば、ホストネットワークサーバ）に存在するため、それぞれのマルチパスシステムは、入ってくるマルチパストラフィックを受信することと同様に出ていくマルチパストラフィックを処理することに責任を負う。ホストネットワークサーバは複数のモバイル機器に対して責任を負うため、１対多数の関係が存在する。それゆえに、それぞれのモバイルクライアントは単一のホストネットワークサーバと通信する。その後、ホストネットワークサーバはモバイルクライアントとの通信を維持することに対して責任を負う。他の実施例として、複数の接続を取り扱うマルチパスシステムは、ホストネットワークサーバと同様にモバイルクライアントに位置しうる。この実施形態において、いかなるモバイルクライアントもいかなる他のデバイスと直接マルチパス通信セッションを確立しうる。
【００３３】
マルチパスシステムは、マルチパスシステムの動作を変更するためにシステムアドミニストレータに管理手段を提供する、設定インターフェースを必要とする。一実施形態において、この設定インターフェースはマルチパスシステムを有する、各々のシステムに設けられる。他の実施形態において、設定はホストネットワークサーバにのみ入力され、モバイルクライアントはネットワークを通じて設定を知る。システムのこの形式は、マルチパスシステムに必要とされる設定を減らし、中央に集めるという有利な点を有する。後述される設定機能は、ホストネットワークサーバに設けられる。
【００３４】
ホストネットワークサーバのオペレーティングシステムがグラフィカルユーザインターフェースを提供するのであれば、設定はホストネットワークサーバにあるグラフィカルアプリケーションを用いて行われうる。インターフェース４００の設定の一例が図５において指摘される。マルチパシングソフトウェアがグラフィカルユーザインターフェースなしで機器にインストールされるのであれば、マルチパス設定を受信するために他のいくつかの手段が必要とされる。一例は、ネットワークを介してＵＤＰポートで設定パケットを受信、又はダウンロードされたファイルを経由して設定を受信する設定インターフェースである。
【００３５】
図５に示すように、ユーザはマルチパシング機能を有効又は無効にするオプション４０１を有する。マルチパシングが無効にされると、その後、データパケットは、これによりマルチパシング機能をバイパスするシステムによって普通に定義されるようにルーティングされる。図５に示される例において、マルチパス機能が有効にされる。
【００３６】
設定は、以下のパラメータをもまた有するが、他のパラメータがストリームラインに含まれ得、すなわちマルチパシングシステムにさらなる機能を提供する。
・タイムアウト４０２−タイムアウト値はＳＡＣＫ（Ｓｅｌｅｃｔｉｖｅ  Ａｃｋｎｏｗｌｅｄｇｅｍｅｎｔ）が送信される前に待つ必要がある時間の量を指定する。図５に示される例において、値は５に設定される。
・遠隔ＡＣＫ（Ａｃｋｎｏｗｌｅｄｇｅｍｅｎｔ）前の最大アウトスタンディングパケット（Ｏｕｔｓｔａｎｄｉｎｇ  Ｐａｃｋｅｔｓ）４０３−マルチパシング機能はパケットが送信された後に受信側からのポジティブＡＣＫ（Ａｃｋｎｏｗｌｅｄｇｅｍｅｎｔ）を必要とする。このパラメータはＳＡＣＫが必要とされる前に受信機に送信機から送信されるパケットの数を調節する。図５に示される例において、値は３に設定される。
・最大リトライ４０４−このパラメータはクライアントがタイムアウトする前に許される最大リトライ回数を指定する。図５に示される例において、値は１に設定される。
・リトライが超えた場合ネイティブに送信するか４０５−このパラメータは、一度でも最大リトライが切れたときの、システムの動作を指定する。システムが（示される例において１回）パケットを再送信しようとしたが不成功に終わった場合、ルータは、（図５において示されるように）このボックスがチェックされるとき、マルチパス機能を利用せずにパケットを送信する。このボックスがチェックされないとき、パケットは、最大リトライ回数が超過されたときに破棄される。
・定義されたネットワーク４０７−このパラメータはマルチパシング設定に用いられるネットワークを指定する。定義されたネットワークはマルチパシンググループとして参照される。それゆえ、マルチパシンググループは通信に用いられる異なるネットワークを参照する。図５において、２つのネットワーク、すなわちＣＤＭＡ  １ｘＲＴＴ、及びＧＰＲＳはマルチパスグループの一部である。
・動的ネットワークウェイト４０６−動的ネットワークウェイトチェックボックスは、ユーザが手動でネットワークウェイトを割り当てる、あるいはマルチパスシステムが動的にウェイトを決定するかどうかを示す。動的ネットワークウェイトパラメータが設定されるならば（図５参照）、その後、オーバーライド値フィールドは、ユーザがいかなるデータをも入力することを制限するために無効にされる。
・オーバライド値４０８−このパラメータは、動的ウェイトが用いられないとき、ユーザがネットワークに対してウェイト要素を静的に決定することを可能にする。
【００３７】
図５はまた、アドミニストレータが複数のマルチパスルールを定義する一例を示す。これらのルールは、パケット基準と関連付けられ得る。それゆえ、基準と一致するパケットが受信されるのであれば、適切なルールが適用される。図５は基準の２つの形式、つまりＩＰアドレス４１１及びポート番号４１２を示すが、基準のいかなる形式をも用いられ得る。他の非限定的な例は、パケットサイズ及びプロトコルタイプを含む。それぞれの基準の集まりに対してルールの形式が設定される。
・ルール形式４１３−このパラメータは、ルーティングを制御するルールの形式を指定する。現在４つのルール形式、つまり、バンド幅、交互分配を伴うセキュリティ、ランダム分配を伴うセキュリティ、シーケンシャル分配を伴うセキュリティがある。このルール形式のフィールドは、ユーザの要求に依存してパケットに対するマルチパスシステムの動作を指定する。例えば第１行目において、ＩＰアドレス１９２．１６８．０．１が指定される。このように、このＩＰアドレスに合致するいかなるパケットもセキュリティ−ランダム分配ルールでルーティングされる。同様に、ポート８０に合致するいかなるパケットもバンド幅ルールに従ってルーティングされ、ポート４０９６及びＩＰアドレス１９２．１６８．１０．２０に合致するいかなるパケットもセキュリティ−シーケンシャル分配ルールに従ってルーティングされる。
【００３８】
上述の例は、ある基準の形式に基づく、あるデータトラフィックに対するマルチパス設定の一例を示す。それゆえ、指定された基準に合致するデータはマルチパスシステムを通じて流れうる。この例は、２００２年２月２８日に出願されウィットモア（Ｗｈｉｔｍｏｒｅ）らに付与された米国特許出願第１０／０８４，０４９号明細書において開示されるポートルーティング機能のような解決策と組み合わされたマルチパシング機能を示し、その内容は全体としてここにおける参照により明確に取り入れられる。この組合せを用いると、システムアドミニストレータは、システムを通じて流れるデータを制御するために複数の設定を加えることができる。例えば、アドミニストレータは、ウェブブラウザの通信量（つまり、ウェブブラウザアプリケーションに関連するポートから生じる通信量）が、あるマルチパスルール（例えばバンド幅）を用いることを指定でき、一方、公安派遣アプリケーションが異なるマルチパシングルール（例えばセキュリティ）を用いることができる。複数の設定が説明されたが、全ての通信に対する１つの設定もまた意図される。さらに、図５において示されないが、追加の列（列４１３に類似する）は、特定のデータがマルチパシングルールに加えマルチパスグループと関連付けられるように、用意される。
【００３９】
マルチパスシステムは、モバイルクライアントにインストールされたマルチパスシステムがホストネットワークサーバにインストールされたマルチパスシステムと直接通信するように、モバイルクライアント及びホストネットワークサーバの双方に存在する。さらに、それぞれのマルチパスシステムは内側向け及び外側向けトラフィックの両方を処理する。それゆえ、この関係における両端は、どのようにしてマルチパシングシステム経由でパケットを送信するか、及びどのようにしてマルチパスシステムを介して既に送信されたパケットを受信するかを理解している。この関係を考察する１つの方法は、マルチパスシステムが受信された外側向けのデータに対しマルチパスが可能なトラフィックを生成し、そして内側向けのマルチパストラフィックに対して元のデータを復元することである。
【００４０】
マルチパスシステムは４つの異なる機能を提供する。
・ネットワーク測定
・パケットキューイング
・通信制御
・損失許容性
【００４１】
上述の４つのそれぞれは、より詳細に以下に説明される。
【００４２】
ネットワーク計測
マルチパスシステムは、マルチパス通信のために現在用いられる全てのネットワークの特性を理解している。マルチパスシステムの間で通信するために２つの主な必要条件がある。マルチパスシステムは、どの無線ネットワークがユーザが定義したマルチパスグループの一部であるか知ることが必要であり、そしてまた、どのネットワークが範囲内かつ作動中であるかを理解する必要がある。ネットワーク特性、すなわちどのネットワークが範囲内であるかを理解するために、マルチパスシステムはルータからの情報を受信でき、ネットワークから直接情報を受信できる。
【００４３】
それゆえ、ルータと通信することは、マルチパスシステムがネットワークの普及率あるいは状態が動的に変化するかどうか判断できるようにする。情報を決定する１つの手段は、要求されていない通知をルータから受信することによる。それゆえ、ネットワークが動的に変化するにつれ、これらの通知はマルチパスシステムに渡される。
【００４４】
一旦、マルチパスシステムがネットワークを理解すると、ネットワークが作動中であるのであれば、マルチパスシステムはそれぞれのネットワークにウェイト値を割り当てる。ウェイト値は、マルチパスシステムがそれぞれのネットワークを通じて流れるデータの量を指定できるようにする数である。ウェイト値はマルチパスグループの中で意味があるだけである。それゆえ、マルチパスシステムが２つのマルチパスグループを有するのであれば、２つの異なるマルチパスグループにおけるウェイト要素の間に相関関係はない。
【００４５】
ネットワークにウェイト要素を割り当てるために多くのアルゴリズムがあり、全てのオプションが議論されているわけではない。１つの手段は、設定ユーティリティ内でネットワークのウェイト値を静的に認定することである。この場合、ウェイト値は、無線ネットワークのそれぞれに関連付けられたウェイトを認定するため、アドミニストレータによって入力される。ウェイトは、アドミニストレータが、マルチパスグループ全体の中におけるそれぞれのネットワークを通じて、どのくらいのトラフィックを流すことを望むかに基づかれる。
【００４６】
例えば、アドミニストレータが、トラフィックの２５％をネットワーク１を通じて流し、ネットワーク２を通じてトラフィックの７５％を流すことを望むのであれば、ウェイトはネットワーク１に対して１、ネットワーク２に対して３となる。
【００４７】
さらに、マルチパスシステムは、ネットワークを横断するパケットの流れからウェイト値を動的に決定することができる。この手段に従ってウェイト値を割り当てるために、マルチパスシステムはネットワークのレイテンシ特性を調査する。
【００４８】
方法は、個々のネットワークのレイテンシに基づいて、ネットワークウェイトを動的に決定するように説明される。アドミニストレータがそれぞれのネットワークに対してウェイト値を動的に割り当てることを選択するのであれば、マルチパスシステムがこれらの値を決定する。マルチパスシステムはループバック制御パケットを送信及び処理することにより、ネットワークのレイテンシを決定する。マルチパスシステムがループバック制御パケットを受信及び処理した後、数値がネットワークを通じたレイテンシを表すよう決定される。例えば、第１の無線ネットワーク（ネットワークＡ）は１００ｍｓのレイテンシを有するように算出される。さらに、第２の無線ネットワーク（ネットワークＢ）は１５０ｍｓのレイテンシを有するように算出される。一旦これら２つの数値が決定されると、比は実際のウェイト値を得るために用いられる。以下の式は比を決定するために用いられる。
2007538422.tif 000003
【００４９】
これにおいて、ネットワークＡ’の比は式（１）を用いると４である。すなわち、４＝［１００／（１００＋１５０）］＊１００である。さらに、ネットワークＢ’の比は式（１）を用いると６である。すなわち、６＝［１５０／（１００＋１５０）］＊１００である。一旦、これらの比が算出されると、比は降順（最大から最小へ）で配列される。そして、個々のネットワークは、レイテンシ値に応じて昇順（最も小さいレイテンシが初め、すなわち速いネットワークが初め）でリストにされる。最後に、それぞれのネットワークに対するウェイト値を示すため、ネットワークリストにおける第１のネットワークは、比リストにおける第１の比と関連付けられ、ネットワークリストにおける第２のネットワークは、比リストにおける第２の比と関連付けられ、などなど。この例において、第１のネットワークは最小のレイテンシ（すなわち１００ｍｓのレイテンシ）を有し、それゆえ、最大の比（６）がそのウェイトとして割り当てられる。
【００５０】
説明はマルチパスグループ（すなわち静的ウェイト又は動的ウェイト）のために単一の手段を用いることを論じているが、他の実施形態は単一のマルチパスグループの中で複数の手段を用いることができる。ウェイト値を定義するアルゴリズムはより複雑になるが、マルチパスシステム全体は説明されたように機能を果たす。
【００５１】
データ収集の静的な方法は、最も速くないにもかかわらず、ユーザが単一のネットワークがデータトラフィックの大多数を得るように指定できるという点で、少なくとも１つの有利な点を有する。特定のネットワークが、低安全で速いネットワークよりも安全であるが遅いのであれば、ユーザは遅いネットワークに高いウェイト要素を置く。それゆえに、ユーザはスピード以外の、例えばネットワークセキュリティといった要素を決定するためにウェイトを適用することができる。
【００５２】
一方、静的なシナリオはアドミニストレータに卓越した柔軟性を提供するが、一般的には動的な設定ほど効率的ではない。例えば、無線ネットワークの性能は、モバイル機器の移動により動的に変化する。それゆえ、特に無線ネットワークでは、ネットワーク特性が変化し、動的な手段は長時間にわたりネットワークレイテンシにおける変化を動的に検出するため、変化を補償することができる。
【００５３】
ネットワークレイテンシ特性の動的な収集を支えるために、マルチパスシステムはループバック制御パケットを生成することに対して責任を負う。ループバック制御パケットの典型的な実施形態が図７において示される。ループバック制御パケットはマルチパスシステムの両方の側により生成され、ネットワークＩＤ７０１及び以下の情報を含む。
・送信タイムスタンプ７０２−このパラメータは、送信側マルチパスシステムがループバック制御パケットを送信する時のタイムスタンプを指定する。
・受信タイムスタンプ７０３−このパラメータは、受信側マルチパスシステムがループバック制御パケットを受信した時のタイムスタンプを指定する。
・返信タイムスタンプ７０４−このパラメータは、受信側マルチパスシステムがループバック制御パケットに返答する時のタイムスタンプを指定する。
・ウェイト要素７０５−ウェイト要素は、特定の無線ネットワークに対する現在のウェイト値を指定する。
【００５４】
マルチパスシステムは通信セッションを通じて様々な間隔でループバック制御パケットを生成する。ループバック制御パケットは様々なネットワークを通じて独立に送信される。その周波数は、システムを通じて両方向へ既に流れているデータパケットの性能及び周波数に依存する。例えば、性能最適化のため、システムを通じて送信されている作動中の通信があるのであれば、ループバック制御パケットは存在している通信の末端に埋め込まれる。これは、無線ネットワークを通じて制御機能を結合するために、存在するネットワークトラフィックを活用する。あるいは、ループバック制御パケットは自ら送信されうる。
【００５５】
キューイング
マルチパスシステムは受信した全ての内側向き及び外側向きのパケットを  記憶する。本発明の一実施形態において、マルチパスシステムはルータからローパケット（ｒａｗ  ｐａｃｋｅｔｓ）を受信、すなわち、パケットはモバイルアプリケーション又はホストアプリケーションのどちらか一方により生成される。パケットがマルチパスシステムにより受信されるとき、マルチパスシステムはＩＰＣを経由してパケットに対するルール識別子を受信する。このルール識別子はデータを処理するために用いられるルールを示す。マルチパス設定が最初に起動するとき、現行のルールは、マルチパスシステムに登録された全てのモバイル機器に共有される。さらに、ルール識別子はネットワークを介して送信されたパケットに埋め込まれ、そして受信するマルチパスシステムは受信されたパケットをそれに応じて処理する。
【００５６】
マルチパスシステムはマップデータ構造、すなわちより正確にはキューのマップにおいて受信されたそれぞれのパケットを記憶する。マップは、キー／値ペアのリストを有するデータ構造オブジェクトである。マップは重複したキーを有することはできず、それぞれのキーは１つの値のみにマップする。アレイ、スタック、キュー、又はリンクリストのような、他のよく知られたデータ構造が用いられ得るが、マップは、マルチパシングにより必要とされる機能の形式に対して最高の性能を提供する。
データ構造の一実施形態は図８に示される。マップ８０１は、適用されたルールに基づいてルールＩＤ８０２を記録する。それぞれのマップの記憶位置に、データの様々な要素からなる構造がある。構造は、マルチパシングパケットに関係づけられるデータオブジェクトであるキュー８０３からなる。図８はマップデータ構造のそれぞれの要素における、５つの形式のデータを示す。
・パケットＩＤ８０４−このエントリは、マルチパスシステムを通じて送信されるそれぞれのパケットの固有パケットＩＤ値を記憶する。
・データパケット８０８−このエントリは、ルータからマルチパスシステムにより受信されるローデータパケットを記憶する。
・通信カウンタ８０６−このエントリはデータに対して試行される通信の回数を記憶する。
・初期エントリ８０５−このエントリは、パケットがマルチパスシステムにより初めに受信された時である初期システムタイムスタンプを記憶する。
・最終通信８０７−このエントリは、最終通信試行のシステムタイムスタンプを記憶する。
【００５７】
通信制御
通信制御機能は、マルチパシングルールに従って受信機にパケットを送信する責任を負う。マルチパスシステムがパケットを送信する準備ができると、通信制御機能は、マップ追跡構造内のキューデータ構造に入力された項目を検索することにより開始する。パケットを検索するとき、通信制御機能はパケットと関連づけられたルールに従ってパケットを処理することを開始する。
【００５８】
パケットは、現時点で個々のネットワークに対して指定されたウェイト要素に基づいて指定されたネットワークに割り振られる。例えば、ネットワークＡが１ウェイトを割り当てられると、ネットワークＢは３ウェイトを割り当てられ、そして、受信された４つのパケットそれぞれに対して、１つのパケットはネットワークＡに割り当てられ、３つのパケットはネットワークＢに割り当てられる。上述の例において、マルチパスシステムが８つのパケットを受信するのであれば、その後、２つのパケットがネットワークＡに割り振られ、６つのパケットがネットワークＢに割り振られる。さらに、マルチパスシステムは、ネットワークを横断するパケットをさらに分配するためにパケットの大きさを報告する。
【００５９】
ルールがセキュリティ分配に設定されるのであれば、ウェイト値は、パケットが複数のネットワークパケットの間でどのように解体されたのかを確認するために用いられる。パケットと関係づけられたルールがマルチパスセキュリティに設定されるのであれば、パケットは分割される。セキュリティ制御に対して３つの主な設定がある。すなわち、交互、ランダム、シーケンシャル分配である。交互設定において、マルチパスシステムは、異なるネットワークに対応する異なるパケットに渡るそれぞれのバイトを交互にする。例えば、２つのネットワークの間で等しいウェイトを有するネットワーク設定において、全ての奇数バイトはネットワークＡを介して進み、そして全ての偶数バイトはネットワークＢを介して進む。ランダム設定において、個々のバイトは異なるネットワークを横断してランダムに分配される。最後に、シーケンシャル分配において、バイトはネットワークに割り当てられたウェイトに従ってネットワークを横断して分配される。この例において、ネットワークＡが２のウェイトを有し、ネットワークＢが１のウェイトを有するのであれば、７５０バイトパケットは以下のように破壊される。
2007538422.tif 000004
【００６０】
図６は、マルチパスシステムが異なるネットワークを介してパケットを分配する手段の例を示す。第１の例６０は、バンド幅割り振りのために設定されるマルチパスシステムを示す。示されるこの例において、マルチパスシステムはホストアプリケーションから３５パケットを受信する。４及び１のウェイト要素に基づき、マルチパスシステムは、４パケットをＣＤＭＡ  １ｘＥＶＤＯネットワークを通じて、１パケットをＣＤＭＡ  １ｘＲＴＴネットワークを通じて分配する。パケット分配の結果は、行６３に示されるように、ＣＤＭＡ  １ｘＥＶＤＯネットワークを通じてパケット１−４、６−９、１１−１４、１６−１９、２１−２４、２６−２９、及び３１−３４を送信する。パケット５、１０、１５、２０、２５、３０、及び３５は、行６４に示されるように、ＣＤＭＡ  １ｘＲＴＴを経由して送信される。
【００６１】
図６はまた、セキュリティに基づくパケット分配の例６５を示す。この例において、マルチパスシステムはアプリケーションから単一のパケットを受信し、システムは、バンド幅例６０におけるように、同じウェイト要素を用いるように設定される。ウェイトに基づき、表は、マルチパスシステムがセキュリティ定義に基づいて結果パケットを生成する手段を示す。セキュリティ交互分配ルールにおいて、行６７に見られるように、ＣＤＭＡ  １ｘＲＴＴネットワークへ向けられた結果パケットは３００バイト長であり、オリジナルパケットから５バイトごとを含む。行６６において示されるように、ＣＤＭＡ  １ｘＥＶＤＯネットワークへ向けられた結果パケットは１２００バイト長であり、オリジナルパケットから全ての残りのバイトを含む。セキュリティ−ランダム分配ルールが適用されるのであれば、行６８において示されるように、ＣＤＭＡ  １ｘＥＶＤＯネットワークに向けられた結果パケットは１２００バイト長であり、オリジナルパケットからランダムに選択された１２００バイトを含む。行６９において示されるように、ＣＤＭＡ  １ｘＲＴＴネットワークに向けられた結果パケットは３００バイト長であり、オリジナルパケットからランダムに選択された３００バイトを含む。セキュリティ−シーケンシャル分配ルールが適用されるのであれば、行７０において示されるように、ＣＤＭＡ  １ｘＥＶＤＯネットワークに向けられた結果パケットは１２００バイト長であり、オリジナルパケットから初めの１２００バイトを含む。行７１において示されるように、ＣＤＭＡ  １ｘＲＴＴネットワークに向けられた結果パケットは３００バイト長であり、オリジナルパケットから最後の３００バイトを含む。
【００６２】
全ての例において、マルチパシングシステムは、マルチパスパケットを生成するためにそれぞれの無線ネットワークに対して最大転送単位（ＭＴＵ）を用いる。ＭＴＵ設定は、無線ネットワークを通じて送信される最大パケットサイズを指定する。それゆえ、ＭＴＵ設定は生成されるパケットの大きさの上限を指定する。一旦、全てのパケットが生成されると、パケットは無線ネットワークを通じた通信のために、ルータモジュールに送り戻される。
【００６３】
損失許容度
マルチパシングの損失許容機能は、データが成功のうちに送信されることを保証するため、マルチパスシステムを通じた再試行メカニズムを提供する。ＡＣＫ（Ａｃｋｎｏｗｌｅｄｇｅｍｅｎｔ）を処理するための多くの異なるよく知られたアルゴリズムがあり、様々なアルゴリズムがマルチパスシステムに用いられ得る。好ましい実施形態では、ＲＦＣ２０１８“ＴＣＰ  ＳＡＣＫオプション”及びＲＦＣ２８８３“ＴＣＰのＳＡＣＫオプションに対する拡張”として定義されるＳＡＣＫ（Ｓｅｌｅｃｔｉｖｅ  Ａｃｋｎｏｗｌｅｄｇｅｍｅｎｔ）機能が用いられる。ＲＦＣ２０１８及び２８８３は全体としてここにおける参照により明確に取り入れられる。
【００６４】
オペレーションシステムのバックグラウンドスレッドは、いかなるパケットタイムアウトもが期限切れになっていないかどうかを調査する。このスレッドは、最終通信試行からの時間が設定値を超えているかどうかを決定するために、前もって送信された全てのパケットを調べる。時間が経過しているのであれば、マルチパシングシステムはリンクの反対側に送信するためルータに戻すよう適切なパケットを再送信する。システムはまた、キューイングデータ構造においてパケットに関連する通信試行を増加させる。
【００６５】
パケットは、パケットと関連付けられる通信試行が設定において定められる最大通信試行よりも多いのであれば、終了する。実際の設定はこの時点で行われるものを決定する。パケットは破棄、あるいはマルチパスシステムにかかわりなく単一のネットワークを介して送信される。パケットが破棄されるのであれば、標準ＩＣＭＰパケットはオリジナルパケットを送信したアプリケーションに送り返される。
【００６６】
パケット分配がセキュリティに基づくのであれば、失われたパケットの動作を指定する他の実施形態が存在しうる。例えば、データパケットが複数のネットワークを横断して分割され、１つのパケットがネットワークを成功裏に横断しないのであれば、マルチパスシステムはパケットを全て一緒に破棄する。残ったマルチパスの断片が“よいネットワーク”を介して送信され、あるいはオリジナルパケットの全体が“よいネットワーク”を介して送信されうる。
【００６７】
処理の流れ
マルチパスシステムを通じたデータの処理の流れが説明される。
【００６８】
初期化
マルチパスシステムが開始すると、全てのデータ構造が初期化される。パケット及び関連するＳＡＣＫを追跡することに対して責任を負う少なくとも２つのマップデータ構造がある。マップデータ構造のうちの１つは、内側向けのデータトラフィックを維持するために用いられ、他のデータ構造は外側向けのデータ通信を維持することに対して責任を負う。データ構造初期化が行われた後、システムは、マルチパスシステム内での活動を管理するために異なるオペレーティングシステムスレッドを開始する。以下のスレッドが開始される。
ネットワーク計測スレッド−このスレッドは無線ネットワークのウェイトに対する最新情報を受信及び処理することに対して責任を負う。また、このスレッドは、ループバック制御パケットを処理することに対して責任を負う。
外側向けマルチパス−外側向けマルチパススレッドは、ルータからの外側向け通信に対する要求を聞くことに対して責任を負う。
内側向けマルチパス−内側向けマルチパススレッドは、ルータからの内側向け通信に対する要求を聞くことに対して責任を負う。
マルチパスリトライ−マルチパスリトライスレッドは、パケットがリトライされねばならないかどうか決定するため、いかなる利用可能なキューをも調査することに対して責任を負う。
【００６９】
一旦、クライアント側が開始すると、ゲートウェイへ登録パケットを送信することにより、ホストネットワークサーバ上の適切なマルチパスシステムに登録する。この登録パケットは、クライアントマルチパスシステムが登録し、処理するための準備をするホストネットワークサーバに警告を出す。一旦ホストマルチパスシステムが登録パケットを受信すると、モバイルマルチパスシステムに返す登録ＡＣＫを送信する。ホストマルチパスシステムはまた、設定ルールを送信する。この処理は、対応するモバイル側が設定のためにホストと同期する間、マルチパス設定がホスト側でのみ指定されることを可能にする。好ましい実施形態において、ルート登録ＡＣＫは設定データを含むように拡張される。しかしながら、他の実施形態では、ホストネットワークサーバは設定データを提供するために追加のパケットを送信する。設定に加えて、マルチパスシステムは、レイテンシ特性のベンチマークを図るという目的のためにマルチパスシステムを実行する機器のタイムスタンプをやりとりする。
【００７０】
実際のマルチパスシステムは、対応するマルチパスシステムから肯定的なＡＣＫを受信するまで、完全に開始しない。マルチパスシステムのホスト側はクライアント側と同様の手段で開始するが、本実施例において、いかなる登録メッセージをも送信しない。マルチパス通信セッションの間、システムアドミニストレータが設定を変更又は更新するのであれば、ホストネットワークサーバは、モバイルクライアントへ、求められていない設定更新パケットを送出する。
【００７１】
ネットワーク測定スレッド
このネットワークの初期化において、このスレッドは、ネットワークウェイトに対する要求のために、外側向けマルチパススレッドからの要求を待つ。ネットワーク測定スレッドは、プロセス間／内−通信（ＩＰＣ）という手段を用いるシステムにおける他のスレッドと通信する。スレッドが怠けている間、ループバック制御パケットを経由する動的な更新を必要とするシステムにおいて、いかなるネットワークもが存在するのであれば、初期タイマーが無線ネットワークに対して終了するとき、ネットワーク測定スレッドは、マルチパス関係にある他端へ配送するため、ルータにループバック制御パケットを送信する。スレッドが怠けている間、スレッドは、ネットワークウェイトを要求するスレッドからの要求を待つか、あるいはループバック制御パケットが受信されたことを検出する。
【００７２】
スレッドがループバック制御パケットを受信するのであれば、ピアシステムに関連付けられたタイムスタンプに基づいてループバック制御パケットを処理する。一旦、ネットワークのレイテンシがスレッドによって算出されると、スレッドはネットワークと関連付けられたレイテンシを、例えば内部テーブルに記録する。さらに、ネットワーク計測スレッドは、異なるネットワークの初期レイテンシ測定結果を記憶する。マルチパスシステムが将来の時間でのネットワークレイテンシを決定することができない場合、記憶された初期測定結果を用いる。最後に、ウェイト要素は、新しいウェイト要素が決定されるのであれば、更新される。
【００７３】
スレッドがネットワークウェイトに対する要求を受信するのであれば、ＩＰＣを経て要求を受信する。要求の中に含まれるものは、ネットワークＩＤである。スレッドは、特定のネットワークと関連付けられた実際のウェイトに対する内部記憶テーブルを調査する。その後、記憶された値を検索し、ＩＰＣメカニズムを経て呼び出し人に値を戻す。本実施形態において、単一のネットワークに対するウェイトは、検索される。しかしながら、複数のマルチパスグループが生成されるのであれば、適切なネットワークに対する設定は、それぞれのマルチパスグループに対して検索されうる。
【００７４】
外側向けマルチパススレッド
外側向けパケットを処理することが論じられる。外側向けマルチパススレッドは、対応したマルチパスシステムに送信される外側向けデータを処理することに対して責任を負う。外側向けマルチパススレッドは外側向けデータパケットを、そして他の実施形他においては他の形式のパケットを最小限に生成する。スレッドは、ルータからのパケットを待つことによって、アイドル状態において開始される。ルータが外側向けマルチパススレッドにパケットを渡すとき、様々な情報もまた渡される。
・データパケット−このフィールドは、マルチパスシステムがシステムを通じて送信することを要求されるローデータパケットを含む。
・データパケット長さ−このフィールドはデータパケットの長さを含む。
・ルール形式−このフィールドはどのマルチパスルールが適用されるべきかを決定する識別子を含む。
【００７５】
外側向けマルチパススレッドは他のデータを要求する。例えば、マルチパスシステムはパケットを送信したとき、複数のオリジナルパケットを互いに結合する。この場合には、データパケットの中に、個々のパケットの境界がどこにあるかを決定するための記載がある。それゆえ、データパケットが反対端で処理されるとき、システムは個々のパケットを分割することができる。１つの通信において多数の小さなパケットを結合することは、有用な最適化である。
【００７６】
この点で、外側向けマルチパススレッドは、グループと関連するネットワークの現在のウェイトを初めに決定する。スレッドは、適切なネットワークに対するウェイトを検索するため、ネットワーク計測スレッドにメッセージを送信する。ネットワークルールがバンド幅を指定するのであれば、システムはネットワークウェイトに基づいてネットワークにパケットを割り当てることを開始する。例えば、現在のルールが３つのネットワークに対して提供され、ウェイトが１、２、及び３であれば、外側向けマルチパススレッドは第１のパケットをネットワークＡに割り当て、第２及び第３のパケットをネットワークＢに割り当て、そして、最後に第４、５、及び６のパケットをネットワークＣに割り当てる。
【００７７】
セキュリティルールの場合、外側向けマルチパススレッドは、これらのウェイトに基づいて複数のパケットの中からパケットを分割する。現在のルールが３つのネットワークに対して提供され、ウェイトが１、２、及び３であれば、外側向けマルチパススレッドは３つの新しいパケットを生成する。第１のパケットは最も小さい大きさを有し、第２は中間の大きさを有し、第３はオリジナルパケットの最も大きな断片を有する。
【００７８】
外側向けマルチパススレッドはまた、パケットの最大サイズを識別することに対して責任を負う。ネットワークＭＴＵは、パケットの最大サイズの上限を識別するために初めに用いられる。ウェイトはパケットに渡る分配を識別するために用いられる。例えば、３つのネットワークが対応するウェイト１、２、及び３を有し、ルータから受信されたオリジナルデータパケットが１０００バイトであるならば、ＭＴＵが超過されないと仮定すると、１６６バイトがパケット１に割り当てられ、３３４バイトがパケット２に割り当てられ、そして最後に５００バイトがパケット３に割り当てられる。
【００７９】
セキュリティルールの場合において継続すると、外側向けマルチパススレッドは、データパケットと関連付けられたセキュリティルールの形式を識別する。ルールが交互分配であるならば、外側向けマルチパススレッドはネットワークＡのパケットに第１のバイトを置き、ネットワークＢのパケットに第２のバイトを置き、そしてネットワークＣのパケットに第３のバイトを置く。スレッドは、全ての新しいパケットがネットワークウェイトの計算及びＭＴＵ設定に従いデータで満たされるまで、この一連を継続する。
【００８０】
ルールがランダム分布であるならば、マルチパスシステムは、複数のネットワークに対応したパケットに渡るランダムな形式にオリジナルパケットのバイトを置く。この場合において、スレッドはまた、受信マルチパスシステムが適切なシーケンスを処理するように、パケットの中にバイトを置くために用いられるランダムシーケンスを埋め込む。ランダムシーケンスを埋め込む１つの手段は、シーケンスを指定するためにデータパケットの中に追加のフィールドを埋め込むことである。例は図９に示され、以下に説明される。
【００８１】
最後に、ルールがデータのシーケンシャル分配を指定するのであれば、マルチパスシステムはウェイトに従ってパケットを壊す。ウェイト１、２及び３がそれぞれ割り当てられた３つのネットワークを有する上述の例において、第１の１６６バイトがネットワーク１に割り当てられ、第２の３３４バイトがネットワーク２に割り当てられ、そして最後に５００バイトがネットワーク３に割り当てられる。
【００８２】
一旦、パケットが生成されると、マップ記憶構造に加えられる。挿入の間、スレッドはまたパケットに現在のタイムスタンプを置き、リトライカウンタを０にリセットする。
【００８３】
複数のパケットが生成され、キュー構造に入れられた後、パケットは、パケットの中に埋め込まれるＣＲＣ値と共に、新しいデータパケットの中に置かれる。このＣＲＣ値はパケットの中のデータに基づいて計算されるチエックサムである。このＣＲＣ値は通信でのいかなるエラーをも検出するために遠隔側で用いられる。新しく生成されたデータパケットは、受信するマルチパスシステムへの複数のネットワークを横断する配送のために、その後ルータに送信される。ＣＲＣチェックを用いることはパケットエラーを検出するためのたった１つの手段であり、ＭＤ５を用いるハッシングのような他の手段もまた用いられ得る。
【００８４】
内側向けネットワークスレッド
内側向けネットワークスレッドが論じられる。内側向けネットワークスレッドは、送信するマルチパスシステムから受信されるいかなるパケットをも処理するための責任を負う。受信されるパケットにおいて少なくとも５つの主な形式がある。
・内側向けデータパケット
・ループバックデータパケット
・ＳＡＣＫ（Ｓｅｌｅｃｔｉｖｅ  Ａｃｋｎｏｗｌｅｄｇｅｍｅｎｔｓ）
・ＳＮＡＣＫ（Ｓｅｌｅｃｔｉｖｅ  Ｎｅｇａｔｉｖｅ  Ａｃｋｎｏｗｌｅｄｇｅｍｅｎｔｓ）
・登録及び設定パケット
【００８５】
内側向けネットワークスレッドがループバック制御パケットを受信するときは常に、内側向けネットワークスレッドは、パケットの内部に入れられたタイムスタンプに基づきネットワークを通じたレイテンシを算出する、ネットワーク測定スレッドにパケットを送信する。内側向けネットワークスレッドは、その後、ネットワーク管理スレッドからループバック制御パケットを受信し、最初の送信者にそれを返信する。
【００８６】
内側向けネットワークスレッドが受信されると常に、内側向けネットワークスレッドは、パケットが壊れているかどうか初めに決定する。内側向けネットワークスレッドはパケットのＣＲＣを計算し、パケットの中に埋め込まれるＣＲＣと比較する。ＣＲＣチェックが失敗すると、その後、マルチパスシステムはパケットを破棄し、パケットのリトライを要求するＳＡＣＫを送信する。
【００８７】
パケットのＣＲＣチェックが成功すると、マルチパスシステムは、パケットが新しいマルチパス通信の先頭かどうか、又はパケットが既存の通信の一部であるかどうかを決定する。パケットが通信の第１のパケットであるならば、スレッドは受信されたパケットの経路を維持するためデータ構造を割り振ることにより開始される。同じマルチパス通信に属する将来受信される全てのパケットは、同様に追跡のためのデータ構造の中に置かれる。
【００８８】
全てのパケットが正確に受信されているのであれば、内側向けネットワークスレッドは送信者にＳＡＣＫをもって受信したことを知らせる。内側向けネットワークスレッドは、受信されたパケットの中に符号化されるルールに基づいて最初のデータ通信を再構築する。一旦、内側向けネットワークスレッドがデータパケットを再構築すると、適切なアプリケーションへの配送のために、新しい再構築されたデータパケットをルータに渡す。データパケットは再構築されるため、異なったネットワークを横断したにも係わらず、最初に送信されたパケットと全く同じに見える。
【００８９】
パケットの全てが正確に受信されておらず、あるいは受信機がデータ通信において中断を検出したのであれば、受信機は、紛失した、すなわち失われたパケットの再送信を要求するため、送信機にＳＡＣＫを送信する。
【００９０】
ＳＡＣＫパケットが受信されると常に、内側向けネットワークスレッドはパケットを処理しようと試みる。あるそのような手段は、受信され、あるいは受信されないパケットに応じてクエリに応答する。この場合、送信機は受信機に正確に受信されたデータパケットを返答する。内側向けネットワークスレッドはデータパケットを受信することにより応答する。
【００９１】
最後に、内側向けネットワークスレッドは登録パケットを受信する。登録パケットがホストネットワークサーバにインストールされたマルチパスシステムにより受信されたのであれば、内側向けネットワークスレッドはモバイルシステムに登録する。応答の中で、スレッドは、ゲートウェイに記憶される完全なルールの定義を含む、登録応答をマルチパスシステムに送り返す。これらの定義は、マルチパシングに対して定義されるルールに対応する。
【００９２】
マルチパスシステムがクライアントとしてインストールされるのであれば、登録パケットを受信することは、２つの主な機能を駆動させる。登録応答を成功裏に受信すると、マルチパスシステムは、それ自身の設定の中にルールの定義の全てを即座に記憶する。さらに、登録の受領応答はマルチパスシステムに対する初期化ルーチンを完了させる。マルチパスシステムはデータ通信に対する使用を開始することができる。
【００９３】
マルチパスリトライスレッド
マルチパスリトライスレッドはリトライパケットに対して責任を負う。システムが受信機（すなわち、マルチパスシステムが受信通信の最中にある）であるならば、マルチパスリトライスレッドは、それぞれのＡＣＫに対するパケットの数に基づいて、送信システムにＳＡＣＫを送信する。返答の方法論は、設定の中の“遠隔ＡＣＫ前最大アウトスタンディングパケット”パラメータの中に記憶される値を用いる。送信機がこの値よりも多くの数のパケットを送信し、ＡＣＫを受信しないのであれば、マルチパスリトライスレッドは再送信が必要とされるパケットを決定するためにＳＡＣＫを送信する。
【００９４】
パケットが再送信されるのであれば、マルチパスリトライスレッドは、マップデータ構造に記憶される現在のリトライカウントを増やす。現在のリトライカウントが設定に記憶される“最大リトライ”値よりも大きいのであれば、スレッドはパケットを無効にしようとする。設定がチェックされた“リトライが超えたときネイティブに送信するか？”ボックスを有するのであれば、マルチパスリトライスレッドは最初のデータパケットを再構築し、マルチパスシステムなくして配送するためにルータに送り戻す。それゆえ、パケットはマルチパシング機能なくして通常のデータ通信として送信される。
【００９５】
現在のリトライカウントが設定に記憶される“リトライ最大数”よりも大きく、“リトライが超えたときネイティブに送信するか？”がチェックされないのであれば、パケットは送信されない。代わりに、スレッドは、パケットが無効にされ、破棄されるべきであることをルータに警告する。ルータは必要と決定したどのような手段でもパケットを無効にすることができる。多くの場合、無効は、アプリケーションを送信した初めのアプリケーションにＩＣＭＰメッセージを送り戻すことにより実行されるが、ルータシステムは解決策を実行する異なる手段を選択しうる。
【００９６】
図９Ａは、セキュリティ分配を有する異なるネットワーク間でバイナリエンコーディングするためのパケットフォーマットの一例を示す。上述のように、セキュリティのためにマルチパシングを用いるとき、ユーザは、異なる無線ネットワーク間で個々のバイトの実際の分配を指定するオプションを有する。マルチパシングシステムの両側は、この関係に気づかなければならない（すなわち、送信機はパケットをエンコードする手段を知らなければならず、受信機はパケットをデコードする手段を知らなければならない）。図９Ａ及びＢは、自動的にそのパケットの中のデータ分配をエンコードする、送信側マルチパスシステムに対して効果的な手段を示す。それゆえ、受信側マルチパスシステムがこのデータパケットを受信すると、最初のデータを復元することができる。
【００９７】
エンコーディングは、新しいデータパケット内の特定のフィールドを用いて実行される。第１のフィールドはパケットＩＤ９０を含み、第２のフィールドは合計パケット長９１を記憶する。 “バイナリコーディング”フィールド９２は最初のパケットの中のそれぞれのバイトに対して１ビットを含む。それゆえ、最初のパケットが１００バイト長であるならば、このフィールドは１００ビット長である。ビットが１に設定されるのであれば、そのパケット位置にあるバイトは、このパケットに含まれ、他方、データバイトは異なるパケットの中でエンコードされる。
【００９８】
図９Ｂに示された例を参照すると、２０バイトのオリジナルパケットは２つのネットワークを横断して送信され、ネットワークＡはウェイト１を有し、その一方ネットワークＢはウェイト３を有する。マルチパシングパケットＡは１に設定される第３のビットを有する。これは、オリジナルデータパケットの第３のバイトがこのパケットの中でエンコードされることを意味する。しかしながら、第１の２ビットは０である。これらの０は、第１の２バイトがこのパケットの中でエンコードされないが、他のパケットの中でエンコードされるという事実を示す。
【００９９】
最後に、最終フィールド９３は実際のデータバイトを含む。このフィールドを説明するもっともよい方法は、例を拡張することである。上述のように、マルチパシングパケットＡの第３のビットは１に設定され、それゆえ、実際のバイトフィールド９３における第１のバイトは、オリジナルパケットにおけるその位置（３）に実際のデータバイトを示す。他の例において、マルチパシングパケットＢにおいて、ビット１及び２は１に設定される。このように、バイト１及び２はこのパケットの中にあり、それゆえに、第１の２つのバイトは“Ａ”及び“Ｂ”であり、これらのバイトはバイト１及び２の位置の中に置かれる。
【０１００】
上記の発明は複数のネットワークの中でデータを分配するための様々なアルゴリズムと共に説明されている。いくつかの例示的な手段が説明される一方で、本発明は、いかなる形式のアルゴリズムが複数のネットワークの間でデータを分配するために使用されうるような柔軟性を提供する。他の手段が含まれうるが、他の手段は、どのバイトがどんなネットワークに関連づけられるか、及び異なるパケットとルールのランダムな提携を指定することに限定されない。
【０１０１】
本発明はいくつかの例示的な実施形態への参照をもって説明されているが、用いられている言葉は、限定よりもむしろ解説及び説明の言葉である。改変は、本発明の側面における本発明の範囲及び精神から離れることなく、現在述べられるように、そして補正されるように、補正された請求項の範囲でなされうる。本発明は適切な手段、材料、及び実施形態を参照して説明されているが、本発明は公開された事項に限定されることを意図しない。むしろ、本発明は、追加された請求項の範囲の中にある、全ての機能的に同等な構造、手段、及び機能に拡張される。
【０１０２】
本発明の様々な実施形態に従って、ここに説明された手段は、コンピュータプロセッサ上で実行されるソフトウェアプログラムのような動作を意図する。集積回路、プログラマブルロジックアレイ、及び他のハードウェア機器を含むが、限定されない専用のハードウェア実施形態は、ここに説明される手段を実行するよう、同様に構成されうる。さらに、分配処理、部品／オブジェクト分配処理、並行処理、または仮想マシンを含むが限定されない他のソフトウェア実施形態は、ここに説明される手段を実行するよう、また構成されうる。
【０１０３】
ここに説明される本発明のソフトウェア実施形態は、ディスク又はテープといった磁気媒体、ディスクといった光磁気又は光学媒体、又はメモリカード若しくは１以上の読み取り専用（不揮発性）のメモリ、ランダムアクセスメモリ、若しくは他のリライタブル（揮発性）メモリを収容する他のパッケージといったソリッドステート媒体のような有形の記憶媒体へ任意に記憶されることがまた記される。Ｅメール、又は他の内蔵式の情報アーカイブ又は一組のアーカイブに添付されるデジタルファイルは、有形の記憶媒体と同等な配布媒体とみなされる。それゆえに、本発明は、ここに挙げられた、そして同等とみなされる技術及び後継の媒体のような、ここに記載されたソフトウェア実施形態がその中に記憶される、有形の記憶媒体又配布媒体を含むとみなされる。
【０１０４】
本明細書は、適切な規格及びプロトコルに対する参照と共に、実施形態において実行される構成要素及び機能を説明したが、本発明はそのような規格及びプロトコルに限定されない。インターネット及び他のパケット変換ネットワーク通信（ＩＰ  ｖｅｒｓｉｏｎ  ４、ＩＰ  ｖｅｒｓｉｏｎ  ６、ＵＤＰ／ＩＰ、ＴＣＰ／ＩＰ、ＩＣＭＰ）、及び無線ネットワーク（８０２．１１ａ、８０２．１１ｂ、８０２．１１ｇ、ＣＤＭＡ  １ｘＲＴＴ、ＣＤＭＡ  １ｘＥＶＤＯ、ＧＳＭ、ＣＤＰＤ、ＧＰＲＳ、ＥＤＧＥ、ＵＭＴＳ、ＲＤ−ＬＡＰ、ＳＭＲ、ＬＭＲ）に関するそれぞれの規格は、最先端の例を示す。そのような規格は、本質的に同じ機能を有する、より速いあるいはより効果的な同等物により定期的に入れ替えられる。従って、同じ機能を有する入れ替えられる規格及びプロトコルは、同等物とみなされる。
【図面の簡単な説明】
【０１０５】
【図１】本願発明の一側面に合致する、通信のスループットを増加させるための複数の無線ネットワークの使用に対する一般的な概略を示した図である。
【図２】本願発明の一側面に合致する、データのセキュリティを向上させるための複数の無線ネットワークの使用に対する一般的な概略を示した図である。
【図３】マルチパシングシステムの様々な構成要素の概略的なブロック図である。
【図４】本願発明の一側面に合致する、ソフトウェアの構成要素を示したブロック図である。
【図５】本願発明の一側面に従って、典型的な設定画面を示した図である。
【図６】本願発明の一側面に従って、それぞれのネットワークへのデータの割り振りを演算するためにネットワークウェイトを使用する一例を示した図である。
【図７】本願発明の一側面に従って、典型的なループバック制御パケットを示した図である。
【図８】本願発明の一側面に従って、データパケットを記憶するために用いられる内部マップデータ構造の一例を示した図である。
【図９Ａ】本願発明の一側面に従って、マルチパス通信中にバイトのランダム割り振りを暗号化する一例を示した図である。
【図９Ｂ】本願発明の一側面に従って、マルチパス通信中にバイトのランダム割り振りを暗号化する一例を示した図である。
【図１】
2007538422.tif 000005
【図２】
2007538422.tif 000006
【図３】
2007538422.tif 000007
【図４】
2007538422.tif 000008
【図５】
2007538422.tif 000009
【図６】
2007538422.tif 000010
【図７】
2007538422.tif 000011
【図８】
2007538422.tif 000012
【図９Ａ】
2007538422.tif 000013
【図９Ｂ】
2007538422.tif 000014