以下に、本願の開示する通信装置および通信方法の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
図1は、本実施例1にかかる通信装置の構成を示す図である。図1に示すように、この通信装置70は、圧縮暗号化部71、制御情報抽出部72、管理テーブル73、送信制御部74を有する。
圧縮暗号化部71は、送信順序の優先度を識別する制御情報を含む送信データに対して圧縮または暗号化を行う処理部である。制御情報抽出部72は、送信データが圧縮暗号化部71によって圧縮または暗号化される前に、送信データに含まれる制御情報を抽出し、抽出した制御情報を管理テーブル73に登録する処理部である。
管理テーブル73は、制御情報を記憶する。送信制御部74は、圧縮または暗号化が実行された後に送信データに対応する制御情報を管理テーブル73から取得する。そして、送信制御部74は、制御情報に基づいて圧縮または暗号化が実行された後の送信データの送信制御を行う。
通常、送信データに対して圧縮または暗号化を行うと優先制御に必要となる制御情報が隠蔽されてしまう。これに対して、本実施例1にかかる通信装置70は、送信データが圧縮または暗号化される前に、上記制御情報を抽出して管理テーブル73に登録しておく。そして、通信装置70は、圧縮または暗号化された後の送信データを送信する場合に、管理テーブル73に記憶された制御情報を基にして、送信制御を行う。このため、本実施例1にかかる通信装置70は、データ圧縮技術またはデータ暗号技術と、優先制御とを併用して実行することができる。
まず、本実施例2にかかるシステムの構成について説明する。図2は、本実施例2にかかるシステムの構成を示す図である。図2に示すように、このシステムは、移動端末100、無線基地局200、端末装置300を有する。移動端末200は、無線通信により無線基地局200と接続する。無線基地局200は、ネットワーク50を介して端末装置300に接続する。
ここで、移動端末100は、パケットを暗号化し、暗号化したパケットを優先度に応じて無線基地局200に送信する。無線基地局200は、移動端末100から受信したパケットを、ネットワーク50を介して端末装置300に送信する。端末装置300は、移動端末100からパケットを受信した場合に、各種のサービスを移動端末100に実行する。
次に、図2に示した移動端末100の構成について説明する。図3は、本実施例2にかかる移動端末の構成を示す図である。図3に示すように、移動端末100は、アプリケーション層110、TCP/IP層120、MAC(Media Access Control)層130、データ送信制御部140を有する。
このうち、アプリケーション層110は、OSI(Open Systems Interconnection)参照モデルの最上位層に対応するものである。アプリケーション層110は、制御アプリケーション110aを有する。アプリケーション層110のその他の機能は、従来のアプリケーション層と同様である。
制御アプリケーション110aは、入力装置から各種の入力情報を取得し、取得した入力情報をTCP/IP層120に出力する。ここで入力情報には、例えば、利用者が入力した個人情報またはマルチメディアデータ等が含まれる。以下の説明において、制御アプリケーション110aがTCP/IP層120に出力する情報をペイロードと表記する。また、制御アプリケーション110aは、暗号化を行うか否かの情報をTCP/IP層120に通知する。
TCP/IP層120は、OSI参照モデルのネットワーク層やトランスポート層に対応するものである。TCP/IP層120は、アプリケーション層110から取得したペイロードにTCPヘッダおよびIPヘッダを付与する。TCP/IP層120は、暗号化機能部120aを有する。TCP/IP層120のその他の機能は、従来のネットワーク層やトランスポート層と同様である。
暗号化機能部120aは、アプリケーション層110から暗号化を行う旨の情報を受け付けた場合に、IPパケットを暗号化する。暗号化機能部120aが実行する暗号化処理は、周知技術のいかなる暗号化技術を用いても構わない。ここで、IPパケットは、上記ペイロードにTCPヘッダおよびIPヘッダが付与されたものに対応する。
暗号化機能部120aは、IPパケットを暗号化する前に、IPパケットに含まれる優先識別情報を抽出する。この優先識別情報には、送信元IPアドレスと、宛先IPアドレスと、受信ポート番号と、送信ポート番号とが含まれる。このうち、受信ポート番号の情報または送信ポート番号の情報は、ブランクになる場合もある。また、暗号化機能部120aは、IPパケットを暗号化した後に、IPパケットに固有情報を付与する。この固有情報には、SPI(Security Pointer Index)とSN(Sequence Number)とが含まれる。
暗号化機能部120aは、固有情報を付与したIPパケットをMAC層130に出力する。また、暗号化機能部120aは、優先識別情報と固有情報とを対応付けてMAC層130に出力する。
MAC層130は、OSI参照モデルのデータリンク層に対応するものである。MAC層130は、パケットの優先制御を実行する。MAC層130は、優先制御機能部130aを有する。MAC層130のその他の機能は、従来のデータリンク層と同様である。
優先制御機能部130aは、優先識別情報テーブル131、優先制御情報テーブル132、QoS情報テーブル133、暗号化情報取得部134、優先識別情報登録部135、振り分け処理部136を有する。
このうち、優先識別情報テーブル131は、SPIとSNと優先識別情報とを対応付けて記憶するテーブルである。図4は、本実施例2にかかる優先識別情報テーブル131のデータ構造の一例を示す図である。図4に示すように、この優先識別情報テーブル131は、SPIとSNと優先識別情報とを対応付けている。優先識別情報には、送信元IPアドレス、宛先IPアドレス、受信ポート番号、送信ポート番号が含まれる。例えば、SPI「1」、SN「1〜28」に対応する優先識別情報は、送信元IPアドレス「10.152.20.118」、宛先IPアドレス「10.119.255.255」、送信ポート番号「FTP:20」となる。
優先制御情報テーブル132は、優先識別情報に対応するQos種別を特定するための情報を記憶するテーブルである。このQos種別は、IPパケットが入力されるキューを識別するものであり、キュー毎に優先度が異なる。優先度が高いキューに入力されたIPパケットの方が、優先度の低いキューに入力されたIPパケットよりも優先して無線基地局200に送信される。
図5は、本実施例2にかかる優先制御情報テーブル132のデータ構造の一例を示す図である。図5に示すように、この優先制御情報テーブル132は、識別番号と振り分け優先度と振り分けキーとQoS種別とを対応付けている。ここで、識別番号は、振り分け優先度と振り分けキーとQoS種別との組を識別する番号である。
振り分けキーは、優先識別情報がどの識別番号にヒットするのかを判定するための情報である。例えば、優先識別情報の送信ポート番号が「FTP:20」となっている場合には、振り分けキー「FTP:送信ポート番号(20)」に対応するため、識別番号「1」にヒットしたことになる。また、優先識別情報の宛先IPアドレスが「10.119.255.255」の場合には、振り分けキー「宛先IPアドレス(10.119.255.255)」に対応するため、識別番号「4」にヒットしたことになる。
振り分け優先度は、複数の識別番号がヒットした場合に、ヒットした各識別番号のうち、どちらの識別番号を優先させるのかを示す情報である。ここでは一例として、振り分け優先度の数値が小さい方が、数値の大きいものよりも優先度が高くなるものとする。例えば、優先識別情報により、識別番号「1」、「4」がヒットした場合に、識別番号「1」の振り分け優先度が、識別番号「4」の振り分け優先度よりも大きいため、識別番号「1」を優先させる。QoS種別は、キューを識別する情報である。
QoS情報テーブル133は、QoS種別とQoS種別に対応する優先度とを対応付けて記憶するテーブルである。図6は、本実施例2にかかるQoS情報テーブル133のデータ構造の一例を示す図である。図6に示すように、Qos情報テーブル133は、QoS種別と、優先度と、保障レートと、許容遅延と、許容揺らぎとを対応付けている。
QoS種別は、キューを識別する情報である。優先度は、各QoSの優先度を示すものである。優先度「高」、「中」、「低」の順に優先度が低くなる。保障レートは、該当キーに入力したIPパケットに最低限保証される通信速度である。許容遅延は、該当キューに入力したIPパケットに許容される遅延時間である。許容揺らぎは、許容遅延に許容される変化幅である。例えば、許容遅延が「50」であり、許容揺らぎが「40」の場合には、許容遅延は「10〜90」の間で変化することが許される。
図3の説明に戻る。暗号化情報取得部134は、暗号化機能部120aによりIPパケットの暗号化が行われるか否かを監視する。そして、暗号化情報取得部134は、IPパケットの暗号化が行われた場合に、優先識別情報と固有情報との組を暗号化機能部120aから取得する。暗号化情報取得部134は、優先識別情報と固有情報との組を優先識別情報登録部135に渡す。
優先識別情報登録部135は、優先識別情報と固有情報とを対応付けて優先識別情報テーブル131に登録する。
振り分け処理部136は、IPパケットに対応する優先識別情報を基にして、IPパケットをそれぞれ優先度の異なるキューに振り分ける。各キューに割り振られたIPパケットは、優先度の高いキューに割り振られたものから順にデータ送信制御部140に出力される。図7は、本実施例2にかかる振り分け処理部136の構成を示す図である。図7に示すように、この振り分け処理部136は、前処理部136a、後処理部136b、キュー40a〜40fを有する。
前処理部136aは、IPパケットの優先識別情報を基にして、キュー40a〜40fのうちいずれかにIPパケットを入力する。まず、IPパケットが暗号化されている場合の前処理部136aの処理について説明する。前処理部136aは、IPパケットに対応付けられた固有情報と優先識別情報テーブル131とを比較して、優先識別情報を取得する。例えば、固有情報のSPIが「1」、SNが「1」の場合には、優先識別情報は図4より、送信元IPアドレス「10.152.20.118」、宛先IPアドレス「10.119.255.255」、送信ポート番号「FTP:20」となる。
続いて、前処理部136aは、優先識別情報と優先制御情報テーブル132とを比較して、IPパケットを振り分けるキューを判定する。前処理部136aは、複数のキューが該当する場合には、振り分け優先度が最大となるキューにIPパケットを振り分ける。
ここでは一例として、優先識別情報が送信元IPアドレス「10.152.20.118」、宛先IPアドレス「10.119.255.255」、送信ポート番号「FTP:20」となる場合について説明する。この場合には、前処理部136aが優先識別情報と優先制御情報テーブル132とを比較すると、識別番号1の振り分けキーおよび識別番号4の振り分けキーにヒットする。ここで、識別番号1の方が、識別番号4よりも振り分け優先度が高いので、前処理部136aは、該当するIPパケットを振り分けるキューをキュー40dと判定する。ただし、QoS種別「QoS1〜QoS6」に対応するキューをそれぞれ「キュー40a〜40f」とする。前処理部136aは、判定したキューにIPパケットを入力する。
次に、IPパケットが暗号化されていない場合の前処理部136aの処理について説明する。前処理部136aは、IPパケットに含まれる優先識別情報を抽出する。そして、前処理部136aは、優先識別情報と優先制御情報テーブル132とを比較して、IPパケットを振り分けるキューを判定する。前処理部136aは、複数のキューが該当する場合には、振り分け優先度が最大となるキューにIPパケットを振り分ける。
後処理部136bは、QoS情報テーブル133に基づいて、キュー40a〜40fに格納されたIPパケットをデータ送信制御部140に出力する処理部である。例えば、図6に示したQoS情報テーブル133を参照すると、キュー40a,40b、キュー40c,40d、キュー40e,40fの順に優先度が低くなる。このため、例えば、後処理部136bは、キュー40a,40bに入力されたIPパケットをデータ送信制御部140に全て出力した後に、キュー40c,40dに入力されたIPパケットをデータ送信制御部140に出力する。そして、後処理部136bは、キュー40c,40dに入力されたIPパケットをデータ送信制御部140に全て出力した後に、キュー40e,40fに入力されたIPパケットをデータ送信制御部140に出力する。
データ送信制御部140は、MAC層130から入力されるIPパケットを受け付け、受け付けた順番でIPパケットを無線基地局200に送信する。
次に、図2に示した無線基地局の構成について説明する。図8は、無線基地局の構成を示す機能ブロック図である。図8に示すように、この無線基地局200は、TCP/IP層210、MAC層220を有する。無線基地局200のその他の構成は、周知の無線基地局と同様である。
このうち、TCP/IP層210は、OSI参照モデルのネットワーク層やトランスポート層に対応するものである。TCP/IP層210は、暗号化機能部210aとヘッダ圧縮機能部210bとを有する。TCP/IP層210のその他の機能は、従来のネットワーク層やトランスポート層と同様である。
暗号化機能部210aは、IPパケットの暗号化を行う。暗号化機能部210aは、移動端末100から暗号化されたIPパケットを受信し、受信したIPパケットを一旦復号化する。そして、暗号化機能部210aは、IPパケットからパケット伝送に必要な情報と取り出した後、再度IPパケットを暗号化する。
ヘッダ圧縮機能部210bは、移動端末100から圧縮されたIPパケットを受信し、受信したIPパケットを一旦解凍する。そして、ヘッダ圧縮機能部210bは、IPパケットからパケット伝送に必要な情報を取り出した後、再度IPパケットを暗号化する。
MAC層220は、OSI参照モデルのデータリンク層に対応するものである。MAC層220は、優先制御機能部220aを有する。MAC層220のその他の機能は、従来のデータリンク層と同様である。
優先制御機能部220aは、移動端末100の論理チャンネル毎の優先制御情報を決定し、優先制御情報を決定する。そして、優先制御機能部220aは、優先制御情報に従って、QoSを満足するような帯域制御を行う。
次に、本実施例2にかかる移動端末100の処理手順について説明する。図9は、本実施例2にかかる移動端末の処理手順を示すフローチャートである。図9に示す処理は、例えば、アプリケーション層110がTCP/IP層120に対してパケットの送信要求を行ったことを契機として開始される。図9に示すように、TCP/IP層120は、アプリケーション層110からパケット送信要求を受け付け(ステップS101)、暗号化要求を受け付けていない場合には(ステップS102,No)、ステップS108に移行する。
一方、TCP/IP層120は、暗号化要求を受け付けた場合には(ステップS102,Yes)、暗号化処理を実行する(ステップS103)。暗号化情報取得部134は、暗号化される前の優先識別情報を取得し(ステップS104)、暗号化された後にIPパケットに付与されるSPIおよびSNを取得する(ステップS105)。
優先識別情報登録部135は、優先識別情報テーブル131にSPIとSNと優先識別情報とを登録する(ステップS106)。振り分け処理部136は、暗号化パケットに付与されたSPIおよびSNと優先識別情報テーブル131とを比較して、優先識別情報を抽出する(ステップS107)。
振り分け処理部136は、優先識別情報と優先制御情報テーブル132とを比較して、QoS種別を判定し(ステップS108)、QoS種別に対応するキューにIPパケットをキューイングする(ステップS109)。そして、振り分け処理部136は、対象IPパケットの送信タイミングに到達した後に、IPパケットを送信する(ステップS110)。
上述してきたように、本実施例2にかかる移動端末100は、IPパケットを暗号化する前に、IPパケットに含まれる優先識別情報を抽出しておき、SPIとSNと優先識別情報とを対応付けて優先識別情報テーブル131に登録しておく。そして、移動端末100は、IPパケットの優先制御を行う場合に、IPパケットに対応する優先識別情報を優先識別情報テーブル131から抽出し、かかる優先識別情報を利用する。このため、移動端末100は、IPパケットを暗号化した結果、IPパケット自体に含まれる優先識別情報が隠蔽されても、IPパケットの優先制御を実行できる。
次に、本実施例3にかかるシステムの構成について説明する。図10は、本実施例3にかかるシステムの構成を示す図である。図10に示すように、このシステムは、移動端末400、無線基地局200、端末装置300を有する。移動端末400は、無線通信により無線基地局200と接続する。無線基地局200は、ネットワーク50を介して端末装置300に接続する。
移動端末400は、パケットを圧縮し、圧縮したパケットを優先度に応じて無線基地局200に送信する。無線基地局200は、移動端末400から受信したパケットを、ネットワーク50を介して端末装置300に送信する。端末装置300は、移動端末400からパケットを受信した場合に、各種のサービスを移動端末400に実行する。
次に、図10に示した移動端末400の構成について説明する。図11は、本実施例3にかかる移動端末の構成を示す図である。図11に示すように、移動端末400は、アプリケーション層410、TCP/IP層420、MAC層430、データ送信制御部440を有する。
このうち、アプリケーション層410は、OSI参照モデルの最上位層に対応するものである。アプリケーション層410は、制御アプリケーション410aを有する。アプリケーション層410のその他の機能は、従来のアプリケーション層と同様である。
制御アプリケーション410aは、入力装置から各種の入力情報を取得し、取得した入力情報をTCP/IP層420に出力する。ここで入力情報には、例えば、利用者が入力した個人情報またはマルチメディアデータ等が含まれる。以下の説明において、制御アプリケーション410aがTCP/IP層420に出力する情報をペイロードと表記する。また、制御アプリケーション410aは、圧縮を行うか否かの情報をTCP/IP層420に通知する。
TCP/IP層420は、OSI参照モデルのネットワーク層やトランスポート層に対応するものである。TCP/IP層420は、アプリケーション層410から取得したペイロードにTCPヘッダおよびIPヘッダを付与する。TCP/IP層420は、ヘッダ圧縮機能部420aを有する。TCP/IP層420のその他の機能は、従来のネットワーク層やトランスポート層と同様である。
ヘッダ圧縮機能部420aは、アプリケーション層410から圧縮を行う旨の情報を受け付けた場合に、IPパケットのヘッダ情報を圧縮する。ヘッダ圧縮機能部420aが実行するヘッダ圧縮処理は、周知技術のいかなる圧縮技術を用いても構わない。ここで、IPパケットは、上記ペイロードにTCPヘッダおよびIPヘッダが付与されたものに対応する。
ヘッダ圧縮機能部420aは、IPパケットを圧縮する前に、IPパケットのヘッダ情報に含まれる優先識別情報を抽出する。この優先識別情報には、送信元IPアドレスと、宛先IPアドレスと、受信ポート番号と、送信ポート番号とが含まれる。このうち、受信ポート番号の情報または送信ポート番号の情報は、ブランクになる場合もある。また、ヘッダ圧縮機能部420aは、IPパケットを圧縮した後に、IPパケットに固有情報を付与する。この固有情報には、コンテキスト(Context)IDが含まれる。
ヘッダ圧縮機能部420aは、固有情報を付与したIPパケットをMAC層430に出力する。また、ヘッダ圧縮機能部420aは、優先識別情報と固有情報とを対応付けてMAC層430に出力する。
MAC層430は、OSI参照モデルのデータリンク層に対応するものである。MAC層430は、IPパケットの優先制御を実行する。MAC層430は、優先制御機能部430aを有する。MAC層430のその他の機能は、従来のデータリンク層と同様である。
優先制御機能部430aは、優先識別情報テーブル431、優先制御情報テーブル432、QoS情報テーブル433、ヘッダ圧縮情報取得部434、優先識別情報登録部435、振り分け処理部436を有する。
このうち、優先識別情報テーブル431は、コンテキストIDと優先識別情報とを対応付けて記憶するテーブルである。図12は、本実施例3にかかる優先識別情報テーブル431のデータ構造の一例を示す図である。図12に示すように、この優先識別情報テーブル431は、コンテキストIDと優先識別情報とを対応付けている。優先識別情報には、送信元IPアドレス、宛先IPアドレス、受信ポート番号、送信ポート番号が含まれる。例えば、コンテキストID「1」に対応する優先識別情報は、送信元IPアドレス「10.152.20.118」、宛先IPアドレス「10.119.118.60」、送信ポート番号「FTP:20」となる。
図11の説明に戻る。優先制御情報テーブル432は、優先識別情報に対応するQoS種別を特定するための情報を記憶するテーブルである。この優先制御情報テーブル432のデータ構造は、図5に示した優先制御情報テーブル132と同様である。
QoS情報テーブル433は、QoS種別とQoS種別に対応する優先度とを対応付けて記憶するテーブルである。このQoS情報テーブル433は、図6に示したQoS情報テーブル133と同様である。
ヘッダ圧縮情報取得部434は、ヘッダ圧縮機能部420aによりIPパケットの圧縮が行われるか否かを監視する。そして、ヘッダ圧縮情報取得部434は、IPパケットの圧縮が行われた場合に、優先識別情報と固有情報との組をヘッダ圧縮機能部420aから取得する。ヘッダ圧縮情報取得部434は、優先識別情報と固有情報との組を優先識別情報登録部435に渡す。
優先識別情報登録部435は、優先識別情報と固有情報とを対応付けて優先識別情報テーブル431に登録する。
振り分け処理部436は、IPパケットに対応する優先識別情報を基にして、IPパケットをそれぞれ優先度の異なるキューに振り分ける。各キューに振り分けられたIPパケットは、優先度の高いキューに割り振られたものから順にデータ送信制御部440に出力される。図13は、本実施例3にかかる振り分け処理部436の構成を示す図である。図13に示すように、この振り分け処理部436は、前処理部436a、後処理部436b、キュー40a〜40fを有する。
前処理部436aは、IPパケットの優先識別情報を基にして、キュー40a〜40fのうちいずれかにIPパケットを入力する。まず、IPパケットが圧縮されている場合の前処理部436aの処理について説明する。前処理部436aは、IPパケットに対応付けられた固有情報と優先識別情報テーブル431とを比較して、優先識別情報を取得する。例えば、固有情報のコンテキストIDが「1」の場合には、優先識別情報は図12より、送信元IPアドレス「10.152.20.118」、宛先IPアドレス「10.119.118.60」、送信ポート番号「FTP:20」となる。
続いて、前処理部436aは、優先識別情報と優先制御情報テーブル432とを比較して、IPパケットを振り分けるキューを判定する。前処理部436aは、複数のキューが該当する場合には、振り分け優先度が最大となるキューにIPパケットを振り分ける。
ここでは一例として、優先識別情報が送信元IPアドレス「10.152.20.118」、宛先IPアドレス「10.119.118.60」、送信ポート番号「FTP:20」となる場合について説明する。この場合には、前処理部436aが優先識別情報と優先制御情報テーブル432とを比較すると、識別番号「1」の振り分けキーにヒットする。識別番号「1」に対応するQoS種別は、QoS4である。このため、前処理部436aは、キュー40dにIPパケットを入力する。QoS種別「QoS1〜QoS6」に対応するキューをそれぞれ「キュー40a〜40f」とする。
次に、IPパケットが圧縮されていない場合の前処理部436aの処理について説明する。前処理部436aは、IPパケットに含まれる優先識別情報を抽出する。そして、前処理部436aは、優先識別情報と優先制御情報テーブル432とを比較して、IPパケットを振り分けるキューを判定する。前処理部436aは、複数のキューが該当する場合には、振り分け優先度が最大となるキューにIPパケットを振り分ける。
後処理部436bは、QoS情報テーブル433に基づいて、キュー40a〜40fに格納されたIPパケットをデータ送信制御部440に出力する処理部である。例えば、図6に示したQoS情報テーブル133を参照すると、キュー40a,40b、キュー40c,40d、キュー40e,40fの順に優先度が低くなる。このため、例えば、後処理部436bは、キュー40a,40bに入力されたIPパケットをデータ送信制御部440に全て出力した後に、キュー40c,40dに入力されたIPパケットをデータ送信制御部440に出力する。そして、後処理部436bは、キュー40c,40dに入力されたIPパケットをデータ送信制御部440に全て出力した後に、キュー40e,40fに入力されたIPパケットをデータ送信制御部440に出力する。
次に、本実施例3にかかる移動端末400の処理手順について説明する。図14は、本実施例3にかかる移動端末の処理手順を示すフローチャートである。図14に示す処理は、例えば、アプリケーション層410がTCP/IP層420に対してパケットの送信要求を行ったことを契機として開始される。図14に示すように、TCP/IP層420は、アプリケーション層410からパケット送信要求を受け付け(ステップS201)、ヘッダ圧縮要求を受け付けていない場合には(ステップS202,No)、ステップS208に移行する。
一方、TCP/IP層420は、ヘッダ圧縮要求を受け付けた場合には(ステップS202,Yes)、ヘッダ圧縮処理を実行する(ステップS203)。ヘッダ圧縮情報取得部434は、ヘッダが圧縮される前の優先識別情報を取得し(ステップS204)、圧縮された後にIPパケットに付与されるコンテキストIDを取得する(ステップS205)。
優先識別情報登録部435は、優先識別情報テーブル431にコンテキストIDと優先識別情報とを登録する(ステップS206)。振り分け処理部436は、ヘッダが圧縮されたIPパケットに付与されたコンテキストIDと優先識別情報テーブル431とを比較して、優先識別情報を抽出する(ステップS207)。
振り分け処理部436は、優先識別情報と優先制御情報テーブル432とを比較して、QoS種別を判定し(ステップS208)、QoS種別に対応するキューにIPパケットをキューイングする(ステップS209)。そして、振り分け処理部436は、対象IPパケットの送信タイミングに到達した後に、IPパケットを送信する(ステップS210)。
上述してきたように、本実施例3にかかる移動端末400は、IPパケットを圧縮する前に、IPパケットに含まれる優先識別情報を抽出しておき、コンテキストIDと優先識別情報とを対応付けて優先識別情報テーブル431に登録しておく。そして、移動端末400は、IPパケットの優先制御を行う場合に、IPパケットに対応する優先識別情報を優先識別情報テーブル431から抽出し、かかる優先識別情報を利用する。このため、移動端末400は、IPパケットを圧縮した結果、IPパケット自体に含まれる優先識別情報が隠蔽されても、IPパケットの優先制御を実行できる。
次に、本実施例4にかかるシステムの構成について説明する。図15は、本実施例4にかかるシステムの構成を示す図である。図15に示すように、このシステムは、移動端末500、無線基地局200、端末装置300を有する。移動端末500は、無線通信により無線基地局200と接続する。無線基地局200は、ネットワーク50を介して端末装置300に接続する。
移動端末500は、パケットの圧縮または暗号化を行い、優先度に応じてパケットを無線基地局200に送信する。無線基地局200は、移動端末500から受信したパケットを、ネットワーク50を介して端末装置300に送信する。端末装置300は、移動端末500からパケットを受信した場合に、各種のサービスを移動端末500に実行する。
次に、図15に示した移動端末500の構成について説明する。図16は、本実施例4にかかる移動端末の構成を示す図である。図16に示すように、移動端末500は、アプリケーション層510、TCP/IP層520、MAC層530、データ送信制御部540を有する。
このうち、アプリケーション層510は、OSI参照モデルの最上位層に対応するものである。アプリケーション層510は、制御アプリケーション510aを有する。アプリケーション層510のその他の機能は、従来のアプリケーション層と同様である。
制御アプリケーション510aは、入力装置から各種の入力情報を取得し、取得した入力情報をTCP/IP層520に出力する。ここで入力情報には、例えば、利用者が入力した個人情報またはマルチメディアデータ等が含まれる。以下の説明において、制御アプリケーション510aがTCP/IP層520に出力する情報をペイロードと表記する。また、制御アプリケーション510aは、暗号化を行うか否か、圧縮を行うか否かの情報をTCP/IP層520に通知する。
TCP/IP層520は、OSI参照モデルのネットワーク層やトランスポート層に対応するものである。TCP/IP層520は、アプリケーション層510から取得したペイロードにTCPヘッダおよびIPヘッダを付与する。TCP/IP層520は、暗号化機能部520a、ヘッダ圧縮機能部520bを有する。TCP/IP層520のその他の機能は、従来のネットワーク層やトランスポート層と同様である。
暗号化機能部520aは、アプリケーション層510から暗号化を行う旨の情報を受け付けた場合に、IPパケットを暗号化する。暗号化機能部520aが実行する暗号化処理は、周知技術のいかなる暗号化技術を用いても構わない。ここで、IPパケットは、上記ペイロードにTCPヘッダおよびIPヘッダが付与されたものに対応する。
暗号化機能部520aは、IPパケットを暗号化する前に、IPパケットに含まれる優先識別情報を抽出する。この優先識別情報には、送信元IPアドレスと、宛先IPアドレスと、受信ポート番号と、送信ポート番号とが含まれる。このうち、受信ポート番号の情報または送信ポート番号の情報は、ブランクになる場合もある。また、暗号化機能部520aは、IPパケットを暗号化した後に、IPパケットに第1固有情報を付与する。この第1固有情報には、SPIとSNとが含まれる。暗号化機能部520aは、第1固有情報を付与したIPパケットをMAC層530に出力する。また、暗号化機能部520aは、優先識別情報と第1固有情報とを対応付けてMAC層530に出力する。
ヘッダ圧縮機能部520bは、アプリケーション層510から圧縮を行う旨の情報を受け付けた場合に、IPパケットのヘッダ情報を圧縮する。ヘッダ圧縮機能部520bが実行するヘッダ圧縮処理は、周知技術のいかなる圧縮技術を用いても構わない。
ヘッダ圧縮機能部520bは、IPパケットを圧縮する前に、IPパケットのヘッダ情報に含まれる優先識別情報を抽出する。ヘッダ圧縮機能部520bは、IPパケットを圧縮した後に、IPパケットに第2固有情報を付与する。この第2固有情報には、コンテキストIDが含まれる。ヘッダ圧縮機能部520bは、第2固有情報を付与したIPパケットをMAC層530に出力する。また、ヘッダ圧縮機能部520bは、優先識別情報と第2固有情報とを対応付けてMAC層530に出力する。
なお、IPパケットの暗号化および圧縮を行う場合には、まず、暗号化機能部520aは暗号化を行う前に、IPパケットから優先識別情報を抽出する。そして、暗号化機能部520aは、IPパケットを暗号化し、暗号化したIPパケットをヘッダ圧縮機能部520bに渡す。また、暗号化機能部520aは、優先識別情報にSPIとSNとを追加した後、かかる優先識別情報をヘッダ圧縮機能部520bに渡す。
続いて、ヘッダ圧縮機能部520bが暗号化されたIPパケットを取得し、このIPパケットのヘッダ情報を圧縮する。ヘッダ圧縮機能部520bは、IPパケットを圧縮した後に、IPパケットに第2固有情報を付与する。そして、ヘッダ圧縮機能部520bは、第2固有情報を付与したIPパケットをMAC層530に出力する。また、ヘッダ圧縮機能部520bは、暗号化機能部520aから取得した優先識別情報と第2固有情報とを対応付けてMAC層530に出力する。
MAC層530は、OSI参照モデルのデータリンク層に対応するものである。MAC層530は、IPパケットの優先制御を実行する。MAC層530は、優先制御機能部530aを有する。MAC層530のその他の機能は、従来のデータリンク層と同様である。
優先制御機能部530aは、優先識別情報テーブル531、優先制御情報テーブル532、QoS情報テーブル533、暗号化情報取得部534、ヘッダ圧縮情報取得部535、優先識別情報登録部536、振り分け処理部537を有する。
このうち、優先識別情報テーブル531は、SPI、SN、コンテキストIDと対応付けて優先識別情報を記憶するテーブルである。図17は、本実施例4にかかる優先識別情報テーブル531のデータ構造の一例を示す図である。図17に示すように、この優先識別情報テーブル531には属性「暗号化有」、「ヘッダ圧縮有」に分けて優先識別情報が記憶されている。
まず、属性「暗号化有」では、SPIおよびSNと、優先識別情報とを対応付けている。この優先識別情報には、送信元IPアドレス、宛先IPアドレス、受信ポート番号、送信ポート番号が含まれる。例えば、SPI「1」、SN「1〜28」に対応する優先識別情報は、送信元IPアドレス「10.152.20.118」、宛先IPアドレス「10.119.255.255」、送信ポート番号「FTP:20」となる。
続いて、属性「ヘッダ圧縮有」では、コンテキストIDと、優先識別情報とを対応付けている。この優先識別情報には、送信元IPアドレス、宛先IPアドレス、受信ポート番号、送信ポート番号が含まれる。例えば、コンテキストID「1」に対応する優先識別情報は、送信元IPアドレス「10.152.20.118」、宛先IPアドレス「10.119.118.60」、送信ポート番号「FTP:20」となる。なお、IPパケットに対してヘッダ圧縮と暗号化とが行われている場合には、かかる優先識別情報に、SPIおよびSNが含まれる。
優先制御情報テーブル532は、優先識別情報に対応するQoS種別を特定するための情報を記憶するテーブルである。この優先制御情報テーブル432のデータ構造は、図5に示した優先制御情報テーブル132と同様である。
QoS情報テーブル533は、QoS種別とQoS種別に対応する優先度とを対応付けて記憶するテーブルである。このQoS情報テーブル533は、図6に示したQoS情報テーブル133と同様である。
暗号化情報取得部534は、暗号化機能部520aによりIPパケットの暗号化が行われるか否かを監視する。そして、暗号化情報取得部534は、IPパケットの暗号化が行われた場合に、優先識別情報と第1固有情報との組を暗号化機能部520aから取得する。暗号化情報取得部534は、優先識別情報と第1固有情報との組を優先識別情報登録部536に渡す。
ヘッダ圧縮情報取得部535は、ヘッダ圧縮機能部520bによりIPパケットの圧縮が行われるか否かを監視する。そして、ヘッダ圧縮情報取得部535は、IPパケットの圧縮が行われた場合に、優先識別情報と第2固有情報との組をヘッダ圧縮機能部520bから取得する。ヘッダ圧縮情報取得部535は、優先識別情報と第2固有情報との組を優先識別情報登録部536に渡す。
さらに、ヘッダ圧縮情報取得部535は、IPパケットの暗号化および圧縮の双方が行われた場合にも、ヘッダ圧縮機能部520bから優先識別情報と第2固有情報との組を取得する。そして、ヘッダ圧縮情報取得部535は、優先識別情報と第2固有情報との組を優先識別情報登録部536に渡す。
優先識別情報登録部536は、暗号化情報取得部534から優先識別情報と第1固有情報とを取得した場合には、優先識別情報と第1固有情報とを対応付けて優先識別情報テーブル531に登録する。また、優先識別情報登録部536は、ヘッダ圧縮情報取得部535から優先識別情報と第2固有情報とを取得した場合には、優先識別情報と第2固有情報とを対応付けて優先識別情報テーブル531に登録する。
振り分け処理部537は、IPパケットに対応する優先識別情報を基にして、IPパケットをそれぞれ優先度の異なるキューに振り分ける。各キューに振り分けられたIPパケットは、優先度の高いキューに割り振られたものから順にデータ送信制御部540に出力される。図18は、本実施例4にかかる振り分け処理部の構成を示す図である。
図18に示すように、この振り分け処理部537は、前処理部537a、後処理部537b、キュー40a〜40fを有する。
前処理部537aは、IPパケットの優先識別情報を基にして、キュー40a〜40fのうちいずれかにIPパケットを入力する。まず、IPパケットが暗号化されている場合の前処理部537aの処理について説明する。前処理部537aは、IPパケットに対応付けられた第1固有情報と優先識別情報テーブル531とを比較して、優先識別情報を取得する。例えば、第1固有情報のSPIが「1」、SNが「1」の場合には、優先識別情報は図17より、送信元IPアドレス「10.152.20.118」、宛先IPアドレス「10.119.255.255」、送信ポート番号「FTP:20」となる。
続いて、前処理部537aは、優先識別情報と優先制御情報テーブル532とを比較して、IPパケットを振り分けるキューを判定する。前処理部537aは、複数のキューが該当する場合には、振り分け優先度が最大となるキューにIPパケットを振り分ける。
次に、IPパケットが圧縮されている場合の前処理部537aの処理について説明する。前処理部537aは、IPパケットに対応付けられた第2固有情報と優先識別情報テーブル531とを比較して、優先識別情報を取得する。例えば、第2固有情報のコンテキストIDが「1」の場合には、優先識別情報は図17より、送信元IPアドレス「10.152.20.118」、宛先IPアドレス「10.119.118.60」、送信ポート番号「FTP:20」となる。
続いて、前処理部537aは、優先識別情報と優先制御情報テーブル532とを比較して、IPパケットを振り分けるキューを判定する。前処理部537aは、複数のキューが該当する場合には、振り分け優先度が最大となるキューにIPパケットを振り分ける。
次に、IPパケットが暗号化および圧縮されている場合の前処理部537aの処理について説明する。前処理部537aは、IPパケットに対応付けられた第2固有情報と優先識別情報テーブル531とを比較して、優先識別情報を取得する。IPパケットが暗号化および圧縮されている場合には、この優先識別情報にSPIとSNとが含まれる。例えば、第2固有情報のコンテキストIDが「11」の場合には、優先識別情報は図17より、送信元IPアドレス「10.152.20.118」、宛先IPアドレス「10.119.118.60」、SPI「1」、SN「1〜28」となる。
このように、優先識別情報にSPIとSNとが含まれている場合には、前処理部537aは、SPIおよびSNと優先識別情報テーブル531と再度比較して、優先識別情報を取得する。例えば、SPI「1」、SN「1〜28」に対応する優先識別情報は、送信元IPアドレス「10.152.20.118」、宛先IPアドレス「10.119.255.255」、送信ポート番号「FTP:20」となる。
続いて、前処理部537aは、優先識別情報と優先制御情報テーブル532とを比較して、IPパケットを振り分けるキューを判定する。前処理部537aは、複数のキューが該当する場合には、振り分け優先度が最大となるキューにIPパケットを振り分ける。
次に、IPパケットが暗号化および圧縮されていない場合の前処理部537aの処理について説明する。前処理部537aは、IPパケットに含まれる優先識別情報を抽出する。そして、前処理部537aは、優先識別情報と優先制御情報テーブル532とを比較して、IPパケットを振り分けるキューを判定する。前処理部537aは、複数のキューが該当する場合には、振り分け優先度が最大となるキューにIPパケットを振り分ける。
後処理部537bは、QoS情報テーブル533に基づいて、キュー40a〜40fに格納されたIPパケットをデータ送信制御部540に出力する処理部である。例えば、図6に示したQoS情報テーブル133に対応するQoS情報テーブル533を参照すると、キュー40a,40b、キュー40c,40d、キュー40e,40fの順に優先度が低くなる。このため、例えば、後処理部537bは、キュー40a,40bに入力されたIPパケットをデータ送信制御部540に全て出力した後に、キュー40c,40dに入力されたIPパケットをデータ送信制御部540に出力する。そして、後処理部537bは、キュー40c,40dに入力されたIPパケットをデータ送信制御部540に全て出力した後に、キュー40e,40fに入力されたIPパケットをデータ送信制御部540に出力する。
次に、本実施例4にかかる移動端末500の処理手順について説明する。図19は、本実施例4にかかる移動端末500の処理手順を示すフローチャートである。図19に示す処理は、例えば、アプリケーション層510がTCP/IP層520に対してパケットの送信要求を行ったことを契機として開始される。図19に示すように、TCP/IP層520は、アプリケーション層510からパケット送信要求を受け付ける(ステップS302)。TCP/IP層520は、暗号化要求およびヘッダ圧縮要求の双方を受け付けていない場合には(ステップS302,No)、暗号化要求を受け付けたか否かを判定する(ステップS303)。
TCP/IP層520は、暗号化要求を受け付けていない場合には(ステップS303,No)、ステップS309に移行する。一方、TCP/IP層520は、暗号化要求を受け付けた場合には(ステップS303,Yes)、暗号化される前の優先識別情報をIPパケットから取得し(ステップS304)、暗号化処理を実行する(ステップS305)。暗号化情報取得部534は、暗号化された後にIPパケットに付与されるSPIおよびSNと優先識別情報とを取得する(ステップS306)。
優先識別情報登録部536は、優先識別情報テーブル531に優先識別情報を登録する(ステップS307)。振り分け処理部537は、暗号化パケットに付与されたSPIおよびSNと優先識別情報とを比較して、優先識別情報を抽出する(ステップS308)。
TCP/IP層520は、ヘッダ圧縮要求を受け付けていない場合には(ステップS309,No)、ステップS315に移行する。一方、TCP/IP層520は、ヘッダ圧縮要求を受け付けた場合には(ステップS309,Yes)、ヘッダが圧縮される前の優先識別情報を取得し(ステップS310)、ヘッダ圧縮処理を実行する(ステップS311)。ヘッダ圧縮情報取得部535は、圧縮された後にIPパケットに付与されるコンテキストIDと優先識別情報とを取得する(ステップS312)。
優先識別情報登録部536は、優先識別情報テーブル531に優先識別情報を登録する(ステップS313)。振り分け処理部537は、ヘッダが圧縮されたIPパケットに付与されたコンテキストIDと優先識別情報テーブルとを比較して、優先識別情報を抽出する(ステップS314)。
振り分け処理部537は、優先識別情報と優先制御情報テーブル532とを比較して、QoS種別を判定し(ステップS315)、QoS種別に対応するパケット送信キューにIPパケットをキューイングする(ステップS316)。そして、振り分け処理部537は、対象パケットの送信タイミングに到達した後に、IPパケットを送信する(ステップS317)。
ところで、ステップS302において、TCP/IP層520は、暗号化要求およびヘッダ圧縮要求の双方を受け付けている場合には(ステップS302,Yes)、暗号化される前の優先識別情報を取得する(ステップS318)。そして、TCP/IP層520は、暗号化処理を実行し(ステップS319)、暗号化された後にIPパケットに付与されるSPIおよびSNを取得する(ステップS320)。TCP/IP層520は、優先識別情報にSPIおよびSNを追加する(ステップS321)。
そして、TCP/IP層520は、ヘッダ圧縮処理を実行する(ステップS322)。ヘッダ圧縮情報取得部535は、IPヘッダが圧縮された後にIPパケットに付与されるコンテキストIDと優先識別情報とを取得し(ステップS323)、優先識別情報登録部536が優先識別情報テーブル531に優先識別情報を登録する(ステップS324)。
振り分け処理部537は、ヘッダが圧縮されたIPパケットに付与されたコンテキストIDと優先識別情報テーブル532とを比較して、優先識別情報を抽出し(ステップS325)、ステップS315に移行する。
上述してきたように、本実施例4にかかる移動端末500は、IPパケットを暗号化および圧縮する前に、IPパケットに含まれる優先識別情報を抽出しておく。移動端末500は、抽出した優先識別情報とSPI、SNまたはコンテキストIDとを対応付けて優先識別情報テーブル531に登録しておく。そして、移動端末500は、IPパケットの優先制御を行う場合に、IPパケットに対応する優先識別情報を優先識別情報テーブル531から抽出し、かかる優先識別情報を利用する。このため、移動端末500は、IPパケットを暗号化または圧縮した結果、IPパケット自体に含まれる優先識別情報が隠蔽されても、IPパケットの優先制御を実行できる。
ところで、図示した各移動端末の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各移動端末の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、図3に示した、暗号化情報取得部134、優先識別情報登録部135、振り分け処理部136の各機能を統合してもよい。
なお、移動端末100は、既知のパーソナルコンピュータ、ワークステーション、携帯電話、PHS端末、移動体通信端末またはPDAなどの情報処理装置に、上記した各部110〜140の各機能を搭載することによって実現することもできる。
図20は、実施例にかかる移動端末を構成するコンピュータのハードウェア構成を示す図である。図20に示すように、このコンピュータ600は、各種演算処理を実行するCPU(Central Processing Unit)601と、ユーザからのデータの入力を受け付ける入力装置602と、モニタ603を有する。また、コンピュータ600は、記憶媒体からプログラム等を読取る媒体読み取り装置604と、ネットワークを介して他のコンピュータとの間でデータの授受を行うネットワークインターフェース装置605を有する。
そして、ハードディスク装置607は、図3に示したアプリケーション層110と同様の機能を有するアプリケーションプログラム607aを記憶する。また、ハードディスク装置607は、図3に示したTCP/IP層120と同様の機能を有するTCP/IPプログラム608bを記憶する。また、ハードディスク装置607は、図3に示したMAC層130と同様の機能を有する優先制御プログラム607cを記憶する。
CPU601は、アプリケーションプログラム607aとTCP/IPプログラム607bと優先制御プログラム607cとを読み出して、RAM606に展開する。RAM606に展開された各プログラム607a〜607cは、それぞれ、アプリケーションプロセス606a、TCP/IPプロセス606b、優先制御プロセス606cとして機能する。特に、優先制御プロセス606cは、IPパケットに対する優先制御を実行する。
なお、上記のアプリケーションプログラム607a、TCP/IPプログラム607b、優先制御プログラム607cは、必ずしもハードディスク装置607に格納されている必要はない。例えば、コンピュータ600が、CD−ROM等の記憶媒体に記憶された各プログラム607a〜607cを読み出して実行するようにしてもよい。また、公衆回線、インターネット、LAN(Local Area Network)、WAN(Wide Area Network)等にこのプログラムを記憶させておき、コンピュータ600がこれらから各プログラム607a〜607bを読み出して実行するようにしてもよい。
図20に示したコンピュータ600は、図3に示した移動端末100に対応するものである。図11に示した移動端末400および図16に示した移動端末500の機能も同様にして、コンピュータに搭載することができる。
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)送信順序の優先度を識別する制御情報を含む送信データに対して圧縮または暗号化を行う圧縮暗号化部と、
前記送信データが前記圧縮暗号化部によって圧縮または暗号化が実行される前に、前記送信データに含まれる前記制御情報を抽出し、抽出した前記制御情報を管理テーブルに登録する制御情報抽出部と、
圧縮または暗号化が実行された後の前記送信データに対応する前記制御情報を前記管理テーブルから取得し、前記制御情報に基づいて圧縮または暗号化が実行された後の送信データの送信制御を行う送信制御部と
を有することを特徴とする通信装置。
(付記2)前記制御情報抽出部は、前記送信データを一意に識別する識別情報と前記制御情報とを対応づけて前記管理テーブルに登録し、前記送信制御部は、前記送信データを送信する際に、前記識別情報をキーにして前記管理テーブルから前記送信データに対応する前記制御情報を取得し、取得した前記制御情報に基づいて、前記送信データの送信制御を行うことを特徴とする付記1に記載の通信装置。
(付記3)前記送信制御部は、送信順序の優先度がそれぞれ異なる複数のキューと、前記制御情報と前記キューとを対応付ける対応テーブルとを有し、前記送信データを送信する際に、当該送信データに対応する制御情報と前記対応テーブルとを比較して、前記送信データを振り分けるキューを判定し、判定結果に基づいて前記送信データを前記キューに振り分けることで送信制御を行うことを特徴とする付記2に記載の通信装置。
(付記4)通信装置が、
送信順序の優先度を識別する制御情報を含む送信データに対する圧縮または暗号化が実行される前に、前記送信データに含まれる前記制御情報を抽出し、抽出した前記制御情報を管理テーブルに登録する制御情報抽出ステップと、
前記送信データに対して圧縮または暗号化を行う圧縮暗号化ステップと、
圧縮または暗号化が実行された後の前記送信データに対応する前記制御情報を前記管理テーブルから取得し、前記制御情報に基づいて圧縮または暗号化が実行された後の送信データの送信制御を行う送信制御ステップと
を含んだことを特徴とする通信方法。
(付記5)前記制御情報抽出ステップは、前記送信データを一意に識別する識別情報と前記制御情報とを対応づけて前記管理テーブルに登録し、前記送信制御ステップは、前記送信データを送信する際に、前記識別情報をキーにして前記管理テーブルから前記送信データに対応する前記制御情報を取得し、取得した前記制御情報に基づいて、前記送信データの送信制御を行うことを特徴とする付記4に記載の通信方法。
(付記6)送信順序の優先度がそれぞれ異なる複数のキューと、前記制御情報と前記キューとを対応付ける対応テーブルとを有し、前記送信制御ステップは、前記送信データを送信する際に、当該送信データに対応する制御情報と前記対応テーブルとを比較して、前記送信データを振り分けるキューを判定し、判定結果に基づいて前記送信データを前記キューに振り分けることで送信制御を行うことを特徴とする付記5に記載の通信方法。
(付記7)コンピュータに、
送信順序の優先度を識別する制御情報を含む送信データに対する圧縮または暗号化が実行される前に、前記送信データに含まれる前記制御情報を抽出し、抽出した前記制御情報を管理テーブルに登録する制御情報抽出手順と、
前記送信データに対して圧縮または暗号化を行う圧縮暗号化手順と、
圧縮または暗号化が実行された後の前記送信データに対応する前記制御情報を前記管理テーブルから取得し、前記制御情報に基づいて圧縮または暗号化が実行された後の送信データの送信制御を行う送信制御手順と
を実行させることを特徴とする通信プログラム。
(付記8)前記制御情報抽出手順は、前記送信データを一意に識別する識別情報と前記制御情報とを対応づけて前記管理テーブルに登録し、前記送信制御手順は、前記送信データを送信する際に、前記識別情報をキーにして前記管理テーブルから前記送信データに対応する前記制御情報を取得し、取得した前記制御情報に基づいて、前記送信データの送信制御を行うことを特徴とする付記7に記載の通信プログラム。
(付記9)送信順序の優先度がそれぞれ異なる複数のキューと、前記制御情報と前記キューとを対応付ける対応テーブルとを有し、前記送信制御手順は、前記送信データを送信する際に、当該送信データに対応する制御情報と前記対応テーブルとを比較して、前記送信データを振り分けるキューを判定し、判定結果に基づいて前記送信データを前記キューに振り分けることで送信制御を行うことを特徴とする付記8に記載の通信プログラム。