WO2015052870A1 - Terminal device, terminal-device control method, and terminal-device control program - Google Patents
Terminal device, terminal-device control method, and terminal-device control program Download PDFInfo
- Publication number
- WO2015052870A1 WO2015052870A1 PCT/JP2014/004555 JP2014004555W WO2015052870A1 WO 2015052870 A1 WO2015052870 A1 WO 2015052870A1 JP 2014004555 W JP2014004555 W JP 2014004555W WO 2015052870 A1 WO2015052870 A1 WO 2015052870A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- communication network
- communication
- application
- terminal device
- packet
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 21
- 238000004891 communication Methods 0.000 claims abstract description 211
- 230000005540 biological transmission Effects 0.000 claims description 27
- 238000012545 processing Methods 0.000 claims description 13
- 230000009471 action Effects 0.000 description 25
- 208000010376 orofacial cleft 2 Diseases 0.000 description 13
- 238000010586 diagram Methods 0.000 description 12
- 230000001413 cellular effect Effects 0.000 description 11
- 238000012546 transfer Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 9
- 101150053844 APP1 gene Proteins 0.000 description 3
- 101100055496 Arabidopsis thaliana APP2 gene Proteins 0.000 description 3
- 101100189105 Homo sapiens PABPC4 gene Proteins 0.000 description 3
- 102100039424 Polyadenylate-binding protein 4 Human genes 0.000 description 3
- 101100016250 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) GYL1 gene Proteins 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000007480 spreading Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W36/00—Hand-off or reselection arrangements
- H04W36/14—Reselecting a network or an air interface
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W48/00—Access restriction; Network selection; Access point selection
- H04W48/18—Selecting a network or a communication service
Definitions
- the present invention relates to a terminal device capable of communicating with the outside, a terminal device control method for controlling the terminal device, and a terminal device control program for controlling the terminal device.
- Open flow is known as a protocol in which a control device controls a switch that transfers a packet. OpenFlow is defined in Non-Patent Document 1.
- the control device sets a flow entry in the switch. Then, the switch processes the received packet according to the flow entry.
- the flow entry is information that defines how to process a packet (for example, transfer, discard, etc.).
- the flow entry is set for each packet flow.
- the switch receives a packet and there is a flow entry corresponding to the flow of the packet, the switch processes the packet according to the flow entry.
- the switch notifies the control device to that effect. Then, the control device determines a flow entry corresponding to the flow of the packet and sets it in the switch.
- Examples of messages transmitted and received between the control device and the switch in OpenFlow include “Packet_in”, “Flow_mod”, “Packet_out”, and “Flow_removed”.
- Packet_in is a message sent from the switch to the control device. “Packet_in” is used to send a packet for which no corresponding flow entry exists from the switch to the control device.
- Flow_mod is a message sent from the control device to the switch.
- Flow_mod is a message for adding, changing, or deleting a flow entry from the control device to the switch.
- Packet_out is a message sent from the control device to the switch.
- Packet_out is a message instructing packet output from the port.
- Flow_removed is a message sent from the switch to the control device.
- Flow_removed is a message that notifies the control device when a flow entry is not used for a certain period of time and is deleted from the switch due to a timeout.
- the switch transmits statistical information of the flow corresponding to the deleted flow entry to the control device.
- terminal devices that can communicate with the outside.
- These terminal devices are connected to a plurality of communication networks such as 3G (3rd generation) or Wi-Fi (Wireless Fidelity, registered trademark). Therefore, even when one communication network cannot be used, it is possible to perform communication using another communication network.
- 3G 3rd generation
- Wi-Fi Wireless Fidelity, registered trademark
- ECMP Equal Cost Multi Multi Path
- ECMP Equal Cost Multi Multi Path
- a hash operation is performed on the contents of a specific field in the packet header, and the packet is transferred to a route specified by the operation.
- Patent Document 1 describes a path control device that distributes transmission data to avoid congestion, delay, and packet loss.
- the route control device described in Patent Literature 1 creates a route state management table by collecting route quality information using packets for measuring network quality and referring to a network usage fee from a usage fee table. Furthermore, the route control device described in Patent Document 1 uses this route state management table to select a plurality of routes based on policies such as the number of routes to be used and parameters to be used that are set in advance. Create
- 3G is a mobile phone network, has a wide range of wireless coverage, and has many base stations, so it can be used in most places.
- the communication speed is slower than Wi-Fi, it is not very suitable for the use of application software (hereinafter simply referred to as an application) for performing communication such as moving images. Therefore, it is desirable that the communication network to be used can be easily controlled according to the characteristics of the application that generates traffic.
- a general terminal device when a general terminal device can be connected to both Wi-Fi and 3G communication networks connected simultaneously, for example, control to preferentially connect to Wi-Fi is performed. Therefore, when it becomes possible to connect to Wi-Fi from the state connected to 3G, a general terminal device forcibly disconnects the communication of the application connected using 3G and connects to Wi-Fi. Control to do. Therefore, when viewed from the user, there is a problem that the communication of the application appears to be disconnected.
- the route control device described in Patent Document 1 creates a route state management table in which the next hop and path attributes for each destination network are arranged, and creates a selected route table based on the route state management table.
- the route control device described in Patent Document 1 is based on the premise that allocation of traffic to be distributed is determined. Therefore, no consideration is given to a control method for changing the already set selection route table and a control method when unset traffic is transmitted.
- setting for selecting a communication network used by each application from a plurality of simultaneously connected communication networks cannot be freely performed. For example, when a Wi-Fi connection or the like is used. There was a problem with convenience.
- an object of the present invention is to provide a terminal device, a terminal device control method, and a terminal device control program that can flexibly control a communication network used by each application from a plurality of connected communication networks.
- a terminal device is a terminal device that selects a communication network to be used for communication from among a plurality of connected communication networks, while maintaining the connection of the communication network used by traffic belonging to the same flow.
- selection means for selecting a communication network to be used by each application based on the instructed priority application identification information for identifying a transmission source application of a packet in traffic, communication network information for identifying a plurality of communication networks,
- a transmission means for transmitting instruction information including a communication network priority that defines a priority order of communication networks selected for each application identification information is provided.
- a terminal device control method is a terminal device control method for performing control for selecting a communication network used for communication from a plurality of communication networks connected to the terminal device, wherein the transmission means of the terminal devices are the same. While selecting the communication network used by each application based on the specified priority while maintaining the connection of the communication network used by the traffic belonging to the flow, the packet transmission source of the packet in the traffic is selected. Transmitting instruction information including application identification information for identifying an application, communication network information for identifying a plurality of communication networks, and a communication network priority that defines a priority order of communication networks selected for each application identification information It is characterized by.
- the terminal device control program uses a communication network used for communication from among a plurality of connected communication networks as specified information while maintaining connection of the communication network used by traffic belonging to the same flow.
- a terminal device control program that is applied to a computer that performs control that causes a selection unit that selects a communication network to select based on application identification information that identifies an application that is a transmission source of a packet in traffic, and a plurality of communications
- a transmission process for transmitting instruction information including communication network information for identifying a network and communication network priority defining a priority of a communication network selected for each application identification information to a selection unit is executed. .
- FIG. 6 is a sequence diagram illustrating an operation example of the terminal device 1. It is a block diagram which shows the outline
- OFC OpenFlow Controller
- OFS OpenFlow Switch
- FIG. 1 is a block diagram showing an example of a terminal device of the present invention.
- the terminal device 1 of the present invention includes a communication control management unit 2, a control application unit 3, a packet transfer unit 4, a protocol processing unit 5, an application unit 6, and communication interface units 7a to 7n.
- the terminal device 1 is a device that is connected to a plurality of communication networks at the same time and communicates by appropriately using a communication network selected from the plurality of communication networks.
- a smart phone, a tablet-type portable terminal, etc. are mentioned, for example.
- Each application unit 6 is realized by a CPU that operates according to each application installed in the terminal device 1. Each application unit 6 performs an operation according to the corresponding application.
- the packet transfer unit 4 processes a packet that the application unit 6 intends to transmit to the outside according to the communication control management unit 2 (for example, transfers or discards the packet).
- the communication control management unit 2 controls packet processing in the packet transfer unit 4 based on an instruction from the control application unit 3.
- the communication control management unit 2 corresponds to the OFC in the open flow
- the packet transfer unit 4 corresponds to the OFS in the open flow.
- the communication control management unit 2 may control the packet transfer unit 4 with a protocol other than OpenFlow.
- the communication control management unit 2 is referred to as OFC2.
- the packet transfer unit 4 is referred to as OFS4.
- OFC2 and OFS4 are realized by a CPU that operates according to a program.
- a program for realizing the function as the OFC 2 is called an OFC base.
- the control application unit 3 is realized by a CPU that operates according to control application software.
- the control application software is referred to as a control application or a control APP (Application).
- the control application unit 3 sends instruction information indicating an instruction for the OFC 2 to the OFC 2.
- This instruction information is referred to as a policy. The contents of this policy will be described later.
- the communication interface units 7a to 7n are communication interfaces corresponding to various types of communication such as 3G, LTE (Long Terminology Evolution), and Wi-Fi. Each of the communication interface units 7a to 7n is specifically identified as an OFS4 port. That is, it can be said that the terminal device 1 is connected to the plurality of communication networks.
- the protocol processing unit 5 is realized by a CPU that operates according to a program.
- the protocol processing unit 5 provides a communication service for the application.
- the protocol processing unit 5 is a part in which protocols such as TCP (Transmission Control Protocol) and UDP (User Datagram Protocol) used in the transmission path are implemented.
- the protocol processing unit 5 monitors whether or not each of the communication interface units 7a to 7n is usable, and notifies the monitoring result to the OFC 2 (specifically, a node state management unit 25 described later, see FIG. 3). . Further, the protocol processing unit 5 notifies the OFC 2 (specifically, a protocol state management unit 26 described later, see FIG. 3) of the own port number and the process ID (Identification) corresponding to the own port number.
- the self port number is a self port number such as TCP or UDP in each communication instructed by the application.
- Each program for realizing the functions of the control application and OFC2, OFS4, and protocol processor 5 can be referred to as a terminal device control program.
- the terminal device control program is stored in a storage device (not shown) of the terminal device 1, and the CPU of the terminal device 1 reads the terminal device control program, and according to the program, OFC2, control application unit 3, OFS4, protocol processing unit 5 Works as.
- FIG. 2 is an explanatory view schematically showing a policy.
- the policy includes a search key used when searching for a policy and an action indicating an operation specified by the policy.
- Traffic identification information Information specifying traffic (hereinafter referred to as traffic identification information) is described as a search key.
- an application ID is described as a search key.
- the application ID is an identifier of an application that transmits / receives the control target traffic within the terminal device. If the application ID is not specified in the policy, it is regarded as a wild card.
- the identification information of the flow of the control target traffic may be described as a search key.
- the flow identification information includes, for example, an address and a port number. If the address or port number used as flow information is not specified, it is regarded as a wild card.
- the search key may include a priority.
- the priority indicates the priority of the policies when there are a plurality of policies corresponding to the common traffic. Therefore, when a plurality of policies are obtained as a result of the OFC 2 searching for a policy corresponding to a certain traffic, the OFC 2 finally uses only the policy with the highest priority among the policies as a search result.
- the mode for specifying an action includes a mode for specifying a communication network of the traffic according to the traffic.
- a communication network Wi-Fi, 3G, etc.
- Wi-Fi Wi-Fi, 3G, etc.
- the packet of the traffic is transmitted from the communication interface unit corresponding to Wi-Fi.
- an aspect for specifying an action there is an aspect in which whether or not to execute a predetermined operation is determined by a flag.
- an operation such as “when OFC 2 detects traffic designated by a policy, OFC 2 notifies the control application unit 3 to that effect”. Assume that the flag corresponding to this operation is set to ON in the policy.
- the OFC 2 detects traffic and searches for this policy as a policy corresponding to the traffic, the OFC 2 executes the above-described operation specified by the flag. If this flag is set to OFF in the policy, the OFC 2 does not execute the above operation even if this policy is retrieved.
- an aspect for specifying an action there is an aspect for specifying a plurality of actions in association with each other.
- a mode for designating an action there is a mode for designating a plurality of communication networks for the traffic described above and designating a priority order of these plurality of communication networks (hereinafter referred to as communication network priority).
- communication network priority designating a priority order of these plurality of communication networks
- the OFC 2 controls packet processing in the OFS 4 based on an instruction from the control application unit 3. Specifically, in the present embodiment, the OFC 2 controls the communication network in which the OFS 4 is used for traffic transmission based on an instruction from the control application unit 3. In other words, in the terminal device 1 of the present embodiment, it can be said that the OFC 2 and OFS 4 have selected the communication network used by each application. Further, in the terminal device 1 of the present embodiment, it can be said that the control application unit 3 transmits a policy as information for the OFC 2 and OFS 4 to select a communication network.
- the control application unit 3 when determining a communication network to be preferentially used for each application, performs communication specifying traffic identification information including an application ID, a plurality of communication networks, and a priority order of each communication network.
- a policy including the network priority is transmitted to OFC2.
- the OFC 2 when receiving the flow including the application ID included in the transmitted policy, the OFC 2 that has received the policy performs control to determine a communication network to be used by the application according to the communication network priority.
- the traffic identification information is information for identifying the transmitted traffic, and is, for example, a search key.
- the plurality of communication networks are communication networks used for transmission of traffic specified by traffic identification information.
- a port number for specifying the communication interface units 7a to 7n may be set in the designation of the communication network included in the policy.
- the control application unit 3 transmits the above-described policy to the OFC 2, a communication network to be preferentially used for each application can be determined. That is, the terminal device 1 according to the present embodiment can flexibly control a communication network used by each application from among a plurality of connected communication networks.
- FIG. 3 is a block diagram showing the details of OFC2.
- the OFC 2 includes an API management unit 21, a policy management unit 22, a statistical information management unit 23, a flow management unit 24, a node state management unit 25, and a protocol state management unit 26.
- the API management unit 21 relays API calls from the control application unit 3 and responses from the OFC 2 side. For example, when the API management unit 21 receives a policy addition, change, or deletion notification from the control application unit 3, the API management unit 21 sends the notification to the policy management unit 22. When the policy management unit 22 transmits information to the control application unit 3, the API management unit 21 relays the information. For example, when the API management unit 21 receives a request for traffic statistical information from the control application unit 3, the API management unit 21 sends the request to the statistical information management unit 23. When the statistical information management unit 23 transmits statistical information to the control application unit 3 in response to the request, the API management unit 21 relays the statistical information.
- the policy management unit 22 holds each policy sent from the control application unit 3.
- a packet sent from OFS 4 together with “Packet_in” to OFC 2 (a packet for which no matching flow entry exists in OFS 4) is acquired, a policy corresponding to the packet is searched and determined by the searched policy. Execute the specified operation.
- the statistical information management unit 23 holds statistical information sent from the OFS 4.
- the flow management unit 24 performs communication with the OFS 4 and manages information related to the flow entry set in the OFS 4.
- the flow management unit 24 receives a packet (packet for which no matching flow entry exists in OFS 4) together with “Packet_in” from the OFS 4, the flow management unit 24 sends the packet to the policy management unit 22. Further, when “Flow_removed” is received, the flow management unit 24 sends the statistical information received from the OFS 4 together with “Flow_removed” to the statistical information management unit 23.
- the policy management unit 22 creates a flow entry according to the policy
- the flow management unit 24 generates a flow entry to be set for the OFS 4 and transmits the flow entry to the OFS 4.
- the OFS 4 of this embodiment does not transmit “Packet_in_” to the OFC 2 when detecting traffic belonging to the flow set in the flow entry. Therefore, for example, even when Wi-Fi can be connected from the state connected to 3G, OFS 4 maintains the connection of the communication network used by the traffic belonging to the same flow.
- the terminal device 1 can connect to another communication network during communication of a certain application, the currently connected communication network can be used continuously. This can suppress giving the user the impression that communication has been disconnected.
- FIG. 4 is a schematic diagram illustrating an example of information managed by the flow management unit 24.
- Each piece of information managed by the flow management unit 24 is generated for each flow entry set in the OFS 4.
- Each piece of information managed by the flow management unit 24 includes a search key for searching for each piece of information.
- the search key describes the flow flow identification information controlled by the flow entry.
- the flow identification information includes, for example, an address and a port number. If the address or port number used as flow information is not specified, it is regarded as a wild card.
- the search key also includes the policy ID used when setting the flow entry.
- each information managed by the flow management unit 24 also describes an action set in the flow entry.
- the node state management unit 25 acquires information indicating whether or not each communication interface unit 7a to 7n (see FIG. 1) is usable from the protocol processing unit 5 and holds it.
- the policy management unit 22 (specifically, an action selection unit 224, which will be described later, see FIG. 5) refers to this information to determine whether or not each communication interface unit 7a to 7n is usable. To do.
- the policy management unit 22 (specifically, the action selection unit 224) stops the creation of a flow entry that defines packet transmission from the communication interface when the communication interface to which the packet is to be transmitted cannot be used.
- the protocol state management unit 26 holds information representing the correspondence between the packet flow information and the application ID (application identifier).
- the protocol state management unit 26 acquires a port number and a process ID from the protocol processing unit 5 (see FIG. 1).
- the protocol state management unit 26 creates information in which a UID (User ID) corresponding to the process ID is associated with an application ID corresponding to the UID, and holds the information.
- UID User ID
- the flow information (port number) and the application ID are associated with each other, and the application ID can be searched from the flow information.
- the mode in which the protocol state management unit 26 holds information indicating the correspondence between the flow information and the application ID is not particularly limited, and may not be the above mode.
- FIG. 5 is a block diagram showing details of the policy management unit 22.
- the policy management unit 22 includes a policy table storage unit 221, a policy entry management unit 222, a policy search unit 223, and an action selection unit 224.
- the policy table storage unit 221 is a storage device (for example, a memory) that stores policies.
- the policy entry management unit 222 When the policy entry management unit 222 receives a policy addition, change, or deletion notification from the control application unit 3 via the API management unit 21, the policy entry management unit 222 updates the policy in the policy table storage unit 221 according to the notification. For example, the policy entry management unit 222 newly stores the policy in the policy table storage unit 221, changes the contents of the policy stored in the policy table storage unit 221, or is stored in the policy table storage unit 221. Or delete existing policies.
- the policy search unit 223 When a packet is sent from the flow management unit 24, the policy search unit 223 causes the protocol state management unit 26 to search for an application ID corresponding to the flow information using the flow information (port number in this example) of the packet as a key. .
- the protocol state management unit 26 returns the searched application ID to the policy search unit 223.
- This application ID is the application ID that is the source of the packet.
- the policy search unit 223 searches the policy table storage unit 221 for a policy using this application ID as a key.
- the action selection unit 224 executes an action defined by the policy searched by the policy search unit 223. Specifically, when the action defined by the searched policy includes a plurality of communication networks and the communication network priority of the communication network, the action selection unit 224 determines the communication network with the highest priority. Select.
- control application unit 3 notifies the OFC 2 of the policy in which the communication network priority is set for each application. Therefore, the action selection unit 224 determines the policy for each application based on the notified policy.
- the communication network to be connected can be determined.
- the terminal device 1 is preferentially connected to Wi-Fi in principle, if the communication network to be preferentially connected detects traffic from an application set to 3G, 3G Can be used preferentially.
- the action selection unit 224 may inquire of the node state management unit 25 whether or not the communication network can be used, and may select the communication network having the highest priority from the communication networks in the usable state.
- the action selection unit 224 may notify the control application unit 3 according to the policy searched by the policy search unit 223.
- FIG. 6 is a sequence diagram illustrating an operation example of the terminal device 1 of the present embodiment.
- the terminal device 1 is simultaneously connected to two communication networks, Wi-Fi and Cellular, which is a public wireless communication network.
- Wi-Fi and Cellular which is a public wireless communication network.
- FIG. 6 the content of the policy sent from the control application unit 3 to the OFC 2 is shown surrounded by a broken line.
- the control application unit 3 transmits a policy to the OFC base (that is, OFC 2) and instructs the addition of the transmitted policy (step S1).
- the control application unit 3 sets “APP1” in the application ID that is a part of the search key, and “Wi-Fi, Cellular” and communication network priority are set for the route specification that is a part of the action.
- a policy in which Wi-Fi is prioritized over Cellular (“Wi-Fi +, Cellular-" in FIG. 6) is transmitted to OFC2.
- control application unit 3 sets “APP2” to the application ID that is a part of the search key, sets “Wi-Fi, Cellular” to the routing that is a part of the action, and sets Cellular to the communication network priority.
- a policy in which priority is given over Wi-Fi (“Cellular +, Wi-Fi-" in FIG. 6) is transmitted to OFC2.
- the OFC 2 (specifically, the policy entry management unit 222) updates the content of the policy table storage unit 221 with the content of the received policy.
- control application unit 3 may transmit a policy input to the user of the terminal device 1 or may transmit a policy given in advance by a mobile carrier or the like.
- the application unit 6 (in this example, referred to as APP1) transmits a packet directed to the outside to the OFS 4 (step S3). If the received packet does not match the flow entry, the OFS 4 transmits the packet to the OFC 2 together with “Packet_in” (step S4).
- the OFC 2 (specifically, the policy search unit 223) searches the policy table storage unit 221 for a policy corresponding to the received packet. Since the transmission source application of the packet transmitted in step S3 is APP1, the policy added in step S1 is searched. Therefore, OFC2 (specifically, action selection unit 224) selects Wi-Fi as the communication network.
- OFC2 (specifically, flow management unit 24) creates a flow entry that stipulates that Wi-Fi is used as a communication network for the flow of the received packet in accordance with the searched policy.
- any output port is designated as the action of the flow entry.
- the OFC 2 (specifically, the flow management unit 24) transmits “Flow_mod” and “Packet_out” specifying the flow entry to the OFS 4 (step S5).
- the OFS 4 that has received “Packet_out” causes the packet to be output from the communication interface unit connected to the Wi-Fi (step S6).
- the OFS 4 holds the received flow entry.
- the OFS 4 receives the same packet as the flow of the stored flow entry (step S7), it selects Wi-Fi from the communication network based on the flow entry, and the packet is connected to the Wi-Fi. The process of outputting from the communication interface unit is repeated (step S8).
- step S9 Another application unit 6 (in this example, referred to as APP2) transmits a packet directed to the outside to the OFS 4 (step S9). Since this flow is different from the flow of the packet transmitted in step S3, OFS 4 transmits the packet to OFC 2 together with “Packet_inFC” (step S10).
- APP2 another application unit 6
- OFS 4 transmits the packet to OFC 2 together with “Packet_inFC” (step S10).
- the OFC 2 (specifically, the policy search unit 223) searches the policy table storage unit 221 for a policy corresponding to the received packet. Since the transmission source application of the packet transmitted in step S8 is APP2, the policy added in step S2 is searched. Therefore, the OFC 2 (specifically, the action selection unit 224) selects Cellular as the communication network.
- OFC2 (specifically, the flow management unit 24) creates a flow entry that stipulates that the cellular is used as a communication network for the received packet flow in accordance with the searched policy.
- the OFC 2 (specifically, the flow management unit 24) transmits “Flow_mod” and “Packet_out” specifying the flow entry to the OFS 4 (step S11).
- the OFS 4 that has received “Packet_out” outputs the packet from the communication interface unit connected to the Cellular (step S11).
- the OFS 4 holds the received flow entry.
- step S13 when the OFS 4 receives the same packet as the flow of the stored flow entry (step S13), the OFS 4 selects Cellular from the communication network based on the flow entry, and the packet is transmitted from the communication interface unit connected to the Cellular. The process of outputting is repeated (step S14).
- the control application unit 3 transmits a policy including an application ID, information on a plurality of communication networks, and communication network priority of each communication network to the OFC 2. Further, as described above, when the flows are the same, the OFS 4 maintains the connection of the communication network used by the traffic belonging to the flow. Furthermore, the OFC 2 selects a communication network based on the communication network priority set for each application specified by the policy. Therefore, the terminal device 1 can flexibly control a communication network used by each application from among a plurality of connected communication networks.
- the OFC 2 can identify an application every time a new flow occurs, and can select a communication network with the highest priority for the corresponding application.
- the communication networks can be selected in order from the communication network with the highest priority. it can.
- the OFS 4 maintains the connection of the communication network used by the traffic belonging to the same flow, it can be prevented that the application communication appears to be disconnected when viewed from the user.
- the default route of the IP route table is set to Wi-Fi, and 3G (mobile network) cannot be selected.
- 3G is selected as the communication network even when Wi-Fi is available because a policy is set so that the communication network can be selected for each flow (especially for each application). it can.
- FIG. 7 is a block diagram showing an outline of a terminal device according to the present invention.
- a terminal device according to the present invention is a terminal device (for example, terminal device 1) that selects a communication network used for communication from a plurality of connected communication networks (for example, 3G, Wi-Fi), and has the same flow.
- the selection means for example, OFC2 for selecting the communication network used by each application (for example, the application unit 6) based on the priority instructed while maintaining the connection of the communication network used by the traffic belonging to
- Application identification information for example, application ID
- communication network information for example, contents of “route designation” illustrated in FIG. 2 for identifying a plurality of communication networks
- an application Instruction information including a communication network priority that defines the priority of the communication network selected for each identification information (for example, Transmitting mechanism 81 for transmitting sheet) (for example, a control application section 3).
- the transmission unit 81 may transmit the instruction information to a selection unit that selects a communication network having the highest communication network priority among communicable communication networks. With such a configuration, even when a communication network with the highest priority cannot be connected, it is possible to control to perform communication using another communication network.
- the transmission unit 81 may transmit instruction information including traffic identification information for identifying traffic to the selection unit.
- the selection means may select a communication network based on the received instruction information.
- Terminal device 2 Communication control manager (OFC) 3 Control application part 4 Packet transfer part (OFS) 5 Protocol processing unit 6 Application unit 7 Communication interface unit 21 API management unit 22 Policy management unit 23 Statistics information management unit 24 Flow management unit 25 Node state management unit 26 Protocol state management unit 221 Policy table storage unit 222 Policy entry management unit 223 Policy Search unit 224 Action selection unit
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
This terminal device, in which communication networks to use in communication are selected from among a plurality of connected communication networks, is provided with a transmitting means (81) that transmits instruction information to a selecting means that maintains connections to communication networks used by traffic belonging to the same flow while using provided priority levels to select a communication network for each application to use. Said instruction information includes the following: application-identifying information that identifies the application that transmitted each packet within traffic; communication-network information that identifies a plurality of communication networks; and communication-network priority levels that define a priority order for communication networks selected for each piece of application-identifying information.
Description
本発明は、外部と通信可能な端末装置、その端末装置を制御する端末装置制御方法、および、その端末装置を制御するための端末装置制御プログラムに関する。
The present invention relates to a terminal device capable of communicating with the outside, a terminal device control method for controlling the terminal device, and a terminal device control program for controlling the terminal device.
パケットを転送するスイッチを制御装置が制御するプロトコルとして、オープンフロー(OpenFlow)が知られている。オープンフローは、非特許文献1で規定されている。
Open flow (OpenFlow) is known as a protocol in which a control device controls a switch that transfers a packet. OpenFlow is defined in Non-Patent Document 1.
オープンフローでは、制御装置がスイッチにフローエントリを設定する。そして、スイッチは、受信したパケットをそのフローエントリに従って処理する。フローエントリとは、パケットをどのように処理するか(例えば、転送、廃棄等)を規定した情報である。フローエントリは、パケットのフロー毎に設定される。スイッチがパケットを受信したときに、そのパケットのフローに対応するフローエントリが存在する場合、スイッチは、そのフローエントリに従ってそのパケットを処理する。一方、受信したパケットのフローに対応するフローエントリが存在しない場合、スイッチはその旨を制御装置に通知する。そして、制御装置は、そのパケットのフローに対応するフローエントリを決定し、スイッチに設定する。
In open flow, the control device sets a flow entry in the switch. Then, the switch processes the received packet according to the flow entry. The flow entry is information that defines how to process a packet (for example, transfer, discard, etc.). The flow entry is set for each packet flow. When the switch receives a packet and there is a flow entry corresponding to the flow of the packet, the switch processes the packet according to the flow entry. On the other hand, when there is no flow entry corresponding to the flow of the received packet, the switch notifies the control device to that effect. Then, the control device determines a flow entry corresponding to the flow of the packet and sets it in the switch.
オープンフローにおいて、制御装置とスイッチとが送受信するメッセージの例として、“Packet_in ”,“Flow_mod”,“Packet_out”,“Flow_removed”等がある。
Examples of messages transmitted and received between the control device and the switch in OpenFlow include “Packet_in”, “Flow_mod”, “Packet_out”, and “Flow_removed”.
“Packet_in ”は、スイッチから制御装置に送られるメッセージである。“Packet_in ”は、対応するフローエントリが存在しなかったパケットをスイッチから制御装置に送るために用いられる。
“Packet_in” is a message sent from the switch to the control device. “Packet_in” is used to send a packet for which no corresponding flow entry exists from the switch to the control device.
“Flow_mod”は、制御装置からスイッチに送られるメッセージである。“Flow_mod”は、制御装置からスイッチに対してフローエントリの追加、変更、削除を行うためのメッセージである。
“Flow_mod” is a message sent from the control device to the switch. “Flow_mod” is a message for adding, changing, or deleting a flow entry from the control device to the switch.
“Packet_out”は、制御装置からスイッチに送られるメッセージである。“Packet_out”は、ポートからのパケット出力を指示するメッセージである。
“Packet_out” is a message sent from the control device to the switch. “Packet_out” is a message instructing packet output from the port.
“Flow_removed”は、スイッチから制御装置に送られるメッセージである。“Flow_removed”は、フローエントリが一定時間使用されず、タイムアウトでスイッチから消去される場合に、その旨を制御装置に通知するメッセージである。スイッチは、“Flow_removed”を送信する際、消去されたフローエントリに対応するフローの統計情報も制御装置に送信する。
“Flow_removed” is a message sent from the switch to the control device. “Flow_removed” is a message that notifies the control device when a flow entry is not used for a certain period of time and is deleted from the switch due to a timeout. When transmitting “Flow_removed”, the switch also transmits statistical information of the flow corresponding to the deleted flow entry to the control device.
また、近年では、外部と通信可能な端末装置として、スマートフォン等が急速に普及している。これらの端末装置は、3G(3rd Generation)やWi-Fi(Wireless Fidelity 、登録商標)など、複数の通信網に接続される。そのため、一つの通信網が使えない場合でも、他の通信網を利用して通信を行うことが可能になっている。
In recent years, smartphones and the like are rapidly spreading as terminal devices that can communicate with the outside. These terminal devices are connected to a plurality of communication networks such as 3G (3rd generation) or Wi-Fi (Wireless Fidelity, registered trademark). Therefore, even when one communication network cannot be used, it is possible to perform communication using another communication network.
さらに、ネットワークの負荷を分散させるために、単一宛先へ複数経路を利用してパケットを転送する方法として、ECMP(Equal Cost Multi Path )が知られている。ECMPでは、パケットヘッダ内の特定フィールドの内容についてハッシュ演算を実行し、演算により特定される経路に対してパケットを転送する。
Furthermore, ECMP (Equal Cost Multi Multi Path) is known as a method of transferring packets using a plurality of routes to a single destination in order to distribute the network load. In ECMP, a hash operation is performed on the contents of a specific field in the packet header, and the packet is transferred to a route specified by the operation.
また、特許文献1には、送信データを分散させて、輻輳や遅延、パケット損失を回避させる経路制御装置が記載されている。特許文献1に記載された経路制御装置は、ネットワークの品質を測定するパケットによる経路の品質情報の収集や、利用料金表からネットワークの利用料金を参照して、経路状態管理テーブルを作成する。さらに、特許文献1に記載された経路制御装置は、この経路状態管理テーブルを用いて、事前に設定した利用する経路数、利用するパラメータなどのポリシに基づいて複数の経路を選択した選択経路テーブルを作成する。
Further, Patent Document 1 describes a path control device that distributes transmission data to avoid congestion, delay, and packet loss. The route control device described in Patent Literature 1 creates a route state management table by collecting route quality information using packets for measuring network quality and referring to a network usage fee from a usage fee table. Furthermore, the route control device described in Patent Document 1 uses this route state management table to select a plurality of routes based on policies such as the number of routes to be used and parameters to be used that are set in advance. Create
3Gは、携帯電話回線網であり、無線が届く範囲が広く、多くの基地局も存在することから、大抵の場所で使用することが可能である。しかし、その反面、通信速度がWi-Fiより遅いため、動画などの通信を行うアプリケーションソフトウェア(以下、単にアプリケーションと記す。)の使用にはあまり適さない。したがって、トラフィックを発生させるアプリケーションの特性に応じて使用する通信網を簡易に制御できることが望まれる。
3G is a mobile phone network, has a wide range of wireless coverage, and has many base stations, so it can be used in most places. However, on the other hand, since the communication speed is slower than Wi-Fi, it is not very suitable for the use of application software (hereinafter simply referred to as an application) for performing communication such as moving images. Therefore, it is desirable that the communication network to be used can be easily controlled according to the characteristics of the application that generates traffic.
一般的なファイアーウォールに実装されているフィルタリング機能を用いて、アプリケーションごとに通信網の利用可否を制御することが考えられる。この場合、例えば、Wi-Fiと3Gの両方の通信網に接続されている場合に、特定のアプリケーションでWi-Fiを利用可能な時には通信を行うが、3Gのみ利用可能な時には通信しないといった設定を行うことで、通信網の利用可否を制御することが可能である。
It is conceivable to control the availability of the communication network for each application using a filtering function implemented in a general firewall. In this case, for example, when connected to both Wi-Fi and 3G communication networks, communication is performed when Wi-Fi is available for a specific application, but communication is not performed when only 3G is available. It is possible to control whether or not the communication network can be used.
しかし、このような通信網の利用可否設定は、一般に静的に行われる。そのため、各アプリケーションについて、複数の通信網の中から、どの通信網を優先的に利用させるといった制御を行うことは困難である。
However, such a communication network availability setting is generally performed statically. Therefore, it is difficult for each application to control which communication network is preferentially used from among a plurality of communication networks.
一方、一般的な端末装置は、例えば、同時に接続されるWi-Fiと3Gの両方の通信網に接続可能な場合、優先的にWi-Fiに接続する制御が行われる。そのため、3Gに接続している状態からWi-Fiに接続可能になると、一般的な端末装置は、3Gを利用して接続していたアプリケーションの通信を強制的に切断し、Wi-Fiに接続するよう制御する。そのため、ユーザから見ると、アプリケーションの通信が切断されたように見えてしまうという問題がある。
On the other hand, when a general terminal device can be connected to both Wi-Fi and 3G communication networks connected simultaneously, for example, control to preferentially connect to Wi-Fi is performed. Therefore, when it becomes possible to connect to Wi-Fi from the state connected to 3G, a general terminal device forcibly disconnects the communication of the application connected using 3G and connects to Wi-Fi. Control to do. Therefore, when viewed from the user, there is a problem that the communication of the application appears to be disconnected.
また、上述するECMPでは、トラフィックを発生させるアプリケーションの識別が困難であるため、アプリケーションごとに通信網を簡易に選択できるとは言い難い。
Further, in the above-described ECMP, it is difficult to identify the application that generates the traffic, so it cannot be said that the communication network can be easily selected for each application.
また、特許文献1に記載された経路制御装置は、宛先ネットワークごとのネクストホップやパス属性が整理された経路状態管理テーブルを作成し、この経路状態管理テーブルに基づいて、選択経路テーブルを作成する。しかし、特許文献1に記載された経路制御装置は、分配するトラフィックの割り当てが決定されていることを前提としている。そのため、すでに設定されている選択経路テーブルを変更するための制御方法や、未設定のトラフィックが伝送された場合の制御方法については、何ら考慮されていない。
In addition, the route control device described in Patent Document 1 creates a route state management table in which the next hop and path attributes for each destination network are arranged, and creates a selected route table based on the route state management table. . However, the route control device described in Patent Document 1 is based on the premise that allocation of traffic to be distributed is determined. Therefore, no consideration is given to a control method for changing the already set selection route table and a control method when unset traffic is transmitted.
このように、一般的な制御方法では、同時に接続される複数の通信網の中から各アプリケーションが利用する通信網を選択するための設定が自由に行えず、例えば、Wi-Fi接続時などの利便性に問題があった。
Thus, in a general control method, setting for selecting a communication network used by each application from a plurality of simultaneously connected communication networks cannot be freely performed. For example, when a Wi-Fi connection or the like is used. There was a problem with convenience.
そこで、本発明は、接続される複数の通信網の中から各アプリケーションに利用させる通信網を柔軟に制御できる端末装置、端末装置制御方法、および端末装置制御プログラムを提供することを目的とする。
Therefore, an object of the present invention is to provide a terminal device, a terminal device control method, and a terminal device control program that can flexibly control a communication network used by each application from a plurality of connected communication networks.
本発明による端末装置は、接続された複数の通信網の中から通信に用いられる通信網を選択する端末装置であって、同一フローに属するトラフィックが利用している通信網の接続を維持しつつ指示された優先度に基づいて各アプリケーションが利用する通信網を選択する選択手段に、トラフィックにおけるパケットの送信元のアプリケーションを識別するアプリケーション識別情報と、複数の通信網を識別する通信網情報と、アプリケーション識別情報ごとに選択される通信網の優先順位を規定した通信網優先度とを含む指示情報を送信する送信手段を備えたことを特徴とする。
A terminal device according to the present invention is a terminal device that selects a communication network to be used for communication from among a plurality of connected communication networks, while maintaining the connection of the communication network used by traffic belonging to the same flow. In selection means for selecting a communication network to be used by each application based on the instructed priority, application identification information for identifying a transmission source application of a packet in traffic, communication network information for identifying a plurality of communication networks, A transmission means for transmitting instruction information including a communication network priority that defines a priority order of communication networks selected for each application identification information is provided.
本発明による端末装置制御方法は、端末装置に接続された複数の通信網の中から通信に用いられる通信網を選択させる制御を行う端末装置制御方法であって、端末装置の送信手段が、同一フローに属するトラフィックが利用している通信網の接続を維持しつつ指示された優先度に基づいて各アプリケーションが利用する通信網を選択する自端末装置の選択手段に、トラフィックにおけるパケットの送信元のアプリケーションを識別するアプリケーション識別情報と、複数の通信網を識別する通信網情報と、アプリケーション識別情報ごとに選択される通信網の優先順位を規定した通信網優先度とを含む指示情報を送信することを特徴とする。
A terminal device control method according to the present invention is a terminal device control method for performing control for selecting a communication network used for communication from a plurality of communication networks connected to the terminal device, wherein the transmission means of the terminal devices are the same. While selecting the communication network used by each application based on the specified priority while maintaining the connection of the communication network used by the traffic belonging to the flow, the packet transmission source of the packet in the traffic is selected. Transmitting instruction information including application identification information for identifying an application, communication network information for identifying a plurality of communication networks, and a communication network priority that defines a priority order of communication networks selected for each application identification information It is characterized by.
本発明による端末装置制御プログラムは、接続された複数の通信網の中から通信に用いられる通信網を、同一フローに属するトラフィックが利用している通信網の接続を維持しつつ指示された情報に基づいて通信網を選択する選択手段に選択させる制御を行うコンピュータに適用される端末装置制御プログラムであって、コンピュータに、トラフィックにおけるパケットの送信元のアプリケーションを識別するアプリケーション識別情報と、複数の通信網を識別する通信網情報と、アプリケーション識別情報ごとに選択される通信網の優先順位を規定した通信網優先度とを含む指示情報を選択手段に送信する送信処理を実行させることを特徴とする。
The terminal device control program according to the present invention uses a communication network used for communication from among a plurality of connected communication networks as specified information while maintaining connection of the communication network used by traffic belonging to the same flow. A terminal device control program that is applied to a computer that performs control that causes a selection unit that selects a communication network to select based on application identification information that identifies an application that is a transmission source of a packet in traffic, and a plurality of communications A transmission process for transmitting instruction information including communication network information for identifying a network and communication network priority defining a priority of a communication network selected for each application identification information to a selection unit is executed. .
本発明によれば、接続される複数の通信網の中から各アプリケーションに利用させる通信網を柔軟に制御できる。
According to the present invention, it is possible to flexibly control a communication network used by each application from among a plurality of connected communication networks.
以下、本発明の実施形態を図面を参照して説明する。以下、オープンフローにおける制御装置をOFC(OpenFlow Controller )と記す。また、オープンフローにおけるスイッチをOFS(OpenFlow Switch )と記す。
Hereinafter, embodiments of the present invention will be described with reference to the drawings. Hereinafter, the control device in OpenFlow is referred to as OFC (OpenFlow Controller). Also, a switch in OpenFlow is referred to as OFS (OpenFlow Switch).
図1は、本発明の端末装置の例を示すブロック図である。本発明の端末装置1は、通信制御管理部2と、制御アプリケーション部3と、パケット転送部4と、プロトコル処理部5と、アプリケーション部6と、通信インタフェース部7a~7nとを備える。端末装置1は、複数の通信網に同時に接続され、その複数の通信網の中から選択された通信網を適宜使って通信する装置である。端末装置1の一例として、例えば、スマートフォンやタブレット型携帯端末などが挙げられる。
FIG. 1 is a block diagram showing an example of a terminal device of the present invention. The terminal device 1 of the present invention includes a communication control management unit 2, a control application unit 3, a packet transfer unit 4, a protocol processing unit 5, an application unit 6, and communication interface units 7a to 7n. The terminal device 1 is a device that is connected to a plurality of communication networks at the same time and communicates by appropriately using a communication network selected from the plurality of communication networks. As an example of the terminal device 1, a smart phone, a tablet-type portable terminal, etc. are mentioned, for example.
各アプリケーション部6は、端末装置1にインストールされた各アプリケーションに従って動作するCPUによって実現される。各アプリケーション部6は、対応するアプリケーションに応じた動作を行う。
Each application unit 6 is realized by a CPU that operates according to each application installed in the terminal device 1. Each application unit 6 performs an operation according to the corresponding application.
パケット転送部4は、アプリケーション部6が外部に送信しようとするパケットを、通信制御管理部2に従って処理する(例えば、転送したり、破棄したりする)。
The packet transfer unit 4 processes a packet that the application unit 6 intends to transmit to the outside according to the communication control management unit 2 (for example, transfers or discards the packet).
通信制御管理部2は、制御アプリケーション部3からの指示に基づいて、パケット転送部4におけるパケット処理を制御する。本実施形態では、通信制御管理部2がオープンフローに従ってパケット転送部4を制御する場合を例にして説明する。すなわち、本実施形態では、通信制御管理部2がオープンフローにおけるOFCに該当し、パケット転送部4がオープンフローにおけるOFSに該当するものとして説明する。ただし、通信制御管理部2は、オープンフロー以外のプロトコルでパケット転送部4を制御してもよい。以下、通信制御管理部2をOFC2と記す。また、パケット転送部4をOFS4と記す。OFC2およびOFS4は、プログラムに従って動作するCPUによって実現される。OFC2としての機能を実現させるプログラムはOFC基盤と称される。
The communication control management unit 2 controls packet processing in the packet transfer unit 4 based on an instruction from the control application unit 3. In the present embodiment, a case where the communication control management unit 2 controls the packet transfer unit 4 according to an open flow will be described as an example. In other words, in the present embodiment, the communication control management unit 2 corresponds to the OFC in the open flow, and the packet transfer unit 4 corresponds to the OFS in the open flow. However, the communication control management unit 2 may control the packet transfer unit 4 with a protocol other than OpenFlow. Hereinafter, the communication control management unit 2 is referred to as OFC2. The packet transfer unit 4 is referred to as OFS4. OFC2 and OFS4 are realized by a CPU that operates according to a program. A program for realizing the function as the OFC 2 is called an OFC base.
制御アプリケーション部3は、制御アプリケーションソフトウェアに従って動作するCPUによって実現される。以下、制御アプリケーションソフトウェアを制御アプリケーション、または制御APP(Application )と記す。制御アプリケーション部3は、OFC2に対する指示を表す指示情報をOFC2に送る。この指示情報をポリシと記す。なお、このポリシの内容については後述される。
The control application unit 3 is realized by a CPU that operates according to control application software. Hereinafter, the control application software is referred to as a control application or a control APP (Application). The control application unit 3 sends instruction information indicating an instruction for the OFC 2 to the OFC 2. This instruction information is referred to as a policy. The contents of this policy will be described later.
通信インタフェース部7a~7nは、それぞれ、3G、LTE(Long Term Evolution )、Wi-Fi等の各種通信に対応する通信インタフェースである。各通信インタフェース部7a~7nは、具体的には、OFS4のポートとして識別される。すなわち、端末装置1は、これらの複数の通信網に接続されていると言える。
The communication interface units 7a to 7n are communication interfaces corresponding to various types of communication such as 3G, LTE (Long Terminology Evolution), and Wi-Fi. Each of the communication interface units 7a to 7n is specifically identified as an OFS4 port. That is, it can be said that the terminal device 1 is connected to the plurality of communication networks.
プロトコル処理部5は、プログラムに従って動作するCPUによって実現される。プロトコル処理部5は、アプリケーションに対して通信サービスを提供する。プロトコル処理部5は、伝送路で用いられるTCP(Transmission Control Protocol )、UDP(User Datagram Protocol)等のプロトコルを実装した部分である。プロトコル処理部5は、各通信インタフェース部7a~7nが使用できる状態か否かを監視し、その監視結果をOFC2(具体的には、後述のノード状態管理部25、図3参照)に通知する。また、プロトコル処理部5は、自ポート番号および、その自ポート番号に対応するプロセスID(Identification)をOFC2(具体的には、後述のプロトコル状態管理部26、図3参照)に通知する。上記の自ポート番号は、アプリケーションから指示された各通信におけるTCP,UDP等の自ポート番号である。
The protocol processing unit 5 is realized by a CPU that operates according to a program. The protocol processing unit 5 provides a communication service for the application. The protocol processing unit 5 is a part in which protocols such as TCP (Transmission Control Protocol) and UDP (User Datagram Protocol) used in the transmission path are implemented. The protocol processing unit 5 monitors whether or not each of the communication interface units 7a to 7n is usable, and notifies the monitoring result to the OFC 2 (specifically, a node state management unit 25 described later, see FIG. 3). . Further, the protocol processing unit 5 notifies the OFC 2 (specifically, a protocol state management unit 26 described later, see FIG. 3) of the own port number and the process ID (Identification) corresponding to the own port number. The self port number is a self port number such as TCP or UDP in each communication instructed by the application.
制御アプリケーション、および、OFC2、OFS4、プロトコル処理部5の機能を実現するための各プログラムは、端末装置制御プログラムと称することができる。端末装置制御プログラムは、端末装置1の記憶装置(図示略)に記憶され、端末装置1のCPUが端末装置制御プログラムを読み込み、そのプログラムに従って、OFC2、制御アプリケーション部3、OFS4、プロトコル処理部5として動作する。
Each program for realizing the functions of the control application and OFC2, OFS4, and protocol processor 5 can be referred to as a terminal device control program. The terminal device control program is stored in a storage device (not shown) of the terminal device 1, and the CPU of the terminal device 1 reads the terminal device control program, and according to the program, OFC2, control application unit 3, OFS4, protocol processing unit 5 Works as.
制御アプリケーション部3がOFC2に送るポリシについて説明する。ポリシは、トラフィックの内容に応じたアクションを指示する指示情報である。図2は、ポリシを模式的に示す説明図である。ポリシには、ポリシを検索する際に用いる検索キーと、ポリシが指定する動作を表すアクションとが含まれる。
The policy that the control application unit 3 sends to the OFC 2 will be described. The policy is instruction information for instructing an action according to the content of traffic. FIG. 2 is an explanatory view schematically showing a policy. The policy includes a search key used when searching for a policy and an action indicating an operation specified by the policy.
トラフィックを指定する情報(以下、トラフィック識別情報と記す。)は、検索キーとして記述される。例えば、検索キーとしてアプリケーションIDが記述される。アプリケーションIDは、制御対象トラフィックを端末装置内で送受信するアプリケーションの識別子である。ポリシにおいてアプリケーションIDが未指定である場合、ワイルドカードであるとみなされる。
Information specifying traffic (hereinafter referred to as traffic identification information) is described as a search key. For example, an application ID is described as a search key. The application ID is an identifier of an application that transmits / receives the control target traffic within the terminal device. If the application ID is not specified in the policy, it is regarded as a wild card.
また、例えば、制御対象トラフィックのフローの識別情報が検索キーとして記述されていてもよい。フローの識別情報には、例えば、アドレスやポート番号等が含まれる。フロー情報となるアドレスやポート番号が未指定である場合、ワイルドカードとみなされる。
Further, for example, the identification information of the flow of the control target traffic may be described as a search key. The flow identification information includes, for example, an address and a port number. If the address or port number used as flow information is not specified, it is regarded as a wild card.
また、検索キーには、優先度が含まれていてもよい。優先度は、共通のトラフィックに対応するポリシが複数存在する場合、それらポリシの優先順位を表す。従って、OFC2が、あるトラフィックに対応するポリシを検索した結果、複数のポリシが得られた場合、OFC2は、そのポリシのうち最も優先度が高いポリシのみを最終的に検索結果とする。
Also, the search key may include a priority. The priority indicates the priority of the policies when there are a plurality of policies corresponding to the common traffic. Therefore, when a plurality of policies are obtained as a result of the OFC 2 searching for a policy corresponding to a certain traffic, the OFC 2 finally uses only the policy with the highest priority among the policies as a search result.
アクションを指定する態様には、トラフィックに応じて、そのトラフィックの通信網を指定する態様がある。この態様では、端末装置1が接続し得る通信網(Wi-Fiや3G等)が指定される。例えば、あるトラフィックに対応するポリシで、アクションとしてWi-Fiが指定されていた場合、そのトラフィックのパケットはWi-Fiに対応する通信インタフェース部から送信されることになる。
The mode for specifying an action includes a mode for specifying a communication network of the traffic according to the traffic. In this aspect, a communication network (Wi-Fi, 3G, etc.) to which the terminal device 1 can be connected is designated. For example, when Wi-Fi is specified as an action in a policy corresponding to a certain traffic, the packet of the traffic is transmitted from the communication interface unit corresponding to Wi-Fi.
また、アクションを指定する態様として、予め規定された動作を実行するか否かをフラグによって定める態様がある。予め規定された動作の例として、例えば、「OFC2がポリシで指定されたトラフィックを検知した場合、OFC2がその旨を制御アプリケーション部3に通知する。」等の動作が挙げられる。この動作に対応するフラグが、ポリシ内でオンに設定されているとする。OFC2は、トラフィックを検知し、そのトラフィックに対応するポリシとしてこのポリシを検索した場合、フラグで指定された上記の動作を実行する。また、ポリシ内でこのフラグがオフに設定されている場合、OFC2は、このポリシを検索したとしても、上記の動作を実行しない。
Also, as an aspect for specifying an action, there is an aspect in which whether or not to execute a predetermined operation is determined by a flag. As an example of the operation defined in advance, for example, an operation such as “when OFC 2 detects traffic designated by a policy, OFC 2 notifies the control application unit 3 to that effect”. Assume that the flag corresponding to this operation is set to ON in the policy. When the OFC 2 detects traffic and searches for this policy as a policy corresponding to the traffic, the OFC 2 executes the above-described operation specified by the flag. If this flag is set to OFF in the policy, the OFC 2 does not execute the above operation even if this policy is retrieved.
また、アクションを指定する態様として、複数のアクションを関連付けて指定する態様がある。具体的には、アクションを指定する態様として、上述するトラフィックの通信網を複数指定するとともに、これらの複数の通信網の優先順位(以下、通信網優先度と記す。)を指定する態様がある。この態様では、例えば、OFC2がポリシで指定されたアプリケーションからのトラフィックを検知した場合、指定された通信網の中から、最も優先順位が高い通信網を選択することになる。
Also, as an aspect for specifying an action, there is an aspect for specifying a plurality of actions in association with each other. Specifically, as a mode for designating an action, there is a mode for designating a plurality of communication networks for the traffic described above and designating a priority order of these plurality of communication networks (hereinafter referred to as communication network priority). . In this aspect, for example, when the OFC 2 detects traffic from an application designated by the policy, the communication network with the highest priority is selected from the designated communication networks.
上述するように、OFC2は、制御アプリケーション部3からの指示に基づいて、OFS4におけるパケット処理を制御する。具体的には、本実施形態では、OFC2は、制御アプリケーション部3からの指示に基づいて、OFS4がトラフィックの伝送に用いられる通信網を制御する。言い換えると、本実施形態の端末装置1では、OFC2およびOFS4が、各アプリケーションによって利用される通信網を選択していると言える。また、本実施形態の端末装置1では、制御アプリケーション部3が、OFC2およびOFS4が通信網を選択するための情報としてポリシを送信していると言える。
As described above, the OFC 2 controls packet processing in the OFS 4 based on an instruction from the control application unit 3. Specifically, in the present embodiment, the OFC 2 controls the communication network in which the OFS 4 is used for traffic transmission based on an instruction from the control application unit 3. In other words, in the terminal device 1 of the present embodiment, it can be said that the OFC 2 and OFS 4 have selected the communication network used by each application. Further, in the terminal device 1 of the present embodiment, it can be said that the control application unit 3 transmits a policy as information for the OFC 2 and OFS 4 to select a communication network.
したがって、各アプリケーションに対して優先的に利用させる通信網を決定する場合、制御アプリケーション部3は、アプリケーションIDを含むトラフィック識別情報と、複数の通信網と、各通信網の優先順位を規定した通信網優先度とを含むポリシをOFC2に送信する。この場合、ポリシを受信したOFC2は、送信されたポリシに含まれるアプリケーションIDを含むフローを受信したとき、通信網優先度に従ってアプリケーションに利用させる通信網を決定する制御を行う。
Therefore, when determining a communication network to be preferentially used for each application, the control application unit 3 performs communication specifying traffic identification information including an application ID, a plurality of communication networks, and a priority order of each communication network. A policy including the network priority is transmitted to OFC2. In this case, when receiving the flow including the application ID included in the transmitted policy, the OFC 2 that has received the policy performs control to determine a communication network to be used by the application according to the communication network priority.
なお、トラフィック識別情報は、伝送されるトラフィックを識別するための情報であり、例えば、検索キーである。また、複数の通信網とは、トラフィック識別情報により特定されるトラフィックの伝送に用いられる通信網である。本実施形態では、ポリシに含まれる通信網の指定に、例えば、通信インタフェース部7a~7nを特定するためのポート番号を設定すればよい。
The traffic identification information is information for identifying the transmitted traffic, and is, for example, a search key. The plurality of communication networks are communication networks used for transmission of traffic specified by traffic identification information. In the present embodiment, for example, a port number for specifying the communication interface units 7a to 7n may be set in the designation of the communication network included in the policy.
以上のように、上述するポリシを、制御アプリケーション部3がOFC2に送信すれば、各アプリケーションに対して優先的に利用させる通信網を決定できる。すなわち、本実施形態の端末装置1は、接続される複数の通信網の中から各アプリケーションに利用させる通信網を柔軟に制御できる。
As described above, if the control application unit 3 transmits the above-described policy to the OFC 2, a communication network to be preferentially used for each application can be determined. That is, the terminal device 1 according to the present embodiment can flexibly control a communication network used by each application from among a plurality of connected communication networks.
図3は、OFC2の詳細を示すブロック図である。OFC2は、API管理部21と、ポリシ管理部22と、統計情報管理部23と、フロー管理部24と、ノード状態管理部25と、プロトコル状態管理部26とを含む。
FIG. 3 is a block diagram showing the details of OFC2. The OFC 2 includes an API management unit 21, a policy management unit 22, a statistical information management unit 23, a flow management unit 24, a node state management unit 25, and a protocol state management unit 26.
API管理部21は、制御アプリケーション部3からのAPI呼び出しや、OFC2側からの応答を中継する。例えば、API管理部21は、制御アプリケーション部3からポリシの追加、変更、削除の通知を受信した場合には、その通知をポリシ管理部22に送る。また、ポリシ管理部22が制御アプリケーション部3に情報を送信する場合、API管理部21は、その情報を中継する。また、例えば、API管理部21は、制御アプリケーション部3からトラフィックの統計情報の要求を受信した場合、その要求を統計情報管理部23に送る。そして、統計情報管理部23がその要求に応じて統計情報を制御アプリケーション部3に送信する場合、API管理部21は、その統計情報を中継する。
The API management unit 21 relays API calls from the control application unit 3 and responses from the OFC 2 side. For example, when the API management unit 21 receives a policy addition, change, or deletion notification from the control application unit 3, the API management unit 21 sends the notification to the policy management unit 22. When the policy management unit 22 transmits information to the control application unit 3, the API management unit 21 relays the information. For example, when the API management unit 21 receives a request for traffic statistical information from the control application unit 3, the API management unit 21 sends the request to the statistical information management unit 23. When the statistical information management unit 23 transmits statistical information to the control application unit 3 in response to the request, the API management unit 21 relays the statistical information.
ポリシ管理部22は、制御アプリケーション部3から送られた各ポリシを保持する。そして、OFS4から“Packet_in ”とともにOFC2に送られたパケット(OFS4において、合致するフローエントリが存在しなかったパケット)を取得した場合、そのパケットに応じたポリシを検索し、検索したポリシで定められた動作を実行する。
The policy management unit 22 holds each policy sent from the control application unit 3. When a packet sent from OFS 4 together with “Packet_in” to OFC 2 (a packet for which no matching flow entry exists in OFS 4) is acquired, a policy corresponding to the packet is searched and determined by the searched policy. Execute the specified operation.
統計情報管理部23は、OFS4から送られる統計情報を保持する。
The statistical information management unit 23 holds statistical information sent from the OFS 4.
フロー管理部24は、OFS4との間の通信を行い、また、OFS4に設定したフローエントリに関する情報を管理する。フロー管理部24は、OFS4から“Packet_in ”とともにパケット(OFS4において、合致するフローエントリが存在しなかったパケット)を受信した場合、そのパケットをポリシ管理部22に送る。また、フロー管理部24は、“Flow_removed”を受信した場合、“Flow_removed”とともにOFS4から受信した統計情報を統計情報管理部23に送る。また、ポリシ管理部22が、ポリシに従ってフローエントリを作成した場合、フロー管理部24は、OFS4に対して設定すべきフローエントリを生成し、そのフローエントリをOFS4に送信する。
The flow management unit 24 performs communication with the OFS 4 and manages information related to the flow entry set in the OFS 4. When the flow management unit 24 receives a packet (packet for which no matching flow entry exists in OFS 4) together with “Packet_in” from the OFS 4, the flow management unit 24 sends the packet to the policy management unit 22. Further, when “Flow_removed” is received, the flow management unit 24 sends the statistical information received from the OFS 4 together with “Flow_removed” to the statistical information management unit 23. When the policy management unit 22 creates a flow entry according to the policy, the flow management unit 24 generates a flow entry to be set for the OFS 4 and transmits the flow entry to the OFS 4.
なお、本実施形態のOFS4は、フローエントリに設定されたフローに属するトラフィックを検知した場合には、OFC2に“Packet_in ”を送信しない。したがって、例えば、3Gに接続している状態からWi-Fiに接続可能になった場合であってもOFS4は、同一フローに属するトラフィックが利用している通信網の接続を維持することになる。
Note that the OFS 4 of this embodiment does not transmit “Packet_in_” to the OFC 2 when detecting traffic belonging to the flow set in the flow entry. Therefore, for example, even when Wi-Fi can be connected from the state connected to 3G, OFS 4 maintains the connection of the communication network used by the traffic belonging to the same flow.
したがって、あるアプリケーションの通信中に、端末装置1が他の通信網へ接続できるようになったとしても、現在接続中の通信網を継続して利用できる。このことにより、ユーザに対して、通信が切断されたという印象を与えることを抑制できる。
Therefore, even if the terminal device 1 can connect to another communication network during communication of a certain application, the currently connected communication network can be used continuously. This can suppress giving the user the impression that communication has been disconnected.
図4は、フロー管理部24が管理する情報の例を示す模式図である。フロー管理部24が管理する各情報は、OFS4に設定されるフローエントリ毎に生成される。そして、フロー管理部24が管理する各情報には、それらの個々の情報を検索するための検索キーが含まれる。その検索キーには、フローエントリで制御されるトラフィックのフローの識別情報が記述される。既に説明したように、フローの識別情報には、例えば、アドレスやポート番号等が含まれる。フロー情報となるアドレスやポート番号が未指定である場合、ワイルドカードとみなされる。また、検索キーには、フローエントリを設定するときに利用したポリシIDも含まれる。さらに、フロー管理部24が管理する各情報には、フローエントリで設定されるアクションも記述される。
FIG. 4 is a schematic diagram illustrating an example of information managed by the flow management unit 24. Each piece of information managed by the flow management unit 24 is generated for each flow entry set in the OFS 4. Each piece of information managed by the flow management unit 24 includes a search key for searching for each piece of information. The search key describes the flow flow identification information controlled by the flow entry. As already described, the flow identification information includes, for example, an address and a port number. If the address or port number used as flow information is not specified, it is regarded as a wild card. The search key also includes the policy ID used when setting the flow entry. Further, each information managed by the flow management unit 24 also describes an action set in the flow entry.
なお、本実施形態では、フローエントリが一度消えてしまうと、同一のTCP(Transmission Control Protocol)コネクションに属するトラフィックであっても新規フローと判断される。そこで、OFS4から受信した“Packet_in ”に記載されたフローと検索キーが一致するフローが、過去所定の時間内に存在しており、かつ、送信元のアプリケーションも一致する場合、フロー管理部24は、両方のフローを同一と判断してもよい。
In this embodiment, once the flow entry disappears, it is determined that the traffic belongs to the same TCP (Transmission Control Protocol) connection as a new flow. Therefore, if the flow described in “Packet_in” received from the OFS 4 and the flow whose search key matches exist in the past predetermined time and the application of the transmission source also matches, the flow management unit 24 Both flows may be determined to be the same.
ノード状態管理部25は、各通信インタフェース部7a~7n(図1参照)が使用できる状態か否かを示す情報をプロトコル処理部5から取得し、保持する。ポリシ管理部22(具体的には、後述のアクション選択部224。図5参照。)は、この情報を参照することによって、個々の通信インタフェース部7a~7nが使用可能であるか否かを判定する。ポリシ管理部22(具体的には、アクション選択部224)は、パケットを送出しようとする通信インタフェースが使用できない場合、その通信インタフェースからのパケット送信を定めたフローエントリの作成を中止する。
The node state management unit 25 acquires information indicating whether or not each communication interface unit 7a to 7n (see FIG. 1) is usable from the protocol processing unit 5 and holds it. The policy management unit 22 (specifically, an action selection unit 224, which will be described later, see FIG. 5) refers to this information to determine whether or not each communication interface unit 7a to 7n is usable. To do. The policy management unit 22 (specifically, the action selection unit 224) stops the creation of a flow entry that defines packet transmission from the communication interface when the communication interface to which the packet is to be transmitted cannot be used.
プロトコル状態管理部26は、パケットのフロー情報とアプリケーションID(アプリケーションの識別子)との対応関係を表す情報を保持する。ここでは、パケットのフロー情報としてポート番号を用いる場合を例に説明する。プロトコル状態管理部26は、プロトコル処理部5(図1参照)からポート番号およびプロセスIDを取得する。プロトコル状態管理部26は、そのプロセスIDに対応するUID(User ID )と、そのUIDに対応するアプリケーションIDとを対応づけた情報を作成し、その情報を保持する。この結果、フロー情報(ポート番号)とアプリケーションIDとが対応づけられ、フロー情報からアプリケーションIDを検索することが可能となる。ただし、プロトコル状態管理部26が、フロー情報とアプリケーションIDとの対応関係を示す情報を保持する態様は、特に限定されず、上記の態様でなくてもよい。
The protocol state management unit 26 holds information representing the correspondence between the packet flow information and the application ID (application identifier). Here, a case where a port number is used as the flow information of a packet will be described as an example. The protocol state management unit 26 acquires a port number and a process ID from the protocol processing unit 5 (see FIG. 1). The protocol state management unit 26 creates information in which a UID (User ID) corresponding to the process ID is associated with an application ID corresponding to the UID, and holds the information. As a result, the flow information (port number) and the application ID are associated with each other, and the application ID can be searched from the flow information. However, the mode in which the protocol state management unit 26 holds information indicating the correspondence between the flow information and the application ID is not particularly limited, and may not be the above mode.
図5は、ポリシ管理部22の詳細を示すブロック図である。ポリシ管理部22は、ポリシテーブル記憶部221と、ポリシエントリ管理部222と、ポリシ検索部223と、アクション選択部224とを含む。
FIG. 5 is a block diagram showing details of the policy management unit 22. The policy management unit 22 includes a policy table storage unit 221, a policy entry management unit 222, a policy search unit 223, and an action selection unit 224.
ポリシテーブル記憶部221は、ポリシを記憶する記憶装置(例えば、メモリ)である。
The policy table storage unit 221 is a storage device (for example, a memory) that stores policies.
ポリシエントリ管理部222は、API管理部21を介して、制御アプリケーション部3からポリシの追加、変更、削除の通知を受信すると、その通知に従って、ポリシテーブル記憶部221内のポリシを更新する。例えば、ポリシエントリ管理部222は、ポリシテーブル記憶部221に新たにポリシを記憶させたり、ポリシテーブル記憶部221に記憶されているポリシの内容を変更したり、ポリシテーブル記憶部221に記憶されているポリシを削除したりする。
When the policy entry management unit 222 receives a policy addition, change, or deletion notification from the control application unit 3 via the API management unit 21, the policy entry management unit 222 updates the policy in the policy table storage unit 221 according to the notification. For example, the policy entry management unit 222 newly stores the policy in the policy table storage unit 221, changes the contents of the policy stored in the policy table storage unit 221, or is stored in the policy table storage unit 221. Or delete existing policies.
ポリシ検索部223は、フロー管理部24からパケットが送られると、そのパケットのフロー情報(本例ではポート番号)をキーとして、プロトコル状態管理部26にそのフロー情報に対応するアプリケーションIDを検索させる。プロトコル状態管理部26は、検索したアプリケーションIDをポリシ検索部223に返す。このアプリケーションIDは、パケットの送信元となったアプリケーションIDである。ポリシ検索部223は、このアプリケーションIDをキーとして、ポリシテーブル記憶部221からポリシを検索する。
When a packet is sent from the flow management unit 24, the policy search unit 223 causes the protocol state management unit 26 to search for an application ID corresponding to the flow information using the flow information (port number in this example) of the packet as a key. . The protocol state management unit 26 returns the searched application ID to the policy search unit 223. This application ID is the application ID that is the source of the packet. The policy search unit 223 searches the policy table storage unit 221 for a policy using this application ID as a key.
アクション選択部224は、ポリシ検索部223によって検索されたポリシで定められているアクションを実行する。具体的には、検索されたポリシで定められているアクションに、複数の通信網とその通信網の通信網優先度が含まれている場合、アクション選択部224は、優先順位が最も高い通信網を選択する。
The action selection unit 224 executes an action defined by the policy searched by the policy search unit 223. Specifically, when the action defined by the searched policy includes a plurality of communication networks and the communication network priority of the communication network, the action selection unit 224 determines the communication network with the highest priority. Select.
このように、本実施形態では、制御アプリケーション部3が、アプリケーションごとに通信網優先度を設定したポリシをOFC2に通知するため、アクション選択部224は、通知されたポリシに基づいて、アプリケーションごとに接続する通信網を決定できる。
As described above, in the present embodiment, the control application unit 3 notifies the OFC 2 of the policy in which the communication network priority is set for each application. Therefore, the action selection unit 224 determines the policy for each application based on the notified policy. The communication network to be connected can be determined.
したがって、例えば、端末装置1が原則としてWi-Fiに優先的に接続する場合であっても、優先的に接続する通信網が3Gに設定されたアプリケーションからのトラフィックを検知した場合には、3Gを優先的に利用できる。
Therefore, for example, even when the terminal device 1 is preferentially connected to Wi-Fi in principle, if the communication network to be preferentially connected detects traffic from an application set to 3G, 3G Can be used preferentially.
また、アクション選択部224は、通信網が使用できる状態か否かをノード状態管理部25に問い合わせ、使用できる状態にある通信網の中から優先順位が最も高い通信網を選択してもよい。
Further, the action selection unit 224 may inquire of the node state management unit 25 whether or not the communication network can be used, and may select the communication network having the highest priority from the communication networks in the usable state.
また、アクション選択部224は、ポリシ検索部223によって検索されたポリシに従って、制御アプリケーション部3に対して通知を行ってもよい。
Further, the action selection unit 224 may notify the control application unit 3 according to the policy searched by the policy search unit 223.
次に、本実施形態の端末装置の動作を説明する。図6は、本実施形態の端末装置1の動作例を示すシーケンス図である。図6に示す例では、端末装置1は、Wi-Fiと公衆無線通信網であるCellularの2つの通信網に同時に接続されているものとする。また、図6において、制御アプリケーション部3がOFC2に送るポリシの内容は、破線で囲んで図示する。
Next, the operation of the terminal device of this embodiment will be described. FIG. 6 is a sequence diagram illustrating an operation example of the terminal device 1 of the present embodiment. In the example shown in FIG. 6, it is assumed that the terminal device 1 is simultaneously connected to two communication networks, Wi-Fi and Cellular, which is a public wireless communication network. Further, in FIG. 6, the content of the policy sent from the control application unit 3 to the OFC 2 is shown surrounded by a broken line.
制御アプリケーション部3は、OFC基盤(すなわち、OFC2)にポリシを送信して、送信したポリシの追加を指示する(ステップS1)。図6に示す例では、制御アプリケーション部3は、検索キーの一部であるアプリケーションIDに「APP1」を設定し、アクションの一部である経路指定に「Wi-Fi,Cellular」および通信網優先度に、Wi-FiをCellularよりも優先する旨(図6における「Wi-Fi+,Cellular-」)を設定したポリシをOFC2に送信する。
The control application unit 3 transmits a policy to the OFC base (that is, OFC 2) and instructs the addition of the transmitted policy (step S1). In the example shown in FIG. 6, the control application unit 3 sets “APP1” in the application ID that is a part of the search key, and “Wi-Fi, Cellular” and communication network priority are set for the route specification that is a part of the action. Each time, a policy in which Wi-Fi is prioritized over Cellular ("Wi-Fi +, Cellular-" in FIG. 6) is transmitted to OFC2.
さらに、制御アプリケーション部3は、検索キーの一部であるアプリケーションIDに「APP2」を設定し、アクションの一部である経路指定に「Wi-Fi,Cellular」および通信網優先度に、CellularをWi-Fiよりも優先する旨(図6における「Cellular+,Wi-Fi-」)を設定したポリシをOFC2に送信する。
Further, the control application unit 3 sets “APP2” to the application ID that is a part of the search key, sets “Wi-Fi, Cellular” to the routing that is a part of the action, and sets Cellular to the communication network priority. A policy in which priority is given over Wi-Fi ("Cellular +, Wi-Fi-" in FIG. 6) is transmitted to OFC2.
ポリシを受信すると、OFC2(具体的には、ポリシエントリ管理部222)が、受信したポリシの内容でポリシテーブル記憶部221の内容を更新する。
When the policy is received, the OFC 2 (specifically, the policy entry management unit 222) updates the content of the policy table storage unit 221 with the content of the received policy.
制御アプリケーション部3は、例えば、端末装置1のユーザに入力されたポリシを送信してもよく、モバイルキャリアなどにより予め与えられたポリシを送信してもよい。
For example, the control application unit 3 may transmit a policy input to the user of the terminal device 1 or may transmit a policy given in advance by a mobile carrier or the like.
その後、アプリケーション部6(本例では、APP1と記す。)が外部に向けたパケットをOFS4に送信する(ステップS3)。受信したパケットが、フローエントリに合致しなかった場合、OFS4は、そのパケットを“Packet_in ”とともにOFC2に送信する(ステップS4)。
Thereafter, the application unit 6 (in this example, referred to as APP1) transmits a packet directed to the outside to the OFS 4 (step S3). If the received packet does not match the flow entry, the OFS 4 transmits the packet to the OFC 2 together with “Packet_in” (step S4).
OFC2(具体的には、ポリシ検索部223)は、受信したパケットに応じたポリシをポリシテーブル記憶部221から検索する。ステップS3で送信されたパケットの送信元アプリケーションはAPP1であるため、ステップS1で追加されたポリシが検索される。そこで、OFC2(具体的には、アクション選択部224)は、通信網としてWi-Fiを選択する。
The OFC 2 (specifically, the policy search unit 223) searches the policy table storage unit 221 for a policy corresponding to the received packet. Since the transmission source application of the packet transmitted in step S3 is APP1, the policy added in step S1 is searched. Therefore, OFC2 (specifically, action selection unit 224) selects Wi-Fi as the communication network.
OFC2(具体的には、フロー管理部24)は、検索したポリシに従い、受信したパケットのフローに対して、Wi-Fiを通信網として使用することを規定したフローエントリを作成する。本実施形態では、OFS4のポートは、端末装置1の各インタフェースに直結されているため、フローエントリのアクションには、いずれかの出力ポートが指定される。OFC2(具体的には、フロー管理部24)は、そのフローエントリを指定した“Flow_mod”および“Packet_out”をOFS4に送信する(ステップS5)。
OFC2 (specifically, flow management unit 24) creates a flow entry that stipulates that Wi-Fi is used as a communication network for the flow of the received packet in accordance with the searched policy. In the present embodiment, since the port of the OFS 4 is directly connected to each interface of the terminal device 1, any output port is designated as the action of the flow entry. The OFC 2 (specifically, the flow management unit 24) transmits “Flow_mod” and “Packet_out” specifying the flow entry to the OFS 4 (step S5).
“Packet_out”を受信したOFS4は、そのパケットをWi-Fiに接続された通信インタフェース部から出力させる(ステップS6)。また、OFS4は、受信したフローエントリを保持する。
The OFS 4 that has received “Packet_out” causes the packet to be output from the communication interface unit connected to the Wi-Fi (step S6). The OFS 4 holds the received flow entry.
以降、OFS4は、保持するフローエントリのフローと同一のパケットを受信すると(ステップS7)、そのフローエントリに基づいて、通信網からWi-Fiを選択し、そのパケットをWi-Fiに接続された通信インタフェース部から出力させる処理を繰り返す(ステップS8)。
Thereafter, when the OFS 4 receives the same packet as the flow of the stored flow entry (step S7), it selects Wi-Fi from the communication network based on the flow entry, and the packet is connected to the Wi-Fi. The process of outputting from the communication interface unit is repeated (step S8).
その後、別のアプリケーション部6(本例では、APP2と記す。)が外部に向けたパケットをOFS4に送信したとする(ステップS9)。このフローは、ステップS3で送信されたパケットのフローと異なるため、OFS4は、そのパケットを“Packet_in ”とともにOFC2に送信する(ステップS10)。
Thereafter, it is assumed that another application unit 6 (in this example, referred to as APP2) transmits a packet directed to the outside to the OFS 4 (step S9). Since this flow is different from the flow of the packet transmitted in step S3, OFS 4 transmits the packet to OFC 2 together with “Packet_inFC” (step S10).
OFC2(具体的には、ポリシ検索部223)は、受信したパケットに応じたポリシをポリシテーブル記憶部221から検索する。ステップS8で送信されたパケットの送信元アプリケーションはAPP2であるため、ステップS2で追加されたポリシが検索される。そこで、OFC2(具体的には、アクション選択部224)は、通信網としてCellularを選択する。
The OFC 2 (specifically, the policy search unit 223) searches the policy table storage unit 221 for a policy corresponding to the received packet. Since the transmission source application of the packet transmitted in step S8 is APP2, the policy added in step S2 is searched. Therefore, the OFC 2 (specifically, the action selection unit 224) selects Cellular as the communication network.
OFC2(具体的には、フロー管理部24)は、検索したポリシに従い、受信したパケットのフローに対して、Cellularを通信網として使用することを規定したフローエントリを作成する。OFC2(具体的には、フロー管理部24)は、そのフローエントリを指定した“Flow_mod”および“Packet_out”をOFS4に送信する(ステップS11)。
OFC2 (specifically, the flow management unit 24) creates a flow entry that stipulates that the cellular is used as a communication network for the received packet flow in accordance with the searched policy. The OFC 2 (specifically, the flow management unit 24) transmits “Flow_mod” and “Packet_out” specifying the flow entry to the OFS 4 (step S11).
“Packet_out”を受信したOFS4は、そのパケットをCellularに接続された通信インタフェース部から出力させる(ステップS11)。また、OFS4は、受信したフローエントリを保持する。
The OFS 4 that has received “Packet_out” outputs the packet from the communication interface unit connected to the Cellular (step S11). The OFS 4 holds the received flow entry.
以降、OFS4は、保持するフローエントリのフローと同一のパケットを受信すると(ステップS13)、そのフローエントリに基づいて、通信網からCellularを選択し、そのパケットをCellularに接続された通信インタフェース部から出力させる処理を繰り返す(ステップS14)。
Thereafter, when the OFS 4 receives the same packet as the flow of the stored flow entry (step S13), the OFS 4 selects Cellular from the communication network based on the flow entry, and the packet is transmitted from the communication interface unit connected to the Cellular. The process of outputting is repeated (step S14).
以上のように、本実施形態によれば、制御アプリケーション部3が、アプリケーションIDと、複数の通信網の情報と、各通信網の通信網優先度とを含むポリシをOFC2に送信する。また、上述の通り、OFS4は、フローが同一の場合には、そのフローに属するトラフィックが利用する通信網の接続を維持する。さらに、OFC2は、ポリシで指定されたアプリケーションごとに設定された通信網優先度に基づいて、通信網を選択する。したがって、端末装置1は、接続される複数の通信網の中から各アプリケーションに利用させる通信網を柔軟に制御できる。
As described above, according to the present embodiment, the control application unit 3 transmits a policy including an application ID, information on a plurality of communication networks, and communication network priority of each communication network to the OFC 2. Further, as described above, when the flows are the same, the OFS 4 maintains the connection of the communication network used by the traffic belonging to the flow. Furthermore, the OFC 2 selects a communication network based on the communication network priority set for each application specified by the policy. Therefore, the terminal device 1 can flexibly control a communication network used by each application from among a plurality of connected communication networks.
具体的には、OFC2は、新たなフローが発生するたびにアプリケーションを識別し、該当するアプリケーションについて、最も高い優先度の通信網を選択できる。また、本実施形態では、他の通信網にも優先度が設定されているため、最も高い優先度の通信網が利用できない場合であっても、優先度の高い通信網から順に選択することができる。
Specifically, the OFC 2 can identify an application every time a new flow occurs, and can select a communication network with the highest priority for the corresponding application. In this embodiment, since priority is set for other communication networks, even when the highest priority communication network cannot be used, the communication networks can be selected in order from the communication network with the highest priority. it can.
さらに、OFS4が、同一フローに属するトラフィックが利用している通信網の接続を維持するため、ユーザから見たときに、アプリケーションの通信が切断されたように見えてしまうことを防止できる。
Furthermore, since the OFS 4 maintains the connection of the communication network used by the traffic belonging to the same flow, it can be prevented that the application communication appears to be disconnected when viewed from the user.
例えば、一般的な装置は、Wi-Fiが利用できる状態になると、IP経路表のdefault route をWi-Fiに設定するため、3G(モバイル網)を選択できなくなる。しかし、本実施形態では、フロー単位(特に、アプリケーションごと)に通信網を選択できるようにするためのポリシを設定するため、Wi-Fiが利用できる状態であっても、3Gを通信網に選択できる。
For example, when Wi-Fi becomes available for a general device, the default route of the IP route table is set to Wi-Fi, and 3G (mobile network) cannot be selected. However, in this embodiment, 3G is selected as the communication network even when Wi-Fi is available because a policy is set so that the communication network can be selected for each flow (especially for each application). it can.
次に、本実施形態の概要を説明する。図7は、本発明による端末装置の概要を示すブロック図である。本発明による端末装置は、接続された複数の通信網(例えば、3G、Wi-Fi)の中から通信に用いられる通信網を選択する端末装置(例えば、端末装置1)であって、同一フローに属するトラフィックが利用している通信網の接続を維持しつつ指示された優先度に基づいて各アプリケーション(例えば、アプリケーション部6)が利用する通信網を選択する選択手段(例えば、OFC2)に、トラフィックにおけるパケットの送信元のアプリケーションを識別するアプリケーション識別情報(例えば、アプリケーションID)と、複数の通信網を識別する通信網情報(例えば、図2に例示する「経路指定」の内容)と、アプリケーション識別情報ごとに選択される通信網の優先順位を規定した通信網優先度とを含む指示情報(例えば、ポリシ)を送信する送信手段81(例えば、制御アプリケーション部3)を備えている。
Next, an outline of the present embodiment will be described. FIG. 7 is a block diagram showing an outline of a terminal device according to the present invention. A terminal device according to the present invention is a terminal device (for example, terminal device 1) that selects a communication network used for communication from a plurality of connected communication networks (for example, 3G, Wi-Fi), and has the same flow. In the selection means (for example, OFC2) for selecting the communication network used by each application (for example, the application unit 6) based on the priority instructed while maintaining the connection of the communication network used by the traffic belonging to Application identification information (for example, application ID) for identifying a transmission source application of a packet in traffic, communication network information (for example, contents of “route designation” illustrated in FIG. 2) for identifying a plurality of communication networks, and an application Instruction information including a communication network priority that defines the priority of the communication network selected for each identification information (for example, Transmitting mechanism 81 for transmitting sheet) (for example, a control application section 3).
そのような構成により、接続される複数の通信網の中から各アプリケーションに利用させる通信網を柔軟に制御できる。
With such a configuration, it is possible to flexibly control a communication network used by each application from a plurality of connected communication networks.
また、送信手段81は、通信可能な通信網のうち最も通信網優先度が高い通信網を選択する選択手段に指示情報を送信してもよい。そのような構成により、最も優先度が高い通信網が接続できない場合であっても、他の通信網を利用して通信を行わせる制御が可能になる。
Further, the transmission unit 81 may transmit the instruction information to a selection unit that selects a communication network having the highest communication network priority among communicable communication networks. With such a configuration, even when a communication network with the highest priority cannot be connected, it is possible to control to perform communication using another communication network.
また、送信手段81は、トラフィックを識別するトラフィック識別情報を含む指示情報を選択手段に送信してもよい。そのような構成により、アプリケーションの単位よりも細かい粒度でそのアプリケーションに利用させる通信網を制御できる。
Further, the transmission unit 81 may transmit instruction information including traffic identification information for identifying traffic to the selection unit. With such a configuration, it is possible to control the communication network used by the application with a finer granularity than the unit of the application.
なお、選択手段は、受信した指示情報に基づいて通信網を選択すればよい。
Note that the selection means may select a communication network based on the received instruction information.
以上、実施形態及び実施例を参照して本願発明を説明したが、本願発明は上記実施形態および実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
As mentioned above, although this invention was demonstrated with reference to embodiment and an Example, this invention is not limited to the said embodiment and Example. Various changes that can be understood by those skilled in the art can be made to the configuration and details of the present invention within the scope of the present invention.
この出願は、2013年10月11日に出願された日本特許出願2013-214027を基礎とする優先権を主張し、その開示の全てをここに取り込む。
This application claims priority based on Japanese Patent Application No. 2013-214027 filed on Oct. 11, 2013, the entire disclosure of which is incorporated herein.
1 端末装置
2 通信制御管理部(OFC)
3 制御アプリケーション部
4 パケット転送部(OFS)
5 プロトコル処理部
6 アプリケーション部
7 通信インタフェース部
21 API管理部
22 ポリシ管理部
23 統計情報管理部
24 フロー管理部
25 ノード状態管理部
26 プロトコル状態管理部
221 ポリシテーブル記憶部
222 ポリシエントリ管理部
223 ポリシ検索部
224 アクション選択部 1Terminal device 2 Communication control manager (OFC)
3Control application part 4 Packet transfer part (OFS)
5Protocol processing unit 6 Application unit 7 Communication interface unit 21 API management unit 22 Policy management unit 23 Statistics information management unit 24 Flow management unit 25 Node state management unit 26 Protocol state management unit 221 Policy table storage unit 222 Policy entry management unit 223 Policy Search unit 224 Action selection unit
2 通信制御管理部(OFC)
3 制御アプリケーション部
4 パケット転送部(OFS)
5 プロトコル処理部
6 アプリケーション部
7 通信インタフェース部
21 API管理部
22 ポリシ管理部
23 統計情報管理部
24 フロー管理部
25 ノード状態管理部
26 プロトコル状態管理部
221 ポリシテーブル記憶部
222 ポリシエントリ管理部
223 ポリシ検索部
224 アクション選択部 1
3
5
Claims (8)
- 接続された複数の通信網の中から通信に用いられる通信網を選択する端末装置であって、
同一フローに属するトラフィックが利用している通信網の接続を維持しつつ指示された優先度に基づいて各アプリケーションが利用する通信網を選択する選択手段に、トラフィックにおけるパケットの送信元のアプリケーションを識別するアプリケーション識別情報と、前記複数の通信網を識別する通信網情報と、前記アプリケーション識別情報ごとに選択される前記通信網の優先順位を規定した通信網優先度とを含む指示情報を送信する送信手段を備えた
ことを特徴とする端末装置。 A terminal device for selecting a communication network used for communication from a plurality of connected communication networks,
Identify the application that sent the packet in the traffic as a selection means to select the communication network used by each application based on the specified priority while maintaining the connection of the communication network used by traffic belonging to the same flow Transmitting instruction information including application identification information to be transmitted, communication network information for identifying the plurality of communication networks, and communication network priority that defines a priority order of the communication networks selected for each of the application identification information A terminal device comprising means. - 送信手段は、通信可能な通信網のうち最も通信網優先度が高い通信網を選択する選択手段に指示情報を送信する
請求項1記載の端末装置。 The terminal device according to claim 1, wherein the transmission unit transmits the instruction information to a selection unit that selects a communication network having the highest communication network priority among communicable communication networks. - 送信手段は、トラフィックを識別するトラフィック識別情報を含む指示情報を選択手段に送信する
請求項1または請求項2に記載の端末装置。 The terminal device according to claim 1, wherein the transmission unit transmits instruction information including traffic identification information for identifying traffic to the selection unit. - 選択手段は、受信した指示情報に基づいて通信網を選択する
請求項1から請求項3のうちのいずれか1項に記載の端末装置。 The terminal device according to any one of claims 1 to 3, wherein the selection unit selects a communication network based on the received instruction information. - 端末装置に接続された複数の通信網の中から通信に用いられる通信網を選択させる制御を行う端末装置制御方法であって、
前記端末装置の送信手段が、同一フローに属するトラフィックが利用している通信網の接続を維持しつつ指示された優先度に基づいて各アプリケーションが利用する通信網を選択する自端末装置の選択手段に、トラフィックにおけるパケットの送信元のアプリケーションを識別するアプリケーション識別情報と、前記複数の通信網を識別する通信網情報と、前記アプリケーション識別情報ごとに選択される前記通信網の優先順位を規定した通信網優先度とを含む指示情報を送信する
ことを特徴とする端末装置制御方法。 A terminal device control method for performing control for selecting a communication network used for communication from a plurality of communication networks connected to a terminal device,
The transmission means of the terminal device selects the communication network used by each application based on the priority instructed while maintaining the connection of the communication network used by the traffic belonging to the same flow. In addition, application identification information for identifying an application that is a transmission source of a packet in traffic, communication network information for identifying the plurality of communication networks, and communication defining a priority order of the communication networks selected for each application identification information A terminal device control method comprising: transmitting instruction information including network priority. - 送信手段が、通信可能な通信網のうち最も通信網優先度が高い通信網を選択する選択手段に指示情報を送信する
請求項5記載の端末装置制御方法。 The terminal device control method according to claim 5, wherein the transmission unit transmits the instruction information to a selection unit that selects a communication network having the highest communication network priority among communicable communication networks. - 接続された複数の通信網の中から通信に用いられる通信網を、同一フローに属するトラフィックが利用している通信網の接続を維持しつつ指示された情報に基づいて前記通信網を選択する選択手段に選択させる制御を行うコンピュータに適用される端末装置制御プログラムであって、
前記コンピュータに、
トラフィックにおけるパケットの送信元のアプリケーションを識別するアプリケーション識別情報と、前記複数の通信網を識別する通信網情報と、前記アプリケーション識別情報ごとに選択される前記通信網の優先順位を規定した通信網優先度とを含む指示情報を前記選択手段に送信する送信処理
を実行させるための端末装置制御プログラム。 Selection for selecting a communication network to be used for communication from a plurality of connected communication networks based on instructed information while maintaining connection of the communication network used by traffic belonging to the same flow A terminal device control program applied to a computer that performs control to be selected by a means,
In the computer,
Communication network priority that defines application identification information that identifies an application that is a transmission source of a packet in traffic, communication network information that identifies the plurality of communication networks, and a priority order of the communication networks selected for each application identification information A terminal device control program for executing transmission processing for transmitting instruction information including a degree to the selection means. - コンピュータに、
送信処理で、通信可能な通信網のうち最も通信網優先度が高い通信網を選択する選択手段に指示情報を送信させる
請求項7記載の端末装置制御プログラム。 On the computer,
The terminal device control program according to claim 7, wherein, in the transmission process, the instruction information is transmitted to a selection unit that selects a communication network having the highest communication network priority among communication networks capable of communication.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013214027 | 2013-10-11 | ||
JP2013-214027 | 2013-10-11 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2015052870A1 true WO2015052870A1 (en) | 2015-04-16 |
Family
ID=52812707
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2014/004555 WO2015052870A1 (en) | 2013-10-11 | 2014-09-04 | Terminal device, terminal-device control method, and terminal-device control program |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2015052870A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017164219A1 (en) * | 2016-03-24 | 2017-09-28 | 日本電気株式会社 | Statistical information management device, communication system, statistical information management method and program |
-
2014
- 2014-09-04 WO PCT/JP2014/004555 patent/WO2015052870A1/en active Application Filing
Non-Patent Citations (2)
Title |
---|
TAKAHIRO IIHOSHI ET AL.: "An OpenFlow-based Scalable Method and its Implementation to Control Traffic on Mobile Terminal", IEICE TECHNICAL REPORT, NETWORK SYSTEM, vol. 112, no. 463, March 2013 (2013-03-01), pages 477 - 482 * |
YOSHINORI SAIDA ET AL.: "OpenFlow o Katsuyo shita Gyomu-yo Smart Device no Secure na Tsushin no Jitsugen", NEC TECHNICAL JOURNAL, February 2013 (2013-02-01) * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017164219A1 (en) * | 2016-03-24 | 2017-09-28 | 日本電気株式会社 | Statistical information management device, communication system, statistical information management method and program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105264845B (en) | Data Transmission Controlling node, communication system and data transfer management method | |
CN107079015B (en) | System and method for stream-based addressing in a mobile environment | |
US10462260B2 (en) | Context-aware and proximity-aware service layer connectivity management | |
KR101473783B1 (en) | Method and apparatus for control of dynamic service chaining by using tunneling | |
CN106464708B (en) | Method and system for tunneling and receiving data for eligible packets | |
KR20190018165A (en) | Packet processing method and device | |
WO2015027927A1 (en) | Communication switching and establishing method and device | |
WO2014119715A1 (en) | Communication terminal, communication method, program, communication system, and information processing apparatus | |
JP6291834B2 (en) | COMMUNICATION DEVICE, COMMUNICATION METHOD, AND COMMUNICATION SYSTEM | |
US9998364B2 (en) | Method for processing packet and forwarder | |
JP2012253750A (en) | MiAN, MiAN BAND WIDTH AGGREGATION METHOD, AND AGGREGATION SYSTEM | |
JP2014502098A (en) | Service control method and system, evolved node B, and packet data network gateway | |
US9838481B2 (en) | Provisioning of network communication parameters based on device type | |
CN112566164B (en) | Communication system and service quality control method | |
WO2015052867A1 (en) | Terminal device, terminal-device control method, and terminal-device control program | |
CN114071494A (en) | Communication method and device | |
JP5574944B2 (en) | Radio relay apparatus and radio relay method | |
US10177973B2 (en) | Communication apparatus, communication method, and communication system | |
WO2022151420A1 (en) | Method, apparatus, and system for transmitting data packet | |
WO2015052870A1 (en) | Terminal device, terminal-device control method, and terminal-device control program | |
JP5909688B2 (en) | Communication device, transfer control method, and transfer control program | |
JP6394606B2 (en) | Terminal device, terminal device control method, and terminal device control program | |
US20170019845A1 (en) | Communication terminal, communication method, and program-containing storage medium | |
WO2015052869A1 (en) | Terminal device, terminal-device control method, and terminal-device control program | |
US10547549B2 (en) | Processing data flows based on information provided via beacons |
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: 14853100 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: 14853100 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: JP |