[go: up one dir, main page]

WO2018047645A1 - Communication device and communication method - Google Patents

Communication device and communication method Download PDF

Info

Publication number
WO2018047645A1
WO2018047645A1 PCT/JP2017/030646 JP2017030646W WO2018047645A1 WO 2018047645 A1 WO2018047645 A1 WO 2018047645A1 JP 2017030646 W JP2017030646 W JP 2017030646W WO 2018047645 A1 WO2018047645 A1 WO 2018047645A1
Authority
WO
WIPO (PCT)
Prior art keywords
subflow
communication
application
information
mptcp
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.)
Ceased
Application number
PCT/JP2017/030646
Other languages
French (fr)
Japanese (ja)
Inventor
達雄 八木
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.)
Panasonic Intellectual Property Management Co Ltd
Original Assignee
Panasonic Intellectual Property Management Co 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 Panasonic Intellectual Property Management Co Ltd filed Critical Panasonic Intellectual Property Management Co Ltd
Publication of WO2018047645A1 publication Critical patent/WO2018047645A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • 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/14Multichannel or multilink protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M11/00Telephonic communication systems specially adapted for combination with other electrical systems

Definitions

  • the present disclosure allows the application to recognize the information of the TCP subflow changed by MPTCP, and suppresses a communication error in execution of the application. With the goal.
  • the application when a part of TCP connection is disconnected due to movement of a smartphone, the application can recognize the information of the TCP subflow changed by MPTCP, and suppress communication errors in the execution of the application. it can.
  • the server 100B may be a relay device or a base station device.
  • the relay device includes, for example, an AP (Access Point) and a gateway device.
  • the TCP communication unit 155A sends the request to the server 100B via the control port subflow sf21.
  • the FTP data transfer request is transmitted (S18).
  • the first transfer request is made via the subflow sf11, and the second transfer request is made via the subflow sf21. Therefore, when the API 100B is not provided, the server 100B determines that an FTP data transfer request has been received from an IP address different from that at the time of establishing the FTP session (at the time of S13). Accordingly, the server 100B terminates the FTP session connection by the security check, and terminates the connection of each subflow.
  • the communication method of the communication I / F 104A is a wireless LAN communication method
  • the communication method of the communication I / F 106A is a wireless WAN communication method.
  • the communication I / F 104A uses the IP address “XX”
  • the communication I / F 106A uses the IP address “YY”.
  • the communication method of the communication I / F 104B is a wireless LAN communication method
  • the communication method of the communication I / F 106B is a wireless WAN communication method.
  • the communication I / F 104B uses the IP address “X′X ′”
  • the communication I / F 106B uses the IP address “Y′Y ′”.

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Communication Control (AREA)

Abstract

Provided is a communication device, which communicates with another communication device in accordance with MPTCP. The communication device comprises: an application control unit which controls an application; a communication control unit which controls at least two MPTCP subflows; at least two communication units which communicate data via the subflows using IP addresses; and an information retaining unit which retains information of the subflows which includes the IP addresses which are used with the subflows. If the subflow has been changed, the information retaining unit retains information of the changed subflow. The application control unit references the information of the changed subflow.

Description

通信装置及び通信方法Communication apparatus and communication method

 本開示は、通信装置及び通信方法に関する。 The present disclosure relates to a communication device and a communication method.

 複数の経路を扱うTCP(Transmission Control Protocol)として、MPTCP(Multipass TCP)が知られている。MPTCPに従って通信するスマートフォンとして、広域無線通信におけるTCPコネクション、有線通信におけるTCPコネクション、及び近距離無線通信におけるTCPコネクションが、TCPサブフローとしてMPTCPコアにより管理されるものが知られている。また、例えば特許文献1に開示されているように、このMPTCPコアが、3つのTCPサブフローをまとめて単一のMPTCPコネクションを設立し、MPTCPコネクションの情報をソケットAPI(Application Program Interface)によりアプリケーションプログラムに提供する。 MPTCP (Multipass TCP) is known as TCP (Transmission Control Protocol) that handles multiple paths. As smartphones that communicate according to MPTCP, those in which a TCP connection in wide-area wireless communication, a TCP connection in wired communication, and a TCP connection in short-range wireless communication are managed by the MPTCP core as TCP subflows are known. Also, as disclosed in Patent Document 1, for example, this MPTCP core establishes a single MPTCP connection by combining three TCP subflows, and MPTCP connection information is transferred to an application program by a socket API (Application Program Interface). To provide.

 本開示は、例えばスマートフォンが移動することで一部のTCPコネクションが非接続状態となった場合、MPTCPにより変更されたTCPサブフローの情報をアプリケーションが認識でき、アプリケーションの実行における通信エラーを抑制することを目的とする。 For example, in the case where a part of TCP connection is disconnected due to movement of a smartphone, the present disclosure allows the application to recognize the information of the TCP subflow changed by MPTCP, and suppresses a communication error in execution of the application. With the goal.

特開2014-127790号公報JP 2014-127790 A

 本開示の通信装置は、MPTCPに従って他の通信装置と通信する。通信装置は、アプリケーションを制御するアプリケーション制御部と、MPTCPの少なくとも2つのサブフローを制御する通信制御部と、IPアドレスを用いてサブフローを介してデータを通信する少なくとも2つの通信部と、サブフローに用いられるIPアドレスを含むサブフローの情報を保持する情報保持部と、を備える。情報保持部は、サブフローが変更された場合、変更後のサブフローの情報を保持する。アプリケーション制御部は、変更後のサブフローの情報を参照する。 The communication device of the present disclosure communicates with other communication devices according to MPTCP. The communication apparatus uses an application control unit that controls an application, a communication control unit that controls at least two subflows of MPTCP, at least two communication units that communicate data via a subflow using an IP address, and a subflow. And an information holding unit for holding information on the subflow including the IP address to be stored. When the subflow is changed, the information holding unit holds information on the changed subflow. The application control unit refers to the changed subflow information.

 本開示の通信方法は、MPTCPに従って通信する通信方法であって、IPアドレスを用いたMPTCPの少なくとも2つのサブフローを制御し、サブフローに用いられるIPアドレスを含むサブフローの情報を情報保持部に保持し、サブフローを介してデータを通信し、サブフローが変更された場合、変更後のサブフローの情報を情報保持部に保持し、アプリケーションを制御するアプリケーション制御部が、変更後のサブフローの情報を参照する。 The communication method of the present disclosure is a communication method that performs communication according to MPTCP, controls at least two subflows of MPTCP using an IP address, and holds information on the subflow including the IP address used for the subflow in an information holding unit. When data is communicated via the subflow and the subflow is changed, the information of the changed subflow is held in the information holding unit, and the application control unit that controls the application refers to the information of the changed subflow.

 本開示によれば、例えばスマートフォンが移動することで一部のTCPコネクションが非接続状態となった場合、MPTCPにより変更されたTCPサブフローの情報をアプリケーションが認識でき、アプリケーションの実行における通信エラーを抑制できる。 According to the present disclosure, for example, when a part of TCP connection is disconnected due to movement of a smartphone, the application can recognize the information of the TCP subflow changed by MPTCP, and suppress communication errors in the execution of the application. it can.

図1は、第1の実施形態における通信システムの構成例を示す模式図である。FIG. 1 is a schematic diagram illustrating a configuration example of a communication system according to the first embodiment. 図2は、通信装置のハードウェア構成例を示すブロック図である。FIG. 2 is a block diagram illustrating a hardware configuration example of the communication apparatus. 図3は、通信装置の機能構成例を示すブロック図である。FIG. 3 is a block diagram illustrating a functional configuration example of the communication apparatus. 図4は、APIを備えない通信システムがMPTCPに従ってFTPを実行する際の動作を示すシーケンス図である。FIG. 4 is a sequence diagram showing an operation when a communication system without an API executes FTP according to MPTCP. 図5Aは、APIを備える通信システムがMPTCPに従ってFTPを実行する際の動作例を示すフローチャートである。FIG. 5A is a flowchart illustrating an operation example when a communication system including an API executes FTP according to MPTCP. 図5Bは、APIを備える通信システムがMPTCPに従ってFTPを実行する際の動作例を示すフローチャートである。FIG. 5B is a flowchart illustrating an operation example when the communication system including the API executes FTP according to MPTCP. 図5Cは、APIを備える通信システムがMPTCPに従ってFTPを実行する際の動作例を示すフローチャートである。FIG. 5C is a flowchart illustrating an operation example when the communication system including the API executes FTP according to MPTCP. 図6は、APIを備えない通信システムがMPTCPに従ってAMQPを実行する際の動作を示すシーケンス図である。FIG. 6 is a sequence diagram showing an operation when a communication system without an API executes AMQP according to MPTCP. 図7Aは、APIを備える通信システムがMPTCPに従ってAMQPを実行する際の動作例を示すフローチャートである。FIG. 7A is a flowchart illustrating an operation example when a communication system including an API executes AMQP according to MPTCP. 図7Bは、APIを備える通信システムがMPTCPに従ってAMQPを実行する際の動作例を示すフローチャートである。FIG. 7B is a flowchart illustrating an operation example when the communication system including the API executes AMQP according to MPTCP. 図7Cは、APIを備える通信システムがMPTCPに従ってAMQPを実行する際の動作例を示すフローチャートである。FIG. 7C is a flowchart illustrating an operation example when a communication system including an API executes AMQP according to MPTCP. 図8は、通信装置の他の機能構成例を示すブロック図である。FIG. 8 is a block diagram illustrating another functional configuration example of the communication apparatus.

 以下、適宜図面を参照しながら、実施形態を詳細に説明する。但し、必要以上に詳細な説明は省略する場合がある。例えば、既によく知られた事項の詳細説明や実質的に同一の構成に対する重複説明を省略する場合がある。これは、以下の説明が不必要に冗長になることを避け、当業者の理解を容易にするためである。尚、添付図面及び以下の説明は、当業者が本開示を十分に理解するために提供されるものであり、これらにより請求の範囲に記載の主題を限定することは意図されていない。 Hereinafter, embodiments will be described in detail with reference to the drawings as appropriate. However, more detailed description than necessary may be omitted. For example, detailed descriptions of already well-known matters and repeated descriptions for substantially the same configuration may be omitted. This is to avoid the following description from becoming unnecessarily redundant and to facilitate understanding by those skilled in the art. The accompanying drawings and the following description are provided to enable those skilled in the art to fully understand the present disclosure, and are not intended to limit the claimed subject matter.

 (第1の実施形態)
 [構成等]
 図1は、第1の実施形態における通信システム10の構成例を示す模式図である。通信システム10は、複数の通信装置100を備える。複数の通信装置100は、ネットワークNTを介して接続される。通信装置100は、例えば、携帯端末100A及びサーバ100Bを含む。本実施形態では、一例として、携帯端末100AとサーバBとが、ネットワークNTを介して、MPTCPに従って通信することを想定する。
