JP2017028589A - 通信装置、無線通信装置、および通信方法 - Google Patents

通信装置、無線通信装置、および通信方法 Download PDF

Info

Publication number
JP2017028589A
JP2017028589A JP2015147271A JP2015147271A JP2017028589A JP 2017028589 A JP2017028589 A JP 2017028589A JP 2015147271 A JP2015147271 A JP 2015147271A JP 2015147271 A JP2015147271 A JP 2015147271A JP 2017028589 A JP2017028589 A JP 2017028589A
Authority
JP
Japan
Prior art keywords
communication
connection
wireless
tcp
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2015147271A
Other languages
English (en)
Inventor
純一 須加
Junichi Suga
純一 須加
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2015147271A priority Critical patent/JP2017028589A/ja
Priority to US15/216,350 priority patent/US20170027016A1/en
Publication of JP2017028589A publication Critical patent/JP2017028589A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • H04W76/15Setup of multiple wireless link connections
    • H04W76/16Involving different core network technologies, e.g. a packet-switched [PS] bearer in combination with a circuit-switched [CS] bearer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/663Transport layer addresses, e.g. aspects of transmission control protocol [TCP] or user datagram protocol [UDP] ports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/30Connection release
    • H04W76/34Selective release of ongoing connections

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】開示の技術は、複数の無線通信システムを利用可能な無線端末がサーバ等とデータ通信を行う際に十分なスループットを確保することができる無線通信装置を提供することを目的とする。【解決手段】開示の通信装置は、通信装置であって、TCP等に基づいて行うデータ通信を制御する制御部を備え、前記制御部は、通信先装置である無線通信装置との間でTCP等に基づく第1コネクションが第1無線通信方式に基づく第1無線ネットワークを経由して設定されている場合であって、該無線通信装置との間でTCP等に基づく第2コネクションを第2無線通信方式に基づく第2無線ネットワークを経由して開始する場合に、該第1コネクションを終了させることなく該第2コネクションを開始し、前記第1コネクションを終了させるか否かの判断は、TCP等における前記第2コネクションの単位時間当たりのデータ転送量に関連する指標値に基づいて行われる通信装置。【選択図】図1

Description

