(57)【要約】      （修正有）【課題】デバイスが第１のタイプのネットワークと第２のタイプのネットワークとの間でパケットを転送するためのルーティングを提供する。【解決手段】デバイス１２０は、第１のタイプのネットワーク１００の顧客構内機器１１０に接続され、顧客構内機器１１０およびネットワーク装置１３０から能力情報を受信する通信インタフェースと、受信された能力情報に基づいて、デバイス１２０のパケットのルーティング・ルールを定義するルーティング・アプリケーション１２２とを含む。ルーティング・ルールは、パケットを第１のタイプのネットワーク１００と第２のタイプのネットワーク２００との間で転送するために、顧客構内機器１１０またはネットワーク装置１３０を特定する。通信インタフェースは、定義されたルーティング・ルールを顧客構内機器１１０またはネットワーク装置１３０で実施するコマンドを送信するように構成される。【選択図】図１
2018107791.tif 000002
【特許請求の範囲】
【請求項１】
第１のタイプのネットワーク（１００）の顧客構内機器（１１０）に接続されるように構成されたデバイス（１２０）で実施される方法であって、前記第１のタイプのネットワーク（１００）は、前記顧客構内機器（１１０）と通信する少なくとも１つのネットワーク装置（１３０）を含み、前記方法は、
前記顧客構内機器（１１０）および前記少なくとも１つのネットワーク装置（１３０）から受信された能力情報に基づいて、前記デバイス（１２０）のパケットをルーティングする１つまたは幾つかのルーティング・ルールを定義すること（５０３）と、
前記定義されたルーティング・ルールを前記顧客構内機器（１１０）または前記少なくとも１つのネットワーク装置（１３０）で実施するコマンドを送信すること（５０４）と、を含み、
前記ルーティング・ルールは、パケットを前記第１のタイプのネットワーク（１００）と第２のタイプのネットワーク（２００）との間で転送するために、前記顧客構内機器（１１０）または前記少なくとも１つのネットワーク装置（１３０）を特定する、前記方法。
【請求項２】
前記ルーティング・ルールは、前記デバイス（１２０）で、ルーティング・アプリケーション（１２２，１３３）によって自動的に、または、前記ルーティング・アプリケーションに関連付けられた管理インタフェース（４００）を通じたユーザのアクションによって定義される、請求項１に記載の方法。
【請求項３】
前記ルーティング・ルールは、対象サービスのタイプおよび／または利用可能な帯域幅に従って、前記ルーティング・アプリケーション（１２２，１２３）によって自動的に定義される、請求項２に記載の方法。
【請求項４】
前記コマンドは、前記顧客構内機器（１１０）で動作するアプリケーション・プログラミング・インタフェース・サービス（１１４）を利用してルーティング・サーバ（１１１）によって実施される、請求項１〜３のいずれか１項に記載の方法。
【請求項５】
ルーティング・ルールを実施する各コマンドは、送信元アドレスと、送信先アドレスと、前記ルーティング・ルールが実施される期間とを少なくとも含む、請求項１〜４のいずれか１項に記載の方法。
【請求項６】
前記デバイス（１２０）は、ルーティング・アプリケーション（１２２）を実行する、請求項１〜５のいずれか１項に記載の方法。
【請求項７】
前記ネットワーク装置（１３０）は、ルーティング・アプリケーション（１３３）を実行する、請求項１〜６のいずれか１項に記載の方法。
【請求項８】
前記顧客構内機器（１１０）および前記ネットワーク装置（１３０）の各々は、前記第１のタイプのネットワーク（１００）上で前記デバイス（１２０）に能力情報を公開するように構成されたゲートウェイ・アプリケーション（１３４）を動作させる、請求項１〜７のいずれか１項に記載の方法。
【請求項９】
第１のタイプのネットワーク（１００）の顧客構内機器（１１０）に接続されるように構成されたデバイス（１２０）であって、
前記顧客構内機器（１１０）および前記少なくとも１つのネットワーク装置（１３０）から能力情報を受信するように構成された通信インタフェース（２０３）と、
前記受信された能力情報に基づいて、前記デバイス（１２０）のパケットをルーティングする１つまたは幾つかのルーティング・ルールを定義するルーティング・アプリケーション（１２２）と、を含み、
前記ルーティング・ルールは、パケットを前記第１のタイプのネットワーク（１００）と第２のタイプのネットワーク（２００）との間で転送するために、前記顧客構内機器（１１０）または前記少なくとも１つのネットワーク装置（１３０）を特定し、
前記通信インタフェース（２０３）は、前記定義されたルーティング・ルールを前記顧客構内機器（１１０）または前記少なくとも１つのネットワーク装置（１３０）で実施するコマンドを送信するようにさらに構成されている、前記デバイス（１２０）。
【請求項１０】
前記ルーティング・ルールは、前記デバイス（１２０）で、ルーティング・アプリケーション（１２２）によって自動的に、または、前記ルーティング・アプリケーション（１２２）に関連付けられた管理インタフェース（４００）を通じたユーザのアクションによって定義される、請求項９に記載のデバイス。
【請求項１１】
前記ルーティング・ルールは、対象サービスのタイプおよび／または利用可能な帯域幅に従って、前記ルーティング・アプリケーション（１２２）によって自動的に定義される、請求項１０に記載のデバイス。
【請求項１２】
ルーティング・ルールを実施する各コマンドは、送信元アドレスと、送信先アドレスと、前記ルーティング・ルールが実施される期間とを少なくとも含む、請求項９〜１１のいずれか１項に記載のデバイス。
【請求項１３】
ゲートウェイ機能（１１６）を備え、前記第１のタイプのネットワーク（１００）上で能力情報を公開するように構成されたゲートウェイ・アプリケーション（１３４）をさらに動作させる、請求項９〜１２のいずれか１項に記載のデバイスを含むネットワーク装置。
【請求項１４】
非一時的コンピュータ可読媒体に記憶され、第１のタイプのネットワーク（１００）の顧客構内機器（１１０）に接続されるように構成されたデバイス（１２０）で実施される方法（５００）を実施するプロセッサによって実行可能なプログラム・コード命令を含むコンピュータ・プログラム・プロダクトであって、前記第１のタイプのネットワーク（１００）は、前記顧客構内機器（１１０）と通信する少なくとも１つのネットワーク装置（１３０）を含み、前記方法は、
前記顧客構内機器（１１０）および前記少なくとも１つのネットワーク装置（１３０）から受信された能力情報に基づいて、前記デバイス（１２０）のパケットをルーティングする１つまたは幾つかのルーティング・ルールを定義すること（５０３）と、
前記顧客構内機器（１１０）または前記少なくとも１つのネットワーク装置（１３０）で前記定義されたルーティング・ルールを実施するコマンドを送信すること（５０４）と、を含み、
前記ルーティング・ルールは、パケットを前記第１のタイプのネットワーク（１００）と第２のタイプのネットワーク（２００）との間で転送するために、前記顧客構内機器（１１０）または前記少なくとも１つのネットワーク装置（１３０）を特定する、前記コンピュータ・プログラム・プロダクト。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、概ねネットワーク管理に関し、より具体的には、ルーティング・アルゴリズムに関する。
【背景技術】
【０００２】
この節は、読者に対し、様々な技術的な態様を紹介することを意図している。これらの技術的な態様は、以下に説明する、さらに／または、以下の請求項に記載する本願の開示の様々な態様に関連するであろう。この説明が本開示の様々な態様をより良好に理解しやすくするための背景情報を読者に対して提供するのに役立つと確信する。したがって、それぞれの記載は、この点に鑑みて読まれるべきものであり、先行技術を自認するものではないことを理解すべきである。
【０００３】
住宅用ホーム・ネットワークにおけるコネクテッド・コンシューマ電子（ＣＥ：Ｃｏｎｓｕｍｅｒ  Ｅｌｅｃｔｒｏｎｉｃｓ）デバイスの数は、近年劇的に増加しており、２０１３年には、コネクテッド・デバイスの数は、１世帯当たり平均で約７台存在していた。これらのコネクテッド・デバイスの中には、モバイルＵＭＴＳ（または３Ｇ）またはＬＴＥ（または４Ｇ）インターネット・アクセスを有するものがあり、ときには、無制限のデータ・プランを用いている場合もある。ユーザは、自宅に到着すると、多くの場合、自己のモバイル・デバイスをホーム・ゲートウェイに配置された無線アクセス・ポイントに接続し、このゲートウェイによって提供される（ＤＳＬ、ケーブル、またはファイバ接続を通じた）インターネット・アクセスを使用して、自己のモバイル・アクセスの残余容量を使用しないようにする。数人が自己の携帯電話を有する世帯では、特に、ＬＴＥモバイル接続を有する場合に、大量の帯域幅が未使用となることがある。
【０００４】
そこで、種々のデバイスによって提供される幾つかのインターネット・アクセスを通じたパケットの分配を管理するルーティング・アルゴリズムを提供する必要がある。
【発明の概要】
【０００５】
本開示は、第１のタイプのネットワークの顧客構内機器に接続されるように構成されたデバイスで実施される方法に関する。第１のタイプのネットワークは、顧客構内機器と通信する少なくとも１つのネットワーク装置を含み、
上記方法は、
顧客構内機器および少なくとも１つのネットワーク装置から受信された能力情報に基づいて、デバイスのパケットをルーティングする１つまたは幾つかのルーティング・ルールを定義することと、
顧客構内機器または少なくとも１つのネットワーク装置で、定義されたルーティング・ルールを実施するコマンドを送信することと、を含み、
ルーティング・ルールは、パケットを第１のタイプのネットワークと第２のタイプのネットワークとの間で転送するために、顧客構内機器または少なくとも１つのネットワーク装置を特定する。
【０００６】
したがって、上述した方法によって、ルーティング・ルールを第１のタイプのネットワークのデバイスおよびネットワーク装置によって分散して定義することができる。
【０００７】
一態様においては、ルーティング・ルールを、デバイスで、ルーティング・アプリケーションによって自動的に、または、ルーティング・アプリケーションに関連付けられた管理インタフェースを通じたユーザのアクションによって定義することができる。
【０００８】
一態様においては、ルーティング・ルールを、対象サービスのタイプおよび／または利用可能な帯域幅に従って、ルーティング・アプリケーションによって自動的に定義することができる。
【０００９】
上記態様において、ルーティング・ルールを定期的に決定することができる（たとえば、関連する期間の終了前など）。
【００１０】
一態様においては、コマンドを、顧客構内機器で動作するアプリケーション・プログラミング・インタフェース・サービスを利用してルーティング・サーバによって実施することができる。
【００１１】
一態様においては、ルーティング・ルールを実施する各コマンドは、送信元アドレスと、送信先アドレスと、ルーティング・ルールが実施される期間とを少なくとも含み得る。
【００１２】
一態様においては、デバイスは、ルーティング・アプリケーションを動作させることができる。
【００１３】
一態様においては、少なくとも１つのネットワーク装置は、顧客構内機器と通信するデバイス機能と、第１のタイプのネットワークから第２のタイプのネットワークにパケットを転送するゲートウェイ機能とを含み得る。
【００１４】
一態様においては、少なくとも１つのネットワーク装置は、ルーティング・アプリケーションを動作させることができる。
【００１５】
一態様においては、ネットワーク装置からローカル・ゲートウェイ機能にパケットを転送するためにルーティング・ルールがネットワーク装置のルーティング・アプリケーションで定義されると、ルーティング・ルールをネットワーク装置で実施することができる。
【００１６】
一態様においては、ルーティング・アプリケーションをネットワーク装置のデバイス機能によって動作させることができる。
【００１７】
一態様においては、顧客構内機器およびネットワーク装置の各々は、第１のタイプのネットワーク上で、デバイスに能力情報を公開するように構成されたゲートウェイ・アプリケーションを動作させることができる。
【００１８】
一態様においては、ゲートウェイ・アプリケーションを、ネットワーク装置のゲートウェイ機能によって動作させることができる。
【００１９】
一態様においては、第１のタイプのネットワークをローカル・エリア・ネットワークとすることができ、第２のタイプのネットワークをアクセス・ネットワークとすることができる。
【００２０】
一態様においては、能力情報には、以下の情報のうちの１つまたは幾つかを含めることができる。
・ライブリネス
・利用可能な帯域幅
・所与のサービスに対して利用可能な現在の帯域幅
・レイテンシ尺度
・ゲートウェイ・サービス
・デバイス・タイプ
・現在のネットワーク・インジケータ
【００２１】
一態様においては、少なくとも１つのネットワーク装置のデバイス機能は、第１のタイプのネットワークのデバイスとして動作することができる。
【００２２】
さらに、本開示は、第１のタイプのネットワークの顧客構内機器に接続されるように構成されたデバイスに関する。第１のタイプのネットワークは、顧客構内機器と通信する少なくとも１つのネットワーク装置を含む。
上記デバイスは、少なくとも１つのメモリと、
顧客構内機器および少なくとも１つのネットワーク装置から受信された能力情報に基づいて、デバイスのパケットをルーティングする１つまたは幾つかのルーティング・ルールを定義することと、
顧客構内機器または少なくとも１つのネットワーク装置で、定義されたルーティング・ルールを実施するコマンドを送信することと、
を行うように構成された少なくとも１つの処理回路とを含む。
ルーティング・ルールは、パケットを第１のタイプのネットワークと第２のタイプのネットワークとの間で転送するために、顧客構内機器または少なくとも１つのネットワーク装置を特定する、
【００２３】
さらに、本開示は、第１のタイプのネットワークの顧客構内機器に接続されるように構成されたデバイスにも関する。第１のタイプのネットワークは、顧客構内機器と信号通信する少なくとも１つのネットワーク装置を含む。
上記デバイスは、
顧客構内機器および少なくとも１つのネットワーク装置から能力情報を受信するように構成された通信インタフェースと、
受信された能力情報に基づいて、デバイスのパケットをルーティングする１つまたは幾つかのルーティング・ルールを定義するルーティング・アプリケーションと、を含み、ルーティング・ルールは、パケットを第１のタイプのネットワークと第２のタイプのネットワークとの間で転送するために、顧客構内機器または少なくとも１つのネットワーク装置を特定する。
通信インタフェースは、定義されたルーティング・ルールを顧客構内機器または少なくとも１つのネットワーク装置で実施するコマンドを送信するようにさらに構成されている。
【００２４】
一態様においては、ルーティング・ルールを、このデバイスで、ルーティング・アプリケーションによって自動的に、または、ルーティング・アプリケーションに関連付けられた管理インタフェースを通じたユーザのアクションによって定義することができる。
【００２５】
一態様においては、ルーティング・ルールを、対象サービスのタイプおよび／または利用可能な帯域幅に従って、ルーティング・アプリケーションによって自動的に定義することができる。
【００２６】
一態様においては、ルーティング・ルールを実施する各コマンドは、送信元アドレスと、送信先アドレスと、ルーティング・ルールが実施される期間とを少なくとも含み得る。
【００２７】
本開示は、さらに、ゲートウェイ機能を備えた上述したデバイスを含み、第１のタイプのネットワーク上で、能力情報を公開するように構成されたゲートウェイ・アプリケーションをさらに動作させる、ネットワーク装置に関する。
【００２８】
加えて、本開示は、第１のタイプのネットワークの顧客構内機器に接続されるように構成されたデバイスで実施される方法を実行するためにコンピュータによって実行可能な命令のプログラムを現実的に実装した、コンピュータ読み取り可能な非一時的プログラム・ストレージ装置にも関する。第１のタイプのネットワークは、顧客構内機器と通信する少なくとも１つのネットワーク装置を含み、上記方法は、
顧客構内機器および少なくとも１つのネットワーク装置から受信された能力情報に基づいて、デバイスのパケットをルーティングする１つまたは幾つかのルーティング・ルールを定義することと、
顧客構内機器または少なくとも１つのネットワーク装置で、定義されたルーティング・ルールを実施するコマンドを送信することと、を含み、
ルーティング・ルールは、パケットを第１のタイプのネットワークと第２のタイプのネットワークとの間で転送するために、顧客構内機器または少なくとも１つのネットワーク装置を特定する。
【００２９】
本開示は、さらに、非一時的コンピュータ可読媒体に記憶されたコンピュータ・プログラム・プロダクトに関する。コンピュータ・プログラム・プロダクトは、第１のタイプのネットワークの顧客構内機器に接続されるように構成されたデバイスで実施される方法を実施するプロセッサによって実行されるプログラム・コード命令を含み、第１のタイプのネットワークは、顧客構内機器と通信する少なくとも１つのネットワーク装置を含む。上記方法は、
顧客構内機器および少なくとも１つのネットワーク装置から受信された能力情報に基づいて、デバイスのパケットをルーティングする１つまたは幾つかのルーティング・ルールを定義することと、
顧客構内機器または少なくとも１つのネットワーク装置で、定義されたルーティング・ルールを実施するコマンドを送信することと、を含み、
ルーティング・ルールは、パケットを第１のタイプのネットワークと第２のタイプのネットワークとの間で転送するために、顧客構内機器または少なくとも１つのネットワーク装置を特定する。
【００３０】
本開示による方法は、プログラム可能な装置上でソフトウェアにおいて実施することができる。本開示に従った方法をハードウェアまたはソフトウェアのみで実施することもできるし、ハードウェアおよびソフトウェアを組み合わせて実施することもできる。
【００３１】
本開示の要素によって実施される処理の中には、コンピュータによって実施されるものがある。したがって、このような要素は、完全にハードウェアの実施形態で実施することも、（ファームウェア、常駐ソフトウェア、マイクロコードなどを含む）完全にソフトウェアの実施形態で実施することも、ソフトウェアおよびハードウェアの態様を組み合わせた実施形態で実施することもでき、これらは、全て、本明細書において、一般的に、「回路」、「モジュール」、または、「システム」と称することがある。さらに、このような要素は、任意の有体物としての媒体であって、内部にコンピュータが使用可能なプログラム・コードが実装された表現を有する媒体において実施されるコンピュータ・プログラム・プロダクトの形態をとることができる。
【００３２】
本開示の要素は、ソフトウェアにおいて実施することができるため、本開示は、任意の適切な担持媒体上でプログラム可能な装置に提供されるコンピュータ読み取り可能コードとして実施することができる。有体物としての担持媒体には、フロッピー・ディスク、ＣＤ−ＲＯＭ、ハードディスク・ドライブ、磁気テープ装置、または、ソリッドステート・メモリ装置などが含まれる。
【００３３】
本開示は、したがって、コンピュータに上述した方法を実行可能にさせるコンピュータ実行可能な命令を含むコンピュータ可読プログラムを提供する。
【００３４】
開示した態様と範囲が合致した特定の態様について以下に記載する。なお、これらの態様は、読者に対して開示が取りうる特定の形態の概要を簡略に提供するために与えられたものにすぎず、これらの態様は、本開示の範囲を限定するように意図されたものではないことが理解できよう。実際、本開示は、以下に記載していない様々な態様を包含することがある。
【００３５】
本開示は、添付図面を参照して、限定を意図しない以下の実施形態および実施例より良好に理解され、例示されるであろう。
【図面の簡単な説明】
【００３６】
【図１】本原理の幾つかの実施形態を実施するホーム・ネットワークの例示的なネットワーク・アーキテクチャの概略図である。
【図２】本原理に従った、図１のホーム・ネットワークの各デバイス／装置／顧客構内機器のハードウェア構成の例を示す図である。
【図３】本原理に従った、ネットワーク装置で動作するゲートウェイ・アプリケーションの管理インタフェースの例を描いた図である。
【図４】本原理に従ったデバイスで動作するルーティング・アプリケーションの管理インタフェースの例を描いた図である。
【図５】本原理に従った幾つかの実施形態によって使用される例示的な方法のフローチャートである。
【発明を実施するための形態】
【００３７】
可能な箇所では、同一の部分、または同様の部分を参照するために、各図面にわたって同一の参照符号を使用する。
【００３８】
以下の説明は、本開示の原理を例示している。したがって、当業者であれば、本明細書中で明示的に記載されていなくとも、本開示の原理を実施することができる様々な構成を企図でき、これらが本開示の範囲に含まれることが理解できよう。
【００３９】
本明細書に記載された全ての例および条件付の文言は、本願の原理を読者が理解するのを助けるための教示目的のものであり、発明者によって寄与された概念は、技術を発展させるものであり、このような具体的に記載された例や条件に限定されるように解釈されるべきではない。
【００４０】
また、本明細書における原理、態様、および、本願の実施の形態についての全ての記載、さらに、その特定の例は、構造的、機能的な均等物の双方を包含するように意図したものである。さらに、このような均等物は、現在公知の均等物だけでなく、将来において開発される均等物、即ち、構造に係らず、同一の機能を実行するように開発された全ての要素を包含するように意図されている。
【００４１】
したがって、例えば、当業者であれば、本明細書において与えられたブロック図は、本願の原理を実施する回路を例示する概念図であることが理解できよう。同様に、フローチャート、フロー図、状態遷移図、擬似コードなどは、いずれも様々な処理を表すし、これらの処理は、実質的にコンピュータによって読み取り可能な媒体において表現することができ、コンピュータまたはプロセッサにより実行され、このようなコンピュータまたはプロセッサがはっきりと図示されているかどうかに係るものではないことが理解できよう。
【００４２】
各図面において示される様々な要素の機能は、専用のハードウェアの使用により提供されてもよく、適切なソフトウェアと関連付けてソフトウェアを実行することが可能なハードウェアの使用によって提供されてもよい。機能がプロセッサによって提供される場合にも、単一の専用プロセッサによって提供されてもよく、単一の共有プロセッサによって提供されてもよく、複数の別個のプロセッサによって提供されてもよく、幾つかのプロセッサが共有されていてもよい。さらに、用語「プロセッサ」または「コントローラ」を明示的に使用した場合であっても、ソフトウェアを実行することが可能なハードウェアのみを意味するように解釈されるべきではなく、限定するものではないが、ディジタル信号プロセッサ（ＤＳＰ：ｄｉｇｉｔａｌ  ｓｉｇｎａｌ  ｐｒｏｃｅｓｓｏｒ）・ハードウェア、ソフトウェアを格納する読み出し専用メモリ（ＲＯＭ：ｒｅａｄ‐ｏｎｌｙ  ｍｅｍｏｒｙ）、ランダム・アクセス・メモリ（ＲＡＭ：ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）、および不揮発性の記憶装置を黙示的に含み得る。
【００４３】
請求の範囲において、特定の機能を実行するための手段および／またはモジュールとして表現されたいずれの要素も、この機能をどのような方法で実行するものも包含するように意図している。例えば、ａ）機能を実行する回路要素を組み合わせたもの、または、ｂ）形態に関わらず、ソフトウェア、つまり、ファームウェア、マイクロコード等を含み、機能を実施するためにソフトウェアを実行する適当な回路と組み合わせたものも包含する。このような請求の範囲によって定義される本開示は、請求項に記載された様々な手段によって提供される機能が請求の範囲の要件として、組み合わせられ、まとめられている事実に基づいたものである。したがって、このような機能を提供することが可能な手段はどのようなものであっても、本願において示されているものと均等であるとみなされる。
【００４４】
さらに、本開示の図および説明は、本開示を明確に理解するために必要な例示的な要素に簡略化されており、その一方で、簡略化のために、通常のディジタル・マルチメディア・コンテンツ配信方法、デバイス、およびシステムにおいて存在する多くの他の要素は省略されていることが理解できよう。しかしながら、このような要素は、本技術分野において公知であるため、本明細書中において、このような要素の詳細な説明は行わない。本明細書中の開示は、当業者によって公知なこのような変形および改変の全てを包含する。
【００４５】
図１は、本願の原理の幾つかの実施形態を実施するためのローカル・エリア・ネットワーク（またはＬＡＮ）１００（ホーム・ネットワークまたはビジネス・ネットワークなど）の例示的なネットワーク・アーキテクチャの例を示す模式図である。
【００４６】
図１に示されているように、ＬＡＮ１００は、顧客構内機器（またはＣＰＥ）１１０と、１つまたは幾つかのデバイス１２０（図１には、２つのデバイスが示されている）と、１つまたは幾つかのネットワーク装置１３０（図１には、２つのネットワーク装置が示されている）と、を含む。デバイス１２０およびネットワーク装置１３０は、有線接続（例えば、イーサーネット・ケーブル）または無線接続（例えば、ＷｉＦｉ接続）を用いてＣＰＥ１１０に接続されている。
【００４７】
図１の例においては、本願の原理を実施するために、ＣＰＥ１１０は、
（以下に説明するルーティング・アプリケーション・プログラミング・インタフェース（またはＡＰＩ）サービスを利用して）デバイス１２０から受信されたコマンド（ルーティング・ルール）をスイッチ１１３に対する対応する１組のスイッチング・ルールに変換するように構成されたルーティング・サーバ１１１と、
ホーム・ネットワーク１００に属するデバイス１２０および／またはネットワーク装置１３０に対して所定の期間ＩＰアドレスを提供するように構成されたＤＨＣＰサービス１１２と、
転送ルールに従って、ホーム・ネットワーク１００の或るインタフェース（例えば、デバイス１２０またはネットワーク装置１３０のインタフェース）から（ブロードバンド・アクセス・ネットワーク・リンクに関連付けられた）別のインタフェースにパケットを転送するように構成されたスイッチ１１３と、を含む。スイッチ１１３は、入来するパケットに対して適用されるマッチング／アクション・ルールに対応して（マッチングは、パケット・ヘッダのビットの配列と転送決定のアクションである）、（ルーティング・サーバ１１１から受信された）スイッチング・ルールを一組の転送ルールに変換するように構成されている。これらの転送ルールを、転送テーブルとしてスイッチ１１３内部に記憶させることができる。進行中のヘッダ・パケットが転送ルールのマッチング条件とマッチすると、スイッチ１１３は、テーブル・エントリの関連する転送決定を適用し、これは、特定のアドレス（例えば、ゲートウェイ機能１３２のアドレス）またはポート（例えば、ＣＰＥ１１６のローカル・ゲートウェイ機能を提供するサーバのポート）に転送されることがある。
さらに、ＣＰＥ１１０は、
ルーティング・アプリケーション・プログラミング・インタフェース（またはＡＰＩ）サービス１１４と、
後述するゲートウェイ・アプリケーション１１５と、
アクセス・ネットワーク１１８を通じてデータ・パケットをＬＡＮ１００からワイド・エリア・ネットワーク２００（またはＷＡＮ）（例えば、インターネット）に転送する、またはその逆を行うゲートウェイ機能１１６と、
ＷＡＮ２００との関連でのアクセス・ネットワーク１１８に対するインタフェース１１７と、を含む。
【００４８】
さらに、図１の例において、本原理を実施するために、各デバイス１２０は、デバイス機能１２１およびルーティング・アプリケーション１２２を含み得る。特に、デバイス機能１２１は、対応するデバイスの挙動を表し、このデバイス機能１２１は、任意のゲートウェイ機能を通じてインターネットにトラフィックを送信するための基礎となるネットワーク１００を利用する全てのデバイス・アプリケーションを含み得る。デバイス・アプリケーションは、例えば、ウェブ・ブラウザ、ビデオ・ストリーミング・アプリケーション、およびデバイス機能（全てのウインドウズ／ｉＯＳ／Ａｎｄｒｏｉｄアプリケーション）の組）とすることができる。デバイス１２０は、例えば、ポータブル・メディア・デバイス、タブレットまたはラップトップ、ＴＶセット、セットトップ・ボックス、ゲーム・デバイスなどとすることができる。
【００４９】
図１の例に示されているように、各ネットワーク装置には、デバイス機能１３１、ゲートウェイ機能１３２、ルーティング・アプリケーション１３３、ゲートウェイ・アプリケーション１３４、ルーティングＡＰＩサービス１３５、およびＷＡＮ２００に接続されたアクセス・ネットワークに対するインタフェース１３６を含めることができる。変形例においては、ネットワーク装置１３０は、ルーティングＡＰＩサービスを備えていないことがある。ネットワーク装置１３０は、ＬＡＮ１００からＷＡＮ２００にパケットを転送する、または、ＷＡＮ２００からＬＡＮ１００にパケットを転送するためのゲートウェイ機能１３２を有するデバイス１２０である。
【００５０】
なお、ネットワーク装置１３０は、ＷＡＮ２００に対するアクセスを提供する、追加的なゲートウェイ機能１３２を有するデバイス１２０に対応する。
【００５１】
例えば、ネットワーク装置は、（Ｅｄｇｅ、３Ｇ、または４Ｇ接続のような）ブロードバンド・アクセス接続を備えたスマートフォン、タブレット、またはラップトップとすることができる。説明を分かりやすくするために、ＣＰＥ１１０、デバイス１２０、およびネットワーク装置１３０の要素および／または機能の中には、図１の例から意図的に省略されているものがある。
【００５２】
ハードウェア構成の一例を描いている図２に示されているように、各々のＣＰＥ１１０、デバイス１２０、およびネットワーク装置１３０は、それぞれ、バス２０４を通じて互いに接続された、（１つまたは複数のプロセッサを含む）中央演算装置（ＣＰＵ）２０１、メモリ２０２および１つまたは幾つかのインタフェース２０３を含み得る。ＣＰＵ２０１は、様々なデータを処理するように構成され、さらに、各々のＣＰＥ１１０、デバイス１２０、およびネットワーク装置１３０のそれぞれの様々な機能およびコンポーネントを制御するように構成される。メモリ２０２は、コンピュータ・プログラム・プロダクツおよびソフトウェアを含む、複数の異なるファイルおよび情報を処理および記憶するための、ＲＡＭなどの一時的なメモリ、および、ＲＯＭ、ハードディスク・ドライブ、またはフラッシュ・メモリなどの非一時的なメモリの双方を含むことがある。図１に示されている上述した機能および／またはアプリケーションは、メモリ２０２に記憶されたコンピュータ読み取り可能プログラムによって実施することができる。インタフェース２０３は、有線接続または無線接続を通じて、ＬＡＮ１００を介して、各々のＣＰＥ／デバイス／装置１１０，１２０および１３０との通信を行うために使用される。インタフェース２０３は、さらに、ユーザ入力および／または出力要素（例えば、タッチ・パネル、ディスプレイ画面、キーボード、リモコンなど）を含み得る。
【００５３】
一実施形態においては、ＣＰＥ１１０またはネットワーク装置１３０のゲートウェイ・アプリケーション１１５，１３４は、ユーザが対応するゲートウェイ機能１１６，１３２を制御、構成設定できるようにする。ゲートウェイ・アプリケーションは、ＣＰＥ１１０またはネットワーク装置１３０のユーザによって開始することができる。変形例においては、ゲートウェイ・アプリケーションは、ＣＰＥまたはネットワーク装置の電源が投入されたときに起動することができる。
【００５４】
例えば、ネットワーク装置１３０のユーザ（または所有者）は、自己のネットワーク装置１３０に関連付けられたアクセス・ネットワーク１３７を共有したいと自己が望むかどうかを決定することができる。さらに、ユーザは、ＣＰＥ１１０のスイッチ１１３を介することなく、自己のネットワーク装置１３０に関連付けられたアクセス・ネットワーク１３７を通じてローカル・インターネットのトラフィックが常に流れるように決定することができる。そうでない場合には、インターネット・トラフィックは、ＬＡＮ１００の任意のデバイス／ネットワーク装置のようなインターネットのトラフィックを管理するスイッチ１１３に流れることがある。その場合、スイッチ１１３は、ＣＰＥ１１０に関連付けられたアクセス・ネットワーク１１８などの別のアクセス・ネットワークにトラフィックを転送することを決定することができる。
【００５５】
なお、ネットワーク装置１３０のルーティングＡＰＩサービス１３５は、対応するゲートウェイ機能１３２を使用してローカル・インターネット・トラフィックを処理するために、（対象のルーティングＡＰＩサービス１３５を含む）上記ネットワーク装置のゲートウェイ・アプリケーション１３４からコマンドを受信するように構成されているのみである。変形例または補完例においては、ローカル・インターネット・トラフィックのルーティングに関するこのようなコマンドは、ゲートウェイ・アプリケーション１３４からではなく、対象のネットワーク装置１３０のルーティング・アプリケーション１３３から来ることがある。
【００５６】
図３は、ゲートウェイ・アプリケーション１３４の管理インタフェース３００を、限定することなく、例示している例を示す図である。対応するネットワーク装置１３０のユーザは、専用のボタン３０１を動かすことによって、ネットワーク装置１３０のゲートウェイ機能１３２を起動することができる。さらに、別のボタン３０２を使用して、ユーザは、自己のネットワーク装置１３０のローカル・インターネット・トラフィックがＣＰＥ１１０のスイッチ１１３を経由するかどうかを決定することができる。変形例においては、ゲートウェイ機能を、対応するデバイス機能から関連するネットワーク・アクセス１３７への（または関連するネットワーク・アクセス１３７から対応するデバイス機能への）ローカル・トラフィックの自動的なパージングおよび転送を、ローカル・トラフィックがＣＰＥ１１０のスイッチ１１３にリダイレクトされることなく、行うように構成することができる。
【００５７】
これに加えて、全てのゲートウェイ・アプリケーション１１５，１３４は、（起動されると）、通信チャネルを通じて、自己の能力（ｃａｐａｂｉｌｉｔｉｅｓ，ｃａｐａｃｉｔｉｅｓ）情報をＬＡＮ１００上で公開することができる。デバイス１２０のルーティング・アプリケーション１２２およびＬＡＮ１００のネットワーク装置１３０は、例えば、それぞれの能力情報を受信するために、例えば、ゲートウェイ・アプリケーション１１５および１３４によって公開される情報をサブスクライブすることができる。一実施形態においては、公開／サブスクライブ処理を、アプリケーション・レイヤー（例えば、ｈｔｔｐ）で実施することができ、（Ｒｅｄｉｓ  Ｐｕｂ／Ｓｕｂパラダイムを実施する）Ｒｅｄｉｓプロトコルに基づくもの、または（ＡｎｄｒｏｉｄまたはｉＯＳのような）オペレーティング・システムからの通知サービスに基づくものとすることができる。別の実施形態においては、公開／サブスクライブ処理は、ネットワーク・レイヤで実施することができ、サービス・ディスカバリ・プロトコル（例えば、シンプル・サービス・ディスカバリ・プロトコルまたはＳＳＤＰ、または、Ａｐｐｌｅ社によって提案されているｍＤＮＳを用いたＤＮＳサービス・ディスカバリ）に依存することができる。
【００５８】
また、能力情報は、以下の内容を含み得る。
・ゲートウェイ機能のライブネス；
・対応するアクセス・ネットワーク１１８、１３７上で利用可能な帯域幅；ＣＰＥ１１０およびネットワーク装置１３０は、利用可能な帯域幅をパッシブに、またはダイナミックにチェックすることができる。
・（ゲーミング、映像、音声などの）所与のサービスに対して利用可能な現在の帯域幅；
・平均の帯域幅イベントの表示（例えば、受信品質の不良による帯域幅の低下）；
・ローカル・ネットワーク装置、または別のネットワーク装置に対して予約された帯域幅；これは、他のデバイスにとって全体の帯域幅の部分のみが利用可能であることを意味する。これにより、例えば、ローカル・デバイスが自己の帯域幅に輻輳を生じることなく、他のデバイスと帯域幅を共有できるようにする。
・モバイルの限定されたデータ・プレーンを超えない、他のルーティング・アプリケーションに知らせるべき、モバイル・データ・プレーン上で使用される、または、利用可能な残りのデータ；
・レイテンシ・メトリック；
・ゲートウェイ・ステータス；
・装置タイプ（例えば、ＤＳＬ、３Ｇ、４Ｇなど）；
・装置の識別オペレータ名；
・トラフィックに起因して他のルーティングに知らせるべきデータ・プレーン警告；
・モバイルの限定されたデータ・プレーンの閾値に到達したこと（例えば、１０Ｇｂｓ／月間データ・プレーンの８０％）；
・ＣＰＥまたはネットワーク装置によって実施されるオペレーティング・システム；
・（例えば、「Ｅｄｇｅ」、「３Ｇ」、または「４Ｇ」受信の品質を表すインジケータに対応する）現在のネットワーク・インジケータ；
・現在接続されているデバイス／ネットワーク装置、または、新たに接続されたデバイス／ネットワーク装置のリスト
【００５９】
デフォルトでは、（デバイス機能１３１を有する）所与のデバイス１２０またはネットワーク装置１３０に対し、ＣＰＥ１１０のスイッチ１１３をこの所与のデバイス／ネットワーク装置から入来するパケットを、ＷＡＮ２００にアクセスするためのＣＰＥ１１０のアクセス・ネットワーク・インタフェース１１７にルーティングするように構成することができる。その場合、ＣＰＥ１１０のゲートウェイ機能１１６は、デフォルト・ゲートウェイとみなされる。
【００６０】
デバイス１２０またはネットワーク装置１３０のユーザは、インターネット２００に接続するための代替的なアクセス・ゲートウェイを選択するために、関連付けられたルーティング・アプリケーション１２２，１３３を開始することができる。変形例においては、ルーティング・アプリケーション１２２，１３３を、デバイス／装置に電源が投入されたときに、起動することができる。
【００６１】
サブスクリプションの後、デバイス１２０およびネットワーク装置１３０のルーティング・アプリケーションは、ゲートウェイ機能１１６，１３２が動作しており、対応するゲートウェイ・アプリケーション１１５，１３３が起動しているときに、ＣＰＥ１１０およびネットワーク・アプリケーション１３０の様々なゲートウェイ・アプリケーション１１５、１３４から能力情報を受信することができる。
【００６２】
一実施形態においては、ゲートウェイ・アプリケーション１１５，１３４によって公開された、受信された能力情報に基づいて、ルーティング・アプリケーション１２２，１３３は、１つまたは幾つかのルーティング・ルールを自動的に規定してＬＡＮ１００とＷＡＮ２００との間の対応するデバイス１２０またはネットワーク装置１３０のデータ・パケット（例えば、インターネット・トラフィック）をルーティングすることができる。ルーティング・アプリケーションによるルーティング・ルールの定義は、例えば、デフォルトのゲートウェイ機能（例えば、ＣＰＥ１１０のゲートウェイ機能１１６）に障害が発生した場合には、第１の代替的なゲートウェイ機能１１８，１３７に自動的にルーティングすることによって、デフォルト・ゲートウェイ・フェイルオーバー・モードに依存させることができる。第１の代替的なゲートウェイ機能１１８，１３７の決定には、例えば、「Ｅｄｇｅ」、「３Ｇ」、「４Ｇ」接続の受信品質を考慮することによって、）帯域幅の推定を考慮することができる。補完例または変形例においては、ルーティング・アプリケーション１２２，１３３は、対象のサービスを考慮することができる。例えば、適切なレイテンシを必要とするゲーミング・サービスおよびビデオ・コーリングは、ネットワーク装置１３０の（「Ｅｄｇｅ」、「３Ｇ」、「４Ｇ」接続などの）モバイル接続が存在する場合、または、このようなモバイル接続がＬＡＮ１００内で利用可能になると、（例えば、新たなネットワーク装置１３０がＬＡＮ１００に取り付けられたばかりのとき）、そのモバイル接続に関連付けられることがある。新たなモバイル接続が利用可能となると、ルーティング・ルールは、１つの定義されたゲートウェイ機能（例えば、デフォルト・ゲートウェイ）からこの新たなモバイル接続を提供するネットワーク装置１３０のゲートウェイ機能に切り換えできるようにする。ビデオ・サービスに対しては、ルーティング・アプリケーション１２２，１３３は、例えば、特に、データ・プレーン警告を考慮することによって、残りのデータ・プレーンが所与の敷値（例えば、割り当てられたデータ・プレーンの５０％）を超えないというリミットを有するＣＰＥ１１０のゲートウェイ機能に関わるルーティング・ルールを確立することができる。さらなる変形例または補完例においては、ルーティング・アプリケーション１２２，１３３は、ＬＡＮ１００のゲートウェイ機能１１６および１３２のうち、最良の利用可能な帯域幅を提供するゲートウェイ機能に従って、ルーティング・ルールを定義することができる。なお、１つのデバイスからのルーティング・ルールは、トラフィックのタイプ（例えば、４Ｇに対するビデオ・トラフィック、ＤＳＬに対するＨＴＴＰトラフィック）に依存して幾つかのゲートウェイ機能に関わることがある。
【００６３】
別の実施形態においては、所与の装置／ネットワーク装置のルーティング・アプリケーションは、ＬＡＮ１００の他のデバイスおよびネットワーク装置のルーティング・ルールを考慮することができる。例えば、第１のデバイス１２０がパケットを所与のゲートウェイ機能（例えば、ＤＳＬ）にルーティングするルーティング・ルールを定義しているとき、さらに、同一の所与のゲートウェイ機能（ＤＳＬ）を使用したルーティング・ルールを有するＬＡＮ１００に新たなデバイス１２０，１３０が出現したとき、第１のデバイス１２０のルーティング・アプリケーションは、これに応じて、（例えば、ＬＡＮ１００の別のゲートウェイ機能を選択することによって、）自己のルーティング・ルールを変更することを決定できる。
【００６４】
別の実施形態においては、ルーティング・ルールを、（デバイス／装置の画面上で表示されるユーザ・インタフェースなどの）管理インタフェース４００から、デバイス１２０／ネットワーク装置１３０のユーザによって定義することができる。この場合、ユーザは、自分でゲートウェイ機能の性能を評価することができる。
【００６５】
どのようなタイプの定義であっても（自動的に行われるものでも、または手動で行われるものでも）、優先度を各ルーティング・ルールに関連付けることができ、この優先度は、ルーティング・サーバ１１１によって考慮、処理される。
【００６６】
図４の例において示されているように、管理インタフェース４００は、ユーザに対し、例えば、インタフェース４００上に表示されるゲートウェイの能力に基づいて、所望のゲートウェイ機能１１６を選択可能である旨の情報（分かりやすくするために、幾つかのゲートウェイの能力のみが図４に示されている）を提供することができる。（図４に示されていない）補完的な例、または、改変例においては、対象のサービス（例えば、ビデオ、ゲーミング、ビデオ・コーリング）のタイプに依存して、幾らかのルーティング・ルールを予め定義することができる。例えば、４Ｇゲートウェイ機能を、ゲーミング・サービスまたは音声サービスのデータ・パケットを転送するように予め定義することができ、その一方で、ストリーミング・サービスは、ＤＳＬゲートウェイ機能を使用して既に関連付けられていることがある。別の補完的な例または変形例においては、ユーザは、利用可能なゲートウェイ機能（例えば、ＤＳＬ／ファイバ／ケーブル、第１の携帯電話、第２の携帯電話など）の好ましい順序のリストを選択することができる。したがって、図４を参照すると、所望のゲートウェイ機能に関連付けられたボックス４０１にチェックマークを付ける代わりに、ユーザは、ゲートウェイ機能の対応するボックス４０１をドラッグすることによってゲートウェイ機能の所望の順序のリストを構築することができる。その場合、対応するルーティング・アプリケーション１２２，１３３は、構築されたゲートウェイ機能の所望の順序を考慮することによって、さらにルーティング・ルールを定義することができる。
【００６７】
一実施形態においては、定義のタイプに関わらず（自動的に行われるものであっても、手動で行われるものであっても）、ルーティング・アプリケーション１２２，１３２によって、（例えば、ルールの有効性に対応する期間に基づいて）ルーティング・ルールを定期的に定義することができる。これによって、期間の終了後、スイッチ１１３は、当初の状態に確実に復帰する。このため、ルーティング・サーバ１１１は、各々の新たなルーティング・ルールに対し、最大の期間を設定することができ、ルーティング・アプリケーションがこの期間が経過する前にルーティング・ルールを更新できるようにする。例えば、最大の期間を、（例えば、ＧＥＴリクエストを介して）ルーティング・サーバ１１１のルーティングＡＰＩサービス１１４を通じて各デバイスのルーティング・アプリケーションによってリクエストすることができる。手動で入力が行われると、ルーティング・アプリケーションは、所定の期間が終了する前に（バックグラウンドで）自動的にルーティング・ルールを更新することができる。新たなルーティング・ルールを送信する前にルーティング・ルールを削除することを回避するために、マッチ・ヘッドが同一である場合に、新たなルーティング・ルールで自動的に古いルールを置き換えることもできる。
【００６８】
デバイス１２０またはネットワーク装置１３０のルーティング・アプリケーションによって、ルーティング・ルールが自動的または手動で定義されている場合、ルーティング・アプリケーション１２２，１３３は、ＡＰＩサービス１１４を通じてＣＰＥ１１０のルーティング・サーバ１１１に対してＡＰＩリクエスト（またはコマンド）を送信することができる。ルーティング・サーバ１１１は、セマンティック（例えば、誤ったリクエスト）チェックおよび整合性チェック（すなわち、ルールが他に存在しているルールに対して適用できるかどうか）を含め、リクエストの整合性をチェックする。ルールに整合性が存在する場合、ルーティング・サーバ１１１は、ＡＰＩリクエストをスイッチ１１３のためのスイッチング・ルールに変換することによって、スイッチ１１３で定義されたルーティング・ルールを実施し、スイッチ１１３は、さらに受信したスイッチングを転送ルールに変換する。ＡＰＩリクエストを、ＨＴＴＰプロトコル特性を使用したＲＥＳＴ（Ｒｅｐｒｅｓｅｎｔａｔｉｏｎａｌ  Ｓｔａｔｅ  Ｔｒａｎｓｆｅｒ）アーキテクチャに依存させることができる。例えば、ルーティング・アプリケーション１２２によって送信されるＡＰＩリクエストは、少なくとも送信元デバイス／装置（例えば、そのＭＡＣアドレスおよび／またはＩＰアドレス）、選択されたゲートウェイ機能（例えば、ＣＰＥ１１０またはネットワーク装置１３０のＭＡＣアドレスおよび／またはＩＰアドレス）、およびルーティング・ルールが実施されている期間（例えば、ｈｔｔｐ：／ｓｅｒｖｅｒ／ｓｅｔ−ｓｉｍｐｌｅ−ｒｕｌｅ−ｂｙ−ｉｐ−ｄｅｖｉｃｅ／｛ＩＰｄｅｖｉｃｅ｝／｛ＩＰ  ｇａｔｅｗａｙ｝／｛ｔｉｍｅ  ｐｅｒｉｏｄ｝）を含む、タプルとすることができる
【００６９】
ルーティングＡＰＩサービス１１４によってＡＰＩリクエストが受信されると、ＣＰＥ１１０のルーティング・サーバ１１１は、選択されたゲートウェイ機能に対して入来するトラフィックをルーティングするために、スイッチ１１３でルーティング・ルールを実施することができる。同様に、選択されたゲートウェイ機能から入来するパケットを対応するデバイス／ネットワーク装置に仕向けるために、逆のパス上で、別のルールを作成することができる。
【００７０】
一実施形態においては、ルーティング・サーバ１１１は、スイッチ１１３でポリシーおよびルーティング・ルールを実施するための、ｉｐｒｏｕｔｅ２（ｉｐルール、ｉｐルート）、ｉｐｔａｂｌｅｓ、およびコネクション・トラッキング機能のようなｌｉｎｕｘネットフィルタをベースとするツールを利用することができる。デフォルトでは、ルーティング・サーバ１１１は、起動時にファイアウォールおよび基本的なルーティング・ポリシーを確実に実行できるように一組のｎｅｔｆｉｌｔｅｒルールを用いて構成済みとすることができる。ルーティング・アプリケーション１２２から入来する新たなルーティング・リクエストを受信すると、ルーティング・サーバ１１１は、入来するパケットがｉｐルールと整合し、ｉｐルール内で、選択されたゲートウェイに対するｉｐルールを作成するように、新たな組の特定のｉｐルールおよびｉｐテーブルを作成し、デバイス／ネットワーク装置から入来するパケットをマーキングすることができる。ｉｐｓｅｔは、各ｉｐルールに対してタイムアウト値を設定し、新たなタイムアウトでルールを更新することができる高機能ｎｅｔｆｉｌｔｅｒツールである。ルーティング・サーバは、スイッチ１１３の転送テーブルの配置を行うために、ハイレベル・ルーティング・アプリケーション・ルールを一組の整合したｎｅｔｆｉｌｔｅｒのルールに変換することができる。別の実施形態においては、スイッチを、Ｏｐｅｎｆｌｏｗルール（スイッチング・ルール）実施するために、Ｏｐｅｎｆｌｏｗプロトコルに従って、ルーティング・サーバからＯｐｅｎｆｌｏｗルール（スイッチング・ルール）を受信するように構成されたＯｐｅｎｆｌｏｗスイッチとすることができる。
【００７１】
ルーティング・サーバ１１１は、新たなルールを実施する前に、全体的なルールの整合性をチェックすることができる。例えば、従前のルーティング・ルールが存在する場合には、ルーティング・サーバ１１１は、従前のルールを除去することによってルーティング・ルールを更新することができる。さらに、実施されるルーティング・ルールは、良好に記述さる、デバイス１２０またはネットワーク装置１３０がＬＡＮ１００ともはや接続されていないときに、除去されるとよい。選択されたゲートウェイ機能１１６，１３２が到達不能となった場合（例えば、ゲートウェイ・サービス・オフ・メッセージが送信される、予期せずに利用不可能となるなど）、ルーティング・アプリケーション１２２，１３３は、デフォルトのゲートウェイ機能（例えば、ＣＰＥ１１０のゲートウェイ機能）を使用した新たなルーティング・ルールを設定するために、ゲートウェイ機能にｐｉｎｇを送信して接続性をチェックし、応答が無ければ、ルーティングＡＰＩサービス１１４を通じて自動的に「Ｒｅｍｏｖｅ＆Ｕｐｄａｔｅ」ＡＰＩリクエストをルーティング・サーバ１１１に送信することができる。対応するデバイス／ネットワーク装置のユーザには、管理インタフェース４００を通じてルーティング・ルールのこの変更が通知される。
【００７２】
別の実施形態においては、デバイス１２０およびネットワーク装置１３０の一方をマスタ・デバイスとみなすことができる。他方のデバイス／ネットワーク装置はスレーブ・デバイスである。マスタ・デバイスを、スレーブ・デバイスからのルーティング・ルールを受信し、ＣＰＥ１１０にコマンドを送信し、自己のルーティング・ルールおよびスレーブ・デバイスから受信されたルーティング・ルールを実施するように構成することができる。その実施形態においては、マスタ・デバイスは、スレーブ・デバイスによって定義されたルーティング・ルールを変更し、このような変更をスレーブ・デバイスに知らせることができる。
【００７３】
図５は、デバイス１２０またはネットワーク装置１３０でルーティング・ルールを定義する方法５００が提供される実施形態を例示するフローチャートである。
【００７４】
ステップ５０１において、ユーザのアクションにより手動で、または、デバイス／装置の電源が投入されたときに自動的に、デバイス１２０またはネットワーク装置１３０に記憶されたルーティング・アプリケーション１２２，１３３を起動することができる。
【００７５】
ステップ５０２において、ルーティング・アプリケーション１２２，１３３が起動されると、このルーティング・アプリケーション１２２，１３３は、ＣＰＥ１１０およびネットワーク装置１３０のゲートウェイ・アプリケーション１１５，１３４によって公開される能力情報のサブスクリプションを行うことができる。
【００７６】
このようなサブスクリプションによって、デバイス／装置がＬＡＮ１００のゲートウェイ機能の能力情報を受信することが可能となる。ステップ５０３において、ユーザは、受信された能力情報に基づいて、考慮されているデバイス／装置に関連付けられたルーティング・データ・パケットに対するルーティング・ルールを定義することができる。変形例においては、ルーティング・ルールを上述したように自動的に定義することができる。ゲートウェイ機能の好ましい順序リストもまた、ユーザによって構築することができる。この順序リストは、ルーティング・アプリケーション１２２，１２３によってさらに処理される。
【００７７】
ステップ５０４において、ルーティング・ルールが手動で、または自動的に定義されると、ルーティング・アプリケーション１２２，１３３は、１つまたは幾つかのコマンドをＣＰＥ１１０のルーティングＡＰＩサービス１１４に送信することができる。
【００７８】
次に、コマンドは、ステップ５０３で定義されたルーティング・ルールを実施するために、ＣＰＥ１１０のルーティングＡＰＩサービス１１４によって実行することができる。本原理により、例えば、世帯の構成員に対する全体的なサービス品質（ＱｏＥ）を向上させるために、家庭におけるインターネットに対する全体的なアクセス・リンクの管理を企図することができる。以下の家庭での使用例は、適切なルーティング・ルールの定義を用いた本原理に従って、幾つかの想定可能な実施形態を例示するものである。
ホーム・ネットワークにおいて父親のデバイスおよび息子のデバイスが接続されており、これらのデバイスからの２つのインターネット・アクセス・リンクが利用可能である場合には、息子のデバイスのトラフィックは、モバイル・インターネット・アクセスに流れて父親のブロードバンドの全帯域幅を使用することができる。
ゲーミングのために息子のデバイスが使用され、その一方でストリーミングのために父親のデバイスが使用される場合には、息子のデバイスのトラフィックは、より低いレイテンシを有するインターネット・アクセス・リンクのうちの１つに流れることができ、その一方で父親のデバイスのトラフィックは、より高い帯域幅を提供する利用可能なインターネット・アクセス・リンクのうちの別のアクセス・リンクに流れることができる。
ストリーミング・トラフィックのために使用されるＵＭＴＳモバイル・フォンをＬＴＥモバイル・フォンのアクセス・リンクにリダイレクトすることができ、その逆、すなわち、ＬＴＥモバイル・ウェブ・トラフィックをＵＭＴＳモバイル・アクセス・リンクにリダイレクトすることができる。
【００７９】
図面において、例示されたブロックまたはモジュールが機能的なモジュールに対応することがあることを理解できるであろう。機能的なモジュールは、区別可能な物理的なユニットに対応することもあるし、対応しないこともある。例えば、複数のこのようなモジュールは、独自のコンポーネントまたは回路において関連付けられることもあれば、ソフトウェア機能に対応することもある。さらに、モジュールは、別個の物理的なエンティティ、またはソフトウェア機能から構成される可能性もある。
【００８０】
本明細書、請求項、および図面における開示は、独立して、または、適切に組み合わせて提供されることがある。各特徴事項は、適宜、ハードウェア、ソフウェア、または、ハードウェアおよびソフトウェアを組み合わせて実施されることがある。
【００８１】
本明細書において、「一実施形態」または「実施形態」と言及されている場合、これは、実施形態との関連で説明されている特定の特徴事項、構造、または特性が開示の少なくとも１つの実施態様に含まれる場合があることを意味する。明細書中の様々な箇所に存在する「一実施形態において」という表現は、必ずしも、全てが同一の実施形態について言及するものではなく、別個の実施形態または代替的な実施形態が必ずしも相互に他の実施形態に対して排他的となるものではない。
【００８２】
請求の範囲に存在する参照符号は、例示的な目的のみのものであり、請求の範囲に対して限定的な影響を及ぼすものではない。
【００８３】
本開示の特定の実施形態のみを本明細書中で説明したが、当業者であれば、本開示の他の改変例、変形例、想定例が存在することが理解できるであろう。したがって、このような改変例、変形例、想定例は、本開示の精神および範囲内に包含されるものと考えられ、本明細書中で開示され、且つ／または例示される本開示の一部を構成するものとみなされる。
【００８４】
図面内のフローチャートおよび／またはブロック図は、本開示の様々な実施形態のシステム、方法、およびコンピュータ・プログラム・プロダクトの想定可能な実施態様の構成、動作、および機能を例示している。この点に関し、フローチャートまたはブロック図内の各ブロックは、特定の論理機能を実施するための実行可能な１つ以上の命令を含む、モジュール、セグメント、またはコードの部分を表すことがある。なお、代替的な実施態様の中には、ブロックで示された機能の順序が図中に示されたものとは異なることがある。例えば、連続して示されている２つのブロックが、関連する機能に依存して、実際には、実質的に同時に実行されることもあれば、ブロックが、場合によっては、逆の順番で実行されることもあり、ブロックが、代替的な順序で実行されることもある。なお、ブロック図および／またはフローチャートにおける各ブロック、さらに、ブロック図および／またはフローチャートにおけるブロックの組み合わせは、特定の機能、動作を行う特定用途ハードウェアに基づくシステム、または、特定用途ハードウェアおよびコンピュータ命令の組み合わせによって実施することができる。明示的に記載されていないものの、本明細書中の実施形態を任意に組み合わせて実施することもできるし、部分的に組み合わせて実施することもできる。
【図１】
2018107791.tif 000003
【図２】
2018107791.tif 000004
【図３】
2018107791.tif 000005
【図４】
2018107791.tif 000006
【図５】
2018107791.tif 000007
【外国語明細書】
2018107791000001.pdf