Communication device, communication system, method and program

JP2025022457AActive Publication Date: 2025-02-14KK TOSHIBA
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
JP2023127050
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-08-03
Publication Date
2025-02-14
Estimated Expiration
2043-08-03

Smart Images

  • Figure 2025022457000001_ABST
    Figure 2025022457000001_ABST
Patent Text Reader

Abstract

To provide a communication device, a communication system, a method and a program in which communication overhead can be suppressed.SOLUTION: According to an embodiment, a server device that is connected to other communication device through a first network and a communication device that is connected through a second network are provided. The communication device comprises: compression processing means that compresses a part of first data which is transmitted in a two-way communication between itself and other communication device performed through a server device, in a first compression method depending on a communication type of the two-way communication; and transmission means that transmits first data having a portion compressed to the server device. The server device transmits transmitted first data to the other communication device.SELECTED DRAWING: Figure 3
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to a communication device, a communication system, a method, and a program. [Background technology]

[0002] In recent years, server devices that provide cloud computing services have become known. With such server devices, for example, by establishing a session between multiple communication devices that cannot communicate directly with each other, it is possible to make the multiple communication devices appear to be communicating directly (two-way) on a virtual network.

[0003] However, when multiple communication devices perform two-way communication on a virtual network as described above, each of the multiple communication devices needs to transmit information for communication with a server device (such as control information) in addition to information for two-way communication with other communication devices, which increases communication overhead. Such an increase in communication overhead causes an increase in communication costs and a decrease in communication responsiveness. [Prior art documents] [Patent documents]

[0004] [Patent Document 1] International Publication No. 2010 / 001684 Summary of the Invention [Problem to be solved by the invention]

[0005] Therefore, an object of the present invention is to provide a communication device, a communication system, a method, and a program capable of suppressing communication overhead. [Means for solving the problem]

[0006] According to an embodiment, there is provided a server device connected to another communication device via a first network, and a communication device connected to the other communication device via a second network. The communication device includes a compression processing means for compressing a part of first data transmitted in two-way communication with the other communication device via the server device using a first compression method corresponding to the communication type of the two-way communication, and a transmission means for transmitting the part of the compressed first data to the server device. The server device transmits the transmitted first data to the other communication device. [Brief description of the drawings]

[0007] [Figure 1] FIG. 1 is a diagram showing an example of a network configuration of a communication system according to an embodiment. [Diagram 2] FIG. 1 is a diagram showing an example of a specific usage mode of a communication system. [Diagram 3] FIG. 2 is a block diagram showing an example of a functional configuration of a first communication device. [Figure 4] FIG. 2 is a diagram showing an example of a hardware configuration of a first communication device. [Diagram 5] FIG. 2 is a block diagram showing an example of a functional configuration of a server device. [Figure 6] 4 is a sequence chart showing an example of a processing procedure of the communication system. [Figure 7] FIG. 2 is a diagram showing an example of a packet configuration. [Figure 8] FIG. 4 is a diagram showing an example of policy information. [Figure 9] FIG. 4 is a diagram showing an example of session information managed in the server device. [Figure 10] FIG. 4 is a diagram showing an example of session information managed in the first communication device. [Figure 11] FIG. 2 is a diagram for explaining packets transmitted and received in two-way communication. [Figure 12] FIG. 4 is a diagram showing an example of a compression rule. [Figure 13] FIG. 13 is a diagram showing another example of a network configuration of a communication system. [Figure 14] FIG. 13 is a diagram showing another example of a specific usage mode of the communication system. [Figure 15] 10 is a sequence chart showing another example of the processing procedure of the communication system. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0008] Hereinafter, an embodiment will be described with reference to the drawings. 1 shows an example of a network configuration of a communication system according to the present embodiment. As shown in FIG. 1, the communication system 1 includes a first communication device 10 (first client terminal), a second communication device 20 (second client terminal), and a server device 30.

[0009] The first communication device 10 is communicatively connected to a server device 30 via, for example, a network 1a. The second communication device 20 is connected to the server device 30 via, for example, a network 1b.

[0010] At least one of the networks 1a and 1b may be a local area network or a wide area network. When at least one of the networks 1a and 1b is a wide area network, the wide area network may be an open network such as the Internet or a closed network such as a closed network. The networks 1a and 1b may be the same network and have a direct connection point.

[0011] Furthermore, the communication between the first communication device 10 and the server device 30 via the network 1a and the communication between the second communication device 20 and the server device 30 via the network 1b may be wireless communication or wired communication. The wireless communication may be, for example, communication based on a wireless LAN, communication based on a wide-area low-power wireless system called LPWA or LPWAN, or communication based on a mobile phone communication system such as LTE or 5G, or a satellite communication system. On the other hand, the wired communication may be communication based on a wired LAN using electric wires or optical fibers, or communication using a telephone line or cable television, etc.

[0012] Here, in the communication system 1 according to the present embodiment, it is assumed that the first communication device 10 and the second communication device 20 cannot directly communicate with each other. That is, in the communication system 1 according to the present embodiment, the first communication device 10 cannot directly communicate with the second communication device 20 by designating an identifier for identifying the second communication device 20 on the network 1b, for example, and the second communication device 20 cannot directly communicate with the first communication device 10 by designating an identifier for identifying the first communication device 10 on the network 1a, for example.

[0013] In this embodiment, "the first communication device 10 and the second communication device 20 cannot directly communicate with each other" includes, for example, the networks 1a and 1b not being technically interconnected. In this case, "not being technically interconnected" includes the networks 1a and 1b being constructed using different communication methods or communication technologies.

[0014] Furthermore, in this embodiment, "the first communication device 10 and the second communication device 20 cannot communicate directly" includes, for example, the networks 1a and 1b not being interconnected for operational reasons. In this case, "not being interconnected for operational reasons" includes, for example, the case where communication is restricted by a network function, a firewall function, or the like executed on the networks 1a and 1b (or the first communication device 10 and the second communication device 20).

[0015] In contrast, in the communication system 1 according to the present embodiment, for example, the first communication device 10 and the server device 30 can directly communicate with each other via the network 1a. That is, in the communication system 1 according to the present embodiment, the first communication device 10 can directly communicate with (transmit and receive data from) the server device 30 by designating an identifier for identifying the server device 30 on the network 1a. Here, the first communication device 10 has been described, but similarly, the second communication device 20 and the server device 30 can directly communicate with each other via the network 1b.

[0016] The above-mentioned identifiers on the network include identifiers capable of uniquely identifying nodes connected to the network, such as IP addresses or telephone numbers.

[0017] As described above, in this embodiment, the first communication device 10 and the second communication device 20 can communicate directly with the server device 30, respectively, but the communication system 1 is assumed in which the first communication device 10 and the second communication device 20 cannot communicate directly with each other. In such a communication system 1, the server device 30 operates as a relay device (intermediary) between the first communication device 10 and the second communication device 20, thereby realizing communication (data exchange) between the first communication device 10 and the second communication device 20. In the following description, the communication between the first communication device 10 and the second communication device 20 through the mediation of the server device 30 is referred to as two-way communication for convenience.

[0018] Here, Fig. 2 shows an example of a specific usage mode of the communication system 1 shown in Fig. 1. In Fig. 2, it is assumed that the communication system 1 is used in a maintenance system for maintaining various devices or equipment (hereinafter referred to as on-site devices) such as automatic doors, elevators, lighting, and air conditioning installed in a building or the like.

