The present invention is based upon and claims the benefit of the priority of Japanese Patent Application No. 2012-102577, filed on Apr. 27, 2012, the disclosure of which is incorporated herein in its entirety by reference thereto.
The present invention relates to a communication apparatus, a communication method, a communication system, a control apparatus and a program, and in particular to a communication apparatus, a communication method, a communication system, a control apparatus and a program, which perform communication by at least one of a plurality of communication schemes.
In recent years, it has become possible for mobile terminals to connect to a plurality of types of RAT (Radio Access Technology). For example, a mobile terminal can connect to a plurality of RATs such as 3GPP (Third Generation Partnership Project) access including UTRAN (UMTS Terrestrial Radio Access Network) and LTE (Long Term Evolution), and WLAN (Wireless Local Area Network) including 802.11g and 802.11n, or the like.
Patent Literature PTL 1 (Japanese Translation of PCT International Publication, Publication No. 2011-524686) discloses an apparatus that decides which access network to use, among a plurality of access networks (namely, a plurality of RATs).
Patent Literature PTL 2 (Japanese Patent Kokai Publication No. 2011-217174) discloses technology for connecting to a dedicated network from a terminal connected to the Internet.
Japanese Patent Kohyo Publication No. JP2011-524686A
Japanese Patent Kokai Publication No. JP2011-217174A
The entire disclosures of the above Patent Literatures PTL 1 and PTL 2 are incorporated herein by reference thereto. The following analyses are given by the present invention. The above Patent Literature PTL 1 and PTL 2 do not disclose how a communication terminal handles a case where a plurality of communication addresses from a plurality of RATs are assigned to the communication terminal.
In a case of communicating with a plurality of RATs, it is assumed that with regard to a communication apparatus (such as a communication terminal), a plurality of communication addresses are assigned from the plurality of RATs. In the case where a plurality of communication addresses are assigned, if the communication apparatus does not handle the determination of an address to be used, among the plurality of communication addresses, there is a possibility of a failure occurring in communication.
According to a first aspect of the present invention, there is provided a communication apparatus, comprising: communication means (unit) that communicates with a network by at least one of a plurality of communication schemes; and control means (unit) that disguises a first communication address corresponding to a first communication scheme, by a second communication address corresponding to a second communication scheme, based on an instruction transmitted from a control apparatus.
According to a second aspect of the present invention, there is provided a communication method, the method comprising:
using a communication apparatus that communicates with a network by at least one of a plurality of communication schemes;
disguising a first communication address corresponding to a first communication scheme, by a second communication address corresponding to a second communication scheme, based on an instruction transmitted from a control apparatus; and
communicating using the disguised communication address.
According to a third aspect of the present invention, there is provided a communication system, the system comprising:
at least one communication apparatus; and
a control apparatus that controls packet processing by the communication apparatus; wherein
the communication apparatus comprises:
communication means (unit) that communicates with a network by at least one of a plurality of communication schemes; and
control means (unit) that disguises a first communication address corresponding to a first communication scheme, by a second communication address corresponding to a second communication scheme, based on an instruction transmitted from the control apparatus.
According to a fourth aspect of the present invention, there is provided a control apparatus, the control apparatus comprising:
means (unit) that communicates with a communication apparatus that uses at least one of a plurality of communication schemes; and
means (unit) that transmits to the communication apparatus an instruction to disguise a first communication address corresponding to a first communication scheme, by a second communication address corresponding to a second communication scheme.
According to a fifth aspect of the present invention, there is provided a communication method, the method comprising:
communicating with a communication apparatus that uses at least one of a plurality of communication schemes; and
transmitting to the communication apparatus an instruction to disguise a first communication address corresponding to a first communication scheme, by a second communication address corresponding to a second communication scheme.
According to a sixth aspect of the present invention, there is provided a program, the program causing a communication apparatus that communicates with a network by at least one of a plurality of communication schemes to execute:
disguising a first communication address corresponding to a first communication scheme, by a second communication address corresponding to a second communication scheme, based on an instruction transmitted from a control apparatus.
There is also provided a non-transitory computer-readable recording medium storing the program.
A communication apparatus of the present invention, with regard to a plurality of communication addresses being assigned from a plurality of RATs, can perform communication with a network without being aware of which address should be used.
The communication apparatus 1 can communicate with a plurality of RATs (communication schemes). The communication apparatus 1 is connected with any of the RATs (RAT 4-1, RAT 4-2, RAT 4-3, RAT 4-4) shown as examples in
The communication apparatus 1 is an apparatus having a communication function such as, for example, a mobile telephone, a personal computer, a network switch, a router, a mobile router, or the like. It is to be noted that the mobile router, for example, is a terminal to relay a mobile telephone 3G line or a wireless LAN network.
RAT 4 is an access network for the communication apparatus 1 to connect with the network 3. It is to be noted that RAT 4 includes access networks such as, for example, a UTRAN network, an LTE network, a WLAN network, WiMAX (Worldwide Interoperability for Microwave Access), and the like.
The communication apparatus 1 establishes a link with RAT 4-1, and obtains a communication address (address (A)) corresponding to RAT 4-1, from RAT 4-1. The communication apparatus 1 executes communication by data packets with a communication partner (a), using the obtained communication address.
In a case where a link is established with RAT 4-2 while maintaining a link with RAT 4-1, the communication apparatus 1 obtains a communication address (address (B)) from RAT 4-2. As a result, the communication apparatus 1 obtains a plurality of communication addresses (address (A) and address (B)) from a plurality of RATs.
In a case of obtaining a plurality of communication addresses, for example, there is a possibility of it not being clear which of the plurality of communication addresses an application operating in the communication apparatus 1 should use.
The communication apparatus 1 is provided with a function to enable communication without determining which of the plurality of communication addresses should be used.
The communication apparatus 1 includes a control unit 11 and communication interfaces 10.
A communication interface 10, for example, is an antenna or the like. The respective communication interfaces 10 correspond to at least one of the plurality of RATs. For example, a communication interface 10 corresponds to a certain RAT (for example, an UTRAN), and the communication apparatus 1 connects with a certain RAT (for example, an UTRAN) via the communication interface 10 in question.
Furthermore, for example, a communication interface 10 corresponds to a plurality of RATs (for example, RATs 4-2 and 4-3), and the communication apparatus 1 connects with any of the corresponding plurality of RATs via the communication interface 10 in question. In this case, the communication apparatus 1 may have a configuration having a single communication interface 10.
The control unit 11 disguises a communication address corresponding to a certain communication scheme, based on an instruction from the control apparatus 2, by a communication address corresponding to another communication scheme. The control unit 11 communicates with the control apparatus 2 and receives an instruction related to the disguise of the communication address.
The control unit 11 communicates with the control apparatus 2 via a communication interface. The control unit 11, for example, refers to a network address of the control apparatus 2 that is set in advance in the communication apparatus 1, and communicates with the control apparatus 2. When the communication apparatus 1 connects with a RAT with which it is attempting to establish a link at startup or the like, being a communication line of a network operator to which the communication apparatus 1 is subscribed, the control unit 11 may obtain an address of the control apparatus 2 from the network side. For example, when a request to generate a logical channel (for example, a bearer) is made to a wireless station of a RAT for which a link is established, the control unit 11 also requests an address (IP (Internet Protocol) address or the like) of the control apparatus 2. The control unit 11 may access the control apparatus 2 using a prescribed URL (Uniform Resource Locator), and may establish a VPN (Virtual Private Network) with the control apparatus 2. It is to be noted that a method by which the control unit 11 communicates with the control apparatus 2 is not limited to the method described above.
The communication apparatus 1 obtains a communication address (A) from the RAT 4-1, and obtains a communication address (B) from RAT 4-2.
An application running on the communication apparatus 1 uses the communication address (A) to attempt communication with a communication partner in the network. The control unit 11 is instructed by the control apparatus 2 to communicate via the RAT 4-2.
The control unit 11 disguises a communication address (A) by a communication address (B) corresponding to a RAT used in communication, based on an instruction from the control apparatus 2. Since the control unit 11 disguises the address, the communication partner recognizes the address of the communication apparatus 1 as if it were the communication address (B).
Since the control unit 11 disguises an address based on an instruction of the control apparatus 2, an application running on the communication apparatus 1 can commence communication by an arbitrary communication address, among a plurality of communication addresses set in the communication apparatus 1. That is, the application need not determine a communication address used in communication. Accordingly, a maker of an application operated by the communication apparatus 1 need not add to the application a function for handling a case where a plurality of communication addresses are assigned to the communication apparatus 1.
In a case where a communication address used by an application does not corresponding to a RAT used by the communication apparatus 1 in communication, if there is no function corresponding to the control unit 11, there is a possibility of a failure occurring in communication. However, by the communication address being disguised by the control unit 11, even in a case where a communication address used by an application does not correspond to a RAT used by the communication apparatus 1 in communication, the communication apparatus 1 is able to perform communication.
Since the address of the communication apparatus 1 is recognized as a communication address (B), as shown in
The control unit 11 releases the disguise of the communication with the communication address (B). That is, the control unit 11 delivers the communication with the destination of the communication address (B) delivered from the communication partner to the application, as a communication with a destination of the communication address (A).
It is to be noted that the control unit 11 can also be configured by a software application. For example, the communication apparatus may download a software application having a function corresponding to the control unit 11, from a server on the network. The server that delivers the software application to the communication apparatus 1, for example, is provided with a function to communicate with the communication apparatus 1 via the network 3 of the communication system shown in
The control unit 11 may have a function to enable communication with the control apparatus 2, without disguising the communication address. For example, the control unit 11 is provided with a function to select a communication address corresponding to a RAT used in communication with the control apparatus 2. The RAT used in communication with the control apparatus 2 may be set in advance in the control unit 11.
The communication apparatus 1 obtains a plurality of communication addresses from a plurality of RATs, in a sequence the same as the operation example shown in
The control apparatus 2 determines a RAT to be used by the communication apparatus 1. The control apparatus 2 transmits an instruction indicating that a communication address is to be disguised, based on the determined RAT, to the communication apparatus 1. For example, the control apparatus 2 instructs the communication apparatus 1 to disguise the communication address to be used by an application, with a communication address corresponding to the determined RAT.
It is to be noted that timing at which the control apparatus 2 transmits an instruction to the communication apparatus 1 may be arbitrary. For example, the instruction may be transmitted in advance, before the communication apparatus 1 commences communication. For example, a request may be made for the instruction to the control apparatus 2 when the communication apparatus 1 commences communication, and the control apparatus 2 may transmit the instruction in response to the request.
The control unit 11 disguises a communication address, making reference to the instruction of the control apparatus 2, and communicates with a communication partner.
A system configuration example of a second exemplary embodiment is similar to
The control apparatus 2 includes a communication unit 20, a control unit 21, and a management DB (Database) 23.
The communication unit 20 has a function for communicating with the communication apparatus 1. The control apparatus 2 transmits an instruction related to disguising a communication address to the communication apparatus 1, via the communication unit 20.
The control unit 21 makes reference to the management DB 23 and generates an instruction related to disguising a communication address. The control unit 21 builds a database of the management DB 23, based on information notified from the communication apparatus 1.
The management DB 23 manages information notified by respective communication apparatuss 1, for each communication apparatus 1. The management DB 23 distinguishes a communication apparatus according to an ID of the communication apparatus 1. The ID of the communication apparatus 1, for example, is an IMSI (International Mobile Subscriber Identity) or the like.
The control unit 21 makes reference to the management DB 23 and generates an instruction related to a RAT (communication scheme) used by the communication apparatus 1, and to disguising a communication address. The control unit 21, for example, determines the RAT to be used by the communication apparatus 1, from a RAT for which a link is established. The control unit 21, for example, uses a communication address corresponding to the determined RAT to generate an instruction to disguise a communication address generated by the communication apparatus 1.
In a third exemplary embodiment, a control unit 11 of a communication apparatus carries out disguising with a communication address, by an instruction determined by the abovementioned control apparatus based on a status of the communication apparatus, which changes with movement of the communication apparatus.
A system configuration of the third exemplary embodiment is similar to
The monitor unit 111 monitors status that changes in accordance with movement of the communication apparatus 1A. The status which changes in accordance with movement is, for example, the location of the communication apparatus 1A, a RAT that can be used by the communication apparatus 1A, the radio wave reception intensity of each communication interface, or the like.
The monitor unit 111, for example, searches for a RAT 4 that can be used in the vicinity of the communication apparatus 1A, via the respective communication interfaces 10. The monitor unit 111, for example, searches for a useable RAT 4, via all of the communication interfaces 10. The monitor unit 111 may search for a useable RAT 4 via an interface that is running, among a plurality of communication interfaces. The monitor unit 111, for example, searches for a useable RAT 4 based on radio wave conditions corresponding to respective RATs 4.
The monitor unit 111 may measure information related to the location of the communication apparatus 1A, or information related to radio wave conditions such as the radio wave reception intensity or the like, via a communication interface 10. The information related to the location of the communication apparatus 1A is, for example, GPS (Global Positioning System) information, cell ID (ID of a cell corresponding to a cover area of a wireless base station), or the like.
The notification unit 112 gives notification of information (referred to below as status information) related to status of the communication apparatus 1A, monitored by the monitor unit 111, to the control apparatus 2A. The notification unit 112 gives notification of the status information to the control apparatus 2A by a communication interface 10 corresponding to a RAT for which the communication apparatus 1A establishes a link. The notification unit 112 may give notification of an identifier of the communication apparatus 1A together with the status information, to the control apparatus 2A.
It is to be noted that the notification unit 112 may have a function to enable communication with the control apparatus 2A, without disguising a communication address. For example, the notification unit 112 is provided with a function to select a communication address corresponding to a RAT used in communication with the control apparatus 2A. The RAT used in communication with the control apparatus 2A may be set in advance in the notification unit 112.
The notification unit 112, for example, notifies the control apparatus 2A of an identifier of a detected RAT or information related to radio wave conditions such as the reception field intensity, as status information. The RAT identifier is, for example, a SSID (Service Set Identifier) or a PLMN (Public Land Mobile Network) identifier. The notification unit 112 may give notification of information related to the location of the communication apparatus 1A to the control apparatus 2A as status information. The information related to the location of the communication apparatus 1A is, for example, GPS information, cell ID (ID of a cell corresponding to a cover area of a wireless base station), or the like.
The control apparatus 2A determines a RAT to be used by the communication apparatus 1A, based on the status information notified by the communication apparatus 1A. The control apparatus 2A transmits an instruction to disguise a communication address, to the communication apparatus 1A, according to a communication address corresponding to the determined RAT.
The control apparatus 2A may determine a RAT to which the communication apparatus 1A is connected, and may identify a connection apparatus (for example, a WiFi access point) in order to connect with the RAT. The control apparatus 2A may instruct a communication apparatus 1A to connect with a specified connection apparatus. The control apparatus 2A, for example, gives notification of an SSID of a WiFi access point to the communication apparatus 1A, and instructs that a connection be made to the access point of the SSID in question.
The monitor unit 111 monitors the state of the communication apparatus 1A at prescribed timing. For example, the monitor unit 111 monitors the state of the communication apparatus 1A at a prescribed period. The monitor unit 111 may monitor the state of the communication apparatus 1A when instructed to do so by the control unit 11.
The monitor unit 111 may monitor the amount of movement of the communication apparatus 1A at regular intervals, and may monitor the status of a useable RAT or the like, only in a case where the amount of movement is greater than or equal to a prescribed threshold. If a monitoring operation such as scanning RAT information and the like is performed frequently, power consumption of the communication apparatus 1A increases. However, in a case where the amount of movement of the communication apparatus 1A is small, since the probability that the state of the communication apparatus 1A has changed is low, there is little need to frequently execute a monitoring operation. Therefore, it is possible to curtail the power consumption of the communication apparatus 1A by controlling the period and frequency of the monitor operation in accordance with the amount of movement of the communication apparatus 1A.
The communication unit 20 communicates with the communication apparatus 1A. The communication unit 20, for example, receives status information transmitted from the communication apparatus 1A. The communication unit 20 transmits an instruction generated based on a RAT determined based on the received status information, to the communication apparatus 1A.
The control unit 21 makes reference to the policy DB 22 to determine the RAT. That is, the control unit 21 makes reference to the status information received from the communication apparatus 1A, to determine the RAT to which the communication apparatus 1A connects.
In
The control unit 21 makes reference to the status information received from the communication apparatus 1A and the policy DB 22, to determine a RAT to which the communication apparatus 1A connects. The status information includes, for example, an identifier of a RAT detected by the communication apparatus 1A. The identifier of the RAT, for example, is a PLMN (Public Land Mobile Network) identifier, which is identifier information of a UTRAN or the like.
The control unit 21, for example, searches for data corresponding to the identifier of the communication apparatus 1A that transmits status information, from the policy DB 22. The control unit 21 compares the identifier of the RAT included in the received status information and the identifier specified in a selection rule of the policy DB 22. In a case where an identifier included in the status information matches an identifier specified as a selection rule, the control unit 21 determines a RAT corresponding to the matching identifier as the RAT to which the communication apparatus 1A connects. In the example of
In a case where the status information includes information related to a radio wave condition such as field intensity or the like, the control unit 21 refers to the information to determine a RAT. In a case where an identifier included in the status information matches an identifier specified in a selection rule, for example, the control unit 21 selects an identifier with a good radio wave condition, among matching identifiers.
The policy DB 22 may have priorities.
In a case where the status information received from the communication apparatus 1A includes information related to a plurality of RATs, the control unit 21, for example, refers to priorities for each RAT to select a RAT of high priority.
In a case where the status information includes a plurality of identifiers for a certain RAT, the control unit 21, for example, refers to priorities for selection rules, and selects an access network corresponding to an identifier of high priority.
In the example of
The control unit 21 may select a RAT according to type of communication flow.
A communication flow, for example, indicates a communication matching a prescribed condition. For example, a sequence of packets transmitted from a certain transmission source A to a certain destination B belongs to the same communication flow.
With regard to the policy DB 22, a RAT that is a candidate for selection is specified for each type of communication flow. It is to be noted that the policy DB 22 may specify a plurality of RATs that are selection candidates for respective types of communication flow, and may hold priorities for respective RATs.
In the example of
The control unit 21 may select a RAT based on location information of the communication apparatus 1A.
The location information of
In the example of
For example, a WiFi access point is arranged at a prescribed location for each network operator. Therefore, by obtaining information related to the access point arrangement from the network operator in advance, the control apparatus 2A can recognize a correspondence relationship between the location information and a RAT corresponding to the access point. The communication apparatus 1A can use an access point of a network operator to which it is subscribed. Accordingly, by referring to information of the subscription between the communication apparatus 1A and the network operator, and the arrangement of the access point of the network operator, the control apparatus 2A can recognize a correspondence relationship between the location information and the useable RAT, and can build the policy DB 22 shown in
The control unit 21 makes reference to the policy DB 22, to identify a RAT corresponding to location information received from the communication apparatus 1A. The control unit 21 determines a RAT to which the communication apparatus 1A connects, from the RAT identified based on the location information. The control unit 21, for example, may determine a RAT by a method described with reference to
The control unit 21 can determine the RAT to which the communication apparatus 1A connects, by any method described with reference to
As described above, by the control apparatus 2A determining a RAT to which the communication apparatus 1A connects based on the policy DB 22, it is possible to easily select a RAT according to access environment of the communication apparatus 1A.
By the control apparatus 2A switching the RAT to which the communication apparatus 1A connects in accordance with a communication flow, it is possible to control the network traffic of the communication apparatus 1A by the network operator. By the network operator switching the RAT to which the communication apparatus 1A connects, it is possible to disperse the network traffic of the communication apparatus 1A to a plurality of RATs. In this way, the network operator can disperse communication volume which is continually increasing in recent years.
The system of
Configurations of a communication apparatus and a control apparatus are different from the exemplary embodiments described above. In the fourth exemplary embodiment, the communication apparatus and the control apparatus are respectively described as the communication apparatus 1B and the control apparatus 2B.
The communication apparatus 1B communicates with a server apparatus 5.
The fourth exemplary embodiment shows an example in which the present invention is implemented by improving technology known as OpenFlow, which is centrally controlled network architecture.
Referring to
OpenFlow recognizes communication as end-to-end flow, and executes path control, failure recovery, load balancing and the like on a per-flow basis.
The OpenFlow switch 600 communicates with the OpenFlow controller 700 via a secure channel 701 set between the OpenFlow controller 700 and the OpenFlow switch 600. The OpenFlow controller 700 performs setting of a flow table 601 of the OpenFlow switch 600, via the secure channel 701. It is to be noted that the secure channel 701 is a communication path disposed in order to prevent wiretapping or falsification of communication between the OpenFlow switch 600 and the OpenFlow controller 700.
On receiving a packet, the OpenFlow switch 600 makes reference to the flow table 601. The OpenFlow switch 600 searches for a flow entry that matches header information of a received packet. In a case where an entry that matches header information of the received packet is retrieved, the OpenFlow switch 600 processes the received packet in accordance with a processing method defined in an action field of the retrieved entry. The processing method, for example, defines “forward a received packet from a prescribed port,” “drop a received packet,” or “rewrite part of the header of a received packet and forward from a prescribed port.”
On the other hand, in a case where an entry matching the header information of the received packet is not found, the OpenFlow switch 600, for example, forwards the received packet to the OpenFlow controller 700 via the secure channel 701. By forwarding the received packet, the OpenFlow switch 600 makes a request for setting of a flow entry prescribing a processing method for the received packet, to the Open Flow controller 700. It is to be noted that in a case where the received packet matches an entry prescribing that a request be made for setting of a flow entry to the OpenFlow controller 700, the OpenFlow switch 600 may make a request for setting of the flow entry to the OpenFlow controller 700.
The OpenFlow controller 700 determines a processing method for the received packet, and sets a flow entry including the determined processing method in the flow table 601. Thereafter, the OpenFlow switch 600 processes subsequent packets belonging to the same flow as the received packet by the flow entry that has been set.
A packet forwarding function unit 103 includes a part of the functionality corresponding to the OpenFlow switch 600. The packet forwarding function unit 103 has a plurality of port units 104. In an example of
In the communication apparatus 1B, a plurality of applications (application unit 101 #1-#N) are running. The applications generate packets, and communicate with the network 3 via a RAT (the LTE network 6 or the WLAN network 7)
When an application transmits a packet to the network 3, the packet is processed by a protocol stack unit 102 (for example, a protocol stack of an OSI (Open Systems Interconnection) reference model or the like), and formed into a packet with a prescribed protocol stack attached. The packet is transmitted from a communication interface 105 via the packet forwarding function unit 103.
The communication apparatus 1B obtains a plurality of respective corresponding IP addresses from the plurality of RATs (for example, the LTE network 6 and the WLAN network 7). The IP address corresponding to the LTE network 6 is IP address (LTE), and the IP address corresponding to the WLAN network 7 is IP address (WLAN).
The application unit 101 and the protocol stack unit 102 generate packets using an arbitrary IP address, among a plurality of IP addresses assigned to the communication apparatus 1B. For example, the application unit 101 and the protocol stack unit 102 generate packets using a first recognized address among the plurality of IP addresses.
The packet forwarding function unit 103 transmits packets from the port unit 104, in accordance with a packet processing rule (for example, a flow entry) set by the control apparatus 2B. Packets forwarded by the port unit 104 are transmitted via any of the communication interfaces 105, to an access network of a RAT corresponding to the interface in question. A packet received from the access network of the RAT by the communication interface 105 is sent to an application via the port unit 103.
The packet forwarding function unit 103 is provided with a function for disguising an IP address used by the application unit 101 and the protocol stack unit 102, by another IP address corresponding to a RAT used by the communication apparatus 1B, in accordance with a packet processing rule set by the control apparatus 2B. The packet forwarding function unit 103 is provided with a function for releasing the disguise of a packet transmitted to the communication apparatus 1B, using an IP address corresponding to the RAT used by the communication apparatus 1B. In a case where the application unit 101 and the protocol stack unit 102 use an IP address corresponding to the RAT used by the communication apparatus 1B, the packet forwarding function unit 103 need not disguise the IP address of the packet.
The communication unit 130 communicates with the control apparatus 2B. The communication unit 130, for example, sets a secure channel 701 between itself and the control apparatus 2B, in order that the packet forwarding function unit 103 receives a packet processing rule transmitted from the control apparatus 2B. The control unit 130, for example, makes a request for a packet processing rule to the control apparatus 2B, via the secure channel 701 that has been set.
The communication unit 130 delivers the packet processing rule received from the control apparatus 2B to the processing rule management unit 134. The processing rule management unit 134 stores the packet processing rule received from the control apparatus 2B in a processing rule DB 135.
A processing unit 131 executes processing such as packet forwarding or rewriting of a packet header portion, in accordance with a packet processing rule set by the control apparatus 2B. A retrieval unit 136 retrieves a packet processing rule matching a packet, among packet processing rules stored in the processing rule DB 135. The retrieval unit 136, for example, collates packet content and a matching rule of the packet processing rule, and retrieves a processing rule including the matching rule that matches the packet content. In a case where a processing rule matching the packet is not stored in the processing rule DB 135, the retrieval unit 136, for example, notifies the communication unit 130 and the communication unit 130 makes a request for a packet processing rule to the control apparatus 2B. It is to be noted that a configuration of the packet processing rule may be the same as the configuration shown in
An action execution unit 137 processes the packet in accordance with a processing rule specified in the packet processing rule retrieved by the retrieval unit 136. For example, the action execution unit 137 executes processing in which the packet is forwarded from a prescribed port unit 104, processing in which the packet content is rewritten, or the like.
The action execution unit 137 disguises an IP address in accordance with a packet processing rule. That is, the action execution unit 137 disguises the IP address of a communication flow corresponding to a packet processing rule retrieved by the retrieval unit 136.
An IF (Interface) management unit 132 manages information related to a communication interface 105, using an IP management DB 133. The IF management DB 133, for example, has a database as exemplified in
In a case where a correspondence relationship between the communication interface 105 and the port unit 104 is changed, the IF management unit 132 updates the IF management DB 133.
The IF management unit 132 gives notification of at least some of the information managed by the IF management DB 133 to the control apparatus 2B, via the communication unit 130. The control apparatus 2B recognizes the state of the communication apparatus 1B, by receiving this information. In a case of receiving a request from the control apparatus 2B, for example, the IF management unit 132 gives notification of this information.
In a case where the communication interface used is switched in accordance with an instruction from the control apparatus 2B, the IF management unit 132 changes the port unit used by the packet forwarding function unit 103. In a case where the port unit used by the packet forwarding function unit 103 is changed accompanying switching of the communication interface, the IF management unit 132 updates the IF management DB 133. It is to be noted that the IF management DB 133 may manage a correspondence relationship between a contact point (for example, an access point) of a RAT to which the communication interface is connected, and the port unit.
The OpenFlow technology described above has a function (Port Status) by which the state of a port of a switch is notified to a controller, and a function (Feature Request/Reply) by which a feature of a switch is notified to the controller. The IF management unit 132 may use these functions when giving notification of information to the control apparatus 2B.
The communication apparatus 1B may be provided with a function for downloading a software module having a function equivalent to the packet forwarding function unit 103. The communication apparatus 1B may use the downloaded software module as the packet forwarding function unit 103.
The processing rule DB 208 stores a packet processing rule for setting in the communication apparatus 1B. It is to be noted that a configuration of the packet processing rule may be the same as the configuration shown in
A node communication unit 201 communicates with the communication apparatus 1B. The node communication unit 201 forwards information received from the communication apparatus 1B to a packet forwarding function management unit 209.
The packet forwarding function management unit 209 manages information (for example, the information exemplified in
The packet forwarding function management unit 209 manages information notified by communication apparatus for each communication apparatus 1B. The packet forwarding function management unit 209, for example, manages information by a database as exemplified in
A calculation unit 203 determines packet processing to be executed in a packet forwarding path and a switch in the forwarding path, based on network topology. That is, the calculation unit 203 calculates a packet forwarding path, and determines a packet processing rule corresponding to the forwarding path.
The calculation unit 203 refers to information managed by the packet forwarding function management unit 209 and determines a processing rule for disguising an IP address. The calculation unit 203, for example, transmits a packet processing rule as exemplified in
The DB management unit 207 records the packet processing rule determined by the calculation unit 203 in the processing rule DB 208. The DB management unit 207 transmits a packet processing rule to the communication apparatus 1B, in response to a request for a packet processing rule being transmitted from the communication apparatus 1B.
A control message processing unit 202 analyzes a control message (for example, a request to set a packet processing rule, or the like) received from the communication apparatus 1B, and performs processing corresponding to the control message. The control message processing unit 202 generates a message (for example, a message for setting a packet processing rule, or the like) to be transmitted to the communication apparatus 1B.
The communication apparatus 1B establishes links with each of the LTE network 6 and the WLAN network 7. The communication apparatus 1B obtains IP addresses from each of the LTE network 6 and the WLAN network 7.
The packet forwarding function unit 103 sets a control channel between itself and the control apparatus 2B, via any RAT in which a link is established. The packet forwarding function unit 103 communicates with the control apparatus 2B, via the control channel. The control channel, for example, is the secure channel 701 of the OpenFlow technology described above.
The control apparatus 2B makes a request to the communication apparatus 1B for transmission of information related to a feature of the communication apparatus 1B, via the control channel (Feature Request).
The packet forwarding function unit 103 gives notification of information to the control apparatus 2B, in response to the request from the control apparatus 2B. The packet forwarding function unit 103 may notify the control apparatus 2B of information exemplified in
In a case of receiving a packet for which a corresponding processing rule is unknown, or a case of receiving a packet corresponding to a processing rule prescribing an enquiry to the control apparatus, the packet forwarding function unit 203 makes a request for a packet processing rule to the control apparatus 2B, at a prescribed timing.
The control apparatus 2B determines a packet processing rule in response to the request from the packet forwarding function unit 203 and transmits the packet processing rule to the communication apparatus 1B. The control apparatus 2B determines a RAT to be used by the communication apparatus 1B. The control apparatus 2B makes reference to information (an IP address assigned to the communication apparatus 1B) notified by the packet forwarding function unit 203, and notifies the packet forwarding function unit 203 of an instruction to disguise an address corresponding to a RAT to be used by the communication apparatus 1B.
The communication apparatus 1B communicates with a server apparatus 5 that is a communication partner, based on the instruction transmitted from the control apparatus 2B.
In the fifth exemplary embodiment, a network 3 includes a packet forwarding apparatus 4. The fifth exemplary embodiment is otherwise the same as the fourth exemplary embodiment.
The packet forwarding apparatus 4 releases a disguise of a packet transmitted from a communication apparatus 1B. By the packet forwarding apparatus 4 releasing the disguise, a communication address used by an application of the communication apparatus 1B and a communication address recognized as an identifier of the communication apparatus 1B by a communication partner are the same. Therefore, in the fifth exemplary embodiment, even where the communication apparatus 1B performs handover between different RATs, it is not necessary to change a communication address of the communication apparatus 1B, and it is possible to avoid a communication interruption (session disconnection) due to the handover.
The packet forwarding function management unit 209 of the control apparatus 2B manages information shown in
The control apparatus 2B generates an instruction to be transmitted to a packet forwarding function unit 103 and the packet forwarding apparatus 4 of the communication apparatus 1B, based on information managed by the packet forwarding function management unit 209.
The packet forwarding function management unit 209 manages the state of each port and a communication address (for example, a MAC address or an IP address) corresponding to each port, for each port number of the packet forwarding apparatus 4 and the communication apparatus 1B.
A calculation unit 203 of the control apparatus 2B transmits an instruction to disguise communication, to the communication apparatus 1B, based on information managed by the packet forwarding function management unit 209. The calculation unit 203 transmits an instruction to release the disguise by the communication apparatus 1B, based on information managed by the packet forwarding function management unit 209, to the packet forwarding apparatus 4.
Making reference to
The packet forwarding function unit 103 of the communication apparatus 1B disguises a communication address used as an identifier of the communication apparatus 1B, by a communication address instructed by the control apparatus 2B. In an example of
The packet forwarding function unit 103 converts the destination of a packet whose transmission source address is disguised, to an address of the packet forwarding apparatus 4. The packet forwarding function unit 103, for the packet whose destination address was converted, forwards a packet from a port unit 104 corresponding to a forwarding path to the packet forwarding apparatus 4.
The packet forwarding apparatus 4 that receives a packet from the communication apparatus 1B releases an address disguise. In an example of
The packet forwarding apparatus 4 converts the packet destination address to an address of a server apparatus 5. The packet forwarding apparatus 4 forwards the packet whose destination address was converted, from a port corresponding to a forwarding path to the server apparatus 5.
The server apparatus 5 that receives the packet via the packet forwarding apparatus 4, which was transmitted from the communication apparatus 1B, transmits a reply packet with a destination of the communication apparatus 1B. By the packet forwarding apparatus 4 releasing the packet disguise, the server apparatus 5 recognizes that the address of the communication apparatus 1B is an address (IP address (LTE)) for LTE, from the transmission source address of the received packet. Therefore, the server apparatus 5 sets the destination of the reply packet to an LTE address (IP address (LTE)) of the communication apparatus 1B.
It is to be noted that in the present exemplary embodiment, with regard to the network 3, a packet with a destination of the communication apparatus 1B is set so as to pass via the packet forwarding apparatus 4. Therefore, the reply packet transmitted by the server apparatus 5 goes via the packet forwarding apparatus 4.
The packet forwarding apparatus 4 receives the packet with a destination of the communication apparatus 1B, that was transmitted by the server apparatus 5. The destination of the packet is an LTE address of the communication apparatus 1B, and the transmission source is the server apparatus 5. Therefore, the packet forwarding apparatus 4 converts the destination address of the packet to a WLAN address of the communication apparatus 1B, in accordance with the example of
In a case of receiving a packet with a transmission source of the server apparatus 5, and a destination of a WLAN address of the communication apparatus 1B, the packet forwarding function unit 103 of the communication apparatus 1B converts the packet address in accordance with the example of
By the above operations, communication between the communication apparatus 1B and the server apparatus 5 is executed via the packet forwarding apparatus 4.
The entire disclosures of the above Patent Literatures are incorporated herein by reference thereto. Modifications and adjustments of the exemplary embodiment are possible within the scope of the overall disclosure (including the claims) of the present invention and based on the basic technical concept of the present invention. Various combinations and selections of various disclosed elements (including each element of each claim, each element of each exemplary embodiment, each element of each drawing, etc.) are possible within the scope of the claims of the present invention. That is, the present invention of course includes various variations and modifications that could be made by those skilled in the art according to the overall disclosure including the claims and the technical concept. Particularly, any numerical range disclosed herein should be interpreted that any intermediate values or subranges falling within the disclosed range are also concretely disclosed even without specific recital thereof.
Note that the term “means” used herein is interchangeable with the term “unit,” and vice versa. Note further that the singular form disclosed herein may also represent the plural form, as is relevant in the art, and particularly based on the priority text which is in Japanese language having inherently no difference between the singular form and the plural form.
Number | Date | Country | Kind |
---|---|---|---|
2012-102577 | Apr 2012 | JP | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/JP2013/002839 | 4/26/2013 | WO | 00 |