(First embodiment)
[Configuration]
FIG. 1 is a schematic diagram illustrating a configuration example of a communication system 10 according to the first embodiment. The communication system 10 includes a plurality of communication devices 100. The plurality of communication devices 100 are connected via the network NT. The communication device 100 includes, for example, a mobile terminal 100A and a server 100B. In this embodiment, as an example, it is assumed that the mobile terminal 100A and the server B communicate according to MPTCP via the network NT.

 携帯端末100Aは、例えば、PC(Personal Computer)、スマートフォン、携帯電話、カメラ、ロボット、ドローン(無人航空機)を含む。ロボットは、例えば警備用のロボットである。携帯端末100Aは、クライアント端末として機能する。 The mobile terminal 100A includes, for example, a PC (Personal Computer), a smartphone, a mobile phone, a camera, a robot, and a drone (unmanned aerial vehicle). The robot is, for example, a security robot. The mobile terminal 100A functions as a client terminal.

 サーバ100Bは、中継装置や基地局装置であってもよい。中継装置は、例えば、AP(Access Point)、ゲートウェイ装置、を含む。 The server 100B may be a relay device or a base station device. The relay device includes, for example, an AP (Access Point) and a gateway device.

 ネットワークNTは、無線ネットワークを含んでも有線ネットワークを含んでもよい。また、ネットワークNTは、専用ネットワークを含んでも公衆ネットワークを含んでもよい。ネットワークNTは、インターネット、イントラネット、セルラーネットワーク、WAN(Wide Area Network)、LAN(Local Area Network)、などを含む。ネットワークNTは、近距離通信やBluetooth(登録商標)に係るネットワークを含んでもよい。 The network NT may include a wireless network or a wired network. The network NT may include a dedicated network or a public network. The network NT includes the Internet, an intranet, a cellular network, a WAN (Wide Area Network), a LAN (Local Area Network), and the like. The network NT may include a network related to near field communication or Bluetooth (registered trademark).

 通信システム10では、携帯端末100A及びサーバ100Bは、ネットワークNTを介して、所定の通信方式で、MPTCPに従ってデータ通信する。携帯端末100A及びサーバ100Bは、音声データ、画像データ、制御データ、等を通信する。携帯端末100A及びサーバ100Bは、複数の通信方式で通信可能である。 In the communication system 10, the mobile terminal 100A and the server 100B perform data communication according to MPTCP by a predetermined communication method via the network NT. The portable terminal 100A and the server 100B communicate audio data, image data, control data, and the like. The portable terminal 100A and the server 100B can communicate by a plurality of communication methods.

 通信方式は、例えば、有線LAN通信、無線LAN通信、USB(Universal Serial Bus)通信、DECT(Digital Enhanced Cordless Telecommunication)、LTE(Long Term Evolution)、LTE-Advanced、ミリ波通信、セルラー通信、近距離無線通信、Bluetooth(登録商標)の方式を含む。 Communication methods include, for example, wired LAN communication, wireless LAN communication, USB (Universal Serial Bus) communication, DECT (Digital Enhanced Cordless Communication), LTE (Long Term Evolution), LTE-Advanced, Near-distance, Millimeter-wave communication, Includes wireless communication and Bluetooth (registered trademark) systems.

 次に、通信装置100の構成について説明する。 Next, the configuration of the communication device 100 will be described.

 図2は、通信装置100のハードウェア構成例を示すブロック図である。通信装置100は、CPU(Central Processing Unit)101、メモリ102、通信制御I/F(Interface)103,105、及び通信I/F104,106を含む。携帯端末100Aとサーバ100Bとは、通信装置100の一例であり、同様の構成を有するので、ここではまとめて説明する。尚、ここでは、通信制御I/F及び通信I/Fの数が2つであることを例示したが、3つ以上であってもよい。 FIG. 2 is a block diagram illustrating a hardware configuration example of the communication apparatus 100. The communication device 100 includes a CPU (Central Processing Unit) 101, a memory 102, communication control I / Fs (Interface) 103 and 105, and communication I / Fs 104 and 106. The portable terminal 100A and the server 100B are examples of the communication device 100 and have the same configuration, and therefore will be described together here. Here, the number of communication control I / Fs and communication I / Fs is exemplified as two, but may be three or more.

 CPU101は、メモリ102と協働して、各種処理や制御を行う。具体的には、CPU101は、メモリ102に保持されたプログラムを実行することで、通信装置100が有する各機能を実現する。このプログラムは、例えば、OS(Operating System)、ミドルウェア、アプリケーション、を含む。 The CPU 101 cooperates with the memory 102 to perform various processes and controls. Specifically, the CPU 101 implements each function of the communication apparatus 100 by executing a program held in the memory 102. This program includes, for example, an OS (Operating System), middleware, and an application.

 メモリ102は、例えば、各種データ、情報、プログラムを記憶する。メモリ102は、CPU101に内蔵されてもよい。メモリ102は、一次記憶装置とともに、二次記憶装置や三次記憶装置を含んでもよい。一次記憶装置は、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)を含む。二次記憶装置は、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)を含む。三次記憶装置は、例えば、USBフラッシュメモリやSDカードを含む。 The memory 102 stores, for example, various data, information, and programs. The memory 102 may be built in the CPU 101. The memory 102 may include a secondary storage device and a tertiary storage device together with the primary storage device. The primary storage device includes, for example, a RAM (Random Access Memory) and a ROM (Read Only Memory). Secondary storage devices include, for example, an HDD (Hard Disk Drive) and an SSD (Solid State Drive). The tertiary storage device includes, for example, a USB flash memory and an SD card.

 通信制御I/F103,105は、通信I/F104,106による通信を制御する。通信I/F104,106は、各種通信方式に従って、通信する。通信I/F104と通信I/F106の通信方式は、例えば異なる。例えば、通信I/F104は、例えば無線LAN通信の方式に従い、通信I/F106は、例えばLTE通信の方式に従う。 The communication control I / Fs 103 and 105 control communication by the communication I / Fs 104 and 106. Communication I / Fs 104 and 106 communicate according to various communication methods. The communication methods of the communication I / F 104 and the communication I / F 106 are different, for example. For example, the communication I / F 104 follows, for example, a wireless LAN communication method, and the communication I / F 106 follows, for example, an LTE communication method.

 尚、携帯端末100Aが有するハードウェア構成とサーバ100Bが有するハードウェア構成とは、同様である。図2の同じブロックにおいて携帯端末100A用とサーバ100B用とを区別する場合には、携帯端末100Aが有する構成ブロックについては、符号の末尾に「A」を付し、サーバ100Bが有する構成ブロックについては、符号の末尾に「B」を付して説明する。 Note that the hardware configuration of the mobile terminal 100A and the hardware configuration of the server 100B are the same. When the mobile terminal 100A and the server 100B are distinguished from each other in the same block in FIG. 2, the constituent blocks of the mobile terminal 100A are suffixed with “A” and the constituent blocks of the server 100B are included. Is described with “B” at the end of the reference numeral.

 図3は、通信装置100(携帯端末100A及びサーバ100B)の機能構成例を示すブロック図である。 FIG. 3 is a block diagram illustrating a functional configuration example of the communication device 100 (the mobile terminal 100A and the server 100B).

 CPU101や通信制御I/F103は、メモリ102に保持されたプログラムを実行することで、通信装置100が有する各機能を実現する。この各機能は、後述するアプリケーション制御部151、API152、MPTCP制御部153、及びTCP通信部154,155の機能を含む。つまり、通信装置100は、アプリケーション制御部151、API152、MPTCP制御部153、TCP通信部154,155、を備える。 The CPU 101 and the communication control I / F 103 implement each function of the communication device 100 by executing a program held in the memory 102. Each of these functions includes functions of an application control unit 151, an API 152, an MPTCP control unit 153, and TCP communication units 154 and 155, which will be described later. That is, the communication apparatus 100 includes an application control unit 151, an API 152, an MPTCP control unit 153, and TCP communication units 154 and 155.

 尚、図3では、携帯端末100Aが有する機能ブロックとサーバ100Bが有する機能ブロックとは、同様である。図3の同じ機能ブロックにおいて携帯端末100A用とサーバ100B用とを区別する場合には、携帯端末100Aが有する機能ブロックについては、符号の末尾に「A」を付し、サーバ100Bが有する機能ブロックについては、符号の末尾に「B」を付して説明する。 In FIG. 3, the functional blocks of the mobile terminal 100A and the functional blocks of the server 100B are the same. When the mobile terminal 100A and the server 100B are distinguished from each other in the same functional block of FIG. 3, the functional block of the mobile terminal 100A is suffixed with “A” and the functional block of the server 100B. Will be described with “B” appended to the end of the reference numeral.

 アプリケーション制御部151(151A,151B)は、OSI参照モデルの第7層(アプリケーション層)において、メモリ102に保持されたアプリケーション(アプリケーションプログラム)を実行する。そして、アプリケーション制御部151は、アプリケーションに係る制御を行う。 Application control unit 151 (151A, 151B) executes an application (application program) held in memory 102 in the seventh layer (application layer) of the OSI reference model. Then, the application control unit 151 performs control related to the application.

 API152(152A,152B)は、OSI参照モデルの第4層(トランスポート層)と第7層(アプリケーション層)との間において、アプリケーションとMPTCPとの間のデータの受け渡しを行う。例えば、API152は、MPTCPのサブフローsfの情報を保持し、サブフローsfの情報が更新されると、更新されたサブフローsfの情報を保持する。これにより、アプリケーションは、MPTCPが用いる各種データを参照できる。 API 152 (152A, 152B) exchanges data between the application and MPTCP between the fourth layer (transport layer) and the seventh layer (application layer) of the OSI reference model. For example, the API 152 holds information on the subflow sf of MPTCP, and holds information on the updated subflow sf when the information on the subflow sf is updated. Thereby, the application can refer to various data used by MPTCP.

 尚、API152は、API152を構成するプログラムのパラメータ等に、アプリケーション又はMPTCPに係るデータを含むことで、データを保持する。API152に係るプログラムやパラメータは、メモリ102に保持される。 Note that the API 152 retains data by including data relating to the application or MPTCP in the parameters of the program constituting the API 152. Programs and parameters related to the API 152 are held in the memory 102.

 MPTCP制御部153(153A,153B)は、OSI参照モデルの第4層(トランスポート層)においてMPTCPに従って動作し、MPTCPに係る制御を行う。例えば、MPTCP制御部153は、MPTCPのセッションのサブフローを設立や切断を行う。つまり、MPTCP制御部153は、複数のサブフローを制御する。MPTCP制御部153は、各サブフローを監視し、サブフローが継続して設立されているか否かを判別する。 The MPTCP control unit 153 (153A, 153B) operates according to MPTCP in the fourth layer (transport layer) of the OSI reference model, and performs control related to MPTCP. For example, the MPTCP control unit 153 establishes or disconnects an MPTCP session subflow. That is, the MPTCP control unit 153 controls a plurality of subflows. The MPTCP control unit 153 monitors each subflow and determines whether or not the subflow is continuously established.

 TCP通信部154は、MPTCP制御部153の制御により、サブフローsf1(TCPコネクション)を介してデータを通信する。サブフローsf1は、通信I/F104Aと通信I/F104Bとを介した経路である。 The TCP communication unit 154 communicates data via the subflow sf1 (TCP connection) under the control of the MPTCP control unit 153. The subflow sf1 is a route through the communication I / F 104A and the communication I / F 104B.

 TCP通信部155は、MPTCP制御部153の制御により、サブフローsf2(TCPコネクション)を介してデータを通信する。サブフローsf2は、通信I/F106Aと通信I/F106Bとを介した経路である。 The TCP communication unit 155 communicates data via the subflow sf2 (TCP connection) under the control of the MPTCP control unit 153. The subflow sf2 is a route through the communication I / F 106A and the communication I / F 106B.

 アプリケーションの情報は、例えば、アプリケーションの識別子、アプリケーションを実行するために必要な通信元、通信先のIPアドレスの情報、を含む。サブフローの情報は、例えば、自装置の識別情報、サブフローの通信に用いる自装置側のIPアドレスの情報、他装置(通信相手)の識別情報、サブフローの通信に用いる他装置側のIPアドレスの情報、を含む。 The application information includes, for example, an application identifier, communication source necessary for executing the application, and information on the IP address of the communication destination. The subflow information includes, for example, identification information of the own device, IP address information of the own device used for subflow communication, identification information of another device (communication partner), and information of the IP address of the other device used for subflow communication. ,including.

 API152が不在である場合、特に工夫をしなければ、MPTCP側からはアプリケーション側の情報が参照できないために不明であり、アプリケーション側からはMPTCP側の情報が参照できないために不明である。これに対し、API152は、MPTCPとアプリケーションとの間に配置され、相互に参照可能であり、アプリケーションの情報及びサブフローの情報を共有化できる。 If the API 152 is absent, it is unknown because the information on the application side cannot be referred from the MPTCP side unless it is devised, and the information on the MPTCP side cannot be referred from the application side. On the other hand, the API 152 is arranged between MPTCP and the application and can be referred to each other, and can share application information and subflow information.

 [ユースケース]
 次に、通信システム10のユースケースについて説明する。
[Use Case]
Next, use cases of the communication system 10 will be described.

 [ユースケース1]
 ユースケース1では、アプリケーションとしてFTP(File Transfer Protocol)が実行される。つまり、サーバ100Bは、FTPサーバである。尚、FTPの場合、サブフローに関して制御ポートとデータポートとが別々に設立される。ここでは、後述するサブフローsf11は、制御ポートのサブフローsf11とデータポートのサブフローsf11とを含むことを想定する。また、後述するサブフローsf21は、制御ポートのサブフローsf21とデータポートのサブフローsf21とを含むことを想定する。
