Communication devices, communication methods, and programs

JP7902387B2Active Publication Date: 2026-08-07MITSUBISHI ELECTRIC CORP
View PDF 3 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
MITSUBISHI ELECTRIC CORP
Filing Date
2025-04-28
Publication Date
2026-08-07

AI Technical Summary

Benefits of technology

【0008】 本開示では、ルールテーブルに基づいて使用条件が満たされるテーブル優先度が最も高いルーティングテーブルが選択され、選択されたルーティングテーブルに基づいて特定される通信アダプタが通信相手との通信に用いられる。従って、本開示によれば、簡単な構成で適切な通信アダプタを用いた通信を実現することができる。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007902387000001
    Figure 0007902387000001
  • Figure 0007902387000002
    Figure 0007902387000002
  • Figure 0007902387000003
    Figure 0007902387000003
Patent Text Reader

Abstract

A table management unit (114) generates a sub-routing table on the basis of a configuration file which is set by a user and in which a record including an address, the identifier of a communication adapter, the identifier of a routing table, and a table priority is registered, and updates a rule table. On the basis of the rule table, a communication unit (115) selects a routing table having the highest table priority from among routing tables in which use conditions are satisfied among a plurality of routing tables, and communicates with a communication partner using a communication adapter specified on the basis of the selected routing table among a plurality of communication adapters.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to a communication device, a communication method, and a program.

Background Art

[0002] In recent years, communication devices capable of connecting to a plurality of communication networks such as a mobile phone network and a wireless LAN (Local Area Network) are known. Such a communication device includes a plurality of communication adapters for connecting to the plurality of communication networks respectively. Generally, the communication device uses a routing table to identify a communication adapter corresponding to the subnet to which the communication partner belongs, and communicates with the communication partner using the identified communication adapter.

[0003] In such a communication device, a technique for selecting an appropriate routing table from a plurality of routing tables and determining an appropriate communication adapter using the selected routing table is known. For example, Patent Document 1 describes a technique in which a routing node determines a value related to a received data packet, selects one routing table from a plurality of routing tables, and transfers the data packet using the selected routing table.

Prior Art Documents

Patent Documents

[0004]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0005] However, the technology described in Patent Document 1 concerns a router with an unspecified number of communication partners, and therefore requires a complex configuration. On the other hand, communication devices that can connect to multiple communication networks are often not routers with an unspecified number of communication partners, but rather communication devices with specific communication partners. In such cases, it is desirable to select a communication adapter that can be used for communication with the communication partner with the simplest possible configuration. Therefore, there is a need for a technology that enables communication using an appropriate communication adapter with a simple configuration.

[0006] This disclosure has been made in view of the above-mentioned problems and aims to provide a communication device, a communication method, and a program that enable communication using an appropriate communication adapter with a simple configuration. [Means for solving the problem]

[0007] To achieve the above objectives, the communication device relating to this disclosure is Multiple communication adapters for connecting to multiple communication networks, A storage means for storing multiple routing tables in which records including the destination network ID and the communication adapter identifier are registered, the multiple routing tables including a main routing table in which a record indicating the default gateway is registered and sub-routing tables added by the user, and a rule table in which usage conditions and table priority regarding the communication partner are defined for each of the multiple routing tables, A table management means that generates the subrouting table and updates the rule table based on a configuration file set by the user, which contains records including the destination, communication adapter identifier, routing table identifier, and table priority. The system includes a communication means that, based on the rule table, selects the routing table with the highest table priority among the multiple routing tables that satisfy the usage conditions, and communicates with a communication partner using a communication adapter identified from among the multiple communication adapters based on the selected routing table. [Effects of the Invention]

[0008] In this disclosure, the routing table with the highest table priority that satisfies the usage conditions based on the rule table is selected, and the communication adapter identified based on the selected routing table is used for communication with the communication partner. Therefore, according to this disclosure, communication using an appropriate communication adapter can be achieved with a simple configuration. [Brief explanation of the drawing]

[0009] [Figure 1] Configuration diagram of the network system according to Embodiment 1 [Figure 2] Configuration diagram of the communication device according to Embodiment 1 [Figure 3] Diagram illustrating the functions of the software included in the communication device according to Embodiment 1. [Figure 4] Functional configuration diagram of the communication device according to Embodiment 1 [Figure 5] Diagram showing the main routing table according to Embodiment 1 [Figure 6] This is a diagram showing the configuration files according to Embodiment 1, where (A) is a diagram showing the first configuration file and (B) is a diagram showing the second configuration file. [Figure 7] Diagram showing the rule table according to Embodiment 1 [Figure 8] This is a diagram showing subrouting tables according to Embodiment 1, where (A) is a diagram showing the first subrouting table, (B) is a diagram showing the second subrouting table, and (C) is a diagram showing the third subrouting table. [Figure 9]Flowchart showing the table management process executed by the communication device according to Embodiment 1 [Figure 10] Flowchart showing the data transmission process performed by the communication device according to Embodiment 1 [Figure 11] Diagram showing the first subrouting table according to Embodiment 2 [Modes for carrying out the invention]

[0010] The embodiments of this disclosure will be described in detail below with reference to the drawings. In the drawings, the same or corresponding parts are denoted by the same reference numerals.

[0011] (Embodiment 1) Figure 1 is a diagram showing the configuration of the network system 1000 according to this embodiment. The network system 1000 comprises a communication device 100, a router 210, a router 220, a router 230, a terminal device 310, a terminal device 311, a terminal device 320, a terminal device 321, a terminal device 330, a DNS (Domain Name System) server 410, a DNS server 420, a DNS server 430, a communication network 510, a communication network 511, a communication network 520, a communication network 521, a communication network 530, a communication network 540, and a communication network 541.

[0012] The communication device 100 is a device that communicates with other devices using multiple communication adapters. Hereinafter, other devices will be referred to as communication partners. The communication device 100 selects the communication adapter to be used for communication with the communication partner by referring to a rule table for selecting a routing table according to the communication partner and multiple routing tables that define the communication adapter according to the communication partner. The communication device 100 is, for example, a device for managing a facility. As shown in Figure 2, the communication device 100 comprises a control unit 11, a storage unit 12, a display unit 13, an operation reception unit 14, a first communication unit 15, a second communication unit 16, and a third communication unit 17.

[0013] The control unit 11 includes a CPU (Central Processing Unit), a ROM (Read Only Memory), a RAM (Random Access Memory), a RTC (Real Time Clock), etc. The CPU is also called a central processing unit, a central arithmetic unit, a processor, a microprocessor, a microcomputer, a DSP (Digital Signal Processor), etc., and functions as a central arithmetic processing unit that executes processes and calculations related to the control of the communication device 100. In the control unit 11, the CPU reads programs and data stored in the ROM, and uses the RAM as a work area to comprehensively control the communication device 100. The RTC is, for example, an integrated circuit having a timekeeping function. Note that the CPU can specify the current date and time from the time information read from the RTC.

[0014] The storage unit 12 includes non-volatile semiconductor memories such as a flash memory, an EPROM (Erasable Programmable ROM), and an EEPROM (Electrically Erasable Programmable ROM), and plays a role as a so-called auxiliary storage device. The storage unit 12 stores programs and data used by the control unit 11 to execute various processes. In addition, the storage unit 12 stores data generated or acquired by the control unit 11 by executing various processes.

[0015] The storage unit 12 stores a plurality of routing tables and a rule table. Records including the destination network ID and the identifier of the communication adapter are registered in each of the plurality of routing tables. The plurality of routing tables include a main routing table in which a record indicating the default gateway is registered and a sub-routing table added by the user. In the rule table, usage conditions regarding the communication partner and table priorities are defined for each of the plurality of routing tables. The storage unit 12 is an example of storage means.