本発明は、通信装置、無線通信装置、および通信方法に関する。
昨今では、周知の通り、複数の無線通信システムを利用可能な無線端末が一般に広く普及している。ここで、複数の無線通信システムを、複数の無線通信方式またはRAT(Radio Access Technology)と言い換えてもよい。複数の無線通信システムとは、例えばLTE(Long Term Evolution)等のセルラー通信システムと、例えばWi-Fi(Wireless Fidelity:登録商標)等の無線LAN(Local Area Network)通信システムである。また、ここでの無線端末とは、無線通信機能を有するあらゆる端末装置のことであり、スマートフォン、携帯電話、タブレット端末、パソコン(PC: Personal Computer)等を含むものとする。
複数の無線通信システムを利用可能な無線端末は、一例として、複数の無線通信システムに基づく無線通信を切替えて使用することにより、時と場合に応じて無線通信システムを適応的に選択することが可能となる。また、当該無線端末は、他の例として、複数の無線通信システムに基づく無線通信を併用することにより、大容量の無線通信を行うことが可能となる。このように、当該無線端末は、単一の無線通信システムのみに基づく無線端末が得られない種々の恩恵を享受することができる。
一方、無線端末が例えばインターネット上のサーバ(Webサーバ等)等にアクセスする場合、無線端末はインターネット上の標準プロトコルであるTCP/IP(Transmission Control Protocol/Internet Protocol)に基づいて当該サーバとデータ通信を行う。ここで、IPは、OSI(Open System Interconnection)参照モデルにおける第3層に相当するネットワーク層のプロトコルであり、装置間のデータ中継を司っている。これに対し、TCPは、OSI参照モデルにおける第4層に相当するトランスポート層のプロトコルであり、装置間の(エンドツーエンドの)通信管理を司っている。TCPが司る通信管理には、例えば再送制御や輻輳制御といった、通信の信頼性を確保するための種々の制御が含まれる。無線端末はTCP/IPを用いることにより、例えばインターネット上のサーバとの間で一定の信頼性を備えるデータ通信を行うことが可能となる。
特開2010-213013号公報 特開2008-236079号公報 特開2012-222777号公報
A. Ford, et al, "TCP Extensions for Multipath Operation with Multiple Addresses", IETF RFC 6824,2013年1月 Christoph Paasch, et al, "Exploring mobile/WiFi handover with multipath TCP", Proceedings of the 2012 ACM SIGCOMM workshop on Cellular networks: operations, challenges, and future design,2012年8月
こうした背景の下、複数の無線通信システムを利用可能な無線端末がTCP/IPを用いて例えばインターネット上のサーバ等とデータ通信を行うことは、従前からごく一般的に行われており、特に問題は発生していないようにも思われる。しかしながら、本願発明者の子細な検討によれば、所定の条件が揃った場合に、このようなデータ通信において十分なスループットが得られないという不都合が生じることが見いだされた。近年のデータ通信は一般に容量が大きくなっていることを鑑みても、十分なスループットの確保は無線通信分野における共通の課題であるものと考えられる。
開示の技術は、上記に鑑みてなされたものであって、複数の無線通信システムを利用可能な無線端末がサーバ等とデータ通信を行う際に十分なスループットを確保することができる通信装置、無線通信装置、及び通信方法を提供することを目的とする。
上述した課題を解決し、目的を達成するために、開示の通信装置は、通信装置であって、通信を行う通信部と、該通信装置が通信先装置との間で設定したコネクションにおいてデータ通信を行う第1通信プロトコルであって、該コネクションの該第1通信プロトコル層における単位時間当たりのデータ転送量に影響を与える所定パラメータが該コネクションの開始時に所定値に設定され、該コネクションにおいて通信を行うにつれて該所定パラメータが該単位時間当たりのデータ転送量を増加させる方向に順次更新される該第1通信プロトコルに基づいて前記通信部を用いて行うデータ通信を制御する制御部と、を備え、前記制御部は、通信先装置である無線通信装置との間で前記第1通信プロトコルに基づく第1コネクションが第1無線通信方式に基づく第1無線ネットワークを経由して設定されている場合であって、該無線通信装置との間で該第1通信プロトコルに基づく第2コネクションを第2無線通信方式に基づく第2無線ネットワークを経由して開始する場合に、該第1コネクションを終了させることなく該第2コネクションを開始し、前記第1コネクションを終了させるか否かの判断は、前記第1通信プロトコルにおける前記第2コネクションの単位時間当たりのデータ転送量に関連する指標値に基づいて行われる。
本件の開示する通信装置、無線通信装置、および通信方法の一つの態様によれば、複数の無線通信システムを利用可能な無線端末がサーバ等とデータ通信を行う際に十分なスループットを確保することができるという効果を奏する。
図1は、第2実施形態に係る通信システムの処理シーケンスを示す図である。 図2は、第3実施形態に係る通信システムの送信処理の処理フローを示す図である。 図3は、各実施形態に係る通信システムのネットワーク構成を示す図である。 図4は、各実施形態に係る無線端末の機能構成を示すブロック図である。 図5は、各実施形態に係るサーバの機能構成を示すブロック図である。 図6は、各実施形態に係る無線基地局の機能構成を示すブロック図である。 図7は、各実施形態に係る無線端末のハードウェア構成を示すブロック図である。 図8は、各実施形態に係るサーバのハードウェア構成を示すブロック図である。 図9は、各実施形態に係る無線基地局のハードウェア構成を示すブロック図である。
以下に、本件の開示する通信装置、無線通信装置、および通信方法の実施形態を、図面を参照しながら説明する。なお、以下の実施形態により本件の開示する通信装置、無線通信装置、および通信方法が限定されるものではない。
[問題の所在]
まず、各実施形態を説明する前に、従来技術における問題の所在を説明する。この問題は、本願発明者が従来技術を仔細に検討した結果として新たに見出したものであり、従来は知られていなかったものであることに注意されたい。
既に述べた通り、複数の無線通信システム(無線通信方式)を利用可能な無線端末がTCP/IPを用いて例えばインターネット上のサーバ等とデータ通信を行うことは、従前からごく一般的に行われている。このような場合における問題について説明するため、まずはTCPにおけるコネクションの概念を説明する。
TCPはコネクション(TCPコネクション)によって1対1の通信を実現している。コネクションは、2つの装置間の通信の開始から終了までを管理するための単位となる概念である。なお、TCPにはセッション(TCPセッション)という概念もあるが、本願においてはTCPコネクションをTCPセッションと読替えても構わないことに留意されたい(厳密にはコネクションとセッションとは異なる概念であるが、本願においてはこれらの差異を意識する必要はあまりない)。
TCPコネクションは一般に、通信を行う2つの装置(エンドツーエンドの関係となる2つの装置)それぞれのIPアドレスとTCPポート番号により特定される。例えば、無線端末とサーバが通信を行う場合のTCPコネクションは、無線端末のIPアドレス、無線端末のTCPポート番号、サーバのIPアドレス、およびサーバのTCPポート番号の4つにより特定される。
ここで、TCPポート番号とは、通信装置において通信を行うプログラム(アプリケーションソフトウェア)を識別するための番号である。換言すれば、TCPポート番号により、TCPコネクションとそれを利用するプログラムの紐付け(対応付け)が行われる。なお、主要なサービス(サーバ側プログラム)のTCPポート番号は、IANA(Internet Assigned Number Authority)によって公式に定められている。例えば、無線端末が通信を行うサーバがWebサーバである場合、当該WebサーバのTCPポート番号(より正確には、Webサーバ装置上で動作するWebサーバプログラムのTCPポート番号)は一般に80となる。
前述したように、コネクションは、2つの装置間の通信の開始から終了までを管理するための単位である。そのため、TCPコネクションが継続している限り、2つの装置は当該TCPコネクションにおける通信を一続きの通信系列として管理する。より具体的には、TCPのコネクションにおいては、そこでやり取りされるパケットにシーケンス番号(通し番号)が付与される。これにより、仮に同一コネクション内の複数パケットが送信順序の通りに受信されなくても、受信側においてパケットの順序を復元できるため、受信側でパケットの順序が保証される。
一方、異なる複数のTCPコネクションにおける複数の通信系列は別個のものとして独立に管理される。すなわち、複数のTCPコネクションが存在する場合、それぞれにおいてパケットにシーケンス番号が付与されるが、TCPコネクション間でシーケンス番号が同期されているわけではない。このことは、異なるコネクション間においては、受信側でパケットの順序は保証されないことを意味する。
なお、TCPコネクションでやり取りされるパケットは、TCPパケット、あるいは、TCPセグメントと称される。TCPパケットは、下位プロトコルであるIPにおいてIPパケットにカプセル化されて送受信される。以下では特に断りがない限り、単に「パケット」と称した場合、TCPパケット(TCPセグメント)を指すものとする。
さて、冒頭で述べたように、本願は、複数の無線通信システム(すなわち、複数の無線通信方式)を利用可能な無線端末がTCP/IPを用いてデータ通信を行う場合を取り扱う。以下では、このような場合における第1の問題を説明する。
既に述べた通り、複数の無線通信システムとは、例えばLTE等のセルラー通信システムと、例えばWi-Fi等の無線LAN通信システムである。ここで、LTE等に基づくセルラーネットワークとWi-Fi等に基づく無線LANネットワークとは、一般に異なるネットワークである。例えば、移動体通信事業者によってLTE無線ネットワークが提供されており、当該移動体通信事業者とは異なる通信事業者に接続されたWi-Fiルータ(個人宅やホットスポット等に設置)によってWi-Fi無線ネットワークが提供されている場合、これらは当然に別のネットワークとなる。また、移動体通信事業者によってLTE無線ネットワークが提供されており、当該LTE無線ネットワーク自身に接続された無線Wi-FiルータによってWi-Fi無線ネットワークが提供されている場合であっても、これらは少なくともサブネットレベルでは別のネットワークとなる。
一方、ネットワークが異なると、一般にIPアドレスの体系(範囲)が異なることになる。このことは、無線端末が複数の無線通信システムを利用できるとしても、当該複数の無線通信システムに基づく複数のネットワークから当該無線端末に付与されるIPアドレスが異なることを意味する。
そして、IPアドレスが異なるということは、必然的に、TCPコネクションも異なることになる。上述したように、TCPコネクションはIPアドレスとTCPポート番号とにより特定されるためである。そのため、無線端末が複数の無線通信システムを用いて通信を行う場合、仮に通信相手が同一のサーバであっても、当該複数の無線通信システムに基づくTCPコネクションは別の物となる。
このことは、無線端末が複数の無線通信システムを用いて同一のサーバと通信を行う場合、当該複数の無線通信システムに基づく通信が、異なる複数の通信系列として管理されることを意味する。上述したように、一般的には装置内では複数のTCPコネクションを別個の通信系列として独立に管理するためである。
そのため、例えば、無線端末とサーバ間の通信系列を、異なる無線通信システム間のハンドオーバを行って引き継がせるようなことは、通常のTCPの枠組みにおいては困難であることになる(ハンドオーバの本来の意味が「引き渡す」であることに鑑みれば、これでは異種無線通信システム間ハンドオーバとしては本質的に不完全であると言える)。また、例えば、無線端末とサーバ間の通信系列を、無線端末が備える複数の無線通信システムを併用して分散させるようなことも、通常のTCPの枠組みにおいては原理的に困難であることになる。その理由は、TCPにおいては、複数の無線通信システムに基づくTCPコネクションは異なるものとして管理されるためである。先に述べた通り、このような場合には、異なるコネクション間において、受信側でパケットの順序は保証されない。そのため、複数のTCPコネクションに係る複数の通信系列を、受信側が順序整列を行いつつ統合するのは、通常のTCPには困難なのである。
以上で説明したように、複数の無線通信システムを利用可能な無線端末がTCP/IPを用いてデータ通信を行う場合、当該複数の無線通信システムに基づく複数のTCPコネクションの独立性により、種々の不都合が発生しうる。これが、前述した第1の問題である。
これに対し、近年では、TCPの上位プロトコルであるMPTCP(Multipath TCP)をサポートした無線端末がリリースされ始めている。以下では、このような無線端末が、前述した第1の問題を解決することができることを説明する。
MPTCPは、2013年1月にIETF(Internet Engineering Task Force)において策定された比較的新しいプロトコルである。端的に言えば、MPTCPは、マルチパス、言い換えれば、複数のTCPコネクションを束ねて取り扱うためのプロトコルであると言える。
MPTCPは、下位プロトコルである従来のTCPを前提とし、複数のTCPコネクションを統合するための機能を有する。これは、複数のTCPコネクションを含む単一のMPTCPコネクションにおいて、当該複数のTCPコネクションで送受信されるパケットに対して一元化された(統一的な)シーケンス番号が付与されることによって実現される。これにより、複数のTCPコネクションに係る複数の通信系列を、受信側が順序整列を行いつつ統合することが可能となるのである。
ここで、前述したように、MPTCPは、従来のTCPを前提としたプロトコルであることに留意されたい。このことは、たとえMPTCPが使用されたとしても、当該MPTCPの裏で、従来のTCPがありのままに動作することを意味する。そのため、例えば、MPTCPコネクションにおいて一元化されたシーケンス番号が付与されるからといって、当該MPTCPコネクションに含まれる複数のTCPコネクションのそれぞれにおいて(従来のTCPにおける)個別のシーケンス番号が付与されないわけではないことになる。
さて、無線端末がMPTCPの機能を利用するためには、当該無線端末においてMPTCPがサポートされているのみでは不十分であり、例えば、当該無線端末の通信相手となる装置(サーバ等)においてもサポートされている必要がある。また、仮に通信相手となる装置においてサポートされていなくとも、無線端末とその通信相手との間のいずれか1つの中継装置等においてMPTCPがサポートされていれば、無線端末はMPTCPの機能を利用することができる。このような中継装置としては、例えばLTEのコアネットワークであるEPC(Evolved Packet Core)におけるPDN-GW(Packet Data Network Gateway)を挙げることができる。
このように、無線端末がMPTCPの機能を利用する場合、通信相手との間の1つの装置においてMPTCPがサポートされていればよい。また、前述したように、MPTCPは従来のTCPを前提としたプロトコルであり、このことは、MPTCPがTCPに手を加えないプロトコルであることを意味する。そのため、MPTCPには、既存のネットワークに対する最小限の改変によって導入することができるという利点もある。
なお、MPTCPの枠組みにおいては、TCPコネクションのことをサブフローと称する場合がある。また、TCPコネクションが付与する(従来のTCPにおける)シーケンス番号をサブフローシーケンス番号(SSN: Subflow Sequence Number)と称する場合がある。これに対し、MPTCPコネクションが付与する一元化されたシーケンス番号をデータシーケンス番号(DSN: Data Sequence Number)と称する場合がある。
以上で説明したMPTCPによれば、従来のTCPにおける第1の問題(上述)を解決することが可能となる。既に述べた通り、MPTCPによれば、複数のTCPコネクションに係る複数の通信系列を、受信側が順序整列を行いつつ統合することが可能となる。そのため、複数の無線通信システムを利用可能な無線端末がTCP/IPを用いてデータ通信を行う場合、当該複数の無線通信システムに基づく複数のTCPコネクションを、単一のMPTCPコネクションとして一元的に管理することができる。
これにより、複数の無線通信システムを利用可能な無線端末がTCP/IPを用いてデータ通信を行う場合であっても、複数のTCPコネクションの独立性に伴う種々の不都合が解消される。例えば、無線端末とサーバ間の通信系列を、異なる無線通信システム間のハンドオーバを行って引き継がせるようなことも、MPTCPにより実現することができる。すなわち、MPTCPを用いることで、本来の異種無線通信システム間ハンドオーバを実現することが可能となる。また、無線端末とサーバ間の通信系列を、無線端末が備える複数の無線通信システムを併用して分散させるようなことも、MPTCPにより実現することができる。
したがって、MPTCPによれば、上述した第1の問題が解決される。これにより、複数の無線通信システムを利用可能な無線端末がTCP/IPを用いてデータ通信を行う場合において、特段の不都合は無くなったかのようにも思われる。しかしながら、たとえMPTCPを用いても解消されない第2の問題が存在するというのが、本願発明者の主張である。この第2の問題は、本願発明者によって見出されたものである。
以下では、前述した第2の問題を説明するための準備として、TCPにおけるパラメータであるウインドウサイズ、及び、TCPの輻輳制御について順に説明する。
冒頭で述べた通り、TCPは、通信の信頼性を確保するための種々の制御を行う。このような制御の一つに再送制御がある。いま、例えば無線端末がデータパケット(HTTPリクエスト等)をサーバに送信する場合を考える。このとき、サーバが無線端末からデータパケットの受信に成功した場合、当該サーバは当該無線端末に対し、受信成功を示す制御情報であるACK(Acknowledgement)パケットを送信する。もし無線端末がACKパケットを受信した場合、無線端末は必要に応じて他のデータパケットをサーバに送信する。一方、もし無線端末が所定時間内にACKパケットを受信しなかった場合、サーバがデータパケットの受信に失敗(すなわち、パケットロスが発生)したものとして、無線端末は当該データパケットをサーバに再送する。これにより、無線端末はサーバに対してデータパケットを確実に受信させることが可能となる。これがTCPにおける再送制御の概要である。
次に、無線端末がサーバに対して大きなサイズのデータ(動画ファイル等)を送りたい状況を考える。TCPにおいては、パケット1個当たりで送信できるデータ量(バイト数)であるMSS(Maximum Segment Size)が決まっているため、大きなサイズのデータはMSSに応じて分割されて送信される。いま、端末はN個のデータパケットをサーバに送信したいものとする。
このとき、1つ目のデータパケットを送信→1つ目のデータパケットに対するACKパケットを受信→2つ目のデータパケットを送信→2つ目のデータパケットに対するACKパケットを受信→・・・という手順を仮に踏むと、全てのデータパケットの送信を完了するまでに少なくともN×RTTの時間が掛かる。ここで、RTT(Round Trip Time)は、2つの装置間を信号(パケット)が往復するのに掛かる時間である。
このように、N個のデータパケットを一つ一つ順番に送信するのは、非効率と考えられる。かといって、例えばN個のデータパケットを1度に送信すると、受信側のバッファ溢れ等によりデータパケットが破棄されることに伴い、多くの再送が発生することも考えられ、これも非効率であると言える。
そこで、TCPにおいては、相手からのACKを待たずに送信可能なデータパケット(ウインドウまたは輻輳ウインドウと呼ばれる)のサイズがパラメータとして定められている。このパラメータをウインドウサイズと呼ぶ。ウインドウサイズは、TCPコネクション確立時の所定のやり取り(手順)である3ウェイハンドシェイク(three-way handshaking)において、通信相手からの要請に応じて値(正確には、後述するように、上限値)が設定される。なお、TCPにおけるウインドウサイズに基づく上記の制御はウインドウ制御と呼ばれることがある。
ここで、上記の説明では単純化のためデータパケットの数を用いたが、現実のTCPのウインドウサイズは、正確には、データパケットの数ではなくデータパケット(セグメント)の合計バイト数により規定されることに留意されたい。すなわち、無線端末に設定されたウインドウサイズの値がCWNDの場合、当該無線端末は合計CWNDバイトまでのデータパケットを、当該サーバからのACKパケットを待たずに送信できるのである。なお、一般にCWNDは、上述したMSSの整数倍に設定される。これにより、CWND=n×MSS(nは正整数)とすれば、CWNDバイトのデータはMSSバイトずつのn個のデータパケットとして送信されることになる。
ウインドウサイズが適切な値に設定されることにより、データパケットをある程度まとめて送信することができるようになる。また、上述したようにウインドウサイズは通信相手の要請に応じて設定されるため、大きすぎる値に設定されることにより、上述したような通信相手のバッファ溢れを誘発する恐れも少ない。したがって、ウインドウサイズによれば、TCP通信の効率を適切に確保することができるものと考えられる。
ただし、無線端末がサーバに対して大きなサイズのデータを送りたい場合に、常にウインドウサイズ分のデータパケットを送信するのは支障がある場合もあると考えられる。例えば、無線端末とサーバの間のネットワークにおいて輻輳が発生しており、両者の間のいずれかの中継装置においてバッファ溢れに伴うパケット破棄が発生する可能性がある。ウインドウサイズは通信相手の要請に応じて設定されるが、中継装置の事情までは考慮されないためである。中継装置においてパケット破棄が発生すると、通信相手(サーバ等)においてパケット破棄が発生した場合と同様に、多くの再送が発生しうるため、効率的なTCP通信が阻害されることになる。
そこで、TCPは、このような不都合を回避すべく、輻輳制御の機能を備えている。
今、無線端末がサーバに対してサイズの大きなデータを送りたい場合であり、当該無線端末と当該サーバとの間にTCPコネクションが確立されていない状況を考える。このような状況において、まず無線端末とサーバとは上述した3ウェイハンドシェイクを行い、TCPコネクションを確立(開始)する。このとき、上述したように、サーバからの要請に応じて、無線端末においてTCPのパラメータであるウインドウサイズが設定される。ここで無線端末において設定されたウインドウサイズをCWNDとする(なお、ウインドウサイズは相互に設定されるものであり、端末からの要請に応じてサーバにおいても設定される)。
このとき、通信相手であるサーバの都合のみを考慮すれば、3ウェイハンドシェイクにおいて設定されたウインドウサイズの値に基づき、無線端末はCWNDバイトのデータをまとめて送信してもよいことになる。しかしながら、上述したようなネットワーク上の輻輳の可能性に鑑み、無線端末はウインドウサイズを初めからCWNDバイトに設定することはせず、当初はウインドウサイズの調節(加減)を行う。
具体的には、例えば、無線端末はウインドウサイズの初期値を1×MSSとし、サイズがMSSバイトの1個のデータパケットをサーバに送信する。そして、サーバからACKパケットを受信した場合、無線端末はウインドウサイズを2倍にし、サイズがMSSバイトの2個のデータパケットをサーバに送信する。さらに、サーバからACKパケットを受信した場合、無線端末はさらにウインドウサイズを2倍にし、サイズがMSSバイトの4個のデータパケットをサーバに送信する。これをさらに繰り返すことで、ウインドウサイズが4×MSS→8×MSS→・・・と順次更新され、無線端末はサーバにまとめて送信するデータ量を指数関数的に増やしていくのである。
このように、TCPの輻輳制御においては、当初はウインドウサイズを指数関数的に、すなわち比較的急激に増加させる。その後、ウインドウサイズが所定の閾値に達すると、今度はウインドウサイズの増加のペースを緩める。これは、ウインドウサイズが一定以上に達すると、輻輳に基づくパケット破棄の恐れが高まることに配慮した措置であると言える。
具体的には、例えば、前述した所定の閾値が16×MSSである場合、ウインドウサイズが16×MSSバイトに達すると、無線端末はウインドウサイズをこれまでのように2倍とはせず、例えばウインドウサイズをMSSバイトだけ増やして17×MSSとし、サイズがMSSバイトの17個のデータパケットをサーバに送信する。その後は、無線端末はサーバからACKパケットを受信する毎に、ウインドウサイズが17×MSS→18×MSS→19×MSS→・・・と順次更新され、無線端末はサーバにまとめて送信するデータ量を線形的に増やしていくのである。
なお、上述したようにウインドウサイズの初期値を比較的小さい初期値に設定するとともに、その後はウインドウサイズを指数関数的に増加させる仕組みは、スロースタートと呼ばれる。スロースタートはTCPの輻輳制御を端的に示す用語として知られている。また、スロースタートに基づいてウインドウサイズを比較的急激に(指数関数的に)増加させる段階は、スロースタートフェーズと呼ばれる。これに対し、ウインドウサイズを比較的緩やかに(線形的に)増加させる段階は、輻輳回避フェーズと呼ばれる。
ところで、3ウェイハンドシェイクにおいて設定されたウインドウサイズの値であるCWNDは、実際には、ウインドウサイズの上限値となることに留意されたい。すなわち、上述した手順を繰り返すことにより、仮に事が順調に運べば、いずれウインドウサイズは、上限値であるCWNDバイトに達することになる。
ただし、事が順調に運ばない事態も想定される。例えば、スロースタートフェーズにおいて、ウインドウサイズが8×MSSであるときに、無線端末が当該ウインドウサイズに基づいてデータパケットをサーバに送信したところ、サーバから所定時間内にACKパケットを受信できなかったものとする(すなわち、パケットロスが発生)。この場合、例えば無線端末はウインドウサイズを半分の4×MSSとするとともに、(ウインドウサイズが前述した所定の閾値以下であっても)スロースタートフェーズから輻輳回避フェーズに移行する。そして、以降はウインドウサイズを線形的に比較的緩やかに増加させていくのである。
このようにすることで、無線端末とサーバの間で輻輳が発生していない状況においては、ウインドウサイズの上限値(3ウェイハンドシェイク時に設定された値であるCWND)に基づいてデータパケットの送信を行うことができる。一方、無線端末とサーバの間で輻輳が発生している状況においては、当該輻輳の程度に応じて、ウインドウサイズの値を調節することができる。これにより、状況に応じた、効率的なTCP通信を行うことが可能となる。
以上はTCPの輻輳制御の一例であるが、輻輳制御には様々な実装(アルゴリズム)が存在しており、上記の手順は一例に過ぎないことに留意されたい。例えば、上記の例ではサーバからACKパケットを受信しなかった場合にウインドウサイズを半分としているが、これを1まで減らすような実装も存在する。また、前述したRTT等に基づいてウインドウサイズを調節する実装も存在する。
ただし、TCPの輻輳制御のいずれの実装においても、TCPコネクションの確立時においてはウインドウサイズを比較的小さい初期値に設定するとともに、その後にパケットの送受信を繰り返すにつれてウインドウサイズの値を増加させる方向に順次更新する点は、変わりがない。これにより、TCPコネクションの開始時からある程度の時間を掛けてある程度のデータ通信を行うまでは、TCPのスループット(単位時間当たりのデータ転送量)は比較的低く抑制されることになる。TCP通信におけるこのような挙動は、前述したスロースタートによってもたらされるものであると考えられる。
さて、前置きが長くなったが、ここで、複数の無線通信システムを利用可能な無線端末がTCP/IPを用いてデータ通信を行う場合の検討に復帰する。このような場合においては、先に述べた通り、MPTCPを用いることで上述した第1の問題が解決される。しかしながら、たとえMPTCPを用いても解消されない第2の問題が存在することは前述した通りである。
以下では、この第2の問題について説明する。具体的には、ここでは、異なる無線通信システム間のハンドオーバ(異種無線通信システム間ハンドオーバ)について考える。既に述べたように、MPTCPを用いることで、本来の異種無線通信システム間ハンドオーバを実現することが可能となる。MPTCPによれば、ハンドオーバ元とハンドオーバ先とに対応する2つのTCPコネクションに係る複数の通信系列を、受信側が一元的に管理することができるためである。
しかしながら、先にも触れたように、MPTCPは、従来のTCPを前提としたプロトコルである。そして、このことは、たとえMPTCPが使用されたとしても、当該MPTCPの裏で、従来のTCPがありのままに動作することを意味している。
したがって、異種無線通信システム間ハンドオーバを行う場合、たとえMPTCPが使用されていたとしても、その配下ではTCPコネクションの切替えが発生することになる。すなわち、ハンドオーバ元の無線通信システムに基づくTCPコネクションが終了するとともに、ハンドオーバ先の無線通信システムに基づくTCPコネクションが新たに確立(開始)されることになる。
ここで、ハンドオーバ先のTCPコネクションは新たに確立したものであるため、前述した3ウェイハンドシェイクの手続きが必要となる。一般に3ウェイハンドシェイクには一定の時間が掛かることから、ハンドオーバ先のTCPコネクションにおいてデータパケットの送受信を開始するまでには一定のタイムラグ(遅延)が発生することになる。これにより、結局のところ、MPTCPコネクションが取り扱う一元的な通信系列においてもタイムラグが発生することになり、好ましくないと考えられる。
さらに大きな問題は、前述したスロースタートである。ハンドオーバ先に係るTCPコネクションは新たに確立したものであるため、3ウェイハンドシェイクの後に、TCPの輻輳制御によりウインドウサイズが比較的小さい初期値に設定される。そして、スロースタートの仕組みによって、TCPコネクションの開始時からある程度の時間を掛けてある程度のデータ通信を行うまでは、半ば強制的に、スループットが比較的低く抑えられる。
これにより、異種無線通信システム間ハンドオーバの前後でTCP通信のスループットが急落するとともに、その後のスループットの回復まで時間が掛かるという問題が発生する。仮に、ハンドオーバ元のTCPコネクションにおいてウインドウサイズの上限値かそれに近い値に基づいてTCP通信が行われていた場合においては、この問題の影響は一層大きなものとなる。
このように、異種無線通信システム間ハンドオーバを行う場合、TCPの輻輳制御におけるスロースタートにより、ハンドオーバ後のスループットを確保できない問題が発生する。これが、前述した第2の問題である。第2の問題は、第1の問題とは異なり、MPTCPによって解決できるものではないことは上述した通りである。
なお、上記の説明は、一例として、TCPおよびMPTCPに基づいて行ってきたが、所定の条件が揃えば、他のプロトコルにおいても当てはまるものであることに留意されたい。
以上をまとめると、無線端末とサーバ等がTCP通信を行っている場合であって、異種無線通信システム間ハンドオーバを行う場合、ハンドオーバ前後の2つのTCPコネクションの通信系列を一元的に扱うことができないという問題があった。この問題は近年登場したMPTCPによって解決されたが、それでも尚、TCPの輻輳制御におけるスロースタートにより、ハンドオーバ後のスループットを確保できないという別の問題が未だに解決されずに残されている。冒頭で述べた通り、この問題は、本願発明者が従来技術を仔細に検討した結果として新たに見出したものであり、従来は知られていなかったものである。
以下では、この問題を解決する各実施形態を順に説明する。
[第1実施形態]
第1実施形態で開示の通信装置は、通信装置(例えば、サーバ)であって、通信を行う通信部と、該通信装置が通信先装置との間で設定したコネクション(例えば、TCPコネクション)においてデータ通信を行う第1通信プロトコル(例えば、TCP)であって、該コネクションの該第1通信プロトコル層における単位時間当たりのデータ転送量に影響を与える所定パラメータ(例えば、ウインドウサイズ)が該コネクションの開始時に所定値に設定され、該コネクションにおいて通信を行うにつれて該所定パラメータが該単位時間当たりのデータ転送量を増加させる方向に順次更新される該第1通信プロトコルに基づいて前記通信部を用いて行うデータ通信を制御する制御部と、を備え、前記制御部は、通信先装置である無線通信装置(例えば、無線端末)との間で前記第1通信プロトコルに基づく第1コネクションが第1無線通信方式(例えば、LTE)に基づく第1無線ネットワークを経由して設定されている場合であって、該無線通信装置との間で該第1通信プロトコルに基づく第2コネクションを第2無線通信方式(例えば、Wi-Fi)に基づく第2無線ネットワークを経由して開始する場合に、該第1コネクションを終了させることなく該第2コネクションを開始し、前記第1コネクションを終了させるか否かの判断は、前記第1通信プロトコルにおける前記第2コネクションの単位時間当たりのデータ転送量に関連する指標値(例えば、スループット)に基づいて行われる。
第1実施形態の技術的意義を説明する。上述したように、従来技術によれば、異種無線通信システム間ハンドオーバを行う場合、ハンドオーバ後のスループットを確保できない問題が発生する。この問題の主たる原因は、詰まるところ、異種無線通信システム間ハンドオーバを行う場合にTCPコネクションを即座に切替えてしまう点にあると考えられる。
すなわち、従来技術によれば、異種無線通信システム間ハンドオーバの際にTCPコネクションが切替わるため、ハンドオーバ先のTCPコネクションが開始されるのとほぼ同時にハンドオーバ元のTCPコネクションが終了されてしまうことになる。その際、ハンドオーバ先のTCPコネクションは新たに開始されるため、TCPのスロースタートに基づき、当該コネクションの当初のスループットは強制的に比較的低い値に抑制されるとともに、その後のスループットの上昇に時間が掛かることは避けられない。一方、これと引き換えに終了されてしまったハンドオーバ元のTCPコネクションのスループットは、輻輳が発生している場合等を除けば、比較的高い値であることが想定される。そのため、ハンドオーバ前後でスループットの急落が発生するとともに、その回復に時間が掛かることになり、前述した問題が生ずるものと考えられる。
そこで、第1実施形態においては、まず、異種無線通信システム間のハンドオーバを行う際に、TCPコネクションを即座に切り替えることはせず、ハンドオーバ元のTCPコネクションを終了させることなくハンドオーバ先のTCPコネクションを開始する。換言すれば、ハンドオーバ元のTCPコネクションを維持したまま、ハンドオーバ先のTCPコネクションを確立する。さらに、第1実施形態においては、少なくともハンドオーバ先のTCPコネクションにおいて一定のスループットが確保されたか否かに基づいて、ハンドオーバ元のTCPコネクションを終了させる。より具体的には、例えば、ハンドオーバ先のTCPコネクションのスループットが所定値に達した場合に、ハンドオーバ元のTCPコネクションを終了させる。
これにより、第1実施形態によれば、異種無線通信システム間のハンドオーバを行う際に、一時的に、ハンドオーバ元とハンドオーバ先とのそれぞれのTCPコネクションを同時に(並列に)使用することができる。このとき、ハンドオーバ先のTCPコネクションにおいて当初のスループットが比較的低い値に抑制されるのは既に述べた通りであるが、その期間においても、スループットが比較的高いハンドオーバ元のTCPコネクションを用いることができるため、従来技術のように、ハンドオーバ先のTCPコネクションを開始するタイミングにおける通信装置間のスループットの落ち込みを回避することが可能となる。なお、ここでの装置間のスループットとは、個々のTCPコネクションにおけるスループットではなく、それらを統合したMPTCP層におけるスループットであることに留意されたい。
さらに、本願の第1実施形態によれば、例えばハンドオーバ先のTCPコネクションにおけるスループットがスロースタートフェーズを経て所定値に達してから、ハンドオーバ元のTCPコネクションを終了させることができる。そして、その後は、残されたハンドオーバ元のTCPコネクションにより、当該TCPコネクションの開始時と比較して高いスループットでTCP通信を行うことができる。これにより、ハンドオーバ元のTCPコネクションを終了させることに伴うスループットの落ち込みを回避することが可能となる。
したがって、第1実施形態によれば、前述した従来技術の問題を解決することができる。すなわち、第1実施形態によれば、異種無線通信システム間ハンドオーバの前後でTCP通信のスループットが急落するとともに、その後のスループットの回復まで時間が掛かるという問題を回避することができる。これにより、異種無線通信システム間ハンドオーバを行う場合において、ハンドオーバ後のスループットを確保することが可能となる。
なお、上記の説明は、一例として、TCPおよびMPTCPに基づいて行ってきたが、所定の条件が揃えば、本願発明は他のプロトコルに対しても適用可能であることに留意されたい。
また、上記の説明は、一例として、LTEに基づくセルラーネットワークからWi-Fiに基づく無線LANネットワークへの異種無線通信システム間ハンドオーバに基づいて行ってきたが、所定の条件が揃えば、本願発明は他の異種無線通信システム間ハンドオーバに対しても適用可能であることに留意されたい。
以上をまとめると、第1実施形態においては、無線端末が異種無線通信システム間のハンドオーバを行う際に、TCPコネクションを即座に切り替えることはせず、ハンドオーバ元のTCPコネクションを終了させることなくハンドオーバ先のTCPコネクションを開始する。さらに、第1実施形態においては、少なくともハンドオーバ先のTCPコネクションにおいて一定のスループットが確保されたか否かに基づいて、ハンドオーバ元のTCPコネクションを終了させる。これにより、第1実施形態によれば、異種無線通信システム間ハンドオーバを行う場合において、ハンドオーバ後のスループットを確保できないという従来技術の問題を解決することが可能となる。
[第2実施形態]
以下では図1に基づいて第2実施形態を説明する。第2実施形態は、第1実施形態をTCPとMPTCPとを使用する無線端末に具体的に適用した場合に相当する。しかしながら、本願発明はこれらの通信プロトコルに限定されるわけではなく、他の通信プロトコルに基づく無線通信システムに対しても同様に適用可能であることに留意されたい。
また、第2実施形態においては、複数の無線通信システム(無線通信方式)の具体例として、LTEとWi-Fiとを利用可能な無線端末を想定して説明を行う。しかしながら、これらは一例に過ぎず、他の複数の無線通信システムに対しても同様に適用可能であることは言うまでもない。ただし、本願が扱う複数の無線通信システムは、既に述べた通り、無線端末に付与されるIPアドレスが異なることを前提とする点には留意されたい。
なお、本願発明は複数の無線通信システムを利用可能な無線端末を前提としており、このような無線端末は、当該複数の無線通信システムの一方のみを単独で使用したり、併用したりすることができることは前述した通りである。ここで、これらの2つの使用態様(単独使用または併用)は時と場合に応じて選択的に設定されるものであるが、本実施形態においては、無線端末において「単独使用」が選択されているものとする。ここでの選択は、例えばユーザによる無線端末における手動の設定に基づいて行われてもよいし、例えば無線端末のバッテリー残量が比較的多い場合は自律的に併用を選択し、比較的少ない場合は単独使用を自律的に選択するようにすることもできる。
図1は、第2実施形態に係る処理シーケンスを示す図である。
図1のS101で無線端末10は、LTE無線ネットワークに接続する。S101は、例えば無線端末10が起動(電源オン)したことを契機として行われる。S101により、無線端末10はLTEの無線基地局30a(以下では便宜上、第1無線基地局30aと称する場合がある)を介して、LTE無線ネットワークを用いてMPTCP通信やTCP通信を行えるようになる。なお、LTEの無線基地局は、一般にeNB(evolved Node B)と呼ばれる。S101の具体的な処理手順については、LTEにおける既存の接続手順(プロトコル仕様)に従えばよいため、ここでは説明を割愛する。
図1のS102で無線端末10とサーバ20とは、S101で接続したLTE無線ネットワークを経由して、MPTCPコネクションおよび当該MPTCPコネクションに属するTCPコネクションを確立(開始)する。S102は、例えば無線端末10においてサーバ20へのアクセス要求(HTTPリクエスト送信要求等)が発生したことを契機として行われる。S102以降は、ここで確立したMPTCPコネクションおよびTCPコネクションに基づいて、無線端末10とサーバ20とはデータ通信(HTTPリクエストやHTTPレスポンスであるWebページの送受信等)を適宜行う。S102の具体的な処理手順については、MPTCPおよびTCPにおける既存のコネクション確立手順(プロトコル仕様)に従えばよいため、ここでは説明を割愛する。
図1のS103で無線端末10は、Wi-Fi無線ネットワークに接続する。S103は、例えば無線端末10がWi-Fi無線ネットワークのサービス提供エリアに入ったことを契機として行われる。ここで、無線端末10は、Wi-Fiアクセスポイント30b(以下では便宜上、第2無線基地局30bと称する場合がある)からの所定の信号を受信することにより、Wi-Fi無線ネットワークのサービス提供エリアに入ったことを検出できる。S103により、無線端末10はWi-Fiアクセスポイント30bを介して、Wi-Fi無線ネットワークを用いてMPTCP通信やTCP通信を行えるようになる。S103の具体的な処理手順については、Wi-Fiにおける既存の接続手順(プロトコル仕様)に従えばよいため、ここでは説明を割愛する。
ここで、前述した通り、本実施形態に係る無線端末10は、複数の無線通信システムの一方のみを単独使用するように設定が行われていることを前提としている。しかしながら、S103において無線端末10は、S101で接続したLTE無線ネットワークを切断することなく、Wi-Fi無線ネットワークに接続する点に留意されたい。これにより、複数の無線通信システムを切替える際に、一時的に両者を並列に(あるいは同時に)使用することができるのである。
図1のS104で無線端末10とサーバ20とは、S102で確立したMPTCPコネクションの配下において、S103で接続したWi-Fi無線ネットワークを経由する新たなTCPコネクションを確立する。すなわち、無線端末10とサーバ20は、S102で確立したMTPCTコネクションに対し、Wi-Fi無線ネットワークを経由するTCPコネクションを追加する。S104の具体的な処理手順については、MPTCPおよびTCPにおける既存技術(仕様)に従えばよいため、ここでは説明を割愛する。
ここで、S104において無線端末10は、S102で確立したLTE無線ネットワークを経由するTCPコネクションを終了することなく、Wi-Fi無線ネットワークを経由するTCPコネクションを確立する点に留意されたい。これにより、S104以降における無線端末10とサーバ20は、1つのMPTCPコネクションに属する2つのTCPコネクションを並列に(あるいは同時に)使用して、データ通信を行うことができるようになるのである。このとき、データの送信装置のMPTCPにおいては、複数のTCPコネクションに跨って送信されるデータパケットに対して一元的なシーケンス番号であるDSN(上述)を付与するとともに、データの受信装置のMPTCPにおいては、当該DSN(上述)に基づいて複数のTCPコネクションに跨って受信されるデータパケットを順序整列することができることは、前述した通りである。
図1のS105でサーバ20は、少なくともWi-Fi無線ネットワーク経由のTCPコネクションにおけるスループットを測定(算出)する。スループットの算出は、例えばCWND/SRTT(バイト/秒)により行うことができる。ここで、CWNDは、前述したウインドウサイズである。また、SRTT(Smooth Round Trip Time)は、前述したRTTの移動平均値であり、具体的にはSRTTn+1=α×RTTn+1+(1−α)×SRTTnにより求めることができる。ここで、αは0から1の間の所定値であり、SRTT0=RTT0とする。なお、スループットの算出においては、SRTTを用いずに、例えば直前のRTTを用いることとしてもよい。
S105のスループット測定を行うタイミングとしては、例えば、Wi-Fi無線ネットワーク経由のTCPコネクションが、前述したスロースタートフェーズから輻輳回避フェーズに移行したタイミングとすることができる。前述したように、輻輳回避フェーズではウインドウサイズの増加が比較的緩やかなため、スループットの上昇も比較的緩やかになる(すなわち、スループットが比較的安定する)からである。ここで、TCPコネクションの輻輳制御におけるフェーズの移行の条件は、ウインドウサイズが所定の閾値に達することか、あるいは、パケットロスが発生することである点は前述した通りである。なお、S105のスループット測定を、例えばWi-Fi無線ネットワーク経由のTCPコネクションの確立から所定時間経過後に行うこととしてもよい。
図1のS106でサーバ20は、S105で測定した少なくともWi-Fi無線ネットワーク経由のTCPコネクションにおけるスループットに基づいて、LTE無線ネットワーク経由のTCPコネクションを終了させるか否かを判断(決定)する。例えば、サーバ20は、Wi-Fi無線ネットワーク経由のTCPコネクションにおけるスループットが所定値以上の場合に、LTE無線ネットワーク経由のコネクションを終了させる旨の決定を行うことができる。これに対し、サーバ20は、Wi-Fi無線ネットワーク経由のTCPコネクションにおけるスループットが所定値未満の場合に、LTE無線ネットワーク経由のTCPコネクションを継続する決定を行うことができる。これにより、新たに確立したWi-Fi無線ネットワーク経由のTCPコネクションにおけるスループットを確保することが可能となる。
ここでは、S106においてサーバ20が、Wi-Fi無線ネットワーク経由のTCPコネクションを終了させる旨の決定を行ったものとする。なお、S105〜S106の処理は、S106においてTCPコネクション終了の決定を行うまで、周期的に繰り返し行うこととしてもよい。
図1のS107で無線端末10とサーバ20とは、S106の決定に基づき、TCPコネクションを終了させる。例えば、S106でLTE無線ネットワーク経由のTCPコネクションを終了させる決定を行った場合には、S107で無線端末10とサーバ20とは当該コネクションを終了させる。これにより、無線端末10とサーバ20との間のMPTCPコネクションに属するTCPコネクションは、Wi-Fi無線ネットワーク経由の1つのみとなる。S107の具体的な処理手順については、TCPにおける既存のコネクション終了手順(プロトコル仕様)に従えばよいため、ここでは説明を割愛する。
図1のS108で無線端末10は、LTE無線ネットワークとの接続を解消する。すなわち、無線端末10はLTE無線ネットワークから離脱する。これにより、無線端末10が接続する無線ネットワークは、Wi-Fi無線ネットワークの1つのみとなる。換言すれば、これにより、無線端末10において、LTE無線ネットワークからWi-Fi無線ネットワークへの異種無線通信システム間ハンドオーバが完了する。S108の具体的な処理手順については、LTEにおける既存の接続解消手順(プロトコル仕様)に従えばよいため、ここでは説明を割愛する。
第2実施形態における処理シーケンスの説明は以上であるが、以下ではこの処理シーケンスにおける各種の変形例を説明する。これらは互いに組み合わせることもできることは言うまでもない。
まず、上述したS105〜S108の処理は一例であり、他にも例えば次のような処理を行うこともできる。まず、S105において、Wi-Fi無線ネットワーク経由のTCPコネクションにおけるスループットに加えて、LTE無線ネットワーク経由のTCPコネクションにおけるスループットの測定も行う。そして、S106において、S105で測定した2つのスループットを比較し、スループットが低い方のTCPコネクションを終了させる決定を行う。さらに、S106の決定に基づいて、S107においていずれか一方のTCPコネクションを終了させるとともに、S108においていずれか一方の無線ネットワークとの接続を解消する。
こうすることにより、LTE無線ネットワークに接続する無線端末10がWi-Fi無線ネットワークのサービス提供エリアに入った場合に、Wi-Fi無線ネットワークのスループットが確保できないのにもかかわらず、Wi-Fi無線ネットワークにハンドオーバしてしまうような事態を回避することが可能となる。
次に、上述した処理シーケンスにおいては、サーバ20がMPTCPを解釈できることを前提として、無線端末10とサーバ20との間でMPTCP通信を行う場合を示している。しかしながら、無線端末10と中継装置との間でMPTCP通信を行う場合においても、これと同様に実現することができる。ここで、中継装置としては、無線端末10とサーバ20との間に位置し、MPTCPを解釈することができるものであれば何でもよい。この場合、中継装置は、無線端末10との間ではMPTCPコネクションを用いるとともにサーバ20との間では(MPTCPコネクションは用いずに)TCPコネクションを用いることで、当該無線端末10と当該サーバ20の間のデータ通信を中継することになる。例えば、上述したPDN-GWをこのような中継装置として動作させることができる。
また、上述したS105〜S106においては、サーバ20がスループットの測定を行うとともに、TCPコネクションの終了の決定を行っている。しかしながら、これらの処理を例えば無線端末10が行うことも可能である。
さらに、上述したS105〜S106においては、TCPコネクションの終了の決定における指標として、TCPコネクションにおけるスループットを用いている。しかしながら、この指標として、TCPコネクションのスループットに関連する(影響を与える)別のパラメータを用いてもよい。一例としては、この指標として、前述したウインドウサイズを用いることも可能である。
最後に、図1の処理シーケンスは、LTE無線ネットワークからWi-Fi無線ネットワークへの異種無線通信システム間ハンドオーバを行う場合を示しているが、これと同様にして、Wi-Fi無線ネットワークからLTE無線ネットワークへの異種無線通信システム間ハンドオーバを行うこともできることは言うまでもない。その場合、Wi-Fi無線ネットワークに接続している無線端末10がLTE無線ネットワークへの接続を行う処理(S103に対応)の契機は、例えば無線端末10がWi-Fi無線ネットワークのサービス提供エリアから外れたこと等となる。無線端末10は、Wi-Fiアクセスポイントからの所定の信号を受信できなくなる(あるいは受信電力が所定値未満となる)ことにより、Wi-Fi無線ネットワークのサービス提供エリアから外れたことを検出できる。
以上で示した第2実施形態によれば、第1実施形態と同様に、無線端末10が異種無線通信システム間のハンドオーバを行う際に、TCPコネクションを即座に切り替えることはせず、ハンドオーバ元のTCPコネクションを終了させることなくハンドオーバ先のTCPコネクションを開始する。さらに、第2実施形態においては、少なくともハンドオーバ先のTCPコネクションにおいて一定のスループットが確保されたか否かに基づいて、ハンドオーバ元のTCPコネクションを終了させる。これにより、第2実施形態によれば、異種無線通信システム間ハンドオーバを行う場合において、ハンドオーバ後のスループットを確保できないという従来技術の問題を解決することが可能となる。
[第3実施形態]
以下では図2に基づいて第3実施形態を説明する。第3実施形態は第2実施形態の変形例に相当する。端的に延べれば、第3実施形態は、同一のデータに基づいて生成され、同一のDSNを有するMPTCPパケットを、複数のTCPコネクションのそれぞれにおいて重複して送受信することにより、受信装置におけるバッファ溢れに伴う諸問題を解決するものである。
第3実施形態は、上述した第2実施形態と共通する点が多い。以下では第3実施形態において第2実施形態と異なる点を中心に説明する。
上述した第2実施形態においては、図1のS104〜S107において、MPTCPコネクションに属する2つのTCPコネクションを並列に(同時に)用いて無線端末10とサーバ20との間でデータ通信を行う。このとき、上述したように、データの受信装置のMPTCPにおいては、MPTCPがパケットに対して一元的に付与するシーケンス番号であるDSN(上述)に基づいて、複数のTCPコネクションに跨って受信されるデータパケットを順序整列することができる。
ここで、受信装置のMPTCPは、受信したデータパケットから取り出したデータを、所定のサイクル(周期的または非周期的な間隔)で、当該データを使用するプログラム(アプリケーションソフトウェア)に引き渡す。しかしながら、あるサイクルで受信したデータパケットに欠落がある場合(すなわち、当該サイクルで受信したデータパケットのDSNに欠番がある場合)、受信装置は、当該サイクルにおけるデータパケットの順序整列およびプログラムへの引渡しを行わない。そして、欠落が解消するまでの間、当該サイクルにおけるデータパケット及びその後のサイクルに受信されたデータパケットをバッファに保持し続ける。これにより、データを使用するプログラムが、ネットワーク上のデータの欠落を意識しなくてもデータを利用できるのである。
しかしながら、MPTCPにおけるこのような仕様は、仮にMPTCPに属する複数のTCPコネクションの間で例えばスループット差(あるいは遅延差)が比較的大きい場合、不都合が生じる可能性がある。例えば、遅い方のTCPコネクションにおいて送信されたデータパケットのうち1つが大きく遅れて到着する場合等において、その1つのために多くのデータパケットが受信装置のバッファに保持されることになり、バッファ溢れを起こし得ると考えられる。そして、バッファ溢れが発生すると、その後のデータの受信が行えなくなるのはもちろんのこと、それに伴いデータの送信も思い通りにできなくなる場合も多い(一般に、クライアント/サーバ20プリケーションは、相手から受信したデータに基づいて、次に送信するデータを決定するためである)。その結果、装置間のスループット(MPTCPのスループット)が劣化する恐れがある。また、データの送信が行えなくなるとウインドウサイズが増加しなくなることから、第2実施形態において2つの無線通信システムを併用する時間が増加し、端末のバッテリー消費に影響を与える問題もある。さらに、そもそもデータがプログラムに引き渡されるのが遅れることにより、プログラムによるデータ処理に支障をきたす恐れもある。
かといって、上記の不都合を回避すべく、MPTCPに属する複数のTCPコネクションのうちで遅い方のTCPコネクションを用いてデータ通信を行わないようにすると、別の不都合が生じる。多くの場合において、遅いTCPコネクションに該当するのは後から確立したTCPコネクション(例えば図1においてはWi-Fi無線ネットワーク経由の方)であるところ、当該TCPコネクションを用いてデータ通信を行わないと、当該TCPコネクションのウインドウサイズが増加せず、当該TCPコネクションのスループットがいつまで経っても上昇しないことになる。これでは本末転倒であると考えられる。
そこで、第3実施形態においては、MPTCPコネクションに属する2つのTCPコネクションを並列に用いる間、同一のデータに基づいて生成され、同一のDSNを有するMPTCPパケットを、2つのTCPコネクションのそれぞれで重複して送受信することとする。そして、受信装置においては、重複して受信されたパケットのうちで最初に受信したものを用いて順序整列およびプログラムへの引渡しを行うとともに、後から受信したものは破棄することとする。
これにより、第3実施形態によれば、たとえMPTCPに属する複数のTCPコネクションの間で例えばスループット差が比較的大きい場合であっても、速い方のTCPコネクションにより送受信されたデータパケットを用いて受信装置が順序整列およびプログラムへの引渡しを行えるため、上述した受信装置におけるバッファ保持時間の増加に伴う諸問題を解決することができる。また、第3実施形態によれば、遅い方のTCPコネクションにおいてもデータパケットの送受信は行われるため、上述した遅い方のTCPコネクションを使用しないことによる問題も解決される。これにより、第3実施形態によれば、第2実施形態をより効果的に実現できると考えられる。
なお、上記の説明においては、同一のデータに基づいて生成され、同一のDSNを有するMPTCPパケットを、2つのTCPコネクションのそれぞれで重複して送受信する場合を述べたが、ダミーパケットを送受信することでこれとほぼ同様の効果を得ることも可能である。すなわち、送信装置は、2つのTCPコネクションのうちでスループットが高い方において通常のデータパケットを順次送信するとともに、スループットが低い方においてはダミーパケット(空列や乱数列でよい)を送信する。そして受信装置はダミーパケットを廃棄する。これにより、上述したパケットを重複して送るのとほぼ同様の効果が得られる。
図2に基づいて、第3実施形態におけるデータパケットの送信装置の処理を説明する。図2の処理フローは、MPTCPコネクションに属する2つのTCPコネクションのうち、スループットが相対的に低い方、すなわち、一般的には後から確立された方のTCPコネクション(便宜上、第2TCPコネクションと称する)において実行される。なお、スループットが比較的高い方、すなわち、一般的には先に確立された方のTCPコネクション(便宜上、第1TCPコネクションと称する)においては、図2の処理フローではなく、データパケットが送信されるたびにDSNがインクリメントされるような一般的な送信処理が行われる。
図2は、送信装置(例えば無線端末10やサーバ20等)において送信すべきデータが存在していることを前提としている。送信データとしては、例えば、無線端末10中で動作するWebブラウザ(プログラム)によって生成されるHTTPリクエストや、サーバ20中で動作するWebサーバ20(プログラム)によって生成されるHTTPレスポンス(Webページ)等が挙げられる。
図2のS201で送信装置は、第2TCPコネクションのウインドウ(輻輳ウインドウ)に空きがあるかを判定する。これは、第2TCPコネクションにおいてデータが送信可能か否かを判定していることを意味する。前述したように、TCPコネクションのウインドウに空きがある場合、当該TCPコネクションにおいて、ウインドウサイズを上限としてデータが送信可能であるためである。
S201でウインドウに空きがある場合には、S202に進む。一方、S201でウインドウに空きがない場合は、例えば所定時間後にS201の処理を再度行う。
図2のS202で送信装置は、MPTCPコネクションに属する2つのTCPコネクションのDSNを比較する。これは、具体的には次のようにして行う。まず、送信装置は、第2TCPコネクションにおいて最後に送信完了したデータパケットのDSN(便宜上、第2DSNと称する)を取得する。ここで「送信完了」とは、データパケットを送った後に当該データパケットに対応するACKを受信した状態を意味する。一方、送信装置はこれと並行して、第1TCPコネクションにおいて通信中の先頭のデータパケットのDSN(便宜上、第1DSNと称する)を取得する。ここで「通信中」とは、データパケットを送ったが当該データパケットに対応するACKを受信していない状態を意味する。
そして、送信装置は第1DSNと第2DSNとを比較する。そして、第2DSNが第1DSN以上である場合には、図2のS203に進む。一方、第2DSNが第1DSN未満である場合には、図2のS204に進む。
図2のS203で送信装置は、第2TCPコネクションにおいて、DSNが「第2DSN+1」であるデータパケットを送信する。ここで、S203は、第2DSNが第1DSN以上である場合に行われることは前述した通りである。この場合、第2コネクションで既に送信完了した第2DSNおよびそれ以前のデータパケットを、第2コネクションが送信する必要はないことに留意されたい。
一方、図2のS204で送信装置は、第2TCPコネクションにおいて、DSNが「第1DSN」であるデータパケットを送信する。ここで、S204は、第2DSNが第1DSN未満である場合に行われることは前述した通りである。この場合、第1コネクションで送信中の第1DSNを、第2コネクションが送信する必要があることに留意されたい。
なお、図2のS203とS204のいずれの場合においても、送信されるデータパケットのSSNとしては第2SSNが設定される。ここで、第2SSNは、第2TCPコネクションにおいて最後に送信したデータパケットに設定されたSSNに1を加えた値である。
図2のS203とS204のいずれの場合も、S201に戻る。
上記のようにデータパケットの送信処理を行うことにより、受信装置においてデータの順序逆転の影響を受けることなく、スループットを維持することが可能となる。
さらに、第3実施形態においては、次のような処理を行うこととしてもよい。
MPTCPコネクションに属する2つのTCPコネクションのうちの一方を終了させる際(図1のS108に相当)、これを盲目的に行うと、そこでパケットの順序逆転が発生する恐れがある。この順序逆転は、2つのTCPコネクションの遅延差に応じて大きくなる。そこで、これを防ぐため、継続させる方のTCPコネクションにおけるDSNの取り扱いを工夫する。
具体的には次のようにする。なお、ここでは2つのTCPコネクションのうち、LTEを経由する方を終了させ、Wi-Fiを経由する方を継続する場合を説明するが、これ以外の場合も同様に実現することができることに留意されたい。
まず、送信装置(例えば無線端末10やサーバ20等)は、LTEとWi-FiのそれぞれのTCPコネクションにおける遅延を比較する。ここで、遅延は、前述したRTTの半分の値に相当する。なお、ここでは遅延を比較する代わりに、RTTやスループットを比較することも可能である。
今、LTEを経由するTCPコネクションの遅延をDLとし、Wi-Fiを経由するTCPコネクションの遅延をDWとする。ここで、DL<DWの場合には、Wi-Fi経由のTCPコネクションにおいて、LTE経由のTCPコネクションで送信中のデータよりも先のデータを送信することとする。具体的には、例えば、Wi-Fi経由のTCPコネクションで送信開始するデータパケットのDSNをDSNWとすれば、DSNW=DSNL+(DW−DL)×SLと求めることができる。ここで、DSNLはLTE経由のTCPコネクションで最後に送信したデータパケットのDSNであり、SLはLTE経由のTCPコネクションのスループットである(図1のS105と同様にして測定すればよい)。これにより、Wi-Fi側の遅延が大きいことによって生じる、パケットの順序逆転を回避または抑制することができる。なお、Wi-Fi経由のTCPコネクションにおいてDSNW−1までのデータパケットは未送信であるが、それらはLTE経由のTCPコネクションにおいて送信される。
一方、DL≧DWの場合には、Wi-Fi経由のTCPコネクションにおいて、LTE経由のTCPコネクションで送信中のデータを重複して送信することとする。具体的には、例えば、前述したDSNWを、DSNW=DSNL−(DL−DW)×SWと求めることができる。ここで、SWはWi-Fi経由のTCPコネクションのスループットである。これにより、LTE側の遅延が大きいことによって生じる、パケットの順序逆転を回避または抑制することができる。
[各実施形態の通信システムのネットワーク構成]
次に図3に基づいて、各実施形態および各変形例の通信システム1のネットワーク構成を説明する。図3に示すように、通信システム1は、無線端末10と、サーバ20と、第1無線基地局30aと、第2無線基地局30bとを備える。なお、以下では、第1無線基地局30aと第2無線基地局30bとをまとめて、単に無線基地局30と称することがあることに留意されたい。
無線端末10は、複数の無線通信システム(無線通信方式)を利用可能である。本願が扱う複数の無線通信システムは、既に述べた通り、無線端末10に付与されるIPアドレスが異なることを前提とする。
ここでは、一例として、無線端末10が第1無線通信システムと第2無線通信システムとを利用可能な例を示す。ただし、本願発明は、無線端末10が3つ以上の無線通信システムを利用可能な場合にも適用可能であることは言うまでもない。
ここで、第1無線通信システム(第1無線通信方式)としては、例えばLTE(LTE-A等を含む)、W-CDMA(Wideband Code Division Multiple Access)等のセルラー無線通信システムを挙げることができる。また、第2無線通信システム(第2無線通信方式)としては、例えばWi-FiやWiMAX(登録商標)等の無線LAN、Bluetooth(登録商標)、GPS、Zigbee(登録商標)、GSM(登録商標)、(Global System for Mobile communications)、UMTS(Universal Mobile Telecommunications System)等に基づく無線通信システムとすることができる。ただし、第1無線通信システムと第2無線通信システムとの組合せとしては、前述したIPアドレスに関する前提が満たされる限り、ここで取り上げたもの以外であっても構わないことに留意されたい。
無線端末10は、携帯電話機、スマートフォン、PDA、パーソナルコンピュータ、無線通信機能を有する各種装置や機器(センサー装置等)等であってよい。また、無線基地局30と無線端末10との無線通信を中継する中継局が使用される場合、当該中継局(無線基地局30との送受信およびその制御)も本願の無線端末10に含まれることとしてもよい。
サーバ20は、無線端末10とMPTCPコネクションにおける通信相手(通信先)となる装置である。本願におけるサーバ20は、例えば中継装置等であっても構わないことは前述した通りである。また、図3においてサーバ20はインターネット4に接続されているが、サーバ20がこれ以外のネットワークに接続されていても構わないことは言うまでもない。
2つの無線基地局30はそれぞれ、無線アクセスネットワークを提供するとともに、無線コアネットワークに接続されている。ここでは一例として、前述した第1無線基地局30aがLTEに基づく無線基地局30であり、第2無線基地局30bがWi-Fiに基づく無線アクセスポイントである場合について述べるが、これ以外の組合せでも構わないのは前述した通りである。
例えば、第1無線基地局(例えばLTEの無線基地局)30aは、第1無線アクセスネットワーク(例えばLTE(アクセス)ネットワーク)2aを提供するとともに、第1コアネットワーク(例えばLTEコアネットワーク)3aに接続されている。一方、第2無線基地局(例えばWi-Fiの無線アクセスポイント)30bは、第2無線アクセスネットワーク(例えばWi-Fi(アクセス)ネットワーク)2bを提供するとともに、第1コアネットワーク(例えば公衆Wi-Fi無線ネットワーク)3bに接続されている。なお、図3においては第1無線アクセスネットワーク2aが第2無線アクセスネットワーク2bを包含しているが、これは一例に過ぎないことに留意されたい。また、図1においては、第1無線基地局30aと第2無線基地局30bとがそれぞれ1つずつしか示されていないが、これらがそれぞれ複数存在しても構わないのは言うまでもない。
前述した無線端末10は、第1無線アクセスネットワーク2aを介して第1無線基地局30aと無線通信を行うとともに、第2無線アクセスネットワーク2bを介して第2無線基地局30bと無線通信を行うことができる。一方、第1コアネットワーク3aおよび第2コアネットワーク3bは、不図示の中継装置を介して、インターネット4に接続されている。そのため、無線端末10は、各ネットワークを介してサーバ20と通信を行うことができる。
無線基地局30は、無線端末10との無線通信機能とデジタル信号処理および制御機能とを分離して別装置としてもよい。この場合、無線通信機能を備える装置をRRH(Remote Radio Head)、デジタル信号処理および制御機能を備える装置をBBU(Base Band Unit)と呼ぶ。RRHはBBUから張り出されて設置され、それらの間は光ファイバなどで有線接続されてもよい。また、無線基地局30は、マクロ無線基地局、ピコ無線基地局等の小型無線基地局(マイクロ無線基地局、フェムト無線基地局等を含む)の他、様々な規模の無線基地局であってよい。また、無線基地局30と無線端末10との無線通信を中継する中継局が使用される場合、当該中継局(無線端末10との送受信およびその制御)も本願の無線基地局30に含まれることとしてもよい。
なお、無線基地局30、無線端末10の各構成要素の分散・統合の具体的態様は、第1実施形態の態様に限定されず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することもできる。例えば、メモリを、無線基地局30、無線端末10の外部装置としてネットワークやケーブル経由で接続するようにしてもよい。
[各実施形態の通信システムにおける各装置の機能構成]
次に、図4〜図6に基づいて、各実施形態および各変形例の通信システムにおける各装置の機能構成を説明する。
図4は、無線端末10の構成を示す機能ブロック図である。図4に示すように、無線端末10は、第1無線送信部11a、第2無線送信部11b、第1無線受信部12a、第2無線受信部12b、制御部13、記憶部14を備える。これら各構成部分は、一方向又は双方向に、信号やデータの入出力が可能なように接続されている。なお、第1無線送信部11aと第1無線受信部12aとを、第1無線通信部15aと総称してもよい。また、第2無線送信部11bと第2無線受信部12bとを、第2無線通信部15bと総称してもよい。
第1無線送信部11aは、第1無線通信システム(例えばLTE)に基づく無線信号を、第1無線アクセスネットワーク(例えばLTE無線ネットワーク)2aを介して送信する。
第1無線送信部11aが送信する無線信号の具体例としては、図1〜2において無線端末10により、第1無線通信システムに基づいて第1無線アクセスネットワーク2aを介して送信される各信号(各情報)が挙げられる。このような信号(情報)の一例としては、LTE無線ネットワーク経由のTCPコネクションを介して、無線端末10により送信される情報を挙げることができる。第1無線送信部11aが送信する信号は、これらに限らず、上記の各実施形態および変形例で無線端末10が第1無線通信システムに基づいて第1無線アクセスネットワーク2aを介して送信するあらゆる信号を含む。
第1無線受信部12aは、第1無線通信システム(例えばLTE)に基づく無線信号を、第1無線アクセスネットワーク(例えばLTE無線ネットワーク)2aを介して受信する。
第1無線受信部12aが受信する無線信号の具体例としては、図1〜2において無線端末10により、第1無線通信システムに基づいて第1無線アクセスネットワーク2aを介して受信される各信号(各情報)が挙げられる。このような信号(情報)の一例としては、LTE無線ネットワーク経由のTCPコネクションを介して、無線端末10により受信される情報を挙げることができる。第1無線受信部12aが受信する信号は、これらに限らず、上記の各実施形態および変形例で無線端末10が第1無線通信システムに基づいて第1無線アクセスネットワーク2aを介して受信するあらゆる信号を含む。
第2無線送信部11bは、第2無線通信システム(例えばWi-Fi)に基づく無線信号を、第2無線アクセスネットワーク(例えばWi-Fi無線ネットワーク)2bを介して送信する。
第2無線送信部11bが送信する無線信号の具体例としては、図1〜2において無線端末10により、第2無線通信システムに基づいて第2無線アクセスネットワーク2bを介して送信される各信号(各情報)が挙げられる。このような信号(情報)の一例としては、Wi-Fi無線ネットワーク経由のTCPコネクションを介して、無線端末10により送信される情報を挙げることができる。第2無線送信部11bが送信する信号は、これらに限らず、上記の各実施形態および変形例で無線端末10が第2無線通信システムに基づいて第2無線アクセスネットワーク2bを介して送信するあらゆる信号を含む。
第2無線受信部12bは、第2無線通信システム(例えばWi-Fi)に基づく無線信号を、第2無線アクセスネットワーク(例えばWi-Fi無線ネットワーク)2bを介して受信する。
第2無線受信部12bが受信する無線信号の具体例としては、図1〜2において無線端末10により、第2無線通信システムに基づいて第2無線アクセスネットワーク2bを介して受信される各信号(各情報)が挙げられる。このような信号(情報)の一例としては、Wi-Fi無線ネットワーク経由のTCPコネクションを介して、無線端末10により受信される情報を挙げることができる。第2無線受信部12bが受信する信号は、これらに限らず、上記の各実施形態および変形例で無線端末10が第2無線通信システムに基づいて第2無線アクセスネットワーク2bを介して受信するあらゆる信号を含む。
制御部13は、無線端末10が送信する信号を生成し、第1無線送信部11aまたは第2無線送信部に出力する。また、制御部13は、第1無線受信部12aまたは第2無線受信部により受信された信号の入力を受け付け、各種の処理を行う。制御部13Aはこれら以外にも第1無線送信部11aや第2無線送信部11bが送信する各種の送信信号や第1無線受信部12aや第2無線受信部12bが受信する各種の受信信号に関連する種々の制御を行う。
制御部13が制御する処理の具体例としては、図1〜2において無線端末10により、実行されている各処理が挙げられる。制御部13が制御する処理は、これらに限らず、上記の各実施形態および変形例で無線端末10により実行されているあらゆる処理を含む。
記憶部14は、無線端末10が記憶するあらゆる情報を記憶する。
図5は、サーバ20の構成を示す機能ブロック図である。図5に示すように、サーバ20は、送信部21、受信部22、制御部23、記憶部24を備える。これら各構成部分は、一方向又は双方向に、信号やデータの入出力が可能なように接続されている。なお、送信部21と受信部22とを、通信部25と総称してもよい。
送信部21は、各種ネットワークを介して信号を送信する。
送信部21が送信する信号の具体例としては、図1〜2においてサーバ20により送信される各信号(各情報)が挙げられる。このような信号(情報)の一例としては、LTE無線ネットワーク経由のTCPコネクションまたはWi-Fi無線ネットワーク経由のTCPコネクションを介して、サーバ20により送信される情報を挙げることができる。送信部21が送信する信号は、これらに限らず、上記の各実施形態および変形例でサーバ20が送信するあらゆる信号を含む。
受信部22は、インターネット4等の各種ネットワークを介して信号を受信する。
受信部22が受信する信号の具体例としては、図1〜2においてサーバ20により受信される各信号(各情報)が挙げられる。このような信号(情報)の一例としては、LTE無線ネットワーク経由のTCPコネクションまたはWi-Fi無線ネットワーク経由のTCPコネクションを介して、サーバ20により受信される情報を挙げることができる。受信部22が受信する信号は、これらに限らず、上記の各実施形態および変形例でサーバ20が受信するあらゆる信号を含む。
制御部23は、サーバ20が送信する信号を生成し、送信部21に出力する。また、制御部23は、受信部22により受信された信号の入力を受け付け、各種の処理を行う。制御部23はこれら以外にも送信部21が送信する各種の送信信号や受信部22が受信する各種の受信信号に関連する種々の制御を行う。
制御部23が制御する処理の具体例としては、図1〜2においてサーバ20により、実行されている各処理が挙げられる。制御部23が制御する処理は、これらに限らず、上記の各実施形態および変形例でサーバ20により実行されているあらゆる処理を含む。
記憶部24は、サーバ20が記憶するあらゆる情報を記憶する。
図6は、無線基地局30の構成を示す機能ブロック図である。図6に示すように、無線基地局30は、無線送信部31、無線受信部32、送信部33、受信部34、制御部35、記憶部36を備える。これら各構成部分は、一方向又は双方向に、信号やデータの入出力が可能なように接続されている。なお、無線送信部31と無線受信部32とを、無線通信部37と総称してもよい。また、送信部33と受信部34とを、通信部38と総称してもよい。
無線送信部31は、所定の無線通信システムに基づいて所定の無線通信ネットワークを介して無線信号を送信する。無線受信部32は、所定の無線通信システムに基づいて所定の無線通信ネットワークを介して無線信号を受信する。送信部33は、所定の通信ネットワークを介して信号を送信する。また、受信部34は、所定の通信ネットワークを介して信号を受信する。制御部35は、送信信号や受信信号に関する各種の処理を行う。記憶部36は、無線基地局30が記憶するあらゆる情報を記憶する。
[各実施形態の通信システムにおける各装置のハードウェア構成]
図7〜図9に基づいて、各実施形態および各変形例の無線通信システムにおける各装置のハードウェア構成を説明する。
図7は、無線端末10のハードウェア構成を示す図である。図7に示すように、無線端末10は、ハードウェアの構成要素として、例えば第1アンテナ101a、第2アンテナ101b、第1RF(Radio Frequency)回路102a、第2RF回路102b、第1BB(baseband)回路103a、第2BB回路103b、CPU(Central Processing Unit)104、メモリ105を有する。
第1BB回路103aおよび第2BB回路103bは、例えばASIC(Application Specific Integrated Circuit)、DSP(Digital Signal Processor)、LSI(Large Scale Integration)、FPGA(Field Programmable Gate Array)等により構成される。メモリ45は、例えばRAM(Random Access Memory)、ROM(Read Only Memory)、およびフラッシュメモリの少なくともいずれかを含み、プログラムや制御情報やデータ等を格納する。
図4に示す無線端末10の機能構成と図7に示す無線端末10のハードウェア構成との対応を説明する。第1無線送信部11aおよび第1無線受信部12a(あるいは第1無線通信部15a)は、例えば第1アンテナ101aおよび第1RF回路102aにより実現される。第2無線送信部11bおよび第2無線受信部12b(あるいは第2無線通信部15b)は、例えばアンテナ101bおよび第2RF回路102bにより実現される。制御部13は、例えば第1BB回路103a、第2BB回路103b、CPU104、メモリ105により実現される。記憶部14は、例えばメモリ105により実現される。
図8は、サーバ20のハードウェア構成を示す図である。図8に示すように、サーバ20は、ハードウェアの構成要素として、例えばネットワークIF(Interface)201、CPU202、メモリ203を有する。
ネットワークIF201は、例えばイーサネット(登録商標)等のネットワークに接続するためのインタフェースモジュールである。
図5に示すサーバ20の機能構成と図8に示すサーバ20のハードウェア構成との対応を説明する。送信部21および受信部22(あるいは通信部25)は、例えばネットワークIF201により実現される。制御部23は、例えば、CPU202、メモリ203により実現される。記憶部24は、例えばメモリ203により実現される。
図9は、無線基地局30のハードウェア構成を示す図である。図9に示すように、無線基地局30は、ハードウェアの構成要素として、例えばアンテナ301、RF回路302、BB回路303、ネットワークIF304、CPU305、メモリ306を有する。
図6に示す無線基地局30の機能構成と図9に示す無線基地局30のハードウェア構成との対応を説明する。無線送信部31および無線受信部32(あるいは無線通信部37)は、例えばアンテナ301およびRF回路302により実現される。送信部33および受信部34(あるいは通信部38)は、例えばネットワークIF304により実現される。制御部35は、例えばBB回路303、CPU305、メモリ306により実現される。記憶部36は、例えばメモリ306により実現される。
1 通信システム
2a 第1無線アクセスネットワーク
2b 第2無線アクセスネットワーク
3a 第1無線コアネットワーク
3b 第2無線コアネットワーク
4 インターネット
10 無線端末
20 サーバ
30a 第1無線基地局
30b 第2無線基地局

