[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

WO2015052867A1 - 端末装置、端末装置制御方法および端末装置制御プログラム - Google Patents

端末装置、端末装置制御方法および端末装置制御プログラム Download PDF

Info

Publication number
WO2015052867A1
WO2015052867A1 PCT/JP2014/004519 JP2014004519W WO2015052867A1 WO 2015052867 A1 WO2015052867 A1 WO 2015052867A1 JP 2014004519 W JP2014004519 W JP 2014004519W WO 2015052867 A1 WO2015052867 A1 WO 2015052867A1
Authority
WO
WIPO (PCT)
Prior art keywords
flow
information
unit
statistical information
policy
Prior art date
Application number
PCT/JP2014/004519
Other languages
English (en)
French (fr)
Inventor
秀一 狩野
才田 好則
義和 渡邊
弦 森田
貴裕 飯星
Original Assignee
日本電気株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電気株式会社 filed Critical 日本電気株式会社
Priority to JP2015541421A priority Critical patent/JPWO2015052867A1/ja
Priority to US15/027,673 priority patent/US10050895B2/en
Publication of WO2015052867A1 publication Critical patent/WO2015052867A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/29Flow control; Congestion control using a combination of thresholds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0895Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W48/00Access restriction; Network selection; Access point selection
    • H04W48/16Discovering, processing access restriction or access information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/38Flow based routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/253Routing or path finding in a switch fabric using establishment or release of connections between ports
    • H04L49/254Centralised controller, i.e. arbitration or scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices
    • H04W88/06Terminal devices adapted for operation in multiple networks or having at least two operational modes, e.g. multi-mode terminals

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”, “Flow_removed”, “stats_request”, “stats_reply”, and the like.
  • 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.
  • “Stats_request” is a message sent from the control device to the switch. “Stats_request” is a message for requesting flow statistical information to the switch.
  • “Stats_reply” is a message sent from the switch to the control device. “Stats_reply” is used to send flow statistical information from the switch to the control device in response to “stats_request”.
  • Patent Document 1 describes a system for measuring traffic volume information for each application.
  • Patent Document 2 describes a wireless communication device that connects to a plurality of wireless communication networks.
  • a terminal device that can communicate with the outside.
  • the amount of communication in the mobile network exceeds a predetermined amount
  • control that prohibits the use of the mobile network for application software that uses the mobile network most It is preferable that can be realized.
  • a terminal device that is simultaneously connected to a plurality of communication networks such as a mobile network and Wi-Fi (Wireless Fidelity®, registered trademark) cannot recognize the traffic on the mobile network for each individual application software. Therefore, the control as described above cannot be realized.
  • an object of the present invention is to provide a terminal device, a terminal device control method, and a terminal device control program capable of recognizing a communication amount in a mobile network for each individual application software.
  • a terminal apparatus includes a communication control unit that controls a packet transfer unit that transmits a packet, and an instruction information providing unit that gives instruction information representing an instruction to the communication control unit to the communication control unit, and the communication control unit includes: For each flow, obtain statistical information including the traffic from the packet transfer means, hold the statistical information together with the information of the application software that is the flow transmission source and the information of the access network used for communication. However, the statistical information of each access network is acquired from the communication control means for each application software.
  • the communication control means controls the packet transfer means for transmitting the packet
  • the instruction information giving means gives the instruction information indicating the instruction to the communication control means to the communication control means
  • the communication The control means acquires statistical information including the traffic from the packet transfer means for each flow, and holds the statistical information together with the information of the application software that is the flow transmission source and the information of the access network used for communication
  • the instruction information adding means acquires statistical information of each access network from the communication control means for each application software.
  • the terminal device control program comprises a communication control means for controlling a packet transfer means for transmitting a packet, and an instruction information giving means for giving instruction information representing an instruction for the communication control means to the communication control means.
  • a terminal device control program installed in a computer used as a device, wherein a communication control unit acquires statistical information including a communication amount for each flow from a packet transfer unit and transmits the statistical information to the computer.
  • the first statistical information acquisition process and the instruction information adding means that hold together with the original application software information and the access network information used for communication control the statistical information of each access network for each application software. And executing a second statistical information acquisition process acquired from the means. That.
  • 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 this invention is a smart phone and a tablet-type terminal device, for example, it is not limited to these. Further, the terminal device 1 of the present invention can be simultaneously connected to a plurality of access networks (communication networks).
  • 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.
  • Each application unit 6 is realized by a CPU that operates in accordance with each application software (hereinafter simply referred to as an 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.
  • 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 communication interface units 7a to 7n are communication interfaces corresponding to various types of communication such as a mobile network and Wi-Fi (Wireless Fidelity, registered trademark). Each of the communication interface units 7a to 7n is specifically identified as an OFS2 port.
  • 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.
  • Information specifying traffic 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 search key includes a policy ID which is a policy identifier.
  • the mode for specifying the action includes a mode for specifying the route of the traffic according to the traffic.
  • an access network Wi-Fi, mobile network, etc.
  • Wi-Fi Wi-Fi, mobile network, etc.
  • the packet of the traffic is transmitted from the communication interface unit corresponding to Wi-Fi.
  • a flag 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.
  • the predefined operation for example, “when OFC 2 detects a new flow that meets the conditions specified by the policy, OFC 2 notifies the control application unit 3 of the transmission source application and destination of the new flow. And the like. Assume that the flag corresponding to this operation is set to ON in the policy.
  • the OFC 2 detects a new traffic (more specifically, a new flow corresponding to the specified condition) and searches for this policy as a policy corresponding to the traffic, the OFC 2 executes the above-described operation specified by the flag. To do. 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 application corresponding to the application unit 6 that has transmitted a packet to the OFS 4 is referred to as an application that has transmitted the packet.
  • the OFC 2 acquires statistical information for each flow from the OFS 4.
  • OFC 2 sends “stats_request” of the open flow to OFS 4
  • OFS 4 sends “stats_reply” to OFS 2, whereby OFC 2 acquires statistical information.
  • the OFC 2 holds statistical information in each access network for each application.
  • the control application unit 3 requests the OFC 2 for the statistical information of each designated access network for each application, and the OFC 2 sends the requested statistical information to the control application unit 3.
  • the control application unit 3 is the application having the maximum communication amount among the applications communicating in the mobile network. Is identified.
  • the control application unit 3 creates a policy that designates a route other than the mobile network (in this example, Wi-Fi) as a route used for communication of the application, and sends the policy to the OFC 2.
  • the operation of the control application unit 3 for such an OFC 2 and the operation of the OFC 2 for the control application unit 3 are features of the present invention.
  • the Northbound API Application programming I Interface
  • the effect that the terminal device 1 can recognize the communication amount in a mobile network for every application with such a characteristic of this invention is acquired.
  • an effect is obtained that the terminal device 1 can switch the access network to be used from the mobile network to Wi-Fi with respect to the application having the maximum communication amount in the mobile network. As a result, the communication load on the mobile network can be suppressed.
  • 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.
  • the policy management unit 22 searches for a policy corresponding to the packet, Perform the action specified by the retrieved policy. More specifically, when the flow management unit 24 receives a packet sent from the OFS 4 together with “Packet_in“ ”to the OFC 2, the flow management unit 24 sends the packet to the policy management unit 22 to request a policy search. In the following description, this operation may be called a policy inquiry.
  • the policy management unit 22 searches for a policy in response to the request, and executes an operation defined by the searched policy.
  • the policy management unit 22 returns the action and the policy ID to the flow management unit 24 to return to the flow management unit. 24 is instructed to create a flow entry.
  • the statistical information management unit 23 holds statistical information sent from the OFS 4. Specifically, the statistical information management unit 23 holds statistical information in each access network for each application. When statistical information is requested from the control application unit 3 via the API management unit 21, the requested statistical information is sent to the control application unit 3.
  • the flow management unit 24 communicates 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 to request a policy search.
  • the flow management unit 24 creates a flow entry based on the action and the flow information of the packet, The flow entry is transmitted to OFS4.
  • the flow management unit 24 manages information related to the flow entry.
  • FIG. 4 is a schematic diagram illustrating an example of information managed by the flow management unit 24.
  • the flow management unit 24 creates and holds information illustrated in FIG. 4 for each flow entry.
  • 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 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 statistical information management unit 23 performs the statistical information. It is possible to recognize which application corresponds to statistical information.
  • the flow management unit 24 acquires statistical information for each flow from the OFS 4 by periodically sending “stats_request” to the OFS 4 based on an instruction given periodically from the statistical information management unit 23, for example. Also in this case, the flow management unit 24 sends the statistical information to the statistical information management unit 23.
  • the flow management unit 24 When acquiring the flow statistical information, the flow management unit 24 identifies the policy ID (see FIG. 4) held in association with the flow entry of the flow. Then, the flow management unit 24 inquires of the policy management unit 22 (specifically, the policy search unit 223 described later, see FIG. 5) about the application ID described as the search key in the policy indicated by the policy ID. An application ID is acquired from the policy management unit 22. Further, the flow management unit 24 determines in which access network the statistical information is based on the flow identification information. As a result, the flow management unit 24 can associate the application ID, the access network, and the statistical information. Then, the flow management unit 24 causes the statistical information management unit 23 to hold statistical information in association with the application ID and the access network.
  • 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), when the communication interface unit to which the packet is to be transmitted cannot be used, the action specifying the access network corresponding to the communication interface unit in the retrieved policy. Even if it is described, the action is not sent to the flow management unit 24. As a result, a flow entry for sending a packet from an unusable communication interface unit is not created.
  • the protocol state management unit 26 holds information indicating the correspondence between the flow information of a packet and the application ID (application identifier) of the transmission source application of the packet.
  • the protocol state management unit 26 acquires its own port number and 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.
  • the flow information (own port number) is associated with the application ID, 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 the application ID and the flow information of the packet sent from the flow management unit 24 as a key.
  • the action selection unit 224 selects an action defined by the policy searched by the policy search unit 223. For example, in the policy searched by the policy search unit 223, when an action to perform flow detection notification is defined, the action selection unit 224 performs flow detection notification to the control application unit 3. Further, for example, when an action for specifying an access network is described in the policy, the action selection unit 224 returns the action and the policy ID to the flow management unit 24, thereby causing the flow management unit 24 to execute the flow. Instructs creation of an entry.
  • FIG. 6 is a block diagram showing details of the statistical information management unit 23.
  • the statistical information management unit 23 includes a statistical information accumulation management unit 231, a statistical information storage unit 232, and a statistical information search unit 233.
  • the statistical information storage unit 232 is a storage device (for example, a memory) that stores statistical information.
  • the statistical information accumulation management unit 231 is based on statistical information periodically acquired from the OFS 4 by the flow management unit 24 or statistical information acquired by the flow management unit 24 together with “Flow_removed” when the flow entry is deleted in the OFS 4.
  • the statistical information stored in the statistical information storage unit 232 is updated.
  • the statistical information accumulation management unit 231 is provided with the application ID and access network information corresponding to the statistical information together with the statistical information from the flow management unit 24, and the statistical information storage unit 232 receives the application ID and the access information. Update statistical information corresponding to the network.
  • the statistical information search unit 233 receives a request for statistical information from the control application unit 3 via the API management unit 21.
  • the statistical information search unit 233 searches the statistical information storage unit 232 for the requested statistical information. Then, the statistical information search unit 233 sends the statistical information to the control application unit 3 via the API management unit 21.
  • FIG. 7 is a sequence diagram showing an example of the processing progress of the present invention.
  • APP means an application.
  • the contents of the policy sent from the control application unit 3 to the OFC 2 and the contents of the statistical information collected from the OFC 2 by the control application unit 3 are shown surrounded by broken lines.
  • an application corresponding to the application unit 6a is represented by a symbol a.
  • An application corresponding to the application unit 6b is represented by a symbol b.
  • the transfer path of the packet transferred in the order of the application unit 6a, OFS 4, and mobile network is indicated by a broken line.
  • a transfer path of a packet transferred in the order of the application unit 6b, OFS4, and mobile network is indicated by an alternate long and short dash line.
  • the applications a and b will be described as an example, but the types of applications are not limited to two.
  • the terminal device 1 is connected to a plurality of access networks.
  • the terminal device 1 is connected to two access networks, a mobile network and a Wi-Fi.
  • LTE Long Term Evolution
  • 3G 3rd Generation
  • LTE Long Term Evolution
  • LTE Long Term Evolution
  • 3G 3rd Generation
  • the control application unit 3 gives the OFC 2 a policy for instructing to use the mobile network as an initial setting for the flows having the applications a and b as the transmission source. That is, first, the control application unit 3 gives the OFC 2 a policy describing the application ID of the application a as a search key and describing the mobile network as a route in the action. Similarly, the control application unit 3 gives the OFC 2 a policy describing the application ID of the application b as a search key and describing the mobile network as a route in the action. These policies are referred to as initial setting policies.
  • the OFS 4 when the OFS 4 receives a packet whose source is the application a, there is no flow entry corresponding to the packet. Therefore, the OFS 4 sends the packet to the OFC 2 by “Packet_in”.
  • the OFC 2 creates a flow entry that specifies transmission of the packet flow from the communication interface unit corresponding to the mobile network based on the initial setting policy corresponding to the application a.
  • the flow management unit 24 (see FIG. 3) in the OFC 2 holds information including a policy ID as information on the flow entry as shown in FIG. Then, OFC 2 sets the flow entry in OFS 4.
  • the OFS 4 when the OFS 4 receives a packet whose source is the application a, the OFS 4 transmits the packet from the communication interface unit corresponding to the mobile network (see the broken line shown in the upper part of FIG. 7).
  • the OFS 4 when the OFS 4 first receives a packet whose source is the application b, there is no flow entry corresponding to the packet. Therefore, the OFS 4 sends the packet to the OFC 2 by “Packet_in”.
  • the OFC 2 creates a flow entry that specifies transmission of the packet flow from the communication interface unit corresponding to the mobile network, based on the initial setting policy corresponding to the application b. As shown in FIG. 4, the flow management unit 24 (see FIG. 3) holds information including a policy ID as information related to the flow entry. Then, OFC 2 sets the flow entry in OFS 4.
  • the OFS 4 when the OFS 4 receives a packet having the application b as a transmission source, the OFS 4 transmits the packet from the communication interface unit corresponding to the mobile network (see the one-dot chain line shown in the upper part of FIG. 7).
  • the OFS 4 holds statistical information for each flow entry after the flow entry is set. Here, it is assumed that the OFS 4 holds at least information on the traffic as statistical information.
  • the communication amount information may be represented by, for example, the number of bytes, or may be represented by the number of packets.
  • the OFS 4 may include information other than the communication amount in the statistical information. Each time the OFS 4 performs communication of a packet that matches the flow entry, the OFS 4 accumulates the communication amount and holds statistical information including information on the communication amount.
  • the OFC 2 for example, periodically requests the statistical information of each flow from the OFS 4, and acquires the statistical information from the OFS 4 (steps S1, S2, etc.).
  • the flow management unit 24 When the flow management unit 24 (see FIG. 3) in the OFC 2 acquires the statistical information of each flow, the flow management unit 24 performs the following processing for each flow.
  • the flow management unit 24 identifies a policy ID (see FIG. 4) corresponding to the flow entry. Then, the flow management unit 24 inquires of the policy search unit 223 in the policy management unit 22 about the application ID described as the search key in the policy corresponding to the policy ID. Further, the flow management unit 24 determines in which access network the statistical information is the statistical information based on the flow identification information. Then, the flow management unit 24 stores the statistical information in the statistical information management unit 23 (see FIG. 3) in association with the application ID and the access network.
  • the control application unit 3 collects the statistical information held in the statistical information management unit 23 in the OFC 2 as described above (step S3).
  • the control application unit 3 requests the OFC 2 for statistical information in each designated access network for each application, and collects statistical information in each access network for each application.
  • the control application unit 3 specifies Wi-Fi and a mobile network for each application, and collects statistical information of the Wi-Fi and the mobile network.
  • “C” represents a mobile network
  • “W” represents Wi-Fi. Therefore, in the example shown in FIG. 7, the control application unit 3 uses the information (C100, W0) that the communication amount on the mobile network is 100 and the communication amount on Wi-Fi is 0 for the application a. Collect from.
  • the control application unit 3 collects information (C10, W0) from the OFC 2 that the communication amount on the mobile network is 10 and the communication amount on the Wi-Fi is 0.
  • the control application unit 3 calculates the total amount of traffic on the mobile network based on the statistical information collected in step S3, and determines whether the total is equal to or greater than a threshold value.
  • the threshold is predetermined.
  • control application unit 3 When the total amount of traffic on the mobile network is less than the threshold, the control application unit 3 does not add a new policy.
  • the control application unit 3 instructs the OFC 2 to add a new policy.
  • the control application unit 3 identifies an application having the maximum communication amount on the mobile network among applications communicating on the mobile network. In the example illustrated in FIG. 7, the communication amount on the mobile network by the application a is 100 (C100). Further, the amount of communication on the mobile network by the application b is 10 (C10). Therefore, the control application unit 3 specifies the application a.
  • control application unit 3 describes the application ID of the application a in the search key, and creates a policy that describes a route other than the mobile network (in this example, Wi-Fi) as a route in the action.
  • the control application unit 3 sets the priority of this policy higher than the priority of the initial setting policy.
  • the control application unit 3 instructs the OFC 2 to add the policy (step S4).
  • the OFC 2 holds this policy in accordance with the control application unit 3.
  • the application unit 6a resumes the transmission of the packet, and after the resumption, sends the first packet to the OFS 4 (step S5).
  • the OFS 4 transmits the packet to the OFC 2 by “Packet_in” (step S6).
  • the packet received by the OFC 2 in step S6 has application a as the transmission source.
  • the OFC 2 searches for the policy acquired in step S4 as the policy corresponding to the flow information of this packet. Then, the OFC 2 creates a flow entry based on the policy. That is, the OFC 2 creates a flow entry that specifies that the packet flow received from the OFS 4 together with “Packet_in” in step S6 is transmitted from the Wi-Fi communication interface unit, and sends the flow entry to the OFS 4 (step S7). Then, OFS 4 stores the flow entry. In step S7, the OFC 2 specifically sends “Flow_mod (Wi-Fi)” and “Packet_out” to the OFS 4.
  • the OFS 4 transmits the packet received from the application unit 6a from the Wi-Fi communication interface unit according to the flow entry (step S8).
  • the application unit 6b also resumes packet transmission and, after resuming, sends the first packet to the OFS 4 (step S9).
  • the OFS 4 transmits the packet to the OFC 2 by “Packet_in” (step S10).
  • the packet received by the OFC 2 in step S10 has application b as the transmission source.
  • the OFC 2 searches for an initial setting policy using the application b as a search key as a policy corresponding to the flow information of this packet.
  • the OFC 2 creates a flow entry based on the initial setting policy. That is, the OFC 2 creates a flow entry that defines that the packet flow received from the OFS 4 together with “Packet_in” in step S10 is transmitted from the communication interface unit of the mobile network, and sends the flow entry to the OFS 4 (step S11).
  • OFS 4 stores the flow entry.
  • the OFC 2 specifically sends “Flow_mod (Cellular)” and “Packet_out” to the OFS 4.
  • Cellular means a mobile network.
  • the OFS 4 transmits the packet received from the application unit 6b from the communication interface unit of the mobile network according to the flow entry (step S12).
  • the execution timing of the operation (step S3) in which the control application unit 3 collects statistical information from the OFC 2 is not particularly limited.
  • the control application unit 3 may periodically collect statistical information from the OFC 2.
  • the application “a” having a large amount of communication on the mobile network is switched to perform communication using Wi-Fi, and the communication load on the mobile network is reduced.
  • FIG. 8 is a sequence diagram showing an example of the processing progress of OFC2.
  • the processing progress of the OFC 2 in the operation shown in FIG. 7 will be described with reference to FIGS.
  • the statistical information management unit 23 (see FIG. 3) in the OFC 2 instructs the flow management unit 24 to periodically acquire statistical information of each flow from the OFS 4 (step S21). Based on this instruction, the flow management unit 24 requests the statistical information of each flow by transmitting “stats_request ⁇ ” to the OFS 4 (step S22).
  • the OFS 4 returns the flow statistical information to the flow management unit 24 together with “stats_replyrep” in response to “stats_request” (step S23).
  • the statistical information of each flow includes information on the traffic amount of the flow accumulated in the OFS 4 until the time when step S23 is executed.
  • the flow management unit 24 determines in which access network the statistical information is the statistical information based on the identification information of the flow. In addition, the flow management unit 24 identifies the policy ID (see FIG. 4) held in association with the flow entry. Then, the flow management unit 24 inquires of the policy search unit 223 (see FIG. 5) in the policy management unit 22 about the application ID described as the search key in the policy indicated by the policy ID, and the policy search unit 223 receives the application ID. To get. At this time, the policy search unit 223 may read the policy specified by the policy ID from the policy table storage unit 221, and return the application ID described as the search key in the policy to the flow management unit 24. Then, the flow management unit 24 associates each statistical information acquired for each flow with an application ID and an access network.
  • the flow management unit 24 sends the statistical information, the application ID, and the combination information of the access network to the statistical information management unit 23 (step S24). Based on this information, the statistical information management unit 23 updates the statistical information held by the statistical information management unit 23. Specifically, the statistical information management unit 23 overwrites the statistical information corresponding to the application ID and the access network with the newly acquired statistical information in the statistical information storage unit 232 (see FIG. 6).
  • the OFS 4 detects a flow entry that has not been used for a certain period of time, the OFS 4 deletes the flow entry and sends statistical information of the flow corresponding to the flow entry to the OFC 2 together with “Flow_removed”.
  • This statistical information includes information on the traffic amount of the flow accumulated in the OFS 4 until the flow disappears.
  • the flow management unit 24 receives the flow statistical information together with “Flow_removed” (step S29). Also in this case, the flow management unit 24 associates the statistical information with the application ID and the access network. This operation is the same as that when obtaining statistical information in step S23.
  • the flow management unit 24 sends the statistical information, application ID, and access network combination information to the statistical information management unit 23 (step S30).
  • the statistical information management unit 23 updates the statistical information held by the statistical information management unit 23. Specifically, the statistical information management unit 23 overwrites the statistical information corresponding to the application ID and the access network with the newly acquired statistical information in the statistical information storage unit 232 (see FIG. 6).
  • control application unit 3 requests the OFC 2 for statistical information on each designated access network for each application (step S31). Then, the API management unit 21 in the OFC 2 receives the request, and the API management unit 21 requests the statistical information management unit 23 for statistical information on each access network designated by the control application unit 3 for each application. (Step S32).
  • the statistical information management unit 23 returns statistical information in each access network for each application to the API management unit 21 (step S33). Then, the API management unit 21 sends the statistical information to the control application unit 3 (step S34). As a result, the control application unit 3 acquires statistical information in each access network for each application.
  • steps S31 to S34 corresponds to the operation of step S3 shown in FIG.
  • control application unit 3 after step S34 is the same as the operation of the control application unit 3 after step S3. That is, the control application unit 3 calculates the total amount of traffic in the mobile network based on the statistical information in each access network for each application acquired in step S34, and whether or not the total is equal to or greater than a threshold value. Determine. When the total amount of traffic in the mobile network is less than the threshold, the control application unit 3 does not add a new policy. If the total amount of traffic on the mobile network is equal to or greater than the threshold, the control application unit 3 instructs the OFC 2 to add a new policy.
  • the control application unit 3 instructs the OFC 2 to add a new policy.
  • the API management unit 21 receives a policy addition instruction from the control application unit 3, and instructs the policy management unit 22 to add the policy (step S35). Then, in the policy management unit 22, the policy entry management unit 222 (see FIG. 5) receives the policy addition instruction, and stores the policy in the policy table storage unit 221.
  • the flow management unit 24 receives the “Packet_in”. As a result, the flow management unit 24 also receives a packet for which no corresponding flow entry exists in the OFS 4. The flow management unit 24 sends this packet to the policy management unit 22, and requests a policy search corresponding to the packet (step S36).
  • the policy management unit 22 instructs the protocol state management unit 26 to search for the application ID corresponding to the packet based on the flow information of the packet acquired in step S36 (step S37). Then, the policy management unit 22 acquires the application ID obtained as a result of the search from the protocol state management unit 26 (step S38).
  • the application ID represents the application that is the transmission source of the packet.
  • the policy management unit 22 searches for a policy using the application ID and the like. As a result, the policy instructed to be added in step S4 is obtained.
  • the policy management unit 22 transmits the route (Wi-Fi in this example) described as an action in the policy and the policy ID of the policy to the flow management unit 24, and sends a flow entry to the flow management unit 24. Is created (step S39).
  • the policy search unit 223 receives the request (policy inquiry) in step S36. Then, the policy search unit 223 instructs the protocol state management unit 26 to search for the application ID corresponding to the packet based on the flow information of the packet acquired in step S36 (step S37). In this example, it is assumed that the policy search unit 223 uses its own port number as a key in the flow information.
  • the protocol state management unit 26 holds the flow information of the packet and the application ID of the transmission source application of the packet.
  • the protocol state management unit 26 holds a correspondence relationship between the own port number, process ID, UID, and application ID included in the packet.
  • the protocol state management unit 26 receives a search instruction from the policy search unit 223, the protocol state management unit 26 searches for an application ID corresponding to its own port number and notifies the policy search unit 223 of it.
  • the policy search unit 223 in the policy management unit 22 acquires the application ID of the application a that is the transmission source of the packet (step S38).
  • the policy search unit 223 searches for a policy stored in the policy table storage unit 221 using the application ID and the flow information of the packet acquired in step S36 as a search key. Then, the policy instructed to be added in step S4 is obtained. Although there is an initial setting policy that includes the application a as a search key, the priority of the policy instructed to add in step S4 is higher. Therefore, the policy search unit 223 uses the policy instructed to be added in step S4 as a search result.
  • the policy search unit 223 instructs the action selection unit 224 to select the action of the searched policy.
  • the action selection unit 224 selects an action in the policy in response to this instruction.
  • an action for specifying Wi-Fi as an access network is described. Therefore, the action selection unit 224 transmits the action and the policy ID of the policy to the flow management unit 24, and instructs the flow management unit 24 to create a flow entry (step S39).
  • the flow management unit 24 creates a flow entry that defines that the packet flow received from the OFS 4 together with “Packet_in” in step S6 is transmitted from the Wi-Fi communication interface unit. Then, the flow management unit 24 instructs the OFS 4 to set the flow entry. This operation corresponds to step S7 shown in FIG. At this time, the flow management unit 24 sends “Flow_mod (Wi-Fi)” and “Packet_out” to the OFS 4.
  • FIG. 9 is a sequence diagram showing an example of processing progress of the statistical information management unit 23. With reference to FIG. 9, FIG. 6, etc., the process progress of the statistical information management part 23 in the operation
  • step S21 the statistical information accumulation management unit 231 instructs the flow management unit 24 to acquire the statistical information of each flow from the OFS 4.
  • the flow management unit 24 acquires the statistical information of each flow from the OFS 4.
  • the flow management unit 24 associates the application ID, the access network, and statistical information, and sends the information to the statistical information management unit 23 (step S24; see FIGS. 8 and 9).
  • the statistical information accumulation management unit 231 acquires the information.
  • step S24 shown in FIG.9 the statistical information storage manager 231 determines that the application a and the mobile network ( C) is acquired as the communication amount corresponding to C), and “0” is acquired as the communication amount corresponding to application a and Wi-Fi (W), and the statistical information accumulation management unit 231 “3” is acquired as the communication amount corresponding to the mobile network (C), and “0” is acquired as the communication amount corresponding to the application b and Wi-Fi (W).
  • the statistical information accumulation management unit 231 overwrites the statistical information (specifically, the traffic volume) stored in the statistical information storage unit 232 with the traffic volume information acquired in step S24 (step S51). For example, the statistical information accumulation management unit 231 overwrites “50” with the communication amount corresponding to the application a and the mobile network (C).
  • step S21 instruction for the flow management unit 24
  • steps S21, S24, and S51 are periodically repeated.
  • the operations in steps S25, S28, and S52 are the same as the operations in steps S21, S24, and S51.
  • step S28 the statistical information accumulation management unit 231 acquires “100” as the communication amount corresponding to the application a and the mobile network (C), and performs communication corresponding to the application a and Wi-Fi (W). “0” is acquired as the quantity. Further, the statistical information accumulation management unit 231 acquires “6” as the communication amount corresponding to the application b and the mobile network (C), and sets “0” as the communication amount corresponding to the application b and Wi-Fi (W). get.
  • the flow management unit 24 displays the application ID, the access network, and its statistical information.
  • the association and the information are sent to the statistical information management unit 23 (step S30; see FIGS. 8 and 9).
  • the statistical information accumulation management unit 231 acquires the information.
  • step S30 shown in FIG. 9 the statistical information accumulation management unit 231 acquires “10” as the traffic corresponding to the application b and the mobile network (C).
  • the statistical information accumulation management unit 231 overwrites the statistical information (here, the communication amount) stored in the statistical information storage unit 232 with the information on the communication amount acquired in step S30 (step S53). In this example, the statistical information accumulation management unit 231 overwrites the traffic corresponding to the application b and the mobile network (C) with “10”.
  • control application unit 3 requests the OFC 2 for statistical information (specifically, traffic) in each designated access network for each application (see step S31 shown in FIG. 8). Then, the API management unit 21 receives the request, and the API management unit 21 requests the statistical information search unit 233 for the amount of communication in each access network designated by the control application unit 3 for each application ( Step S32). In this example, the control application unit 3 requests Wi-Fi and mobile network traffic for each of the applications a and b. In step S32, the API management unit 21 requests the statistical information search unit 233 for the communication amounts of the Wi-Fi and the mobile network for each of the applications a and b.
  • the statistical information retrieval unit 233 retrieves each requested communication amount from the communication amount stored in the statistical information storage unit 232 (step S54), and reads the retrieved communication amount from the statistical information storage unit 232 (step S54). S55).
  • the statistical information search unit 233 reads “100” as the traffic corresponding to the application a and the mobile network, and reads “0” as the traffic corresponding to the application a and Wi-Fi. Further, the statistical information search unit 233 reads “10” as the traffic corresponding to the application b and the mobile network, and reads “0” as the traffic corresponding to the application b and Wi-Fi.
  • the statistical information search unit 233 sends the traffic information read in step S55 to the API management unit 21 together with the application and access network information. This operation corresponds to step S33 shown in FIG. Then, the API management unit 21 sends information on each communication amount to the control application unit 3 together with the application and access network information.
  • the OFC 2 acquires statistical information for each flow from the OFS 4, and holds the statistical information in association with the application and access network that are the flow transmission source. Then, the control application unit 3 requests the OFC 2 for statistical information in each designated access network for each application, and acquires the statistical information from the OFC 2. Therefore, in this example, the communication amount in each access network can be recognized for each individual application. Therefore, it is possible to recognize the traffic on the mobile network for each application.
  • control application unit 3 calculates the sum of statistical information (communication amount) in each application, and determines whether the sum is equal to or greater than a threshold value. If the sum is equal to or greater than the threshold, a policy for instructing to use Wi-Fi is created for the communication of the application having the maximum communication amount in the mobile network, and is given to the OFC 2. Therefore, it is possible to perform control so that the mobile network is not used for an application in which the communication amount on the mobile network is maximized. As a result, the load on the mobile network can be reduced.
  • the OFC 2 controls the OFS 4 according to the open flow. Accordingly, the OFC 2 can control the operation of the OFS 4 widely.
  • the control application unit 3 gives a policy to the OFC 2, and the OFC 2 can widely control the operation of the OFS 4 according to the policy.
  • the case where a specific mobile network (for example, LTE) is used as the mobile network is taken as an example.
  • the OFC 2 may create a flow entry so that communication is performed using another mobile network (for example, 3G) regarding communication of an application having the maximum communication amount in the mobile network.
  • the action selection unit 224 instructs the flow management unit 24 to create a flow entry (step S39)
  • information indicating that the communication interface unit corresponding to Wi-Fi cannot be used has been obtained.
  • the action selection unit 224 may transmit 3G information to the flow management unit 24 instead of the Wi-Fi information, and instruct the flow management unit 24 to create a flow entry.
  • the use of 3G may be determined in the policy that the control application unit 3 gives to the OFC 2 in step S4.
  • FIG. 10 is a block diagram showing the main part of the terminal device of the present invention.
  • the terminal device of the present invention includes communication control means 91 and instruction information giving means 92.
  • the communication control unit 91 controls a packet transfer unit (for example, OFS4) that transmits a packet.
  • the instruction information providing unit 92 (for example, the control application unit 3) provides the communication control unit 91 with instruction information (for example, policy) indicating an instruction to the communication control unit 91.
  • the communication control unit 91 obtains statistical information including the communication amount from the packet transfer unit for each flow, and holds the statistical information together with information about the application software that is a flow transmission source and information about the access network used for communication. To do.
  • the instruction information adding unit 92 acquires statistical information of each access network from the communication control unit 91 for each application software.
  • the terminal device can recognize the traffic on the mobile network for each individual application software.
  • the instruction information adding unit 92 identifies the application software having the maximum traffic in the mobile network and sends the application software to the transmission source
  • the communication control means 91 may be provided with instruction information for instructing transmission of a packet through the access network other than the mobile network as a route.
  • the instruction information adding unit 92 identifies the application software having the maximum traffic in the mobile network and sends the application software to the transmission source
  • the communication control means 91 may be provided with instruction information for instructing transmission of a packet with Wi-Fi as a route.
  • the terminal device may be simultaneously connectable to a plurality of access networks.
  • the communication control means 91 may be configured to control the packet transfer means according to the open flow.
  • the present invention is preferably applied to a terminal device that can communicate with the outside.
  • Terminal device 2 OFC (communication control manager) 3 Control application part 4 OFS (packet transfer part) DESCRIPTION OF SYMBOLS 5 Protocol processing part 6 Application part 7a-7n Communication interface part 21 API management part 22 Policy management part 23 Statistics information management part 24 Flow management part 25 Node state management part 26 Protocol state management part 221 Policy table storage part 222 Policy entry management part 223 Policy search unit 224 Action selection unit 231 Statistical information accumulation management unit 232 Statistical information storage unit 233 Statistical information search unit

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)
  • Maintenance And Management Of Digital Transmission (AREA)