[0016] The display unit 13 displays various images according to the control by the control unit 11. For example, the display unit 13 displays a screen for receiving various operations from the user. The display unit 13 includes a touch screen, a liquid crystal display, and the like. The operation reception unit 14 receives various operations from the user and supplies information indicating the content of the received operations to the control unit 11. The operation reception unit 14 includes a touch screen, buttons, levers, and the like.

[0017] The first communication unit 15 communicates with devices connected to the communication network 510 according to the control by the control unit 11. The first communication unit 15 communicates with the terminal device 311 connected to the communication network 510. The first communication unit 15 communicates with the terminal device 310, the DNS server 410, etc. connected to the communication network 511 connected to the communication network 510 via the router 210. The first communication unit 15 includes a communication adapter 151 that connects to the communication network 510 according to the TCP (Transmission Control Protocol) / IP (Internet Protocol) standard. The communication adapter 151 is a communication interface conforming to standards such as Wi-Fi (registered trademark), Ethernet (registered trademark), etc.

[0018] The second communication unit 16 communicates with devices connected to the communication network 520 according to the control by the control unit 11. The second communication unit 16 communicates with the terminal device 321 connected to the communication network 520. The second communication unit 16 communicates with the terminal device 320, the DNS server 420, etc. connected to the communication network 521 connected to the communication network 520 via the router 220. The second communication unit 16 includes a communication adapter 161 that connects to the communication network 520 according to the TCP / IP standard. The communication adapter 161 is a communication interface conforming to standards such as Wi-Fi (registered trademark), Ethernet (registered trademark), etc.

[0019] The third communication unit 17 communicates with devices connected to the communication network 530 according to the control of the control unit 11. The third communication unit 17 communicates with terminal devices 330, DNS servers 430, etc., connected to the communication network 541, which is connected to the communication network 540 connected to the communication network 530 via the router 230. The third communication unit 17 includes a communication adapter 171 that connects to the communication network 530 according to the TCP / IP standard. The communication adapter 171 is a communication interface that conforms to standards such as LTE (Long Term Evolution), 4G (4th Generation), and 5G (5th Generation). Communication adapters 151, 161, and 171 are examples of multiple communication adapters.

[0020] Router 210 is a communication device that connects communication network 510 and communication network 511. Router 210 relays data between communication network 510 and communication network 511. Router 210 includes a communication adapter (not shown) that connects to communication network 510 and a communication adapter (not shown) that connects to communication network 511. Router 210 functions as a gateway.

[0021] Router 220 is a communication device that connects communication network 520 and communication network 521. Router 220 relays data between communication network 520 and communication network 521. Router 220 includes a communication adapter (not shown) that connects to communication network 520 and a communication adapter (not shown) that connects to communication network 521. Router 220 functions as a gateway.

[0022] Router 230 is a communication device that connects communication network 540 and communication network 541. Router 230 relays data between communication network 540 and communication network 541. Router 230 includes a communication adapter (not shown) that connects to communication network 540 and a communication adapter (not shown) that connects to communication network 541.

[0023] Terminal devices 310, 311, 320, 321, and 330 are communication partners of the communication device 100. Terminal device 310 is a device connected to the communication network 511. Terminal device 310 includes a communication adapter (not shown) that connects to the communication network 511. Terminal device 311 is a device connected to the communication network 510. Terminal device 311 includes a communication adapter (not shown) that connects to the communication network 510.

[0024] Terminal device 320 is a device connected to the communication network 521. Terminal device 320 includes a communication adapter (not shown) that connects to the communication network 521. Terminal device 321 is a device connected to the communication network 520. Terminal device 321 includes a communication adapter (not shown) that connects to the communication network 520. Terminal device 330 is a device connected to the communication network 541. Terminal device 330 includes a communication adapter (not shown) that connects to the communication network 541.

[0025] DNS servers 410, 420, and 430 are servers that provide a mechanism for translating DNS hostnames and IP addresses. DNS server 410 is connected to the communication network 511. Therefore, DNS server 410 is capable of translating DNS hostnames and IP addresses for terminal devices 310 connected to the communication network 511. In other words, DNS server 410 has the function of translating the DNS hostname of terminal device 310 to the IP address of terminal device 310, and the function of translating the IP address of terminal device 310 to the DNS hostname of terminal device 310.

[0026] DNS server 420 is connected to communication network 521. Therefore, DNS server 420 can translate DNS hostnames and IP addresses for terminal devices 320 connected to communication network 521. DNS server 430 is connected to communication network 541. Therefore, DNS server 430 can translate DNS hostnames and IP addresses for terminal devices 330 connected to communication network 541.

[0027] Communication networks 510, 511, 520, 521, 530, 540, and 541 are communication networks that send and receive data according to the TCP / IP standard. Each of communication networks 510, 511, 520, and 521 is, for example, a wireless LAN or wired LAN installed within a facility.

[0028] Communication network 530 is, for example, a mobile phone network. Communication network 540 is, for example, the Internet. Communication network 541 is, for example, a wireless LAN or wired LAN installed in another facility. Communication network 530 and communication network 541 are interconnected via communication network 540. Note that base stations, exchanges, etc. are not shown in Figure 1. In this embodiment, the communication device 100 can communicate with a communication partner installed in another facility via communication network 530, which is a mobile phone network, and communication network 540, which is the Internet.

[0029] Next, referring to Figure 3, the functions of the software provided by the communication device 100 will be described. The communication device 100 includes, as software, a kernel 50, network management software 60, and PBR (Policy Based Routing) management software 70.

[0030] The kernel 50 is the core software of the operating system. The operating system is the basic software that manages the entire computer system in the communication device 100. The kernel 50 manages the main routing table 51, sub-routing table 52, rule table 53, etc., where the network settings of the communication device 100 are registered. When the kernel 50 detects a change in network settings by the network management software 60, it notifies the PBR management software 70 that the network settings have been changed.

[0031] The network management software 60 works in conjunction with the kernel 50 to manage the network settings of the communication device 100. The network management software 60 starts immediately after the communication device 100 boots up and remains resident. The network management software 60 changes the network settings of the communication device 100 by updating the main routing table 51. Network settings performed by the network management software 60 include setting the default gateway, setting the IP address of the communication adapter 151, and setting the IP address of the communication adapter 161.

[0032] The PBR management software 70 is software that works in conjunction with the kernel 50 to manage the network settings of the communication device 100. The PBR management software 70 is software that starts up immediately after the communication device 100 starts up and remains resident. The PBR management software 70 changes the network settings of the communication device 100 by adding subrouting tables 52, updating rule tables 53, etc.

[0033] The PBR management software 70 monitors the status of communication adapters 151, 161, 171, etc. When the PBR management software 70 receives notification from the kernel 50 that the network settings have been changed, it performs actions such as adding to the subrouting table 52 and updating the rule table 53 according to the contents of the configuration file 80. The configuration file 80 is a file managed by the PBR management software 70 and shows the contents of the network settings made by the user. The configuration file 80 is a file for setting destinations, communication adapters used for communication, tables used during communication, etc.

[0034] Next, the functions of the communication device 100 will be described with reference to Figure 4. Functionally, the communication device 100 comprises a configuration file generation unit 111, a port number notification unit 112, an address identification unit 113, a table management unit 114, and a communication unit 115. Each of these functions is realized by software, firmware, or a combination of software and firmware. The software and firmware are written as programs and stored in the ROM or storage unit 12. The CPU then realizes each of these functions by executing the programs stored in the ROM or storage unit 12.