[0019] In this case, for example, the first communication device 10 shown in FIG. 1 is implemented as a maintenance PC (a PC on which an application program for implementing a maintenance function for a field device runs) used by, for example, a remote maintenance technician for a field device. Also, the second communication device 20 shown in FIG. 1 is implemented as (a communication device mounted on) a field device. Furthermore, the server device 30 is implemented as, for example, a cloud server that provides a cloud computing service. Note that the cloud server may be realized by a single server device or may be realized by multiple server devices.

[0020] According to the communication system 1 shown in FIG. 2, bidirectional communication can be performed between a maintenance PC (first communication device 10) and a field device (second communication device 20) via the mediation of a cloud server (server device 30), making it possible to remotely perform maintenance work on a field device in response to a maintenance technician's operation of the maintenance PC.

[0021] 2 is an example, and the communication system 1 may be used in other ways. Specifically, in the communication system 1, the first communication device 10 may be a PC or the like that controls an IoT device used to provide an IoT service, and the second communication device 20 may be the IoT device (edge ​​device) or the like.

[0022] In other words, the communication system 1 of this embodiment can be applied to various fields as long as it is configured to perform two-way communication between the first communication device 10 and the second communication device 20 via the server device 30 in a network configuration in which the first communication device 10 and the second communication device 20 cannot communicate directly as described above.

[0023] The communication system 1 according to the present embodiment will be described in detail below. Fig. 3 is a block diagram showing an example of a functional configuration of the first communication device 10 included in the communication system 1. As shown in Figs.

[0024] As shown in FIG. 3, the first communication device 10 includes an application processing unit 11, a session information storage unit 12, a compression rule storage unit 13, a compression processing unit 14, and a communication processing unit 15.

[0025] The application processing unit 11 generates data to be transmitted in two-way communication with the second communication device 20, for example.

[0026] For example, when a session for performing two-way communication with the second communication device 20 is established, the session information storage unit 12 stores session information for managing the session.

[0027] In this embodiment, it is assumed that the first communication device 10 and the second communication device 20 perform two-way communication via the server device 30, and the data transmitted in the two-way communication includes information for the two-way communication as well as information (control information) for communication with the server device 30, increasing the communication overhead when the two-way communication is performed. Therefore, in this embodiment, a compression rule storage unit 13 and a compression processing unit 14 are provided as a configuration for suppressing the communication overhead.

[0028] The compression rule storage unit 13 stores compression rules for compressing data (data generated by the application processing unit 11) transmitted in two-way communication.

[0029] The compression processing unit 14 executes a process of compressing a part of the data transmitted in the two-way communication based on the compression rules stored in the compression rule storage unit 13 .

[0030] The communication processing unit 15 transmits the data, part of which has been compressed by the compression processing unit 14, to the server device 30 via the network 1a. The data transmitted from the first communication device 10 (communication processing unit 15) to the server device 30 in this manner is transmitted from the server device 30 to the second communication device 20 via the network 1b.

[0031] In addition, although the functional configuration of the first communication device 10 has been described in Fig. 3, the second communication device 20 also has the same functional configuration as that in Fig. 3. That is, although the case where data is transmitted from the first communication device 10 has been described here, in two-way communication, the second communication device 20 may transmit data.

[0032] The data transmitted from the second communication device 20 in this manner is received by the server device 30, and then transmitted from the server device 30 to the first communication device 10. The communication processing unit 15 receives the data transmitted from the server device 30 in this manner.

[0033] Here, a part of the data received by the communication processing unit 15 is compressed on the side of the second communication device 20. Therefore, the compression processing unit 14 expands the part of the data received by the communication processing unit 15 based on the session information stored in the session information storage unit 12 and the compression rules stored in the compression rule storage unit 13.

[0034] The application processing unit 11 can obtain the data thus decompressed by the compression processing unit 14 and execute processing on the data.

[0035] Fig. 4 shows an example of a hardware configuration of the first communication device 10 shown in Fig. 3. As shown in Fig. 4, the first communication device 10 includes a CPU 10a, a non-volatile memory 10b, a main memory 10c, and a communication device 10d.

[0036] The CPU 10a is a processor that controls the operation of each component in the first communication device 10. The CPU 10a may be configured with a single processor or may be configured with multiple processors. The CPU 10a executes various programs loaded from the non-volatile memory 10b, which is a storage device, to the main memory 10c. The communication device 10d is a device for communicating with an external device (e.g., the server device 30).

[0037] In this embodiment, some or all of the application processing unit 11, compression processing unit 14 and communication processing unit 15 shown in FIG. 3 may be realized, for example, by causing the CPU 10a shown in FIG. 4 to execute a predetermined program (application program), that is, by software, by hardware such as an IC (Integrated Circuit), or by a configuration that combines software and hardware.

[0038] In this embodiment, the session information storage unit 12 and the compression rule storage unit 13 shown in FIG. 3 can be realized by, for example, the non-volatile memory 10b shown in FIG.

[0039] Although the hardware configuration of the first communication device 10 has been described here, the hardware configuration of the second communication device 20 is similar to that of the first communication device 10, and therefore a detailed description thereof will be omitted here.

[0040] FIG. 5 is a block diagram showing an example of a functional configuration of the server device 30 included in the communication system 1. As shown in FIG.

[0041] As shown in FIG. 5, the server device 30 includes a first communication processing unit 31, a second communication processing unit 32, an application processing unit 33, a policy information storage unit , and a session information storage unit .

[0042] The first communication processing unit 31 communicates with the first communication device 10 via the network 1a. For example, when data is transmitted from the first communication device 10, the first communication processing unit 31 receives the data.

[0043] The second communication processing unit 32 communicates with the second communication device 20 via the network 1b. For example, when data is transmitted from the second communication device 20, the second communication processing unit 32 receives the data.

[0044] In addition, in the case of a network configuration in which the server device 30 is connected to a single network (i.e., networks 1a and 1b are the same network), the first communication processing unit 31 and the second communication processing unit 32 do not need to be distinguished in implementation.

[0045] The application processing unit 33 processes, for example, data received by the first communication processing unit 31 or the second communication processing unit 32 (i.e., packets exchanged in two-way communication). Specifically, when data is received by the first communication processing unit 31, the application processing unit 33 executes processing for transferring the data to the second communication device 20. Similarly, when data is received by the second communication processing unit 32, the application processing unit 33 executes processing for transferring the data to the first communication device 10.

[0046] Here, in this embodiment, when two-way communication is to be started, the first communication device 10 or the second communication device 20 requests (the start of) the two-way communication, as described below, and the policy information storage unit 34 stores policy information for determining whether or not to permit the request (hereinafter referred to as a communication start request).

[0047] The session information storage unit 35 stores session information for managing a session when a communication start request (i.e., requested two-way communication) is permitted based on the above-mentioned policy information and a session for the two-way communication is established.

[0048] Although not shown, the server device 30 has a hardware configuration including, for example, a CPU, a non-volatile memory, a main memory, a communication device, and the like, similar to the first communication device 10 and the second communication device 20 described above.