[Use Case 1]
In use case 1, FTP (File Transfer Protocol) is executed as an application. That is, the server 100B is an FTP server. In the case of FTP, a control port and a data port are established separately for the subflow. Here, it is assumed that a subflow sf11 described later includes a control port subflow sf11 and a data port subflow sf11. Further, it is assumed that the subflow sf21 described later includes a control port subflow sf21 and a data port subflow sf21.

 図4は、API152を備えない通信システム10がMPTCPに従ってFTPを実行する際の動作例を示すシーケンス図である。 FIG. 4 is a sequence diagram illustrating an operation example when the communication system 10 that does not include the API 152 executes FTP according to MPTCP.

 図4では、携帯端末100Aにおいて、通信I/F104Aの通信方式が無線LAN通信の方式であり、通信I/F106Aの通信方式が無線WANの通信の方式であることを想定する。通信I/F104Aは、IPアドレス「XX」を用い、通信I/F106Aは、IPアドレス「YY」を用いる。また、サーバ100Bにおいて、通信I/F104Bの通信方式が無線LAN通信の方式であり、通信I/F106Bの通信方式が無線WANの通信の方式であることを想定する。通信I/F104Bは、IPアドレス「X’X’」を用い、通信I/F106Bは、IPアドレス「Y’Y’」を用いる。 In FIG. 4, in the mobile terminal 100A, it is assumed that the communication method of the communication I / F 104A is a wireless LAN communication method, and the communication method of the communication I / F 106A is a wireless WAN communication method. The communication I / F 104A uses the IP address “XX”, and the communication I / F 106A uses the IP address “YY”. In the server 100B, it is assumed that the communication method of the communication I / F 104B is a wireless LAN communication method, and the communication method of the communication I / F 106B is a wireless WAN communication method. The communication I / F 104B uses the IP address “X′X ′”, and the communication I / F 106B uses the IP address “Y′Y ′”.

 まず、携帯端末100Aの入力デバイスがアプリケーションを実行するためのユーザからの入力操作を受け付けると、アプリケーション制御部151Aが、アプリケーションの実行を開始する。入力デバイスは、キーボード、マウス、タッチパッド、タッチパネル、各種キー、マイク、等の入力デバイスを広く含む。 First, when the input device of the mobile terminal 100A receives an input operation from a user for executing an application, the application control unit 151A starts executing the application. Input devices widely include input devices such as a keyboard, a mouse, a touch pad, a touch panel, various keys, and a microphone.

 アプリケーションの実行開始に伴い、MPTCP制御部153A,153Bは、FTPに係るセッションの設立を開始する(S11)。この際、MPTCP制御部153A,153Bは、無線LANを用いて、IPアドレス「XX」,「X’X’」を用いて、制御ポートのサブフローsf11(図3に示すサブフローsf1の一例)を設立する。 With the start of application execution, the MPTCP control units 153A and 153B start establishment of a session related to FTP (S11). At this time, the MPTCP control units 153A and 153B establish the control port subflow sf11 (an example of the subflow sf1 shown in FIG. 3) using the IP addresses “XX” and “X′X ′” using the wireless LAN. To do.

 続いて、MPTCP制御部153A,153Bは、MPTCPに従って、FTPに係るサブフローsf21を設立する(S12)。この際、MPTCP制御部153A,153Bは、無線WANを用いて、IPアドレス「YY」,「Y’Y’」を用いて、制御ポートのサブフローsf21(図3に示すサブフローsf2の一例)を設立する。 Subsequently, the MPTCP control units 153A and 153B establish a subflow sf21 related to FTP in accordance with MPTCP (S12). At this time, the MPTCP control units 153A and 153B establish the control port subflow sf21 (an example of the subflow sf2 shown in FIG. 3) using the IP addresses “YY” and “Y′Y ′” using the wireless WAN. To do.

 制御ポートのサブフローsf11,sf21が設立されると、TCP通信部154Aは、制御ポートのサブフローsf11を介して、FTPに係るデータ(FTPデータ)の転送要求を送信する(S13)。 When the control port subflows sf11 and sf21 are established, the TCP communication unit 154A transmits a transfer request for FTP-related data (FTP data) via the control port subflow sf11 (S13).

 サーバ100Bでは、TCP通信部154Bが、携帯端末100Aからサブフローsf11を介してFTPデータの転送要求を受信する。そして、TCP通信部154A,154Bは、データポートのサブフローsf11を介して、FTPデータを転送する(S14)。また、TCP通信部155A,155Bは、ポートのサブフローsf21を介して、FTPデータを転送する(S15)。つまり、通信システム10は、複数の経路(マルチパス)でFTPデータを転送でき、通信効率を向上できる。 In the server 100B, the TCP communication unit 154B receives the FTP data transfer request from the mobile terminal 100A via the subflow sf11. Then, the TCP communication units 154A and 154B transfer FTP data via the data port subflow sf11 (S14). Also, the TCP communication units 155A and 155B transfer FTP data via the port subflow sf21 (S15). That is, the communication system 10 can transfer FTP data through a plurality of paths (multipath), and communication efficiency can be improved.

 ここで、S14,S15のFTPデータの転送中に、携帯端末100Aが無線LANの通信圏外に移動したことに起因して、制御ポート及びデータポートのサブフローsf11が切断され(S16)、その後無線LAN通信が不可であるとする。この場合でも、制御ポート及びデータポートのサブフローsf21が残存するので、MPTCPのセッションは無線LANが通信圏外となった後においても継続している。 Here, during the transfer of FTP data in S14 and S15, the sub-flow sf11 of the control port and the data port is disconnected due to the mobile terminal 100A moving out of the communication range of the wireless LAN (S16), and then the wireless LAN Assume that communication is not possible. Even in this case, since the subflow sf21 of the control port and the data port remains, the MPTCP session continues even after the wireless LAN is out of the communication range.

 FTPデータの転送は、転送対象のデータがなくなるまで継続される。そのため、制御ポート及びデータポートのサブフローsf11の切断後においても、TCP通信部155A,155Bは、データポートのサブフローsf21を介して、FTPデータの転送を継続する(S17)。このFTPデータは、サーバ100Bで正常に受信される(Transfer Complete)。一方、データポートのサブフローsf11を介したFTPデータの転送は行われない。 FTP data transfer continues until there is no more data to be transferred. Therefore, even after the control port and data port subflow sf11 is disconnected, the TCP communication units 155A and 155B continue to transfer FTP data via the data port subflow sf21 (S17). This FTP data is normally received by the server 100B (Transfer Complete). On the other hand, FTP data is not transferred via the subflow sf11 of the data port.

 携帯端末100Aからサーバ100Bへの転送対象のデータが不在となると、各サブフローの接続が切断される。一方、FTPのセッションは終了せずに、セッション接続が継続される。ここでは、データポートのサブフローsf21は、転送対象のデータが不在となることで転送終了によって閉じられるが、制御ポートのサブフローsf21の接続が継続される。 When there is no data to be transferred from the portable terminal 100A to the server 100B, the connection of each subflow is disconnected. On the other hand, the session connection is continued without terminating the FTP session. Here, the subflow sf21 of the data port is closed by the end of transfer due to the absence of data to be transferred, but the connection of the subflow sf21 of the control port is continued.

 サブフローsf11が切断された際の一連のFTPデータの転送が終了した後に、次のFTPデータの転送要求が発生すると、TCP通信部155Aは、サーバ100Bに対して、制御ポートのサブフローsf21を介して、FTPデータの転送要求を送信する(S18)。 When the next FTP data transfer request occurs after the series of FTP data transfer when the subflow sf11 is disconnected, the TCP communication unit 155A sends the request to the server 100B via the control port subflow sf21. The FTP data transfer request is transmitted (S18).

 サーバ100Bでは、TCP通信部155Bは、S18でのFTPデータの転送要求を受信すると、データポートのサブフローsf21を介して、この転送要求に対応するFTP応答データを送信しようと試みる。しかし、前回(S13)の転送要求と今回(S18)の転送要求とでは、送信元が異なるため、アプリケーション制御部151Bは、FTPのエラーが発生したと判定する。 In the server 100B, when receiving the FTP data transfer request in S18, the TCP communication unit 155B attempts to transmit FTP response data corresponding to the transfer request via the subflow sf21 of the data port. However, since the transmission source is different between the previous (S13) transfer request and the current (S18) transfer request, the application control unit 151B determines that an FTP error has occurred.

 TCP通信部155Bは、MPTCP制御部153の制御により、制御ポートのサブフローsf21を介して、FTP応答データとして、FTPのエラーメッセージを送信する(S19)。このエラーメッセージは、「Bad IP Connecting」の情報を含む。「Bad IP Connecting」の情報は、別経路で転送要求されたために送信元が異なると判定され拒否されたことを示す。 The TCP communication unit 155B transmits an FTP error message as FTP response data via the control port subflow sf21 under the control of the MPTCP control unit 153 (S19). This error message includes “Bad IP Connecting” information. The information of “Bad IP Connecting” indicates that the transmission source is determined to be different and is rejected because a transfer request is made through another route.

 つまり、図4では、第1の転送要求はサブフローsf11を介して行われ、第2の転送要求はサブフローsf21を介して行われる。そのため、サーバ100Bは、API152Bを備えない場合、FTPのセッション設立時(S13の時点)と異なるIPアドレスから、FTPデータの転送要求を受けたと判断する。従って、サーバ100Bは、セキュリティチェックによりFTPのセッション接続を終了し、各サブフローの接続を終了する。 That is, in FIG. 4, the first transfer request is made via the subflow sf11, and the second transfer request is made via the subflow sf21. Therefore, when the API 100B is not provided, the server 100B determines that an FTP data transfer request has been received from an IP address different from that at the time of establishing the FTP session (at the time of S13). Accordingly, the server 100B terminates the FTP session connection by the security check, and terminates the connection of each subflow.

 図5A~Cは、API152を備える通信システム10がMPTCPに従ってFTPを実行する際の動作例を示すフローチャートである。図5Aは、MPTCP側の動作例を示す。図5Bは、アプリケーション側のAPI152のサブフロー監視に係る動作例を示す。図5Cは、アプリケーション側のセキュリティチェックに係る動作例を示す。 5A to 5C are flowcharts showing an operation example when the communication system 10 including the API 152 executes FTP according to MPTCP. FIG. 5A shows an operation example on the MPTCP side. FIG. 5B shows an operation example related to subflow monitoring of the API 152 on the application side. FIG. 5C shows an operation example related to the security check on the application side.

 図5A~Cでは、図4と同様に、携帯端末100Aにおいて、通信I/F104Aの通信方式が無線LAN通信の方式であり、通信I/F106Aの通信方式が無線WANの通信の方式であることを想定する。通信I/F104Aは、IPアドレス「XX」を用い、通信I/F106Aは、IPアドレス「YY」を用いる。また、サーバ100Bにおいて、通信I/F104Bの通信方式が無線LAN通信の方式であり、通信I/F106Bの通信方式が無線WANの通信の方式であることを想定する。通信I/F104Bは、IPアドレス「X’X’」を用い、通信I/F106Bは、IPアドレス「Y’Y’」を用いる。 5A to 5C, similarly to FIG. 4, in the portable terminal 100A, the communication method of the communication I / F 104A is a wireless LAN communication method, and the communication method of the communication I / F 106A is a wireless WAN communication method. Is assumed. The communication I / F 104A uses the IP address “XX”, and the communication I / F 106A uses the IP address “YY”. In the server 100B, it is assumed that the communication method of the communication I / F 104B is a wireless LAN communication method, and the communication method of the communication I / F 106B is a wireless WAN communication method. The communication I / F 104B uses the IP address “X′X ′”, and the communication I / F 106B uses the IP address “Y′Y ′”.

 図5Aでは、まず、携帯端末100Aの入力デバイスがアプリケーションを実行するためのユーザからの入力操作を受け付けると、アプリケーション制御部151Aが、アプリケーションの実行を開始する。 In FIG. 5A, first, when the input device of the mobile terminal 100A receives an input operation from the user for executing the application, the application control unit 151A starts executing the application.

 MPTCP側では、アプリケーションの実行開始に伴い、MPTCP制御部153A,153Bは、FTPに係るセッションの設立を開始する。この際、MPTCP制御部153A,153Bは、無線LANを用いて、IPアドレス「XX」,「X’X’」を用いて、サブフローsf11(図3に示すサブフローsf1の一例)を設立する(S21)。 On the MPTCP side, with the start of application execution, the MPTCP control units 153A and 153B start establishment of a session related to FTP. At this time, the MPTCP control units 153A and 153B establish the subflow sf11 (an example of the subflow sf1 shown in FIG. 3) using the IP addresses “XX” and “X′X ′” using the wireless LAN (S21). ).

 続いて、MPTCP制御部153A,153Bは、MPTCPに従って、FTPに係るサブフローsf21を設立する(S22)。この際、通信I/F106A及び通信I/F106Bは、無線WANを用いて、IPアドレス「YY」,「Y’Y’」を用いて、サブフローsf21(図3に示すサブフローsf2の一例)を設立する。 Subsequently, the MPTCP control units 153A and 153B establish a subflow sf21 related to FTP according to MPTCP (S22). At this time, the communication I / F 106A and the communication I / F 106B establish a subflow sf21 (an example of the subflow sf2 shown in FIG. 3) using the wireless WAN and the IP addresses “YY” and “Y′Y ′”. To do.

 MPTCP制御部153A,153Bは、API152A,152Bへ、サブフロー情報を登録する(S23)。このサブフロー情報は、携帯端末100Aとサーバ100Bとの間で設立されたMPTCPセッションの各サブフローに係る情報(例えば、通信I/F部104A,104B,106A,106BのIPアドレスの情報)を含む。例えば、サブフロー情報は、サブフローsf11に用いるIPアドレス「XX」,「X’X’」と、サブフローsf21に用いるIPアドレス「YY」,「Y’Y’」と、を含む。各サブフローsf21に用いられる各IPアドレス情報は、対応付けて保持される。 The MPTCP control units 153A and 153B register the subflow information in the APIs 152A and 152B (S23). This subflow information includes information related to each subflow of the MPTCP session established between the mobile terminal 100A and the server 100B (for example, information on the IP addresses of the communication I / F units 104A, 104B, 106A, and 106B). For example, the subflow information includes IP addresses “XX” and “X′X ′” used for the subflow sf11 and IP addresses “YY” and “Y′Y ′” used for the subflow sf21. Each IP address information used for each subflow sf21 is held in association with each other.

 尚、MPTCP制御部153A,153Bは、他にサブフローが生成された場合、このサブフローに係るサブフロー情報を、同様に、API152A,152Bに登録する。また、いずれかのサブフローが削除された場合(例えば無線LANが通信圏外となり、サブフローが切断された場合)、このサブフローに係るサブフロー情報を、API152A,152Bから削除する。 In addition, when another subflow is generated, the MPTCP control units 153A and 153B similarly register the subflow information related to the subflow in the APIs 152A and 152B. When any subflow is deleted (for example, when the wireless LAN is out of communication range and the subflow is disconnected), the subflow information related to this subflow is deleted from the APIs 152A and 152B.

 図5Bでは、アプリケーション制御部151A,151Bは、API152A,152Bを参照し、サブフロー情報を監視する(S24)。 In FIG. 5B, the application control units 151A and 151B monitor the subflow information with reference to the APIs 152A and 152B (S24).

 そして、アプリケーション制御部151A,151Bは、API152A,152Bのサブフロー情報が更新されているか否かを判定する(S25)。 And application control part 151A, 151B determines whether the subflow information of API152A, 152B is updated (S25).

 例えば、携帯端末100Aが無線LANの通信圏外になると、MPTCPによりサブフローsf11が切断される。切断されたサブフローsf11に係るIPアドレスの情報は、API152A,152Bから削除される。また、例えば、携帯端末100Aが新たに無線LANの通信圏内となると、MPTCPによりサブフローsf31が追加される。追加されたサブフローsf31に係るIPアドレスの情報は、API152A,152Bに登録される。 For example, when the mobile terminal 100A goes out of the wireless LAN communication range, the subflow sf11 is disconnected by MPTCP. Information on the IP address related to the disconnected subflow sf11 is deleted from the APIs 152A and 152B. For example, when the mobile terminal 100A newly enters the wireless LAN communication range, the subflow sf31 is added by MPTCP. Information on the IP address related to the added subflow sf31 is registered in the APIs 152A and 152B.

 アプリケーション制御部151A,151Bは、API152A,152Bのサブフロー情報が更新されていた場合、アプリケーションが有するサブフロー情報(例えばアプリケーションが通信先として認識するIPアドレスの情報)を更新する(S26)。アプリケーションが有するサブフロー情報は、例えば、アプリケーションプログラムのパラメータの情報として含まれ得る。 Application control units 151A and 151B update the subflow information (for example, IP address information recognized by the application as a communication destination) of the application when the subflow information of APIs 152A and 152B has been updated (S26). The subflow information possessed by the application can be included, for example, as parameter information of the application program.

 例えば、S23において、サブフロー情報として、サブフローsf21に用いるIPアドレス「YY」,「Y’Y’」が、API152A,152Bとに保持されている。アプリケーション制御部151A,151Bは、変更前にサブフローsf11に係るIPアドレス「XX」,「X’X’」を通信先として指定していた場合、API152A,152Bのサブフロー情報を参照することで、IPアドレスとして「XX」,「X’X’」ではなく「YY」,「Y’Y’」が使用可能であることを認識する。そこで、アプリケーション制御部151A,151Bは、変更後のサブフローsf21に係るIPアドレス「YY」,「Y’Y’」を通信先とするよう、アプリケーションを更新する。 For example, in S23, the IP addresses “YY” and “Y′Y ′” used for the subflow sf21 are held in the APIs 152A and 152B as the subflow information. When the IP addresses “XX” and “X′X ′” related to the subflow sf11 are specified as communication destinations before the change, the application control units 151A and 151B refer to the subflow information of the APIs 152A and 152B to obtain the IP It is recognized that “YY” and “Y′Y ′” can be used instead of “XX” and “X′X ′” as addresses. Therefore, the application control units 151A and 151B update the application so that the IP addresses “YY” and “Y′Y ′” related to the changed subflow sf21 are communication destinations.

 S26によりアプリケーションが有するサブフロー情報が更新されると、アプリケーション制御部151A,151Bは、更新されたサブフロー情報を用いて、FTPデータを通信可能となる。この場合、例えば、図4のS18のようにサーバ100BがFTPデータの転送要求を受信した場合、アプリケーション制御部151Bは、更新後のサブフロー情報のIPアドレス(例えばIPアドレス「YY」,「Y’Y’」)が通常の転送要求元のIPアドレスであるとして、FTPのセキュリティチェックを実施することとなる。これにより、サーバ100Bは、アプリケーションが有するサブフローの更新後に新たな転送要求を受信しても、FTPのセキュリティチェックにおいて別経路であると判断されるエラーを回避でき、FTP通信が停止することを抑制できる。 When the subflow information included in the application is updated in S26, the application control units 151A and 151B can communicate FTP data using the updated subflow information. In this case, for example, when the server 100B receives the FTP data transfer request as in S18 of FIG. 4, the application control unit 151B causes the IP address (for example, IP addresses “YY”, “Y ′”) of the updated subflow information. Assuming that Y ′ ”) is the IP address of the normal transfer request source, the FTP security check is performed. As a result, even if the server 100B receives a new transfer request after updating the subflow of the application, the server 100B can avoid an error that is determined as another path in the FTP security check, and suppresses the FTP communication from being stopped. it can.

 図5Cでは、アプリケーション制御部151Bは、FTPに係るセキュリティチェックを実施する(S27)。尚、図5Cの開始時には、API152Bが保持するサブフロー情報には、更新後のサブフロー情報に係る「YY」,「Y’Y’」が登録されている。また、IPアドレスアプリケーションが有するサブフロー情報には、通信先としてIPアドレス「XX」,「X’X’」が登録されている。 In FIG. 5C, the application control unit 151B performs a security check related to FTP (S27). At the start of FIG. 5C, “YY” and “Y′Y ′” related to the updated subflow information are registered in the subflow information held by the API 152B. In addition, IP addresses “XX” and “X′X ′” are registered as communication destinations in the subflow information included in the IP address application.

 アプリケーション制御部151Bは、アプリケーションの実行中に、アプリケーションに係るセキュリティチェックが発生したか否かを判定する(S28)。セキュリティチェックは、例えば、携帯端末100Aが無線LANの通信圏外に移動することにより、転送要求が別経路(異なるサブフロー)から取得された際に発生する。例えば、サブフローsf11が無線LANの通信圏外となって切断され、サブフローsf21が設立維持されていることが考えられる。 The application control unit 151B determines whether a security check related to the application has occurred during execution of the application (S28). The security check occurs, for example, when the transfer request is acquired from another route (different subflow) due to the mobile terminal 100A moving out of the wireless LAN communication range. For example, it is conceivable that the subflow sf11 is disconnected when it is out of the communication range of the wireless LAN, and the subflow sf21 is established and maintained.

 セキュリティチェックが発生した場合、アプリケーション制御部151Bは、API152Bに保持されたサブフロー情報を参照する(S29)。前述のように、API152Bの更新後のサブフロー情報には、例えば、サブフローsf21に用いるIPアドレス「YY」,「Y’Y’」が含まれる。 When a security check occurs, the application control unit 151B refers to the subflow information held in the API 152B (S29). As described above, the updated subflow information of the API 152B includes, for example, IP addresses “YY” and “Y′Y ′” used for the subflow sf21.

 アプリケーション制御部151Bは、アプリケーションが有するサブフローに係るIPアドレスを、API152Bに保持されたサブフロー情報に含まれる他のIPアドレスで置換することで、セキュリティチェックのエラーが解決するか否かを判定する(S30)。例えば、アプリケーション制御部151Bは、エラーとなったIPアドレス「YY」,「Y’Y’」(今回の転送要求のIPアドレス)を「XX」,「X’X’」(前回の転送要求のIPアドレス)に置換することで、セキュリティチェックのエラーが無くなるか判定する。 The application control unit 151B determines whether or not the security check error is resolved by replacing the IP address related to the subflow included in the application with another IP address included in the subflow information held in the API 152B ( S30). For example, the application control unit 151B sets the IP addresses “YY” and “Y′Y ′” (IP address of the current transfer request) in error to “XX” and “X′X ′” (the previous transfer request It is determined whether there is no security check error by replacing with (IP address).

 IPアドレスの置換によりセキュリティチェックのエラーを解決できる場合、アプリケーション制御部151Bは、エラーとなったサブフロー(ここではサブフローsf22)のIPアドレス(ここではIPアドレス「YY」,「Y’Y’」)をセキュリティチェックの対象から除外する(S30A)。 When the security check error can be resolved by replacing the IP address, the application control unit 151B determines that the IP address of the subflow (subflow sf22 in this case) in error (here, IP address “YY”, “Y′Y ′”) Are excluded from security check targets (S30A).

 セキュリティチェックの対象から除外するとは、アプリケーションが有するサブフローに係るIPアドレス(例えばIPアドレス「XX」,「X’X’」)を、API152Bに保持されたサブフロー情報に含まれる他のIPアドレス(例えばIPアドレス「YY」,「Y’Y’」)で置換することを含んでもよい。 To exclude from the security check target, an IP address (for example, IP address “XX”, “X′X ′”) related to the subflow possessed by the application is replaced with another IP address (for example, IP address included in the subflow information held in the API 152B). IP address “YY”, “Y′Y ′”) may be included.

 これにより、サーバ100Bは、例えば、前回の転送要求の送信元となったIPアドレスを書き換えでき、前回の転送要求の送信元と今回の転送要求の送信元とが一致するので、セキュリティチェックに係る通信エラーを回避できる。 Thereby, for example, the server 100B can rewrite the IP address that has become the transmission source of the previous transfer request, and the transmission source of the previous transfer request matches the transmission source of the current transfer request. Communication errors can be avoided.

 また、セキュリティチェックの対象から除外するとは、アプリケーションが有するサブフロー情報にエラーとなるIPアドレス(例えばIPアドレス「XX」,「X’X’」)を含めたまま、今回の転送要求の送信元のIPアドレス(例えばIPアドレス「YY」,「Y’Y’」)を「Bad IP Connecting」の対象から除外するための情報(例えばフラグ)を、アプリケーションが保持することを含んでもよい。 In addition, excluding from the security check target includes the IP address (for example, IP address “XX”, “X′X ′”) that causes an error in the subflow information that the application has, and the source of the current transfer request. The application may hold information (for example, a flag) for excluding an IP address (for example, IP addresses “YY”, “Y′Y ′”) from the target of “Bad IP Connecting”.

 これにより、サーバ100Bは、例えば、前回の転送要求の送信元と今回の転送要求の送信元とのサブフローに係るIPアドレスが不一致のままでも、セキュリティチェックに係る通信エラーを回避できる。また、サーバ100Bは、今回の転送要求の送信元のIPアドレスを把握できるので、このIPアドレス(例えばIPアドレス「YY」,「Y’Y’」)を用いて、転送要求に応じたFTPデータを転送でき、通信を継続できる。 Thereby, for example, the server 100B can avoid a communication error related to the security check even if the IP addresses related to the subflows of the transmission source of the previous transfer request and the transmission source of the current transfer request remain inconsistent. Further, since the server 100B can grasp the IP address of the transmission source of the current transfer request, the FTP data corresponding to the transfer request using this IP address (for example, IP addresses “YY”, “Y′Y ′”). Can be transferred and communication can be continued.

 このように、MPTCPに従ってFTPを実行する場合、通信装置100は、API152を参照することで、アプリケーションが有するサブフローの情報を更新できる。通信装置100は、更新後のサブフロー情報を用いて通信することで、又はアプリケーションに認識されていないがAPI152に登録されているサブフロー情報に係るIPアドレスをセキュリティチェックの対象から除外することで、アプリケーションにおいてエラーが発生することを抑制でき、通信効率を向上できる。また、通信装置100は、MPTCPにより複数のサブフローを用いて通信できるので、各サブフローで通信可能な場合には、通信を高速化できる。 As described above, when executing FTP according to MPTCP, the communication apparatus 100 can update the subflow information of the application by referring to the API 152. The communication apparatus 100 communicates by using the updated subflow information, or excludes the IP address related to the subflow information that is not recognized by the application but registered in the API 152 from the security check target. It is possible to suppress the occurrence of an error and improve communication efficiency. Moreover, since the communication apparatus 100 can communicate using a plurality of subflows by MPTCP, communication can be speeded up if communication is possible in each subflow.

 [ユースケース2]
 ユースケース2では、アプリケーションとしてAMQP(Advanced Message Queuing Protocol)が実行される。つまり、サーバ100Bは、AMQPサーバである。