[0035] The configuration file generation unit 111 generates a configuration file 80 based on the configuration information obtained from the user. The configuration information is information for generating the configuration file 80, and is, for example, information supplied by the user through user operations to the operation reception unit 14. The configuration file 80 is a file configured by the user. The configuration file 80 is basically a file in which the communication adapter used for communication with communication partners that cannot be communicated via the default gateway, the subrouting table 52 which specifies the use of this communication adapter, etc. The configuration file 80 registers records that include, for example, the destination, the identifier of the communication adapter, the identifier of the routing table, and the table priority.

[0036] The port number notification unit 112 notifies port numbers for TCP, UDP (User Datagram Protocol), etc. A port number is a number used by a computer to identify a program used for communication. For example, when the communication device 100 is started up, the port number notification unit 112 notifies the configuration file generation unit 111 and the table management unit 114 of the port number that the communication device 100 will use.

[0037] The address identification unit 113 identifies the IP address of the communication partner from the DNS hostname of the communication partner. For example, the address identification unit 113 identifies the IP address of the communication partner from the DNS hostname of the communication partner contained in the configuration file 80 generated by the configuration file generation unit 111. The address identification unit 113 identifies the IP address of the communication partner through name resolution by DNS servers 410, 420, 430, etc. For example, if the communication partner is terminal device 320, the address identification unit 113 sends the DNS hostname of terminal device 320 to DNS server 420 and obtains the IP address of terminal device 320 from DNS server 420.

[0038] The table management unit 114 manages multiple routing tables and a rule table 53. Based on the configuration file 80 generated by the configuration file generation unit 111, the table management unit 114 generates a subrouting table 52 and updates the rule table 53. The table management unit 114 includes a routing table generation unit 1141 and a rule table update unit 1142.

[0039] The routing table generation unit 1141 generates a subrouting table 52 based on the configuration file 80. The routing table generation unit 1141 basically generates a subrouting table 52 to be used for communication with communication partners that cannot be communicated through the default gateway. The routing table generation unit 1141 updates the rule table 53 based on the configuration file 80. The routing table generation unit 1141 updates the rule table 53 so that the generated subrouting table 52 is used when communicating with the above communication partners. The table management unit 114 is an example of a table management means.

[0040] The communication unit 115 communicates with the communication partner using a communication adapter identified based on the routing table and the rule table 53. Specifically, first, the communication unit 115 identifies a routing table from among several routing tables that satisfies the usage conditions, based on the rule table 53. The communication unit 115 then selects the routing table with the highest table priority among the identified routing tables.

[0041] The communication unit 115 selects a communication adapter from among several communication adapters to use for communication with the communication partner, based on the selected routing table. For example, the communication unit 115 identifies the record to be used for communication with the communication partner by searching for the longest match of subnet masks, and then identifies the communication adapter indicated by the identified record. The communication unit 115 then communicates with the communication partner using the identified communication adapter. The communication unit 115 is an example of a communication means.

[0042] Thus, in this embodiment, based on the rule table 53, the routing table with the highest table priority that satisfies the usage conditions is selected, and the communication adapter identified based on the selected routing table is used for communication with the communication partner. With this configuration, communication using an appropriate communication adapter can be realized with a simple configuration.

[0043] Furthermore, in this embodiment, the records registered in the configuration file 80 and the records registered in the subrouting table 52 include a metric value corresponding to the route priority. The configuration file 80 may contain multiple records in which the destination, routing table identifier, and table priority are the same, but the communication adapter identifier and metric value are different. The subrouting table 52 may contain multiple records in which the destination network ID is the same, but the communication adapter identifier and metric value are different.

[0044] When the communication unit 115 selects the subrouting table 52 and multiple records are identified by the communication partner, it communicates with the communication partner using the communication adapter identified from the record with the highest route priority corresponding to the metric value among the multiple records. With this configuration, it is possible to achieve communication using the communication adapter best suited for communication with the communication partner.

[0045] Furthermore, in this embodiment, the subrouting table 52 contains records that include the destination network ID that matches all communication partners, the identifier of the dummy communication adapter, and a metric value corresponding to the lowest route priority. If the communication adapter identified based on the selected routing table is a dummy communication adapter, the communication unit 115 discards the data to be sent to the communication partner. With this configuration, if there is no communication adapter available for communication with the communication partner, the transmission of data using a communication adapter that is not available for communication with the communication partner is suppressed.

[0046] Furthermore, in this embodiment, the subrouting table 52 contains a record that includes a network ID corresponding to the first communication network among multiple communication networks, and an identifier for the first communication adapter. The first communication adapter is a communication adapter for connecting to the first communication network among multiple communication adapters. With this configuration, when the communication device 100 and the communication partner are connected to the same communication network, communication using the appropriate communication adapter can be achieved.

[0047] Furthermore, in this embodiment, the configuration file 80 contains a record that includes the DNS hostname of the communication partner as the destination. The IP address of the communication partner is obtained from the DNS server by sending the DNS hostname of the communication partner to the DNS server that associates the DNS hostname of the communication partner with the IP address of the communication partner. The table management unit 114 updates the rule table 53 so that the usage conditions for the subrouting table 52 corresponding to the above record are defined by the IP address of the communication partner. With this configuration, when configuring the configuration file 80, the user can specify the communication partner using the DNS hostname instead of the IP address.

[0048] In this embodiment, the table management unit 114 generates a subrouting table 52 in which records containing the IP address of the communication partner are registered as the destination network ID. The table management unit 114 also updates the rule table 53 so that the usage conditions for the subrouting table 52 are defined by the IP address of the communication partner. With this configuration, even if multiple communication partners are registered in a single subrouting table 52, communication using the appropriate communication adapter can be achieved.

[0049] Furthermore, in this embodiment, the rule table 53 defines the usage conditions for the subrouting table 52 based on the port number used for communication with the communication partner. With this configuration, it is possible to specify the communication partner by port number rather than by IP address, DNS hostname, etc.

[0050] Next, with reference to Figure 5, the main routing table 51 will be described. The main routing table 51 is stored, for example, in the storage unit 12. The main routing table 51 is the main routing table among the multiple routing tables provided by the communication device 100. A routing table is a table that holds a list of routes to destinations for individual networks. The main routing table 51 is updated, for example, by the network management software 60. The main routing table 51 registers records that include subnets, gateways, adapter names, and metric values.

[0051] A subnet is an example of a destination network ID. The destination network ID is essentially the ID of the communication network to which the communication partner belongs. The destination network ID is expressed in a format similar to an IP address. In this embodiment, the destination network ID includes the subnet prefix length. The subnet prefix length is a numerical value indicating the size of the subnet and effectively corresponds to the subnet mask.

[0052] A subnet mask is a numerical value used to distinguish between the network address portion and the host address portion of an IP address, and is used to extract the network address portion from an IP address. The network address portion is the part of the IP address that indicates the network. The host address portion is the part of the IP address that indicates the device.

[0053] In the third record from the top of the main routing table 51 shown in Figure 5, the subnet is "192.168.1.0 / 24". In this case, "192.168.1" is the network address part, "0" is the host address part, and "24" is the subnet prefix length. A subnet prefix length of "24" is equivalent to a subnet mask of "255.255.255.0" in decimal notation. Hereafter, the Nth record from the top will be referred to as the Nth record.

[0054] Furthermore, in the first record, the subnet is "0.0.0.0 / 0". In this case, there is no network address portion; "0.0.0.0" is the host address portion, and "0" is the subnet prefix length. A subnet prefix length of "0" is equivalent to a subnet mask of "0.0.0.0" in decimal notation. In other words, the first record is a record where the network address portion matches regardless of the value of the IP address of the communication partner.