[0049] In this case, some or all of the first communication processing unit 31, the second communication processing unit 32, and the application processing unit 33 shown in FIG. 5 may be realized by causing a CPU provided in the server device to execute a predetermined program (application program), that is, by software, by hardware, or by a configuration combining software and hardware.

[0050] Moreover, the policy information storage unit 34 and the session information storage unit 35 shown in FIG.

[0051] Hereinafter, an example of a processing procedure of the communication system 1 according to the present embodiment will be described with reference to the sequence chart of FIG.

[0052] As described above, Figure 3 has been described as a diagram showing the functional configuration of the first communication device 10. However, since the functional configuration of the second communication device 20 in this embodiment is similar to that of the first communication device 10, Figure 3 will be used as appropriate when explaining the functional configuration of the second communication device 20 below.

[0053] Here, it is assumed that the first communication device 10 requests to start two-way communication with the second communication device 20. In this case, the application processing unit 11 included in the first communication device 10 generates a communication start request, and the communication processing unit 15 transmits the generated communication start request to the server device 30 via the network 1a (step S1).

[0054] The communication start request transmitted from the first communication device 10 to the server device 30 in this step S1 includes, for example, identification information for identifying the first communication device 10 that is the source of the communication start request (hereinafter referred to as identification information of the first communication device 10) and identification information for identifying the second communication device 20 that is the destination of the communication start request (i.e., the communication partner in two-way communication) (hereinafter referred to as identification information of the second communication device 20).

[0055] As the identification information of the first communication device 10 and the second communication device 20, for example, identifiers assigned to nodes on the networks 1a and 1b managed by the server device 30 can be used. In this case, the identification information of the first communication device 10 and the second communication device 20 may be identifiers called, for example, device IDs, user IDs, client IDs, or the like.

[0056] Furthermore, the identification information of the first communication device 10 and the second communication device 20 may be an identifier of a node that is managed separately outside the communication system 1. In this case, the identification information of the first communication device 10 and the second communication device 20 may be an FQDN (domain name), a URL including the FQDN, or an identifier defined under another identifier system.

[0057] Here, the communication start request has been described as including identification information of the first communication device 10 and the second communication device 20, but for example, the identification information of the second communication device 20 may be omitted. The communication start request may also include other information. Specifically, the communication start request may include the communication type of two-way communication requested by the communication start request (and the contents of the communication type), etc.

[0058] In the network 1a in this embodiment, data is transmitted and received in units called packets. Fig. 7 shows an example of the structure of a packet.

[0059] As shown in Fig. 7, a packet is composed of a header section and a data section. The header section includes, for example, source information indicating the source of data and destination information indicating the destination (destination) of the data. The data section includes the main data to be exchanged between nodes.

[0060] Specifically, assuming that a packet is transmitted in the above-mentioned step S1, a header portion constituting the packet includes source information indicating the first communication device 10 and destination information indicating the server device 30. In addition, a data portion constituting the packet includes data related to a communication start request (such as data indicating that the first communication device 10 is requesting the second communication device 20 to start two-way communication).

[0061] The header portion further includes control information for each communication method (communication media) and control information for a protocol applied to communication via a network (here, network 1a).

[0062] Also, for example, if the network 1a is a network based on TCP / IP, the header portion constituting the packet transmitted and received via the network includes, in addition to the IP header, header information of the transport protocol. Also, the header portion constituting the packet may include, for example, header information for the communication security to be used (applied). Note that, since data exchange with the server device 30 is generally performed based on an application protocol such as HTTP or MQTT, the header portion constituting the packet may include control information of the application protocol.

[0063] Here, we have described packets transmitted and received in network 1a (i.e., between the first communication device 10 and server device 30), but it is assumed that packets are similarly transmitted and received in network 1b (i.e., between the second communication device 20 and server device 30).

[0064] Returning to FIG. 6, the first communication processing unit 31 included in the server device 30 receives a communication start request (a packet having the configuration shown in FIG. 7) transmitted from the first communication device 10 via the network 1a.

[0065] When the first communication processing unit 31 receives a communication start request, the application processing unit 33 executes a process of determining whether or not to permit the communication start request (hereinafter, referred to as a request permission determination process) (step S2).

[0066] The request permission determination process is executed based on the policy information stored in the policy information storage unit 34.

[0067] Here, Fig. 8 shows an example of policy information. The policy information shown in Fig. 8 corresponds to information that defines the contents of a communication start request (bidirectional communication requested by the request) to be permitted, and includes, for example, a policy number, a request source, a request destination, a communication type, and a validity period in association with each other.

[0068] The policy number is a number assigned to policy information. The requester is information indicating the communication device that is the requester of the communication start request. The request destination is information indicating the communication device that is the destination of the communication start request (i.e., the communication partner of the two-way communication). The communication type is information indicating the communication type of the two-way communication performed between the requester (the communication device indicated by) and the request destination (the communication device indicated by). The communication type is represented, for example, by the protocol and port (number) applied to the two-way communication. The expiration date is information indicating the expiration date set for the policy information to which the policy number is assigned.

[0069] 8, a plurality of pieces of policy information including policy information 341 to 343 are shown. Policy information 341 includes a policy number "1000", a request source "X1", a request destination "X2", a communication type "protocol A·port P1, protocol B·port P2", and an expiration date "-", which are associated with each other. This policy information 341 indicates that when the request source of a communication start request is communication device X1 and the request destination of the communication start request is communication device X2, and the request source requests the request destination to start two-way communication of protocol A·port P1 or protocol B·port P2, the communication start request is permitted. Note that the expiration date "-" indicates that no expiration date is set in policy information 341.

[0070] The policy information 342 includes a policy number "2000", a request source "Y1", a request destination "Y2", a communication type "Any", and an expiration date "July 1, 2023 23:50:00" in association with each other. According to this policy information 342, when the request source of the communication start request is the communication device Y1 and the request destination of the communication start request is the communication device Y2, the communication start request is permitted. Note that the communication type "Any" indicates that the communication type is not specified (any type is acceptable). The expiration date set in the policy information 342 is July 1, 2023 23:50:00, and when the expiration date expires, the policy information 342 is discarded from the policy information storage unit 34. Note that the expiration date may be updated (extended).

[0071] Furthermore, the policy information 343 includes a policy number "2500", a request source "Z1", a request destination "Z2", a communication type "protocol C·port P3", and an expiration date "-", which are associated with each other. This policy information 341 indicates that when the request source of a communication start request is communication device Z1, the request destination of the communication start request is communication device Z2, and the request source requests the request destination to start two-way communication of protocol C·port P3, the communication start request is permitted.

[0072] Although the policy information 341 to 343 has been described here, the policy information 341 to 343 is merely an example, and other policy information may be stored in the policy information storage unit 34. In addition, some information included in the policy information shown in Fig. 8 may be omitted, and the policy information may include other information not shown in Fig. 8.

[0073] Here, it is assumed that the information corresponding to the request source, the request destination, and the communication type included in the above-mentioned policy information (identification information of the first communication device 10, identification information of the second communication device 20, and the communication type of the two-way communication requested by the communication start request) can be obtained from the packet (the header and data portions constituting the packet) transmitted from the first communication device 10 to the server device 30, and in the above-mentioned request approval determination process, the application processing unit 33 determines whether or not to approve the communication start request by comparing the information obtained from the packet with the policy information.

