以下、本発明の実施形態について、図面を参照して説明する。
(第1の実施形態)
図1は、第1の実施形態における通信システム5の第1構成例を示す図である。通信システム5は、端末10と、ゲートウェイ30と、EPC装置50と、ルータ60と、DNS(Domain Name System)サーバ70と、を有する。端末10は、処理部11、記憶部12、通信部13、操作部14、及び表示部15を備える。ゲートウェイ30は、処理部31、記憶部32、及び通信部33を備える。EPC装置50は、PGW(Packet data network GateWay)51、SGW(Serving Gateway)、53、MME(Mobility Management Entity)54、及びHSS(Home Subscriber Server)55を備える。DNSサーバ70は、処理部71、記憶部72、及び通信部73を備える。通信システム5は、非3GPP端末を3GPPネットワークに収容する。
端末10は、端末10A及び端末10Bの少なくとも一方の端末を含む。端末10Aは、3GPPの規格に準拠しない端末(非3GPP端末)である。端末10Bは、3GPPの規格に準拠する端末(3GPP端末)である。端末10は、ユーザによって所持される。端末10は、複数存在してよい。
端末10Aは、非3GPPネットワークN1を介して、ゲートウェイ30Aと通信する。非3GPPネットワークN1は、3GPPの規格に準拠しないネットワークであり、LAN(例えば無線LAN、有線LAN)、インターネット、等を含んでよい。非3GPP端末は、少なくとも非3GPPネットワークN1を介して他の通信装置と通信する端末でよい。また、非3GPP端末は、ゲートウェイ30による通信制御の補助を受けて、3GPPネットワークN2を介して他の通信装置と通信する機能を有する。
端末10Bは、3GPPネットワークN2を介して、ゲートウェイ30Bと通信する。3GPPネットワークN2は、3GPPの規格に準拠するネットワークであり、例えばLTEネットワーク、携帯電話ネットワークを含んでよい。3GPP端末は、少なくとも3GPPネットワークN2を介して他の通信装置と通信する。また、3GPP端末は、非3GPPネットワークN1を介して他の通信装置と通信する機能を有する。
端末10の処理部11は、プロセッサ(例えばCPU(Central Processing Unit))が記憶部12に保持されたプログラムを実行することで、各種機能を実現する。処理部11は、端末10の各部の動作を統括する。
端末10の記憶部12は、例えばROM(Read Only Memory)やRAM(Random Access Memory)や各種ストレージ(例えばHDD(Hard Disk Drive)、SSD(Solid State Drive))を有してよく、各種情報、データ、プログラム、テーブルを保持する。テーブルは、端末10が他の通信装置と通信するためのルーティングテーブルを有する。ルーティングテーブルの詳細については後述する。
端末10の通信部13は、非3GPPネットワークN1を介して他の通信装置と通信する。通信部13は、例えば、ゲートウェイ30、ルータ60、DNSサーバ70、等と通信可能である。端末10Aの通信部13は、ゲートウェイ30Aによる3GPPネットワークN2における通信の補助を受けて、3GPPネットワークN2を介して他の通信装置と通信可能である。端末10Aの通信部13は、非3GPPネットワークN1を介して他の通信装置と通信可能である。端末10Bの通信部13は、3GPPネットワークN2を介して他の通信装置と通信可能である。端末10Bの通信部13は、非3GPPネットワークN1を介して他の通信装置と通信可能である。
端末10の操作部14は、端末10による各種操作を受け付ける。操作部14は、例えば、入力機キー、ボタン、タッチパネル、マイクロホン、等であってよい。端末10の表示部15は、各種データを表示する。表示部15は、例えば液晶ディスプレイでよい。
ゲートウェイ30は、ゲートウェイ30の配下の端末10を管理し、端末10とEPC装置50との間で行われる通信を中継する。ゲートウェイ30は、ゲートウェイ30毎に、配下にある複数の端末10を管理してよい。ゲートウェイ30は、複数配置されてもよい。ゲートウェイ30は、例えば、屋外に設置されてもよいし、ビル毎に設置されてもよい。ゲートウェイ30は、数的分散や地理的分散が可能である。複数のゲートウェイ30の配下それぞれに、1つ以上の端末10が存在してよい。
ゲートウェイ30は、ゲートウェイ30A及びゲートウェイ30Bの少なくとも一方を含む。ゲートウェイ30Aの配下に、1つ以上の端末10Aが存在してよい。ゲートウェイ30Bの配下に、1つ以上の端末10Bが存在してよい。
ゲートウェイ30Bは、基地局装置としてのeNB(eNodeB)として動作する。ゲートウェイ30Bにおける公知部分の構成及び動作は、その説明を省略又は簡略化する。
ゲートウェイ30Aは、LTE通信を行うためのEPC装置50にゲートウェイ30A配下の端末10Aを収容する基地局として動作する。ゲートウェイ30Aは、ePDGの機能の一部を有してよい。ただし、ePDGと異なり、ゲートウェイ30Aは、EPC装置50のPGW51やHSS55とは直接接続されず、EPC装置50のMME54及びSGW53と連携して、制御データ及びユーザデータの中継機能、等を実現する。
ゲートウェイ30Aは、少なくとも非3GPP端末と通信する機能を有する。ゲートウェイ30Aは、3GPP端末と通信する機能を有してもよい。ゲートウェイ30Bは、少なくとも3GPP端末と通信する機能を有する。ゲートウェイ30Bは、非3GPP端末と通信する機能を有してもよい。
ゲートウェイ30AとEPC装置50との間のインタフェースには、LTE通信システムの一般的な基地局としてのeNBを収容する場合と同一のS1インタフェースを用いてよい。この場合、S1インタフェースが有するメッセージ群のうち、S1AP(S1 Application Protocol)のハンドオーバーに係るメッセージを省略したインタフェースを用いることができる。ゲートウェイ30BとEPC装置50との間のインタフェースには、S1インタフェースが用いられる。
ゲートウェイ30Aは、端末10A側の非3GPPネットワークN1における通信と、EPC装置50側の3GPPネットワークN2における通信と、に係るデータの中継処理を行う。ゲートウェイ30Bは、端末10B側の3GPPネットワークN2における通信と、EPC装置50側の3GPPネットワークN2における通信と、に係るデータの中継処理を行う。
ゲートウェイ30は、端末10からの通信データ(例えば制御データ又はユーザデータ)をSGW53、PGW51、SGi(EPC上位のネットワーク)、等に中継し、又は、SGW53、PGW51、SGiからの通信データを、端末10に中継する。この場合、ゲートウェイ30は、端末10及びMME54との間で制御データを中継してよい。また、ゲートウェイ30は、端末10及びSGW53との間でユーザデータを中継してよい。
ゲートウェイ30の処理部31は、プロセッサ(例えばCPU(Central Processing Unit))が記憶部32に保持されたプログラムを実行することで、各種機能を実現する。処理部31は、ゲートウェイ30の各部の動作を統括する。処理部31は、通信部33を介して、制御データやユーザデータを中継する。
ゲートウェイ30の記憶部32は、例えばROM(Read Only Memory)やRAM(Random Access Memory)や各種ストレージ(例えばHDD(Hard Disk Drive)、SSD(Solid State Drive))を有してよく、各種情報、データ、プログラムを保持する。
ゲートウェイ30の通信部33は、端末10やEPC装置50との間で通信(有線通信又は無線通信)する。
EPC装置50は、LTEのコアネットワークに配置される装置であり、LTEプロトコルに従って、ゲートウェイ30と通信する。EPC装置50のPGW51、SGW53、MME54、及びHSS55の各ノードは、論理ノードでもよいし、物理ノードでもよい。つまり、1つの装置(サーバ)に機能が集約されてもよいし、複数の個別の装置(サーバ)に機能が分散されてもよい。また、EPC装置50は、PCRF(Policy and Charging Rule Function)のノードを備えてよい。なお、EPC装置50は、この構成には限定されず、他の付随的な要素を含むことができる。
MME54とHSS55とは、PCRFとともに、制御データであるCプレーンデータを処理する。SGW53及びPGW51は、ユーザデータであるUプレーンデータを処理する。したがって、例えば、外部ネットワーク(EPC装置50よりも上流側)から端末10へのUプレーンデータつまりUプレーンのトラフィックは、外部ネットワークからEPC装置50に到達すると、PGW51、SGW53、及びゲートウェイ30を介して、端末10へ伝送される。
MME54は、移動制御などを提供するノードであり、位置登録、ページング、ハンドオーバー等の移動制御を行う。
HSS55は、LTEにおける加入者管理データベースを有するノードであり、加入者の契約情報、認証情報、位置情報等の管理を行う。MME54は、HSS55から通知される認証情報に基づき、ユーザ認証を実施する。
SGW53は、ゲートウェイ30に接続され、非3GPPアクセスを収容し、端末10やPGW51へデータを伝送するゲートウェイである。
PGW51は、外部ネットワーク(PDN)との接続点において、端末10へのIPアドレスの割り当てやパケット転送等を行うゲートウェイである。PGW51は、PCRFと連携することで、PCRFが有するポリシ(ポリシ制御情報)に従って、動作してよい。PGW51は、PCRFが有するポリシに従って、各ベアラを介して通信される通信量や通信速度を制御してよい。
また、PGW51は、MME54と連携して、ベアラ(データの通信経路)の確立又は削除を行う。
PCRFは、ユーザデータ転送のQoS(Quality of Service;パケットの優先転送等、通信の品質の制御)及び課金の為の制御を行うノードである。PCRFが決定したQoS値は、PGW51に通知される。PGW51は、通知されたQoS値に従って、Uプレーンデータに対してQoS制御を実施する。QoS値は、例えば、ポリシの制御情報に含まれる設定値でよい。
EPC装置50は、処理部、記憶部、通信部、を有する。EPC装置50の各ノードが論理ノードである場合には、1つの装置に処理部、記憶部、及び通信部が設けられてよい。EPC装置50の各ノードが物理ノードである場合、各ノードに処理部、記憶部、及び通信部が設けられてよい。
EPC装置50の処理部は、プロセッサ(例えばCPU)が記憶部に保持されたプログラムを実行することで、各種機能を実現する。EPC装置50の記憶部は、例えばROMやRAMや各種ストレージ(例えばHDD、SSD)を有してよく、各種情報、データ、プログラムを保持する。EPC装置50の通信部は、ゲートウェイ30や外部ネットワークにおける各種装置との間で通信(有線通信又は無線通信)する。EPC装置50による通信は、LTE通信を含む。LTE通信は、VoLTE通信を含んでよい。
ルータ60は、非3GPPネットワークN1に配置され、非3GPPネットワークN1における通信を中継する。
DNSサーバ70は、ホスト名やドメイン名などの名前の情報と、IPアドレス等の実体の情報とを関連付けて保持するデータベースを有する。DNSサーバ70は、通信装置から、APN(Access Point Name)等の名前の情報を受け、この名前の情報から、IPアドレスに関する情報等の実体の情報を通信装置へ提供する。実体の情報は、様々な通信先が属するネットワークを識別するネットワーク識別情報を含む。
ネットワーク識別情報は、IPネットワークの識別子群で構成され、IPアドレスやネットマスクの情報を含んでよい。IPアドレスとネットマスクとで、複数のIPアドレスを含むアドレス範囲が定められる。このアドレス範囲は、APNにより特定される単一のIPアドレスを含む。
DNSサーバ70の通信部73は、端末10やEPC装置50との間で通信(有線通信又は無線通信)する。通信部73は、例えば、端末10の通信先を識別するための通信先識別情報(例えばAPN)を受信したり、ネットワーク識別情報を送信したりする。
DNSサーバ70の記憶部72は、例えばROMやRAMや各種ストレージ(例えばHDD、SSD)を有してよく、各種情報、データ、プログラム、上記のデータベースを保持する。データベースは、APNとネットワーク識別情報を保持してよい。データベースは、リソースレコードのうち、テキストレコード(TXTレコード)にネットワーク識別情報を保持してよい。ネットワーク識別情報は、複数の具体的なIPアドレスを含むIPアドレスの範囲を示してよい。ネットワーク識別情報は、「192.0.2.0 255.255.255.0」、「198.51.100.0/24」、等の情報でよい。DNSサーバ70は、データベースに通信先識別情報とネットワーク識別情報とを予め関連付けて保持しておくことで、通信先識別情報に対応するネットワーク識別情報を検索し、提供することが可能である。
DNSサーバ70の処理部71は、プロセッサ(例えばCPU)が記憶部72に保持されたプログラムを実行することで、各種機能を実現する。処理部71は、DNSサーバ70の各部の動作を統括する。処理部71は、例えば、データベースを参照し、通信先識別情報に対応するネットワーク識別情報を抽出し、通信部73を介して提供してよい。
また、図1では、DNSサーバ70の配置位置は、任意の位置である。DNSサーバ70の配置位置が任意の位置であることを示すため、図1では、DNSサーバ70と他の装置との具体的な接続関係を明記していない。DNSサーバ70と端末10との間では、例えばIPパケットを用いて通信される。
図2は、DNSサーバ70のデータベースDBに保持される情報の一例を示す図である。図2では、データベースDBに、APNとネットワーク識別情報とが関連付けて保持されている。APNは、FQDN(Fully Qualified Domain Name)形式つまりドメイン名形式で記述される。ネットワーク識別情報は、APNに対応するIPアドレス及びそのネットマスクの情報が含まれる。なお、APNは、その全体(正式名称)及びその一部(略称)の双方が、FQDN形式で記述される。例えば、APNの全体が、「example1.jp.mncxxx.mccyyy.3gppnetwork.org」のように表され、APNの一部が「example1.jp」のように表される。ここでは、図2のようにAPNの一部をAPNとして主に説明するが、APNの全体についても同様である。
次に、通信システム5によるルーティングについて説明する。
端末10は、ルーティングテーブルを参照して、通信データを他の通信装置へ通信する。ルーティングテーブルは、端末10が1つ以上の通信先の候補(通信先候補)と通信するための通信制御情報を保持する。通信先候補とは、実際の端末10の通信先となり得ることを意図している。通信先候補のうちの1つが、実際の端末10の通信先となる。
通信制御情報は、通信先候補毎に保持される。ルーティングテーブルは、通信制御情報として、例えば、ネットワーク宛先、ネットマスク、ゲートウェイ、インタフェース、及びメトリックの情報を含む。
ネットワーク宛先は、宛先ネットワーク(通信先候補)のIPアドレスを示す。ネットマスクは、宛先ネットワークのサブネットマスクを示す。ゲートウェイは、ゲートウェイ(ネクストホップの通信装置)のIPアドレスを示す。インタフェースは、IPパケットを送出するインタフェースのIPアドレスを示す。インタフェースは、例えば無線LAN(非3GPP用)、有線LAN(非3GPP用)、公衆回線用(3GPP用)のインタフェースを含んでよい。メトリックは、メトリック値であり、ネットワークを選択するための優先度を示す。通信部13は、宛先ネットワークとネットマスクとで定められるネットワークが複数ある場合に、小さなメトリック値のネットワークを選択して通信する。
通信部13は、ルーティングテーブルに保持された通信制御情報を基に、通信先と通信する。通信部13は、ルーティングテーブルに、端末10の通信先のIPアドレスを含むアドレス範囲に対応するネットワーク識別情報(個別のネットワーク識別情報)を含む通信制御情報(個別の通信制御情報)が存在する場合、個別の通信制御情報に従って、通信先と通信する。通信部13は、ルーティングテーブルに通信先の個別の通信制御情報が存在しない場合、ルーティングテーブルに保持されたデフォルトルートの通信制御情報に従って、通信する。
デフォルトルートは、例えば、ネットワーク宛先が「0.0.0.0」で示され、ネットマスクが「0.0.0.0」で示される。ルーティングテーブルにデフォルトルートが複数保持されている場合、通信部13は、メトリック値が最小であるルート(ネットワーク)を選択する。つまり、通信部13は、メトリック値が最小であるデフォルトルートの通信制御情報に従って、通信先と通信する。この場合、通信先のネットワーク上の配置位置が考慮されずに、また、各ネットワークにおける通信負荷が考慮されずに、同じ1つのルートが選択されるので、通信負荷の高いルートが選択されたり、通信先まで通信データが到達不可能なルートが選択されたりし得る。
通信部13は、DNSサーバ70から通信先の個別のネットワーク識別情報を取得してよい。処理部11は、通信先の個別のネットワーク識別情報を含む通信制御情報を、ルーティングテーブルに追加して保持させてよい。通信制御情報のうちゲートウェイの情報は、通信先の個別のネットワーク識別情報に基づいて定まる。通信制御情報のうちインタフェースの情報は、端末10が通信可能なインタフェースのうちの1つが設定されてよく、例えば操作部14を介して指定されてもよいし、端末10が保持するインタフェースのいずれかが自動で指定されてもよい。通信制御情報のうちメトリックの情報は、操作部14を介して指定されてよい。
これにより、端末10は、当初はルーティングテーブルに通信先の個別の通信制御情報が登録されていなくても、デフォルトルートの通信制御情報ではなく、追加登録された通信先の固有の通信制御情報に従って、通信可能となる。よって、端末10は、登録される通信制御情報により、通信負荷の低いルートを指定したり、通信先まで通信データが到達可能なネットワークが指定したりできる。
端末10による通信先のネットワーク識別情報の取得方法は、任意である。例えば、端末10が、DNSサーバ70から、APNに対応する通信先のネットワーク識別情報を取得してよい。APNは、端末10が通信するためのベアラが接続される外部ネットワークを識別する識別情報として用いられ得る。同一のAPNである場合、ベアラが同一の外部ネットワークの通信先に接続される。APNは、ベアラ確立時に決定されてよい。
図3は、ルーティングテーブルTBの初期状態(第1状態)を示す図である。第1状態では、通信先の個別の通信制御情報が登録されていない。そのため、第1状態で通信先と通信しようとすると、ルーティングテーブルTBに登録されたデフォルトルートに従って通信する。例えば、図3に示す2つのデフォルトルートでは、メトリックが50、100となっているので、値が小さい50の方が優先される。この場合、例えばルータ60が存在する非3GPPネットワークN1が優先となり、携帯網としての3GPPネットワークN2は利用されないことになる。この場合、端末10は、例えば、携帯網を介した通信に限定して提供されるサービスを享受できないことになる。なお、図3では、インタフェースの情報の図示が省略されている。
図4は、ルーティングテーブルTBに通信先の個別の通信制御情報が登録された状態(第2状態)を示す図である。第2状態では、端末10は、登録された通信先の個別の通信制御情報CC1に従って、通信する。通信先の個別の通信制御情報CC1は、取得したネットワーク識別情報とともに、操作部14を介してユーザが指定した情報や端末10が保持する情報に基づいて、設定可能である。よって、端末10は、例えば、通信先への通信に3GPPネットワークN2を利用するよう設定しておくことで、通信先へ3GPPネットワークN2を介して通信でき、3GPPネットワークN2を介した通信に限定して提供されるサービスを享受できる。なお、図4では、インタフェースの情報の図示が省略されている。
このように、通信システム5は、端末10の通信先に応じて、どのネットワークに対してパケット送信するかを、ルーティングテーブルを用いて管理できる。通信システム5は、ルーティングテーブルの情報を適切に書き換えることで、端末10が使用可能な複数ネットワークにおいて経路制御を適切にできる。例えば、端末10は、ルーティングテーブルに通信先の個別の通信制御情報CC1を登録することで、ロンゲストマッチに則って、所望のネットワーク(例えば3GPPネットワークN2)を活用できる。
図5は、通信システム5の動作例を示すシーケンス図である。
図5の処理の開始時には、ルーティングテーブルには、通信先の個別の通信制御情報が保持されていないことを想定する。また、図5の処理の開始時には、一例として、ルーティングテーブルが保持するデフォルトルートの通信制御情報によって、3GPPネットワークN2よりも非3GPPネットワークN1が優先して選択されるように設定されていることを想定する。
EPC装置50のPGW51は、端末10との間でゲートウェイ30を介してベアラを確立する(S11)。PGW51は、ベアラに対応する端末10に、IPアドレスを割り当て、ベアラが接続される外部ネットワークの通信先に対応するAPNを決定する(S11)。APNの情報は、EPC装置50と端末10との間で共有され、それぞれ記憶部に保持される。
端末10の処理部11は、EPC装置50との間で共有された、ベアラに対応するAPNの情報を取得する(S12)。処理部11は、通信部13を介して、DNSサーバ70にAPNの情報を送信し、通信先のネットワーク識別情報を問い合わせる(S13)。
DNSサーバ70の通信部73は、APNの情報を取得する。処理部71は、データベースを参照し、APNに対応する通信先のネットワーク識別情報を抽出し、通信部73を介して端末10に通知する(S14)。このネットワーク識別情報は、例えば、端末10が3GPPネットワークN2へ送信するための情報に相当する。
端末10の通信部13は、DNSサーバ70からの接続先のネットワーク識別情報を受信する(S15)。処理部11は、ルーティングテーブルに、この通信先のネットワーク識別情報を含む通信制御情報CC1を登録する(S15)。
通信システム5では、端末10に係るベアラ確立時に、端末10の通信先に対応するAPNが決定される。端末10の処理部11は、通信部13を介して、決定されたAPNに基づいて、DNSサーバ70に対して、例えば3GPPネットワークN2へ送信するための通信先のネットワーク識別情報を問い合わせる。DNSサーバ70の処理部71は、データベースを参照し、APNに対応するネットワーク識別情報を抽出し、通信部73を介して、問い合わせに対してTXTレコードを用いて応答する。端末10の処理部11は、DNSサーバ70からのTXTレコードに記載された情報に基づいて、ルーティングテーブルに、例えば3GPPネットワークN2に送信するための通信先のネットワーク識別情報を含む通信制御情報CC1を追加する。
これにより、通信システム5は、通信先の個別の通信制御情報CC1をルーティングテーブルに新たに登録することで、デフォルトルートを用いて通信することが不要となり、通信制御情報CC1を使用して通信できる。つまり、DNSサーバ70は、非3GPPネットワークN1及び3GPPネットワークN2の双方において通信可能な端末10に対して、通信先に応じて送信に利用するネットワークを最適に制御するためのネットワーク識別情報を提供できる。端末10は、提供されたネットワーク識別情報を基に通信制御情報CC1をルーティングテーブルに登録でき、最適なネットワークを選択可能である。よって、通信システム5は、通信先との通信が不能となったり通信効率が低い状態となったりすることを抑制できる。
また、APNの記述形式であるFQDN形式の情報を基に、IPアドレスを応答することは、DNSサーバ70の機能に含まれる。そのため、APNとDNSとを組み合わせて用いることが容易である。よって、DNSサーバ70が、APNを基に通信先のネットワーク識別情報を提供することで、通信システム5は、通信先のネットワーク識別情報の提供効率を向上できる。なお、DNSサーバ70以外によって、APNに対する通信先のネットワーク識別情報を端末10に提供してもよい。
(DNSサーバの第1配置例)
次に、DNSサーバ70の具体的な第1配置例を示す。図6は、通信システム5におけるDNSサーバ70の第1配置例を示すブロック図である。DNSサーバ70の第1配置例を加味した通信システム5である通信システム5A1において、図1に示した通信システム5と同様の構成については、同一の符号を付し、その説明を省略又は簡略化する。通信システム5A1では、DNSサーバ70がEPC装置50の上位ネットワークに配置されている。
図7は、通信システム5A1の第1動作例を示すシーケンス図である。図7では、ネットワークが選択される優先度を考慮している。
図7の処理の開始時には、ルーティングテーブルには、通信先の個別の通信制御情報が保持されていないことを想定する。また、図7の処理の開始時には、一例として、ルーティングテーブルが保持するデフォルトルートの通信制御情報によって、3GPPネットワークN2よりも非3GPPネットワークN1が優先して選択されるように設定されていることを想定する。また、図7の処理の開始時には、ルーティングテーブルには、DNSサーバ70と通信するための個別の通信制御情報が登録されていないことを想定する。
まず、EPC装置50のPGW51は、端末10との間でゲートウェイ30を介してベアラを確立する(S21)。PGW51は、ベアラに対応する端末10に、IPアドレスを割り当て、ベアラが接続される外部ネットワークの通信先に対応するAPNを決定する(S21)。APNの情報は、EPC装置50と端末10との間で共有され、それぞれ記憶部に保持される。また、PGW51は、EPC装置50の上位ネットワークに配置されたDNSサーバ70を、通信先のネットワーク識別情報を得るためのサーバに決定する(S21)。
端末10の通信部13は、EPC装置50との間で共有された、ベアラに対応するAPNの情報を取得する(S22)。また、処理部11は、通信に用いるネットワークとして3GPPネットワークN2の優先度を上げるべく、ルーティングテーブルに保持された3GPPネットワークN2を介した通信のデフォルトルートの通信制御情報において、メトリック値を小さくする(S22)。通信部13は、ルーティングテーブルを参照し、DNSサーバ70にAPNの情報を送信し、通信先のネットワーク識別情報を問い合わせる(S23)。
DNSサーバ70の通信部73は、端末10からのAPN情報を取得する。処理部71は、データベースを参照し、APNに対応する通信先のネットワーク識別情報を抽出し、通信部73を介して端末10に通知する(S24)。このネットワーク識別情報は、例えば、端末10が3GPPネットワークN2へ送信するための情報に相当する。
端末10の通信部13は、DNSサーバ70からの接続先のネットワーク識別情報を受信する(S25)。処理部11は、ルーティングテーブルに、この通信先のネットワーク識別情報を含む通信制御情報CC1を登録する(S25)。そして、処理部11は、通信に用いるネットワークとして3GPPネットワークN2の優先度を下げるべく、ルーティングテーブルに保持された3GPPネットワークN2を介した通信のデフォルトルートの通信制御情報において、メトリック値を大きくする(S25)。
このように、通信システム5A1が第1動作例を実施することで、端末10は、ルーティングテーブルにデフォルトルートとして保持された3GPPネットワークN2を選択するための優先度を上げることで、ゲートウェイ30に向かう通信を選択でき、確実に3GPPネットワークN2を選択できる。よって、端末10は、当初は3GPPネットワークN2に係るデフォルトルートの優先度が非3GPPネットワークN1に係るデフォルトルートの優先度より低く設定されていても、3GPPネットワークN2に配置されたDNSサーバ70に到達可能となる。よって、DNSサーバ70にアクセスでき、APNに対応する通信先のネットワーク識別情報を得ることができる。よって、端末10は、通信先の個別の通信制御情報CC1を登録でき、通信制御情報CC1に従って通信可能となる。
また、端末10が、通信先のネットワーク識別情報の取得後に、3GPPネットワークN2を選択するための優先度を下げることで、図7の処理を開始する前のルーティングテーブルの状態に戻すことができる。したがって、端末10は、通信先のネットワーク識別情報の取得後に、3GPPネットワークN2を介した通信のみが選択され、非3GPPネットワークN1を介した通信が不能となることを抑制できる。
したがって、端末10は、ルーティングテーブルに保持された通信制御情報に従って、デフォルトの通信ルートを介して通信することを維持しつつ、特定通信(ここでは端末10からDNSサーバ70への通信)に限って、他の通信ルートを介した通信を行うことができる。これにより、複数のネットワークのうちのいずれかのネットワークを介した通信しかDNSサーバ70に到達不能な場合でも、端末10とDNSサーバ70との通信を実現できる。また、複数のネットワークのうちのいずれのネットワークを介してもDNSサーバ70に到達可能な場合には、より好ましい方を特定通信に指定することで、好ましいネットワークを優先することが可能である。
図8は、通信システム5A1の第2動作例を示すシーケンス図である。図8では、DNSサーバ70のIPアドレスを考慮している。
図8の処理の開始時には、ルーティングテーブルには、通信先の個別の通信制御情報が保持されていないことを想定する。また、図8の処理の開始時には、一例として、ルーティングテーブルが保持するデフォルトルートの通信制御情報によって、3GPPネットワークN2よりも非3GPPネットワークN1が優先して選択されるように設定されていることを想定する。また、図8の処理の開始時には、ルーティングテーブルには、DNSサーバ70と通信するための個別の通信制御情報が登録されていないことを想定する。
まず、EPC装置50のPGW51は、S21の処理を行う。端末10の通信部13は、EPC装置50との間で共有された、ベアラに対応するAPNの情報を取得する(S22B)。また、通信部13は、例えばベアラ確立時に、DNSサーバ70が属するネットワークを識別するネットワーク識別情報を取得する(S22B)。DNSサーバ70のネットワーク識別情報は、通信先のネットワーク識別情報と同様に、IPアドレスとネットマスクの情報を含んでよい。端末10の処理部11は、DNSサーバ70のネットワーク識別情報を、通信部13を介してDNSサーバ70自身から取得してもよいし、通信部13を介して他の通信装置から取得してもよいし、記憶部12に保持しておいて記憶部12から取得してもよい。処理部11は、ルーティングテーブルにDNSサーバ70の個別のネットワーク識別情報を含む個別の通信制御情報を登録する(S22B)。これにより、処理部11は、DNSサーバ70へのルートを指定する(S22B)。DNSサーバ70の個別の通信制御情報におけるネットワーク識別情報以外の情報は、通信先の通信制御情報と同様に、例えば操作部14を介して設定されたり、端末10が保持する情報が取得されて設定されたりしてよい。
端末10は、S23及びS24の処理を行う。通信部13は、DNSサーバ70からの通信先のネットワーク識別情報を受信し、ルーティングテーブルに、この通信先のネットワーク識別情報を含む通信制御情報CC1を登録する(S25B)。また、処理部11は、DNSサーバ70の通信制御情報をルーティングテーブルから削除する(S25B)。なお、DNSサーバ70の通信制御情報のルーティングテーブルからの削除は、省略されてもよい。
このように、通信システム5A1が第2動作例を実施することで、端末10は、DNSサーバ70の通信制御情報を直接にルーティングテーブルに登録し、この通信制御情報に従って通信できる。そのため、端末10は、ルーティングテーブルにおいて、3GPPネットワークN2に係るデフォルトルートの優先度が非3GPPネットワークN1に係るデフォルトルートの優先度より低く設定されていても、DNSサーバ70の個別の通信制御情報によりDNSサーバ70へのルートを直接指定でき、3GPPネットワークN2に配置されたDNSサーバ70に到達可能となる。よって、DNSサーバ70にアクセスでき、APNに対応する通信先のネットワーク識別情報を得ることができる。したがって、端末10は、通信先の個別の通信制御情報CC1を登録でき、通信制御情報CC1に従って通信可能となる。
(DNSサーバの第2配置例)
次に、DNSサーバ70の具体的な第2配置例を示す。図9は、通信システム5におけるDNSサーバ70の第2配置例を示すブロック図である。DNSサーバ70の第2配置例を加味した通信システム5である通信システム5A2において、図1又は図6に示した通信システム5と同様の構成については、同一の符号を付し、その説明を省略又は簡略化する。
通信システム5A2では、DNSサーバ70がEPC装置50の内部に配置されている。そのため、端末10は、DNSサーバ70に対して直接の疎通性を有しない。つまり、DNSサーバ70がEPC装置50の内部に存在するので、端末10は、EPC装置50内のDNSサーバ70を実質的に認識しない。
DNSサーバ70は、EPC装置50の内部において、他の機能とともに装置(サーバ)にDNSサーバ70の機能が集約されてもよいし、物理的に単体の装置(サーバ)で構成されてもよい。ここでは、いずれの場合にも、DNSサーバ70による処理、記憶、通信に関する機能をそれぞれ、処理部71、記憶部72、通信部73が行うものとして説明する。
図10は、通信システム5A2の第1動作例を示すシーケンス図である。図10では、ゲートウェイ30がDNSキャッシュサーバとして動作することを想定している。つまり、ゲートウェイ30が、EPC装置50内のDNSサーバ70よりも小規模なDNSサーバとしてのDNSキャッシュサーバ70cを有してよい。また、ゲートウェイ30の記憶部32は、DNSサーバ70と同様に、APNとネットワーク識別情報とを関連付けて保持するデータベースDB2を有する。ただし、ゲートウェイ30が有するデータベースDB2は、EPC装置50の内部に配置されたDNSサーバ70が有するデータベースDBよりも小規模である。そのため、DNSサーバ70のデータベースDBにはAPNとそのネットワーク識別情報が保持されているが、ゲートウェイ30のDNSキャッシュサーバ70cのデータベースDB2には保持されていないことがあり得る。
図10の処理の開始時には、ルーティングテーブルには、通信先の個別の通信制御情報が保持されていないことを想定する。また、図10の処理の開始時には、一例として、ルーティングテーブルが保持するデフォルトルートの通信制御情報によって、3GPPネットワークN2よりも非3GPPネットワークN1が優先して選択されるように設定されていることを想定する。
まず、EPC装置50のPGW51は、端末10との間でゲートウェイ30を介してベアラを確立する(S31)。PGW51は、ベアラに対応する端末10に、IPアドレスを割り当て、ベアラが接続される外部ネットワークの接続通信先に対応するAPNを決定する(S31)。APNの情報は、EPC装置50と端末10との間で共有され、それぞれ記憶部に保持される。
端末10の通信部13は、EPC装置50との間で共有された、ベアラに対応するAPNの情報を取得する(S32)。処理部11は、通信部13を介して、ゲートウェイ30にAPNの情報を送信し、通信先のネットワーク識別情報を問い合わせる(S33A1)。
ゲートウェイ30の通信部33は、APNの情報を受信する。処理部31は、データベースDB2を参照し、APNに対応する通信先のネットワーク識別情報を検索する。DNSキャッシュサーバ70cのデータベースDB2においてAPNに対応する通信先のネットワーク識別情報が存在する場合、処理部31は、通信部33を介してEPC装置50の内部のDNSサーバ70に問い合わせしない。この場合、ゲートウェイ30内で通信先のネットワーク識別情報を解決可能である。一方、DNSキャッシュサーバ70cのデータベースDB2において通信先のネットワーク識別情報が不在である場合には、処理部31は、通信部33を介してDNSサーバ70を有するEPC装置50にAPNの情報を送信し、通信先のネットワーク識別情報を問い合わせる(S33A2)。
EPC装置50内のDNSサーバ70の通信部73は、APNの情報を受信する。処理部71は、データベースDBを参照し、APNに対応する通信先のネットワーク識別情報を検索して抽出する。通信部73は、抽出された通信先のネットワーク識別情報をゲートウェイ30に送信する(S34A1)。ゲートウェイ30の通信部33は、通信先のネットワーク識別情報をEPC装置50から受信し、端末10に送信する(S34A2)。このネットワーク識別情報は、例えば、端末10が3GPPネットワークN2へ送信するための情報に相当する。
端末10の通信部13は、ゲートウェイ30からの通信先のネットワーク識別情報を受信する。処理部11は、ルーティングテーブルに、この通信先のネットワーク識別情報を含む通信制御情報CC1を登録する(S35)。
このように、通信システム5A2は、第1動作例を実施することで、EPC装置50から独立して設置されたDNSサーバ70にアクセスすることが不要であるので、端末10がルーティングテーブルに情報を追加、変更等することが不要である。つまり、ゲートウェイ30は、EPC装置50との通信を意識することで足りる。この場合でも、EPC装置50内でDNSサーバ70が必要な処理を行うことができる。また、端末10が自発的にAPNに対応する通信先のネットワーク識別情報を問い合わせ、ゲートウェイ30が処理負荷を抑制しながら通信先のネットワーク識別情報を提供できる。
図11は、通信システム5A2の第2動作例を示すシーケンス図である。図11では、ゲートウェイ30が主導して端末10の通信先のアドレス情報を問い合わせることを想定している。
図11の処理の開始時には、ルーティングテーブルには、通信先の個別の通信制御情報が保持されていないことを想定する。また、図11の処理の開始時には、一例として、ルーティングテーブルが保持するデフォルトルートの通信制御情報によって、3GPPネットワークN2よりも非3GPPネットワークN1が優先して選択されるように設定されていることを想定する。
まず、EPC装置50のPGW51は、S31を実行する。ゲートウェイ30の通信部33は、EPC装置50との間で共有された、ベアラに対応するAPNの情報を取得する(S32B)。この場合、通信部33は、例えば端末10からAPNの情報を受信して得てよい。処理部31は、通信部33を介して、DNSサーバ70を有するEPC装置50にAPNの情報を送信し、通信先のネットワーク識別情報を問い合わせる(S33B)。
EPC装置50内のDNSサーバ70の通信部73は、APNの情報を受信する。処理部71は、データベースDBを参照し、APNに対応する通信先のネットワーク識別情報を検索して抽出する。通信部73は、通信先のネットワーク識別情報をゲートウェイ30に送信する(S34B1)。ゲートウェイ30の通信部33は、通信先のネットワーク識別情報をEPC装置50から受信し、端末10に送信する(S34B2)。このネットワーク識別情報は、例えば、端末10が3GPPネットワークN2へ送信するための情報に相当する。そして、端末10は、S35の処理を行う。
このように、通信システム5A2は、第2動作例を実施することで、EPC装置50から独立して設置されたDNSサーバ70にアクセスすることが不要であるので、端末10がルーティングテーブルに情報を追加、変更等することが不要である。つまり、ゲートウェイ30は、EPC装置50との通信を意識することで足りる。この場合でも、EPC装置50内でDNSサーバ70が必要な処理を行うことができる。また、端末10は、自ら主導して通信先のネットワーク識別情報を問い合わせなくても、ゲートウェイ30が主導して問い合わせることで、APNに対応する通信接続先のルート情報を取得できる。
なお、図11に示した第2動作例においても、ゲートウェイ30がDNSキャッシュサーバ70cを有してよい。この場合、ゲートウェイ30のみでAPNに対応するネットワーク識別情報を解決できれば、EPC装置50に問い合わせを行わず、ゲートウェイ30において通信先のネットワーク制御情報の提供に係る処理が完結してもよい。
一般的に、非3GPPネットワークN1における通信と3GPPネットワークN2の通信とのいずれも可能な通信システムでは、3GPPネットワークと非3GPPネットワークとのどちらのネットワークを優先して選択するかは、実装に依存するが、3GPPネットワークを選択するようにされることがある。3GPPネットワークを用いた通信の利益を受けるためである。この場合、非3GPPネットワークを介した通信ができないことがある。逆に、非3GPPネットワークを介した通信が可能であり、3GPPネットワークを介した通信が不可能である実装とされることもある。また、非3GPPネットワークを選択するようにされることがある。より狭域な通信範囲の通信方式が優先されることが多いためである。この場合、3GPPネットワークを介した通信ができないことがある。逆に、3GPPネットワークを介した通信が可能であり、非3GPPネットワークを介した通信が不可能である実装とされることもある。
これに対し、通信システム5は、ネットワークの選択を柔軟に行うことができ、通信性能を向上できる。よって、通信システム5は、非3GPPネットワークN1及び3GPPネットワークN2における複数のネットワークのいずれかが、ルーティングテーブルのデフォルトルートに従って画一的に選択されることを抑制できる。また、通信システム5は、APN、DNSというLTEの既存技術を使うことができる。
具体的には、通信システム5では、DNSサーバ70は、データベースに、様々なAPNと、そのAPNに対応する通信先のネットワークを識別するネットワーク識別情報と、を保持しておく。これにより、DNSサーバ70は、外部(例えば端末10)からの問い合わせに対してネットワーク識別情報を提供できる。
また、端末10は、端末10の通信先のネットワーク識別情報を取得し、ネットワーク識別情報を含む通信先の個別の通信制御情報CC1をルーティングテーブルに登録する。よって、端末10は、ルーティングテーブルに保持されたデフォルトルートの通信制御情報を用いる場合と異なり、通信先の個別の通信制御情報CC1に記されたユーザ所望のネットワークを介した通信が可能となる。よって、端末10は、例えば、通信負荷が低いネットワークを選択したり、通信データが端末10の通信先に到達可能なネットワークを選択したりでき、通信先と通信するための通信経路の適格性を向上(例えば最適化)できる。
また、例えば、通信システム5によれば、通信システムが端末10Bとゲートウェイ30Bを有する場合、端末10Bは、スマートフォンのようにLTEネットワークと無線LANとのいずれのネットワークも利用可能である場合、自動的にルータ60を優先せずに、ユーザが意図するLTEを選択し、個別通信をLTEで行うことができる。
以上、図面を参照しながら各種の実施形態について説明したが、本発明はかかる例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。また、発明の趣旨を逸脱しない範囲において、上述した各種の実施形態における各構成要素を任意に組み合わせてもよい。
上記実施形態では、端末10が複数あり、端末10の通信先が複数あってもよい。この場合、各通信先に対応するAPNが異なり、異なるAPNに対して異なるネットワーク識別情報が提供されてもよい。この場合、各端末10の各通信先のネットワーク識別情報を含む通信制御情報が、異なるネットワークを介した通信を利用する情報を含んでよい。つまり、ある端末10には非3GPPネットワークN1を介した通信が実施されるよう設定され、ある端末10には3GPPネットワークN2を介した通信が実施されるよう設定されてよい。これにより、通信システム5は、各端末10とその通信先との通信に係る負荷を分散でき、通信効率を向上できる。
上記実施形態では、DNSサーバ70が設けられることを示したが、他のサーバが設けられてもよい。他のサーバは、例えば、通信先識別情報(例えばAPN)というクエリに対して通信先のネットワーク識別情報を応答するサーバであればよい。また、通信先識別情報として、APNではなく他の識別情報が用いられてもよい。
上記実施形態では、複数のネットワークが、非3GPPネットワークN1と3GPPネットワークN2であることを主に例示したが、これに限られない。例えば、非3GPPネットワークN1内における複数のネットワークであってもよいし、3GPPネットワークN2内における複数のネットワークであってもよいし、この組み合わせのネットワークであってもよい。例えば、複数のネットワークが複数のLTEネットワークでもよい。これにより、上記実施形態を外国においてローミング不可能な端末に大変有益である。
以上のように、上記実施形態の通信システム5では、DNSサーバ70(サーバの一例)が、3GPPネットワークN2又は非3GPPネットワークN1に配置されてよい。DNSサーバ70は、3GPPネットワークN2及び非3GPPネットワークN1の双方において通信可能な端末10の通信先を識別する通信先識別情報を取得してよい。DNSサーバ70は、通信先識別情報を基に、通信先が属するネットワークを識別するネットワーク識別情報を、端末10に送信してよい。
これにより、DNSサーバ70は、外部(例えば端末10)からの問い合わせに対してネットワーク識別情報を提供できる。よって、DNSサーバ70は、例えば端末10が、ネットワーク識別情報を含む通信制御情報を登録し、デフォルトルートとは異なる個別の通信制御情報に従って通信することを支援できる。よって、DNSサーバ70は、端末10が、例えば、通信負荷が低いネットワークを選択したり、通信データが端末10の通信先に到達可能なネットワークを選択したりでき、通信先と通信するための通信経路の適格性を向上することを支援できる。
また、通信システム5では、端末10は、DNSサーバ70からのネットワーク識別情報を取得してよい。端末10は、ネットワーク識別情報を含み、通信先と通信するための通信制御情報CC1をルーティングテーブル(テーブルの一例)に保持させてよい。
これにより、端末10は、ルーティングテーブルに保持されたデフォルトルートの通信制御情報を用いる場合と異なり、個別の通信制御情報CC1に記されたユーザ所望のネットワークを介した通信が可能となる。よって、端末10は、例えば、通信負荷が低いネットワークを選択したり、通信データが端末10の通信先に到達可能なネットワークを選択したりでき、通信先と通信するための通信経路の適格性を向上できる。
また、端末10は、通信先識別情報として、通信先に対応するAPNの情報を取得し、APNの情報をDNSサーバ70に送信し、APNに対応するネットワーク識別情報をDNSサーバ70から取得してよい。
APNは、EPC装置50よりも上位のネットワークの識別子であり、EPC装置50よりも上位の外部ネットワークに配置された通信先の識別情報と一致する。そのため、APNは、EPC装置50経由でアクセスすべきネットワークの情報と密接に関連し、相性の良い概念である。したがって、端末10は、APNを用いてネットワーク識別情報を容易に取得できる。
また、DNSサーバ70は、3GPPネットワークN2における通信を管理するEPC装置50(コアネットワーク装置の一例)よりも上位のネットワークに配置されてよい。端末10は、3GPPネットワークN2を介した通信を選択するための優先度を上げた後に、APNの情報をDNSサーバ70に送信してよい。端末10は、通信先のネットワーク識別情報をDNSサーバ70から取得した後に、優先度を下げてよい。
これにより、端末10は、例えば、DNSサーバ70の個別の通信制御情報がルーティングテーブルに登録されておらず、デフォルトルートに従って通信する場合でも、3GPPネットワークN2を介した通信の優先度を上げることで、3GPPネットワークN2側に配置されたDNSサーバ70に到達でき、DNSサーバ70と通信可能である。また、端末10が、通信先のネットワーク識別情報をDNSサーバ70から取得した後に3GPPネットワークN2を介した通信の優先度を下げることで、優先度の変更により、後の通信におけるデフォルトルートに従ったネットワークの選択が変更されたまま維持されることを抑制できる。
また、DNSサーバ70は、3GPPネットワークN2における通信を管理するEPC装置50よりも上位のネットワークに配置されてよい。端末10は、DNSサーバ70と通信するための第2の通信制御情報をルーティングテーブルに保持させ、第2の通信制御情報に基づいて、APNの情報を前記サーバに送信してよい。
これにより、端末10は、DNSサーバ70の個別の通信制御情報をルーティングテーブルに登録することで、個別の通信制御情報に従って通信でき、3GPPネットワークN2側に配置されたDNSサーバ70に到達でき、DNSサーバ70と通信可能である。
また、通信システム5のゲートウェイ30(中継装置、ゲートウェイ装置の一例)は、端末10とEPC装置50との間での通信を中継してよい。DNSキャッシュサーバ70c(サーバの一例)は、ゲートウェイ30の内部に配置されてよい。端末10は、APNの情報をゲートウェイ30に送信し、APNに対応するネットワーク識別情報をゲートウェイ30から取得してよい。
これにより、端末10は、端末10が主導して、必要なタイミングで中継装置に対して通信先のネットワーク識別情報の問い合わせを行うことができる。また、通信システム5は、ゲートウェイ30が有する補助的なDNSキャッシュサーバ70cとしての機能を利用できる。例えば、ゲートウェイ30は、DNSサーバ70のデータベースよりも小規模なデータベースを有し、ゲートウェイ30のデータベースで足りる場合には、EPC装置50へ問い合わせせずに、端末10へ通信先のネットワーク識別情報を通知できる。
また、DNSキャッシュサーバ70cは、ゲートウェイ30の内部に配置され、DNSサーバ70は、EPC装置50の内部に配置されてよい。ゲートウェイ30は、APNの情報を端末10から取得してEPC装置50に送信してよい。ゲートウェイ30は、APNに対応するネットワーク識別情報をEPC装置50から取得して端末10へ送信してよい。
これにより、ゲートウェイ30は、ゲートウェイ30が主導して、端末10の通信先のネットワーク情報を問い合わせ、端末10へ提供可能である。また、ゲートウェイ30は、端末10が主導して通信先のネットワーク識別情報を問い合わせる場合でも、ゲートウェイ30が保持する補助的なDNSキャッシュサーバ70cではネットワーク識別情報の検索のために不足している場合には、更にEPC装置50へネットワーク識別情報を問い合わせし、EPC装置50から取得して、端末10へ通知できる。
また、ネットワーク識別情報は、通信先のIPアドレスが含まれるアドレス範囲の情報を含んでよい。また、通信制御情報は、ネットワーク識別情報と、通信先と通信するためのインタフェースの情報と、を含んでよい。
これにより、端末10は、通信制御情報をルーティングテーブルに登録するので、通信先のネットワークに関する情報を把握できる。また、端末10は、ルーティングテーブルを参照して通信することで、登録されたネットワーク識別情報で識別される通信先のネットワークに、登録されたインタフェースを用いて通信できる。
また、端末10は、非3GPP端末である端末10Aでよい。ゲートウェイ30は、端末10Aを3GPPネットワークN2に収容するゲートウェイ30Aでよい。
端末10Aを3GPPネットワークN2に収容する場合、例えば、ネットワークとしてなるべく3GPPネットワークN2が選択されるよう設定されることが多い。この場合、端末10Aが、通信に利用するネットワークとして、非3GPPネットワークN1を選択することが困難となる。この場合でも、通信先の個別の通信制御情報CC1を基に、ユーザが所望するネットワークを使用した通信が可能となり、特定のネットワークだけが選択されることを防止できる。よって、通信システム5は、通信不可事象や、過大な通信負荷が発生することを抑制できる。
また、端末10は、3GPP端末である端末10Bでよい。ゲートウェイ30は、3GPPネットワークN2における基地局装置(eNB)でよい。
これにより、端末10Bは、通信先の個別の通信制御情報CC1を基に、ユーザが所望するネットワークを使用した通信が可能となる。よって、端末10Bは、例えば、スマートフォンのように、3GPPネットワークN2と非3GPPネットワークN1とのいずれのネットワークも利用可能であるにも関わらず、非3GPPネットワークが自動的に優先して選択されることを抑制できる。よって、通信システム5Bは、通信不可事象や、過大な通信負荷が発生することを抑制できる。