[0055] The gateway is represented by its IP address. The adapter name is the name of the communication adapter. The adapter name is an example of a communication adapter identifier. The metric value is a numerical value corresponding to the route priority and is basically an indicator of the distance between networks. Generally, the shorter the distance between networks, the higher the route priority and the smaller the metric value. In other words, the higher the route priority, the smaller the metric value is set to. Route priority is the priority when selecting a route and the priority when selecting a record. Users set the route priority of the records they want to be selected preferentially to be higher. On the other hand, if there are multiple records that match the conditions, the communication unit 115 communicates using the communication adapter specified by the record with the highest route priority.

[0056] The first and second records in the main routing table 51 shown in Figure 5 are records indicating the default gateway. The first record indicates that router 210 with the IP address "192.168.1.250" is the default gateway and that communication is performed using communication adapter 151 with the adapter name "lan1". The second record indicates that router 220 with the IP address "192.168.2.250" is the default gateway and that communication is performed using communication adapter 161 with the adapter name "lan2".

[0057] Here, the communication unit 115 identifies the record to be used for communication with the communication partner by longest match search. Specifically, the communication unit 115 compares the communication partner's IP address with the destination network ID and identifies the record in which the communication partner's IP address matches the network address portion of the destination network ID as the record that matches the communication partner. The communication unit 115 identifies the record with the longest subnet prefix length among the records that match the communication partner as the record to be used for communication with the communication partner. If there are multiple records with the longest subnet prefix length, the communication unit 115 identifies the record with the smallest metric value among the multiple records with the longest subnet prefix length as the record to be used for communication with the communication partner.

[0058] The record indicating the default gateway matches any communication partner because its subnet is "0.0.0.0 / 0", but its subnet prefix length is 0. Therefore, if there is another record that matches the communication partner, the record indicating the default gateway is not selected as the record to use for communication with that partner. If there is no other record that matches the communication partner, the record with the smallest metric value among the records indicating the default gateway is selected as the record to use for communication with the communication partner. In the example shown in Figure 5, the first record is selected as the record to use for communication with the communication partner.

[0059] The third and fourth records of the main routing table 51 shown in Figure 5 are records corresponding to local subnets. Local subnets correspond to communication networks 510 and 520 to which the communication device 100 is directly connected. The third record indicates that for communication with a communication partner connected to communication network 510 corresponding to the subnet "192.168.1.0 / 24", the communication adapter 151 with the adapter name "lan1" should be used. The fourth record indicates that for communication with a communication partner connected to communication network 520 corresponding to the subnet "192.168.2.0 / 24", the communication adapter 161 with the adapter name "lan2" should be used.

[0060] When using the main routing table 51 shown in Figure 5, communication device 100 can only communicate with specific communication partners. Specifically, communication device 100 can communicate with terminal device 311 using the third record, and can communicate with terminal device 321 using the fourth record. Furthermore, communication device 100 can communicate with terminal device 310 using the first record. However, communication device 100 cannot communicate with terminal devices 320 and 330.

[0061] In order for the communication device 100 to communicate with terminal device 320 or terminal device 330, it is necessary to add a record for communication with terminal device 320 or terminal device 330 to the main routing table 51. For example, a record for communication with terminal device 320 could include "203.0.113.0 / 24", which indicates the network ID of the communication network 521, as the subnet, "192.168.2.250", which indicates the IP address of router 220, as the gateway, and "lan2", which indicates the name of communication adapter 161, as the adapter name. Alternatively, a record for communication with terminal device 320 could include "203.0.113.1 / 32", which indicates the IP address of terminal device 320, as the subnet, "192.168.2.250", which indicates the IP address of router 220, as the gateway, and "lan2", which indicates the name of communication adapter 161, as the adapter name.

[0062] However, even with these measures in place, several problems can arise when using only the main routing table 51 for communication. For example, if a link down occurs on the communication adapter 161, the network management software 60 removes information about the downed communication adapter 161 from the network configuration. In other words, the network management software 60 removes the record from the main routing table 51 that shows "lan2," which indicates the name of the communication adapter 161, as the adapter name.

[0063] In this case, the communication device 100 attempts to communicate with the terminal device 320, for example, by using the first record of the main routing table 51 to communicate using the communication adapter 151. As a result, the communication device 100 sends the packet intended for the terminal device 320 to the router 210. Possible causes of the link down include the disconnection of the connector from the communication adapter or the cutting of the communication cable.

[0064] Furthermore, the records registered in the main routing table 51 are records that identify the communication partner based on the network ID of the communication network to which the communication partner is connected, the communication partner's IP address, etc. However, there are cases where the user does not know the network ID of the communication network to which the communication partner is connected, the communication partner's IP address, etc., but knows the communication partner's DNS hostname. In such cases, the user cannot register a record in the main routing table 51 that identifies the communication partner by the communication partner's DNS hostname.

[0065] Furthermore, users may want to identify a communication partner not by the network ID of the communication network to which the communication partner is connected, the IP address of the communication partner, or the DNS hostname of the communication partner, but by the port number used for communication with the communication partner. In such cases, the user cannot register a record in the main routing table 51 that identifies the communication partner by the port number used for communication with the communication partner. Therefore, in this embodiment, in addition to the main routing table 51, a subrouting table 52, a rule table 53, a configuration file 80, etc., are used.

[0066] Refer to Figure 6 to explain the configuration file 80. The configuration file 80 is stored, for example, in the storage unit 12. Figure 6(A) shows the first configuration file. Figure 6(B) shows the second configuration file. The first configuration file is a configuration file 80 that specifies the destination by the IP address or DNS hostname of the communication partner. The second configuration file is a configuration file 80 that specifies the destination by the port number used for communication with the communication partner.

[0067] Configuration file 80 is a file that specifies, for each destination, the communication adapter to be used for communication, the priority of the communication adapter to be used for communication, the subrouting table 52 to be used for communication, and the priority of the subrouting table 52 to be used for communication. Configuration file 80 contains records that show the destination, adapter name, metric value, table name, and table priority.

[0068] The destination is information that specifies the target communication partner. The table name is the name of the routing table. The table name is an example of a routing table identifier. In the first configuration file, the destination is specified by the IP address or DNS hostname of the communication partner. In the second configuration file, the destination is specified by the port number used for communication with the communication partner. The table priority is the priority of the routing table. In other words, if there are multiple routing tables that match the usage conditions, the routing table with the highest table priority will be used. In this embodiment, the smaller the numerical value indicating the table priority, the higher the table priority.

[0069] The first record in the first configuration file shown in Figure 6(A) is a record that instructs the system to use the subrouting table 52 with the table name "table1000" when the communication partner is terminal device 330 with the DNS hostname "www.example.com". The first record also instructs the system to use the communication adapter 171 with the adapter name "ppp0", to set the metric value corresponding to the priority of this communication adapter 171 to "100", and to set the priority of this subrouting table 52 to "1000".

[0070] The second record in the first configuration file shown in Figure 6(A) is a record that instructs the system to use the subrouting table 52 with the table name "table1000" when the communication partner is terminal device 330 with the DNS hostname "www.example.com". The second record also instructs the system to use the communication adapter 151 with the adapter name "lan1", to set the metric value corresponding to the priority of this communication adapter 151 to "200", and to set the priority of this subrouting table 52 to "1000".

[0071] The third record in the first configuration file shown in Figure 6(A) is a record that instructs the system to use the subrouting table 52 with the table name "table3000" when the communication partner is terminal device 320 with the IP address "203.0.113.1". The third record also instructs the system to use the communication adapter 161 with the adapter name "lan2", to set the metric value corresponding to the priority of this communication adapter 161 to "300", and to set the priority of this subrouting table 52 to "3000".