[0074] In addition, for example, if the communication start request does not include identification information of the second communication device 20 or the communication type of two-way communication requested by the communication start request, the request acceptance determination process may be performed based on information such as a communication partner (communication device) with which the first communication device 10 can perform two-way communication, which is managed (set) in advance in the server device 30, and the communication type of two-way communication that the first communication device 10 can perform.

[0075] According to the example shown in FIG. 8, for example, when the first communication device 10 that is the requestor is communication device X1 and the second communication device 20 that is the requestee is communication device X2, and the first communication device 10 requests the second communication device 20 to start two-way communication via protocol A and port P1, such a communication start request is defined in policy information 341, and therefore, in the request grant determination process, it is determined that the communication start request is permitted.

[0076] On the other hand, when the first communication device 10 (communication device X1) requests the second communication device 20 (communication device X2) to start two-way communication via protocol C and port P2, the policy information defining such a communication start request does not exist in the policy information storage unit 34, and therefore the request approval process determines that the communication start request is not permitted (i.e., is rejected).

[0077] In addition, in FIG. 8, it has been described that the policy information storing unit 34 stores policy information that defines (enumerates) the contents of a communication start request that should be permitted on the premise that the communication start request is to be rejected. However, the policy information storing unit 34 may store policy information that defines the contents of a communication start request that should be rejected on the premise that the communication start request is permitted.

[0078] The request permission determination process described here is merely an example, and other processes may be executed to determine whether or not to permit the communication start request. Specifically, for example, whether or not to permit the communication start request (i.e., whether or not the request can be accepted) may be determined based on the availability of computational resources and communication resources of the second communication device 20.

[0079] Returning to FIG. 6 again, if it is determined in the request acceptability determination process that the communication start request is to be accepted, the second communication processing unit 32 transmits (transfers) the communication start request to the second communication device 20 via the network 1b (step S3).

[0080] The communication processing unit 15 included in the second communication device 20 receives the communication start request transmitted from the server device 30 via the network 1b. In this case, the application processing unit 11 transmits a response to permit the communication start request (hereinafter, referred to as a permission response) to the server device 30 via the communication processing unit 15 based on the communication start request received by the communication processing unit 15 (step S4).

[0081] The permission response (packet) transmitted in step S4 may include control information to be used by the first communication device 10 during two-way communication. The permission response may also include security information (such as a secret or a token) to be used during two-way communication.

[0082] The second communication processing unit 32 included in the server device 30 receives the permission response transmitted from the second communication device 20 via the network 1b. When the permission response is received by the second communication processing unit 32, the first communication processing unit 31 transmits (transfers) the permission response to the first communication device 10 via the network 1a (step S5).

[0083] When the process of step S5 is executed, two-way communication between the first communication device 10 and the second communication device 20 is permitted, and a session for performing the two-way communication is established. This enables the first communication device 10 and the second communication device 20 to perform two-way communication. Note that the two-way communication between the first communication device 10 and the second communication device 20 is performed on a virtual network realized by a technology called tunneling, for example.

[0084] Here, when two-way communication between the first communication device 10 and the second communication device 20 is permitted as described above, session information is stored in a session information storage unit 35 included in the server device 30, and in the server device 30, the two-way communication between the first communication device 10 and the second communication device 20 is managed in units called sessions.

[0085] Fig. 9 shows an example of session information (i.e., session information managed in server device 30) stored in session information storage unit 35 included in server device 30. As shown in Fig. 9, the session information stored in session information storage unit 35 includes, for example, a session number, communication device information, a communication type, session identification information, and a validity period in association with each other.

[0086] The session number is a number assigned to the session information. The communication device information is information indicating two communication devices performing two-way communication for which the request has been permitted (here, identification information of the first communication device 10 and the second communication device 20 for which the two-way communication has been permitted). The communication type is information indicating the communication type of the two-way communication for which the request has been permitted (i.e., the communication type performed in the two-way communication). The session identification information is identification information for identifying a session established to perform the two-way communication for which the request has been permitted. The expiration date is information indicating the expiration date set for the two-way communication (session) for which the request has been permitted.

[0087] The session information shown in FIG. 9 includes a session number "100", communication device information "X1, X2", a communication type "protocol A·port P1", session identification information "aaa", and an expiration date "June 15, 2023 12:00:00" in association with each other. This session information indicates that bidirectional communication of protocol A·port P1 can be performed between the communication device X1 corresponding to the first communication device 10 and the communication device X2 corresponding to the second communication device 20. Note that the expiration date set in this session information is June 15, 2023 12:00:00, and when the expiration date expires, the session information is discarded from the session information storage unit 35 (that is, bidirectional communication between the first communication device 10 and the second communication device 20 cannot be performed).

[0088] Here, the session information stored in the session information storage unit 35 has been described as including a session number, communication device information, communication type, session identification information, and expiration date, but some of the information included in the session information may be omitted, and the session information may include other information not shown in FIG. 9.

[0089] 10 shows an example of session information (i.e., session information managed in the first communication device 10) stored in the session information storage unit 12 included in the first communication device 10. As shown in Fig. 10, the session information stored in the session information storage unit 12 includes, for example, a session number, communication device information, a communication type, session identification information, and security information in association with each other.

[0090] The session number is a number assigned to the session information. The communication device information is information indicating a communication device that performs two-way communication with the first communication device 10 (here, identification information of the second communication device 20 that is the communication partner of the two-way communication whose request has been permitted). The communication type is information indicating the communication type of the two-way communication whose request has been permitted. The session identification information is identification information for identifying a session established to perform the two-way communication whose request has been permitted. The security information is information indicating a secret, token, etc. used during the two-way communication whose request has been permitted.

[0091] 10 includes, in association with each other, a session number "300", communication device information "X2", a communication type "protocol A·port P1", session identification information "aaa", and security information "sssss". This session information indicates that the first communication device 10 (communication device X1) will perform two-way communication with the second communication device 20 (communication device X2) using protocol A·port P1, and that security information "sssss" will be used in the two-way communication.

[0092] Here, the session information stored in the session information storage unit 12 has been described as including a session number, communication device information, communication type, session identification information, and security information, but some of the information included in the session information may be omitted, and the session information may include other information not shown in FIG. 10.

[0093] Although the session information stored in the session information storage unit 12 included in the first communication device 10 has been described here, similar session information is also stored in the session information storage unit 12 included in the second communication device 20. Note that the communication device information included in the session information stored in the session information storage unit 12 included in the second communication device 20 is information indicating the first communication device 10 that performs bidirectional communication with the second communication device 20 (identification information of the first communication device 10).

[0094] The communication device information and the communication type included in the session information are specified by the request source of the communication start request (that is, the first communication device 10 that transmitted the communication start request) and are acquired from the communication start request.

[0095] Moreover, the session identification information included in the above-mentioned session information is generated in the server device 30 and issued to the first communication device 10 and the second communication device 20. Specifically, the server device 30 generates the session identification information at the timing when it transmits a communication start request to the second communication device 20 in step S3, for example, and notifies the second communication device 20 of the session identification information. The server device 30 also notifies the first communication device 10 of the session identification information at the timing when it transmits an authorization response to the first communication device 10 in step S5, for example.