Abstract

 個々のアプリケーションソフトウェア毎にモバイル網での通信量を認識することができる端末装置を提供する。通信制御手段91は、パケットを送信するパケット転送手段を制御する。指示情報付与手段92は、通信制御手段91に対する指示を表す指示情報を通信制御手段91に与える。通信制御手段91は、パケット転送手段からフロー毎に、通信量を含む統計情報を取得し、当該統計情報をフローの送信元となるアプリケーションソフトウェアの情報、および通信に用いたアクセス網の情報とともに保持する。指示情報付与手段92は、アプリケーションソフトウェア毎に、各アクセス網の統計情報を通信制御手段91から取得する。

Description

端末装置、端末装置制御方法および端末装置制御プログラム
 本発明は、外部と通信可能な端末装置、その端末装置を制御する端末装置制御方法、および、その端末装置を制御するための端末装置制御プログラムに関する。
 パケットを転送するスイッチを制御装置が制御するプロトコルとして、オープンフロー(OpenFlow)が知られている。オープンフローは、非特許文献1で規定されている。
 オープンフローでは、制御装置がスイッチにフローエントリを設定する。そして、スイッチは、受信したパケットをそのフローエントリに従って処理する。フローエントリとは、パケットをどのように処理するか(例えば、転送、廃棄等)を規定した情報である。フローエントリは、パケットのフロー毎に設定される。スイッチがパケットを受信したときに、そのパケットのフローに対応するフローエントリが存在する場合、スイッチは、そのフローエントリに従ってそのパケットを処理する。一方、受信したパケットのフローに対応するフローエントリが存在しない場合、スイッチはその旨を制御装置に通知する。そして、制御装置は、そのパケットのフローに対応するフローエントリを決定し、スイッチに設定する。
 オープンフローにおいて、制御装置とスイッチとが送受信するメッセージの例として、“Packet_in ”,“Flow_mod”,“Packet_out”,“Flow_removed”,“stats_request ”,“stats_reply ”等がある。
 “Packet_in ”は、スイッチから制御装置に送られるメッセージである。“Packet_in ”は、対応するフローエントリが存在しなかったパケットをスイッチから制御装置に送るために用いられる。
 “Flow_mod”は、制御装置からスイッチに送られるメッセージである。“Flow_mod”は、制御装置からスイッチに対してフローエントリの追加、変更、削除を行うためのメッセージである。
 “Packet_out”は、制御装置からスイッチに送られるメッセージである。“Packet_out”は、ポートからのパケット出力を指示するメッセージである。
 “Flow_removed”は、スイッチから制御装置に送られるメッセージである。“Flow_removed”は、フローエントリが一定時間使用されず、タイムアウトでスイッチから消去される場合に、その旨を制御装置に通知するメッセージである。スイッチは、“Flow_removed”を送信する際、消去されたフローエントリに対応するフローの統計情報も制御装置に送信する。
 “stats_request ”は、制御装置からスイッチに送られるメッセージである。“stats_request ”は、フローの統計情報をスイッチに対して要求するメッセージである。
 “stats_reply ”は、スイッチから制御装置に送られるメッセージである。“stats_reply ”は、“stats_request ”に対する応答として、スイッチから制御装置に対してフローの統計情報を送るために用いられる。
 また、特許文献1には、アプリケーション別のトラフィック量情報を計測するシステムが記載されている。
 また、特許文献2には、複数の無線通信ネットワークとの接続を行う無線通信装置が記載されている。