[Use Case 2]
In use case 2, AMQP (Advanced Message Queuing Protocol) is executed as an application. That is, the server 100B is an AMQP server.

 図6は、API152を備えない通信システム10がMPTCPに従ってAMQPを実行する際の動作例を示すシーケンス図である。 FIG. 6 is a sequence diagram showing an operation example when the communication system 10 without the API 152 executes AMQP according to MPTCP.

 図6では、携帯端末100Aにおいて、通信I/F104Aの通信方式が無線LAN通信の方式であり、通信I/F106Aの通信方式が無線WANの通信の方式であることを想定する。通信I/F104Aは、IPアドレス「XX」を用い、通信I/F106Aは、IPアドレス「YY」を用いる。また、サーバ100Bにおいて、通信I/F104Bの通信方式が無線LAN通信の方式であり、通信I/F106Bの通信方式が無線WANの通信の方式であることを想定する。通信I/F104Bは、IPアドレス「X’X’」を用い、通信I/F106Bは、IPアドレス「Y’Y’」を用いる。 In FIG. 6, it is assumed that in the portable terminal 100A, the communication method of the communication I / F 104A is a wireless LAN communication method, and the communication method of the communication I / F 106A is a wireless WAN communication method. The communication I / F 104A uses the IP address “XX”, and the communication I / F 106A uses the IP address “YY”. In the server 100B, it is assumed that the communication method of the communication I / F 104B is a wireless LAN communication method, and the communication method of the communication I / F 106B is a wireless WAN communication method. The communication I / F 104B uses the IP address “X′X ′”, and the communication I / F 106B uses the IP address “Y′Y ′”.

 まず、入力デバイスがアプリケーションを実行するための入力操作を受け付けると、アプリケーション制御部151A,151Bが、アプリケーションの実行を開始する。 First, when the input device receives an input operation for executing an application, the application control units 151A and 151B start executing the application.

 アプリケーションの実行開始に伴い、携帯端末100Aでは、TCP通信部154Aは、MPTCP制御部153Aの制御により、ポートとしての通信I/F104Aを開放(port open)し、通信I/F104Bを開放する(port open)よう要求する(S31)。 As the application starts, in the mobile terminal 100A, the TCP communication unit 154A opens the communication I / F 104A as a port (port open) and opens the communication I / F 104B (port) under the control of the MPTCP control unit 153A. open) (S31).

 サーバ100Bでは、TCP通信部154Bは、port open要求を受信する。TCP通信部154Bは、MPTCP制御部153Bの制御により、ポートとしての通信I/F104Bを開放し、port open要求に対するACKを返信する(S32)。これにより、MPTCP制御部153A,153Bは、AMQPのセッションを設立し、サブフローsf12(図3に示すサブフローsf1の一例)を設立する。 In the server 100B, the TCP communication unit 154B receives the port open request. The TCP communication unit 154B opens the communication I / F 104B as a port under the control of the MPTCP control unit 153B, and returns an ACK for the port open request (S32). As a result, the MPTCP control units 153A and 153B establish an AMQP session and establish a subflow sf12 (an example of the subflow sf1 illustrated in FIG. 3).

 同様に、TCP通信部155Aは、MPTCP制御部153Aの制御により、ポートとしての通信I/F106Aを開放(port open)し、通信I/F106Bを開放するよう要求し、サブフローの追加(Subflow JOIN)をサーバ100Bへ要求する(S33)。 Similarly, under the control of the MPTCP control unit 153A, the TCP communication unit 155A requests the communication I / F 106A as a port to be opened (port open), the communication I / F 106B to be opened, and the addition of a subflow (Subflow JOIN) Is requested to the server 100B (S33).

 サーバ100Bでは、TCP通信部155Bは、port open要求及びSubflow JOIN要求を受信する。TCP通信部155Bは、MPTCP制御部153Bの制御により、ポートとしての通信I/F106Bを開放し、新たなサブフローsf22(図3に示すサブフローsf2の一例)を設立し、Subflow JOIN要求に対するACKを返信する(S34)。 In the server 100B, the TCP communication unit 155B receives the port open request and the Subflow JOIN request. The TCP communication unit 155B opens the communication I / F 106B as a port under the control of the MPTCP control unit 153B, establishes a new subflow sf22 (an example of the subflow sf2 shown in FIG. 3), and returns an ACK for the Subflow JOIN request. (S34).

 S31~S34により、MPTCPのセッションが設立され、サブフローsf12,sf22が設立され、携帯端末100A及びサーバ100Bの間においてマルチパスで通信可能となる。 Through S31 to S34, an MPTCP session is established, subflows sf12 and sf22 are established, and communication between the mobile terminal 100A and the server 100B is possible via multipath.

 TCP通信部154A,154Bは、設立されたサブフローsf12を介して、AMQPに係るデータ(AMQPデータ)を通信する(S35)。TCP通信部155A,155Bは、設立されたサブフローsf22を介して、AMQPデータを通信する(S36)。 The TCP communication units 154A and 154B communicate data related to AMQP (AMQP data) via the established subflow sf12 (S35). The TCP communication units 155A and 155B communicate AMQP data via the established subflow sf22 (S36).

 AMQPデータには、例えば、サブスクリプション情報、コールバック情報が含まれる。サブスクリプション情報は、サブフローの情報(例えば自装置の識別情報、他装置の識別情報、サブフローに係る自装置側のIPアドレスの情報、サブフローに係る他装置側のIPアドレスの情報)やコールバック関数の条件の情報などが含まれる。コールバック情報は、コールバック関数に係る情報である。コールバック関数は、各種イベントの発生時(例えば、携帯端末100Aやサーバ200に転送すべきデータが発生した時)に、サーバ100Bが携帯端末100Aへデータを送るための関数である。サブスクリプション情報及びコールバック情報をサーバ100Bのメモリ102へ登録しておくことで、イベント発生時にサーバ100Bから携帯端末100Aへデータを送信可能である。 AMQP data includes, for example, subscription information and callback information. The subscription information includes subflow information (for example, identification information of the own device, identification information of the other device, IP address information of the own device relating to the subflow, information of the IP address of the other device relating to the subflow) and a callback function. This includes information on the conditions. Callback information is information relating to a callback function. The callback function is a function for the server 100B to send data to the mobile terminal 100A when various events occur (for example, when data to be transferred to the mobile terminal 100A or the server 200 occurs). By registering subscription information and callback information in the memory 102 of the server 100B, data can be transmitted from the server 100B to the mobile terminal 100A when an event occurs.

 携帯端末100Aとサーバ100Bとの間で送信すべきAMQPデータが無くなると、携帯端末100Aでは、TCP通信部154Aは、MPTCP制御部153Aの制御により、ポートとしての通信I/F104Aを閉じ(port close)、通信I/F104Bを開じる(port close)よう要求する(S37)。 When there is no more AMQP data to be transmitted between the mobile terminal 100A and the server 100B, in the mobile terminal 100A, the TCP communication unit 154A closes the communication I / F 104A as a port (port close) under the control of the MPTCP control unit 153A. ) And request to open the communication I / F 104B (port close) (S37).

 サーバ100Bでは、TCP通信部154Bは、port close要求を受信する。TCP通信部154Bは、MPTCP制御部153Bの制御により、ポートとしての通信I/F104Bを閉じ、port close要求に対するACKを返信する(S38)。これにより、MPTCP制御部153A,153Bは、AMQPのサブフローsf12を切断する。 In the server 100B, the TCP communication unit 154B receives the port close request. The TCP communication unit 154B closes the communication I / F 104B as a port under the control of the MPTCP control unit 153B, and returns an ACK for the port close request (S38). As a result, the MPTCP control units 153A and 153B disconnect the AMQP subflow sf12.

 同様に、携帯端末100Aでは、TCP通信部155Aは、MPTCP制御部153Aの制御により、ポートとしての通信I/F106Aを閉じ(port close)、通信I/F106Bを閉じる(port close)よう要求し、サブフローの切断を要求する(S39)。 Similarly, in the mobile terminal 100A, the TCP communication unit 155A requests the communication I / F 106A as a port to be closed (port close) and the communication I / F 106B to be closed (port close) under the control of the MPTCP control unit 153A. A request to disconnect the subflow is issued (S39).

 サーバ100Bでは、TCP通信部155Bは、port close要求及びサブフローの切断要求を受信する。TCP通信部155Bは、MPTCP制御部153Bの制御により、ポートとしての通信I/F106Bを閉じ、port close要求に対するACKを返信する(S40)。これにより、MPTCP制御部153A,153Bは、AMQPのサブフローsf22を切断する。 In the server 100B, the TCP communication unit 155B receives the port close request and the subflow disconnection request. The TCP communication unit 155B closes the communication I / F 106B as a port under the control of the MPTCP control unit 153B, and returns an ACK for the port close request (S40). As a result, the MPTCP control units 153A and 153B disconnect the AMQP subflow sf22.

 ここで、AMQPデータの通信中又は通信後に、携帯端末100Aが無線LANの通信圏外に移動したことに起因して、サブフローsf21が切断され、その後無線LAN通信が不可であるとする(S41)。 Here, it is assumed that the sub-flow sf21 is disconnected due to the mobile terminal 100A moving out of the wireless LAN communication range during or after the communication of the AMQP data, and then the wireless LAN communication is impossible (S41).

 S41の後、サーバ100Bにおいて、キューにメッセージが蓄積された状態で、アプリケーションに係るイベントが発生したとする。この場合、アプリケーション制御部151Bは,メモリ120に保持されたサブスクリプション情報及びコールバック情報を基に、サブフローsf21を介して、蓄積されたメッセージを送信するべく、port open要求をIPアドレス「XX」に対して送信する(S42)。 After S41, it is assumed that an event relating to an application occurs in the server 100B in a state where messages are accumulated in the queue. In this case, the application control unit 151B sends a port open request to the IP address “XX” in order to send the accumulated message via the subflow sf21 based on the subscription information and callback information held in the memory 120. (S42).

 携帯端末100Aでは、無線LAN通信の通信圏外に所在するために、IPアドレス「XX」に送信されたport open要求を受信することができない。従って、携帯端末100Aは、port open要求に対して応答できない(S43)。 The mobile terminal 100A cannot receive the port open request transmitted to the IP address “XX” because it is located outside the communication range of the wireless LAN communication. Therefore, the portable terminal 100A cannot respond to the port open request (S43).

 つまり、サブフローに係るポートとしての通信I/Fが一旦閉じられた後に、携帯端末100Aが無線LAN通信の圏外に移動すると、サーバ100Bは、API152Bを備えない場合、AMQPデータを携帯端末100Aへ送信したい場合でも、携帯端末100A側の通信I/Fを開放(port open)できない。従って、サーバ100Bは、キューに積まれたデータを携帯端末100Aへ転送できない。 That is, when the mobile terminal 100A moves out of the wireless LAN communication range after the communication I / F as a port related to the subflow is once closed, the server 100B transmits AMQP data to the mobile terminal 100A when the API 152B is not provided. Even if the user wants to do so, the communication I / F on the portable terminal 100A side cannot be opened (port open). Therefore, the server 100B cannot transfer the data stored in the queue to the mobile terminal 100A.

 図7A~Cは、API152を備える通信システム10がMPTCPに従ってAMQPを実行する際の動作例を示すフローチャートである。図7Aは、MPTCP側の動作例を示す。図7Bは、アプリケーション側のAPI152のサブフロー監視に係る動作例を示す。図7Cは、アプリケーション側の通信系に係る動作例を示す。 7A to 7C are flowcharts showing an operation example when the communication system 10 including the API 152 executes AMQP according to MPTCP. FIG. 7A shows an operation example on the MPTCP side. FIG. 7B shows an operation example related to subflow monitoring of the API 152 on the application side. FIG. 7C shows an operation example related to the communication system on the application side.

 図7A~Cでは、図6と同様に、携帯端末100Aにおいて、通信I/F104Aの通信方式が無線LAN通信の方式であり、通信I/F106Aの通信方式が無線WANの通信の方式であることを想定する。通信I/F104Aは、IPアドレス「XX」を用い、通信I/F106Aは、IPアドレス「YY」を用いる。また、サーバ100Bにおいて、通信I/F104Bの通信方式が無線LAN通信の方式であり、通信I/F106Bの通信方式が無線WANの通信の方式であることを想定する。通信I/F104Bは、IPアドレス「X’X’」を用い、通信I/F106Bは、IPアドレス「Y’Y’」を用いる。 7A to 7C, similarly to FIG. 6, in the portable terminal 100A, the communication method of the communication I / F 104A is a wireless LAN communication method, and the communication method of the communication I / F 106A is a wireless WAN communication method. Is assumed. The communication I / F 104A uses the IP address “XX”, and the communication I / F 106A uses the IP address “YY”. In the server 100B, it is assumed that the communication method of the communication I / F 104B is a wireless LAN communication method, and the communication method of the communication I / F 106B is a wireless WAN communication method. The communication I / F 104B uses the IP address “X′X ′”, and the communication I / F 106B uses the IP address “Y′Y ′”.

 図7Aでは、まず、携帯端末100Aの入力デバイスがアプリケーションを実行するためのユーザからの入力操作を受け付けると、アプリケーション制御部151Aが、アプリケーションの実行を開始する。 7A, first, when the input device of the mobile terminal 100A receives an input operation from a user for executing an application, the application control unit 151A starts executing the application.

 MPTCP側では、アプリケーションの実行開始に伴い、MPTCP制御部153A,153Bは、AMQPに係るセッションの設立を開始する。この際、MPTCP制御部153A,153Bは、無線LANを用いて、IPアドレス「XX」,「X’X’」を用いて、サブフローsf12(図3に示すサブフローsf1の一例)を設立する(S51)。 On the MPTCP side, with the start of application execution, the MPTCP control units 153A and 153B start establishment of a session related to AMQP. At this time, the MPTCP control units 153A and 153B establish the subflow sf12 (an example of the subflow sf1 illustrated in FIG. 3) using the IP addresses “XX” and “X′X ′” using the wireless LAN (S51). ).

 続いて、MPTCP制御部153A,153Bは、MPTCPに従って、AMQPに係るサブフローsf22(図3に示すサブフローsf2の一例)を設立する(S52)。この際、MPTCP制御部153A,153Bは、無線WANを用いて、IPアドレス「YY」,「Y’Y’」を用いて、サブフローsf22を設立する。 Subsequently, the MPTCP control units 153A and 153B establish a subflow sf22 related to AMQP (an example of the subflow sf2 shown in FIG. 3) according to MPTCP (S52). At this time, the MPTCP control units 153A and 153B establish the subflow sf22 using the IP addresses “YY” and “Y′Y ′” using the wireless WAN.

 MPTCP制御部153A,153Bは、API152A,152Bへ、サブフロー情報を登録する(S53)。このサブフロー情報は、携帯端末100Aとサーバ100Bとの間で設立されたMPTCPセッションの各サブフローに係る情報(例えば、通信I/F部104A,104B,106A,106BのIPアドレスの情報)を含む。例えば、サブフロー情報は、サブフローsf12に用いるIPアドレス「XX」,「X’X’」と、サブフローsf22に用いるIPアドレス「YY」,「Y’Y’」と、を含む。各サブフローに用いられる各IPアドレス情報は、対応付けて保持される。 The MPTCP control units 153A and 153B register the subflow information in the APIs 152A and 152B (S53). This subflow information includes information related to each subflow of the MPTCP session established between the mobile terminal 100A and the server 100B (for example, information on the IP addresses of the communication I / F units 104A, 104B, 106A, and 106B). For example, the subflow information includes IP addresses “XX” and “X′X ′” used for the subflow sf12 and IP addresses “YY” and “Y′Y ′” used for the subflow sf22. Each IP address information used for each subflow is held in association with each other.

 尚、MPTCP制御部153A,153Bは、他にサブフローが生成された場合、このサブフローに係るサブフロー情報を、同様に、API152A,152Bに登録する。また、いずれかのサブフローが削除された場合(例えば無線LANが通信圏外となり、サブフローが切断された場合)、このサブフローに係るサブフロー情報を、API152A,152Bから削除する。 In addition, when another subflow is generated, the MPTCP control units 153A and 153B similarly register the subflow information related to the subflow in the APIs 152A and 152B. When any subflow is deleted (for example, when the wireless LAN is out of communication range and the subflow is disconnected), the subflow information related to this subflow is deleted from the APIs 152A and 152B.

 図7Bでは、アプリケーション制御部151A,151Bは、API152A,152Bを参照し、サブフロー情報を監視する(S54)。 7B, the application control units 151A and 151B refer to the APIs 152A and 152B and monitor the subflow information (S54).

 そして、アプリケーション制御部151A,151Bは、API152A,152Bのサブフロー情報が更新されているか否かを判定する(S55)。 And application control part 151A, 151B determines whether the subflow information of API152A, 152B is updated (S55).

 例えば、携帯端末100Aが無線LANの通信圏外になると、MPTCPによりサブフローsf12が切断される。切断されたサブフローsf12に係るIPアドレスの情報は、API152A,152Bから削除される。また、例えば、携帯端末100Aが新たに無線LANの通信圏内となると、MPTCPによりサブフローsf32が追加される。追加されたサブフローsf32に係るIPアドレスの情報は、API152A,152Bに登録される。 For example, when the mobile terminal 100A goes out of the communication range of the wireless LAN, the subflow sf12 is disconnected by MPTCP. The IP address information related to the disconnected subflow sf12 is deleted from the APIs 152A and 152B. For example, when the mobile terminal 100A newly enters the wireless LAN communication range, the subflow sf32 is added by MPTCP. Information of the IP address related to the added subflow sf32 is registered in the APIs 152A and 152B.

 アプリケーション制御部151A,151Bは、API152A,152Bのサブフロー情報が更新されていた場合、アプリケーションが有するサブフロー情報(例えばアプリケーションが通信先として認識するIPアドレスの情報)を更新する(S56)。アプリケーションが有するサブフロー情報は、例えば、アプリケーションプログラムのパラメータの情報として含まれ得る。 When the subflow information of the APIs 152A and 152B has been updated, the application control units 151A and 151B update the subflow information (for example, information on the IP address that the application recognizes as a communication destination) that the application has (S56). The subflow information possessed by the application can be included, for example, as parameter information of the application program.

 例えば、S53において、サブフロー情報として、サブフローsf22に用いるIPアドレス「YY」,「Y’Y’」が、API152A,152Bに保持されている。アプリケーション制御部151A,151Bは、変更前にサブフローsf12に係るIPアドレス「XX」,「X’X’」を通信先として指定していた場合、API152A,152Bのサブフロー情報を参照することで、IPアドレスとして「XX」,「X’X’」ではなく「YY」,「Y’Y’」が使用可能であることを認識する。そこで、アプリケーション制御部151A,151Bは、変更後のサブフローsf22に係るIPアドレス「YY」,「Y’Y’」を通信先とするよう、アプリケーションを更新する。 For example, in S53, the IP addresses “YY” and “Y′Y ′” used for the subflow sf22 are held in the APIs 152A and 152B as the subflow information. When the IP addresses “XX” and “X′X ′” related to the subflow sf12 are specified as communication destinations before the change, the application control units 151A and 151B refer to the subflow information of the APIs 152A and 152B to obtain the IP It is recognized that “YY” and “Y′Y ′” can be used instead of “XX” and “X′X ′” as addresses. Therefore, the application control units 151A and 151B update the application so that the IP addresses “YY” and “Y′Y ′” related to the changed subflow sf22 are communication destinations.

 図7Cでは、アプリケーション制御部151A,151Bは、AMQPに係るデータ通信の可否チェックを実施する(S57)。尚、図7Cの開始時には、API152Bが保持するサブフロー情報には、更新後のサブフロー情報に係る「YY」,「Y’Y’」が登録されている。また、アプリケーションが有するサブフロー情報には、通信先としてIPアドレス「XX」,「X’X’」が登録されている。 In FIG. 7C, the application control units 151A and 151B perform the data communication availability check related to AMQP (S57). At the start of FIG. 7C, “YY” and “Y′Y ′” related to the updated subflow information are registered in the subflow information held by the API 152B. In addition, IP addresses “XX” and “X′X ′” are registered as communication destinations in the subflow information included in the application.

 アプリケーション制御部151Bは、アプリケーションの実行中に、通信先からの応答が無いか否かを判定する(S58)。通信先の応答が無い要因としては、例えば無線LANの通信圏外となったことが考えられる。 The application control unit 151B determines whether there is no response from the communication destination during execution of the application (S58). As a factor that there is no response from the communication destination, for example, it is considered that the wireless LAN is out of communication range.

 通信先からの応答が無い場合、アプリケーション制御部151Bは、API152に保持されたサブフロー情報を参照する(S59)。前述のように、API152Bの更新後のサブフロー情報には、例えば、サブフローsf22に用いるIPアドレス「YY」,「Y’Y’」が含まれる。 If there is no response from the communication destination, the application control unit 151B refers to the subflow information held in the API 152 (S59). As described above, the updated subflow information of the API 152B includes, for example, IP addresses “YY” and “Y′Y ′” used for the subflow sf22.

 アプリケーション制御部151Bは、アプリケーションが有するサブフローに係るIPアドレスを、API152Bに保持されたサブフロー情報に含まれる他のIPアドレスで置換することで、通信先からの応答を取得可能か否かを判定する(S60)。例えば、アプリケーション制御部151A,151Bは、通信先のIPアドレス「XX」,「X’X’」を「YY」,「Y’Y’」に置換することで、通信先においてデータを取得可能か否かを判定する。 The application control unit 151B determines whether it is possible to obtain a response from the communication destination by replacing the IP address related to the subflow possessed by the application with another IP address included in the subflow information held in the API 152B. (S60). For example, can the application control units 151A and 151B acquire data at the communication destination by replacing the IP addresses “XX” and “X′X ′” of the communication destination with “YY” and “Y′Y ′”? Determine whether or not.

 IPアドレスの置換により通信先において応答を取得可能な場合、アプリケーション制御部151Bは、アプリケーションに係るデータ(AMQPデータ)の送信宛先を、API152Bを参照して更新する。具体的には、アプリケーション制御部151Bは、アプリケーションに係るデータの送信宛先を、IPアドレス「XX」,「X’X’」から「YY」,「Y’Y’」に書き換える(S61)。アプリケーションに係るデータは、例えばport openの指示を含む。 When the response can be acquired at the communication destination by replacing the IP address, the application control unit 151B updates the transmission destination of the data (AMQP data) related to the application with reference to the API 152B. Specifically, the application control unit 151B rewrites the transmission destination of the data related to the application from the IP address “XX”, “X′X ′” to “YY”, “Y′Y ′” (S61). The data relating to the application includes, for example, a port open instruction.

 S56又はS61によりアプリケーションが有するサブフロー情報(ここではアプリケーションに係る送信宛先の情報)が更新されると、アプリケーション制御部151Bは、更新されたサブフロー情報を用いて、AMQPデータを通信する。つまり、図6のS42のように、サーバ100Bが、AMQPデータ(例えばPort Open要求)を送信する際、アプリケーション制御部151Bは、更新後のサブフロー情報のIPアドレス「YY」,「Y’Y’」のサブフローsf22を介して、携帯端末100Aへ送信することになる。これにより、サーバ100Bは、携帯端末100AにおいてAMQPデータを受信させることができる。よって、サーバ100Bは、携帯端末100AからAMQPデータに対するACKデータを受信でき、AMQPデータの通信が停止することを抑制できる。 When the subflow information (in this case, the transmission destination information related to the application) included in the application is updated in S56 or S61, the application control unit 151B communicates AMQP data using the updated subflow information. That is, as in S42 of FIG. 6, when the server 100B transmits AMQP data (for example, Port Open request), the application control unit 151B causes the IP addresses “YY” and “Y′Y ′” of the updated subflow information. To the portable terminal 100A via the subflow sf22. Thereby, server 100B can receive AMQP data in portable terminal 100A. Therefore, the server 100B can receive ACK data for AMQP data from the mobile terminal 100A, and can suppress communication of AMQP data from being stopped.

 このように、MPTCPに従ってAMQPを実行する場合、通信装置100は、API152を参照することで、アプリケーションが有するサブフローの情報を更新できる。通信装置100は、更新されたサブフロー情報を用いて通信することで、送信先において受信不可となりエラーが発生することを抑制でき、通信効率を向上できる。また、通信装置100は、MPTCPにより複数のサブフローを用いて通信できるので、各サブフローで通信可能な場合には、通信を高速化できる。 As described above, when AMQP is executed according to MPTCP, the communication apparatus 100 can update the subflow information of the application by referring to the API 152. The communication device 100 can suppress the occurrence of an error due to the reception failure at the transmission destination by performing communication using the updated subflow information, and the communication efficiency can be improved. Moreover, since the communication apparatus 100 can communicate using a plurality of subflows by MPTCP, communication can be speeded up if communication is possible in each subflow.

 [効果等]
 このように、通信システム10では、アプリケーションが、MPTCPの第1のサブフローが消失した場合、APIを参照することで、アプリケーションが用いるべきアドレスが遷移したことを把握できる。そのため、例えばFTPやAMQPで発生し得る制御ポートとアドレスポートとの不整合による異常検出によるいずれかのサブフローの切断を、アプリケーション側で異常と取り扱わないように除外できる。従って、通信システム10は、MPTCPセッションの切断を抑制し、通信を継続できる。