[0096] Furthermore, multiple sessions may be established between the first communication device 10 and the second communication device 20, and session identification information may be issued for each session, or (one) session identification information common to the multiple sessions may be issued.

[0097] Moreover, the security information included in the session information is specified by the destination of the communication start request (that is, the second communication device 20 that receives the communication start request) and is obtained from the permission response.

[0098] 6, the application processing unit 11 included in the first communication device 10 acquires the data body (hereinafter referred to as communication target data) to be exchanged with the second communication device 20 in the two-way communication, and generates (constructs) a packet including the communication target data (step S6). Hereinafter, the packet generated in step S6 is referred to as a two-way communication packet.

[0099] Here, a packet for two-way communication (that is, a packet transmitted and received in two-way communication) will be described with reference to FIG.

[0100] The two-way communication packet shown in Fig. 11 is composed of a header portion and a data portion, similar to Fig. 7 described above. The header portion includes information for communication between the first communication device 10 and the server device 30. The information for communication between the first communication device and the server device 30 includes, for example, identification information (source information) of the first communication device 10 and identification information (destination information) of the server device 30. The header portion also includes session identification information acquired from the above-mentioned session information.

[0101] On the other hand, the data section is further composed of a sub-header section and a sub-data section. The sub-header section includes information for two-way communication between the first communication device 10 and the second communication device 20. The sub-header section also includes security information acquired from the session information described above, header information according to the communication type of the two-way communication, and the like.

[0102] The sub-data portion includes the data to be communicated (that is, the data body exchanged according to the communication type of the two-way communication).

[0103] The information included in the subheader section differs depending on the content of the two-way communication performed between the first communication device 10 and the second communication device 20. When two-way communication is performed as if the first communication device 10 and the second communication device 20 were directly communicating on a virtual network (IP network), the subheader section includes control information of a protocol used in a network layer such as the IP addresses of the first communication device 10 and the second communication device 20 on the virtual network, and control information of a protocol in a layer above the network layer. When the first communication device 10 and the second communication device 20 are performing two-way communication in which data is exchanged at the transport layer or above, the subheader section includes control information of a protocol used in the corresponding transport layer. When the first communication device 10 and the second communication device 20 are performing two-way communication in which data is exchanged according to a protocol (application protocol) used in a specific application layer, the subheader section includes control information of the corresponding application protocol.

[0104] Here, it has been described that the information included in the sub-header portion differs depending on the content of the two-way communication performed between the first communication device 10 and the second communication device 20, but the same is true for the communication target data included in the sub-data portion. Note that the content of the two-way communication is agreed upon between the first communication device 10 and the second communication device 20 by executing the processes in steps S1 to S5 described above before the two-way communication is performed.

[0105] In this embodiment, the period from the start of the process shown in Fig. 6 until the communication start request is permitted is strictly between the first communication device 10 and the server device 30 or between the second communication device 20 and the server device 30, and packets with the configuration shown in Fig. 7 are used. On the other hand, after the communication start request is permitted (i.e., after the start of two-way communication), packets with the configuration shown in Fig. 11 (two-way communication packets) are used.

[0106] When a two-way communication packet is generated in step S6, for example, processing related to authentication between the first communication device 10 and the server device 30, encryption, and the like may be performed.

[0107] Here, the compression processing unit 14 included in the first communication device 10 performs compression processing on the two-way communication packet generated in step S6 (step S7).

[0108] The compression process in step S7 will be described below. In step S7, the compression processor 14 included in the first communication device 10 executes the compression process based on the compression rules stored in the compression rule storage unit 13.

[0109] An example of a compression rule is shown in Fig. 12. As shown in Fig. 12, the compression rule includes a rule number, a communication type, and a compression method, which are associated with each other.

[0110] The rule number is a number assigned to the compression rule. The communication type is information indicating the communication type of the two-way communication performed by the first communication device 10. The compression method is information indicating the compression method for compressing packets.

[0111] In FIG. 12, a plurality of compression rules including compression rules 131-132 are shown. The compression rule 131 includes a rule number "1", a communication type "protocol A·port P1", and a compression method "HTTP (HyperText Transfer Protocol)→CoAP (Constrained Application Protocol)" in association with each other. Note that the communication type "protocol A·port P1" in the compression rule 131 is assumed to be, for example, TCP·port 80 (or port 8080) or the like. According to this compression rule 131, when two-way communication of protocol A·port P1 is performed, compression is performed by converting the protocol of the application layer from HTTP to CoAP (RFC7572). Note that CoAP is a simplified version of HTTP, and therefore it is possible to reduce the amount of data compared to HTTP. Note that the compression method included in the compression rule 131 corresponds to a compression method based on protocol conversion.

[0112] The compression rule 132 includes a rule number "2", a communication type "protocol B·port P2", and a compression method "JSON (JavaScript (registered trademark) Object Notation) → CBOR (Concise Binary Object Representation)" in association with each other. Note that the communication type "protocol B·port P2" in the compression rule 132 is assumed to be, for example, UDP·port 10000 or TCP·port 10000. According to this compression rule 132, when two-way communication of protocol B·port P2 is performed, compression is performed by converting the data format (data description method) from JSON to CBOR (RFC7049). Note that, unlike JSON, CBOR can accept binary data, so that the amount of data can be reduced. Note that the compression method included in the compression rule 132 corresponds to a compression method based on data format conversion.

[0113] The compression rule 133 includes a rule number "3", a communication type "protocol C·port P3", and a compression method "SCHC (Static Context Header Compression)" in association with each other. Note that the communication type "protocol C·port P3" in the compression rule 133 is assumed to be, for example, TCP·port 20000. This compression rule 133 indicates that compression by SCHC is performed when two-way communication of protocol C·port P3 is performed. Note that SCHC is a header compression standard standardized by RFC. Also, details of the header compression rule of SCHC such as the example of RFC8724 are managed separately in the compression rule storage unit 13. Note that the compression method included in the compression rule 133 corresponds to a compression method based on protocol analysis.

[0114] Although the compression rules 131 to 133 have been described here, the compression rules 131 to 133 are merely examples, and other compression rules may be stored in the compression rule storage unit 13. Furthermore, the compression rule storage unit 13 may store a compression rule including a compression method that does not compress data in association with a specific communication type.

[0115] Also, although the compression rules stored in the compression rule storage unit 13 included in the first communication device 10 have been described here, it is assumed that the same compression rules are also stored in the compression rule storage unit 13 included in the second communication device 20.

[0116] In step S7 shown in FIG. 6, the compression processing unit 14 refers to a compression rule such as that shown in FIG. 12, identifies a compression method included in the compression rule in correspondence with the communication type of the two-way communication to be performed with the second communication device 20, and compresses the two-way communication packet generated in step S6 using the identified compression method (i.e., the compression method corresponding to the communication type).

[0117] It is assumed that in step S7, the data portion (that is, the sub-header portion and the sub-data portion) constituting the two-way communication packet is compressed.

[0118] Furthermore, the compression processor 14 may specify a plurality of compression methods (that is, compression methods to be applied to compress the two-way communication packets).

[0119] The two-way communication packets compressed in step S7 are transmitted from the first communication device 10 (communication processing unit 15) to the server device 30 via the network 1a (step S8).