特開2008-72496号公報(段落0034) 国際公開WO2009/107781号パンフレット(段落0042)
"OpenFlow Switch Specification Version 1.0.0 (Wire Protocol 0x01)"、2009年12月31日、[平成25年9月20日検索]、インターネット<http://www.openflow.org/documents/openflow-spec-v1.0.0.pdf>
 近年、外部と通信可能な端末装置として、スマートフォン等が急速に普及している。このような端末装置では、モバイル網(携帯電話通信網)での通信量が所定量以上になったときに、最もモバイル網を使用しているアプリケーションソフトウェアに対してモバイル網の使用を禁止させる制御を実現できることが好ましい。しかし、モバイル網およびWi-Fi(Wireless Fidelity 、登録商標)といった複数の通信網に同時に接続される端末装置は、個々のアプリケーションソフトウェア毎にモバイル網での通信量を認識することができなかった。そのため、上記のような制御を実現することはできなかった。
 そこで、本発明は、個々のアプリケーションソフトウェア毎にモバイル網での通信量を認識することができる端末装置、端末装置制御方法、および端末装置制御プログラムを提供することを目的とする。
 本発明による端末装置は、パケットを送信するパケット転送手段を制御する通信制御手段と、通信制御手段に対する指示を表す指示情報を通信制御手段に与える指示情報付与手段とを備え、通信制御手段が、パケット転送手段からフロー毎に、通信量を含む統計情報を取得し、当該統計情報をフローの送信元となるアプリケーションソフトウェアの情報、および通信に用いたアクセス網の情報とともに保持し、指示情報付与手段が、アプリケーションソフトウェア毎に、各アクセス網の統計情報を通信制御手段から取得することを特徴とする。
 また、本発明による端末装置制御方法は、通信制御手段が、パケットを送信するパケット転送手段を制御し、指示情報付与手段が、通信制御手段に対する指示を表す指示情報を通信制御手段に与え、通信制御手段が、パケット転送手段からフロー毎に、通信量を含む統計情報を取得し、当該統計情報をフローの送信元となるアプリケーションソフトウェアの情報、および通信に用いたアクセス網の情報とともに保持し、指示情報付与手段が、アプリケーションソフトウェア毎に、各アクセス網の統計情報を通信制御手段から取得することを特徴とする。
 また、本発明による端末装置制御プログラムは、パケットを送信するパケット転送手段を制御する通信制御手段と、通信制御手段に対する指示を表す指示情報を通信制御手段に与える指示情報付与手段とを備え、端末装置として用いられるコンピュータに搭載される端末装置制御プログラムであって、コンピュータに、通信制御手段が、パケット転送手段からフロー毎に、通信量を含む統計情報を取得し、当該統計情報をフローの送信元となるアプリケーションソフトウェアの情報、および通信に用いたアクセス網の情報とともに保持する第1の統計情報取得処理、および、指示情報付与手段が、アプリケーションソフトウェア毎に、各アクセス網の統計情報を通信制御手段から取得する第2の統計情報取得処理を実行させることを特徴とする。
 本発明によれば、個々のアプリケーションソフトウェア毎にモバイル網での通信量を認識することができる。