[Effects]
As described above, in the communication system 10, when the first subflow of MPTCP disappears, the application can grasp that the address to be used by the application has transitioned by referring to the API. Therefore, for example, disconnection of any subflow due to abnormality detection due to mismatch between a control port and an address port that may occur in FTP or AMQP can be excluded so as not to be treated as an abnormality on the application side. Therefore, the communication system 10 can suppress the disconnection of the MPTCP session and continue the communication.

 また、AMQP等のコールバック関数を使用するアプリケーションの場合、MPTCPの第1のサブフロー消失後に、MPTCPセッション及びサブフローの設立時に指定したコールバック関数の呼び出し宛先が消失し、不具合が生じることを抑制できる。具体的には、MPTCPが、第1のサブフロー消失時に、第1のサブフローの消失の旨をAPIを介してアプリケーションに通知する。これにより、通信システム10は、アプリケーションが、MPTCPセッション及びサブフローを再設立し、コールバック関数が呼び出される前に、制御ポートとアドレスポートとの整合を図り、不具合の発生を抑制できる。 In addition, in the case of an application using a callback function such as AMQP, it is possible to suppress the occurrence of a malfunction due to the disappearance of the call destination of the callback function specified when the MPTCP session and the subflow are established after the disappearance of the first subflow of MPTCP. . Specifically, MPTCP notifies the application of the disappearance of the first subflow to the application via the API when the first subflow disappears. As a result, the communication system 10 can reconcile the MPTCP session and the subflow, match the control port and the address port before the callback function is called, and suppress the occurrence of a malfunction.

 このように、本実施形態の通信装置100は、MPTCPに従って他の通信装置100と通信する。通信装置100は、アプリケーションを制御するアプリケーション制御部151と、MPTCPの少なくとも2つのサブフローを制御するMPTCP制御部153と、IPアドレスを用いてサブフローを介してデータを通信する少なくとも2つのTCP通信部154,155と、サブフローに用いられるIPアドレスを含むサブフローの情報を保持するAPI152と、を備える。API152は、サブフローが変更された場合、変更後のサブフローの情報を保持する。アプリケーション制御部151は、変更後のサブフローの情報を参照する。 Thus, the communication device 100 according to the present embodiment communicates with other communication devices 100 according to MPTCP. The communication apparatus 100 includes an application control unit 151 that controls applications, an MPTCP control unit 153 that controls at least two subflows of MPTCP, and at least two TCP communication units 154 that communicate data via subflows using IP addresses. , 155, and an API 152 that holds information of a subflow including an IP address used for the subflow. When the subflow is changed, the API 152 holds information on the changed subflow. The application control unit 151 refers to the changed subflow information.

 通信装置100は、例えば携帯端末100A又はサーバ100Bである。他の通信装置100は、サーバ100B又は携帯端末100Aである。TCP通信部154,155は、通信部の一例である。MPTCP制御部153は、通信制御部の一例である。API152は、情報保持部の一例である。 The communication device 100 is, for example, a mobile terminal 100A or a server 100B. Another communication device 100 is a server 100B or a portable terminal 100A. The TCP communication units 154 and 155 are examples of communication units. The MPTCP control unit 153 is an example of a communication control unit. The API 152 is an example of an information holding unit.

 これにより、通信装置100は、アプリケーション制御部151が、API152を介してMPTCPのサブフローの情報を参照することで、変更(例えば追加又は削除)されたサブフローの情報を認識できる。よって、変更されたサブフローの情報を用いて通信元又は通信先のIPアドレスを認識でき、アプリケーションの実行における通信エラーを抑制できる。また、通信装置100は、MPTCPに従った通信が可能であるので、通信を高速化できる。 Thus, the communication apparatus 100 can recognize the changed (for example, added or deleted) subflow information by the application control unit 151 referring to the MPTCP subflow information via the API 152. Therefore, the IP address of the communication source or communication destination can be recognized using the changed subflow information, and communication errors in the execution of the application can be suppressed. Further, since the communication device 100 can perform communication according to MPTCP, it can speed up communication.

 また、アプリケーション制御部151は、API152が保持する変更後のサブフローの情報を参照し、アプリケーションが有するサブフローの情報を更新してもよい。 Further, the application control unit 151 may update the subflow information included in the application with reference to the changed subflow information held by the API 152.

 これにより、通信装置100は、MPTCPのサブフローの情報の変更に応じて、アプリケーションに係るサブフローの情報を変更できる。よって、通信装置100は、通信装置100が置かれた周囲の通信環境や電波状況に合わせて、アプリケーションがMPTCPに従って通信できる。 Thereby, the communication apparatus 100 can change the subflow information related to the application in accordance with the change of the subflow information of MPTCP. Therefore, the communication apparatus 100 can communicate according to MPTCP according to the surrounding communication environment and the radio wave situation where the communication apparatus 100 is placed.

 また、TCP通信部154又は155は、転送要求を受信してもよい。アプリケーション制御部151は、転送要求の送信元のIPアドレスがアプリケーションが有するサブフローの情報に係るIPアドレスと異なる場合、転送要求の送信元のIPアドレスをセキュリティチェックの対象から除外してもよい。 Further, the TCP communication unit 154 or 155 may receive the transfer request. When the IP address of the transfer request source is different from the IP address related to the subflow information of the application, the application control unit 151 may exclude the IP address of the transfer request source from the security check target.

 これにより、通信装置100は、一部のTCP通信部による通信が切断された場合には、このTCP通信部に係るIPアドレスを、アプリケーションが有するセキュリティチェックの対象から除外できる。この場合、通信装置100は、転送要求を受けたIPアドレスを用いたサブフローを介して、通信を継続できる。よって、受信側としての通信装置100は、アプリケーションに係るエラーの発生を抑制でき、通信効率を向上できる。 Thereby, when communication by some TCP communication units is disconnected, the communication device 100 can exclude the IP address related to the TCP communication unit from the security check target of the application. In this case, the communication apparatus 100 can continue communication through the subflow using the IP address that has received the transfer request. Therefore, the communication device 100 as the receiving side can suppress the occurrence of an error related to the application and can improve the communication efficiency.

 また、アプリケーション制御部151は、他の通信装置100へ第1のデータを送信し、他の通信装置100から第1のデータに対する第2のデータを受信しなかった場合、アプリケーションに係る第1のデータの送信先を、API152が保持するサブフローの情報に係る複数のIPアドレスのうち、第2のデータを受信されなかったサブフローに係るIPアドレスを除くいずれかのIPアドレスに変更してもよい。第1のデータは、例えばport open要求である。第2のデータは、port open要求に応じたACKである。 In addition, when the application control unit 151 transmits the first data to the other communication apparatus 100 and does not receive the second data for the first data from the other communication apparatus 100, the application control unit 151 The data transmission destination may be changed to any one of the plurality of IP addresses related to the subflow information held by the API 152 except for the IP address related to the subflow that has not received the second data. The first data is, for example, a port open request. The second data is an ACK in response to the port open request.

 これにより、通信装置100は、API152を参照して、設立した複数のサブフローのうち、データ通信に失敗したサブフロー以外のサブフローを用いて、アプリケーションに係るデータを送信できる。よって、アプリケーションに係るデータ通信が停止することを抑制でき、MPTCPの通信効率を向上できる。 Thus, the communication apparatus 100 can transmit data related to the application using a subflow other than the subflow that failed in data communication among the plurality of established subflows with reference to the API 152. Therefore, it is possible to prevent the data communication related to the application from being stopped, and to improve the communication efficiency of MPTCP.

 また、アプリケーション制御部151は、FTPのアプリケーションを実行してもよい。これにより、通信装置100は、一部のサブフローが切断された場合でも、FTPに係るエラーメッセージ「Bad IP Connecting」が発生することを抑制でき、MPTCPに係る通信の継続性を向上でき、通信効率を向上できる。 Further, the application control unit 151 may execute an FTP application. Accordingly, the communication device 100 can suppress the occurrence of the error message “Bad IP Connecting” related to FTP even when some subflows are disconnected, improve the continuity of communication related to MPTCP, and improve communication efficiency. Can be improved.

 また、アプリケーション制御部151は、AMQPのアプリケーションを実行してもよい。これにより、通信装置100は、一部のサブフローが切断された場合でも、他のサブフローを用いて、キューに蓄積されたAMQPデータを他の通信装置100へ送信できる。よって、通信装置100は、MPTCPに係る通信の継続性を向上でき、通信効率を向上できる。 Further, the application control unit 151 may execute an AMQP application. Thereby, the communication apparatus 100 can transmit the AMQP data stored in the queue to other communication apparatuses 100 using other subflows even when some of the subflows are disconnected. Therefore, the communication apparatus 100 can improve the continuity of communication related to MPTCP, and can improve the communication efficiency.

 また、API152は、OSI参照モデルの階層においてアプリケーション制御部151とMPTCP制御部153との間に位置してもよい。 Also, the API 152 may be located between the application control unit 151 and the MPTCP control unit 153 in the OSI reference model hierarchy.

 これにより、アプリケーション制御部151とMPTCP制御部153とは、直接に相互にデータを参照できないが、API152を介してデータを参照できる。よって、アプリケーション制御部151及びMPTCP制御部153の一方は、アプリケーション制御部151及びMPTCP制御部153の他方のデータを加味して、アプリケーション制御や通信制御を実施できる。 Thereby, the application control unit 151 and the MPTCP control unit 153 cannot directly refer to each other's data, but can refer to the data via the API 152. Therefore, one of the application control unit 151 and the MPTCP control unit 153 can perform application control and communication control in consideration of the other data of the application control unit 151 and the MPTCP control unit 153.

 (他の実施形態)
 以上のように、本開示における技術の例示として、第1の実施形態を説明した。しかし、本開示における技術は、これに限定されず、変更、置き換え、付加、省略などを行った実施形態にも適用できる。