[0120] The first communication processing unit 31 included in the server device 30 receives the two-way communication packet transmitted in step S8. The application processing unit 33 extracts session identification information from the two-way communication packet (header portion) received by the first communication processing unit 31. The application processing unit 33 refers to the session information stored in the session information storage unit 35, acquires communication device information included in the session information in association with the session identification information extracted from the two-way communication packet, and specifies the transfer destination (here, the second communication device 20) of the data portion (sub-header portion and sub-data portion) constituting the two-way communication packet. In this case, the application processing unit 33 adds a header portion including information for communication between the second communication device 20 and the server device 30 to the data portion constituting the two-way communication packet received by the first communication processing unit 31, and generates a two-way communication packet composed of the header portion and the data portion. The two-way communication packet generated by the application processing unit 33 in this manner is transmitted (transferred) from the second communication processing unit 32 to the second communication device 20 via the network 1b (step S9).

[0121] In addition, when a two-way communication packet is transmitted from the server device 30 to the second communication device 20 as described above, the expiration date included in the session information is updated in association with the session identification information extracted from the two-way communication packet as described above. In this case, the expiration date is extended so that the period until the expiration date becomes longer. In this way, the expiration date included in the session information is updated (extended) by performing two-way communication, but session information that has expired without performing two-way communication, for example, is deleted from the session information storage unit 35 by, for example, the application processing unit 33. This makes it possible to prevent unnecessary session information from accumulating in the session information storage unit 35.

[0122] Moreover, the two-way communication packet is discarded if the session information including the session identification information extracted from the two-way communication packet is not stored (does not exist) in the session information storage unit 35. In this case, the first communication device 10 (the source of the packet) may be notified that the two-way communication packet has been discarded.

[0123] The communication processing unit 15 included in the second communication device 20 receives the two-way communication packet transmitted in step S9.

[0124] Here, the data portion (sub-header portion and sub-data portion) constituting the two-way communication packet received by the communication processing unit 15 included in the second communication device 20 has been compressed in the first communication device .

[0125] Therefore, the compression processing unit 14 included in the second communication device 20 performs an expansion process on the two-way communication packet received by the communication processing unit 15 based on the session information stored in the session information storage unit 12 and the compression rules stored in the compression rule storage unit 13 (step S10).

[0126] Specifically, compression processing unit 14 extracts session identification information from the two-way communication packet (header portion) received by communication processing unit 15. Compression processing unit 14 refers to the session information stored in session information storage unit 12, and identifies the communication type included in the session information in association with the session identification information extracted from the two-way communication packet. Compression processing unit 14 refers to the compression rules stored in compression rule storage unit 13, and identifies the compression method included in the compression rules in association with the communication type identified based on the session identification information, and expands the data portion (sub-header portion and sub-data portion) constituting the two-way communication packet according to the identified compression method.

[0127] In this embodiment, by sharing compression rules between the first communication device 10 and the second communication device 20 performing two-way communication as described above, it becomes possible for the second communication device 20 to execute an expansion process corresponding to the compression method applied when the first communication device 10 compressed the packets for two-way communication (i.e., the compression method according to the communication type).

[0128] When the processing of step S10 is executed, the application processing unit 11 processes the sub-header section and sub-data section expanded by executing the processing of step S7, and executes processing based on an application program running in the second communication device 20 (hereinafter referred to as application processing) on ​​the communication target data extracted from the sub-data section (step S11).

[0129] 6 shows an example in which two-way communication continues after the process of step S11 is executed. In this case, the processes of steps S12 and S13 corresponding to the processes of steps S6 and S7 described above are executed in the second communication device 20, the processes of steps S14 and S15 corresponding to the processes of steps S8 and S9 are executed, and further, the processes of steps S16 and S17 corresponding to the processes of steps S10 and S11 are executed in the first communication device 10.

[0130] 6 shows that the processes of steps S1 to S17 are executed, but for example, the processes of steps S6 to S17 (i.e., the two-way communication between the first communication device 10 and the second communication device 20) are assumed to be continuously executed until, for example, an explicit instruction to end the two-way communication is given from the first communication device 10 or the second communication device 20. Note that, for example, when an instruction to explicitly end the two-way communication is given in the first communication device 10, the end of the two-way communication may be notified from the first communication device 10 to the server device 30 and the second communication device 20. Similarly, for example, when an instruction to explicitly end the two-way communication is given in the second communication device 20, the end of the two-way communication may be notified from the second communication device 20 to the server device 30 and the first communication device 10.

[0131] Although it has been described here that an instruction to explicitly terminate two-way communication is given in the first communication device 10 or the second communication device 20, the two-way communication may also be terminated, for example, by the two-way communication not being performed for a certain period of time.

[0132] In addition, in the example shown in FIG. 6, the first communication device 10 is described as transmitting the communication start request, but the second communication device 20 may transmit the communication start request.

[0133] Furthermore, in the example shown in Figure 6, in two-way communication, a two-way communication packet is transmitted from the first communication device 10 to the second communication device 20, and then the two-way communication packet is transmitted from the second communication device 20 to the first communication device 10. However, the two-way communication packet may be transmitted from the second communication device 20 to the first communication device 10 first.

[0134] In addition, in Fig. 6, an example has been described in which two-way communication packets are transmitted alternately from the first communication device 10 and the second communication device 20, but the two-way communication packets do not need to be transmitted alternately as shown in Fig. 6, and the first communication device 10 (or the second communication device 20) may transmit two-way communication packets consecutively. The transmission pattern (order) of the two-way communication packets may differ depending on the communication type, communication status, etc. of the two-way communication.

[0135] 6 has been described as a case where the communication start request is permitted in the request permission determination process, but if the communication start request is rejected, the request source of the communication start request (here, the first communication device 10) may be notified that the communication start request has been rejected. When the first communication device 10 is notified that the communication start request has been rejected in this manner, the process shown in FIG. 6 may be terminated, or the first communication device 10 may retransmit the communication start request after a certain period of time has elapsed.

[0136] Also, although omitted in FIG. 6, if a communication start request is permitted in the request permission determination process, the request source of the communication start request (here, the first communication device 10) may be notified that the communication start request has been permitted.

[0137] Furthermore, although FIG. 6 describes the request feasibility determination process as being executed in server device 30, the request feasibility determination process may also be executed, for example, in second communication device 20 that receives a communication start request from server device 30 (i.e., the destination of the communication start request).

[0138] In addition, in FIG. 6, it has been described that the subheader section (information contained therein) and the subdata section (data to be communicated contained therein) that constitute the data section of a two-way communication packet are compressed and expanded, but the subject of the compression and expansion may be either the subheader section or the subdata section, or it may be a part of the information contained in the subheader section or the data to be communicated contained in the subdata section.

[0139] As described above, for example, the first communication device 10 according to this embodiment is connected via the network 1a (second network) to the server device 30 which is connected to the second communication device 20 (another communication device) via the network 1b (first network), and compresses a part of a two-way communication packet (first data) transmitted in two-way communication with the second communication device 20 via the server device 30 using a compression method (first compression method) corresponding to the communication type of the two-way communication, and transmits the partially compressed packet to the server device 30. In this case, the server device 30 transmits the two-way communication packet transmitted from the first communication device 10 to the second communication device 20. Note that in this embodiment, the two-way communication between the first communication device 10 and the second communication device 20 is performed on a virtual network realized by tunneling technology.