[0072] The first record in the second configuration file shown in Figure 6(B) is a record that instructs the system to use the subrouting table 52 with the table name "table2000" when communicating with the communication partner using the UDP port number "8000". The first record also instructs the system to use the communication adapter 151 with the adapter name "lan1", to set the metric value corresponding to the priority of this communication adapter 151 to "100", and to set the priority of this subrouting table 52 to "2000".

[0073] The second record in the second configuration file shown in Figure 6(B) is a record that instructs the system to use the subrouting table 52 with the table name "table2000" when communicating with the communication partner using the UDP port number "8000". The second record also instructs the system to use the communication adapter 161 with the adapter name "lan2", to set the metric value corresponding to the priority of this communication adapter 161 to "200", and to set the priority of this subrouting table 52 to "2000".

[0074] In this embodiment, the second configuration file is a file in which the user specifies the communication adapter name, metric value, etc., when the UDP port number "8000" is used. In other words, in this embodiment, the user cannot specify the UDP port number in the second configuration file. Specifically, in this embodiment, the configuration file generation unit 111 presents the port number notified by the port number notification unit 112 to the user, and then accepts the communication adapter name, metric value, etc., from the user.

[0075] Furthermore, if the destination is specified by a UDP port number, there is no need for the user to specify the destination. However, in this embodiment, the user specifies "x" as the destination. On the other hand, if "x" is specified as the destination, the configuration file generation unit 111 generates a subrouting table 52 with the subnet of the corresponding record set to "0.0.0.0 / 0".

[0076] Next, the rule table 53 will be described with reference to Figure 7. The rule table 53 is stored, for example, in the storage unit 12. The rule table 53 is updated by the rule table update unit 1142. The rule table 53 is a table that specifies the routing table to be used, the usage conditions for the routing table, and the priority of the routing table. The rule table 53 contains records that include the table priority, usage conditions, and table name. The usage conditions are the conditions for using the routing table. The usage conditions are conditions related to the communication partner and are specified by the communication partner's IP address, the port number used for communication with the communication partner, etc.

[0077] The first record in the rule table 53 shown in Figure 7 indicates that when the communication partner is terminal device 330 with the IP address "93.184.216.32", the subrouting table 52 with the table name "table1000" and a table priority of "1000" is used.

[0078] The second record in the rule table 53 shown in Figure 7 indicates that when communicating with a communication partner using the UDP port number "8000", a subrouting table 52 with the table name "table2000" and a table priority of "2000" is used.

[0079] The third record in the rule table 53 shown in Figure 7 indicates that when terminal device 320 with the IP address "203.0.113.1" is the communication partner, the subrouting table 52 with the table name "table3000" and a table priority of "3000" is used.

[0080] The fourth record in the rule table 53 shown in Figure 7 indicates that, regardless of the communication partner, the main routing table 51 with the table name "table32766" and a table priority of "32766" will be used. In this embodiment, the number following "table" in the routing table's name indicates the table priority. If there are multiple records in the rule table 53 that match the usage conditions, the routing table with the highest table priority among the multiple records that match the usage conditions will be used.

[0081] The rule table update unit 1142 updates the rule table 53 based on the configuration file 80. Initially, the rule table 53 has only the fourth record of the rule table 53 registered, as shown in Figure 7. The rule table update unit 1142 generates the first record of the rule table 53 shown in Figure 7 based on the first and second records of the first configuration file shown in Figure 6(A).

[0082] The rule table update unit 1142 generates the second record of the rule table 53 shown in Figure 7 based on the first and second records of the second configuration file shown in Figure 6(B). The rule table update unit 1142 generates the third record of the rule table 53 shown in Figure 7 based on the third record of the first configuration file shown in Figure 6(A).

[0083] The table priority in rule table 53 corresponds to the table priority in configuration file 80. The usage conditions in rule table 53 correspond to the destinations in configuration file 80. The table names in rule table 53 correspond to the table names in configuration file 80. Note that destinations specified by the DNS hostname of the communication partner in configuration file 80 are converted to the IP address of the communication partner, and the IP address of the communication partner is registered in rule table 53.

[0084] Next, with reference to Figure 8, the subrouting table 52 will be described. The subrouting table 52 is stored, for example, in the storage unit 12. The subrouting table 52 is generated by the routing table generation unit 1141. The subrouting table 52 is a routing table used when communicating with a specific communication partner. The subrouting table 52 basically has records similar to those of the main routing table 51. That is, the subrouting table 52 registers records including subnets, gateways, adapter names, and metric values.

[0085] Figure 8(A) shows the first subrouting table with the table name "table1000". Figure 8(B) shows the second subrouting table with the table name "table2000". Figure 8(C) shows the third subrouting table with the table name "table3000".

[0086] The first record in the first subrouting table indicates that when terminal device 330 with the IP address "93.184.216.32 / 32" is the communication partner, the communication adapter 171 with the adapter name "ppp0" will be used. The second record in the first subrouting table indicates that when terminal device 330 with the IP address "93.184.216.32 / 32" is the communication partner, the communication adapter 151 with the adapter name "lan1" will be used.

[0087] The metric value indicated by the first record in the first subrouting table is "100," and the metric value indicated by the second record in the first subrouting table is "200." Therefore, the first record in the first subrouting table takes precedence over the second record in the first subrouting table. In other words, when terminal device 330 is the communication partner, communication adapter 171 is used preferentially over communication adapter 151. However, if communication adapter 171 is down and the first record in the first subrouting table has been deleted, communication adapter 151 will be used.

[0088] The third record in the first subrouting table indicates that a dummy communication adapter with the adapter name "dummy0" will be used if no other record matching the communication partner exists in the first subrouting table. The dummy communication adapter is a communication adapter that does not actually exist and will not cause a link down. In other words, the use of the dummy communication adapter means that the transmitted packets will be discarded and communication with the communication partner will not take place.

[0089] The reason for creating such records is to suppress the transmission of outgoing packets that do not reach the communication partner. For example, if such records do not exist and all communication adapters used for communication with the communication partner are down, another routing table that matches the usage conditions will be used. If no other subrouting table 52 that matches the usage conditions exists, the main routing table 51 will be used.

[0090] As a result, outgoing packets are sent from the communication adapter connected to the default gateway. However, this communication adapter may be one that is not used for communication with the communication partner. In this case, outgoing packets that do not reach the communication partner are sent, which is undesirable. Therefore, as described above, a record indicating the use of a dummy communication adapter is prepared.

[0091] The fourth record in the first subrouting table indicates that when the communication partner is terminal device 311 connected to communication network 510 with the network ID "192.168.1.0 / 24", the communication adapter 151 with the adapter name "lan1" will be used. In other words, the fourth record is a record that ensures communication with terminal device 311 connected to the local subnet.

[0092] If this record does not exist, a communication adapter not used for communication with terminal device 311 may be used. For example, when communicating with terminal devices 311 and 320 using a specific port number, the destination may be specified by this specific port number in order to communicate with terminal device 320. If the subrouting table 52 generated by this destination specification is used, the communication adapter 161 used for communication with terminal device 320 will be used. However, if communication adapter 161 is used, communication with terminal device 311 cannot be established. Therefore, as described above, a record is prepared to ensure communication with terminal device 311 connected to the local subnet.