(Other embodiments)
As described above, the first embodiment has been described as an example of the technique in the present disclosure. However, the technology in the present disclosure is not limited to this, and can also be applied to embodiments in which changes, replacements, additions, omissions, and the like are performed.

 第1の実施形態では、通信装置100が、API152を備えることを例示したが、API152の代わりに他の機能を備えるようにしてもよい。例えば、図8に示すように、通信装置100では、アプリケーション制御部151α(151αA,151αB)が、MPTCPに係る情報を監視する機能(MPTCP情報監視機能)を有するようにしてもよい。つまり、API152が有するMPTCPに係るサブフローの情報をアプリケーション側に実装し、アプリケーション制御部151が、MPTCPの状態管理に係る情報(サブフローの情報等)を参照可能にしてもよい。この場合、通信装置100がAPI152を有する場合と比較すると、アプリケーション側に対する対応で済むので、処理負荷を軽減できる。 In the first embodiment, it is exemplified that the communication device 100 includes the API 152, but other functions may be provided instead of the API 152. For example, as shown in FIG. 8, in the communication apparatus 100, the application control unit 151α (151αA, 151αB) may have a function of monitoring information related to MPTCP (MPTCP information monitoring function). That is, subflow information related to MPTCP included in the API 152 may be mounted on the application side, and the application control unit 151 may refer to information related to MPTCP state management (subflow information and the like). In this case, as compared with the case where the communication apparatus 100 includes the API 152, it is sufficient to deal with the application side, so that the processing load can be reduced.

 第1の実施形態では、通信システム10がFTPを実施するデータ通信システムやAMQPを実施するロボット制御システム以外のシステムでもよい。例えば、通信システム10は、コンテンツ配信システムでもよいし、監視システムでもよい。 In the first embodiment, the communication system 10 may be a system other than a data communication system that implements FTP or a robot control system that implements AMQP. For example, the communication system 10 may be a content distribution system or a monitoring system.

 第1の実施形態では、通信装置100が2つの通信方式に従って通信可能であることを例示したが、2つ以上の通信方式に従って通信可能でもよい。 In the first embodiment, it is exemplified that the communication device 100 can communicate according to two communication methods, but communication may be possible according to two or more communication methods.

 第1の実施形態では、CPU101を一例として説明したが、CPU101以外のプロセッサでもよい。プロセッサは、物理的にどのように構成されてもよい。また、プログラム可能なプロセッサを用いれば、プログラムの変更により処理内容を変更できるので、プロセッサの設計の自由度を高めることができる。プロセッサは、1つの半導体チップで構成してもよいし、物理的に複数の半導体チップで構成してもよい。複数の半導体チップで構成する場合、第1の実施形態の各制御をそれぞれ別の半導体チップで実現してもよい。この場合、それらの複数の半導体チップで1つのプロセッサを構成すると考えることができる。また、プロセッサは、半導体チップと別の機能を有する部材(コンデンサ等)で構成してもよい。また、プロセッサが有する機能とそれ以外の機能とを実現するように、1つの半導体チップを構成してもよい。 In the first embodiment, the CPU 101 has been described as an example, but a processor other than the CPU 101 may be used. The processor may be physically configured in any manner. Further, if a programmable processor is used, the processing contents can be changed by changing the program, so that the degree of freedom in designing the processor can be increased. The processor may be composed of one semiconductor chip or physically composed of a plurality of semiconductor chips. When configured by a plurality of semiconductor chips, each control of the first embodiment may be realized by separate semiconductor chips. In this case, it can be considered that a plurality of semiconductor chips constitute one processor. Further, the processor may be configured by a member (capacitor or the like) having a function different from that of the semiconductor chip. Further, one semiconductor chip may be configured so as to realize the functions of the processor and other functions.

 本開示は、変更されたTCPサブフローの情報をアプリケーションが認識でき、アプリケーションの実行における通信エラーを抑制できる通信装置及び通信方法等に有用である。 This disclosure is useful for a communication apparatus, a communication method, and the like that allow an application to recognize changed TCP subflow information and suppress communication errors during execution of the application.

