[go: up one dir, main page]

WO2015129727A1 - 通信端末、通信方法およびプログラム - Google Patents

通信端末、通信方法およびプログラム Download PDF

Info

Publication number
WO2015129727A1
WO2015129727A1 PCT/JP2015/055344 JP2015055344W WO2015129727A1 WO 2015129727 A1 WO2015129727 A1 WO 2015129727A1 JP 2015055344 W JP2015055344 W JP 2015055344W WO 2015129727 A1 WO2015129727 A1 WO 2015129727A1
Authority
WO
WIPO (PCT)
Prior art keywords
unit
communication
packet
name resolution
address
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/JP2015/055344
Other languages
English (en)
French (fr)
Inventor
貴裕 飯星
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2016505250A priority Critical patent/JPWO2015129727A1/ja
Publication of WO2015129727A1 publication Critical patent/WO2015129727A1/ja
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W48/00Access restriction; Network selection; Access point selection
    • H04W48/18Selecting a network or a communication service

Definitions

  • the present invention is based on the priority claim of Japanese patent application: Japanese Patent Application No. 2014-034784 (filed on Feb. 26, 2014), the entire contents of which are incorporated herein by reference. Shall.
  • the present invention relates to a communication terminal, a communication method, and a program, and more particularly, to a communication terminal that can be connected to a plurality of networks, and a communication method and program applied to the communication terminal.
  • Non-Patent Documents 1 to 3 describe a standard called ANDSF (Access Network Discovery and Selection Function).
  • Non-Patent Documents 1 and 2 describe a policy description method for specifying communication traffic using an application name, a domain name, and the like, and distributing the traffic to these wireless interfaces, and operations expected for a communication terminal to which the policy is given. Is described.
  • Patent Literature 1 a domain name and a policy included in a DNS (Domain Name Service) query are collated, and a DNS query is transmitted to a DNS server associated with the radio interface using a radio interface specified in the policy.
  • DNS Domain Name Service
  • Non-Patent Document 4 describes Android, which is an operating system (OS: Operating System) for communication terminals.
  • OS Operating System
  • a DNS resolver for setting a DNS server address for each process identifier (PID: Process : ID) of an application is installed.
  • the DNS resolver performs the setting by storing the character string including the PID and the address of the DNS server in the setting database in association with each other.
  • the setting database stores the DNS server address associated with each wireless interface.
  • Non-Patent Documents 5 and 6 describe OpenFlow (OpenFlow) that realizes a centralized control network. OpenFlow captures communication as an end-to-end flow and performs path control, failure recovery, load balancing, and optimization on a per-flow basis.
  • the OpenFlow switch (OFS: OpenFlow Switch) specified in Non-Patent Document 6 has a secure channel (Secure Channel) for communication with the OpenFlow controller (OFC) and is added or rewritten as appropriate from the OFC. Operates according to the specified flow table (Flow Table).
  • the OFS searches the flow table for an entry having a matching condition (see “5.3 Matching” in Non-Patent Document 6) that matches the header information of the received packet.
  • the OFS updates the flow statistical information (counter) and processes the processing contents (from the designated port) described in the instruction field of the entry for the received packet. Packet transmission, flooding, discarding, etc.).
  • OFS requests entry setting to OFC via the secure channel, that is, a control information transmission request for processing the received packet. (Packet-In message) is transmitted.
  • the OFS receives the flow entry in which the processing content is defined and updates the flow table. As described above, the OFS performs packet transfer using the entry stored in the flow table as control information.
  • the server address is obtained by name resolution using DNS (Domain Name Service).
  • DNS Domain Name Service
  • the DNS query is also assigned to the wireless interface using the DNS query source application or the domain name included in the DNS query. If it is not transmitted to the associated DNS server, inconvenience may occur.
  • the DNS server associated with the wireless LAN can resolve the name.
  • the server name cannot be resolved.
  • name resolution is performed by the DNS server associated with LTE to When communication traffic is distributed to the wireless LAN, the communication traffic becomes unreachable.
  • the DNS query is sent to the DNS server associated with the radio interface. It is necessary to realize a communication terminal for transmission. However, in order to realize such a communication terminal, greatly changing the DNS resolver mounted on an existing communication terminal is problematic from the viewpoint of mounting cost.
  • An object of the present invention is to provide a communication terminal, a communication method, and a program that contribute to solving the problem.
  • a communication terminal holds a plurality of communication interfaces, a data transmission / reception unit that transmits / receives data to / from a destination device, an identifier of the data transmission / reception unit, and the data transmission / reception unit in association with each other Generating a packet that includes information indicating the destination device and the identifier acquired by the name resolution unit, and a name resolution unit that acquires the identifier of the data transfer unit with reference to the setting storage unit
  • a communication interface to be used is determined from among the plurality of communication interfaces, using a communication software basic unit to perform, information indicating the destination device included in the packet, an identifier of the data transfer unit, and a predetermined policy
  • a control unit that identifies an address of a name resolution server corresponding to the determined communication interface, and a destination address of the packet
  • a communication processing unit for sending the packet via the communication interface, wherein the control unit decides as to change the address of the name resolution server control section is specified.
  • a communication terminal including a plurality of communication interfaces and a data transmission / reception unit that transmits / receives data to / from a destination device.
  • a packet that includes information indicating the destination device and includes the acquired identifier, a step of associating and storing the information in the setting storage unit, a step of acquiring the identifier of the data transfer unit with reference to the setting storage unit And a step of determining a communication interface to be used from among the plurality of communication interfaces using information indicating the destination device included in the packet, an identifier of the data transfer unit, and a predetermined policy Specifying the address of the name resolution server corresponding to the determined communication interface, and specifying the destination address of the packet. With changing the address of the name resolution server, and a step of sending the packet via the communication interface to the determined.
  • a program provides a data exchange unit for a computer provided in a communication terminal including a plurality of communication interfaces and a data exchange unit that transmits and receives data to and from a destination device.
  • the program can
  • the communication interface specified in the policy is used based on the application name of the name resolution request source, the domain name included in the name resolution request data, and the communication interface. It is possible to realize a technique for transmitting name resolution request data to the name resolution server associated with the URL without changing the existing name resolution unit.
  • FIG. 1 is a diagram illustrating a configuration of a communication system including a communication terminal 1 according to an embodiment.
  • FIG. 2 is a block diagram illustrating the configuration of the communication terminal 1.
  • the communication terminal 1 includes a plurality of communication interfaces 11a and 11b, data transfer units 12a and 12b, a setting storage unit 16, a name resolution unit 17, a communication software basic unit 13, a control unit 14, and a communication process. Part 15 is provided.
  • the data transfer unit 12a transmits and receives data to and from the destination device (for example, the server 4a in FIG. 1).
  • the setting storage unit 16 holds the identifiers (for example, addresses) of the data transfer units 12a and 12b and the data transfer units 12a and 12b in association with each other.
  • the name resolution unit 17 refers to the setting storage unit 16 and acquires the identifier of the data transfer unit 12a based on the request of the data transfer unit 12a.
  • the communication software basic unit 13 generates a packet including information indicating the destination device and including the identifier acquired by the name resolution unit 17 (for example, as a destination address).
  • the control unit 14 uses the information indicating the destination device included in the packet, the identifier of the data transfer unit, and a predetermined policy to use a communication interface (for example, a plurality of communication interfaces 11a and 11b).
  • 11a) is determined, and the address of the name resolution server (for example, 5a) corresponding to the determined communication interface 11a is specified.
  • the communication processing unit 15 changes the destination address of the packet to the address of the name resolution server 5a specified by the control unit 14, and sends the packet through the communication interface 11a determined by the control unit 14.
  • the control unit 14 refers to the setting storage unit 16 to identify the data transmission / reception unit 12a to which the identifier included in the packet is attached, and information indicating the identified data transmission / reception unit 12a and the destination device included in the packet.
  • a communication interface to be used (for example, the communication interface 11a corresponding to the wireless network 2a) may be determined from the plurality of communication interfaces 11a and 11b by collating with a predetermined policy (for example, FIG. 4).
  • the predetermined policy may include a correspondence between information indicating the data transmission / reception unit and the destination device and a communication interface to be used.
  • the setting storage unit 16 holds each communication interface in association with the address of the corresponding name resolution server (for example, FIG. 6), and the control unit 14 stores the name resolution server 5a corresponding to the determined communication interface 11a.
  • the address may be specified based on the setting storage unit 16.
  • the communication interface specified in the policy based on the application name of the name resolution request source is used, and the corresponding communication interface is associated.
  • Name resolution request data can be transmitted to the designated name resolution server.
  • a communication terminal connects to a plurality of wireless networks via a wireless communication interface.
  • the present invention is not limited to the case where the communication terminal accesses a plurality of wireless networks, but also when the communication terminal connects to a plurality of wired networks or to connect to a plurality of networks composed of a wireless network and a wired network. Can be applied as well.
  • FIG. 1 is a diagram illustrating a configuration of a communication system including a communication terminal 1 according to the present embodiment.
  • the server 4 provides a predetermined service by transmitting and receiving packets to and from the communication terminal 1 of the present embodiment.
  • the contents of the service provided by the server 4 are not particularly limited.
  • FIG. 1 illustrates a case where the communication system includes two servers 4a and 4b. However, the number of servers 4 is not limited to two. In addition, when it is not necessary to distinguish the servers 4a and 4b, they are referred to as “server 4”.
  • the server 4 may be connected to the wired network 3. In the present embodiment, a case where the server 4 is connected to the wireless network 2 will be described.
  • FIG. 1 is a diagram illustrating a configuration of a communication system including a communication terminal 1 according to the present embodiment.
  • the server 4 provides a predetermined service by transmitting and receiving packets to and from the communication terminal 1 of the present embodiment.
  • the contents of the service provided by the server 4 are not particularly limited
  • FIG. 1 shows a case where the server 4a is connected to the wireless network 2a and the server 4b is connected to the wireless network 2b.
  • the address of the server 4a when communicating with the server 4a via the wireless network 2a is different from the address of the server 4a when communicating with the server 4a via the wired network 3.
  • the communication terminal 1 is connected to a plurality of wireless networks 2 wirelessly.
  • FIG. 1 illustrates a case where the communication terminal 1 is connected to two wireless networks 2a and 2b.
  • the number of the wireless networks 2 connected to the communication terminal 1 is not particularly limited.
  • the radio networks 2a and 2b are referred to as “radio network 2”.
  • the wireless network 2 is directly or indirectly connected to the wired network 3.
  • the server 4 is directly or indirectly connected to the wired network 3.
  • FIG. 1 illustrates a case where the communication system includes two name resolution servers 5a and 5b. However, the number of name resolution servers 5 is not particularly limited. When it is not necessary to distinguish between the name resolution servers 5a and 5b, the name resolution server 5 is described.
  • the name resolution server 5 may be connected to the wired network 3. In the present embodiment, a case where the name resolution server 5 is connected to the wireless network 2 will be described.
  • FIG. 1 shows a case where the name resolution server 5a is connected to the wireless network 2a and the name resolution server 5b is connected to the wireless network 2b.
  • the communication terminal 1 is, for example, a mobile phone, a smartphone, a tablet terminal, a personal computer (PC: Personal Computer), or the like. However, the communication terminal 1 is not limited to these examples.
  • the wireless network 2 is, for example, a wireless LAN, UTRAN (Universal Terrestrial Radio Access Network), E-UTRAN (Evolved Universal Terrestrial Radio Access Network), or the like.
  • the wireless network 2 may be a wireless network other than these.
  • the wired network 3 is, for example, the Internet. However, the wired network 3 is not limited to the Internet.
  • the server 4 is, for example, a Web server. However, the server 4 is not limited to a Web server.
  • the name resolution server 5 is, for example, a DNS (Domain Name Service) server. However, the name resolution server 5 is not limited to a DNS server.
  • FIG. 2 is a block diagram illustrating the configuration of the communication terminal 1 of the present embodiment.
  • the communication terminal 1 includes a plurality of communication interfaces 11, a data exchange unit 12, a communication software basic unit 13, a control unit 14, a communication processing unit 15, a setting storage unit 16, and a name resolution unit 17. ing.
  • the communication interface 11 is connected to the communication processing unit 15.
  • the communication software basic unit 13 is connected to the data transfer unit 12, the communication processing unit 15, and the control unit 14.
  • the control unit 14 is connected to the communication processing unit 15 and the setting storage unit 16. Note that the control unit 14 and the communication processing unit 15 may not be directly connected. For example, the control unit 14 and the communication processing unit 15 may be connected via the communication software basic unit 13. In the present embodiment, a case where the control unit 14 and the communication processing unit 15 are directly connected will be described.
  • the name resolution unit 17 is connected to the data transfer unit 12, the communication software basic unit 13, and the setting storage unit 16. The name resolution unit 17 and the data transfer unit 12 may not be directly connected. For example, the name resolution unit 17 and the data transfer unit 12 may be connected via the communication software basic unit 13.
  • the communication interface 11 communicates with the outside via the wireless network 2.
  • One communication interface 11 corresponds to at least one wireless network 2.
  • the communication interface 11 outputs the packet input from the communication processing unit 15 to the wireless network 2.
  • the communication interface 11 sends a packet input from the wireless network 2 to the communication processing unit 15.
  • the communication terminal 1 includes two communication interfaces 11a and 11b, the communication interface 11a corresponds to the wireless network 2a, and the communication interface 11b corresponds to the wireless network 2b.
  • the communication interfaces 11a and 11b are referred to as “communication interface 11”.
  • the communication terminal 1 may include three or more communication interfaces 11.
  • the communication interface 11 is, for example, a wireless LAN module or a wireless modem module. However, the communication interface 11 is not limited to these examples.
  • the data exchanging unit 12 designates a communication protocol and a destination in the communication software basic unit 13, and exchanges data with the communication software basic unit 13.
  • the communication software basic unit 13 generates a packet based on this data.
  • the communication terminal 1 exchanges data with the server 4 by transmitting and receiving packets to and from the server 4.
  • the data transfer unit 12 instructs the communication software basic unit 13 to perform connection processing for transmitting and receiving packets to and from the server 4.
  • the data transfer unit 12 inputs name resolution request data including the name of the server 4 to the name resolution unit 17 and receives name resolution response data including the address of the server 4.
  • the address of the server 4 is acquired.
  • the communication terminal 1 will be described as including two data transfer units 12a and 12b.
  • the data transfer unit 12a is described as “data transfer unit 12”.
  • the communication terminal 1 may include three or more data transfer units 12.
  • the data transfer unit 12 is realized by a CPU (Central Processing Unit) of a computer that operates according to a program such as a Web browser, for example.
  • the communication terminal 1 may include a program storage device (not shown) that stores a program, and the CPU may read the program from the program storage device and operate as the data transfer unit 12 according to the program.
  • the program that causes the CPU to realize the function as the data transfer unit 12 is not limited to the Web browser, and may be another program.
  • the communication software basic unit 13 generates a packet based on the data input from the data transfer unit 12. In addition, when receiving the packet received from the server 4, the communication software basic unit 13 extracts data from the packet and sends it to the data transfer unit 12.
  • the communication software basic unit 13 When the communication software basic unit 13 receives data from the data sending / receiving unit 12, the communication software basic unit 13 determines a source address according to a communication transfer rule preset in the communication software basic unit 13. Further, the communication software basic unit 13 generates a packet including the transmission source address and the transmission destination address designated by the data transmission / reception unit 12 in the header based on the data input from the data transmission / reception unit 12. The communication software basic unit 13 sends the generated packet to the communication processing unit 15 according to the communication transfer rule. In the present embodiment, it is assumed that the default setting of the communication transfer rule specifies that the communication software basic unit 13 sends the generated packet to the communication processing unit 15.
  • the communication software basic unit 13 when the data transfer unit 12 instructs the communication software basic unit 13 to perform a connection process for transmitting / receiving a packet to / from the server 4, the communication software basic unit 13 includes a packet including the above-described transmission source address and transmission destination address in the header. The data is transmitted to the server 4 via the communication processing unit 15. The communication software basic unit 13 realizes a procedure for connection with the server 4 by transmitting this packet.
  • the communication software basic unit 13 is realized, for example, by a CPU of a computer that operates according to a TCP (Transmission Control Protocol) / IP (Internet Protocol) stack implemented in an operating system (OS) kernel.
  • the CPU may read a program (in the above example, a TCP / IP stack) from a program storage device (not shown) and operate as the communication software basic unit 13 according to the program.
  • the communication transfer rule set in the communication software basic unit 13 is, for example, IP routing setting. Further, as a protocol that requires connection processing with a destination, for example, TCP can be mentioned, but a protocol other than TCP may be used.
  • the control unit 14 sets a value having a one-to-one correspondence with each of the data transfer units 12 in the setting storage unit 16 and having an address form (for example, the same format as the address).
  • the control unit 14 uses the destination address and the name resolution request data included in the name resolution packet including the name resolution request data by the name resolution unit 17, and the requested data exchange unit 12 and the requested server. Specify the name of 4.
  • the control unit 14 collates the name and policy of the specified data transfer unit 12 and server 4, uses the communication interface 11 specified in the policy, and sends a name resolution request to the name resolution server associated with the communication interface 11. Decide to send data.
  • the control unit 14 stores the values A and B having the address form in the setting storage unit 16 in a one-to-one correspondence with the data transfer units 12a and 12b, for example.
  • FIG. 3 illustrates a table stored in the setting storage unit 16. This embodiment will be described using this example.
  • the values A and B do not have to match the address of the name resolution server 5, and may be, for example, fictitious addresses, but are values sent from the communication software basic unit 13 to the communication processing unit 15. .
  • the control unit 14 associates the data transmission / reception unit 12 with a value having an address form and stores it in the setting storage unit 16, the identifier of the data transmission / reception unit 12 and a value having an address form may be stored.
  • the identifier of the data exchange unit 12 is, for example, a process identifier (PID: Process Identifier), a user identifier (UID: User Identifier), a group identifier (GID: Group Identifier), a name, or the like.
  • PID Process Identifier
  • UID User Identifier
  • GID Group Identifier
  • the identifier of the data transfer unit 12 is not limited to these examples.
  • the control unit 14 monitors the activation of the data exchange unit 12, and every time the data exchange unit 12 is activated, A value having the identifier and address form of the sending / receiving unit 12 is stored in the setting storage unit 16.
  • the control unit 14 determines communication processing for the packet.
  • determining communication processing specifically means determining a functional block in the communication terminal 1 that is a packet destination, a packet header field to be rewritten, and a packet header value. To do.
  • the control unit 14 stores at least a policy for designating a data transfer unit, a server name, and a wireless network used in an internal storage area.
  • FIG. 4 illustrates a policy in the present embodiment.
  • a policy using the wireless network 2a for communication addressed to the server 4a by the data transfer unit 12a (referred to as "policy 1") and a communication addressed to the server 4b by the data transfer unit 12b.
  • the policy that uses the wireless network 2b (referred to as "policy 2”) is included.
  • a priority may be set for each policy. In the present embodiment, a case where priority is set will be described. In the case where the priority is not set for each policy, for example, the priority may be defined by the arrangement order of the policies.
  • a plurality of wireless networks may be designated as the wireless network to be used. When designating a plurality of wireless networks, any one of the wireless networks is selected. Wildcards may be specified in the data exchange section item and server name item.
  • the control unit 14 performs the following process when the name resolution unit 17 determines the communication process for the packet generated by transmitting the name resolution request data to the communication software basic unit 13.
  • the control unit 14 refers to the communication software basic unit 13 and acquires the address of the communication interface 11. Further, the control unit 14 refers to the information held in the setting storage unit 16 (for example, the table of FIG. 3), and identifies the data exchange unit 12 that is the name resolution request source from the destination address of the packet. Further, the control unit 14 refers to the setting storage unit 16 and acquires the address of the name resolution server 5. Further, the control unit 14 specifies the name of the requested server 4 from the packet. Further, the control unit 14 collates the identified data exchange unit 12 and the name of the server 4 with the policy, and determines a communication process for the packet.
  • the control unit 14 passes the name resolution unit 17 and the communication software basic unit 13, and the value A is sent to the destination address from the communication processing unit 15.
  • a name resolution request packet that is designated and requests an address by the name of the server 4a is accepted.
  • the control unit 14 refers to the information held in the setting storage unit 16 (FIG. 3), and identifies the name resolution request source as the data transfer unit 12a based on the value A specified in the destination address. Also, the control unit 14 refers to the packet and acquires the name of the server 4a. Further, the control unit 14 compares the names of the data transmission / reception unit 12a and the server 4a with the policy (FIG. 4) and determines that it matches the policy 1. Further, the control unit 14 acquires the address of the name resolution server 5 a corresponding to the communication interface 11 a with reference to the setting storage unit 16 based on the contents of the policy 1.
  • the control unit 14 rewrites the source address to the address of the communication interface 11a, rewrites the destination address to the address of the name resolution server 5a, and determines a process to output to the communication interface 11a. 15 is instructed to execute the communication process. At this time, the control unit 14 holds the source port number of the name resolution request packet and the value A or the identifier of the data transfer unit 12a.
  • FIG. 5 is a diagram illustrating a table held by the control unit 14.
  • FIG. 5A shows a table when the port numbers na and nb and the values A and B are held in association with each other.
  • FIG. 5B shows a table when the port numbers na and nb are associated with the identifiers of the data transfer units 12a and 12b.
  • the control unit 14 further refers to the information held in the setting storage unit 16 (FIG. 3), so that the value A is set. Can be acquired.
  • the control unit 14 receives a name resolution response packet from the communication processing unit 15 via the communication interface 11a.
  • the control unit 14 acquires the stored value A from the destination port number.
  • the control unit 14 rewrites the destination address with the address of the communication processing unit 15, rewrites the transmission source address with the value A, and determines a process to be output to the communication software basic unit 13. Is instructed to execute the communication process.
  • the control unit 14 is, for example, an open flow controller (OFC: OpenFlow Controller) in OpenFlow (Non-Patent Documents 5 and 6).
  • OFC OpenFlow Controller
  • the control unit 14 is not limited to the OFC.
  • the control unit 14 is realized by a CPU of a computer that operates according to a program, for example.
  • the CPU may read a program from a program storage device (not shown) and operate as the control unit 14 according to the program.
  • the communication processing unit 15 executes processing on the input packet based on zero or more communication processing rules set in the control unit 14 and the communication processing execution instruction from the control unit 14. For example, the communication processing unit 15 rewrites the header of the packet or transfers the packet to another functional block in the communication terminal 1. For the packet P input from the communication software basic unit 13, for example, the communication processing unit 15 rewrites the source address in the header with the address of the communication interface 11a according to the control of the control unit 14, and converts the packet P into the communication interface 11a. Send to.
  • the communication processing unit 15 rewrites, for example, the transmission destination address in the header with the address of the communication processing unit 15 according to the control by the control unit 14 with respect to the packet Q received by the communication interface 11, and the communication software basic unit 13 Send to.
  • the communication processing unit 15 14 for transfer.
  • the communication processing unit 15 is, for example, an open flow switch (OFS: OpenFlow Switch) in OpenFlow (Non-Patent Documents 5 and 6).
  • OFS OpenFlow Switch
  • the address of the communication processing unit 15 itself is attached to the local port (Local Port) of the OFS, or a virtual Ethernet (registered trademark) device connected to the OFS and the communication software basic unit 13 It is attached to.
  • the communication processing unit 15 is not limited to OFS.
  • the communication processing unit 15 may be realized by a CPU of a computer that operates according to a program, for example.
  • the CPU may read a program from a program storage device (not shown) and operate as the communication processing unit 15 according to the program.
  • the setting storage unit 16 is a storage device that stores the correspondence between the communication interface 11 and the address of the name resolution server 5 and the correspondence between the data transfer unit 12 and a value having an address form.
  • FIG. 6 illustrates a table held by the setting storage unit 16.
  • the name resolution server 5a is connected to the wireless network 2a corresponding to the communication interface 11a. Therefore, as shown in FIG. 6, the setting storage unit 16 stores the communication interface 11a and the address of the name resolution server 5a in association with each other. Similarly, the setting storage unit 16 stores the communication interface 11b and the address of the name resolution server 5b in association with each other. Further, as shown in FIG.
  • the setting storage unit 16 stores the value A as a value corresponding to the data transfer unit 12a and stores the value B as a value corresponding to the data transfer unit 12b.
  • the setting storage unit 16 may store the correspondence relationship between the communication interface 11 and the address of the name resolution server 5 as, for example, a file or a database, or may store it in another manner.
  • the setting storage unit 16 is, for example, an operating system (OS) setting database described in Non-Patent Document 4. However, the setting storage unit 16 is not limited to this example.
  • OS operating system
  • the name resolution unit 17 refers to the setting storage unit 16 based on the information of the data exchange unit 12 of the request source. get. For example, when name resolution request data is input from the data transfer unit 12a, the name resolution unit 17 acquires a value A as an address. Then, the name resolution unit 17 designates the acquired value A as an address, and sends name resolution request data to the communication software basic unit 13.
  • the name resolution unit 17 is realized by a CPU of a computer that operates according to a program such as a DNS resolver, for example.
  • the CPU may read a program from a program storage device and operate as the name resolution unit 17 according to the program.
  • the program is, for example, a DNS resolver implemented by an OS described in Non-Patent Document 4.
  • the present invention is not limited to this example, and any program may be used as long as it acquires an address from the setting storage unit 16 for each application or process, designates the acquired address, and sends a name resolution request.
  • FIG. 7 is a sequence diagram showing an operation when the data transfer unit 12a makes a name resolution request of the server 4a.
  • the data transfer unit 12a (not shown in FIG. 7) inputs name resolution request data including the name of the server 4 to the name resolution unit 17. Then, the name resolution unit 17 acquires the value A with reference to the setting storage unit 16 based on the data input by the data transfer unit 12a. The name resolution unit 17 designates the address of the selected name resolution server 5a, and sends name resolution request data to the communication software basic unit 13 (step S1).
  • the communication software basic unit 13 determines the address of the communication processing unit 15 as the source address of the name resolution request packet according to the communication transfer rule.
  • the communication software basic unit 13 generates a name resolution request packet including the transmission source address and having a header including the value A specified by the name resolution unit 17 as a transmission destination address based on the name resolution request data. .
  • the communication software basic unit 13 sends the generated name resolution request packet to the communication processing unit 15 (step S2).
  • the communication processing unit 15 collates the name resolution request packet input from the communication software basic unit 13 with the communication processing rule, and there is no communication processing rule that matches the name resolution request packet, or the control unit 14 If the name resolution request packet matches the communication processing rule that defines the packet transfer to the server, the name resolution request packet is sent to the control unit 14 (step S3).
  • the name resolution request packet matches the communication processing rule that defines the packet transfer to the server, the name resolution request packet is sent to the control unit 14 (step S3).
  • the present embodiment a case where there is no communication processing rule that matches the name resolution request packet will be described.
  • FIG. 8 is a flowchart illustrating details of the processing of the control unit 14 in step S4.
  • control unit 14 receives a name resolution request packet from the communication processing unit 15 (step S41).
  • control unit 14 refers to the setting storage unit 16 and identifies the name resolution request source of the name resolution request packet as the data transfer unit 12a from the value A of the destination address included in the header of the name resolution request packet. (Step S42).
  • control unit 14 analyzes the name resolution request packet and extracts the name of the server 4a included in the payload (step S43).
  • control unit 14 collates the information specified in step S42 that the name resolution request source is the data transfer unit 12a and the name of the server 4a extracted in step S43 with a policy (see FIG. 4).
  • the communication interface 11a is determined as the output destination of the name resolution request packet (step S44).
  • control unit 14 refers to the setting storage unit 16 and acquires the address of the name resolution server 5a corresponding to the communication interface 11a (step S45).
  • control unit 14 rewrites the source address of the name resolution request packet to the address of the communication interface 11a, rewrites the destination address to the address of the name resolution server 5a, and executes processing to output to the communication interface 11a.
  • the communication processing unit 15 is instructed (step S46).
  • control unit 14 associates the transmission source port number of the name resolution request packet with the value A and stores them in the storage area of the control unit 14 (step S47).
  • the communication processing unit 15 executes the above-described processing instructed by the control unit 14 (step S5).
  • the communication interface 11a outputs a name resolution request packet to the wireless network 2a (not shown in FIG. 7) (step S6). As described above, the name resolution request packet is transmitted to the name resolution server 5a.
  • the communication interface 11a receives the name resolution response packet transmitted from the name resolution server 5a via the wireless network 2a and sends it to the communication processing unit 15 (step S11).
  • the communication processing unit 15 collates the name resolution response packet input from the communication interface 11a with the communication processing rule, and there is no communication processing rule that matches the name resolution response packet, or the control unit 14 If the name resolution response packet matches the communication processing rule that defines the packet transfer, the name resolution response packet is sent to the control unit 14 (step S12). In the present embodiment, a case where there is no communication processing rule that matches the name resolution response packet will be described.
  • FIG. 9 is a flowchart illustrating the details of the processing of the control unit 14 in step S13.
  • control unit 14 receives a name resolution response packet from the communication processing unit 15 (step S131).
  • control unit 14 refers to its own storage area and acquires the value A from the destination port number of the name resolution response packet (step S132).
  • step S133 the control unit 14 rewrites the destination address of the name resolution response packet to the address of the communication processing unit 15, rewrites the transmission source address to the value A, and outputs the processing to the communication software basic unit 13 to the communication processing unit 15.
  • An instruction is given (step S133). That is, when the name resolution request packet generated by the communication software basic unit 13 in step S2 is compared with the name resolution response packet output by the communication processing unit 15 according to the instruction in step S133, the destination address of the name resolution request packet and the name The source address of the resolution response packet matches, and the source address of the name resolution request packet matches the destination address of the name resolution response packet.
  • control unit 14 deletes the set of the destination port number and the value A from its own storage area (step S134).
  • the communication processing unit 15 executes the communication process instructed by the control unit 14 in step S133 (step S14).
  • the communication software basic unit 13 extracts name resolution response data from the name resolution response packet input from the communication processing unit 15 and sends it to the name resolution unit 17 (step S15).
  • the name resolution unit 17 acquires the name resolution response data transmitted from the name resolution server 5a, and sends the name resolution response data to the data transfer unit 12a (step S16).
  • the control unit 14 sends the setting information to the setting storage unit 16 so that the name resolution unit 17 sends a name resolution request to a unique destination address to each individual data transfer unit 12.
  • the control unit 14 receives the name resolution request packet via the communication software basic unit 13 and identifies the data transfer unit 12 that is the name resolution request source from the destination address of the name resolution request packet.
  • the control unit 14 combines the server name included in the name resolution request packet with the identifier of the data transfer unit 12 to collate with the policy, and the name resolution request packet is connected to the wireless network 2 corresponding to the policy. It transmits to the name resolution server 5.
  • the existing name resolution unit 17 that refers to the setting storage unit 16 and outputs name resolution request data with addresses corresponding to the data transfer units 12 as destinations.
  • the feature of is utilized. Therefore, by adding the control unit 14 and the communication processing unit 15 to the conventional terminal and storing the information in the setting storage unit 16 without changing the existing name resolution unit 17 itself, the above-described present invention is provided. This problem can be solved.
  • FIG. 10 is a diagram illustrating a communication system including the communication terminal of the present embodiment.
  • the servers 4a and 4b, the wireless networks 2a and 2b, the name resolution servers 5a and 5b, and the wired network 3 are respectively the first embodiment.
  • a policy server 6 is further added to the communication system to which the communication terminal of the first embodiment shown in FIG. 1 is connected.
  • Policy server 6 transmits a policy to communication terminal 1.
  • the trigger for the policy transmission may be, for example, a request from the communication terminal 1, a predetermined time, or a request from a device not shown in FIG.
  • the trigger of policy transmission is not limited to these.
  • the policy server 6 is, for example, an ANDSF (Access / Network / Discovery / Selection / Function) server.
  • the policy server 6 is not limited to the ANDSF server.
  • the configuration of the communication terminal 1 of the present embodiment is the same as that of the communication terminal 1 of the first embodiment shown in FIG.
  • the control unit 14 of the communication terminal 1 according to the present embodiment is further different from the control unit 14 of the first embodiment in that it receives a policy from the policy server 6.
  • the communication terminal 1 of the present embodiment in addition to the effects brought about by the communication terminal 1 of the first embodiment, it is possible to update the policy from an external device.
  • the address has been described as an example, but the same control can be performed by replacing the address with a source port number or the like.
  • the control unit refers to the setting storage unit to identify the data exchanging unit to which the identifier included in the packet is attached, and information indicating the identified data exchanging unit and the destination device included in the packet
  • the communication terminal according to mode 1 wherein a communication interface to be used is determined from the plurality of communication interfaces by collating with a predetermined policy.
  • the predetermined policy includes correspondence between the data transmission / reception unit, information indicating the destination device, and a communication interface to be used.
  • the setting storage unit associates and holds each communication interface and the address of the corresponding name resolution server, The communication terminal according to any one of aspects 1 to 3, wherein the control unit specifies an address of a name resolution server corresponding to the determined communication interface based on the setting storage unit.
  • the control unit receives the predetermined policy from a policy server.
  • the control unit holds the transmission source port number of the packet and the identifier of the data transfer unit in association with each other, and when receiving a response packet for the packet, based on the association, the destination port of the received response packet Identify the address associated with the number,
  • the communication terminal according to any one of modes 1 to 5, wherein the communication processing unit changes a transmission source address of the response packet to an address specified by the control unit and outputs the changed address to the communication software basic unit.
  • the control unit deletes the held association when the address associated with the destination port number of the received response packet is specified.
  • the communication method according to the second aspect is as described above.
  • the communication terminal refers to the setting storage unit, and specifies the data transfer unit attached with the identifier included in the packet; And a step of collating information indicating the specified data exchange unit and the destination device included in the packet with the predetermined policy and determining a communication interface to be used from the plurality of communication interfaces.
  • the communication terminal associates each communication interface with the address of the corresponding name resolution server and holds it in the setting storage unit;
  • the communication method according to any one of modes 8 to 10 further comprising: specifying an address of a name resolution server corresponding to the determined communication interface based on the setting storage unit.
  • the communication terminal holds the transmission source port number of the packet and the identifier of the data transfer unit in association with each other; When receiving a response packet to the packet, the step of identifying an address associated with the destination port number of the received response packet based on the association held;
  • the communication method according to any one of aspects 8 to 12, further comprising: changing a transmission source address of the response packet to the specified address.
  • the communication method according to mode 13, comprising a step of deleting the held association when the communication terminal specifies an address associated with the destination port number of the received response packet.
  • the program according to the third aspect is as described above.
  • [Form 18] A process of associating each communication interface with the corresponding address of the name resolution server and holding in the setting storage unit; The program according to any one of forms 15 to 17, which causes the computer to execute processing for specifying an address of a name resolution server corresponding to the determined communication interface based on the setting storage unit.
  • [Mode 20] A process of associating and holding the transmission source port number of the packet and the identifier of the data transfer unit; When a response packet for the packet is received, a process for identifying an address associated with a destination port number of the received response packet based on the association held.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

複数の通信インタフェースと、宛先装置との間でデータを送受信するデータ授受部とを備えた通信端末が、データ授受部の識別子とデータ授受部とを関連付けて設定記憶部に保持し、設定記憶部を参照して前記データ授受部の識別子を取得し、宛先装置を示す情報を含み前記取得した識別子を含むパケットを生成し、パケットに含まれる宛先装置を示す情報およびデータ授受部の識別子と所定のポリシとを用いて使用すべき通信インタフェースを決定し、決定した通信インタフェースに対応する名前解決サーバのアドレスを特定し、パケットの宛先アドレスを特定した名前解決サーバのアドレスに変更し、決定した通信インタフェースを介してパケットを送出する。アプリケーション名などに基づいてポリシに指定された通信インタフェースを使用して、適切な名前解決サーバへ名前解決要求データを送信することが可能となる。

Description

通信端末、通信方法およびプログラム
 (関連出願についての記載)
 本発明は、日本国特許出願:特願2014-034784号(2014年2月26日出願)の優先権主張に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
 本発明は、通信端末、通信方法およびプログラムに関し、特に、複数のネットワークに接続可能な通信端末、ならびに、その通信端末に適用される通信方法およびプログラムに関する。
 携帯電話やスマートフォンなどに代表される通信端末には、無線LAN(Local Area Network)やLTE(Long Term Evolution)などの複数の異なる無線インタフェースが搭載されている。非特許文献1ないし3には、ANDSF(Access Network Discovery and Selection Function)と呼ばれる標準規格が記載されている。非特許文献1および2には、アプリケーション名やドメイン名などを用いて通信トラフィックを指定し、これらの無線インタフェースに振り分けるためのポリシの記述法と、ポリシを与えられた通信端末に期待される動作が記載されている。
 特許文献1には、DNS(Domain Name Service)クエリに含まれるドメイン名とポリシとを照合し、ポリシに指定された無線インタフェースを用い、当該無線インタフェースに対応付けられたDNSサーバへDNSクエリを送信する技術が記載されている。
 非特許文献4には、通信端末向けのオペレーティングシステム(OS:Operating System)であるAndroidが記載されている。Androidには、アプリケーションのプロセス識別子(PID:Process ID)毎にDNSサーバのアドレスを設定するDNSリゾルバが実装されている。DNSリゾルバでは、設定データベースに、PIDを含む文字列と、DNSサーバのアドレスとを対応付けて記憶することにより、当該設定を行う。また、設定データベースには、無線インタフェースごとに対応付けられたDNSサーバのアドレスが記憶されている。
 また、関連技術として、非特許文献5、6には、集中制御型のネットワークを実現するオープンフロー(OpenFlow)が記載されている。オープンフローは、通信をエンドツーエンドのフローとして捉え、フロー単位で経路制御、障害回復、負荷分散、最適化を行うものである。非特許文献6に仕様化されているオープンフロースイッチ(OFS:OpenFlow Switch)は、オープンフローコントローラ(OFC:OpenFlow Controller)との通信用のセキュアチャネル(Secure Channel)を備え、OFCから適宜追加または書き換え指示されるフローテーブル(Flow Table)に従って動作する。フローテーブルには、フロー毎に、パケットヘッダ(Packet Header)と照合するマッチ条件(Match Fields)と、フロー統計情報(Counters)と、処理内容を定義したインストラクション(Instructions)と、の組が定義される(非特許文献6の「5.2 Flow Table」の項参照)。
 例えば、OFSは、パケットを受信すると、フローテーブルから、受信パケットのヘッダ情報に適合するマッチ条件(非特許文献6の「5.3 Matching」参照)を持つエントリ(Entry)を検索する。検索の結果、受信パケットに適合するエントリが見つかった場合、OFSは、フロー統計情報(カウンタ)を更新するとともに、受信パケットに対して、当該エントリのインストラクションフィールドに記述された処理内容(指定ポートからのパケット送信、フラッディング(Flooding)、廃棄など)を実施する。一方、検索の結果、受信パケットに適合するエントリが見つからなかった場合、OFSは、セキュアチャネルを介して、OFCに対してエントリ設定の要求、すなわち、受信パケットを処理するための制御情報の送信要求(Packet-Inメッセージ)を送信する。OFSは、処理内容が定められたフローエントリを受け取ってフローテーブルを更新する。このように、OFSは、フローテーブルに格納されたエントリを制御情報として用いてパケット転送を行う。
特開2006-333080号公報
3GPP TS 23.402 V12.3.0 (2013-12), "3rd Generation Partnership Project; Technical Specification Group Services and System Aspects; Architecture enhancements for non-3GPP accesses (Release 12)" 3GPP TS 24.312 V12.3.0 (2013-12), "3rd Generation Partnership Project; Technical Specification Group Core Network and Terminals; Access Network Discovery and Selection Function (ANDSF) Management Object (MO) (Release 12)" 3GPP TR 23.855 V11.0.0 (2011-12), "3rd Generation Partnership Project; Technical Specification Group Services and System Aspects; Data Identification in Access Network Discovery and Selection Function (ANDSF) (DIDA) (Release 11)" "Android", [online]、[平成26(2014)年2月3日検索]、インターネット<URL: http://www.android.com/> Nick McKeownほか7名、"OpenFlow: Enabling Innovation in Campus Networks"、[online]、[平成26(2014)年2月3日検索]、インターネット〈URL:http://www.openflow.org/documents/openflow-wp-latest.pdf〉 "OpenFlow Switch Specification"Version 1.3.1 (Wire Protocol 0x04)、[online]、[平成26(2014)年2月3日検索]、インターネット〈URL:https://www.opennetworking.org/images/stories/downloads/specification/openflow-spec-v1.3.1.pdf〉
 上記特許文献および非特許文献の全開示内容は、本書に引用をもって繰り込み記載されているものとする。以下の分析は、本発明者によってなされたものである。
 一般に、通信端末のアプリケーションがサーバと通信を行う際、DNS(Domain Name Service)を用いた名前解決によって、サーバのアドレスを求める。ANDSFのポリシに基づいて複数の無線インタフェースに対してアプリケーションの通信トラフィックを振り分けるとき、同様にDNSクエリについても、DNSクエリ元のアプリケーションや、DNSクエリに含まれるドメイン名などを用いて、無線インタフェースに対応付けられたDNSサーバに送信しないと、不都合が生じる場合がある。
 例えば、無線LANからのみ到達可能なサーバの名前については、無線LANに対応付けられたDNSサーバのみが名前解決することができる。このような場合に、LTEに対応付けられたDNSサーバにDNSクエリを行うと、サーバの名前を解決することができなくなる。また、携帯キャリアのサーバのように、LTE網から到達可能なアドレスと、その他ネットワークから到達可能なアドレスとを分けている場合に、LTEに対応付けられたDNSサーバで名前解決を行ってアプリケーションの通信トラフィックを無線LANに振り分けると、当該通信トラフィックは到達不能となる。
 したがって、ポリシを参照し、DNSクエリ元のアプリケーション名やDNSクエリに含まれるドメイン名などを用いて、ポリシに指定された無線インタフェースを用い、当該無線インタフェースに対応付けられたDNSサーバへDNSクエリを送信する通信端末を実現する必要がある。ところが、かかる通信端末を実現するために、既存の通信端末に実装されているDNSリゾルバを大きく変更することは、実装コストの観点から問題となる。
 ここで、特許文献1に記載された技術を用いた場合には、アプリケーション名を使用することができない。一方、非特許文献4に記載されたAndroidに実装されたDNSリゾルバのみでは、ドメイン名を使用することができない。さらに、特許文献1で記載されている技術と、非特許文献4に記載されているDNSリゾルバとを単純に組み合わせた場合には、そのようなDNSリゾルバを新たに実装しなければならなくなる。
 そこで、名前解決要求元のアプリケーション名や名前解決要求データに含まれるドメイン名などに基づいてポリシに指定された通信インタフェースを使用すると共に、当該通信インタフェースに対応付けられた名前解決サーバへ名前解決要求データを送信する技術を、既存の名前解決部に変更を加えることなく実現することが課題となる。本発明の目的は、かかる課題解決に寄与する通信端末、通信方法およびプログラムを提供することにある。
 本発明の第1の態様に係る通信端末は、複数の通信インタフェースと、宛先装置との間でデータを送受信するデータ授受部と、前記データ授受部の識別子と前記データ授受部とを関連付けて保持する設定記憶部と、前記設定記憶部を参照して前記データ授受部の識別子を取得する名前解決部と、前記宛先装置を示す情報を含むと共に前記名前解決部が取得した識別子を含むパケットを生成する通信ソフトウェア基本部と、前記パケットに含まれる前記宛先装置を示す情報および前記データ授受部の識別子と所定のポリシとを用いて、前記複数の通信インタフェースの中から使用すべき通信インタフェースを決定し、決定した通信インタフェースに対応する名前解決サーバのアドレスを特定する制御部と、前記パケットの宛先アドレスを前記制御部が特定した名前解決サーバのアドレスに変更すると共に前記制御部が決定した通信インタフェースを介して前記パケットを送出する通信処理部と、を備えている。
 本発明の第2の態様に係る通信方法は、複数の通信インタフェースと、宛先装置との間でデータを送受信するデータ授受部とを備えた通信端末が、前記データ授受部の識別子と前記データ授受部とを関連付けて設定記憶部に保持する工程と、前記設定記憶部を参照して前記データ授受部の識別子を取得する工程と、前記宛先装置を示す情報を含むと共に前記取得した識別子を含むパケットを生成する工程と、前記パケットに含まれる前記宛先装置を示す情報および前記データ授受部の識別子と所定のポリシとを用いて、前記複数の通信インタフェースの中から使用すべき通信インタフェースを決定する工程と、決定した通信インタフェースに対応する名前解決サーバのアドレスを特定する工程と、前記パケットの宛先アドレスを前記特定した名前解決サーバのアドレスに変更すると共に、前記決定した通信インタフェースを介して前記パケットを送出する工程と、を含む。
 本発明の第3の態様に係るプログラムは、複数の通信インタフェースと、宛先装置との間でデータを送受信するデータ授受部とを備えた通信端末に設けられたコンピュータに対して、前記データ授受部の識別子と前記データ授受部とを関連付けて設定記憶部に保持する処理と、前記設定記憶部を参照して前記データ授受部の識別子を取得する処理と、前記宛先装置を示す情報を含むと共に前記取得した識別子を含むパケットを生成する処理と、前記パケットに含まれる前記宛先装置を示す情報および前記データ授受部の識別子と所定のポリシとを用いて、前記複数の通信インタフェースの中から使用すべき通信インタフェースを決定する処理と、決定した通信インタフェースに対応する名前解決サーバのアドレスを特定する処理と、前記パケットの宛先アドレスを前記特定した名前解決サーバのアドレスに変更すると共に、前記決定した通信インタフェースを介して前記パケットを送出する処理と、を実行させる。なお、プログラムは、非一時的なコンピュータ可読記録媒体(non-transitory computer-readable storage medium)に記録されたプログラム製品として提供することができる。
 本発明に係る通信端末、通信方法およびプログラムによると、名前解決要求元のアプリケーション名や名前解決要求データに含まれるドメイン名などに基づいてポリシに指定された通信インタフェースを使用すると共に、当該通信インタフェースに対応付けられた名前解決サーバへ名前解決要求データを送信する技術を、既存の名前解決部に変更を加えることなく実現することが可能となる。
第1の実施形態に係る通信端末を備えた通信システムを例示する図である。 第1の実施形態に係る通信端末の構成を例示するブロック図である。 第1の実施形態に係る通信端末の設定記憶部が保持するデータを例示する図である。 第1の実施形態に係る通信端末におけるポリシを例示する図である。 第1の実施形態に係る通信端末の制御部が保持するデータを例示する図である。 第1の実施形態に係る通信端末の設定記憶部が保持するデータを例示する図である。 第1の実施形態に係る通信端末の動作を例示するシーケンス図である。 第1の実施形態に係る通信端末が名前解決要求パケットを送出する動作を例示するフロー図である。 第1の実施形態に係る通信端末が名前解決応答パケットを受信する動作を例示するフロー図である。 第2の実施形態に係る通信端末を備えた通信システムを例示する図である。
 はじめに、一実施形態の概要について説明する。なお、この概要に付記する図面参照符号は、専ら理解を助けるための例示であり、本発明を図示の態様に限定することを意図するものではない。
 図1は、一実施形態に係る通信端末1を備えた通信システムの構成を示す図である。図2は、通信端末1の構成を例示するブロック図である。図2を参照すると、通信端末1は、複数の通信インタフェース11a、11b、データ授受部12a、12b、設定記憶部16、名前解決部17、通信ソフトウェア基本部13、制御部14、および、通信処理部15を備えている。
 データ授受部12aは、宛先装置(例えば、図1のサーバ4a)との間でデータを送受信する。設定記憶部16は、データ授受部12a、12bの識別子(例えば、アドレス)とデータ授受部12a、12bとを関連付けて保持する。名前解決部17は、データ授受部12aの要求に基づいて、設定記憶部16を参照してデータ授受部12aの識別子を取得する。通信ソフトウェア基本部13は、宛先装置を示す情報を含むと共に名前解決部17が取得した識別子を(例えば、宛先アドレスとして)含むパケットを生成する。制御部14は、前記パケットに含まれる前記宛先装置を示す情報および前記データ授受部の識別子と所定のポリシとを用いて、複数の通信インタフェース11a、11bの中から使用すべき通信インタフェース(例えば、11a)を決定し、決定した通信インタフェース11aに対応する名前解決サーバ(例えば、5a)のアドレスを特定する。通信処理部15は、前記パケットの宛先アドレスを制御部14が特定した名前解決サーバ5aのアドレスに変更すると共に、制御部14が決定した通信インタフェース11aを介して前記パケットを送出する。
 制御部14は、設定記憶部16を参照して前記パケットに含まれる識別子を付されたデータ授受部12aを特定すると共に、特定したデータ授受部12aと前記パケットに含まれる宛先装置を示す情報を所定のポリシ(例えば、図4)に照合して複数の通信インタフェース11a、11bの中から使用すべき通信インタフェース(例えば、無線ネットワーク2aに対応する通信インタフェース11a)を決定するようにしてもよい。ここで、所定のポリシは、データ授受部と宛先装置を示す情報と使用すべき通信インタフェースとの対応付けを含んでいてもよい。
 また、設定記憶部16は、各通信インタフェースと対応する名前解決サーバのアドレスとを関連付けて保持し(例えば、図6)、制御部14は、決定した通信インタフェース11aに対応する名前解決サーバ5aのアドレスを設定記憶部16に基づいて特定してもよい。
 かかる通信端末1によると、既存の名前解決部の動作に変更を加えることなく、名前解決要求元のアプリケーション名などに基づいてポリシに指定された通信インタフェースを使用しつつ、当該通信インタフェースに対応付けられた名前解決サーバへ名前解決要求データを送信することが可能となる。
<実施形態1>
 次に、第1の実施形態に係る通信端末ついて、図面を参照して説明する。以下の実施形態では、一例として、通信端末が無線用の通信インタフェースを介して複数の無線ネットワークに接続する場合について説明する。ただし、本発明は、通信端末が複数の無線ネットワークにアクセスする場合に限らず、通信端末が複数の有線ネットワークに接続する場合や、無線ネットワークと有線ネットワークから成る複数のネットワークに接続する場合にも、同様に適用することができる。
 図1は、本実施形態に係る通信端末1を含む通信システムの構成を例示する図である。サーバ4は、本実施形態の通信端末1との間でパケットを送受信することで、予め定められたサービスを提供する。サーバ4によって提供されるサービスの内容は、特に限定されない。図1は、通信システムが2台のサーバ4a,4bを含む場合を例示する。ただし、サーバ4の台数は2台に限定されない。なお、サーバ4a,4bを区別する必要がない場合には、「サーバ4」と記す。サーバ4は、有線ネットワーク3に接続されていてもよい。本実施形態では、サーバ4が無線ネットワーク2に接続される場合について説明する。図1は、サーバ4aが無線ネットワーク2aに接続され、サーバ4bが無線ネットワーク2bに接続される場合を示す。サーバ4aに無線ネットワーク2a経由で通信するときのサーバ4aのアドレスは、サーバ4aに有線ネットワーク3経由で通信するときのサーバ4aのアドレスとは異なっている。
 通信端末1は、複数の無線ネットワーク2と無線によって接続される。図1は、通信端末1が2つの無線ネットワーク2a,2bに接続される場合を例示する。ただし、通信端末1に接続される無線ネットワーク2の数は、特に限定されない。なお、無線ネットワーク2a,2bを区別する必要がない場合には、「無線ネットワーク2」と記す。無線ネットワーク2は、有線ネットワーク3と直接的または間接的に接続される。サーバ4は、有線ネットワーク3と直接的または間接的に接続される。
 名前解決サーバ5は、通信端末1から名前解決要求パケットを受信すると、名前解決要求パケットを解釈し、名前解決要求パケットに含まれている装置の名前に対応するアドレスを検索し、その名前とそのアドレスとを含む名前解決応答パケットを通信端末1に送信する。図1では、通信システムが2台の名前解決サーバ5a,5bを含む場合を例示する。ただし、名前解決サーバ5の台数は特に限定されない。なお、名前解決サーバ5a,5bを区別する必要がない場合には、「名前解決サーバ5」と記す。名前解決サーバ5は、有線ネットワーク3に接続されていてもよい。本実施形態では、名前解決サーバ5が無線ネットワーク2に接続される場合について説明する。図1は、名前解決サーバ5aが無線ネットワーク2aに接続され、名前解決サーバ5bが無線ネットワーク2bに接続される場合を示す。
 通信端末1は、例えば、携帯電話機、スマートフォン、タブレット端末、パーソナルコンピュータ(PC:Personal Computer)等である。ただし、通信端末1は、これらの例に限定されない。
 無線ネットワーク2は、例えば、無線LAN、UTRAN(Universal Terrestrial Radio Access Network)、E-UTRAN(Evolved Universal Terrestrial Radio Access Network)等である。ただし、無線ネットワーク2は、これら以外の無線ネットワークであってもよい。
 有線ネットワーク3は、例えば、インターネットである。ただし、有線ネットワーク3はインターネットに限定されない。
 サーバ4は、例えば、Webサーバである。ただし、サーバ4はWebサーバに限定されない。
 名前解決サーバ5は、例えば、DNS(Domain Name Service)サーバである。ただし、名前解決サーバ5はDNSサーバに限定されない。
 図2は、本実施形態の通信端末1の構成を例示するブロック図である。図2を参照すると、通信端末1は、複数の通信インタフェース11、データ授受部12、通信ソフトウェア基本部13、制御部14、通信処理部15、設定記憶部16、および、名前解決部17を備えている。
 通信インタフェース11は、通信処理部15に接続される。通信ソフトウェア基本部13は、データ授受部12、通信処理部15および制御部14に接続される。制御部14は、通信処理部15と、設定記憶部16に接続される。なお、制御部14と通信処理部15は直接接続されていなくてもよい。例えば、通信ソフトウェア基本部13を介して、制御部14と通信処理部15とが接続されていてもよい。本実施形態では、制御部14と通信処理部15が直接接続される場合について説明する。名前解決部17は、データ授受部12、通信ソフトウェア基本部13および設定記憶部16に接続される。なお、名前解決部17とデータ授受部12は、直接接続されていなくてもよい。例えば、通信ソフトウェア基本部13を介して、名前解決部17とデータ授受部12が接続されていてもよい。
 通信インタフェース11は、無線ネットワーク2を介して外部と通信を行う。1つの通信インタフェース11は、少なくとも1つの無線ネットワーク2に対応する。通信インタフェース11は、通信処理部15から入力されたパケットを無線ネットワーク2に出力する。また、通信インタフェース11は、無線ネットワーク2から入力されたパケットを通信処理部15に送る。本実施形態では、通信端末1が2つの通信インタフェース11a,11bを備え、通信インタフェース11aが無線ネットワーク2aに対応し、通信インタフェース11bが無線ネットワーク2bに対応するものとして説明する。通信インタフェース11a,11bを区別する必要がない場合には、「通信インタフェース11」と記す。通信端末1は、3つ以上の通信インタフェース11を備えていてもよい。通信インタフェース11は、例えば、無線LANモジュールや無線モデムモジュールである。ただし、通信インタフェース11は、これらの例に限定されない。
 データ授受部12は、通信ソフトウェア基本部13に通信プロトコルおよび宛先を指定し、通信ソフトウェア基本部13との間でデータを授受する。通信ソフトウェア基本部13は、このデータに基づいてパケットを生成する。通信端末1は、サーバ4との間でパケットを送受信することにより、サーバ4との間でデータをやり取りする。また、データ授受部12は、通信プロトコルの種別によっては、通信ソフトウェア基本部13に対し、サーバ4との間でパケットを送受信するための接続処理を指示する。また、データ授受部12はサーバ4と通信を行う際、名前解決部17に対して、サーバ4の名前を含む名前解決要求データを入力し、サーバ4のアドレスを含む名前解決応答データを受信することで、サーバ4のアドレスを取得する。本実施形態では、通信端末1が2つのデータ授受部12a,12bを備えているものとして説明する。データ授受部12a,12bを区別する必要がない場合には、「データ授受部12」と記す。通信端末1は、3つ以上のデータ授受部12を備えていてもよい。
 データ授受部12は、例えば、Webブラウザ等のプログラムに従って動作するコンピュータのCPU(Central Processing Unit)によって実現される。例えば、通信端末1は、プログラムを記憶するプログラム記憶装置(非図示)を備え、CPUは、プログラム記憶装置からプログラムを読み込んで、そのプログラムに従って、データ授受部12として動作するようにしてもよい。CPUにデータ授受部12としての機能を実現させるプログラムはWebブラウザに限定されず、他のプログラムであってもよい。
 通信ソフトウェア基本部13は、データ授受部12から入力されたデータに基づいて、パケットを生成する。また、通信ソフトウェア基本部13は、サーバ4から受信したパケットを受け取ると、パケットからデータを抽出してデータ授受部12に送出する。
 通信ソフトウェア基本部13は、データ授受部12からデータを受け付けると、通信ソフトウェア基本部13に予め設定されている通信転送ルールに従って送信元アドレスを決定する。また、通信ソフトウェア基本部13は、データ授受部12から入力されたデータに基づいて、その送信元アドレスと、データ授受部12によって指定された送信先アドレスとをヘッダ内に含むパケットを生成する。通信ソフトウェア基本部13は、生成したパケットを、通信転送ルールに従って通信処理部15に送る。本実施形態では、通信転送ルールのデフォルト設定において、通信ソフトウェア基本部13は生成したパケットを通信処理部15に送ることが規定されているものとする。
 また、通信ソフトウェア基本部13は、サーバ4との間でパケットを送受信するための接続処理をデータ授受部12によって指示された場合、前述の送信元アドレスおよび送信先アドレスをヘッダ内に含むパケットを、通信処理部15を介して、サーバ4に送信する。通信ソフトウェア基本部13は、このパケットを送信することにより、サーバ4との接続のための手続を実現する。
 通信ソフトウェア基本部13は、例えば、オペレーティングシステム(OS)のカーネルに実装されているTCP(Transmission Control Protocol)/IP(Internet Protocol)スタックに従って動作するコンピュータのCPUによって実現される。例えば、CPUは、プログラム記憶装置(非図示)からプログラム(上記の例では、TCP/IPスタック)を読み込んで、そのプログラムに従って、通信ソフトウェア基本部13として動作するようにしてもよい。また、通信ソフトウェア基本部13に設定される通信転送ルールは、例えば、IPルーティング設定である。また、宛先との接続処理が必要とされるプロトコルとして、例えばTCPが挙げられるが、TCP以外のプロトコルを用いてもよい。
 制御部14は、設定記憶部16に対し、データ授受部12のそれぞれに1対1に対応し、アドレスの形態(例えば、アドレスと同一のフォーマット)を有する値を設定する。制御部14は、名前解決部17による名前解決要求データを含む名前解決パケットに含まれる宛先アドレスと名前解決要求データを利用して、名前解決要求元のデータ授受部12と、要求されているサーバ4の名前を特定する。制御部14は、特定したデータ授受部12およびサーバ4の名前とポリシを照合し、ポリシに指定された通信インタフェース11を用いると共に、当該通信インタフェース11に対応付けられた名前解決サーバへ名前解決要求データを送信することを決定する。
 制御部14は、例えば、アドレスの形態を有する値AおよびBを、それぞれデータ授受部12aおよび12bと1対1に対応付けて設定記憶部16に記憶させる。図3は、設定記憶部16が記憶するテーブルを例示する。本実施形態では、この例を用いて説明する。なお、値AおよびBは名前解決サーバ5のアドレスと一致していなくてもよく、例えば、架空のアドレスであってもよいが、通信ソフトウェア基本部13から通信処理部15に送られる値とする。
 制御部14がデータ授受部12とアドレスの形態を有する値を対応付けて設定記憶部16に記憶させるとき、データ授受部12の識別子とアドレスの形態を有する値を記憶させてもよい。データ授受部12の識別子は、例えば、データ授受部12のプロセス識別子(PID:Process Identifier)や、ユーザ識別子(UID:User Identifier)、グループ識別子(GID:Group Identifier)、名前などである。ただし、本発明において、データ授受部12の識別子は、これらの例に限定されない。PIDのようにデータ授受部12の起動ごとに変化するものを識別子として使用する場合には、制御部14は、データ授受部12の起動を監視し、データ授受部12が起動するごとに、データ授受部12の識別子とアドレスの形態を有する値を設定記憶部16に記憶させる。
 制御部14は、パケットに対する通信処理を決定する。ここで、「通信処理を決定する」とは、具体的には、パケットの送り先となる通信端末1内の機能ブロックと、書き換えるべきパケットヘッダのフィールドと、パケットヘッダの値を決定することを意味する。
 制御部14は、内部の記憶領域に、少なくとも、データ授受部と、サーバ名と、使用無線ネットワークとを指定するポリシを保持する。図4は、本実施形態におけるポリシを例示する。図4に示した例では、データ授受部12aによるサーバ4a宛ての通信に対して無線ネットワーク2aを使用するポリシ(「ポリシ1」という。)と、データ授受部12bによるサーバ4b宛ての通信に対して無線ネットワーク2bを使用するポリシ(「ポリシ2」という。)が含まれている。各ポリシには、優先度を設定できるようにしてもよい。本実施形態では、優先度を設定する場合について説明する。なお、各ポリシに優先度を設定しない場合には、例えば、ポリシの並び順によって優先度が規定されるようにしてもよい。また、使用無線ネットワークとして複数の無線ネットワークを指定できるようにしてもよい。複数の無線ネットワークを指定する場合には、いずれか1つの無線ネットワークが選択される。データ授受部の項目やサーバ名の項目には、ワイルドカードが指定されていてもよい。
 制御部14は、名前解決部17が名前解決要求データを通信ソフトウェア基本部13に送信することにより生成されたパケットに対する通信処理を決定する際に、以下の処理を行う。制御部14は、通信ソフトウェア基本部13を参照し、通信インタフェース11のアドレスを取得する。また、制御部14は、設定記憶部16が保持する情報(例えば、図3のテーブル)を参照して、当該パケットの宛先アドレスから、名前解決要求元のデータ授受部12を特定する。さらに、制御部14は設定記憶部16を参照し、名前解決サーバ5のアドレスを取得する。また、制御部14は、当該パケットから、要求されているサーバ4の名前を特定する。さらに、制御部14は、特定したデータ授受部12とサーバ4の名前をポリシと照合し、当該パケットに対する通信処理を決定する。
 データ授受部12aがサーバ4aの名前解決を名前解決部17に要求する場合について説明する。データ授受部12aがサーバ4aの名前解決を名前解決部17に要求すると、制御部14は、名前解決部17および通信ソフトウェア基本部13を経由し、通信処理部15から、宛先アドレスに値Aが指定され、サーバ4aの名前によってアドレスを要求する名前解決要求パケットを受け付ける。
 制御部14は、設定記憶部16が保持する情報(図3)を参照し、宛先アドレスに指定された値Aに基づいて、名前解決要求元をデータ授受部12aであると特定する。また、制御部14は、当該パケットを参照し、サーバ4aの名前を取得する。さらに、制御部14は、データ授受部12aとサーバ4aの名前をポリシ(図4)と照合して、ポリシ1と一致することを判別する。また、制御部14は、ポリシ1の内容をもとに、通信インタフェース11aに対応する名前解決サーバ5aのアドレスを、設定記憶部16を参照して取得する。制御部14は、当該パケットに対する通信処理として、送信元アドレスを通信インタフェース11aのアドレスに書き換え、宛先アドレスを名前解決サーバ5aのアドレスに書き換え、通信インタフェース11aに出力する処理を決定し、通信処理部15に当該通信処理の実行を指示する。このとき、制御部14は、名前解決要求パケットの送信元ポート番号と、値Aまたはデータ授受部12aの識別子を保持する。
 図5は、制御部14が保持するテーブルを例示する図である。図5(a)は、ポート番号na,nbと値A,Bとを対応付けて保持する場合のテーブルを示す。一方、図5(b)は、ポート番号na,nbとデータ授受部12a,12bの識別子とを対応付けて保持する場合のテーブルを示す。以下では、図5(a)のように、ポート番号na,nbと対応付けて値A,Bを保存する場合について説明する。なお、ポート番号na,nbと対応付けてデータ授受部12a,12bの識別子を保存した場合、制御部14は設定記憶部16が保持する情報(図3)をさらに参照することで、値Aを取得することができる。
 次に、通信端末1が、名前解決要求パケットに対応する名前解決応答パケットを受信する場合について説明する。制御部14は、通信インタフェース11aを経由して、通信処理部15から、名前解決応答パケットを受信する。制御部14は、宛先ポート番号から、保存した値Aを取得する。次に、制御部14は、通信処理として、宛先アドレスを通信処理部15のアドレスに書き換え、送信元アドレスを値Aに書き換え、通信ソフトウェア基本部13に出力する処理を決定し、通信処理部15に当該通信処理の実行を指示する。
 制御部14は、例えば、オープンフロー(非特許文献5、6)におけるオープンフローコントローラ(OFC:OpenFlow Controller)である。ただし、制御部14は、OFCに限定されない。制御部14は、例えば、プログラムに従って動作するコンピュータのCPUによって実現される。例えば、CPUがプログラム記憶装置(図示略)からプログラムを読み込んで、そのプログラムに従って、制御部14として動作するようにしてもよい。
 通信処理部15は、制御部14に設定された0個以上の通信処理ルール、および、制御部14からの通信処理の実行指示に基づいて、入力されたパケットに対する処理を実行する。例えば、通信処理部15は、パケットのヘッダを書き換えたり、パケットを通信端末1内の他の機能ブロックに転送したりする。通信処理部15は、通信ソフトウェア基本部13から入力されたパケットPに関しては、制御部14による制御に従って、例えば、ヘッダ内の送信元アドレスを通信インタフェース11aのアドレスに書き換え、パケットPを通信インタフェース11aに送る。一方、通信処理部15は、通信インタフェース11で受信されたパケットQに関しては、制御部14による制御に従って、例えば、ヘッダ内の送信先アドレスを通信処理部15のアドレスに書き換え、通信ソフトウェア基本部13に送る。また、通信処理部15に設定されたいずれの通信処理ルールにも合致しないパケットや、制御部14へのパケット転送を規定した通信処理ルールに合致するパケットに関しては、通信処理部15は、制御部14に転送する。
 通信処理部15は、例えば、オープンフロー(非特許文献5、6)におけるオープンフロースイッチ(OFS:OpenFlow Switch)である。通信処理部15がOFSである場合、通信処理部15自身のアドレスは、OFSのローカルポート(Local Port)に付けられるか、OFSと通信ソフトウェア基本部13に接続される仮想イーサネット(登録商標)デバイスに付けられる。ただし、通信処理部15は、OFSに限定されない。また、通信処理部15は、例えば、プログラムに従って動作するコンピュータのCPUによって実現されてもよい。例えば、CPUがプログラム記憶装置(図示略)からプログラムを読み込んで、そのプログラムに従って、通信処理部15として動作するようにしてもよい。
 設定記憶部16は、通信インタフェース11と名前解決サーバ5のアドレスとの対応関係と、データ授受部12とアドレスの形態を有する値との対応関係を記憶する記憶装置である。図6は、設定記憶部16が保持するテーブルを例示する。例えば、名前解決サーバ5aは、通信インタフェース11aに対応する無線ネットワーク2aに接続されている。したがって、図6に示すように、設定記憶部16は、通信インタフェース11aと、名前解決サーバ5aのアドレスとを対応付けて記憶する。同様に、設定記憶部16は、通信インタフェース11bと、名前解決サーバ5bのアドレスとを対応付けて記憶する。また、図3に示したように、設定記憶部16は、データ授受部12aに対応する値として値Aを記憶し、データ授受部12bに対応する値として値Bを記憶する。設定記憶部16は、通信インタフェース11と名前解決サーバ5のアドレスとの対応関係を、例えば、ファイルあるいはデータベースとして記憶してもよく、その他の態様で記憶してもよい。
 設定記憶部16は、例えば、非特許文献4に記載されたオペレーティングシステム(OS)の設定データベースである。ただし、設定記憶部16はこの例に限られない。
 名前解決部17は、データ授受部12からサーバ4の名前を含む名前解決要求データが入力されると、要求元のデータ授受部12の情報を元に、設定記憶部16を参照してアドレスを取得する。例えば、データ授受部12aから名前解決要求データを入力されると、名前解決部17は、アドレスとして値Aを取得する。そして、名前解決部17は、取得した値Aをアドレスとして指定して、名前解決要求データを通信ソフトウェア基本部13に送出する。
 名前解決部17は、例えば、DNSリゾルバ等のプログラムに従って動作するコンピュータのCPUによって実現される。例えば、CPUがプログラム記憶装置からプログラムを読み込んで、そのプログラムに従って名前解決部17として動作するようにしてもよい。当該プログラムは、例えば、非特許文献4に記載されたOSで実装されているDNSリゾルバである。なお、本発明はこの例に限られず、アプリケーションやプロセスごとに設定記憶部16からアドレスを取得し、取得したアドレスを指定して名前解決要求を送出するようなプログラムであればよい。
 次に、本実施形態に係る通信端末1の動作について、図面を参照して説明する。図7は、データ授受部12aがサーバ4aの名前解決要求を行う場合の動作を示すシーケンス図である。
 データ授受部12a(図7において非図示)が名前解決部17に対して、サーバ4の名前を含む名前解決要求データを入力する。すると、名前解決部17は、データ授受部12aがデータを入力したことをもとに、設定記憶部16を参照して値Aを取得する。名前解決部17は、選択した名前解決サーバ5aのアドレスを指定して、名前解決要求データを通信ソフトウェア基本部13に送る(ステップS1)。
 次に、通信ソフトウェア基本部13は、通信転送ルールに従って、通信処理部15のアドレスを名前解決要求パケットの送信元アドレスとして決定する。通信ソフトウェア基本部13は、その送信元アドレスを含み、さらに、名前解決部17に指定された値Aを送信先アドレスとして含むヘッダを有する名前解決要求パケットを、名前解決要求データに基づいて生成する。通信ソフトウェア基本部13は、生成された名前解決要求パケットを通信処理部15に送る(ステップS2)。
 次に、通信処理部15は、通信ソフトウェア基本部13から入力された名前解決要求パケットと通信処理ルールを照合し、名前解決要求パケットに合致する通信処理ルールが存在しないか、あるいは、制御部14へのパケット転送を規定した通信処理ルールに名前解決要求パケットが合致している場合、名前解決要求パケットを制御部14に送る(ステップS3)。本実施形態では、名前解決要求パケットに合致する通信処理ルールが存在しない場合について説明する。
 次に、制御部14は、名前解決要求パケットの通信処理の実行を通信処理部15に指示する(ステップS4)。図8は、ステップS4における制御部14の処理の詳細を例示するフロー図である。
 図8を参照すると、制御部14は、通信処理部15から名前解決要求パケットを受け付ける(ステップS41)。
 次に、制御部14は、設定記憶部16を参照し、名前解決要求パケットのヘッダに含まれる宛先アドレスの値Aから、名前解決要求パケットの名前解決要求元をデータ授受部12aであると特定する(ステップS42)。
 次に、制御部14は、名前解決要求パケットを解析し、ペイロードに含まれるサーバ4aの名前を抽出する(ステップS43)。
 次に、制御部14は、ステップS42で特定した、名前解決要求元がデータ授受部12aであるという情報と、ステップS43で抽出したサーバ4aの名前とを、ポリシ(図4参照)と照合し、名前解決要求パケットの出力先として、通信インタフェース11aを決定する(ステップS44)。
 次に、制御部14は、設定記憶部16を参照し、通信インタフェース11aに対応する名前解決サーバ5aのアドレスを取得する(ステップS45)。
 次に、制御部14は、名前解決要求パケットの送信元アドレスを通信インタフェース11aのアドレスに書き換え、宛先アドレスを名前解決サーバ5aのアドレスに書き換え、通信インタフェース11aに出力する処理を実行するように、通信処理部15に指示する(ステップS46)。
 次に、制御部14は、名前解決要求パケットの送信元ポート番号と値Aとを対応付けて、制御部14の記憶領域に保存する(ステップS47)。
 図7に戻ると、通信処理部15は、制御部14によって指示された上記の処理を実行する(ステップS5)。
 次に、通信インタフェース11aは、名前解決要求パケットを図7には図示しない無線ネットワーク2aに出力する(ステップS6)。以上により、名前解決要求パケットは名前解決サーバ5aに送信される。
 次に、通信インタフェース11aは、名前解決サーバ5aから送信された名前解決応答パケットを、無線ネットワーク2aを介して受信し、通信処理部15に送る(ステップS11)。
 次に、通信処理部15は、通信インタフェース11aから入力された名前解決応答パケットと通信処理ルールとを照合し、名前解決応答パケットに合致する通信処理ルールが存在しないか、あるいは、制御部14へのパケット転送を規定した通信処理ルールに名前解決応答パケットが合致している場合、名前解決応答パケットを制御部14に送る(ステップS12)。本実施形態では、名前解決応答パケットに合致する通信処理ルールが存在しない場合について説明する。
 次に、制御部14は、名前解決応答パケットに対する処理の実行を通信処理部15に指示する(ステップS13)。図9は、ステップS13における制御部14の処理の詳細を例示するフロー図である。
 図9を参照すると、制御部14は、通信処理部15から名前解決応答パケットを受け付ける(ステップS131)。
 次に、制御部14は、自身の記憶領域を参照して、名前解決応答パケットの宛先ポート番号から、値Aを取得する(ステップS132)。
 次に、制御部14は、名前解決応答パケットの宛先アドレスを通信処理部15のアドレスに書き換え、送信元アドレスを値Aに書き換え、通信ソフトウェア基本部13に出力する処理を、通信処理部15に指示する(ステップS133)。すなわち、ステップS2で通信ソフトウェア基本部13が生成した名前解決要求パケットと、ステップS133の指示により通信処理部15が出力する名前解決応答パケットを比較すると、前記名前解決要求パケットの宛先アドレスと前記名前解決応答パケットの送信元アドレスとが一致し、前記名前解決要求パケットの送信元アドレスと前記名前解決応答パケットの宛先アドレスとが一致している。
 次に、制御部14は、当該宛先ポート番号と値Aの組を、自身の記憶領域から削除する(ステップS134)。
 図7に戻ると、通信処理部15は、ステップS133で制御部14に指示された通信処理を実行する(ステップS14)。
 次に、通信ソフトウェア基本部13は、通信処理部15から入力された名前解決応答パケットから名前解決応答データを抽出し、名前解決部17に送る(ステップS15)。この結果、名前解決部17は、名前解決サーバ5aから送信された名前解決応答データを取得し、その名前解決応答データをデータ授受部12aに送る(ステップS16)。
 本実施形態に係る通信端末1によると、名前解決部17が個別のデータ授受部12のそれぞれに一意の宛先アドレスへ名前解決要求を送るように、制御部14は設定記憶部16に設定情報を記憶させる。また、制御部14は、通信ソフトウェア基本部13を経由した名前解決要求パケットを受信し、当該名前解決要求パケットの宛先アドレスから名前解決要求元のデータ授受部12を特定する。これにより、制御部14は、名前解決要求パケットに含まれるサーバ名とデータ授受部12の識別子とを組み合わせてポリシと照合し、名前解決要求パケットを、ポリシに対応した無線ネットワーク2に接続された名前解決サーバ5に送信する。
 また、本実施形態に係る通信端末1によれば、設定記憶部16を参照し、データ授受部12のそれぞれに対応したアドレスを宛先として、名前解決要求データを出力するという既存の名前解決部17の特徴を利用している。したがって、既存の名前解決部17自体に変更を加えることなく、従来の端末に対して制御部14と通信処理部15を追加し、設定記憶部16に情報を記憶させることで、上述の本発明の課題を解決することが可能となる。
<実施形態2>
 次に、第2の実施形態に係る通信端末について、図面を参照して説明する。
 図10は、本実施形態の通信端末を含む通信システムを例示する図である。
 図10を参照すると、本実施形態の通信端末1が接続される通信システムにおいて、サーバ4a,4b、無線ネットワーク2a,2b、名前解決サーバ5a,5bおよび有線ネットワーク3は、それぞれ第1の実施形態におけるサーバ4、無線ネットワーク2a,2bおよび有線ネットワーク3と同様である。ただし、本実施形態の通信端末1が接続する通信システムでは、図1に示した第1の実施形態の通信端末が接続する通信システムに対して、さらに、ポリシサーバ6が追加されている。
 ポリシサーバ6は、通信端末1にポリシを送信する。ポリシ送信の契機は、例えば、通信端末1の要求、所定の時間経過、または、図10には図示しない装置の要求であってもよい。ただし、ポリシ送信の契機はこれらに限定されない。ポリシサーバ6は、例えば、ANDSF(Access Network Discovery and Selection Function)サーバなどである。ただし、ポリシサーバ6は、ANDSFサーバに限定されない。
 本実施形態の通信端末1の構成は、図2に示した第1の実施形態の通信端末1の構成と同様であるため、図示を省略する。
 本実施形態に係る通信端末1の制御部14は、第1実施形態の制御部14と比較して、さらに、ポリシサーバ6からポリシを受信する点で相違する。
 本実施形態の通信端末1によれば、第1の実施形態の通信端末1によってもたらされる効果に加えて、さらに、外部装置からポリシを更新することが可能となる。
 なお、上記実施形態では、アドレスを例として説明してきたが、アドレスを送信元ポート番号などに置き換えて同様の制御を行うことも可能である。
 本発明において、さらに、下記の形態が可能である。
[形態1]
 上記第1の態様に係る通信端末のとおりである。
[形態2]
 前記制御部は、前記設定記憶部を参照して前記パケットに含まれる識別子を付されたデータ授受部を特定すると共に、特定したデータ授受部と前記パケットに含まれる前記宛先装置を示す情報を前記所定のポリシに照合して前記複数の通信インタフェースの中から使用すべき通信インタフェースを決定する、形態1に記載の通信端末。
[形態3]
 前記所定のポリシは、前記データ授受部と前記宛先装置を示す情報と使用すべき通信インタフェースとの対応付けを含む、形態1または2に記載の通信端末。
[形態4]
 前記設定記憶部は、各通信インタフェースと対応する名前解決サーバのアドレスとを関連付けて保持し、
 前記制御部は、決定した通信インタフェースに対応する名前解決サーバのアドレスを前記設定記憶部に基づいて特定する、形態1ないし3のいずれか一に記載の通信端末。
[形態5]
 前記制御部は、前記所定のポリシをポリシサーバから受け付ける、形態1ないし4のいずれか一に記載の通信端末。
[形態6]
 前記制御部は、前記パケットの送信元ポート番号と前記データ授受部の識別子とを対応付けて保持し、前記パケットに対する応答パケットを受信すると、当該対応付けに基づいて、受信した応答パケットの宛先ポート番号に対応付けられたアドレスを特定し、
 前記通信処理部は、前記応答パケットの送信元アドレスを、前記制御部が特定したアドレスに変更して、前記通信ソフトウェア基本部に出力する、形態1ないし5のいずれか一に記載の通信端末。
[形態7]
 前記制御部は、受信した応答パケットの宛先ポート番号に対応付けられたアドレスを特定すると、前記保持する対応付けを削除する、形態6に記載の通信端末。
[形態8]
 上記第2の態様に係る通信方法のとおりである。
[形態9]
 前記通信端末が、前記設定記憶部を参照して前記パケットに含まれる識別子を付されたデータ授受部を特定する工程と、
 特定したデータ授受部と前記パケットに含まれる前記宛先装置を示す情報を前記所定のポリシに照合して、前記複数の通信インタフェースの中から使用すべき通信インタフェースを決定する工程と、を含む、形態8に記載の通信方法。
[形態10]
 前記所定のポリシは、前記データ授受部と前記宛先装置を示す情報と使用すべき通信インタフェースとの対応付けを含む、形態8または9に記載の通信方法。
[形態11]
 前記通信端末が、各通信インタフェースと対応する名前解決サーバのアドレスとを関連付けて前記設定記憶部に保持する工程と、
 前記決定した通信インタフェースに対応する名前解決サーバのアドレスを前記設定記憶部に基づいて特定する工程と、を含む、形態8ないし10のいずれか一に記載の通信方法。
[形態12]
 前記通信端末が、前記所定のポリシをポリシサーバから受け付ける工程を含む、形態8ないし11のいずれか一に記載の通信方法。
[形態13]
 前記通信端末が、前記パケットの送信元ポート番号と前記データ授受部の識別子とを対応付けて保持する工程と、
 前記パケットに対する応答パケットを受信すると、前記保持する対応付けに基づいて、受信した応答パケットの宛先ポート番号に対応付けられたアドレスを特定する工程と、
 前記応答パケットの送信元アドレスを、前記特定したアドレスに変更する工程と、を含む、形態8ないし12のいずれか一に記載の通信方法。
[形態14]
 前記通信端末が、受信した応答パケットの宛先ポート番号に対応付けられたアドレスを特定すると、前記保持する対応付けを削除する工程を含む、形態13に記載の通信方法。
[形態15]
 上記第3の態様に係るプログラムのとおりである。
[形態16]
 前記設定記憶部を参照して前記パケットに含まれる識別子を付されたデータ授受部を特定する処理と、
 特定したデータ授受部と前記パケットに含まれる前記宛先装置を示す情報を前記所定のポリシに照合して、前記複数の通信インタフェースの中から使用すべき通信インタフェースを決定する処理と、を前記コンピュータに実行させる、形態15に記載のプログラム。
[形態17]
 前記所定のポリシは、前記データ授受部と前記宛先装置を示す情報と使用すべき通信インタフェースとの対応付けを含む、形態15または16に記載のプログラム。
[形態18]
 各通信インタフェースと対応する名前解決サーバのアドレスとを関連付けて前記設定記憶部に保持する処理と、
 前記決定した通信インタフェースに対応する名前解決サーバのアドレスを前記設定記憶部に基づいて特定する処理と、を前記コンピュータに実行させる、形態15ないし17のいずれか一に記載のプログラム。
[形態19]
 前記所定のポリシをポリシサーバから受け付ける処理を前記コンピュータに実行させる、形態15ないし18のいずれか一に記載のプログラム。
[形態20]
 前記パケットの送信元ポート番号と前記データ授受部の識別子とを対応付けて保持する処理と、
 前記パケットに対する応答パケットを受信すると、前記保持する対応付けに基づいて、受信した応答パケットの宛先ポート番号に対応付けられたアドレスを特定する処理と、
 前記応答パケットの送信元アドレスを、前記特定したアドレスに変更する処理と、を前記コンピュータに実行させる、形態15ないし19のいずれか一に記載のプログラム。
[形態21]
 受信した応答パケットの宛先ポート番号に対応付けられたアドレスを特定すると、前記保持する対応付けを削除する処理を前記コンピュータに実行させる、形態20に記載のプログラム。
 なお、上記特許文献および非特許文献の全開示内容は、本書に引用をもって繰り込み記載されているものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素(各請求項の各要素、各実施形態の各要素、各図面の各要素等を含む)の多様な組み合わせ、ないし、選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。
1  通信端末
2、2a、2b  無線ネットワーク
3  有線ネットワーク
4、4a、4b  サーバ
5、5a、5b  名前解決サーバ
6  ポリシサーバ
11、11a、11b  通信インタフェース
12、12a、12b  データ授受部
13  通信ソフトウェア基本部
14  制御部
15  通信処理部
16  設定記憶部
17  名前解決部

Claims (10)

  1.  複数の通信インタフェースと、
     宛先装置との間でデータを送受信するデータ授受部と、
     前記データ授受部の識別子と前記データ授受部とを関連付けて保持する設定記憶部と、
     前記設定記憶部を参照して前記データ授受部の識別子を取得する名前解決部と、
     前記宛先装置を示す情報を含むと共に前記名前解決部が取得した識別子を含むパケットを生成する通信ソフトウェア基本部と、
     前記パケットに含まれる前記宛先装置を示す情報および前記データ授受部の識別子と所定のポリシとを用いて、前記複数の通信インタフェースの中から使用すべき通信インタフェースを決定し、決定した通信インタフェースに対応する名前解決サーバのアドレスを特定する制御部と、
     前記パケットの宛先アドレスを前記制御部が特定した名前解決サーバのアドレスに変更すると共に前記制御部が決定した通信インタフェースを介して前記パケットを送出する通信処理部と、を備える、通信端末。
  2.  前記制御部は、前記設定記憶部を参照して前記パケットに含まれる識別子を付されたデータ授受部を特定すると共に、特定したデータ授受部と前記パケットに含まれる前記宛先装置を示す情報を前記所定のポリシに照合して前記複数の通信インタフェースの中から使用すべき通信インタフェースを決定する、請求項1に記載の通信端末。
  3.  前記所定のポリシは、前記データ授受部と前記宛先装置を示す情報と使用すべき通信インタフェースとの対応付けを含む、請求項1または2に記載の通信端末。
  4.  前記設定記憶部は、各通信インタフェースと対応する名前解決サーバのアドレスとを関連付けて保持し、
     前記制御部は、決定した通信インタフェースに対応する名前解決サーバのアドレスを前記設定記憶部に基づいて特定する、請求項1ないし3のいずれか1項に記載の通信端末。
  5.  前記制御部は、前記所定のポリシをポリシサーバから受け付ける、請求項1ないし4のいずれか1項に記載の通信端末。
  6.  前記制御部は、前記パケットの送信元ポート番号と前記データ授受部の識別子とを対応付けて保持し、前記パケットに対する応答パケットを受信すると、当該対応付けに基づいて、受信した応答パケットの宛先ポート番号に対応付けられたアドレスを特定し、
     前記通信処理部は、前記応答パケットの送信元アドレスを、前記制御部が特定したアドレスに変更して、前記通信ソフトウェア基本部に出力する、請求項1ないし5のいずれか1項に記載の通信端末。
  7.  前記制御部は、受信した応答パケットの宛先ポート番号に対応付けられたアドレスを特定すると、前記保持する対応付けを削除する、請求項6に記載の通信端末。
  8.  複数の通信インタフェースと、宛先装置との間でデータを送受信するデータ授受部とを備えた通信端末が、
     前記データ授受部の識別子と前記データ授受部とを関連付けて設定記憶部に保持する工程と、
     前記設定記憶部を参照して前記データ授受部の識別子を取得する工程と、
     前記宛先装置を示す情報を含むと共に前記取得した識別子を含むパケットを生成する工程と、
     所定のポリシと前記パケットに含まれる前記宛先装置を示す情報および前記データ授受部の識別子を用いて、前記複数の通信インタフェースの中から使用すべき通信インタフェースを決定する工程と、
     決定した通信インタフェースに対応する名前解決サーバのアドレスを特定する工程と、
     前記パケットの宛先アドレスを前記特定した名前解決サーバのアドレスに変更すると共に、前記決定した通信インタフェースを介して前記パケットを送出する工程と、を含む、通信方法。
  9.  前記通信端末が、前記設定記憶部を参照して前記パケットに含まれる識別子を付されたデータ授受部を特定する工程と、
     特定したデータ授受部と前記パケットに含まれる前記宛先装置を示す情報を前記所定のポリシに照合して、前記複数の通信インタフェースの中から使用すべき通信インタフェースを決定する工程と、を含む、請求項8に記載の通信方法。
  10.  複数の通信インタフェースと、宛先装置との間でデータを送受信するデータ授受部とを備えた通信端末に設けられたコンピュータに対して、
     前記データ授受部の識別子と前記データ授受部とを関連付けて設定記憶部に保持する処理と、
     前記設定記憶部を参照して前記データ授受部の識別子を取得する処理と、
     前記宛先装置を示す情報を含むと共に前記取得した識別子を含むパケットを生成する処理と、
     所定のポリシと前記パケットに含まれる前記宛先装置を示す情報および前記データ授受部の識別子を用いて、前記複数の通信インタフェースの中から使用すべき通信インタフェースを決定する処理と、
     決定した通信インタフェースに対応する名前解決サーバのアドレスを特定する処理と、
     前記パケットの宛先アドレスを前記特定した名前解決サーバのアドレスに変更すると共に、前記決定した通信インタフェースを介して前記パケットを送出する処理と、を実行させる、プログラム。
PCT/JP2015/055344 2014-02-26 2015-02-25 通信端末、通信方法およびプログラム Ceased WO2015129727A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016505250A JPWO2015129727A1 (ja) 2014-02-26 2015-02-25 通信端末、通信方法およびプログラム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2014-034784 2014-02-26
JP2014034784 2014-02-26

Publications (1)

Publication Number Publication Date
WO2015129727A1 true WO2015129727A1 (ja) 2015-09-03

Family

ID=54009043

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2015/055344 Ceased WO2015129727A1 (ja) 2014-02-26 2015-02-25 通信端末、通信方法およびプログラム

Country Status (2)

Country Link
JP (1) JPWO2015129727A1 (ja)
WO (1) WO2015129727A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006333080A (ja) * 2005-05-26 2006-12-07 Nec Corp 携帯通信端末および通信経路選択方法と通信経路選択プログラム
US20120188949A1 (en) * 2011-01-20 2012-07-26 Motorola-Mobility, Inc. Wireless communication device, wireless communication system, and method of routing data in a wireless communication system
JP2013074453A (ja) * 2011-09-28 2013-04-22 Sharp Corp Ue、andsf、移動通信システム、pgw及び通信方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006333080A (ja) * 2005-05-26 2006-12-07 Nec Corp 携帯通信端末および通信経路選択方法と通信経路選択プログラム
US20120188949A1 (en) * 2011-01-20 2012-07-26 Motorola-Mobility, Inc. Wireless communication device, wireless communication system, and method of routing data in a wireless communication system
JP2013074453A (ja) * 2011-09-28 2013-04-22 Sharp Corp Ue、andsf、移動通信システム、pgw及び通信方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
TAKAHIRO IIHOSHI ET AL.: "An OpenFlow-based Scalable Method and its Implementation to Control Traffic on Mobile Terminal", IEICE TECHNICAL REPORT, vol. 112, no. 463, 28 February 2013 (2013-02-28), pages 477 - 482 *
TAKAHIRO IIHOSHI ET AL.: "Wi-Fi no Ribensei Kojo o Jitsugen suru Smart Device Tsushin Seigyo Gijutsu", NEC TECHNICAL JOURNAL, vol. 66, 1 February 2014 (2014-02-01), pages 36 - 39 *

Also Published As

Publication number Publication date
JPWO2015129727A1 (ja) 2017-03-30

Similar Documents

Publication Publication Date Title
JP5621778B2 (ja) コンテンツベーススイッチシステム、及びコンテンツベーススイッチ方法
WO2011087085A1 (ja) 計算機、ネットワーク接続切替え方法およびプログラム
JP2014533001A (ja) 転送装置の制御装置、転送装置の制御方法、通信システムおよびプログラム
US20150043588A1 (en) Communication System, Upper Layer Switch, Control Apparatus, Switch Control Method, and Program
US20150341267A1 (en) Control apparatus, communication apparatus, communication system, switch control method, and program
WO2015052867A1 (ja) 端末装置、端末装置制御方法および端末装置制御プログラム
JP5534033B2 (ja) 通信システム、ノード、パケット転送方法およびプログラム
US10177973B2 (en) Communication apparatus, communication method, and communication system
WO2014061583A1 (ja) 通信ノード、制御装置、通信システム、パケット処理方法及びプログラム
JP5747997B2 (ja) 制御装置、通信システム、仮想ネットワークの管理方法およびプログラム
JP2017123522A (ja) 通信装置、制御装置、通信システム、および、通信方法
US9942823B2 (en) Communication terminal, communication method, and communication program
JP6330814B2 (ja) 通信システム、制御指示装置、通信制御方法及びプログラム
JP6976199B2 (ja) 情報処理サーバおよび情報処理方法
WO2014034119A1 (en) Access control system, access control method, and program
US20150312206A1 (en) Control apparatus, communication system, communication method, and program
US20170019845A1 (en) Communication terminal, communication method, and program-containing storage medium
JP2015095789A (ja) 通信端末、通信方法および通信プログラム
WO2015129727A1 (ja) 通信端末、通信方法およびプログラム
WO2015052870A1 (ja) 端末装置、端末装置制御方法、および端末装置制御プログラム
US9860178B2 (en) Control message relay apparatus, control message relay method, and program
JP6175766B2 (ja) 通信ノード、制御装置、通信システム、エントリ集約方法及びプログラム
JPWO2015145976A1 (ja) 通信システム、制御指示装置、制御実施装置、通信制御方法およびプログラムを記憶する記憶媒体
JP2013120982A (ja) 通信システム、制御装置、通信方法およびプログラム
WO2014142081A1 (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: 15755398

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2016505250

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15755398

Country of ref document: EP

Kind code of ref document: A1