[0093] The first record in the second subrouting table indicates that if no other record matching the communication partner exists in the second subrouting table, the communication adapter 151 with the adapter name "lan1" will be used. The second record in the second subrouting table indicates that if no other record matching the communication partner exists in the second subrouting table, the communication adapter 161 with the adapter name "lan2" will be used. The third record in the second subrouting table indicates that if no other record matching the communication partner exists in the second subrouting table, the dummy communication adapter with the adapter name "dummy0" will be used.

[0094] The metric value indicated by the first record in the second subrouting table is "100", the metric value indicated by the second record in the second subrouting table is "200", and the metric value indicated by the third record in the second subrouting table is "9999". Therefore, the first record in the second subrouting table takes precedence over the second record in the second subrouting table. Also, the second record in the second subrouting table takes precedence over the third record in the second subrouting table.

[0095] Therefore, if communication adapter 151 is not linked down, communication adapter 151 is used. Also, if communication adapter 151 is linked down, communication adapter 161 is used. If both communication adapter 151 and communication adapter 161 are linked down, a dummy communication adapter is used.

[0096] The fourth record in the second subrouting table is a record that ensures communication with terminal device 311 connected to the local subnet. The fifth record in the second subrouting table is a record that ensures communication with terminal device 321 connected to the local subnet.

[0097] The first record in the third subrouting table indicates that if terminal device 320 with the IP address "203.0.113.1 / 32" is the communication partner, then communication adapter 161 with the adapter name "lan2" will be used. The second record in the third subrouting table indicates that if there are no other records in the third subrouting table that match the communication partner, then a dummy communication adapter with the adapter name "dummy0" will be used. The third record in the third subrouting table is a record to ensure communication with terminal device 321 connected to the local subnet.

[0098] The routing table generation unit 1141 generates a subrouting table 52 based on the configuration file 80. For example, the routing table generation unit 1141 generates the first record of the first subrouting table shown in Figure 8(A) based on the first record of the first configuration file shown in Figure 6(A). The routing table generation unit 1141 generates the second record of the first subrouting table shown in Figure 8(A) based on the second record of the first configuration file shown in Figure 6(A). The routing table generation unit 1141 automatically generates the third and fourth records of the first subrouting table shown in Figure 8(A).

[0099] Furthermore, the routing table generation unit 1141 generates the first record of the second subrouting table shown in Figure 8(B) based on the first record of the second configuration file shown in Figure 6(B). The routing table generation unit 1141 generates the second record of the second subrouting table shown in Figure 8(B) based on the second record of the second configuration file shown in Figure 6(B). The routing table generation unit 1141 automatically generates the third, fourth, and fifth records of the second subrouting table shown in Figure 8(B).

[0100] Furthermore, the routing table generation unit 1141 generates the first record of the third subrouting table shown in Figure 8(C) based on the third record of the first configuration file shown in Figure 6(A). The routing table generation unit 1141 automatically generates the second and third records of the third subrouting table shown in Figure 8(C).

[0101] The destination in configuration file 80 corresponds to the subnet in subrouting table 52. The adapter name in configuration file 80 corresponds to the gateway and adapter name in subrouting table 52. The metric value in configuration file 80 corresponds to the metric value in subrouting table 52.

[0102] Furthermore, in the configuration file 80, the destination specified by the DNS hostname of the communication partner is converted to the IP address of the communication partner, and the IP address of the communication partner is registered as a subnet in the subrouting table 52. Also, the adapter name in the configuration file 80 is converted to the IP address of the communication adapter, and the IP address of the communication partner is registered as a gateway in the subrouting table 52. The table management unit 114 can refer to the network settings configured in the kernel 50 by the network management software 60. For example, the table management unit 114 can refer to the main routing table 51 to identify the correspondence between the adapter name and the IP address of the communication adapter.

[0103] Next, referring to the flowchart in Figure 9, the table management process performed by the communication device 100 will be explained.

[0104] First, the control unit 11 of the communication device 100 determines whether or not there is a setting request (step S101). For example, the control unit 11 determines whether or not an operation has been made to instruct the operation reception unit 14 to request a setting for the setting file 80. If the control unit 11 determines that there is a setting request (step S101: YES), it acquires the setting information (step S102).

[0105] When the control unit 11 completes the processing in step S102, it generates a configuration file 80 (step S103). The control unit 11 generates a configuration file 80, such as a first configuration file and a second configuration file, based on the configuration information obtained from the user. When the control unit 11 completes the processing in step S103, it generates a subrouting table 52 (step S104). The control unit 11 generates a subrouting table 52 based on the configuration file 80.

[0106] When the control unit 11 completes the processing in step S104, it updates the rule table 53 (step S105). The control unit 11 updates the rule table 53 based on the configuration file 80. If the control unit 11 determines that there is no configuration request (step S101: NO), or if it has completed the processing in step S105, it returns to step S101.

[0107] Next, the data transmission process performed by the communication device 100 will be explained with reference to the flowchart in Figure 10.

[0108] First, the control unit 11 identifies the IP address of the communication partner (step S201). After completing the process in step S201, the control unit 11 identifies the port number to be used for communication (step S202). After completing the process in step S202, the control unit 11 identifies the routing table to be used for communication (step S203). For example, based on the IP address of the communication partner and the port number to be used for communication, the control unit 11 identifies the routing table with the highest table priority among the routing tables that match the usage conditions.

[0109] After completing the processing in step S203, the control unit 11 identifies the longest matching record (step S204). For example, the control unit 11 performs a longest matching search on the records included in the identified routing table and identifies the longest matching record. After completing the processing in step S204, the control unit 11 identifies the communication adapter to be used for communication (step S205). In other words, the control unit 11 identifies the communication adapter indicated by the longest matching record.

[0110] After completing the processing in step S205, the control unit 11 transmits data using the identified communication adapter (step S206). After completing the processing in step S206, the control unit 11 completes the data transmission process.

[0111] In this embodiment, the routing table with the highest table priority that satisfies the usage conditions is selected based on the rule table 53, and the communication adapter identified based on the selected routing table is used for communication with the communication partner. According to this embodiment, communication using an appropriate communication adapter can be realized with a simple configuration.

[0112] In this embodiment, when the subrouting table 52 is selected and multiple records matching the communication partner are identified, the communication adapter identified from among the multiple records with the highest route priority corresponding to the metric value is used. According to this embodiment, it is possible to achieve communication using the communication adapter best suited for communication with the communication partner.

[0113] Furthermore, in this embodiment, if the communication adapter identified based on the selected routing table is a dummy communication adapter, the data to be sent to the communication partner is discarded. According to this embodiment, if there is no communication adapter available for communication with the communication partner, the transmission of data using a communication adapter that is not available for communication with the communication partner is suppressed.

[0114] Furthermore, in this embodiment, the subrouting table 52 registers a record that includes the network ID corresponding to the first communication network among multiple communication networks, and the identifier of the first communication adapter. The first communication adapter is a communication adapter for connecting to the first communication network among multiple communication adapters. According to this embodiment, when the communication device 100 and the communication partner are connected to the same communication network, communication using the appropriate communication adapter can be achieved.

[0115] Furthermore, in this embodiment, the rule table 53 is updated so that the usage conditions for the subrouting table 52 corresponding to the record containing the DNS hostname of the communication partner as the destination are defined by the IP address of the communication partner. According to this embodiment, when configuring the configuration file 80, the user can specify the communication partner using a DNS hostname instead of an IP address.

[0116] Furthermore, in this embodiment, a subrouting table 52 is generated in which a record containing the IP address of the communication partner is registered as the destination network ID, and the rule table 53 is updated so that the usage conditions for the subrouting table 52 are defined by the IP address of the communication partner. According to this embodiment, even when multiple communication partners are registered in a single subrouting table 52, communication using the appropriate communication adapter can be achieved.