本発明の端末装置の例を示すブロック図である。 ポリシを模式的に示す説明図である。 OFCの詳細を示すブロック図である。 フロー管理部が管理する情報の例を示す模式図である。 ポリシ管理部の詳細を示すブロック図である。 統計情報管理部の詳細を示すブロック図である。 本発明の処理経過の例を示すシーケンス図である。 OFCの処理経過の例を示すシーケンス図である。 統計情報管理部の処理経過の例を示すシーケンス図である。 本発明の端末装置の主要部を示すブロック図である。
 以下、本発明の実施形態を図面を参照して説明する。以下、オープンフローにおける制御装置をOFC(OpenFlow Controller )と記す。また、オープンフローにおけるスイッチをOFS(OpenFlow Switch )と記す。
 図1は、本発明の端末装置の例を示すブロック図である。本発明の端末装置1は、例えば、スマートフォンやタブレット型端末装置であるが、これらに限定されない。また、本発明の端末装置1は、複数のアクセス網(通信網)に同時に接続可能である。本発明の端末装置1は、通信制御管理部2と、制御アプリケーション部3と、パケット転送部4と、プロトコル処理部5と、アプリケーション部6と、通信インタフェース部7a~7nとを備える。
 各アプリケーション部6は、端末装置1にインストールされた各アプリケーションソフトウェア(以下、単にアプリケーションと記す。)に従って動作するCPUによって実現される。各アプリケーション部6は、対応するアプリケーションに応じた動作を行う。
 パケット転送部4は、アプリケーション部6が外部に送信しようとするパケットを、通信制御管理部2に従って処理する(例えば、転送したり、破棄したりする)。
 通信制御管理部2は、制御アプリケーション部3からの指示に基づいて、パケット転送部4におけるパケット処理を制御する。本実施形態では、通信制御管理部2がオープンフローに従ってパケット転送部4を制御する場合を例にして説明する。すなわち、本実施形態では、通信制御管理部2がオープンフローにおけるOFCに該当し、パケット転送部4がオープンフローにおけるOFSに該当するものとして説明する。ただし、通信制御管理部2は、オープンフロー以外のプロトコルでパケット転送部4を制御してもよい。以下、通信制御管理部2をOFC2と記す。また、パケット転送部4をOFS4と記す。OFC2およびOFS4は、プログラムに従って動作するCPUによって実現される。OFC2としての機能を実現させるプログラムはOFC基盤と称される。
 制御アプリケーション部3は、制御アプリケーションソフトウェアに従って動作するCPUによって実現される。以下、制御アプリケーションソフトウェアを制御アプリケーションと記す。制御アプリケーション部3は、OFC2に対する指示を表す指示情報をOFC2に送る。この指示情報をポリシと記す。
 通信インタフェース部7a~7nは、それぞれ、モバイル網、Wi-Fi(Wireless Fidelity 、登録商標)等の各種通信に対応する通信インタフェースである。各通信インタフェース部7a~7nは、具体的には、OFS2のポートとして識別される。
 プロトコル処理部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等の自ポート番号である。
 制御アプリケーション、および、OFC2、OFS4、プロトコル処理部5の機能を実現するための各プログラムは、端末装置制御プログラムと称することができる。端末装置制御プログラムは、端末装置1の記憶装置(図示略)に記憶され、端末装置1のCPUが端末装置制御プログラムを読み込み、そのプログラムに従って、OFC2、制御アプリケーション部3、OFS4、プロトコル処理部5として動作する。
 制御アプリケーション部3がOFC2に送るポリシについて説明する。ポリシは、トラフィックの内容に応じたアクションを指示する指示情報である。図2は、ポリシを模式的に示す説明図である。ポリシには、ポリシを検索する際に用いる検索キーと、ポリシが指定する動作を表すアクションとが含まれる。
 トラフィックを指定する情報は、検索キーとして記述される。例えば、検索キーとしてアプリケーションIDが記述される。アプリケーションIDは、制御対象トラフィックを端末装置内で送受信するアプリケーションの識別子である。ポリシにおいてアプリケーションIDが未指定である場合、ワイルドカードであるとみなされる。
 また、例えば、制御対象トラフィックのフローの識別情報が検索キーとして記述されていてもよい。フローの識別情報には、例えば、アドレスやポート番号等が含まれる。フロー情報となるアドレスやポート番号が未指定である場合、ワイルドカードとみなされる。
 また、検索キーには、優先度が含まれていてもよい。優先度は、共通のトラフィックに対応するポリシが複数存在する場合、それらポリシの優先順位を表す。従って、OFC2が、あるトラフィックに対応するポリシを検索した結果、複数のポリシが得られた場合、OFC2は、そのポリシのうち最も優先度が高いポリシのみを最終的に検索結果とする。
 また、検索キーには、ポリシの識別子であるポリシIDが含まれる。
 アクションを指定する態様には、トラフィックに応じて、そのトラフィックの経路を指定する態様がある。この態様では、端末装置が接続し得るアクセス網(Wi-Fiやモバイル網等)が指定される。例えば、あるトラフィックに対応するポリシで、アクションとしてWi-Fiが指定されていた場合、そのトラフィックのパケットはWi-Fiに対応する通信インタフェース部から送信されることになる。
 また、アクションを指定する態様として、予め規定された動作を実行するか否かをフラグによって定める態様がある。予め規定された動作の例として、例えば、「OFC2がポリシで指定された条件に該当する新規フローを検出した場合、OFC2がその新規フローの送信元のアプリケーションおよび宛先を制御アプリケーション部3に通知する。」等の動作が挙げられる。この動作に対応するフラグが、ポリシ内でオンに設定されているとする。OFC2は、新規トラフィック(より具体的には、指定された条件に該当する新規フロー)を検出し、そのトラフィックに対応するポリシとしてこのポリシを検索した場合、フラグで指定された上記の動作を実行する。また、ポリシ内でこのフラグがオフに設定されている場合、OFC2は、このポリシを検索したとしても、上記の動作を実行しない。
 なお、ポリシには、複数のアクションが記述されていてもよい。
 また、OFS4にパケットを送信したアプリケーション部6に対応するアプリケーションを、パケットの送信元のアプリケーションと記す。
 本発明では、OFC2は、フロー毎の統計情報をOFS4から取得する。このとき、OFC2がオープンフローの“stats_request ”をOFS4に送り、OFS4が“stats_reply ”をOFS2に送ることによって、OFC2は統計情報を取得する。そして、OFC2は、アプリケーション毎に各アクセス網での統計情報を保持する。そして、制御アプリケーション部3は、アプリケーション毎に、指定した各アクセス網の統計情報をOFC2に要求し、OFC2は要求された統計情報を制御アプリケーション部3に送る。また、制御アプリケーション部3は、モバイル網での通信量(例えば、バイト数)の総和が閾値以上になっている場合、モバイル網で通信を行っているアプリケーションのうち、通信量が最大であるアプリケーションを特定する。制御アプリケーション部3は、そのアプリケーションの通信に用いる経路としてモバイル網以外(本例では、Wi-Fiとする。)を指定するポリシを作成し、OFC2に送る。このようなOFC2に対する制御アプリケーション部3の動作や、制御アプリケーション部3に対するOFC2の動作が本発明の特徴である。換言すれば、制御アプリケーション部3とOFC2との間のNorthbound API(Application programming Interface )が本発明の特徴である。そして、このような本発明の特徴によって、端末装置1が個々のアプリケーション毎にモバイル網での通信量を認識できるという効果が得られる。さらに、端末装置1が、モバイル網での通信量が最大となっているアプリケーションに関して、使用するアクセス網をモバイル網からWi-Fiに切り替えられるという効果が得られる。そして、その結果、モバイル網の通信負荷を抑えることができる。
 図3は、OFC2の詳細を示すブロック図である。OFC2は、API管理部21と、ポリシ管理部22と、統計情報管理部23と、フロー管理部24と、ノード状態管理部25と、プロトコル状態管理部26とを含む。
 API管理部21は、制御アプリケーション部3からのAPI呼び出しや、OFC2側からの応答を中継する。例えば、API管理部21は、制御アプリケーション部3からポリシの追加、変更、削除の通知を受信した場合には、その通知をポリシ管理部22に送る。また、ポリシ管理部22が制御アプリケーション部3に情報を送信する場合、API管理部21は、その情報を中継する。また、例えば、API管理部21は、制御アプリケーション部3からトラフィックの統計情報の要求を受信した場合、その要求を統計情報管理部23に送る。そして、統計情報管理部23がその要求に応じて統計情報を制御アプリケーション部3に送信する場合、API管理部21は、その統計情報を中継する。
 ポリシ管理部22は、制御アプリケーション部3から送られた各ポリシを保持する。
 また、ポリシ管理部22は、OFS4から“Packet_in ”とともにOFC2に送られたパケット(OFS4において、合致するフローエントリが存在しなかったパケット)を取得した場合、そのパケットに応じたポリシを検索し、検索したポリシで定められた動作を実行する。より具体的には、フロー管理部24が、OFS4から“Packet_in ”とともにOFC2に送られたパケットを受信すると、そのパケットをポリシ管理部22に送り、ポリシ検索を要求する。以下の説明において、この動作をポリシ問い合わせと呼ぶ場合がある。ポリシ管理部22は、その要求に応じてポリシを検索し、検索したポリシで定められた動作を実行する。このとき、検索の結果得られたポリシにおいて、アクセス網を指定するアクションが記述されていた場合、ポリシ管理部22は、そのアクションおよびポリシIDを、フロー管理部24に返すことによって、フロー管理部24に対してフローエントリの作成を指示する。
 統計情報管理部23は、OFS4から送られる統計情報を保持する。具体的には、統計情報管理部23は、アプリケーション毎に、各アクセス網における統計情報を保持する。また、API管理部21を介して、制御アプリケーション部3から統計情報を要求されると、要求された統計情報を制御アプリケーション部3に送る。
 フロー管理部24は、OFS4との間で通信を行い、また、OFS4に設定するフローエントリに関する情報を管理する。フロー管理部24は、OFS4から“Packet_in ”とともにパケット(OFS4において、合致するフローエントリが存在しなかったパケット)を受信した場合、そのパケットをポリシ管理部22に送り、ポリシ検索を要求する。この応答として、ポリシ管理部22からアクセス網を指定するアクションおよびポリシIDを受け取った場合、フロー管理部24は、そのアクションと、上記のパケットのフロー情報とに基づいて、フローエントリを作成し、そのフローエントリをOFS4に送信する。そして、フロー管理部24は、そのフローエントリに関する情報を管理する。
 図4は、フロー管理部24が管理する情報の例を示す模式図である。フロー管理部24は、フローエントリ毎に図4に例示する情報を作成し、保持する。そして、フロー管理部24が管理する各情報には、それらの個々の情報を検索するための検索キーが含まれる。その検索キーには、フローエントリで制御されるトラフィックのフローの識別情報が記述される。既に説明したように、フローの識別情報には、例えば、アドレスやポート番号等が含まれる。フロー情報となるアドレスやポート番号が未指定である場合、ワイルドカードとみなされる。また、検索キーには、フローエントリを設定するときに利用したポリシIDも含まれる。さらに、フロー管理部24が管理する各情報には、フローエントリで設定されるアクションも記述される。
 また、フロー管理部24は、“Flow_removed”を受信した場合、“Flow_removed”とともにOFS4から受信した統計情報を統計情報管理部23に送る。図4に示すように、フローエントリとポリシIDとが対応付けられているので、消去されたフローの統計情報がOFS4から送られた場合であっても、統計情報管理部23が、その統計情報がどのアプリケーションに対応する統計情報かを認識できる。
 また、フロー管理部24は、例えば、統計情報管理部23から定期的に与えられる指示に基づいて、“stats_request ”を定期的にOFS4に送ることによっても、OFS4からフロー毎の統計情報を取得する。この場合にも、フロー管理部24は、その統計情報を統計情報管理部23に送る。
 フロー管理部24は、フローの統計情報を取得した場合、そのフローのフローエントリに対応付けて保持しているポリシID(図4参照)を特定する。そして、フロー管理部24は、そのポリシIDが示すポリシにおいて検索キーとして記述されているアプリケーションIDをポリシ管理部22(具体的には、後述のポリシ検索部223。図5参照。)に問い合わせ、ポリシ管理部22からアプリケーションIDを取得する。また、フロー管理部24は、フローの識別情報に基づいて、どのアクセス網における統計情報であるのかを判定する。この結果、フロー管理部24は、アプリケーションIDと、アクセス網と、統計情報とを対応付けることができる。そして、フロー管理部24は、アプリケーションIDおよびアクセス網に対応付けて統計情報を統計情報管理部23に保持させる。
 ノード状態管理部25は、各通信インタフェース部7a~7n(図1参照)が使用できる状態か否かを示す情報をプロトコル処理部5から取得し、保持する。ポリシ管理部22(具体的には、後述のアクション選択部224。図5参照。)は、この情報を参照することによって、個々の通信インタフェース部7a~7nが使用可能であるか否かを判定する。ポリシ管理部22(具体的には、アクション選択部224)は、パケットを送出しようとする通信インタフェース部が使用できない場合、検索したポリシにおいて、その通信インタフェース部に対応するアクセス網を指定するアクションが記述されていても、そのアクションをフロー管理部24に送らない。この結果、使用できない通信インタフェース部からパケットを送出するフローエントリは作成されない。
 プロトコル状態管理部26は、パケットのフロー情報と、そのパケットの送信元アプリケーションのアプリケーションID(アプリケーションの識別子)との対応関係を表す情報を保持する。本例では、パケットのフロー情報として自ポート番号を用いる場合を例にする。プロトコル状態管理部26は、プロトコル処理部5(図1参照)から自ポート番号およびプロセスIDを取得する。プロトコル状態管理部26は、そのプロセスIDに対応するUID(User ID )と、そのUIDに対応するアプリケーションIDとを対応づけた情報を作成し、その情報を保持する。この結果、フロー情報(自ポート番号)とアプリケーションIDとが対応づけられ、フロー情報からアプリケーションIDを検索することが可能となる。ただし、プロトコル状態管理部26が、フロー情報とアプリケーションIDとの対応関係を示す情報を保持する態様は、特に限定されず、上記の態様でなくてもよい。
 図5は、ポリシ管理部22の詳細を示すブロック図である。ポリシ管理部22は、ポリシテーブル記憶部221と、ポリシエントリ管理部222と、ポリシ検索部223と、アクション選択部224とを含む。
 ポリシテーブル記憶部221は、ポリシを記憶する記憶装置(例えば、メモリ)である。
 ポリシエントリ管理部222は、API管理部21を介して、制御アプリケーション部3からポリシの追加、変更、削除の通知を受信すると、その通知に従って、ポリシテーブル記憶部221内のポリシを更新する。例えば、ポリシエントリ管理部222は、ポリシテーブル記憶部221に新たにポリシを記憶させたり、ポリシテーブル記憶部221に記憶されているポリシの内容を変更したり、ポリシテーブル記憶部221に記憶されているポリシを削除したりする。
 ポリシ検索部223は、フロー管理部24からパケットが送られると、そのパケットのフロー情報(本例ではポート番号)をキーとして、プロトコル状態管理部26にそのフロー情報に対応するアプリケーションIDを検索させる。プロトコル状態管理部26は、検索したアプリケーションIDをポリシ検索部223に返す。このアプリケーションIDは、パケットの送信元となったアプリケーションIDである。ポリシ検索部223は、このアプリケーションIDおよびフロー管理部24から送られたパケットのフロー情報をキーとして、ポリシテーブル記憶部221からポリシを検索する。
 アクション選択部224は、ポリシ検索部223によって検索されたポリシで定められているアクションを選択する。例えば、ポリシ検索部223によって検索されたポリシにおいて、フロー検出通知を行うというアクションが定められている場合、アクション選択部224は、制御アプリケーション部3に対してフロー検出通知を行う。また、例えば、ポリシにおいて、アクセス網を指定するアクションが記述されていた場合、アクション選択部224は、そのアクションおよびポリシIDを、フロー管理部24に返すことによって、フロー管理部24に対してフローエントリの作成を指示する。
 図6は、統計情報管理部23の詳細を示すブロック図である。統計情報管理部23は、統計情報蓄積管理部231と、統計情報記憶部232と、統計情報検索部233とを含む。
 統計情報記憶部232は、統計情報を記憶する記憶装置(例えば、メモリ)である。
 統計情報蓄積管理部231は、フロー管理部24が定期的にOFS4から取得した統計情報や、OFS4でフローエントリが消去されたことによってフロー管理部24が“Flow_removed”とともに取得した統計情報に基づいて、統計情報記憶部232に記憶されている統計情報を更新する。具体的には、統計情報蓄積管理部231は、統計情報とともにその統計情報に対応するアプリケーションIDおよびアクセス網の情報をフロー管理部24から与えられ、統計情報記憶部232において、そのアプリケーションIDおよびアクセス網に対応する統計情報を更新する。
 統計情報検索部233は、制御アプリケーション部3からAPI管理部21を介して統計情報の要求を受ける。統計情報検索部233は、要求された統計情報を統計情報記憶部232から検索する。そして、統計情報検索部233は、API管理部21を介して制御アプリケーション部3にその統計情報を送る。
 次に、本発明の動作について説明する。図7は、本発明の処理経過の例を示すシーケンス図である。図7において、APPは、アプリケーションを意味するものとする。また、図7において、制御アプリケーション部3がOFC2に送るポリシの内容、および、制御アプリケーション部3がOFC2から収集する統計情報の内容は、破線で囲んで図示する。また、アプリケーション部6aに対応するアプリケーションを符号aで表す。アプリケーション部6bに対応するアプリケーションを符号bで表す。図7では、アプリケーション部6a、OFS4、モバイル網の順に転送されるパケットの転送経路を破線で示している。また、アプリケーション部6b、OFS4、モバイル網の順に転送されるパケットの転送経路を一点鎖線で示している。また、以降の説明では、アプリケーションa,bを例にして説明するが、アプリケーションの種類は2つに限定されない。
 また、端末装置1は、複数のアクセス網に接続されている。本実施形態では、端末装置1は、モバイル網およびWi-Fiの2つのアクセス網に接続されているものとする。なお、モバイル網として、LTE(Long Term Evolution )、3G(3rd Generation)等があるが、本実施形態では、モバイル網として特定のモバイル網(例えば、LTE)を用いる場合を例に説明する。ただし、LTEは、モバイル網の例示であり、モバイル網として3Gを用いてもよい。
 図7では、図示を省略しているが、制御アプリケーション部3は、アプリケーションa,bを送信元とするフローについて、モバイル網を用いることを初期設定として指示するポリシをOFC2に与えている。すなわち、最初に、制御アプリケーション部3は、検索キーとしてアプリケーションaのアプリケーションIDを記述し、アクションでは経路としてモバイル網を記述したポリシを、OFC2に与えている。同様に、制御アプリケーション部3は、検索キーとしてアプリケーションbのアプリケーションIDを記述し、アクションでは経路としてモバイル網を記述したポリシを、OFC2に与えている。これらのポリシを、初期設定ポリシと記す。
 最初にアプリケーションaを送信元とするパケットをOFS4が受信するときには、そのパケットに対応するフローエントリは存在しない。よって、OFS4は、“Packet_in ”によってそのパケットをOFC2に送る。OFC2は、アプリケーションaに対応する初期設定ポリシに基づき、そのパケットのフローに関して、モバイル網に対応する通信インタフェース部から送信することを規定したフローエントリを作成する。このとき、OFC2内のフロー管理部24(図3参照)は、そのフローエントリに関する情報として、図4に示すように、ポリシIDを含む情報を保持する。そして、OFC2は、そのフローエントリをOFS4に設定する。
 この結果、OFS4は、アプリケーションaを送信元とするパケットを受信した場合、モバイル網に対応する通信インタフェース部からそのパケットを送信する(図7の上段に示す破線を参照)。
 同様に、最初にアプリケーションbを送信元とするパケットをOFS4が受信するときには、そのパケットに対応するフローエントリは存在しない。よって、OFS4は、“Packet_in ”によってそのパケットをOFC2に送る。OFC2は、アプリケーションbに対応する初期設定ポリシに基づき、そのパケットのフローに関して、モバイル網に対応する通信インタフェース部から送信することを規定したフローエントリを作成する。フロー管理部24(図3参照)は、そのフローエントリに関する情報として、図4に示すように、ポリシIDを含む情報を保持する。そして、OFC2は、そのフローエントリをOFS4に設定する。
 この結果、OFS4は、アプリケーションbを送信元とするパケットを受信した場合、モバイル網に対応する通信インタフェース部からそのパケットを送信する(図7の上段に示す一点鎖線を参照)。
 OFS4は、フローエントリ設定後、フローエントリ毎に統計情報を保持する。ここでは、OFS4が、統計情報として、少なくとも、通信量の情報を保持するものとする。通信量の情報は、例えば、バイト数で表されていてもよく、あるいは、パケット数で表されていてもよい。OFS4は、通信量以外の情報も統計情報に含めてもよい。OFS4は、フローエントリに合致するパケットの通信を行う毎に、通信量を累積し、その通信量の情報を含む統計情報を保持する。
 OFC2は、例えば、定期的に、各フローの統計情報をOFS4に要求し、OFS4から統計情報を取得する(ステップS1,S2等)。
 OFC2内のフロー管理部24(図3参照)は、各フローの統計情報を取得すると、フロー毎に以下の処理を行う。フロー管理部24は、フローエントリに対応するポリシID(図4参照)を特定する。そして、フロー管理部24は、そのポリシIDに対応するポリシにおいて検索キーとして記述されているアプリケーションIDを、ポリシ管理部22内のポリシ検索部223に問い合わせる。また、フロー管理部24は、フローの識別情報に基づいて、統計情報が、どのアクセス網における統計情報であるのかを判定する。そして、フロー管理部24は、アプリケーションIDおよびアクセス網に対応付けて統計情報を統計情報管理部23(図3参照)に記憶させる。
 そして、制御アプリケーション部3は、上記のようにOFC2内の統計情報管理部23に保持された統計情報を収集する(ステップS3)。制御アプリケーション部3は、アプリケーション毎に、指定した各アクセス網での統計情報をOFC2に要求し、アプリケーション毎の各アクセス網での統計情報を収集する。本例では、制御アプリケーション部3は、アプリケーション毎にWi-Fiおよびモバイル網を指定し、Wi-Fiおよびモバイル網の統計情報を収集するものとする。なお、図7に示す例では、“C”はモバイル網を表し、“W”はWi-Fiを表す。従って、図7に示す例では、制御アプリケーション部3は、アプリケーションaに関して、モバイル網での通信量が100であり、Wi-Fiでの通信量が0であるという情報(C100,W0)をOFC2から収集する。同様に、制御アプリケーション部3は、アプリケーションbに関して、モバイル網での通信量が10であり、Wi-Fiでの通信量が0であるという情報(C10,W0)をOFC2から収集する。
 制御アプリケーション部3は、ステップS3で収集した統計情報に基づいて、モバイル網での通信量の総和を計算し、その総和が閾値以上になっているか否かを判定する。閾値は予め定められている。
 モバイル網での通信量の総和が閾値未満である場合、制御アプリケーション部3は、新たなポリシの追加を行わない。
 一方、モバイル網での通信量の総和が閾値以上である場合、制御アプリケーション部3は、OFC2に対して新たなポリシの追加を指示する。図7に示す例では、モバイル網での通信量の総和は、100+10=110である。この値が閾値以上であるものとして、説明する。制御アプリケーション部3は、モバイル網で通信を行っているアプリケーションのうち、モバイル網での通信量が最大であるアプリケーションを特定する。図7に示す例では、アプリケーションaによるモバイル網での通信量は100(C100)である。また、アプリケーションbによるモバイル網での通信量は10(C10)である。よって、制御アプリケーション部3は、アプリケーションaを特定する。そして、制御アプリケーション部3は、検索キーにおいてそのアプリケーションaのアプリケーションIDを記述し、アクションでは経路としてモバイル網以外(本例では、Wi-Fiとする。)を記述したポリシを作成する。なお、制御アプリケーション部3は、このポリシの優先度を、初期設定ポリシの優先度よりも高く定める。そして、制御アプリケーション部3は、そのポリシの追加をOFC2に指示する(ステップS4)。OFC2は、制御アプリケーション部3に従い、このポリシを保持する。
 また、アプリケーション部6a,6bからのパケット送信が停止し、タイムアウトによって、OFS4が各フローエントリを削除したものとする。
 その後、アプリケーション部6aがパケットの送信を再開し、再開後、最初のパケットをOFS4に送るとする(ステップS5)。このとき、OFS4において、このパケットのフローに対応するフローエントリは削除済みになっている。そのため、OFS4は、“Packet_in ”によってそのパケットをOFC2に送信する(ステップS6)。
 OFC2がステップS6で受信したパケットは、アプリケーションaを送信元としている。OFC2は、このパケットのフロー情報に対応するポリシとして、ステップS4で取得したポリシを検索する。そして、OFC2は、そのポリシに基づいてフローエントリを作成する。すなわち、OFC2は、ステップS6で“Packet_in ”とともにOFS4から受信したパケットのフローに関して、Wi-Fiの通信インタフェース部から送信する旨を定めたフローエントリを作成し、OFS4に送る(ステップS7)。そして、OFS4は、そのフローエントリを格納する。ステップS7で、OFC2は、具体的には、“Flow_mod(Wi-Fi) ”および“Packet_out”をOFS4に送る。
 OFS4は、そのフローエントリに従って、アプリケーション部6aから受信したパケットを、Wi-Fiの通信インタフェース部から送信する(ステップS8)。
 また、アプリケーション部6bもパケットの送信を再開し、再開後、最初のパケットをOFS4に送るとする(ステップS9)。このとき、OFS4において、このパケットのフローに対応するフローエントリは削除済みになっている。そのため、OFS4は、“Packet_in ”によってそのパケットをOFC2に送信する(ステップS10)。
 OFC2がステップS10で受信したパケットは、アプリケーションbを送信元としている。OFC2は、このパケットのフロー情報に対応するポリシとして、アプリケーションbを検索キーとしている初期設定ポリシを検索する。そして、OFC2は、その初期設定ポリシに基づいてフローエントリを作成する。すなわち、OFC2は、ステップS10で“Packet_in ”とともにOFS4から受信したパケットのフローに関して、モバイル網の通信インタフェース部から送信する旨を定めたフローエントリを作成し、OFS4に送る(ステップS11)。そして、OFS4は、そのフローエントリを格納する。ステップS11で、OFC2は、具体的には、“Flow_mod(Cellular) ”および“Packet_out”をOFS4に送る。上記の“Cellular”は、モバイル網を意味する。
 OFS4は、そのフローエントリに従って、アプリケーション部6bから受信したパケットを、モバイル網の通信インタフェース部から送信する(ステップS12)。
 なお、上記の処理経過において、制御アプリケーション部3がOFC2から統計情報を収集する動作(ステップS3)の実行タイミングは、特に限定されない。例えば、制御アプリケーション部3は、OFC2から統計情報を定期的に収集してもよい。
 以上の動作により、モバイル網での通信量が多かったアプリケーションaが、Wi-Fiを用いて通信を行うように切り替えられ、モバイル網の通信負荷が軽減される。
 図8は、OFC2の処理経過の例を示すシーケンス図である。以下、図8、図3等を参照して、図7で示した動作におけるOFC2の処理経過を説明する。
 OFC2内の統計情報管理部23(図3参照)は、定期的に、OFS4から各フローの統計情報を取得するようにフロー管理部24に対して指示する(ステップS21)。フロー管理部24は、この指示に基づいて、OFS4に対して“stats_request ”を送信することによって、各フローの統計情報を要求する(ステップS22)。
 OFS4は、“stats_request ”に応じて、“stats_reply ”とともにフローの統計情報をフロー管理部24に返す(ステップS23)。個々のフローの統計情報には、ステップS23の実行時までの間にOFS4で累積されたフローの通信量の情報が含まれる。
 フロー管理部24は、ステップS23で各フローの統計情報を取得すると、フロー毎に、フローの識別情報に基づいて、統計情報がどのアクセス網における統計情報であるのかを判定する。また、フロー管理部24は、フローエントリに対応付けて保持しているポリシID(図4参照)を特定する。そして、フロー管理部24は、そのポリシIDが示すポリシにおいて検索キーとして記述されているアプリケーションIDをポリシ管理部22内のポリシ検索部223(図5参照)に問い合わせ、ポリシ検索部223からアプリケーションIDを取得する。このとき、ポリシ検索部223は、ポリシIDによって特定されるポリシをポリシテーブル記憶部221から読み込み、そのポリシにおいて検索キーとして記述されているアプリケーションIDをフロー管理部24に返せばよい。そして、フロー管理部24は、フロー毎に取得した各統計情報を、アプリケーションIDおよびアクセス網に対応付ける。
 そして、フロー管理部24は、統計情報、アプリケーションIDおよびアクセス網の組合せの情報をそれぞれ統計情報管理部23に送る(ステップS24)。統計情報管理部23は、この情報に基づいて、統計情報管理部23が保持している統計情報を更新する。具体的には、統計情報管理部23は、統計情報記憶部232(図6参照)において、アプリケーションIDおよびアクセス網に対応する統計情報を、新たに取得した統計情報で上書きする。
 統計情報管理部23は、ステップS21の指示(フロー管理部24に対する指示)を定期的に繰り返すので、ステップS21~S24の一連の動作は定期的に繰り返される。図8に示す例では、ステップS25~S28の動作は、ステップS21~S24の動作と同様である。
 また、OFS4は、一定時間以上使用しないフローエントリを検出した場合、そのフローエントリを削除するとともに、そのフローエントリに対応するフローの統計情報を“Flow_removed”とともにOFC2に送る。この統計情報には、フロー消滅までの間にOFS4で累積されたフローの通信量の情報が含まれる。OFC2において、フロー管理部24は、“Flow_removed”とともにそのフローの統計情報を受信する(ステップS29)。この場合にも、フロー管理部24は、統計情報を、アプリケーションIDおよびアクセス網に対応付ける。この動作は、ステップS23における統計情報取得時と同様である。そして、フロー管理部24は、統計情報、アプリケーションIDおよびアクセス網の組合せの情報をそれぞれ統計情報管理部23に送る(ステップS30)。統計情報管理部23は、この情報に基づいて、統計情報管理部23が保持している統計情報を更新する。具体的には、統計情報管理部23は、統計情報記憶部232(図6参照)において、アプリケーションIDおよびアクセス網に対応する統計情報を、新たに取得した統計情報で上書きする。
 また、制御アプリケーション部3は、アプリケーション毎に、指定した各アクセス網での統計情報をOFC2に対して要求する(ステップS31)。すると、OFC2内のAPI管理部21がその要求を受け、API管理部21が統計情報管理部23に対して、アプリケーション毎に、制御アプリケーション部3によって指定された各アクセス網での統計情報を要求する(ステップS32)。
 すると、統計情報管理部23は、その要求に応じて、アプリケーション毎の各アクセス網での統計情報をAPI管理部21に返す(ステップS33)。そして、API管理部21は、その統計情報を制御アプリケーション部3に送る(ステップS34)。この結果、制御アプリケーション部3は、アプリケーション毎の各アクセス網での統計情報を取得する。
 ステップS31~S34の動作は、図7に示すステップS3の動作に該当する。
 ステップS34後の制御アプリケーション部3の動作は、ステップS3後の制御アプリケーション部3の動作と同様である。すなわち、制御アプリケーション部3は、ステップS34で取得したアプリケーション毎の各アクセス網での統計情報に基づいて、モバイル網での通信量の総和を計算し、その総和が閾値以上になっているか否かを判定する。そして、モバイル網での通信量の総和が閾値未満である場合、制御アプリケーション部3は、新たなポリシの追加を行わない。また、モバイル網での通信量の総和が閾値以上である場合、制御アプリケーション部3は、OFC2に対して新たなポリシの追加を指示する。ここでは、図7を参照して説明したように、アプリケーションaのアプリケーションIDを検索キーとして記述し、アクションでは経路としてWi-Fiを記述したポリシを追加する場合を例にして説明する。制御アプリケーション部3は、このポリシの優先度を、初期設定ポリシの優先度よりも高く設定する。制御アプリケーション部3は、このポリシを作成し、OFC2に対して、このポリシの追加を指示する。このポリシの追加指示は、図7に示すステップS4に該当する。
 OFC2において、API管理部21が、制御アプリケーション部3からポリシの追加指示を受け、ポリシ管理部22に対して、そのポリシの追加を指示する(ステップS35)。すると、ポリシ管理部22において、ポリシエントリ管理部222(図5参照。)が、そのポリシの追加指示を受け、ポリシをポリシテーブル記憶部221に記憶させる。
 また、図7の説明で述べたように、タイムアウトによって、OFS4が各フローエントリを削除したものとする。
 ステップS6(図7参照)でOFS4が“Packet_in ”を送信すると、フロー管理部24がその“Packet_in ”を受信する。この結果、フロー管理部24は、OFS4において対応するフローエントリが存在していなかったパケットも受信する。フロー管理部24は、このパケットをポリシ管理部22に送り、そのパケットに応じたポリシの検索を要求する(ステップS36)。
 ポリシ管理部22は、ステップS36で取得したパケットのフロー情報に基づいて、そのパケットに対応するアプリケーションIDの検索をプロトコル状態管理部26に指示する(ステップS37)。そして、ポリシ管理部22は、検索の結果得られたアプリケーションIDをプロトコル状態管理部26から取得する(ステップS38)。このアプリケーションIDは、パケットの送信元のアプリケーションを表している。ポリシ管理部22は、そのアプリケーションID等を用いてポリシを検索する。この結果、ステップS4で追加指示されたポリシが得られる。ポリシ管理部22は、そのポリシ内でアクションとして記述された経路(本例ではWi-Fi)と、そのポリシのポリシIDとをフロー管理部24に送信し、フロー管理部24に対してフローエントリの作成を指示する(ステップS39)。
 以下、ステップS37~S39の動作を、より詳細に説明する。
 ポリシ管理部22において、ポリシ検索部223(図5参照)が、ステップS36の要求(ポリシ問い合わせ)を受ける。すると、ポリシ検索部223は、ステップS36で取得したパケットのフロー情報に基づいて、そのパケットに対応するアプリケーションIDの検索をプロトコル状態管理部26に指示する(ステップS37)。本例では、ポリシ検索部223は、フロー情報のうち自ポート番号をキーとして用いるものとする。
 既に説明したように、プロトコル状態管理部26は、パケットのフロー情報と、そのパケットの送信元アプリケーションのアプリケーションIDを保持している。例えば、プロトコル状態管理部26は、パケットに含まれる自ポート番号、プロセスID、UIDおよびアプリケーションIDの対応関係を保持している。プロトコル状態管理部26は、ポリシ検索部223から検索指示を受けると、自ポート番号に対応するアプリケーションIDを検索し、ポリシ検索部223に通知する。この結果、ポリシ管理部22内のポリシ検索部223は、パケットの送信元であるアプリケーションaのアプリケーションIDを取得する(ステップS38)。
 ポリシ検索部223は、このアプリケーションIDと、ステップS36で取得したパケットのフロー情報を検索キーとして、ポリシテーブル記憶部221に記憶されているポリシを検索する。すると、ステップS4で追加指示されたポリシが得られる。なお、アプリケーションaを検索キーとして含む初期設定ポリシも存在するが、ステップS4で追加指示されたポリシの優先度の方が高い。従って、ポリシ検索部223は、ステップS4で追加指示されたポリシを検索結果とする。
 ポリシ検索部223は、検索したポリシのアクションの選択をアクション選択部224に指示する。アクション選択部224は、この指示に応じて、ポリシ内のアクションを選択する。このポリシでは、アクセス網としてWi-Fiを指定するアクションが記述されている。従って、アクション選択部224は、そのアクション、および、そのポリシのポリシIDをフロー管理部24に送信し、フロー管理部24に対してフローエントリの作成を指示する(ステップS39)。
 フロー管理部24は、ステップS6で“Packet_in ”とともにOFS4から受信したパケットのフローに関して、Wi-Fiの通信インタフェース部から送信する旨を定めたフローエントリを作成する。そして、フロー管理部24は、OFS4に対して、そのフローエントリの設定を指示する。この動作は、図7に示すステップS7に該当する。このとき、フロー管理部24は、OFS4に対して“Flow_mod(Wi-Fi) ”および“Packet_out”を送る。
 図9は、統計情報管理部23の処理経過の例を示すシーケンス図である。図9、図6等を参照して、図8で示した動作における統計情報管理部23の処理経過を説明する。
 ステップS21(図8、図9参照)では、統計情報蓄積管理部231が、OFS4から各フローの統計情報を取得するようにフロー管理部24に対して指示する。フロー管理部24は、この指示に応じて、OFS4から各フローの統計情報を取得する。フロー管理部24は、アプリケーションID、アクセス網、および統計情報を対応付け、その情報を統計情報管理部23に送る(ステップS24。図8、図9参照。)。統計情報蓄積管理部231は、その情報を取得する。
 図7と同様に図9においても、C”はモバイル網を表し、“W”はWi-Fiを表す。図9に示すステップS24では、統計情報蓄積管理部231は、アプリケーションaおよびモバイル網(C)に対応する通信量として“50”を取得し、アプリケーションaおよびWi-Fi(W)に対応する通信量として“0”を取得する。また、統計情報蓄積管理部231は、アプリケーションbおよびモバイル網(C)に対応する通信量として“3”を取得し、アプリケーションbおよびWi-Fi(W)に対応する通信量として“0”を取得する。
 統計情報蓄積管理部231は、統計情報記憶部232に記憶されている統計情報(具体的には通信量)を、ステップS24で取得した通信量の情報で上書きする(ステップS51)。例えば、統計情報蓄積管理部231は、アプリケーションaおよびモバイル網(C)に対応する通信量を“50”に上書きする。
 統計情報管理部23は、ステップS21の指示(フロー管理部24に対する指示)を定期的に繰り返すので、ステップS21,S24,S51の一連の動作は定期的に繰り返される。図9に示す例では、ステップS25,S28,S52の動作は、ステップS21,S24,S51の動作と同様である。
 ただし、時間が経過していることにより、OFS4におけるモバイル網での通信量も増える。その結果、統計情報管理部23がステップS28で取得する、モバイル網に関する通信量は増えている。図9に示すステップS28では、統計情報蓄積管理部231は、アプリケーションaおよびモバイル網(C)に対応する通信量として“100”を取得し、アプリケーションaおよびWi-Fi(W)に対応する通信量として“0”を取得する。また、統計情報蓄積管理部231は、アプリケーションbおよびモバイル網(C)に対応する通信量として“6”を取得し、アプリケーションbおよびWi-Fi(W)に対応する通信量として“0”を取得する。
 また、OFS4におけるフローエントリ削除に伴ってフロー管理部24が“Flow_removed”とともに、消滅したフローの通信量を受信した場合にも、フロー管理部24は、アプリケーションID、アクセス網、およびその統計情報を対応付け、その情報を統計情報管理部23に送る(ステップS30。図8、図9参照。)。統計情報蓄積管理部231は、その情報を取得する。
 図9に示すステップS30では、統計情報蓄積管理部231は、アプリケーションbおよびモバイル網(C)に対応する通信量として“10”を取得する。
 統計情報蓄積管理部231は、統計情報記憶部232に記憶されている統計情報(ここでは、通信量)を、ステップS30で取得した通信量の情報で上書きする(ステップS53)。本例では、統計情報蓄積管理部231は、アプリケーションbおよびモバイル網(C)に対応する通信量を“10”に上書きする。
 また、制御アプリケーション部3は、アプリケーション毎に、指定した各アクセス網での統計情報(具体的には通信量)をOFC2に対して要求する(図8に示すステップS31参照)。すると、API管理部21がその要求を受け、API管理部21は、統計情報検索部233に対して、アプリケーション毎に、制御アプリケーション部3によって指定された各アクセス網での通信量を要求する(ステップS32)。本例では、制御アプリケーション部3は、アプリケーションa,bそれぞれに関して、Wi-Fiおよびモバイル網の通信量を要求する。そして、API管理部21は、ステップS32で、統計情報検索部233に対して、アプリケーションa,bそれぞれに関して、Wi-Fiおよびモバイル網の通信量を要求する。
 統計情報検索部233は、要求された各通信量を統計情報記憶部232に記憶されている通信量の中から検索し(ステップS54)、検索した通信量を統計情報記憶部232から読み込む(ステップS55)。本例では、統計情報検索部233は、アプリケーションaおよびモバイル網に対応する通信量として“100”を読み込み、アプリケーションaおよびWi-Fiに対応する通信量として“0”を読み込む。また、統計情報検索部233は、アプリケーションbおよびモバイル網に対応する通信量として“10”を読み込み、アプリケーションbおよびWi-Fiに対応する通信量として“0”を読み込む。
 統計情報検索部233は、ステップS32に対する応答として、ステップS55で読み込んだ通信量の情報をアプリケーションおよびアクセス網の情報とともにAPI管理部21に送る。この動作は、図8に示すステップS33に該当する。そして、API管理部21は、各通信量の情報をアプリケーションおよびアクセス網の情報とともに制御アプリケーション部3に送る。
 本実施形態によれば、OFC2が、OFS4からフロー毎に統計情報を取得し、その統計情報を、フローの送信元となるアプリケーションおよびアクセス網に対応付けて保持する。そして、制御アプリケーション部3が、アプリケーション毎に、指定した各アクセス網における統計情報をOFC2に要求し、その統計情報をOFC2から取得する。従って、本例では、個々のアプリケーション毎に、各アクセス網での通信量を認識することができる。よって、個々のアプリケーション毎に、モバイル網での通信量も認識することができる。
 さらに、本実施形態によれば、制御アプリケーション部3は、各アプリケーションにおける統計情報(通信量)の総和を計算し、その総和が閾値以上になっているか否かを判定する。そして、その総和が閾値以上であれば、モバイル網での通信量が最大であるアプリケーションの通信に関して、Wi-Fiを用いるように指示するポリシを作成し、OFC2に与える。従って、モバイル網での通信量が最大となっているアプリケーションに関して、モバイル網を使用させないように制御することができる。その結果、モバイル網の負荷を軽減できる。
 また、上記の実施形態では、OFC2は、オープンフローに従ってOFS4を制御する。従って、OFC2はOFS4の動作を幅広く制御することができる。特に本実施形態では、制御アプリケーション部3がOFC2にポリシを与え、OFC2はそのポリシに従って、OFS4の動作を幅広く制御できる。
 また、上記の実施形態では、モバイル網として特定のモバイル網(例えば、LTE)を用いる場合を例にした。このとき、そのモバイル網での通信量の総和が閾値以上になっていて、かつ、Wi-Fiに対応する通信インタフェース部が使用できない状態であったとする。この場合、OFC2は、そのモバイル網での通信量が最大であるアプリケーションの通信に関して、他のモバイル網(例えば、3G)を用いて通信を行うように、フローエントリを作成してもよい。例えば、アクション選択部224が、フロー管理部24にフローエントリ作成を指示する場合(ステップS39)、Wi-Fiに対応する通信インタフェース部が使用できないという情報を得ていたとする。この場合、アクション選択部224は、ステップS39において、Wi-Fiという情報の代わりに、3Gという情報をフロー管理部24に送信し、フロー管理部24に対してフローエントリの作成を指示すればよい。また、Wi-Fiが使用できない場合に、3Gを使用するということは、制御アプリケーション部3がステップS4でOFC2に与えるポリシ内で定めておけばよい。
 次に、本発明の主要部について説明する。図10は、本発明の端末装置の主要部を示すブロック図である。本発明の端末装置は、通信制御手段91と、指示情報付与手段92とを備える。
 通信制御手段91(例えば、OFC2)は、パケットを送信するパケット転送手段(例えば、OFS4)を制御する。
 指示情報付与手段92(例えば、制御アプリケーション部3)は、通信制御手段91に対する指示を表す指示情報(例えば、ポリシ)を通信制御手段91に与える。
 通信制御手段91は、パケット転送手段からフロー毎に、通信量を含む統計情報を取得し、当該統計情報をフローの送信元となるアプリケーションソフトウェアの情報、および通信に用いたアクセス網の情報とともに保持する。
 指示情報付与手段92は、アプリケーションソフトウェア毎に、各アクセス網の統計情報を通信制御手段91から取得する。
 そのような構成によって、端末装置は、個々のアプリケーションソフトウェア毎にモバイル網での通信量を認識することができる。
 指示情報付与手段92が、モバイル網での通信量の総和が閾値以上になっている場合に、当該モバイル網での通信量が最大となっているアプリケーションソフトウェアを特定し、当該アプリケーションソフトウェアを送信元とするパケットをそのモバイル網以外のアクセス網を経路として送信することを指示する指示情報を通信制御手段91に与える構成であってもよい。
 指示情報付与手段92が、モバイル網での通信量の総和が閾値以上になっている場合に、当該モバイル網での通信量が最大となっているアプリケーションソフトウェアを特定し、当該アプリケーションソフトウェアを送信元とするパケットをWi-Fiを経路として送信することを指示する指示情報を通信制御手段91に与える構成であってもよい。
 端末装置は、複数のアクセス網に同時に接続可能であってもよい。
 通信制御手段91が、オープンフローに従ってパケット転送手段を制御する構成であってもよい。
 以上、実施形態を参照して本願発明を説明したが、本願発明は上記の実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
 この出願は、2013年10月11日に出願された日本特許出願2013-214025を基礎とする優先権を主張し、その開示の全てをここに取り込む。