Claims (12)

  1. 通信装置であって、
    通信を行う通信部と、
    該通信装置が通信先装置との間で設定したコネクションにおいてデータ通信を行う第1通信プロトコルであって、該コネクションの該第1通信プロトコル層における単位時間当たりのデータ転送量に影響を与える所定パラメータが該コネクションの開始時に所定値に設定され、該コネクションにおいて通信を行うにつれて該所定パラメータが該単位時間当たりのデータ転送量を増加させる方向に順次更新される該第1通信プロトコルに基づいて前記通信部を用いて行うデータ通信を制御する制御部と、
    を備え、
    前記制御部は、通信先装置である無線通信装置との間で前記第1通信プロトコルに基づく第1コネクションが第1無線通信方式に基づく第1無線ネットワークを経由して設定されている場合であって、該無線通信装置との間で該第1通信プロトコルに基づく第2コネクションを第2無線通信方式に基づく第2無線ネットワークを経由して開始する場合に、該第1コネクションを終了させることなく該第2コネクションを開始し、
    前記第1コネクションを終了させるか否かの判断は、前記第1通信プロトコルにおける前記第2コネクションの単位時間当たりのデータ転送量に関連する指標値に基づいて行われる
    通信装置。
  2. 前記制御部は、通信先装置との間で設定した上位層コネクションにおいて通信を行う第2通信プロトコルであって、前記第1通信プロトコルに基づいており通信先装置が同一である複数の前記コネクションを単一の該上位層コネクションに統合させる該第2通信プロトコルをさらに用い、
    前記制御部は、前記第1コネクションと前記第2コネクションとを前記第2通信プロトコルに基づく単一の特定上位層コネクションに統合させる
    請求項1に記載の通信装置。
  3. 前記判断に際しては、前記指標値と、前記第1プロトコルにおける前記第1コネクションの単位時間当たりのデータ転送量に関連する他の指標値とを比較した結果に基づき、前記第1コネクションと前記第2コネクションとのいずれを終了させるかが決定される
    請求項1〜2のいずれかに記載の通信装置。
  4. 前記所定パラメータが前記単位時間当たりのデータ転送量を増加させる方向に順次更新される第1段階から、前記単位時間当たりのデータ転送量の増加が前記第1段階より比較的緩やかとなるように前記所定パラメータが順次更新される第2段階への遷移を前記第2コネクションにおいて検出した場合に、前記判断が行われる
    請求項1〜3のいずれかに記載の通信装置。
  5. 前記制御部が前記判断を行う
    請求項1〜4のいずれかに記載の通信装置。
  6. 前記無線端末装置が前記第1無線ネットワークから付与されるIPアドレスと、該無線端末装置が前記第2無線ネットワークから付与されるIPアドレスとが異なる
    請求項1〜5のいずれかに記載の通信装置。
  7. 前記制御部は、所定の場合に、前記第1コネクションと前記第2コネクションとにおいて同一のデータを含むパケットを重複的に送受信する
    請求項1〜6のいずれかに記載の通信装置。
  8. 前記第1通信プロトコルはTCPであり、
    前記所定パラメータはウインドウサイズである
    請求項1〜7のいずれかに記載の通信装置。
  9. 前記第2通信プロトコルはMPTCPである
    請求項2に記載の通信装置。
  10. 前記指標値は、TCPにおけるスループットである
    請求項7に記載の通信装置。
  11. 無線通信装置であって、
    第1無線通信方式に基づく第1無線ネットワークを介して無線通信を行う第1無線通信部と、
    第2無線通信方式に基づく第2無線ネットワークを介して無線通信を行う第2無線通信部と、
    該無線通信装置が通信先装置との間で設定したコネクションにおいてデータ通信を行う第1通信プロトコルであって、該コネクションの該第1通信プロトコル層における単位時間当たりのデータ転送量に影響を与える所定パラメータが該コネクションの開始時に所定値に設定され、該コネクションにおいて通信を行うにつれて該所定パラメータが該単位時間当たりのデータ転送量を増加させる方向に順次更新される該第1通信プロトコルに基づいて前記第1無線通信部と前記第2無線通信部との少なくとも一方を用いて行うデータ通信を制御する制御部と、
    を備え、
    前記制御部は、特定通信先装置との間で前記第1通信プロトコルに基づく第1コネクションが前記第1無線ネットワークを経由して設定されている場合であって、該特定通信先装置との間で該第1通信プロトコルに基づく第2コネクションを前記第2無線ネットワークを経由して開始する場合に、該第1コネクションを終了させることなく該第2コネクションを開始し、
    前記第1コネクションを終了させるか否かの判断は、前記第1通信プロトコルにおける前記第2コネクションの単位時間当たりのデータ転送量に関連する第2指標値に基づいて行われる
    無線通信装置。
  12. 通信装置が通信先装置との間で設定したコネクションにおいてデータ通信を行う第1通信プロトコルであって、該コネクションの該第1通信プロトコル層における単位時間当たりのデータ転送量に影響を与える所定パラメータが該コネクションの開始時に所定値に設定され、該コネクションにおいて通信を行うにつれて該所定パラメータが該単位時間当たりのデータ転送量を増加させる方向に順次更新される該第1通信プロトコルに基づいてデータ通信を行う該通信装置によって実行される通信方法であって、
    通信先装置である無線通信装置との間で前記第1通信プロトコルに基づく第1コネクションが第1無線通信方式に基づく第1無線ネットワークを経由して設定されている場合であって、該無線通信装置との間で該第1通信プロトコルに基づく第2コネクションを第2無線通信方式に基づく第2無線ネットワークを経由して開始する場合に、該第1コネクションを終了させることなく該第2コネクションを開始し、
    前記第1コネクションを終了させるか否かの判断は、前記第1通信プロトコルにおける前記第2コネクションの単位時間当たりのデータ転送量に関連する指標値に基づいて行われる
    通信方法。