[0117] Furthermore, in this embodiment, the rule table 53 defines the usage conditions for the subrouting table 52 based on the port number used for communication with the communication partner. According to this embodiment, it is possible to specify the communication partner by port number, rather than by IP address, DNS hostname, etc.

[0118] (Embodiment 2) Embodiment 1 described an example in which a subrouting table 52 is generated in which a record containing the IP address of the communication partner is registered as the destination network ID. This embodiment describes an example in which a subrouting table 52 is generated in which a record containing the destination network ID that matches all communication partners is registered. Note that the same configurations and functions as in Embodiment 1 will be omitted or simplified as appropriate.

[0119] In this embodiment, the routing table generation unit 1141 of the table management unit 114 generates a subrouting table 52 in which records containing destination network IDs that match all communication partners are registered. In addition, the rule table update unit 1142 of the table management unit 114 updates the rule table 53 so that the usage conditions for the subrouting table 52 are defined by the IP address of the communication partner.

[0120] Referring to Figure 11, the subrouting table 52 generated by the routing table generation unit 1141 will be described. Figure 11 shows the first subrouting table having the table name "table1000".

[0121] The first record in the first subrouting table indicates that if no other record matching the communication partner exists in the first subrouting table, the communication adapter 171 with the adapter name "ppp0" will be used. The second record in the first subrouting table indicates that if no other record matching the communication partner exists in the first subrouting table, the communication adapter 151 with the adapter name "lan1" will be used.

[0122] The metric value indicated by the first record in the first subrouting table is "100," and the metric value indicated by the second record in the first subrouting table is "200." Therefore, the first record in the first subrouting table takes precedence over the second record in the first subrouting table. In other words, if there are no other records in the first subrouting table that match the communication partner, communication adapter 171 will be used preferentially over communication adapter 151.

[0123] If communication adapter 171 goes down and the first record in the first subrouting table is deleted, communication adapter 151 will be used. The fact that the subnet included in the record is "0.0.0.0 / 0" means that this record contains the destination network ID that matches all communication partners. The third and fourth records in the first subrouting table are as shown in Embodiment 1.

[0124] The routing table generation unit 1141 generates a subrouting table 52 based on the configuration file 80. For example, the routing table generation unit 1141 generates the first record of the first subrouting table shown in Figure 11 based on the first record of the first configuration file shown in Figure 6(A). The routing table generation unit 1141 generates the second record of the first subrouting table shown in Figure 11 based on the second record of the first configuration file shown in Figure 6(A).

[0125] If one subrouting table 52 is provided for each communication partner, then selecting a routing table essentially corresponds to selecting a communication partner. In other words, the communication partner should be identified at the time the routing table is selected. Therefore, after the routing table is selected, the IP address of the communication partner, which is information for identifying the communication partner, does not need to be included in the subrouting table 52. The routing table generation unit 1141 automatically generates the third and fourth records of the first subrouting table shown in Figure 11.

[0126] In this embodiment, a subrouting table 52 is generated in which records containing destination network IDs that match all communication partners are registered, and the rule table 53 is updated so that the usage conditions for the subrouting table 52 are defined by the IP address of the communication partner. According to this embodiment, when one communication partner is registered in one subrouting table 52, communication using the appropriate communication adapter can be achieved.

[0127] (modified version) While embodiments of this disclosure have been described above, various forms of modification and application are possible when implementing this disclosure. In this disclosure, it is arbitrary which parts of the configurations, functions, and operations described in the above embodiments are adopted. Furthermore, in this disclosure, additional configurations, functions, and operations may be adopted in addition to those described above. Also, the configurations, functions, and operations described in the above embodiments can be freely combined.

[0128] The number and types of communication networks connected to the communication device 100 are not limited to those shown in Embodiment 1. For example, two communication networks may be connected to the communication device 100. In this case, each of the two communication networks may be a LAN or a mobile phone network. Alternatively, four or more communication networks may be connected to the communication device 100. In this case, each of the four or more communication networks may be a LAN or a mobile phone network.

[0129] Embodiment 1 describes an example in which a port number is automatically assigned to the configuration file 80 in a configuration where the user cannot set the port number in the configuration file 80. A configuration in which the user can set the port number in the configuration file 80 may also be adopted.

[0130] The various aspects of this disclosure are summarized below as an appendix.

[0131] (Note 1) Multiple communication adapters for connecting to multiple communication networks, A storage means for storing multiple routing tables in which records including the destination network ID and the communication adapter identifier are registered, the multiple routing tables including a main routing table in which a record indicating the default gateway is registered and sub-routing tables added by the user, and a rule table in which usage conditions and table priority regarding the communication partner are defined for each of the multiple routing tables, A table management means that generates the subrouting table and updates the rule table based on a configuration file set by the user, which contains records including the destination, communication adapter identifier, routing table identifier, and table priority. A communication means that, based on the rule table, selects the routing table with the highest table priority among the multiple routing tables that satisfy the usage conditions, and communicates with a communication partner using the communication adapter identified from the multiple communication adapters based on the selected routing table, Communication device. (Note 2) The records registered in the aforementioned configuration file and the records registered in the aforementioned subrouting table include a metric value corresponding to the route priority. The aforementioned configuration file contains multiple records in which the destination, the routing table identifier, and the table priority are the same, but the communication adapter identifier and the metric value are different. The subrouting table contains multiple records where the destination network ID is the same, but the communication adapter identifier and the metric value are different. When the subrouting table is selected and the communication means identifies the multiple records from the communication partner, it communicates with the communication partner using the communication adapter identified from the multiple records that has the highest route priority corresponding to the metric value. The communication device described in Appendix 1. (Note 3) The records registered in the aforementioned subrouting table include a metric value corresponding to the route priority. The aforementioned subrouting table contains records that include the destination network ID that matches all communication partners, the identifier of the dummy communication adapter, and a metric value corresponding to the lowest route priority. The communication means discards the data to be sent to the communication partner if the communication adapter identified based on the selected routing table is the dummy communication adapter. Communication device as described in Appendix 1 or 2. (Note 4) The subrouting table contains records that include a network ID corresponding to the first communication network among the multiple communication networks, and an identifier for the first communication adapter, which is a communication adapter for connecting to the first communication network among the multiple communication adapters. A communication device as described in any one of the items 1 to 3 in the appendix. (Note 5) The aforementioned configuration file contains a record that includes the DNS hostname of the communication partner as the destination. The table management means updates the rule table such that the usage conditions for the subrouting table corresponding to the record are defined by the IP address of the communication partner, which is obtained from the DNS server by sending the DNS hostname of the communication partner to the DNS server that associates the DNS hostname of the communication partner with the IP address of the communication partner. A communication device as described in any one of the items 1 to 4 in the appendix. (Note 6) The table management means generates a subrouting table in which a record containing the IP address of the communication partner is registered as the destination network ID, and updates the rule table so that the usage conditions for the subrouting table are defined by the IP address of the communication partner. A communication device as described in any one of the items 1 to 5 in the appendix. (Note 7) The table management means generates a subrouting table in which records containing destination network IDs that match all communication partners are registered, and updates the rule table so that the usage conditions for the subrouting table are defined by the IP address of the communication partner. A communication device as described in any one of the items 1 to 5 in the appendix. (Note 8) The rule table specifies the usage conditions for the subrouting table based on the port number used for communication with the communication partner. A communication device as described in any one of the items 1 through 7 of the appendix. (Note 9) A communication method performed by a communication device equipped with multiple communication adapters for connecting to multiple communication networks, Multiple routing tables in which records including the destination network ID and the communication adapter identifier are registered, the multiple routing tables including a main routing table in which a record indicating the default gateway is registered and sub-routing tables added by the user, and a rule table in which usage conditions and table priority regarding the communication partner are defined for each of the multiple routing tables, Based on a configuration file set by the user, which contains records including the destination and communication adapter identifiers, the routing table identifier, and the table priority, the subrouting table is generated and the rule table is updated. Based on the rule table, select the routing table with the highest table priority among the multiple routing tables that satisfy the usage conditions, and communicate with the communication partner using the communication adapter identified based on the selected routing table among the multiple communication adapters. Communication method. (Note 10) A computer equipped with multiple communication adapters for connecting to multiple communication networks, A table management means that stores in a storage means multiple routing tables in which records including the destination network ID and the communication adapter identifier are registered, the main routing table in which a record indicating the default gateway is registered, and sub-routing tables added by the user, and a rule table in which usage conditions and table priority regarding the communication partner are defined for each of the multiple routing tables, and a configuration file set by the user in which records including the destination, the communication adapter identifier, the routing table identifier and the table priority are registered, generating the sub-routing tables and updating the rule tables, Based on the rule table, the routing table with the highest table priority among the multiple routing tables that satisfy the usage conditions is selected, and the system functions as a communication means that communicates with the communication partner using the communication adapter identified based on the selected routing table among the multiple communication adapters. program.