産業上の利用の可能性
 本発明は、外部と通信可能な端末装置に好適に適用される。
 1 端末装置
 2 OFC(通信制御管理部)
 3 制御アプリケーション部
 4 OFS(パケット転送部)
 5 プロトコル処理部
 6 アプリケーション部
 7a~7n 通信インタフェース部
 21 API管理部
 22 ポリシ管理部
 23 統計情報管理部
 24 フロー管理部
 25 ノード状態管理部
 26 プロトコル状態管理部
 221 ポリシテーブル記憶部
 222 ポリシエントリ管理部
 223 ポリシ検索部
 224 アクション選択部
 231 統計情報蓄積管理部
 232 統計情報記憶部
233 統計情報検索部

Claims (9)

  1.  パケットを送信するパケット転送手段を制御する通信制御手段と、
     前記通信制御手段に対する指示を表す指示情報を前記通信制御手段に与える指示情報付与手段とを備え、
     前記通信制御手段は、
     前記パケット転送手段からフロー毎に、通信量を含む統計情報を取得し、当該統計情報をフローの送信元となるアプリケーションソフトウェアの情報、および通信に用いたアクセス網の情報とともに保持し、
     前記指示情報付与手段は、
     アプリケーションソフトウェア毎に、各アクセス網の統計情報を前記通信制御手段から取得する
     ことを特徴とする端末装置。
  2.  指示情報付与手段は、
     モバイル網での通信量の総和が閾値以上になっている場合に、当該モバイル網での通信量が最大となっているアプリケーションソフトウェアを特定し、当該アプリケーションソフトウェアを送信元とするパケットを前記モバイル網以外のアクセス網を経路として送信することを指示する指示情報を前記通信制御手段に与える
     請求項1に記載の端末装置。
  3.  指示情報付与手段は、
     モバイル網での通信量の総和が閾値以上になっている場合に、当該モバイル網での通信量が最大となっているアプリケーションソフトウェアを特定し、当該アプリケーションソフトウェアを送信元とするパケットをWi-Fiを経路として送信することを指示する指示情報を前記通信制御手段に与える
     請求項1または請求項2に記載の端末装置。
  4.  複数のアクセス網に同時に接続可能である
     請求項1から請求項3のうちのいずれか1項に記載の端末装置。
  5.  通信制御手段は、
     オープンフローに従ってパケット転送手段を制御する
     請求項1から請求項4のうちのいずれか1項に記載の端末装置。
  6.  通信制御手段が、
     パケットを送信するパケット転送手段を制御し、
     指示情報付与手段が、
     前記通信制御手段に対する指示を表す指示情報を前記通信制御手段に与え、
     前記通信制御手段が、
     前記パケット転送手段からフロー毎に、通信量を含む統計情報を取得し、当該統計情報をフローの送信元となるアプリケーションソフトウェアの情報、および通信に用いたアクセス網の情報とともに保持し、
     前記指示情報付与手段が、
     アプリケーションソフトウェア毎に、各アクセス網の統計情報を前記通信制御手段から取得する
     ことを特徴とする端末装置制御方法。
  7.  指示情報付与手段が、
     モバイル網での通信量の総和が閾値以上になっている場合に、当該モバイル網での通信量が最大となっているアプリケーションソフトウェアを特定し、当該アプリケーションソフトウェアを送信元とするパケットを前記モバイル網以外のアクセス網を経路として送信することを指示する指示情報を前記通信制御手段に与える
     請求項6に記載の端末装置制御方法。
  8.  パケットを送信するパケット転送手段を制御する通信制御手段と、前記通信制御手段に対する指示を表す指示情報を前記通信制御手段に与える指示情報付与手段とを備え、端末装置として用いられるコンピュータに搭載される端末装置制御プログラムであって、
     前記コンピュータに、
     前記通信制御手段が、前記パケット転送手段からフロー毎に、通信量を含む統計情報を取得し、当該統計情報をフローの送信元となるアプリケーションソフトウェアの情報、および通信に用いたアクセス網の情報とともに保持する第1の統計情報取得処理、および、
     前記指示情報付与手段が、アプリケーションソフトウェア毎に、各アクセス網の統計情報を前記通信制御手段から取得する第2の統計情報取得処理
     を実行させるための端末装置制御プログラム。
  9.  コンピュータに、
     指示情報付与手段が、モバイル網での通信量の総和が閾値以上になっている場合に、当該モバイル網での通信量が最大となっているアプリケーションソフトウェアを特定し、当該アプリケーションソフトウェアを送信元とするパケットを前記モバイル網以外のアクセス網を経路として送信することを指示する指示情報を前記通信制御手段に与える指示情報付与処理
     を実行させる請求項8に記載の端末装置制御プログラム。