JP2015147271A 2015-07-24 2015-07-24 通信装置、無線通信装置、および通信方法 Pending JP2017028589A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015147271A JP2017028589A (ja) 2015-07-24 2015-07-24 通信装置、無線通信装置、および通信方法
US15/216,350 US20170027016A1 (en) 2015-07-24 2016-07-21 Communication device, wireless communication device, and communication method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015147271A JP2017028589A (ja) 2015-07-24 2015-07-24 通信装置、無線通信装置、および通信方法

Publications (1)

Publication Number Publication Date
JP2017028589A true JP2017028589A (ja) 2017-02-02

Family

ID=57837978

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015147271A Pending JP2017028589A (ja) 2015-07-24 2015-07-24 通信装置、無線通信装置、および通信方法

Country Status (2)

Country Link
US (1) US20170027016A1 (ja)
JP (1) JP2017028589A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021521749A (ja) * 2018-08-15 2021-08-26 テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド マルチ・チャネル・データ伝送方法、装置及びシステム並びにコンピュータ・プログラム、電子機器
JP2021532653A (ja) * 2018-07-23 2021-11-25 華為技術有限公司Huawei Technologies Co., Ltd. データ伝送方法及び電子デバイス
JP2022516663A (ja) * 2019-01-08 2022-03-01 華為技術有限公司 データ伝送方法と電子デバイス
JP7525040B2 (ja) 2021-02-24 2024-07-30 日本電信電話株式会社 通信システム、通信方法、中継サーバ及びプログラム

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105900390B (zh) 2014-07-21 2019-04-26 华为技术有限公司 链路控制节点、链路控制方法及通信系统
US10375747B2 (en) * 2016-08-12 2019-08-06 Futurewei Technologies, Inc. System and method for efficient connection setup and communication for power conscious devices
US10237784B2 (en) 2017-03-24 2019-03-19 Motorola Mobility Llc Split bearer packet data converge protocol protocol data unit routing
JP7326860B2 (ja) * 2019-05-17 2023-08-16 富士フイルムビジネスイノベーション株式会社 システム、プログラム
CN116347570B (zh) * 2023-02-27 2023-11-21 荣耀终端有限公司 一种数据传输方法及相关设备

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021532653A (ja) * 2018-07-23 2021-11-25 華為技術有限公司Huawei Technologies Co., Ltd. データ伝送方法及び電子デバイス
US11412437B2 (en) 2018-07-23 2022-08-09 Huawei Technologies Co., Ltd. Data transmission method and electronic device
JP7181990B2 (ja) 2018-07-23 2022-12-01 華為技術有限公司 データ伝送方法及び電子デバイス
JP2021521749A (ja) * 2018-08-15 2021-08-26 テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド マルチ・チャネル・データ伝送方法、装置及びシステム並びにコンピュータ・プログラム、電子機器
US11350318B2 (en) 2018-08-15 2022-05-31 Tencent Technology (Shenzhen) Company Limited Multichannel data transmission method and apparatus
JP7174834B2 (ja) 2018-08-15 2022-11-17 テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド マルチ・チャネル・データ伝送方法、装置及びシステム並びにコンピュータ・プログラム、電子機器
JP2022516663A (ja) * 2019-01-08 2022-03-01 華為技術有限公司 データ伝送方法と電子デバイス
JP7235871B2 (ja) 2019-01-08 2023-03-08 華為技術有限公司 データ伝送方法と電子デバイス
US11736224B2 (en) 2019-01-08 2023-08-22 Huawei Technologies Co., Ltd. Data transmission method and electronic device
JP7525040B2 (ja) 2021-02-24 2024-07-30 日本電信電話株式会社 通信システム、通信方法、中継サーバ及びプログラム