10  通信システム
100  通信装置
100A  携帯端末
100B  サーバ
101,101A,101B  CPU
102,102A,102B  メモリ
103,103A,103B  通信制御I/F
104,104A,104B  通信I/F
105,105A,105B  通信制御I/F
106,106A,106B  通信I/F
151,151A,151B,151α,151αA,151αB  アプリケーション制御部
152,152A,152B  API
153,153A,153B  MPTCP制御部
154,154A,154B  TCP通信部
155,155A,155B  TCP通信部
NT  ネットワーク
DESCRIPTION OF SYMBOLS 10 Communication system 100 Communication apparatus 100A Portable terminal 100B Server 101, 101A, 101B CPU
102, 102A, 102B Memory 103, 103A, 103B Communication control I / F
104, 104A, 104B Communication I / F
105, 105A, 105B Communication control I / F
106, 106A, 106B Communication I / F
151, 151A, 151B, 151α, 151αA, 151αB Application control unit 152, 152A, 152B API
153, 153A, 153B MPTCP control unit 154, 154A, 154B TCP communication unit 155, 155A, 155B TCP communication unit NT network

Claims (8)

 MPTCPに従って他の通信装置と通信する通信装置であって、
 アプリケーションを制御するアプリケーション制御部と、
 前記MPTCPの少なくとも2つのサブフローを制御する通信制御部と、
 IPアドレスを用いて前記サブフローを介してデータを通信する少なくとも2つの通信部と、
 前記サブフローに用いられるIPアドレスを含む前記サブフローの情報を保持する情報保持部と、
 を備え、
 前記情報保持部は、前記サブフローが変更された場合、変更後のサブフローの情報を保持し、
 前記アプリケーション制御部は、前記変更後のサブフローの情報を参照する、通信装置。
