(57)【要約】【課題】通信エンティティ間で共用されるネットワーク層アドレスが宛先アドレスに設定された受信データを通信エンティティのいずれかに振り分け可能な技術の提供。【解決手段】移動通信端末は、共通のＩＰアドレスを用いてネットワークと通信を行う第１通信エンティティ及び第２通信エンティティを含み、第２通信エンティティに含まれる制御装置は、第２通信エンティティがネットワークへデータを送信するときに使用するポート番号であって、第１通信エンティティで使用されるポート番号と重複しないポート番号を記憶し、共通のＩＰアドレスが宛先アドレスに設定されたネットワークからの受信データが記憶したポート番号と一致するポート番号を含むときに受信データの宛先が第２通信エンティティであると判定し、受信データが前記記憶したポート番号と一致するポート番号を含まないときに前記受信データの宛先が前記第１通信エンティティであると判定する。【選択図】図２
2015037275.tif 000002
【特許請求の範囲】
【請求項１】
トランスポート層プロトコル及びネットワーク層プロトコルをサポートし、或るネットワーク層アドレスが送信元アドレスに設定されたデータをネットワークへ送信する第１通信エンティティと、
前記第１通信エンティティがサポートする前記トランスポート層プロトコル及びネットワーク層プロトコルをサポートし、前記或るネットワーク層アドレスの共用により、前記或るネットワーク層アドレスが送信元アドレスに設定されたデータを前記ネットワークへ送信可能な第２通信エンティティと、を備え、
前記第２通信エンティティは、
前記第２通信エンティティが前記或るネットワーク層アドレスが送信元アドレスに設定されたデータを前記ネットワークへ送信するときに使用されるポート番号であって、前記第１通信エンティティで使用されるポート番号と重複しないポート番号を記憶する記憶装置と、
前記或るネットワーク層アドレスが宛先アドレスに設定された前記ネットワークからの受信データが前記記憶装置に記憶されたポート番号と一致するポート番号を含むときに前記受信データの宛先が前記第２通信エンティティであると判定し、前記受信データが前記記憶装置に記憶されたポート番号と一致するポート番号を含まないときに前記受信データの宛先が前記第１通信エンティティであると判定する判定処理を行う制御装置と、を含む移動通信端末。
【請求項２】
前記制御装置は、前記ネットワークとの間でコネクションが確立されたときに、前記第２通信エンティティで使用する１以上のポート番号の払い出しを前記第１通信エンティティに要求する処理と、前記要求に応じて前記第１通信エンティティが払い出した、未使用の１以上のポート番号を前記記憶装置に記憶する処理と、前記第２通信エンティティが前記或るネットワーク層アドレスが送信元アドレスに設定されたデータを前記ネットワークへ送信するデータ送信を開始するときに、当該データ送信に使用するポート番号を前記１以上のポート番号から選択する処理と、選択したポート番号を前記判定処理に用いるポート番号として前記記憶装置に記憶する処理と、を実行する
請求項１に記載の移動通信端末。
【請求項３】
前記制御装置は、前記要求する処理において、前記第２通信エンティティで使用するポート番号の数を含む要求メッセージを前記第１通信エンティティに送信する処理を行い、前記要求メッセージに応じて前記第１通信エンティティで選択された前記ポート番号の数のポート番号を含む応答メッセージを前記第１通信エンティティから受信する
請求項２に記載の移動通信端末。
【請求項４】
前記制御装置は、前記要求する処理において、前記第２通信エンティティでの使用のために払い出しを希望する少なくとも１つのポート番号を含む要求メッセージを前記第１通信エンティティに送信する処理を行い、前記要求メッセージに応じて前記第１通信エンティティが払い出した前記少なくとも１つのポート番号を含む応答メッセージを前記第１通信エンティティから受信する
請求項２に記載の移動通信端末。
【請求項５】
前記少なくとも１つのポート番号が前記第１通信エンティティで使用されているときに、前記制御装置は、前記第１通信エンティティが前記少なくとも１つのポート番号の代わりに払い出したポート番号である代替ポート番号を含む応答メッセージを前記第１通信エンティティから受信する
請求項４に記載の移動通信端末。
【請求項６】
前記制御装置は、前記或るネットワーク層アドレスが送信元アドレスに設定されたデータを前記ネットワークへ送信するデータ送信を開始するときに、当該データ送信で使用するポート番号の払い出しを前記第１通信エンティティに要求する処理と、前記要求に応じて前記第１通信エンティティが払い出した未使用のポート番号を、当該データ送信に使用されるポート番号であり、且つ前記判定処理に用いるポート番号として前記記憶装置に記憶する処理と、を実行する
請求項１に記載の移動通信端末。
【請求項７】
前記制御装置は、前記受信データが、前記移動通信端末に宛てられたデータに対するフラグメンテーションによって生成された、共通の識別子を有する複数のデータフラグメントのうちの先頭のデータフラグメントであるときに、当該先頭のデータフラグメントに含まれたポート番号を用いて前記判定処理を行い、前記判定処理の結果と関連づけて前記先頭のデータフラグメントに含まれた前記識別子を前記記憶装置に記憶する処理を行い、その後に受信されるデータに前記記憶装置に記憶された識別子が含まれているときには、当該識別子に関連づけて記憶された判定結果を用いて当該データの宛先を決定する
請求項１から６のいずれか１項に記載の移動通信端末。
【請求項８】
トランスポート層プロトコル及びネットワーク層プロトコルをサポートし、或るネットワーク層アドレスが送信元アドレスに設定されたデータをネットワークへ送信する第１通信エンティティと、前記第１通信エンティティがサポートする前記トランスポート層プロトコル及びネットワーク層プロトコルをサポートし、前記或るネットワーク層アドレスの共用により、前記或るネットワーク層アドレスが送信元アドレスに設定されたデータを前記ネットワークへ送信可能な第２通信エンティティと、を備える移動通信端末において、
前記第２通信エンティティに含まれる制御装置が、
前記第２通信エンティティが前記或るネットワーク層アドレスが送信元アドレスに設定されたデータを前記ネットワークへ送信するときに使用するポート番号であって、前記第１通信エンティティで使用されるポート番号と重複しないポート番号を記憶し、
前記或るネットワーク層アドレスが宛先アドレスに設定された前記ネットワークからの受信データが前記記憶したポート番号と一致するポート番号を含むときに前記受信データの宛先が第２通信エンティティであると判定し、前記受信データが前記記憶したポート番号と一致するポート番号を含まないときに前記受信データの宛先が前記第１通信エンティティであると判定する判定処理を行う
ことを含む移動通信端末で受信されるデータの宛先判定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、移動通信端末に関する。
【背景技術】
【０００２】
移動通信ネットワークは、３ＧＰＰ（3rd Generation Partnership Project）で規定されるＩＭＳ（IP Multimedia. Subsystem）の導入に伴い、ALL ＩＰ化へ移行する段階にある。今後、ＬＴＥ（Long Term Evolution）上で音声ＩＰ通信を行うＶｏＬＴＥ（Voice over ＬＴＥ）の導入が複数のネットワークオペレータで予定されている。
【０００３】
３ＧＰＰにおいて、移動通信端末（ＵＥ：User Equipment）は、アプリケーション機能を制御するＴＥ(Terminal Equipment)と、無線アクセスを制御するＴＡ(Terminal Adaptation)と、無線ネットワークへのアクセスを行うＭＴ(Mobile Termination)とを含む。
【０００４】
ＩＭＳでは、音声通信の開始や切断を行うセッション制御のためのプロトコルとして、ＩＥＴＦ（Internet Engineering Task Force）で規定されたＳＩＰ（Session Initiation Protocol）が採用されている。ＩＭＳを実現する場合のプロトコル構成として、通常、ＳＩＰはＴＣＰ／ＩＰ（Transmission Control Protocol/Internet Protocol）スタック
が搭載されるＴＥに搭載される。
【０００５】
一方、既存の回線交換（ＣＳ）による音声制御は、ＴＡにて行われる。このため、ＳＩＰ及びＴＣＰ／ＩＰスタックをＴＡに搭載することによって、音声制御を行う機能を統一化（プラットフォーム化）させることが考えられている。この場合、ＩＭＳアプリケーション（ＴＥ）開発者は、ＳＩＰ及びＴＣＰ／ＩＰスタックが搭載されたＴＡを利用して、ＩＭＳを容易に実装することが可能となる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００７−２４９４７２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ＴＣＰ／ＩＰスタックが搭載されたＴＥを含むＵＥに、ＴＣＰ／ＩＰスタックが搭載されたＴＡを搭載すると、当該ＵＥは、ＴＣＰ／ＩＰスタックを二重に有した構成となる。このような構成において、ＴＡとＴＥとのそれぞれが独立した通信を行う場合には、例えば、それぞれ異なるＩＰアドレスが割り当てられた複数のＰＤＮ（Packet Data Network
）コネクションが、ＵＥとネットワーク（ＮＷ）との間で確立される。
【０００８】
上記のような、複数のＩＰアドレスを用いて複数のＰＤＮコネクションを確立する構成を採用すると、ＵＥとＮＷとの間のリソースの浪費を招来したり、ＵＥ内部でのコネクション管理が複雑になったりする虞がある。一方、同一のＰＤＮコネクションをＴＥとＴＡとで共有する場合には、以下の問題があった。
【０００９】
すなわち、ＴＡ及びＴＥのそれぞれに存在するトランスポート層のプロトコル（ＴＣＰ／ＵＤＰ(User Datagram Protocol)）で使用されるポート番号がＴＡとＴＥの間で重複する場合があり得る。この場合、ＴＡ及びＴＥが同一の通信相手（或る１つのＩＰアドレスを有する単一の機器）と通信したとき、通信相手から受信されるパケットの宛先がＴＡであるのかＴＥであるのかをポート番号から判定することができない。
【００１０】
本開示は、移動通信端末中の通信エンティティ間で共通に使用されるネットワーク層アドレスが宛先アドレスとして設定された受信データを通信エンティティのいずれかに振り分けることのできる技術を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明の態様（aspect）の一つは、トランスポート層プロトコル及びネットワーク層プロトコルをサポートし、或るネットワーク層アドレスが送信元アドレスに設定されたデータをネットワークへ送信する第１通信エンティティと、前記第１通信エンティティがサポートする前記トランスポート層プロトコル及びネットワーク層プロトコルをサポートし、前記或るネットワーク層アドレスの共用により、前記或るネットワーク層アドレスが送信元アドレスに設定されたデータを前記ネットワークへ送信可能な第２通信エンティティと、を備える移動通信端末である。前記第２通信エンティティは、前記第２通信エンティティが前記或るネットワーク層アドレスが送信元アドレスに設定されたデータを前記ネットワークへ送信するときに使用するポート番号であって、前記第１通信エンティティで使用されるポート番号と重複しないポート番号を記憶する記憶装置と、前記或るネットワーク層アドレスが宛先アドレスに設定された前記ネットワークからの受信データが前記記憶装置に記憶されたポート番号と一致するポート番号を含むときに前記受信データの宛先が第２通信エンティティであると判定し、前記受信データが前記記憶装置に記憶されたポート番号と一致するポート番号を含まないときに前記受信データの宛先が前記第１通信エンティティであると判定する判定処理を行う制御装置とを含む。
【発明の効果】
【００１２】
本開示によれば、移動通信端末中の通信エンティティ間で共通に使用されるネットワーク層アドレスが宛先アドレスとして設定された受信データを通信エンティティのいずれかに振り分けることができる。
【図面の簡単な説明】
【００１３】
【図１】図１は、実施形態に係るネットワークシステムの構成例を模式的に示す。
【図２】図２は、ＵＥのハードウェア構成例を示す。
【図３】図３は、ＴＥに含まれたＣＰＵのプログラム実行によって形成されるＴＥの機能と、ＴＡに含まれたＣＰＵのプログラム実行によって形成されるＴＡの機能とを示すブロック図である。
【図４】図４は、ＴＡとＮＷとの間でＰＤＮコネクションが確立されたときの動作例を示すシーケンス図である。
【図５】図５は、ＴＥポート制御部によって管理されるＴＡポート管理テーブルのデータ構造例（記憶内容）を示す。
【図６】図６は、ＴＡポート制御部によって管理されるポート管理テーブルのデータ構造例（記憶内容）を示す。
【図７】図７は、ＴＡのアプリケーションによるＴＣＰ／ＩＰ通信の開始を契機とする動作例を示すシーケンス図である。
【図８】図８は、ＴＡポート制御部によって更新されたポート管理テーブルを示す。
【図９】図９は、ＴＡ-ＴＥデータ重複回避制御部によって管理されるポート管理テーブルを示す。
【図１０】図１０は、ＳＩＰパケット（ＩＰパケット）のフォーマット例を示す。
【図１１】図１１は、ＮＷ（アプリケーションサーバ）からのＳＩＰパケットの応答パケットの受信時における動作例を示すシーケンス図である。
【図１２】図１２は、ＩＰフラグメントの説明図である。
【図１３】図１３は、フラグメントパケット管理テーブルのデータ構造例を示す。
【図１４】図１４は、ＩＰフラグメントが考慮された回避制御部での処理を示すフローチャートである。
【図１５】図１５は、実施形態１の作用説明図である。
【図１６】図１６は、実施形態２に係る動作例を示すシーケンス図である。
【図１７】図１７は、実施形態３における動作例を示すシーケンス図である。
【発明を実施するための形態】
【００１４】
以下、図面を参照して本発明の実施形態について説明する。実施形態の構成は例示であり、本発明は実施形態の構成に限定されない。
【００１５】
〔実施形態１〕
＜ネットワークシステムの構成例＞
図１は、実施形態に係るネットワークシステムの構成例を模式的に示す。ネットワークシステムは、ネットワーク（ＮＷ）１１と、ネットワークを用いて通信を行うＵＥ１０とを含む。
【００１６】
図１の例において、ネットワーク１１は、ＩＰ網１と、ＩＰ網１に接続されたアプリケーションサーバ２と、ＩＰ網１と無線網（無線リンク）との間に配置されるゲートウェイ３とを含む。ＵＥ１０は、無線網を介してゲートウェイ３と接続され、ゲートウェイ３及びＩＰ網１を介してアプリケーションサーバ２と通信を行うことができる。
【００１７】
ＵＥ１０は、「移動通信端末」の一例である。また、ＩＰ網１は、「ネットワーク」、或いは「パケット網」の一例である。アプリケーションサーバ２は、「通信相手」の一例である。ＴＥ１１は、「第１の通信エンティティ」、或いは「第１通信装置」の一例であり、ＴＡ１２は、「第２の通信エンティティ」、或いは「第２通信装置」の一例である。
【００１８】
ＵＥ１０は、アプリケーション機能を制御するＴＥ１００と、無線アクセスを制御するＴＡ２００と、無線ネットワークへのアクセスを行うＭＴ１３とを含む。図１に示すように、ＴＡ２００は、ＭＴ１３に含まれることができる。
【００１９】
ＴＥ１００は、ＴＥ向けサービス，例えばＴＥ１００が備える様々なアプリケーションに係るサービスを提供するために、ネットワーク上の或る通信相手（例えばアプリケーションサーバ２）とＴＣＰ（ＵＤＰ含む）／ＩＰ通信を行う。ＴＣＰ／ＩＰ通信は、「パケット通信」の一例である。以下、ＴＣＰ／ＩＰ通信を単に「ＩＰ通信」と表記することもある。
【００２０】
一方、ＴＡ２００は、ＴＡ２００が備える様々なアプリケーション、例えば、ＳＩＰによる通話（音声通信）サービスを提供するために、音声パケット通信（例えば、ＶｏＬＴＥのようなＶｏＩＰ）を、ネットワーク上の或る通信相手（例えばアプリケーションサーバ２）と行う。
【００２１】
ＴＥ１００及びＴＡ２００のそれぞれのアプリケーションがＩＰ通信を行うために、ＴＥ１００及びＴＡ２００のそれぞれには、ＴＣＰ（ＵＤＰ含む）／ＩＰプロトコルスタックが搭載されている。すなわち、ＴＥ１００及びＴＡ２００のそれぞれは、ＴＣＰ（ＵＤＰ含む）／ＩＰをサポートする。ＴＣＰ及びＵＤＰは、「ポート番号を用いるトランスポート層プロトコル」の一例であり、ＩＰは、「ネットワーク層プロトコル」の一例であり、ＩＰアドレスは、「ネットワーク層アドレス」の一例である。
【００２２】
ＴＡ２００に備えられた或るアプリケーションに基づくＩＰ通信（パケット通信の一例）が実行される場合には、ＴＡ２００と通信相手との間にＰＤＮコネクションが確立される。ＴＡ２００で確立可能な複数のＰＤＮコネクションのうち、少なくとも１つのＰＤＮ
コネクションは、ＴＥ１００と共用（共有）される。或るＰＤＮコネクションがＴＥ１００とＴＡ２００とで共用される場合、当該或るＰＤＮコネクションには、共通な１つのＩＰアドレスが割り当てられる。
【００２３】
図１は、ＴＥ１００とＴＡ２００とで共用されるＰＤＮコネクション４を図示し、ＰＤＮコネクション４上で、ＴＡ２００が備える或るアプリケーションと通信相手との間にＩＰ通信に係るパケットフロー６が形成される一方、ＴＥ１００の或るアプリケーションと通信相手との間にＩＰ通信に係るパケットフロー５が形成された様子が示されている。ＰＤＮコネクション４には、ＴＥ１００とＴＡ２００との間で共通のＩＰアドレス（例：192.168.0.1）が使用される。
【００２４】
このため、通信相手から受信されるＩＰパケットの送信先ＩＰアドレスは、当該ＩＰパケットの宛先がＴＡ２００の場合とＴＥ１００との場合の双方において、同一のＩＰアドレス（192.168.0.1）となる。これに鑑み、実施形態では、後述するように、ＴＡ２００
がＴＥ-ＴＡデータ重複回避制御部２０６を有し、ＴＥ-ＴＡデータ重複回避制御部２０６が、下り側（ＮＷ→ＵＥ）のＰＤＮコネクションを終端して、ＩＰパケットの宛先がＴＥ１００とＴＡ２００とのいずれであるかを判定し、判定結果に応じたＩＰパケットの振分を行う。
【００２５】
＜ＵＥのハードウェア（ＨＷ）構成＞
図２は、ＵＥ１０のハードウェア構成例を示す。図２において、ＴＥ１００は、アプリケーションＣＰＵ（Central Processing Unit）２１（以下、「ＣＰＵ２１」と表記）と
、ＣＰＵ２１に接続されたキーパッド２２，ＬＣＤ（液晶ディスプレイ）２３，ＲＯＭ（Read Only Memory）／ＲＡＭ（Random Access Memory）２４，電源制御部２５，マイク２６，スピーカ２７，及びＴＥ通信部１０４を含んでいる。上記したＴＥ１００の構成要素は、ＵＥ１０内の内部配線を介して電気的に接続されている。
【００２６】
キーパッド２２は、ＵＥ１０のユーザ（オペレータ）が情報を入力するために使用される。キーパッド２２は、「入力装置」の一例である。ＬＣＤ２３は、ＵＥ１０に記憶された情報、或いは、プログラムの実行によって得られた結果に係る情報のような様々な情報を表示する。ＬＣＤ２３は、「ディスプレイ装置」の一例である。
【００２７】
ＲＯＭ／ＲＡＭ２４は、ＣＰＵ２１によって実行される様々なプログラムと、プログラムの実行時に使用されるデータを記憶する。また、ＲＯＭ／ＲＡＭ２４は、ＣＰＵ２１のプログラム実行時における作業領域として使用される。ＲＯＭ／ＲＡＭ２４は、「記憶装置」，「コンピュータ読み取り可能な記録媒体」の一例である。
【００２８】
電源制御部２５は、ＵＥ１０に備えられた複数の構成要素に対する動作用の電力供給及び供給停止を制御する。電源制御部２５は、ＵＥ１０のオペレータによって操作される電源のＯＮ／ＯＦＦスイッチを含むことができる。
【００２９】
マイク２６は、音声入力装置の一例であり、スピーカ２７は、音声出力装置の一例である。マイク２６及びスピーカ２７は、ＵＥ１０を用いた通話（音声通信）時に使用される。ＴＥ通信部１０４は、ＴＡ２００に含まれたＴＡ通信部２０１と通信を行うための通信インタフェース回路、又は通信インタフェース装置である。
【００３０】
ＣＰＵ２１は、ＲＯＭ／ＲＡＭ２４に記憶されたプログラムを実行することによって、アプリケーション１０１に係る処理と、ＴＣＰ／ＩＰ１０２に係る処理とを実行する。さらに、ＣＰＵ２１は、プログラムの実行によって、ＴＥポート制御部１０３として機能する。
【００３１】
ＴＡ２００は、通信制御ＣＰＵ３１（以下、単に「ＣＰＵ３１」）と、ＣＰＵ３１に接続されたＵＩＭ（User Identity Module）カード３２，バッテリ３３，ＲＯＭ／ＲＡＭ３４，音声ＣＯＤＥＣ制御部３５，無線（ＲＦ）部３６，及びＴＡ通信部２０１を含んでいる。
【００３２】
ＵＩＭカード３２は、ＵＥ１０の契約者（ユーザ）情報が記憶されたＩＣカードである。ＵＩＭカード３２の代わりにＳＩＭカード（Subscriber Identity Module Card）が使
用されることもある。
【００３３】
バッテリ３３は、電源制御部２５がＵＥ１０の構成要素に供給する電力を蓄えている。ＲＯＭ／ＲＡＭ３４は、ＣＰＵ３１によって実行される様々なプログラムと、プログラムの実行時に使用されるデータを記憶する。また、ＲＯＭ／ＲＡＭ３４は、ＣＰＵ３１のプログラム実行時における作業領域として使用される。ＲＯＭ／ＲＡＭ３４は、「記憶装置」，「コンピュータ読み取り可能な記録媒体」の一例である。
【００３４】
音声ＣＯＤＥＣ制御部３５は、ＵＥ１０を用いた通話時に、マイク２６から入力された音声信号の符号化処理や、アンテナ３７で受信された符号化データの復号処理を行う。
【００３５】
無線部３６は、ゲートウェイ３（図１）と無線通信を行うための回路又は装置であり、ＣＰＵ３１から供給される送信対象のベースバンド信号のＤＡ変換、アップコンバート，無線周波数（ＲＦ）への変調，増幅処理などを行う。無線周波数の信号は、アンテナ３７から放射され、無線網４を介してゲートウェイ３で受信される。また、無線部３６は、アンテナ３７で受信された無線周波数信号の増幅、ダウンコンバート，ＡＤ変換などによって得られたベースバンドの信号をＣＰＵ３１に供給する。
【００３６】
無線部３６は、例えば、ＬＴＥ，Ｗ−ＣＤＭＡ（Wideband Code Division Multiple Access：３Ｇ），ＧＳＭ（登録商標）（Global System for Mobile Communications：２Ｇ
）のような、様々な無線アクセス規格（無線通信方式）から選択される少なくとも１つに応じた処理を行うことができる。ＴＡ通信部２０１は、ＴＥ１００のＴＥ通信部１０４と通信を行うための通信インタフェース回路、又は通信インタフェース装置である。
【００３７】
ＣＰＵ３１は、ＲＯＭ／ＲＡＭ３４に記憶されたプログラムを実行することによって、無線制御部２０２，ＴＡポート制御部２０３として機能する。また、ＣＰＵ３１は、プログラムの実行によって、アプリケーション２０４に係る処理と、ＴＣＰ／ＩＰ２０５に係る処理とを実行する。さらに、ＣＰＵ３１は、プログラムの実行によって、ＴＡ-ＴＥデ
ータ重複回避制御部（回避制御部）２０６、及びデータ送受信部２０７として機能する。
【００３８】
上記したＣＰＵ２１及びＣＰＵ３１のそれぞれは、「プロセッサ」，「制御装置」の一例である。各ＣＰＵ２１及びＣＰＵ３１の代わりにＤＳＰ（Digital Signal Processor）を用いることもできる。また、ＣＰＵ２１及びＣＰＵ３１のそれぞれが有する機能は、集積回路（ＩＣ，ＬＳＩ，ＡＳＩＣ（Application Specific Integrated Circuit））を用
いたハードウェアロジック（ワイヤードロジック）によって実現可能である。また、ＣＰＵ２１及びＣＰＵ３１のそれぞれが有する機能は、ＦＰＧＡ（Field Programmable Gate Array）のようなプログラマブルロジックデバイス（ＰＬＤ）を用いて実現することもで
きる。
【００３９】
＜ＵＥのソフトウェア（ＳＷ）構成例＞
図３は、ＣＰＵ２１のプログラム実行によって形成されるＴＥ１００の機能と、ＣＰＵ３１のプログラム実行によって形成されるＴＡ２００の機能とを示すブロック図である。
【００４０】
ＴＥ１００は、アプリケーション１０１と、アプリケーション１０１に接続されたＴＣＰ／ＩＰ１０２及びＴＥポート制御部１０３と、ＴＣＰ／ＩＰ１０２及びＴＥポート制御部１０３に接続されたＴＥ通信部１０４とを含む。
【００４１】
ＴＡ２００において、ＴＡ通信部２０１は、ＴＥ通信部１０４と接続されており、ＴＡ通信部２０１には、無線制御部２０２が接続されている。また、無線制御部２０２には、ＴＡポート制御部２０３，アプリケーション２０４，及び回避制御部２０６が接続されている。ＴＡポート制御部２０３は、回避制御部２０６に接続されている。アプリケーション２０４には、ＴＣＰ／ＩＰ２０５が接続されており、ＴＣＰ／ＩＰ２０５は回避制御部２０６に接続されている。回避制御部２０６は、データ送受信部２０７に接続されている。
【００４２】
ＴＥ１００において、アプリケーション１０１は、ＴＥポート制御部１０３に対してＴＡ２００で使用するポート番号の取得を要求するメッセージ“ポート番号取得要求”を送信する。また、アプリケーション１０１は、ＴＣＰ／ＩＰ１０２に対して指定したポートのソケットオープンを要求するメッセージ“ソケットオープン要求”を送信し、ＮＷ１１へＩＰパケットを送信する。
【００４３】
ＴＣＰ／ＩＰ１０２は、回避制御部２０６から受信したＩＰパケットをアプリケーション１０１へ通知する。また、ＴＣＰ／ＩＰ１０２は、アプリケーション１０１からの“ソケットオープン要求”により指定されたＴＣＰ／ＵＤＰポートをオープンし、ＩＰパケットを送信する。
【００４４】
ＴＥポート制御部１０３は、ＴＡ２００における無線制御部２０２からの“ＴＡポート番号予約要求”の受信時に、要求されたＴＣＰ／ＵＤＰポートの数に対応する数のポートを取得及び保持する。また、ＴＥポート制御部１０３は、無線制御部２０２に対してＴＡ２００で使用するポート番号が付与されたメッセージ“ＴＡポート番号予約応答”を送信する。
【００４５】
また、ＴＥポート制御部１０３は、アプリケーション１０１からの“ポート番号取得要求”の受信時に、ＴＡ２００で使用するＴＣＰ／ＵＤＰポートを付与した“ポート番号通知”をアプリケーション１０１に送信する。
【００４６】
また、ＴＥポート制御部１０３は、無線制御部２０２からの“ＴＡポート番号通知”の受信時に、通知されたＴＣＰ／ＵＤＰポート番号を保持する。また、ＴＥポート制御部１０３は、通知されたＴＡポート番号がＴＥ１００で既に使用されている場合には、ＴＡ２００で使用すべき代わりのポート番号の払い出し（割り当て）を行い、メッセージ“ＴＡポート番号通知応答”で払い出したポート番号を無線制御部２０２に通知する。
【００４７】
ＴＥ通信部１０４は、ＴＡ２００とのメッセージの送受信を行い、ＴＡ２００からのメッセージをＴＥポート制御部１０３やＴＣＰ／ＵＤＰ１０２などへ通知する。
【００４８】
ＴＡ通信部２０１は、ＴＥ１００とのメッセージの送受信を行い、ＴＥ１００からのメッセージを無線制御部２０２などへ通知する。
【００４９】
無線制御部２０２は、ＴＥ１００がＴＣＰ／ＵＤＰポート番号を取得する場合に、ＴＡ２００で使用するポート数の算出を行い、ＴＥポート制御部１０３に対して、必要ポート数が付与されたメッセージ“ＴＡポート番号予約要求”を送信する。また、無線制御部２０２は、ＴＥポート制御部１０３からのメッセージ“ＴＡポート番号予約応答”の受信時
に、ＴＥ１００から通知されたポート番号が付与されたメッセージ“ＴＡポート番号通知”をＴＡポート制御部２０３へ通知する。
【００５０】
無線制御部２０２は、ＴＡ２００からのＩＰパケットの送信に使用するポート番号を取得するために、ＴＡポート制御部２０３に対し、メッセージ“ＴＡポート番号取得要求”を送信する。無線制御部２０２は、ＴＡポート制御部２０３から受信されたメッセージ“ＴＡポート番号取得応答”によって通知されたポート番号のポートを使用してメッセージ“ＩＰパケット送信要求”をアプリケーション２０４へ送信する。
【００５１】
さらに、無線制御部２０２は、ＴＡ２００がＴＣＰ／ＵＤＰポート番号を取得する場合に、ＴＡ２００で使用するＴＣＰ／ＵＤＰポート数の算出を行い、ＴＡポート制御部２０３にメッセージ“ＴＡポート番号予約要求”を送信する。ＴＡポート制御部２０３からのメッセージ“ＴＡポート番号予約応答”が受信された場合、無線制御部２０２は、“ＴＡポート番号予約応答”で通知されたポートを付与した“ＴＡポート番号通知”をＴＥポート制御部１０３へ送信する。また、無線制御部２０２は、ＴＥポート制御部１０３からメッセージ“ＴＡポート番号通知応答”を受信すると、“ＴＡポート番号通知”をＴＡポート制御部２０３へ送信する。
【００５２】
また、無線制御部２０２は、ＴＡ２００によるＩＰパケット送信の開始を契機にＴＣＰ／ＵＤＰポートを動的に取得する場合には、ＴＥポート制御部１０３に“ＴＡポート番号予約要求”を送信し、ＴＥポート制御部１０３からの“ＴＡポート番号予約応答”を受信する。無線制御部２０２は、“ＴＡポート番号予約応答”で通知されたポート番号と使用アプリケーションの識別子とが付与されたメッセージ“ＴＡポート番号即時使用通知”をＴＡポート制御部２０３へ送信する。
【００５３】
ＴＡポート制御部２０３は、無線制御部２０２からのメッセージ“ＴＡポート番号通知”の受信時に、“ＴＡポート番号通知”によって通知されたＴＣＰ／ＵＤＰポート番号を保持する。また、ＴＡポート制御部２０３は、無線制御部２０２からの“ＴＡポート番号取得要求”の受信時に、保持しているポート番号の中から未使用のポートを払い出し、無線制御部２０２に対し、払い出されたポート番号（ＴＡ２００で使用すべきポート番号）が付与されたメッセージ“ＴＡポート番号取得応答”を送信するとともに、回避制御部２０６に対して“ＴＡポート番号通知”を送信する。
【００５４】
ＴＡポート制御部２０３は、ＴＡ２００がＴＣＰ／ＵＤＰポート番号を決定する場合において、無線制御部２０２からの“ＴＡポート番号予約要求”の受信時に、ＴＡ２００で使用する、必要な数のポート番号を取得及び保持する。そして、ＴＡポート制御部２０３は、取得したポート番号が付与されたメッセージ“ＴＡポート番号予約応答”をＴＥポート制御部１０３に通知する。
【００５５】
ＴＡポート制御部２０３は、無線制御部２０２から“ＴＡポート番号即時使用通知”を受信したときに、“ＴＡポート番号即時使用通知”によって通知されたＴＣＰ／ＵＤＰポート番号を保持し、かつ、回避制御部２０６に“ＴＡポート番号通知”を送信する。
【００５６】
アプリケーション２０４は、無線制御部２０２からのメッセージ“ＩＰパケット送信要求”を受信したときに、ＴＣＰ／ＩＰ２０５に対し、指定された“ソケットオープン要求”を送信し、その後、ＩＰパケットを送信する。また、アプリケーション２０４は、ＮＷ１１（通信相手）からのＩＰパケットを受信したときに、ＴＣＰ／ＩＰ２０５からＩＰパケットを受信し、サービスに応じた処理を実施する。
【００５７】
ＴＣＰ／ＩＰ２０５は、アプリケーション２０４からの“ソケットオープン要求”によ
り指定されたＴＣＰ／ＵＤＰポートをオープンし、ＩＰパケットを送信する。また、ＴＣＰ／ＩＰ２０５は、回避制御部２０６から受信したＩＰパケットをアプリケーション２０４へ通知する。
【００５８】
回避制御部２０６は、ＴＥ１００（アプリケーション１０１）とＴＡ２００（アプリケーション２０４）とで共用されるＰＤＮコネクションと、共用されるＰＤＮコネクション以外のＰＤＮコネクションとを区別して管理することができる。回避制御部２０６は、共用されるＰＤＮコネクションの終端機能を有し、共用のＰＤＮアドレスが送信先アドレスとして設定されたＩＰパケットを受信したときに、当該ＩＰパケットを終端してＩＰパケットの宛先がＴＥ１００からＴＡ２００かを判別する。宛先がＴＥ１００であれば、回避制御部２０６は、ＴＥ１００のアプリケーション１０１へ向けてパケットを転送し、宛先がＴＡ２００であれば、回避制御部２０６は、ＴＡ２００のアプリケーション２０４に含まれる所定のアプリケーションへ向けてＩＰパケットを転送する。
【００５９】
ＴＡポート制御部２０３から“ＴＡポート番号通知”を受信したときに、通知されたＴＣＰ／ＵＤＰポート番号の保持（記憶）を行う。また、回避制御部２０６は、ＮＷ１１（通信相手）からのＩＰパケット受信時に、受信したＩＰパケットの送信先ポート番号をチェックする。送信先ポート番号が保持しているポート番号と一致していれば、回避制御部２０６は、当該ＩＰパケットをＴＣＰ／ＩＰ２０５へ送り、不一致であれば、ＴＡ通信部２０１へＩＰパケットを送信する。
【００６０】
データ送受信部２０７は、無線部３６との間で、ベースバンド信号の送受信を行う。すなわち、データ送受信部２０７は、ＮＷ１１へ送信すべきデータの符号化処理及び変調処理を行うことで、ベースバンド信号を生成し、無線部３６に供給する。一方、データ送受信部２０７は、無線部３６から受信されるベースバンド信号に対する復調処理及び復号処理を行うことで、ＮＷ１１から送信されたデータを得る。
【００６１】
データ送受信部２０７は、ＮＷからＰＤＮコネクション確立通知が受信されたときに、無線制御部２０２に対してＰＤＮ確立通知を送信する。また、データ送受信部２０７は、ＩＰパケットの送受信を行う。ＮＷ１１からＩＰパケットが受信された場合、データ送受信部２０７は、回避制御部２０６へＩＰパケットを転送する。
【００６２】
＜動作例＞
次に、上記したＵＥ１０及びネットワークにおける動作例について説明する。図１は、実施形態１におけるＵＥ１０とＮＷ１１との間のＰＤＮコネクション構成を示している。
【００６３】
ＵＥ１０とＮＷ１１との間に１つのＰＤＮコネクションが確立されるとき、ＰＤＮアドレスとして、或るＩＰアドレスがＰＤＮコネクションに割り当てられる。ＵＥ１０は、ＰＤＮコネクションを用いたＴＣＰ／ＩＰ通信において、ＰＤＮアドレスを使用する。すなわち、ＵＥ１０からＮＷ１１へＰＤＮコネクションを用いてＩＰパケットが送信される場合、ＩＰパケットの送信元アドレスには必ずＰＤＮアドレスが設定される。また、ＵＥ１０がＮＷ１１からＰＤＮコネクションを通じてＩＰパケットを受信する場合、ＩＰパケットの送信先アドレスとしてＰＤＮアドレスが設定される。
【００６４】
ＴＥ１００のアプリケーション１０１として、例えば、Ｗｅｂブラウザやメーラのような、一般的なユーザーアプリケーションプログラムが想定される。一方、ＴＡ２００のアプリケーション２０４として、例えば、ＶｏＬＴＥやＶｏＩＰにおけるＳＩＰなどを制御するためのアプリケーションが想定される。但し、アプリケーションプログラム（アプリケーション１０１，アプリケーション１０２）の種別は上記に限定されない。また、ＴＥ１００及びＴＡ２００のそれぞれで実行されるアプリケーションの数は、１以上の任意の
数である。
【００６５】
実施形態１では、ＴＥ１００のアプリケーション１０１とＴＡ２００のアプリケーション２０４との双方が同一の（共通の）ＰＤＮコネクションを使用する。例えば、アプリケーション２０４に含まれるアプリケーションの１つであるＳＩＰが使用するＰＤＮコネクションは、ＴＥ１００の或るアプリケーションが使用するＰＤＮコネクションと共用される。このとき、共用のＰＤＮコネクション４に割り当てられるＩＰアドレス（ＰＤＮアドレス）として、例えば、ＩＰアドレス“192.168.0.1”が使用される。換言すれば、ＴＥ
１００の或るアプリケーションが使用するＰＤＮアドレスと、ＴＡ２００のＳＩＰが使用するＰＤＮアドレスとは、同一の（共通な）“192.168.0.1”となる。
【００６６】
図４は、ＴＡ２００とＮＷ１１との間でＰＤＮコネクション（例えば、図１のＰＤＮコネクション４）が確立されたときの動作例を示すシーケンス図である。例えば、ＴＡ２００のＳＩＰ用のＰＤＮコネクションを確立する場合には、ＴＥ１００がＴＡ２００にＳＩＰ用のＰＤＮコネクションの確立を要求する。ＴＡ２００では、要求に従って、通信相手（例えば、アプリケーションサーバ２がＳＩＰサーバである場合のアプリケーションサーバ２）と、ＰＤＮコネクションの確立手順（ネゴシエーション）を実行し、ＴＡ２００（ＳＩＰ）とゲートウェイ３との間でＰＤＮコネクションが確立される。
【００６７】
このとき、ＮＷ１１からは、ＰＤＮコネクションの識別子（例えばベアラ番号）が提供される。識別子は、ＴＡ２００及びＴＥ１００で受信される。これによって、その後、ＴＥ１００において、ＳＩＰとＰＤＮコネクションを共用するアプリケーションが起動したときに、ＴＥ１００は、識別子に基づきＰＤＮコネクションが既に確立されていることを認識し、アプリケーションは、当該ＰＤＮコネクションを用いて通信相手（アプリケーションサーバ２）とＩＰ通信を行うことができる。逆に、ＳＩＰと共用されるＴＥ１００のアプリケーションがＳＩＰ起動前に共用されるＰＤＮコネクションを確立した場合に、当該ＰＤＮコネクションの確立済みの情報がＴＡ２００に伝達され、当該情報伝達が、ＳＩＰ（ＴＡ側アプリケーション）による共用ＰＤＮコネクション確立とみなされる場合もあり得る。
【００６８】
なお、ＳＩＰは、ＴＥ１００のアプリケーションとＰＤＮコネクションを共用するＴＡアプリケーションの例示であって、ＳＩＰ以外のアプリケーションであっても良い。ＴＥ１００とＴＡ２００との間で共用されるＰＤＮコネクションの数は、１つに限られない。また、共用されるＰＤＮコネクションに関するＴＥ側アプリケーションの数とＴＡ側アプリケーションの数が、１：Ｎ又はＮ：１（Ｎは自然数）となることもある。
【００６９】
以下の図４の説明は、アプリケーション２０４の１つであるＳＩＰを例示として、ＴＡ２００側でＳＩＰ用のＰＤＮコネクション（すなわち、共用のＰＤＮコネクション）が確立された後の手順を示す。図４において、ＰＤＮコネクションが確立すると、データ送受信部２０７は、ＮＷ１１からＰＤＮ確立通知を受信する（図４＜１＞）。ＰＤＮ確立通知には、ＰＤＮアドレス“192.168.0.1”が含まれる。このＰＤＮ確立通知に上記したＰＤ
Ｎコネクションの識別子が含まれ、ＴＡ側（例えば回避制御部２０６）とＴＥ側とに伝達され、双方で管理される。
【００７０】
データ送受信部２０７は、ＮＷ１１から受信されたＰＤＮ確立通知を、無線制御部２０２に送信する（図４＜２＞）。無線制御部２０２がＰＤＮ確立通知を受信する。以降、ＴＥ１００とＴＡ２００とが共用のＰＤＮコネクション（図１のＰＤＮコネクション４）を用いたＩＰパケットの送受信を可能な状態となる。
【００７１】
無線制御部２０２は、ＴＣＰ／ＩＰ通信に使用するＴＣＰ／ＵＤＰポートの総数を予め
保持している。当該総数は、例えば、予めＲＯＭ／ＲＡＭ３４（図２）に記憶されている。ＰＤＮ確立通知を受信した無線制御部２０２は、ＴＥ１００に“ＴＡポート番号予約要求”を送信する（図４＜３＞）。例えば、ＴＡ２００のアプリケーション２０４が１０個存在する場合、ＴＡポート番号予約要求には、“予約ポート数＝１０”が設定される。無線制御部２０２からのＴＡポート番号予約要求は、ＴＡ通信部２０１とＴＥ通信部１０４とを介して、ＴＥポート制御部１０３に通知される（図４＜４＞）。
【００７２】
ＴＡポート番号予約要求を受信したＴＥポート制御部１０３は、ＴＡポート番号予約要求に設定された予約ポート数のポート番号を払い出す（図４＜５＞）。ＲＯＭ／ＲＡＭ２４（図２）には、ＴＣＰ／ＩＰ通信に使用可能な複数のポート番号がプール（記憶）されており、ポート番号のプール（図示せず）は、ＴＥポート制御部１０３によって管理される。ＴＥ１００及びＴＡ２００に払い出されるポート番号は、当該ポート番号のプールから選択される。従って、ＴＥ１００及びＴＡ２００は、同一のポート番号体系を使用する。
【００７３】
ＴＥポート制御部１０３は、ポート番号のプールから、予約ポート数の未使用のポート番号を読み出すことで、払い出しを行うことができる。ＴＥポート制御部１０３は、ＴＡポート管理テーブル４１に払い出したポート番号を記憶する（図４＜６＞）。
【００７４】
図５は、ＴＡポート管理テーブル４１のデータ構造例（記憶内容）を示す。ＴＡポート管理テーブル４１は、ＲＯＭ／ＲＡＭ２４に記憶されており、ＴＥポート制御部１０３によって、管理（読み書き）される。ＴＡポート管理テーブル４１には、ＴＡ２００向けに払い出されたポート番号が、ＴＥポート制御部１０３によって書き込まれる。図５の例では、ＴＡ２００に払い出されたポート番号（予約済みポート番号）として、ポート番号“２００００〜２０００９”が記憶されている。
【００７５】
ＴＥポート制御部１０３は、予約済みポート番号“２００００〜２０００９”を含むＴＡポート番号予約応答を生成し、ＴＡ２００へ送信する（図４＜７＞）。ＴＡポート番号予約応答は、ＴＥ通信部１０４とＴＡ通信部２０１を介して、無線制御部２０２に受信される（図４＜８＞）。
【００７６】
無線制御部２０２は、ＴＡポート番号予約応答を受信すると、ＴＡポート制御部２０３に、予約済みポート番号を含むＴＡポート番号通知を送信する（図４＜９＞）。ＴＡポート制御部２０３は、ＴＡポート番号通知を受信すると、ＲＯＭ／ＲＡＭ３４に記憶されたポート管理テーブル４２に、ＴＥ１００から払い出された予約済みポート番号を記憶する（図４＜１０＞）。
【００７７】
図６は、ポート管理テーブル４２のデータ構造例（記憶内容）を示す。ポート管理テーブル４２は、ポート番号と、ポート番号に対応するポートの使用状態、及びポート番号を使用するアプリケーション２０４の識別子（識別情報）を記憶する１以上のエントリからなる。ポート管理テーブル４２は、ＴＡポート制御部２０３によって管理（読み書き）される。
【００７８】
ＴＡポート番号通知が受信された時点では、ＴＣＰ／ＩＰ通信はまだ開始されていないため、図６に示すように、ポート管理テーブル４２に記憶（登録）された全てのポート番号の使用状態は全て「未使用」に設定される。また、使用アプリケーションも全て「無し」に設定される。
【００７９】
図７は、ＴＡ２００のアプリケーション２０４によるＴＣＰ／ＩＰ通信の開始を契機とする動作例を示すシーケンス図である。ＴＣＰ／ＩＰ通信の開始を契機（トリガ）として
、無線制御部２０２は、ＴＡポート制御部２０３にＴＡポート番号取得要求を送信する（図７＜１＞）。ＴＡポート番号取得要求には、使用アプリケーションを示す情報（識別子）が設定される。例えば、ＶｏＬＴＥサービスの開始時においては、ＳＩＰを使用したユーザ登録が実施される。この場合、ＴＡポート番号取得要求には、使用されるアプリケーション２０４としての“ＳＩＰ”を示す情報が設定される。
【００８０】
ＴＡポート制御部２０３は、ＴＡポート番号取得要求を受信すると、ＴＡ用ポートの払い出しを行う（図７＜２＞）。すなわち、ＴＡポート制御部２０３は、ＴＡポート管理テーブル４２（図６）から未使用状態のポート番号を検索し、ＴＡ２００のアプリケーション２０４（ＳＩＰ）で使用するポート番号を決定する。
【００８１】
例えば、ポート管理テーブル４２の記憶内容が図６に示す状態である場合、全てのポートが未使用状態である。この場合、ＴＡポート制御部２０３は、先頭のポート番号“２００００”をＳＩＰに用いるポート番号として決定する。もし、ポート番号“２００００”が他のアプリケーション２０４によって使用されていた場合、すなわち、ポート番号“２００００”のポート使用状態が「使用中」の場合には、ＴＡポート制御部２０３は、ポート使用状態が「未使用」になっている他のポート番号を選択する。ポート番号を選択し決定するルールは、適宜選択可能であり、ポート管理テーブル４２から昇順で決定されても、降順で決定されても、ランダムで決定されても良い。
【００８２】
ＴＡポート制御部２０３は、ポート番号“２００００”のポート使用状態を「使用中」に設定するとともに、使用アプリケーションを「ＳＩＰ」に設定する。図８は、更新されたポート管理テーブル４２を示す。続いて、ＴＡポート制御部２０３は、“ポート番号＝２００００”が設定されたＴＡポート番号取得応答メッセージを生成し、無線制御部２０２に送信する（図７＜３＞）。
【００８３】
また、ＴＡポート制御部２０３は、回避制御部２０６に対し、“ポート番号＝２００００”を設定したＴＡポート番号通知を送信する（図７＜４＞）。回避制御部２０６は、ＴＡポート番号通知を受信すると、ポート管理テーブル４３に通知されたポート番号“２００００”を、ポート管理テーブル４３に記憶する（図７＜５＞）。図９は、ポート管理テーブル４３の記憶内容を示す。
【００８４】
無線制御部２０２は、ＴＡポート番号取得応答を受信すると、ＴＡ２００のアプリケーション２０４に、“ポート番号＝２００００”を設定したＩＰパケット送信要求を送信する（図７＜６＞）。アプリケーション２０４は、ＩＰパケット送信要求に設定されたポート番号“２００００”を使用して、ＴＣＰ／ＩＰ２０５にソケットのオープン要求を送信し（図７＜７＞）、ＴＣＰ／ＩＰ通信を開始する（図７＜８＞）。これによって、送信元アドレス“192.168.0.1”、送信元ポート番号“２００００”が設定されたＳＩＰパケッ
トがデータ送受信部２０７を介してＮＷ１１に送信される（図７＜９＞）。
【００８５】
ＳＩＰパケットは、ＩＰパケットの一例である。図１０は、ＳＩＰパケット（ＩＰパケット）のフォーマットを示す。ＮＷ１１では、ＳＩＰパケットは、ゲートウェイ（ＧＷ）３及びＩＰ網１を経て、通信相手であるアプリケーションサーバ（ＡＳ）２に到達する。
【００８６】
図１１は、ＮＷ１１（アプリケーションサーバ２）からのＳＩＰパケットの応答パケットの受信時における動作例を示すシーケンス図である。図１１において、アプリケーションサーバ（ＡＳ）２は、ＳＩＰパケットを受信すると、ＳＩＰパケットに基づく処理の後、ＳＩＰパケットの応答パケットを生成する。応答パケットは、図１０に示したフォーマットを有する。但し、応答パケットの送信先アドレスにはＰＤＮアドレスである“192.168.0.1”が設定される。また、応答パケットの送信先ポート番号には、ポート番号“２０
０００”が設定される。応答パケットは、ＩＰパケットの一例である。
【００８７】
アプリケーションサーバ２から送信される応答パケット（ＩＰパケット）は、ゲートウェイ３を介してＵＥ１０で受信され、データ送受信部２０７に到達する（図１１＜１＞）。データ送受信部２０７は、受信したＩＰパケットを回避制御部２０６に転送する（図１１＜２＞）。
【００８８】
回避制御部２０６は、受信したＩＰパケットの送信先がＴＡ２００であるかＴＥ１００であるかを判定する転送判定処理を行う（図１１＜３＞）。すなわち、回避制御部２０６は、ＩＰパケットの送信先ポート番号が、ポート管理テーブル４３（図９）に記憶されたポート番号か否かを判定する。
【００８９】
ポート管理テーブル４３に送信先ポート番号と一致するポート番号が記憶されていた場合、回避制御部２０６は、ＩＰパケットがアプリケーション２０４宛てとみなし、ＴＣＰ／ＩＰ２０５を介して、アプリケーション２０４にＩＰパケットを転送する（図１１＜４＞，＜５＞）。アプリケーション２０４は、ＩＰパケットに含まれたデータを用いて必要な処理を行う。
【００９０】
これに対し、ポート管理テーブル４３に一致するポート番号がなかった場合、回避制御部２０６は、ＩＰパケットがＴＥ１００のアプリケーション１０１宛てとみなし、ＩＰパケットをＴＡ通信部２０１へ転送する（図１１＜６＞）。ＩＰパケットは、ＴＥ通信部１０４へ転送され（図１１＜７＞）、ＴＣＰ／ＩＰ１０２を介して、アプリケーション１０１に到達する（図１１＜８＞）。アプリケーション１０１は、ＩＰパケットに含まれたデータを用いて必要な処理を行う。
【００９１】
以上によって、ＴＡ２００のアプリケーション２０４と、ＴＥ１００のアプリケーション１０１とが1つのＰＤＮコネクションを共有したＴＣＰ／ＩＰ通信が可能となる。
【００９２】
一方、ＴＥ１００のアプリケーション１０１は、ＴＣＰ／ＩＰ通信において、ＴＡ２００に払い出されたポート番号以外のポート番号を使用する。ＴＡ２００で使用されるポート番号との重複を回避するため、ＴＥ１００のアプリケーション１０１は、ＴＥポート制御部１０３に対して、ポート番号取得要求を送信する（図１１＜９＞）。
【００９３】
ＴＥポート制御部１０３は、ポート番号取得要求を受信すると、ＴＡポート管理テーブル４１（図５）に記憶されたポート番号を含むポート番号通知をアプリケーション１０１に送信する（図１１＜１０＞）。アプリケーション１０１は、ポート番号通知に含まれたポート番号以外のポート番号（例えば“２００１０”）をポート番号のプールから選択し、選択したポート番号を用いＴＣＰ／ＩＰ通信を開始する。
【００９４】
すなわち、アプリケーション１０１は、ＴＣＰ／ＩＰ１０２にソケットオープン要求を送信し（図１１＜１１＞）、送信元ＩＰアドレス“192.168.0.1”が設定され、且つ選択
したポート番号“２００１０”が送信元ポート番号に設定されたＩＰパケット（宛先ＩＰアドレス：ＡＳ２のＩＰアドレス）を、送信する（図１１＜１２＞）。ＩＰパケットは、ＴＥ１００からＴＡ２００へ転送され（図１１＜１３＞，＜１４＞）、ＴＡ２００からＮＷ１１へ送信される（図１１＜１５＞、＜１６＞）。ＮＷ１１において、ＩＰパケットは、ＧＷ３を介してＡＳ２に到達する。
【００９５】
＜ＩＰパケットのフラグメント＞
上記動作例において、回避制御部２０６は、ＩＰパケットのフラグメンテ−ション（ＩＰフラグメントと呼ばれる）を考慮する。図１２は、ＩＰフラグメントの説明図である。
図１２において、アプリケーションサーバ２（以下、サーバ２）からＵＥ１０宛てのＩＰパケットには、ＴＣＰ／ＵＤＰヘッダ（図１２ではＴＣＰヘッダ）とＩＰヘッダとが付加される。
【００９６】
このようなＩＰパケットがＩＰ網１で中継される場合に、ペイロードの長さによっては、複数のＩＰパケットに分割（フラグメント）される。この分割をＩＰフラグメントと呼ぶ。分割された複数のＩＰパケットのそれぞれを、ＩＰフラグメントパケットと呼ぶ。ＩＰパケットは、「データ」の一例であり、ＩＰフラグメントパケットは、「データフラグメント」の一例である。
【００９７】
図１２の例では、サーバ２から送信されたＩＰパケットが、フラグメンテーションによって、３つのＩＰフラグメントパケットに分割（フラグメント）された例を示す。各ＩＰフラグメントパケットのＩＰヘッダには、フラグメントパケットを識別するためのＩＤ（図１２ではＩＤ＝１００）と、フラグメントの“先頭”，“中間”及び“末尾”を示す識別子とが設定される。ＩＤにより、同一のＩＤを有する複数のＩＰフラグメントパケットは、１つのＩＰパケットから生成されたことを判別することができる。ＩＤ及び識別子は、ＩＰフラグメントパケットを元のＩＰパケットに組み立てる（デフラグメンテーションと呼ばれる）ときに使用される。
【００９８】
ＩＰフラグメントでは、元のＩＰパケットのペイロードが複数のフラグメントに分割され、各フラグメントに上記ＩＤ及びフラグメントの識別子を含むＩＰヘッダが付与される。このとき、元のＩＰパケットに付与されたＴＣＰヘッダはペイロードの一部として扱われる。その結果、通常、ＴＣＰヘッダは、先頭のＩＰフラグメントパケットのみに含まれ、２番目以降のＩＰフラグメントパケットには含まれない。
【００９９】
しかしながら、上記したように、回避制御部２０６は、ＩＰパケットに含まれた送信先ポート番号に従って、ＩＰパケットをＴＡ２００とＴＥ１００とに振り分ける。ＵＥ１０が２番目以降のＩＰフラグメントパケットを受信した場合、フラグメント先頭以外のＩＰパケットの宛先がＴＡ２００のアプリケーション２０４であるのかＴＥ１００のアプリケーション１０１であるのかを判定できない。
【０１００】
このため、回避制御部２０６は、以下の構成を有する。すなわち、ＲＯＭ／ＲＡＭ３４には、フラグメントパケット管理テーブル４４が記憶され、回避制御部２０６はフラグメントパケット管理テーブル４４の管理及び参照を行う。
【０１０１】
図１３は、フラグメントパケット管理テーブルのデータ構造例を示す。フラグメントパケット管理テーブル４４は、ＩＰフラグメントパケットのＩＤと、振り分け先(ＴＥ/ＴＡ)を記憶する１以上のエントリからなる。
【０１０２】
上記したように、ＩＰフラグメントによって生成されたＩＰフラグメントパケット群のＩＰヘッダ内のＩＤフィールドには共通のＩＤが設定されている。従って、ＩＤが共通なＩＰパケット群に対して、先頭のＩＰフラグメントパケットに対する振り分け結果を適用することが可能である。
【０１０３】
図１４は、ＩＰフラグメントが考慮された回避制御部２０６での処理を示すフローチャートである。図１４に示す処理は、回避制御部２０６がＩＰパケットを受信することによって開始される。回避制御部２０６は、受信されたＩＰパケットがＩＰフラグメントパケットか否かを判定する（００１）。ＩＰパケットがＩＰフラグメントパケットでない場合（００１，ＮＯ）には、処理が００２に進む。これに対し、ＩＰパケットがＩＰフラグメントパケットである場合（００１，ＹＥＳ）には、処理が００５に進む。
【０１０４】
００２では、回避制御部２０６は、ＩＰパケットの送信先ポート番号と一致するポート番号がポート管理テーブル４３（図９）に記憶されているか否かを判定する。このとき、送信ポート番号と一致するポート番号が記憶されている場合（００２，ＹＥＳ）には、回避制御部２０６は、ＩＰパケットの転送先をＴＡ２００に決定し、転送処理を行う（００３）。一方、送信ポート番号と一致するポート番号が記憶されていない場合（００２，ＮＯ）には、回避制御部２０６は、ＩＰパケットの転送先をＴＥ１００に決定し、転送処理を行う（００４）。００３，００４の終了後、回避制御部２０６は、処理を終了する。
【０１０５】
００５に処理が進んだ場合、すなわち、ＩＰフラグメントパケットが受信された場合には、回避制御部２０６は、ＩＰフラグメントパケットのＩＰヘッダに設定された、フラグメントの識別子を参照することによって位置判定を行う。このとき、フラグメントの識別子が“先頭”を示す場合には、処理が００６に進む。フラグメントの識別子が“中間”を示す場合には、処理が０１０に進む。フラグメントの識別子が“末尾”を示す場合には、処理が０１１に進む。
【０１０６】
００６に処理が進んだ場合、すなわち、ＩＰフラグメントパケットが先頭パケットである場合には、回避制御部２０６は、上述した００２，００３及び００４と同様の処理を行う。すなわち、回避制御部２０６は、ＩＰパケットの送信先ポート番号と一致するポート番号がポート管理テーブル４３に記憶されているか否かを判定し、一致するポート番号が記憶されている場合（００６，ＹＥＳ）には、回避制御部２０６は、ＩＰパケットの転送先をＴＡ２００に決定し、転送処理を行う（００７）。一方、送信ポート番号と一致するポート番号が記憶されていない場合（００６，ＮＯ）には、回避制御部２０６は、ＩＰパケットの転送先をＴＥ１００に決定し、転送処理を行う（００８）。このように、先頭のＩＰフラグメントパケットについてはトランスポートプロトコル(ＴＣＰ／ＵＤＰ)のヘッダを使用して、ＴＥ１００又はＴＡ２００への振り分けが行われる。
【０１０７】
００７，００８の処理が終了すると、００９の処理が行われる。００９では、回避制御部２０６は、フラグメントパケット管理テーブル４４（図１３）に振り分けの結果を保存する。すなわち、回避制御部２０６は、ＩＰフラグメントパケットのＩＤと、当該ＩＰフラグメントパケットの転送先を示す情報（ＴＥ又はＴＡ）とを含むエントリを、フラグメントパケット管理テーブル４４に記憶する。その後、回避制御部２０６は、処理を終了する。
【０１０８】
０１０に処理が進んだ場合、すなわち、中間のＩＰフラグメントパケットが受信された場合には、回避制御部２０６は、フラグメントパケット管理テーブル４４（図１３）を参照し、ＩＰフラグメントパケットに含まれたＩＤと一致するＩＤが記憶されたエントリに記憶されている転送先を読み出し、読み出した転送先をＩＰフラグメントパケットの転送先として決定する。そして、回避制御部２０６は、決定した転送先（ＴＡ又はＴＥ）へＩＰフラグメントパケットを転送し、処理を終了する。
【０１０９】
このように、先頭でないＩＰフラグメントパケットを受信した回避制御部２０６は、フラグメントパケット管理テーブル４４からＩＰフラグメントパケットＩＤの検索を行う。ＩＤが一致するエントリがヒットした場合、回避制御部２０６は、該当するＩＤに対応する振り分け先のアプリケーション（アプリケーション２０４又はアプリケーション１０１）へＩＰパケットを転送する。
【０１１０】
０１１に処理が進んだ場合、すなわち、末尾のＩＰフラグメントパケットが受信された場合には、回避制御部２０６は、フラグメントパケット管理テーブル４４（図１３）を参照し、ＩＰフラグメントパケットに含まれたＩＤと一致するＩＤが記憶されたエントリに
記憶されている転送先を読み出し、読み出した転送先をＩＰフラグメントパケットの転送先として決定する。そして、回避制御部２０６は、決定した転送先（ＴＡ又はＴＥ）へＩＰフラグメントパケットを転送する。０１１の処理は、０１０と同様である。
【０１１１】
続いて、回避処理部２０６は、フラグメントパケット管理テーブル４４から、０１１でヒットしたエントリを削除し（０１２）、処理を終了する。このように、回避制御部２０６は、末尾のＩＰフラグメントパケットを受信すると、ＩＰフラグメントパケットの振り分けを行った後、フラグメントパケット管理テーブル４４から当該ＩＰフラグメントパケットのＩＤが記憶されたエントリを削除する。以上により、ＩＰフラグメントパケットについても、ＴＥ/ＴＡへの振り分けが可能となる。
【０１１２】
＜実施形態１の効果＞
実施形態１によれば、ＴＥ１００及びＴＡ２００のそれぞれにＴＣＰ／ＩＰスタックが搭載された移動通信端末（ＵＥ１０）において、ＴＥ１００及びＴＡ２００で使用されるポート番号が事前に決定される。これによって、同一のポート番号がＴＥ１００とＴＡ２００とで重複して使用されることを回避することができる。
【０１１３】
この結果、図１５に示すように、ＵＥ１０のＩＰパケット受信時において、図１４に示した回避制御部２０６の処理によって、ＩＰパケットがＴＥ１００とＴＡ２００の一方に適正に振り分けられる。よって、同一の通信相手（例えば、サーバ２）と１つのＰＤＮコネクションを用いてＴＣＰ／ＩＰ通信を行う場合であっても、ＴＥ１００とＴＡ２００とが相互に独立したＩＰパケットの送受信を行うことができる。
【０１１４】
また、実施形態１によれば、ＵＥ１０とＮＷ１１との間にて確立されるＰＤＮコネクションの数を削減することができる。
【０１１５】
〔実施形態２〕
次に、実施形態２について説明する。実施形態２は、実施形態１と共通点を有するので、主として相違点について説明し、共通点の説明は省略する。実施形態２では、ＴＡ２００が使用するポート番号をＴＡポート制御部２０３自身が行い、取得したポート番号をＴＥポート制御部１０３へ通知する点で、実施形態１と異なる。
【０１１６】
図１６は、実施形態２に係る動作例を示すシーケンス図である。図１６において、ＴＡ２００とＮＷ１１との間でＰＤＮコネクションが確立されたときの動作例を示すシーケンス図である。図１６において、ＴＡ２００とＮＷ１１（サーバ２）との間（図３参照）で、ＰＤＮコネクションが確立すると、データ送受信部２０７は、ＮＷ１１からＰＤＮ確立通知を受信する（図１６＜１＞）。ＰＤＮ確立通知には、ＰＤＮアドレス“192.168.0.1
”が含まれる。
【０１１７】
データ送受信部２０７は、ＮＷ１１から受信されたＰＤＮ確立通知を、無線制御部２０２に送信する（図１６＜２＞）。無線制御部２０２はデータ送受信部２０７よりＰＤＮ確立通知を受信すると、ＴＡポート制御部２０３にＴＡポート番号予約要求を通知する（図１６＜３＞）。例えば、ＴＡ２００のアプリケーション２０４が１０個存在する場合、ＴＡポート番号予約要求には予約ポート数“１０”が設定される。
【０１１８】
ＴＡポート制御部２０３は、実施形態１と異なり、ＴＣＰ／ＵＤＰ通信に使用可能なポート番号の情報（ＲＯＭ／ＲＡＭ３４に予め記憶されている）を参照し、ＴＡポート制御部２０３は、予約ポート数のポート番号（例えば、“２００００〜２０００９”、以下「ポート番号群」と称する）を選択（取得）する（図１６＜４＞）。
【０１１９】
続いて、ＴＡポート制御部２０３は、取得したポート番号群“２００００〜２０００９”を含むＴＡポート番号予約応答を生成し、無線制御部２０２に送信する（図１６＜５＞）。
【０１２０】
ＴＡポート番号予約応答を受信した無線制御部２０２は、ポート番号群“２００００〜２０００９”を含むＴＡポート番号通知を生成して送信する（図１６＜６＞）。ＴＡポート番号通知は、ＴＡ通信部２０１からＴＥ通信部１０４へ転送され（図１６＜７＞）、ＴＥ通信部１０４からＴＥポート制御部１０３に送られる（図１６＜８＞）。
【０１２１】
ＴＡポート番号通知を受信したＴＥポート制御部１０３は、ＴＡポート管理テーブル４１（図５）にＴＡ用ポート番号を記憶する（図１６＜９＞）。ここで、ＴＡポート番号通知に含まれたポート番号群の一部又は全部が既にＴＥ１００のアプリケーション１０１によって使用されている場合には、当該ポート番号はＴＡ２００で使用できない。
【０１２２】
このため、ＴＥポート制御部１０３は、以下の処理を行う。実施形態１で説明したように、ＲＯＭ／ＲＡＭ３４に記憶されたポート番号のプールでは、各ポート番号が使用中か未使用か（払い出しの有無）が記憶されている。ＴＥポート制御部１０３は、ポート管理テーブル４１にポート番号を記憶する際に、ポート番号のプールを参照し、ＴＡ２００から通知されたポート番号群に含まれる各ポート番号が未使用か使用中かを判定する。
【０１２３】
ＴＥポート制御部１０３は、未使用のポート番号を、ポート管理テーブル４１に記憶する。これに対し、ポート番号群に使用中のポート番号が発見された場合には、ＴＥポート制御部１０３は、ポート番号のプールを参照し、使用中のポート番号と異なる未使用のポート番号（“代替ポート番号”と称する）を払い出し、当該ポート番号をポート管理テーブル４１に記憶する。例えば、ポート番号“２０００９”が使用中の場合、代替ポート番号として、未使用のポート番号“２００１０”がプールから払い出される。
【０１２４】
その後、ＴＥポート制御部１０３は、ポート管理テーブル４１に記憶したポート番号群（ＴＡ２００から通知されたポート番号群の全て（例：２００００〜２０００９）、又はＴＡ２００から通知されたポート番号群の一部と代替ポート番号（例：２００００〜２０００８，２００１０））を含むＴＡポート番号通知応答を生成して送信する（図１６＜１０＞）。これによって、ＴＡ２００とＴＥ１００との一回のやりとりで、ＴＡ２００が予約（払い出し）を希望する数のポート番号をＴＡ２００は取得することができる。
【０１２５】
ＴＡポート番号通知応答は、ＴＥ通信部１０４からＴＡ通信部２０１へ送信され（図１６＜１１＞）、ＴＡ通信部２０１を介して無線制御部２０２へ到達する（図１６＜１２＞）。
【０１２６】
無線制御部２０２は、ＴＡポート番号通知応答に含まれたポート番号群を含むＴＡポート番号通知を生成し、ＴＡポート制御部２０３に送信する（図１６＜１３＞）。ＴＡポート制御部２０３は、ＴＡポート番号通知を受信すると、ＴＡポート管理テーブル４２（図６）にＴＡ用ポート番号（ＴＥ１００から通知されたポート番号群）を記憶する（図１６＜１４＞）。
【０１２７】
その後、無線制御部２０３からのＩＰパケット送信時、ＴＡポート制御部２０３へのＴＡポート番号取得要求が行われる。以降の動作は実施形態１と同様である（図７、及び図１１を参照）。このため、以降の動作の説明は省略する。
【０１２８】
実施形態２で説明した動作によっても、ＴＡ２００が使用するポート番号（ポート番号群）を事前に登録することができる。
【０１２９】
〔実施形態３〕
次に、実施形態３について説明する。実施形態３は、実施形態１と共通点を有するので、主として相違点について説明し、共通点の説明は省略する。
実施形態１及び２では、無線制御部２０２は、ＰＤＮコネクションが確立したタイミングにてＴＡ２００で使用するＴＣＰ／ＵＤＰポート番号を一括して取得する。実施形態３では、上記構成の代わりに、ＴＡ２００のアプリケーション２０４のそれぞれが新規にＴＣＰ／ＩＰ通信を開始する契機で、当該アプリケーション用のポート番号が取得される。すなわち、ポート番号が随時取得される。
【０１３０】
図１７は、実施形態３における動作例を示すシーケンス図である。図１７に示すように、ＰＤＮコネクション確立によって、ＮＷ１１からＰＤＮ確立通知が送信され（図１７＜１＞）、ＴＡ２００の無線制御部２０２で受信される。この時点で、無線制御部２０２は、ＴＣＰ／ＵＤＰポート番号の取得動作を開始しない。
【０１３１】
その後、ＴＡ２００のアプリケーション２０４に含まれる或るアプリケーション（例えばＳＩＰ）がＴＣＰ／ＩＰ通信を新たに開始する契機にて、無線制御部２０２は、ＴＡポート番号予約要求を送信する（図１７＜３＞）。実施形態３におけるＴＡポート番号予約要求は、或るアプリケーション（ＳＩＰ）がＴＣＰ／ＩＰ通信を行うためのポート番号を得るために送信される。このため、ＴＡポート番号予約要求に設定される予約ポート数は、ＳＩＰ用の１つである。
【０１３２】
ＴＡポート番号予約要求は、ＴＡ通信部２０１からＴＥ通信部１０４へ送信され（図１７＜４＞）、ＴＥポート制御部１０３で受信される（図１７＜５＞）。ＴＥポート制御部１０３は、ポート番号のプール及びＴＡポート管理テーブル４１を参照し、ＴＥ１００及びＴＡ２００で未使用のポート番号の１つ（例えば“２００００”）をプールから払い出す（図１７＜６＞）。続いて、ＴＥポート制御部１０３は、払い出したポート番号“２００００”をＴＡポート管理テーブル４１（図５）に記憶する（図１７＜７＞）。
【０１３３】
ＴＥポート制御部１０３は、払い出したポート番号“２００００”を含むＴＡポート番号予約応答を生成して送信する（図１７＜８＞）。ＴＡポート番号予約応答は、ＴＥ通信部１０４からＴＡ通信部２０１に送信され（図１７＜９＞）、無線制御部２０２で受信される（図１７＜１０＞）。
【０１３４】
無線制御部２０２は、ＴＡポート番号予約応答を受信すると、使用するアプリケーション（ＳＩＰ）の識別子とアプリケーションが使用するポート番号“２００００”を設定したＴＡポート番号即時使用通知をＴＡポート制御部２０３に送信する（図１７＜１０＞）。
【０１３５】
ＴＡポート制御部２０３はＴＡポート番号即時使用通知を受信すると、ＴＡポート管理テーブル４２に、ポート番号及びアプリケーションの識別子を登録する（図１７＜１１＞）。上記例で云えば、ＴＡポート番号即時使用通知において、アプリケーションの識別子（アプリケーション名）としての「ＳＩＰ」と、ポート番号“２００００”が含まれている場合には、「ポート番号“２００００”」，「使用中」及び「ＳＩＰ」を含むエントリをＴＡポート管理テーブル４２に登録する。
【０１３６】
ＴＡポート管理テーブル４２のデータ構造は、図８と同様であるが、この時点では、図８に示すＮｏ．１のエントリのみが記憶された状態となり、Ｎｏ．２以降のエントリは存在しない。このように、実施形態３では、ポート番号は、ＴＡポート番号予約要求毎に払い出される。
【０１３７】
その後、ＴＡポート制御部２０３は、回避制御部２０６へＴＡポート番号通知を送信する（図１７＜１２＞）。図１７に示した＜１３＞以降の動作は、実施形態１（図７）で示した＜５＞以降の動作と同じであるので説明を省略する。また、ＮＷ１１からのＩＰパケットにおける回避制御部２０６の動作も実施形態１と同じである（図１１を参照）ので説明を省略する。
【０１３８】
実施形態３のように、ＴＡ２００でアプリケーションがＴＣＰ／ＩＰ通信を開始する毎に、当該アプリケーションが使用するポート番号がＴＥから払い出されるようにしても良い。実施形態１〜３の構成は、適宜組み合わせることが可能である。
【符号の説明】
【０１３９】
１・・・ＩＰ網
２・・・アプリケーションサーバ
３・・・ゲートウェイ
１０・・・ＵＥ
１１・・・ネットワーク
２１・・・アプリケーションＣＰＵ
３１・・・通信制御ＣＰＵ
１０１，２０４・・・アプリケーション
１０２，２０５・・・ＴＣＰ／ＩＰ
１０３・・・ＴＥポート制御部
２０２・・・無線制御部
２０３・・・ＴＡポート制御部
２０６・・・ＴＡ−ＴＥデータ重複回避制御部
２０７・・・データ送受信部
【図１】
2015037275.tif 000003
【図２】
2015037275.tif 000004
【図３】
2015037275.tif 000005
【図４】
2015037275.tif 000006
【図５】
2015037275.tif 000007
【図６】
2015037275.tif 000008
【図７】
2015037275.tif 000009
【図８】
2015037275.tif 000010
【図９】
2015037275.tif 000011
【図１０】
2015037275.tif 000012
【図１１】
2015037275.tif 000013
【図１２】
2015037275.tif 000014
【図１３】
2015037275.tif 000015
【図１４】
2015037275.tif 000016
【図１５】
2015037275.tif 000017
【図１６】
2015037275.tif 000018
【図１７】
2015037275.tif 000019