Also Published As

Publication number Publication date
US20170027016A1 (en) 2017-01-26

Similar Documents

Publication Publication Date Title
KR102667781B1 (ko) 데이터 전송 방법 및 장치, 트래픽 전환 방법 및 장치
JP2017028589A (ja) 通信装置、無線通信装置、および通信方法
EP2647175B1 (en) Facilitating device-to-device communication
EP3633932A1 (en) Multipath data transmission processing method, and network device
JP7142722B2 (ja) 伝送制御方法および装置
JP2021518684A (ja) アクセストラフィックステアリング、スイッチング、及び/又は、分割動作のための装置及び方法
KR102442083B1 (ko) Tcp 터널들 및 고유 tcp 정보를 기초로 하는 번들링 시나리오에서 패킷들의 스케줄링을 위한 방법 및 시스템
EP3585009B1 (en) Data transmission method and communication device
WO2014127515A1 (zh) 业务提供系统、方法、移动边缘应用服务器及支持节点
EP3257203A1 (en) Method and device for handling multi path connections
US9357580B2 (en) Method for switching communication connection mode, communication system, base station, transmitter and receiver
EP3637703B1 (en) Message transmission methods and proxy servers
JP2012253750A (ja) MiAN及びMiAN帯域幅集約方法並びに集約システム
WO2018076580A1 (zh) 无线网络双边加速传输方法和系统
JP2014003459A (ja) ゲートウェイ装置、及びパケット通信方法
WO2017008701A1 (zh) 数据传输方法、装置及用户设备
CN111988212A (zh) 一种报文传输方法以及相关装置
JP2017143336A (ja) 通信装置及びその制御方法並びにプログラム、並びに通信システム
US20210058847A1 (en) Method and device for transmitting data by means of wireless backhaul network
WO2014133066A1 (ja) 通信システム、端末、通信制御装置、通信方法及びプログラム
WO2019196853A1 (zh) Tcp加速方法及装置
JP2010130329A (ja) 通信装置および中継装置
WO2022167611A1 (en) Handover technique for time-sensitive networking
KR101929995B1 (ko) 무선통신 시스템의 단말 및 그의 데이터 전송 방법
WO2019101331A1 (en) Ensuring appropriate quality of service in a plmn