A communication device that communicates with other communication devices according to MPTCP,
An application control unit for controlling the application;
A communication control unit for controlling at least two subflows of the MPTCP;
At least two communication units for communicating data via the subflow using an IP address;
An information holding unit for holding information on the subflow including an IP address used for the subflow;
With
When the subflow is changed, the information holding unit holds information on the changed subflow,
The application control unit refers to information on the changed subflow.
 請求項1に記載の通信装置であって、
 前記アプリケーション制御部は、前記情報保持部が保持する変更後のサブフローの情報を参照し、前記アプリケーションが有する前記サブフローの情報を更新する、通信装置。
The communication device according to claim 1,
The communication control device, wherein the application control unit refers to information on the changed subflow held by the information holding unit and updates information on the subflow held by the application.
 請求項1または2に記載の通信装置であって、
 前記通信部は、転送要求を受信し、
 前記アプリケーション制御部は、前記転送要求の送信元のIPアドレスが前記アプリケーションが有する前記サブフローの情報に係るIPアドレスと異なる場合、前記転送要求の送信元のIPアドレスをセキュリティチェックの対象から除外する、通信装置。
The communication device according to claim 1 or 2,
The communication unit receives a transfer request,
The application control unit excludes the IP address of the transmission source of the transfer request from the security check target when the IP address of the transmission source of the transfer request is different from the IP address related to the information of the subflow possessed by the application. Communication device.
 請求項2に記載の通信装置であって、
 前記アプリケーション制御部は、前記他の通信装置へ第1のデータを送信し、前記他の通信装置から前記第1のデータに対する第2のデータを受信しなかった場合、前記アプリケーションに係る前記第1のデータの送信先を、前記情報保持部が保持するサブフローの情報に係るIPアドレスのうち、前記第2のデータを受信されなかったサブフローに係るIPアドレスを除くいずれかのIPアドレスに変更する、通信装置。
The communication device according to claim 2,
When the application control unit transmits the first data to the other communication device and does not receive the second data for the first data from the other communication device, the first application related to the application The data transmission destination is changed to any IP address excluding the IP address related to the subflow in which the second data is not received among the IP addresses related to the subflow information held by the information holding unit, Communication device.
 請求項3に記載の通信装置であって、
 前記アプリケーション制御部は、FTP(File Transfer Protocol)のアプリケーションを実行する、通信装置。
The communication device according to claim 3,
The application control unit is a communication device that executes an application of FTP (File Transfer Protocol).
 請求項4に記載の通信装置であって、
 前記アプリケーション制御部は、AMQP(Advanced Message Queuing Protocol)のアプリケーションを実行する、通信装置。
The communication device according to claim 4,
The application control unit is a communication device that executes an application of AMQP (Advanced Message Queuing Protocol).
 請求項1~6のいずれか1項に記載の通信装置であって、
 前記情報保持部は、OSI参照モデルの階層において前記アプリケーション制御部と前記通信制御部との間に位置するAPI(Application Programming Interface)である、通信装置。
The communication device according to any one of claims 1 to 6,
The communication apparatus, wherein the information holding unit is an API (Application Programming Interface) located between the application control unit and the communication control unit in a hierarchy of an OSI reference model.
 MPTCPに従って通信する通信方法であって、
 IPアドレスを用いた前記MPTCPの少なくとも2つのサブフローを制御し、
 前記サブフローに用いられるIPアドレスを含む前記サブフローの情報を情報保持部に保持し、
 前記サブフローを介してデータを通信し、
 前記サブフローが変更された場合、変更後の前記サブフローの情報を前記情報保持部に保持し、
 アプリケーションを制御するアプリケーション制御部が、前記変更後のサブフローの情報を参照する、通信方法。
A communication method for communicating according to MPTCP,
Controlling at least two subflows of the MPTCP using an IP address;
Holding the information of the subflow including the IP address used for the subflow in an information holding unit;
Communicate data via the subflow,
When the subflow is changed, the information holding unit stores information on the changed subflow,
A communication method in which an application control unit that controls an application refers to information on the changed subflow.
PCT/JP2017/030646 2016-09-07 2017-08-28 Communication device and communication method Ceased WO2018047645A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2016174906A JP6731618B2 (en) 2016-09-07 2016-09-07 Communication device and communication method
JP2016-174906 2016-09-07

Publications (1)

Publication Number Publication Date
WO2018047645A1 true WO2018047645A1 (en) 2018-03-15

Family

ID=61561469

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2017/030646 Ceased WO2018047645A1 (en) 2016-09-07 2017-08-28 Communication device and communication method

Country Status (2)

Country Link
JP (1) JP6731618B2 (en)
WO (1) WO2018047645A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012142105A1 (en) * 2011-04-11 2012-10-18 Interdigital Patent Holdings, Inc. Session manager and source internet protocol (ip) address election
JP2014127790A (en) * 2012-12-26 2014-07-07 Univ Of Electro-Communications Information processing device, method and program

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012142105A1 (en) * 2011-04-11 2012-10-18 Interdigital Patent Holdings, Inc. Session manager and source internet protocol (ip) address election
JP2014127790A (en) * 2012-12-26 2014-07-07 Univ Of Electro-Communications Information processing device, method and program

Also Published As

Publication number Publication date
JP2018041269A (en) 2018-03-15
JP6731618B2 (en) 2020-07-29

Similar Documents

Publication Publication Date Title
US20240121845A1 (en) Unified networking system and device for heterogeneous mobile environments
US11128521B2 (en) Group communication device bypass connectivity
EP2693336A1 (en) Virtual machine administration system, and virtual machine administration method
US10541926B2 (en) Unified networking system and device for heterogeneous mobile environments
TWI393401B (en) System, apparatus, method and memory having computer program embodied thereon for managing multicast routing
US8495244B2 (en) System and method for dynamic automatic communication path selection, distributed device synchronization and task delegation
CN113261247A (en) Maintaining continuous network services
US10425870B2 (en) Wireless client traffic continuity across controller failover and load-balancing
US11388138B2 (en) Communication system, address notification apparatus, communication control apparatus, terminal, communication method, and program
EP2340666A2 (en) System and method for dynamic automatic communication path selection, distributed device synchronization and task delegation
US11296978B2 (en) Enablement of multi-path routing in virtual edge systems
CN104094243B (en) Information processor and information processing method
CN104205741A (en) Information processing device, information processing method, and program
US10448253B2 (en) Wireless terminal
US20240311205A1 (en) Private network and edge application provisioning management system, method and computer readable medium thereof
JP2023510410A (en) Provisioning traffic steering with multi-access related information
KR100597405B1 (en) Data relay system and data relay method using socket application program
JP6731618B2 (en) Communication device and communication method
JP2014158225A (en) Communication system
US11310310B2 (en) Communication device for peer-to-peer communication and a communication network using the same
US20150156164A1 (en) Communication system, communication control method, communication relay system, and communication relay control method
US20250220491A1 (en) Data traffic routing for internet service connectivity disruptions in a 5g communication network
US12401591B2 (en) DPU control/management offload system
JP2015154382A (en) PBX device, subscriber registration method, and subscriber registration program
KR101583559B1 (en) Distributed service system and method for constructing distributed service system

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17848586

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17848586

Country of ref document: EP

Kind code of ref document: A1