[0140] Here, in the two-way communication (data exchange) between the first communication device 10 and the second communication device 20 that is realized by the server device 30 acting as an intermediary as described above, in addition to the information for the two-way communication, it is necessary to transmit information for communication with the server device 30, resulting in a large communication overhead.

[0141] However, in this embodiment, a portion of the two-way communication packets transmitted in two-way communication is compressed by the above-mentioned configuration, and the compression reduces communication overhead, making it possible to avoid an increase in communication costs in two-way communication and a decrease in communication responsiveness.

[0142] In addition, the two-way communication packet (first data) transmitted from the first communication device 10 to the server device 30 is composed of a header section (first header section) including information for communication with the server device 30, a sub-header section (second header section) including information for two-way communication with the second communication device 20, and a sub-header section including a data body (data to be communicated) other than the header section and the sub-header section, and in this embodiment, the sub-header section or the sub-data section is compressed.

[0143] Specifically, the first communication device 10 includes a compression rule storage unit 13 that stores compression rules indicating a compression method corresponding to each of a plurality of communication types of two-way communication, and based on the compression rules, the first communication device 10 is able to compress the subheader portion or subdata portion that constitutes the two-way communication packet using a compression method corresponding to the communication type of the two-way communication performed with the second communication device 20.

[0144] As described above, the two-way communication packet whose subheader or subdata portion has been compressed in first communication device 10 is transmitted (transferred) from server device 30 to second communication device 20. Second communication device 20 includes compression rule storage unit 13 that stores the compression rule described above, and expands the subheader or subdata portion constituting the two-way communication packet (i.e., a part of the two-way communication packet compressed in first communication device 10) in accordance with the compression method indicated by the compression rule.

[0145] In this case, the compression rule (compression method) applied during compression can be identified based on the session information (session identification information and communication type of the two-way communication) stored in the session information storage unit 12 when a session for performing two-way communication is established.

[0146] In this embodiment, with such a configuration, a two-way communication packet compressed at the source (first communication device 10) based on a compression rule can be expanded at the destination (second communication device 20) based on the compression rule, thereby realizing appropriate two-way communication while suppressing communication overhead.

[0147] In this embodiment, the communication type of the two-way communication is represented by, for example, a protocol and a port (number) applied to the two-way communication, but the communication type may be represented by other information. Also, in this embodiment, the compression method has been described as including, for example, a compression method based on protocol conversion and a compression method based on protocol analysis, but the compression method may be another method capable of compressing a part of a packet for two-way communication in order to suppress the above-mentioned communication overhead.

[0148] Here, in the present embodiment, the compression rules are stored in the compression rule storage unit 13 included in the first communication device 10 and the compression rule storage unit 13 included in the second communication device 20, and the first communication device 10 (the compression processing unit 14 included in the first communication device 10) and the second communication device 20 (the compression processing unit 14 included in the second communication device 20) specify the compression method to be applied to compress and decompress packets, respectively. However, the present embodiment may have other configurations. Specifically, the server device 30 may include a compression rule storage unit that stores compression rules, the server device 30 may specify the compression method to be applied to compress and decompress packets according to the communication type of the two-way communication, and the specified compression method may be notified from the server device 30 to the first communication device 10 and the second communication device 20. In this case, the number of compression methods notified from the server device 30 to the first communication device 10 and the second communication device 20 may be multiple.

[0149] In addition, if there is a possibility that the first communication device 10 or the second communication device 20 does not support the compression method notified to the first communication device 10 and the second communication device 20 by the server device 30 as described above (i.e., the first communication device 10 or the second communication device 20 does not have a function for compressing and decompressing packets based on the compression method), the server device 30 may inquire of the first communication device 10 and the second communication device 20 as to whether or not they support the compression method.

[0150] Furthermore, in the present embodiment, it has been described that a common compression rule is held (managed) in the first communication device 10 and the second communication device 20, but, for example, if only the first communication device 10 holds the compression rule, the first communication device 10 may be configured to notify (transmit) the compression rule to the second communication device 20 via the server device 30. On the other hand, for example, if only the second communication device 20 holds the compression rule, the second communication device 20 may be configured to notify (transmit) the compression rule to the first communication device 10 via the server device 30. In this case, a plurality of compression rules may be notified.

[0151] Such notification of the compression rule may be performed at any timing during the process (communication sequence) described in Fig. 6. Specifically, the compression rule may be notified by utilizing, for example, a communication start request or a permission response (exchange).

[0152] That is, the present embodiment may be configured such that one communication device performing bidirectional communication learns a compression rule (information on a compression method) from the other communication device. In this case, for example, one communication device may learn a compression rule newly generated in the other communication device.

[0153] In addition, as described above, if there is a possibility that the other communication device does not support the compression method indicated by the compression rule notified from one communication device to the other communication device (i.e., the other communication device does not have the function of compressing and decompressing packets based on the compression method), one communication device may inquire of the other communication device about whether or not it supports the compression method.

[0154] Furthermore, in this embodiment, the communication system 1 has been described as including a first communication device 10, a second communication device 20, and a server device 30 as shown in FIG. 1, but the communication system 1 of this embodiment may also be configured to further include a first node 40 connected to the first communication device 10 via a network 1c, and a second node 50 connected to the second communication device 20 via a network 1d, as shown in FIG. 13, for example.

[0155] Here, Fig. 14 shows an example of a specific usage mode of the communication system 1 shown in Fig. 13. Note that in Fig. 14, detailed explanations of the same parts as those in Fig. 2 will be omitted.

[0156] In the example shown in Fig. 14, the first communication device 10 shown in Fig. 13 is implemented as a gateway of an office where a maintenance PC used by a remote maintenance technician of a field device is located, and the first node 40 is implemented as the maintenance PC. Also, in the example shown in Fig. 14, the second communication device 20 shown in Fig. 13 is implemented as a gateway of a field device where the field device is located, and the second node 50 is implemented as the field device (a communication device mounted on the field device).

[0157] In such a communication system 1, for example, communication between a maintenance PC (first node 40) and a field device (second node 50) can be realized using two-way communication between a first communication device 10 (office gateway) and a second communication device 20 (field gateway), making it possible to perform maintenance work on the field device remotely in response to the operation of the maintenance technician on the maintenance PC.

[0158] Here, an example of a processing procedure of the communication system 1 shown in FIG. 13 will be briefly described with reference to a sequence chart of FIG.

[0159] First, the processes of steps S21 to S25 corresponding to the processes of steps S1 to S5 shown in FIG. 6 are executed.

[0160] In FIG. 6, it has been described that the application processing unit 11 included in the first communication device 10 acquires the communication target data, but in the communication system 1 shown in FIG. 13, the first node 40 acquires the communication target data, and the communication target data is transmitted from the first node 40 to the first communication device 10 via the network 1c (step S26).

[0161] The communication target data transmitted in step S26 is received (acquired) by the first communication device 10, and the processes of steps S27 to S31 corresponding to the processes of steps S6 to S10 shown in FIG. 6 are executed.

[0162] In FIG. 6, it has been described that application processing is executed in the first communication device 10 after the processing of step S10 is executed, but when the processing of step S31 is executed, the communication target data extracted from the sub-data portion constituting the packet for two-way communication is transmitted from the second communication device 20 to the second node 50 via the network 1d (step S32).