[0132] This disclosure allows for various embodiments and modifications without departing from its broad spirit and scope. Furthermore, the embodiments described above are for illustrative purposes only and do not limit the scope of this disclosure. That is, the scope of this disclosure is indicated by the claims, not by the embodiments. Various modifications made within the scope of the claims and the equivalent significance of the disclosure are considered to be within the scope of this disclosure.

[0133] This application is based on Japanese Patent Application No. 2024-096068, filed on 13 June 2024. The entire specification, claims, and drawings of Japanese Patent Application No. 2024-096068 are incorporated herein by reference. [Industrial applicability]

[0134] This disclosure is applicable to network systems comprising multiple communication networks. [Explanation of Symbols]

[0135] 11 Control Unit, 12 Storage Unit, 13 Display Unit, 14 Operation Reception Unit, 15 First Communication Unit, 16 Second Communication Unit, 17 Third Communication Unit, 50 Kernel, 51 Main Routing Table, 52 Sub-Routing Table, 53 Rule Table, 60 Network Management Software, 70 PBR Management Software, 80 Configuration File, 100 Communication Device, 111 Configuration File Generation Unit, 112 Port Number Notification Unit, 113 Address Identification Unit, 114 Table Management Unit, 115 Communication Unit, 151,161,171 Communication Adapter, 210,220,230 Router, 310,311,320,321,330 Terminal Device, 410,420,430 DNS Server, 510,511,520,521,530,540,541 Communication Network, 1000 Network System, 1141 Routing table generation unit, 1142 Rule table update unit

Claims

1. Multiple communication adapters for connecting to multiple communication networks, A storage means for storing multiple routing tables in which records including the destination network ID and the communication adapter identifier are registered, the multiple routing tables including a main routing table in which a record indicating the default gateway is registered and sub-routing tables added by the user, and a rule table in which usage conditions and table priority regarding the communication partner are defined for each of the multiple routing tables, A table management means that generates the subrouting table and updates the rule table based on a configuration file set by the user, which contains records including the destination, communication adapter identifier, routing table identifier, and table priority. A communication means that, based on the rule table, selects the routing table with the highest table priority among the multiple routing tables that satisfy the usage conditions, and communicates with a communication partner using the communication adapter identified from the multiple communication adapters based on the selected routing table, Communication device.

2. The records registered in the aforementioned configuration file and the records registered in the aforementioned subrouting table include a metric value corresponding to the route priority, The aforementioned configuration file contains multiple records in which the destination, the routing table identifier, and the table priority are the same, but the communication adapter identifier and the metric value are different. The subrouting table contains multiple records where the destination network ID is the same, but the communication adapter identifier and the metric value are different. When the subrouting table is selected and the communication means identifies the multiple records from the communication partner, it communicates with the communication partner using the communication adapter identified from the multiple records that has the highest route priority corresponding to the metric value. The communication device according to claim 1.

3. The records registered in the aforementioned subrouting table include a metric value corresponding to the route priority. The aforementioned subrouting table contains records that include the destination network ID that matches all communication partners, the identifier of the dummy communication adapter, and a metric value corresponding to the lowest route priority. The communication means discards the data to be sent to the communication partner if the communication adapter identified based on the selected routing table is the dummy communication adapter. The communication device according to claim 1 or 2.

4. The subrouting table contains records that include a network ID corresponding to the first communication network among the multiple communication networks, and an identifier for the first communication adapter, which is a communication adapter for connecting to the first communication network among the multiple communication adapters. The communication device according to claim 1 or 2.

5. The aforementioned configuration file contains a record that includes the DNS hostname of the communication partner as the destination. The table management means updates the rule table such that the usage conditions for the subrouting table corresponding to the record are defined by the IP address of the communication partner, obtained from the DNS server by sending the DNS host name of the communication partner to the DNS server that associates the DNS host name of the communication partner with the IP address of the communication partner. The communication device according to claim 1 or 2.

6. The table management means generates a subrouting table in which a record containing the IP address of the communication partner is registered as the destination network ID, and updates the rule table so that the usage conditions for the subrouting table are defined by the IP address of the communication partner. The communication device according to claim 1 or 2.

7. The table management means generates a subrouting table in which records containing destination network IDs matching all communication partners are registered, and updates the rule table so that the usage conditions for the subrouting table are defined by the IP address of the communication partner. The communication device according to claim 1 or 2.

8. The rule table specifies the usage conditions for the subrouting table based on the port number used for communication with the communication partner. The communication device according to claim 1 or 2.

9. A communication method performed by a communication device equipped with multiple communication adapters for connecting to multiple communication networks, Multiple routing tables in which records including the destination network ID and the communication adapter identifier are registered, the multiple routing tables including a main routing table in which a record indicating the default gateway is registered and sub-routing tables added by the user, and a rule table in which usage conditions and table priority regarding the communication partner are defined for each of the multiple routing tables, Based on a configuration file set by the user, which contains records including the destination and communication adapter identifiers, the routing table identifier, and the table priority, the subrouting table is generated and the rule table is updated. Based on the rule table, select the routing table with the highest table priority among the multiple routing tables that satisfy the usage conditions, and communicate with the communication partner using the communication adapter identified based on the selected routing table among the multiple communication adapters. Communication method.

10. A computer equipped with multiple communication adapters for connecting to multiple communication networks, A table management means that stores in a storage means multiple routing tables in which records including the destination network ID and the communication adapter identifier are registered, the multiple routing tables including a main routing table in which a record indicating the default gateway is registered and sub-routing tables added by the user, and a rule table in which usage conditions and table priority regarding the communication partner are defined for each of the multiple routing tables, and a configuration file set by the user, in which records including the destination, the communication adapter identifier, the routing table identifier and the table priority are registered, and the sub-routing table is generated and the rule table is updated. Based on the rule table, the routing table with the highest table priority among the multiple routing tables that satisfy the usage conditions is selected, and the system functions as a communication means that communicates with the communication partner using the communication adapter identified based on the selected routing table among the multiple communication adapters. program.

Citation Information

Patent Citations

  • Data transmission apparatus, data transmission method, data transmission program, and recording medium

    JP2006121192A

  • Routing for data packet in communication network

    JP2016201802A

  • Method of relaying traffic from a source to a targeted destination in a communications network and corresponding equipment

    US20040109466A1