PCT/JP2014/004519 2013-10-11 2014-09-03 端末装置、端末装置制御方法および端末装置制御プログラム WO2015052867A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015541421A JPWO2015052867A1 (ja) 2013-10-11 2014-09-03 端末装置、端末装置制御方法および端末装置制御プログラム
US15/027,673 US10050895B2 (en) 2013-10-11 2014-09-03 Terminal device, terminal-device control method, and terminal-device control program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2013-214025 2013-10-11
JP2013214025 2013-10-11

Publications (1)

Publication Number Publication Date
WO2015052867A1 true WO2015052867A1 (ja) 2015-04-16

Family

ID=52812704

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2014/004519 WO2015052867A1 (ja) 2013-10-11 2014-09-03 端末装置、端末装置制御方法および端末装置制御プログラム

Country Status (3)

Country Link
US (1) US10050895B2 (ja)
JP (1) JPWO2015052867A1 (ja)
WO (1) WO2015052867A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021190858A (ja) * 2020-05-29 2021-12-13 株式会社日立製作所 通信システム及び通信制御方法

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9619670B1 (en) * 2015-01-09 2017-04-11 Github, Inc. Detecting user credentials from inputted data
TWI578737B (zh) * 2015-02-10 2017-04-11 鴻海精密工業股份有限公司 交換機、控制設備及其管理方法
JP6822269B2 (ja) * 2017-03-29 2021-01-27 コニカミノルタ株式会社 光書き込み装置及び画像形成装置
WO2019060209A1 (en) 2017-09-20 2019-03-28 Facebook Technologies, Llc MULTILAYER PROJECTOR FOR VISIOCASQUE
US20230419364A1 (en) * 2022-06-23 2023-12-28 Truist Bank Pushed notifications in mobile communications

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011211433A (ja) * 2010-03-29 2011-10-20 Kddi Corp 無線通信装置およびその制御プログラム

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IL166390A (en) * 2005-01-19 2011-08-31 Tejas Israel Ltd Routing method and system
JP2008072496A (ja) 2006-09-14 2008-03-27 Oki Electric Ind Co Ltd ネットワーク監視システム、通信品質測定システム及び通信品質測定方法
JP5122328B2 (ja) 2008-02-28 2013-01-16 京セラ株式会社 無線通信装置及び無線通信方法
US8717893B2 (en) * 2010-11-29 2014-05-06 Verizon Patent And Licensing Inc. Network stabilizer
US20120207069A1 (en) * 2011-02-10 2012-08-16 Qualcomm Incorporated Discontinuous reception (drx) optimizations
US8717925B2 (en) * 2011-12-22 2014-05-06 Ixia Testing TCP connection rate
US9071541B2 (en) * 2012-04-25 2015-06-30 Juniper Networks, Inc. Path weighted equal-cost multipath
US9013995B2 (en) * 2012-05-04 2015-04-21 Telefonaktiebolaget L M Ericsson (Publ) Congestion control in packet data networking
US9647938B2 (en) * 2012-06-11 2017-05-09 Radware, Ltd. Techniques for providing value-added services in SDN-based networks
US9001688B2 (en) * 2012-08-10 2015-04-07 Ixia Dynamic balancing of a traffic mix for data center device testing
US9385915B2 (en) * 2012-11-30 2016-07-05 Netapp, Inc. Dynamic caching technique for adaptively controlling data block copies in a distributed data processing system
US9461922B2 (en) * 2013-09-13 2016-10-04 Aol Inc. Systems and methods for distributing network traffic between servers based on elements in client packets
US20160226742A1 (en) * 2013-09-18 2016-08-04 Ramasamy Apathotharanan Monitoring network performance characteristics
US9584418B2 (en) * 2013-10-10 2017-02-28 International Business Machines Corporation Quantized congestion notification for computing environments

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011211433A (ja) * 2010-03-29 2011-10-20 Kddi Corp 無線通信装置およびその制御プログラム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
TAKAHIRO IIHOSHI: "An OpenFlow-based Scalable Method and its Implementation to Control Traffic on Mobile Terminal", IEICE TECHNICAL REPORT, vol. 112, no. 463, March 2013 (2013-03-01), pages 477 - 482 *
YOSHINORI SAIDA: "Sentan Gijutsu Kenkyu", NEC TECHNICAL JOURNAL, vol. 65, no. 3, February 2013 (2013-02-01), pages 105 - 108 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021190858A (ja) * 2020-05-29 2021-12-13 株式会社日立製作所 通信システム及び通信制御方法
JP7502083B2 (ja) 2020-05-29 2024-06-18 株式会社日立製作所 通信システム及び通信制御方法