[0163] The communication target data transmitted in step S32 is received (acquired) by the second node 50. In this case, the second node 50 can execute, for example, application processing equivalent to the processing of step S11 shown in FIG.

[0164] 15, after the process of step S32 is executed (application process is executed in the second node 50), two-way communication continues. In this case, in the example shown in FIG 15, the second node 50 acquires the communication target data, and the communication target data is transmitted from the second node 50 to the second communication device 20 via the network 1d (step S33).

[0165] The communication target data transmitted in step S33 is received (acquired) by the second communication device 20, and the processes of steps S34 to S38 corresponding to the processes of S12 to S16 shown in Fig. 6 are executed. When the process of step S38 is executed, the communication target data extracted from the sub-data portion constituting the two-way communication packet is transmitted from the first communication device 10 to the first node 40 via the network 1c (step S39).

[0166] The communication target data transmitted in step S39 is received (acquired) by the first node 40. In this case, the first node 40 can execute, for example, application processing equivalent to the processing of step S17 shown in FIG.

[0167] 15, for example, even if the first node 40 and the second node 50 cannot communicate directly with each other, communication between the first node 40 and the second node 50 can be realized by utilizing the bidirectional communication performed between the first communication device 10 and the second communication device 20. Furthermore, communication overhead in the bidirectional communication can be suppressed by compressing packets for bidirectional communication.

[0168] 13, the second node 50 may be omitted, and for example, the first node 40 may communicate with the second communication device 20. Similarly, the first node 40 may be omitted, and for example, the second node 50 may communicate with the first communication device 10.

[0169] Although some embodiments of the present invention have been described, these embodiments are presented as examples and are not intended to limit the scope of the invention. These embodiments can be implemented in various other forms, and various omissions, substitutions, and modifications can be made without departing from the spirit of the invention. These embodiments and their modifications are included in the scope of the invention and its equivalents described in the claims, as well as in the scope and spirit of the invention. [Explanation of symbols]

[0170] 1...communication system, 1a-1d...network, 10...first communication device, 10a...CPU, 10b...non-volatile memory, 10c...main memory, 10d...communication device, 11...application processing unit, 12...session information storage unit, 13...compression rule storage unit, 14...compression processing unit, 15...communication processing unit, 20...second communication device, 30...server device, 31...first communication processing unit, 32...second communication processing unit, 33...application processing unit, 34...policy information storage unit, 35...session information storage unit, 40...first node, 50...second node.

Claims

1. A server device connected to another communication device via a first network and a communication device connected to a second network, a compression processing means for compressing a part of first data transmitted in two-way communication with the other communication device performed via the server device by a first compression method corresponding to a communication type of the two-way communication; a transmitting means for transmitting the partially compressed first data to the server device; Equipped with The server device transmits the transmitted first data to the other communication device. Communications equipment.

2. the first data includes a first packet including a first header portion including information for communication with the server device, a second header portion including information for the two-way communication, and a sub-data portion including a data body other than the first and second headers; The compression processing means compresses a second header portion or a sub-data portion constituting the first packet. The communication device according to claim 1.

3. a first storage means for storing a compression rule indicating a compression method corresponding to each of a plurality of communication types of two-way communication; the compression processing means compresses a second header portion or a sub-data portion constituting the first packet using a first compression method corresponding to a communication type of the two-way communication with the other communication device based on the compression rule; The other communication device includes a second storage means for storing the compression rule, and expands a second header portion or a second sub-data portion constituting a first packet transmitted from the server device in accordance with a first compression method indicated by the compression rule.

3. The communication device according to claim 2.

4. The communication device according to claim 1 , wherein the first compression method is notified to the communication device from the server device.

5. a receiving means for receiving, from the server device, second data transmitted from the other communication device to the server device; a part of the second data is compressed by a second compression method corresponding to a communication type of the two-way communication with the other communication device; The compression processing means expands a part of the received second data in accordance with the second compression method. The communication device according to claim 1.

6. the second data includes a second packet including a first header portion including information for communication between the other communication device and the server device, a second header portion including information for two-way communication between the other communication device and the communication device, and a sub-data portion including a data body other than the first and second headers; A second header portion or a sub-data portion constituting the second packet is compressed by the second compression method.

6. The communication device according to claim 5.

7. a first storage means for storing a compression rule indicating a compression method corresponding to each of a plurality of communication types of two-way communication; a third storage means for storing, when a session for performing two-way communication with the other communication device is established, session information including session identification information for identifying the session and a communication type of the two-way communication in association with each other; Further comprising: a first header portion constituting the received second packet includes the session identification information, The compression processing means specifies a second compression method corresponding to a communication type of two-way communication included in the session information in association with session identification information included in a first header portion constituting the second packet based on the compression rule, and expands the second header portion or the subdata portion constituting the second packet in accordance with the specified second compression method.

7. The communication device according to claim 6.

8. 8. The communication device according to claim 3, wherein each of the communication types of the two-way communication is represented by a protocol and a port applied to the two-way communication.

9. The communication device according to claim 8 , wherein the compression method indicated by the compression rule includes a compression method based on protocol conversion or a compression method based on protocol analysis.

10. 8. The communication device according to claim 3, wherein the compression rule is notified from the communication device to the other communication device via the server device, or the compression rule is notified from the other communication device to the communication device.

11. the communication device is connected to a first node via a third network; The sub-data portion constituting the first packet includes data acquired at the first node.

3. The communication device according to claim 2.

12. the other communication device is connected to the second node via a fourth network; The sub-data portion constituting the second packet includes data acquired at the second node.

7. The communication device according to claim 6.

13. 8. The communication device according to claim 1, wherein the two-way communication with the other communication device is performed on a virtual network realized by tunneling technology.

14. A first communication device; a server device connected to the first communication device via a first network; a second communication device connected to the server device via a second network; Equipped with The first communication device is a first compression processing means for compressing a part of first data transmitted in two-way communication with the second communication device performed via the server device by a first compression method corresponding to a communication type of the two-way communication; a transmitting means for transmitting the partially compressed first data to the server device; Including, the server device includes a transmitting means for transmitting the transmitted first data to the second communication device; The second communication device includes a second compression processing means for expanding a part of the transmitted first data in accordance with the first compression method. Communication systems.

15. A method executed by a server device connected to other communication devices via a first network and a communication device connected to a second network, comprising: compressing a part of first data transmitted in two-way communication with the other communication device performed via the server device using a first compression method corresponding to a communication type of the two-way communication; transmitting the partially compressed first data to the server device; Equipped with The server device transmits the transmitted first data to the other communication device. method.

16. A program executed by a computer of a server device connected to other communication devices via a first network and a communication device connected to a second network, The computer includes: compressing a part of first data transmitted in two-way communication with the other communication device performed via the server device using a first compression method corresponding to a communication type of the two-way communication; transmitting the partially compressed first data to the server device; Run the command, The server device transmits the transmitted first data to the other communication device. program.

Citation Information

Patent Citations

  • Data compression transmission system, transmission apparatus, and data compression transmission method for use therein

    JP2012039198A

  • Data transfer device, data transfer method, and network system including data transfer device

    JP2019193129A

  • Communication system

    WO2010001684A1