Also Published As

Publication number Publication date
JPWO2015052867A1 (ja) 2017-03-09
US20160255011A1 (en) 2016-09-01
US10050895B2 (en) 2018-08-14

Similar Documents

Publication Publication Date Title
CN105264845B (zh) 数据传输控制节点、通信系统及数据传输管理方法
WO2015052867A1 (ja) 端末装置、端末装置制御方法および端末装置制御プログラム
US9705694B2 (en) Extension of Wi-Fi services multicast to a subnet across a Wi-Fi network using software-defined networking (SDN) to centrally control data plane behavior
US10069647B2 (en) Intelligent bridging of Wi-Fi flows in a software defined network (SDN)
WO2014119715A1 (ja) 通信端末、通信方法、プログラム、通信システムおよび情報処理装置
JP2014502796A (ja) 通信システム、制御装置、ノードの制御方法およびプログラム
US20150043574A1 (en) Communication apparatus, control apparatus, communication system, communication control method, communication terminal and program
JP6011619B2 (ja) 移動通信端末、通信方法、通信システムおよび制御装置
CN104320347A (zh) 一种主动更新lldp的方法及设备
JPWO2012081721A1 (ja) 通信システム、ノード、パケット転送方法およびプログラム
US20140376394A1 (en) Communication apparatus, control apparatus, communication system, communication control method, and computer program
JP6394606B2 (ja) 端末装置、端末装置制御方法および端末装置制御プログラム
US9942823B2 (en) Communication terminal, communication method, and communication program
US10341453B2 (en) Facilitating in-network content caching with a centrally coordinated data plane
US20150281091A1 (en) Control apparatus, node, communication system, communication method, and program
US20140233381A1 (en) Communication apparatus, control apparatus, communication system, communication control method, and program
US20140226486A1 (en) Communication Apparatus, Communication System, Communication Control Method, and Computer Program
EP3404550B1 (en) Server device, communication system, and communication program
WO2015052870A1 (ja) 端末装置、端末装置制御方法、および端末装置制御プログラム
US20170019845A1 (en) Communication terminal, communication method, and program-containing storage medium
Venmani et al. Substitution networks based on software defined networking
US20140233392A1 (en) Communication apparatus, communication system, communication control method, and program
US20180006944A1 (en) Processing data flows based on information provided via beacons
WO2015052869A1 (ja) 端末装置、端末装置制御方法、および端末装置制御プログラム
JP6164223B2 (ja) 通信システム、制御装置、通信装置、課金サーバ、通信方法およびプログラム

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: 14852754

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2015541421

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 15027673

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14852754

Country of ref document: EP

Kind code of ref document: A1