This application relates to a communication device having a buffer to store received packets, a communication method, and a storage medium.
When a communication device receives packets, it stores the received packets in a buffer and reads packets from the buffer for transmission. However, due to the capacity of the buffer, it is necessary to control the storage of received packets in the buffer and the discarding of packets from the buffer.
A communication device according to an aspect of the present disclosure transmits packets received from a first device to a second device using one of a plurality of communication lines. The device has: a receiver that receives packets from the first device, a packet identification unit that identifies a chunk, which is a data unit in upper layers, to which the packets belong, a buffer that stores the packets, a buffer control unit that controls storing the packets into the buffer and discarding the packets from the buffer based on the chunk to which the packets belong, and a transmitter that reads the packets from the buffer and transmits the read packets to a second device. The buffer control unit discards, based on whether a first packet received by the receiver can be stored into the buffer and based on the chunk to which the first packet belongs, a second packet which is a stored packet in the buffer and other packets in the buffer, the second packet and the other packets belonging to the first chunk or a second chunk.
A communication method according to another aspect of the present disclosure is performed using a communication device that transmits packets received from a first device to a second device using one of a plurality of communication lines. The method includes: receiving packets from the first device, identifying a chunk, which is a data unit in upper layers, to which the packets belong, controlling storing the packets into a buffer and discarding the packets from the buffer based on the chunk to which the packets belong, and reading the packets from the buffer and transmitting the read packets to a second device. The controlling includes discarding, based on whether a first packet received by the receiver can be stored into the buffer and based on the chunk to which the first packet belongs, a second packet which is a stored packet in the buffer and other packets in the buffer, the second packet and the other packets belonging to the first chunk or a second chunk.
A computer-readable non-transitory storage medium according to another aspect of the present disclosure stores a program. The program causes a communication device that transmits packets received from a first device to a second device using one of a plurality of communication lines to: receive packets from the first device, identify a chunk, which is a data unit in upper layers, to which the packets belong, control storing the packets into a buffer and discarding the packets from the buffer based on the chunk to which the packets belong, and read the packets from the buffer and transmit the read packets to a second device. The controlling includes discarding, based on whether a first packet received by the receiver can be stored into the buffer and based on the chunk to which the first packet belongs, a second packet which is a stored packet in the buffer and other packets in the buffer, the second packet and the other packets belonging to the first chunk or a second chunk.
JP2003-179633A discloses that a queue temporarily stores transmitted packets, and (1) when the queue length, which is the sum of packet lengths entering the queue, is less than a predetermined threshold value packets are sequentially queued, and (2) when the queue length is greater than the predetermined threshold value, the packet is discarded depending on the packet discard level and the position of the queue to be stored is changed.
JP2006-115197A states that packets are discarded if the queue length is greater than the maximum queue length.
Here, the inventor has found the following issues as a result of detailed study. When storing data into or discarding data from a buffer on a packet-by-packet basis, as in JP2003-179633A and JP2006-115197A, there is a possibility that data needed by the upper layers may be missing. In such cases, the transmitted data may not be available, which hinders efficient data transmission.
The purpose of this disclosure is to realize a communication device, etc. that can perform efficient data transmission by reducing the possibility of data loss occurrence.
With the configuration described above, the communication devices and other devices of the present disclosure can reduce the possibility of data loss occurrence and perform efficient data transmission.
Embodiments of the present disclosure are described below with reference to the drawings.
The present invention means the invention described in the claims and is not limited to the following embodiments. Words and phrases in double quotation marks refer to the words and phrases described in the claims, and likewise are not limited to the following embodiments.
The configurations and methods described in the dependent claims are optional configurations and methods of the invention described in the independent claims. Configurations and methods of embodiments corresponding to the configurations and methods described in the dependent claims, as well as configurations and methods not described in the claims but only in the embodiments, are optional configurations and methods of the present invention. The configurations and methods described in the embodiments in cases where the claims are broader than the description of the embodiments are also optional configurations and methods in the present invention in the sense that they are examples of the configurations and methods of the invention. In either case, the description in the independent claims is an essential configuration and method of the invention.
The effects described in the embodiments are those of having the configuration of the embodiments as an example of the invention and not necessarily those of the invention.
If there are multiple embodiments (including variations), the configuration disclosed in each embodiment is not limited to the embodiment only but can be combined across embodiments. For example, the configuration disclosed in one embodiment can be combined with other embodiments. Also, configurations disclosed in each of multiple embodiments can be partially collected and combined.
The problems described in this disclosure are not publicly known but were independently discovered by the inventor. The problems described in this disclosure affirm the inventive step of the invention together with the composition and method described in this disclosure.
The communication device 100 can be configured with a general-purpose CPU (Central Processing Unit), volatile memory such as RAM, ROM, flash memory, or nonvolatile memory such as a hard disk, various interfaces, and an internal bus connecting them. Then, by executing software on this hardware, it can be configured to perform the functions of each functional block described in
The communication device 100 is an electronic control unit (ECU (Electronic Control Unit), hereinafter abbreviated as ECU) as a semi-finished product in this embodiment. However, it is not limited to this form. For example, semiconductor circuits and semiconductor modules are assumed in the form of components, electronic control units, electronic control units, and system boards in the form of semi-finished products, and servers, workstations, personal computers (PCs), tablets, mobile routers, smart phones, cell phones, and navigation systems in the form of finished products. phones, and navigation systems. The communication device 100 may consist of multiple ECUs as well as a single ECU. The above description is also true for other forms of communication devices.
Receiver 101 receives “packets” generated by the source device 10 (an example of the “first device”) from the source device 10. The packets are, for example, data generated by the transmission source application running in the transmission source device 10, divided into multiple packets by packetization or fragmentation performed by the control unit or other unit not shown in the figure of the transmission source device 10, and then transmitted. The term “packet” refers to a mass of data as transmitted data, in information communication, can be called by any name, such as frame, segment, etc., in addition to “packet” in a narrow sense.
The source application generates data. A video transmission application is an example of the source application. The video transmission application compresses image data captured by a camera connected to the source device 10 into I-frame, P-frame, and B-frame data based on, for example, the H.264/MPEG4 AVC standard and transmits it to a destination application in the destination device 20. destination In this case, each compressed frame data is fragmented by the network card (NIC: Network Interface Card) of the source device 10 to be divided into packets of the MTU (Maximum Transmitter) size of the NIC and transmitted. The packets are then sent.
The source device 10 and the communication device 100 are connected via communication path. Communication path may be either wireless or wired communication path. Examples of wireless communication path include communication path based on mobile communication systems, such as W-CDMA (Wideband Code Division Multiple Access), HSPA (High Speed Packet Access), LTE (Long Term Evolution (W-CDMA), HSPA (High Speed Packet Access), LTE (Long Term Evolution), LTE-A (Long Term Evolution Advanced), 4G, or 5G wireless communication systems can be used. In addition, wireless communication path consisting of wireless communication methods such as IEEE802.11 (Wi-Fi (registered trademark)), IEEE802.16 (WiMAX (registered trademark)), Bluetooth (registered trademark), UWB (Ultra-Wide Band), or DSRC (Dedicated Short Range Communication paths consisting of wireless communication methods such as IEEE 802.16 (Wi-Fi (registered trademark)), Bluetooth (registered trademark), UWB (Ultra-Wide Band), or DSRC (Dedicated Short Range Communication) can also be used. As examples of wired communication path, LAN (Local Area Network) such as Ethernet (registered trademark), optical fibers, or fixed telephone lines can be used. In the case of in-vehicle device, for example, CAN (Controller Area Network) or LIN (Local Interconnect Network), which is an in-vehicle network, can be used. In addition, the communication path may be a combination of wireless and wired communication path.
The form of the transmission source device 10 may be a component, a semi-finished product, or a finished product, as well as the communication device 100. The specific form of the transmission source device 10 is described below.
The packet identification unit 102 obtains packet information by analyzing packets received by the receiver 101 and stores the obtained packet information in the packet information storage 103. Also, the packet identification unit 102 identifies the chunk to which the packet received by the receiver 101 belongs. A chunk is a data unit that is treated as a single piece of data in the higher layers. Higher layers are layers which are the transport layer (Layer 4) or above the transport layer when packets are communicated in network layer (Layer 3) of the OSI reference model. An example of a chunk is compressed frame data (I-frames, P-frames, or B-frames) when the source application of the transmitting terminal device 10 is a video transmission application.
In addition to this, the packet identification unit 102 obtains packet size, chunk size, and importance information of received packets by analyzing the packets. The specific chunk identification and chunk numbering methods performed by the packet identification unit 102 are described below.
The packet information storage 103 stores packet information obtained by the packet identification unit 102. For example, the packet information storage 103 stores packet information input from the packet identification unit 102 in the order of input. The packet information storage 103 may have either nonvolatile memory or volatile memory.
The chunk number is a serial number that identifies the chunk to which each packet belongs. The chunk number is assigned by the packet identification unit 102 by analyzing each packet received by the receiver 101.
The packet size is the packet size obtained by the packet identification unit 102 for each packet received by the receiver 101. In a case that the packet size is listed in the IP header or other identification information, the identification information should be recorded. In the case of fixed-length packets, it is sufficient to record the predetermined fixed-length packet size.
The chunk size is the size of the chunk identified by the packet identification unit 102. The chunk size can be obtained, for example, by summing the packet sizes of packets assigned the same chunk number. Specifically, the chunk size is obtained as follows.
In the example in
The importance information is information indicating the importance of the packet. Specifically, the importance information is information assigned to each packet by the source device 10 or information assigned by the packet identification unit 102 by analyzing the packet based on the contents of the payload data of the packet. The importance of a packet may be defined according to the purpose of the source application or the purpose of the installation of the communication device 100. For example, in a case that the packet is video image data, the importance of packets including I-frames may be raised above the importance of packets including other types of frames because missing I-frames would prevent decoding of P-frames and B-frames. Alternatively, in a case that the communication device 100 is an in-vehicle device installed in an automobile, the importance of information directly indicating the driving status, such as speed and acceleration, may be raised above the importance of other information. In
The packet information stored in the packet information storage 103 may be updated according to the processing status of packets stored in the buffer 104 described below. For example, when a packet is stored in the buffer 104, the packet information of the stored packet is recorded in the packet information storage 103. When a packet is discarded from the buffer 104, the packet information of the discarded packet is deleted from the packet information storage 103. When the transmitter 107 reads a packet from the buffer 104 and transmits it, the packet information of the read packet is deleted from the packet information storage 103.
The buffer 104 stores packets received by receiver 101 and whose chunks are identified by packet identifier 102. Specifically, the buffer 104 stores packets received by receiver 101 in the order of receipt, excluding those that are discarded. Like the packet information storage 103, the buffer 104 may be composed of either nonvolatile memory or volatile memory. The buffer 104 is an area for storing packets, and the packets in the buffer 104 may be stored or read in an arbitrary order. The buffer 104 may include a queue and/or a stack.
In this implementation, the buffer 104 is controlled based on FIFO (First In First Out) operation, which stores the packets in input order and outputs packets in the input order, and may be referred to as a queue. However, in this implementation, the output order may not necessarily be the input order.
The buffer control unit 105 controls the storing of packets into buffer 104 and the discarding of packets from buffer 104. Specifically, the buffer control unit 105 controls the storing and discarding of packets “based on the chunk to which the packets belong” on the basis of the packet information stored in the packet information storage 103. Here, “based on the chunk to which the packets belong” means that storing to and discarding from a buffer should result in a unit of the chunk, and it is not necessary to store all packets belonging to the same chunk at the same time when storing to a buffer, nor is it necessary to discard all packets belonging to the same chunk at the same time when discarding from a buffer. When storing to a buffer, it is not necessary to store all packets belonging to the same chunk at the same time.
The specific methods of storing and discarding packets performed by the buffer control unit 105 are described below.
The transmitter 106 reads packets from the buffer 104 and transmits them to the destination device 20 (an example of the “second device”). The order in which packets are read is in principle the same as the input order of buffer 104, but in this implementation, it may not necessarily be the input order. The transmitted packets are used by the destination application in the destination device 20.
The destination application uses the data contained in the packet. For example, the destination application may be image playback software that decodes and plays back compressed image data.
The communication device 100 and the destination device 20 are connected via communication path. The communication path may be either a wireless communication path or a wired communication path. The examples of wireless communication path and wired communication path are the same as those described as examples of communication path between the transmission source device 10 and the communication device 100. The same applies to the fact that the communication path may be a combination of a wireless communication path and a wired communication path. For example, if the destination device 20 is a server device connected to the Internet, a 4G or 5G wireless communication system can be used between the communication device 100 and the base station device, and a wired communication system consisting of an optical line between the base station device and the destination device 20.
The form of the destination device 20 may be a component, semi-finished product, or finished product, as with the communication device 100. The specific form of the destination device 20 is described below.
(2) Details of the Packet Identification Unit 102 of the Communication Device 100 of this Embodiment
Each of
When the video transmission application of the transmitting terminal device 10 compresses images and transmits frames, the transmitting terminal device 10 divides each frame into single or multiple packets and transmits the frames as shown in
The packet identification unit 102 uses, for example, 5 ms as a threshold to enable correct determination even when I-frames are consecutive. If Δx is smaller than 5 ms, the packets are determined to belong to the same frame, and if Δx is greater than or equal to 5 ms, the packets are determined to belong to different frames. Each frame is then identified as one chunk, and packets belonging to the same chunk are assigned the same chunk number, and when the new chunk is started, the chunk number is assigned incrementally. In the example in
In the example in
The IP header shown by
When large size data is packetized into small size packets by the source application, the source application stores identification information indicating the data before splitting at the beginning of the TCP/UDP payload. When data transmitted by the source terminal device 10 is defined as a chunk, the packet identification unit 102 can identify which chunk the packet belongs to, based on the identification information in the TCP/UDP payload. In this implementation, the packet identification unit 102 increments and assigns a chunk number to each TCP/UDP payload identification information.
The packet identification unit 102 may identify chunks from the timestamp when they are stored in the buffer 104. In a case that video compression is used, and I-frame, P-frame, and B-frame information is recorded in the packet, the packet identification unit 102 may identify chunks based on this information.
(3) Details of the Buffer Control Unit 105 of the Communication Device 100 of this Embodiment
Examples of specific packet storing and discarding methods performed by the buffer control unit 105 are described in
At time t1, packets corresponding to chunk 1 (C1 in the drawing: the same below) and chunk 2 are already stored in buffer 104. Then, assume the case where five packets corresponding to chunk 3 are newly stored in buffer 104.
At times t2 and t3, packets corresponding to chunk 3 are sequentially stored in the free space of buffer 104. However, at time t4, the capacity of buffer 104 is saturated, and the third packet in chunk 3 cannot be stored in buffer 104 and is discarded. Similarly, at times t5 and t6, the fourth and fifth packets are discarded.
Eventually, at time t6, some packets corresponding to chunk 3 are discarded, and all packets corresponding to chunk 3 are no longer aligned. As a result, even if packets corresponding to chunk 3 remaining in buffer 104 are sent to destination device 20, they cannot be used by the destination application of destination device 20, and packets belonging to chunk 3 are wasted, resulting in inefficient data transmission.
At time t6, all packets belonging to chunk 1 are discarded, but packets belonging to chunks 2 and 3 are stored. As a result, packets that cannot be used by the destination application of the destination device 20 are not sent, and efficient data transmission can be performed. Moreover, the packets that are not sent to the destination device 20 as a result are packets that belong to a chunk that is older in time in this example than in the previous example, so data that is closer to the present than can be used. This is especially effective when the destination application is an application that requires real-time performance.
In
Alternatively, when the number of packets belonging to chunk 1 remaining in buffer 104 at time t4 (example of “stored packets”) exceeds the “predetermined ratio” of all packets belonging to chunk 1, including packets belonging to chunk 1 that have already been transmitted, the packets belonging to chunk 1 remaining in buffer 104 may be discarded from buffer 104. If the packets belonging to chunk 1 remaining in buffer 104 “exceed” the “predetermined ratio,” the packets belonging to chunk 1 remaining in buffer 104 may be discarded from buffer 104. The predetermined ratio can be set to 1/2, 2/3, or 3/4, for example. According to this process, the waste of communication resources can be minimized, and minimum real-time performance can be maintained. The same is true for Example 2 described below. The “predetermined ratio” may be a predetermined fixed value or a variable value that varies according to conditions. “Exceeds” may include a predetermined ratio, i.e., it may be greater than or equal to a predetermined ratio.
As in the example of
At time t4 in this example, the packets belonging to chunk 1, which were stored in buffer 104 earliest in time, were discarded, but buffer control unit 105 may not discard packets belonging to chunk 1 from buffer 104 in a case that the importance of the packets belonging to chunk 1 exceeds a “predetermined level”. In that case, the next packets belonging to chunk 2 that are stored in buffer 104 earlier in time may be discarded. Whether or not the importance level exceeds the predetermined importance level can be determined based on the importance level information recorded in the packet information storage 103, as shown in
In this example, when a packet is stored in buffer 104, buffer control unit 105 discards from buffer 104 the stored packets that belong to other chunks different from the chunk to which this packet belongs and were stored in buffer 104 before this packet.
At time t2, packets belonging to chunk 3 are stored in the free area of buffer 104. In this case, packets belonging to chunk 1 or 2, which are different chunks from chunk 3 and stored in buffer 104 (example of “stored packets”), are discarded from buffer 104. In the case of
From time t3 to t6, the second through fifth packets are sequentially stored in buffer 104.
At time t6, all packets belonging to chunk 2 are discarded, but unsent packets in chunk 1 and packets belonging to chunk 3 are stored. As a result, packets that cannot be used by the destination application on the destination device 20 are not sent, and efficient data transmission can be performed. Moreover, the packets that are not sent to the destination device 20 as a result are packets that belong to a chunk that is older in time in this example than in the conventional example, which means that data closer to the present can be used. This is particularly effective when the destination application is an application for which real-time performance is important.
In this example, when a newly added packet cannot be stored in buffer 104 due to exceeding the capacity of buffer 104, buffer control unit 105 discards from buffer 104 the stored packets that belong to the same chunk as this packet and were stored in buffer 104 before this packet.
At times t2 and t3, packets belonging to chunk 3 are sequentially stored in the free area of buffer 104. However, at time t4, the capacity of buffer 104 is saturated, and the third packet of chunk 3 cannot be stored in buffer 104 and is discarded. In this case, packets belonging to chunk 3, which is the same chunk as chunk 3 and already stored in buffer 104 (an example of “already stored packets”), are discarded from buffer 104. In the case of
At times t5 and t6, packets belonging to chunk 3 are still discarded without being stored in buffer 104.
At time t6, all packets belonging to chunk 3 are discarded, but packets belonging to chunks 1 and 2 are stored. As a result, packets that cannot be used by the destination application in the destination device 20 are not sent, and efficient data transmission can be performed. Moreover, the packets that are not sent to the destination device 20 as a result are packets that belong to a new chunk, so the data that maintains the time series can be used. This is particularly effective when the destination application is an application that requires time-series data to be played back in sequence, such as viewing video content.
When packets belonging to chunk 1 and chunk 2 are sequentially transmitted to the destination device 20 and there is room in the buffer 104, a retransmission request can be made from the communication device 100 to the source device 10 to receive packets belonging to chunk 3 again from the source device 10. The packets belonging to chunk 3 can be received again from the source device 10 and sent to the destination device 20 by making a retransmission request from the communication device 100 to the destination device 20.
(4) Operation of Communication Device 100 of this Embodiment
The receiver 101 of the communication device 100 receives a “packet” generated by the source device 10 (S101). The packet identification unit 102 of the communication device 100 identifies the chunk to which the packet received by the receiver 101 belongs (S102). The buffer control unit 105 of the communication device 100 controls the storing and discarding of packets “based on the chunk to which the packets belong” on the basis of the packet information stored in the packet information storage 103 (S103). Buffer 104 of communication device 100 stores packets received by receiver 101 according to the result of control by buffer control unit 105 (S104). The transmitter 106 of the communication device 100 reads the packet from the buffer 104 and transmits it to the destination device 20 (S105).
According to this embodiment, by controlling the storing and discarding of packets into the buffer in units of chunks, which are data units in the upper layers, it is possible to reduce the risk of missing data and enable efficient data transmission.
(1) Overall Configuration of this Communication Device 200
In the first embodiment, chunk identification was performed without distinguishing between connected source device 10 and destination device 20, or between the source and destination applications installed in the respective device. However, when multiple source terminal devices 10 and destination devices 20 are connected, it is necessary to treat each chunk as a different chunk even if they use the same software. Also, if multiple source applications or multiple destination applications are running on the source terminal device 10 or destination device 20, it is necessary to distinguish chunks for each application. The case of multiple connected source terminal devices 10 and destination devices 20, or multiple source and destination applications on each device, is explained in the second embodiment referencing
A source terminal device A and a source terminal device B, which are multiple source terminal devices, are connected to the communication device 200. Also, multiple destination devices, destination device P and destination device Q, are connected to the communication device 200. The source terminal device A is equipped with and executes the source application a. The source terminal device B is equipped with and executes the source application b and the source application c. The destination device P is equipped with and executes the destination application p and the destination application q. The destination device P is equipped with and executes the destination application p and the destination application q. The destination device Q is equipped with and executes the destination application r. Three or more source and destination devices may be connected. Three or more source and destination applications may also be installed and executed on a single device.
In addition to identifying chunks as described in the first embodiment, the packet identification unit 202 further identifies the communication flow to which the packet belongs based on the source and/or destination of the packet.
A communication flow can include, for example, information identifying the source and the destination. For example, if a packet is sent from source application a of source terminal device A to destination application q of destination device P, the communication flow can be expressed as AaPq.
If only one source terminal device is connected to the communication device 200, information identifying the source terminal device can be omitted. If only one destination device is connected to the communication device 200, information identifying the destination device can be omitted. For example, if the only a source terminal device B is connected to communication device 200 as the source terminal device, the communication flow can be expressed as bPq when a packet is sent from source application b in source terminal device B to destination application q in destination device P. If only one source application is installed in the source device or one destination application is installed in the destination device, the information identifying the source or destination application can be omitted. For example, if the only source terminal device A is connected to communication device 200 as the source terminal device, and the only source application a is installed in source terminal device A as the source application, the communication flow can be expressed as Pq when a packet is sent from source application a in source terminal device A to destination application q in destination device P.
To identify the source and destination, information stored in the IP header and TCP/UDP header can be used.
As shown in
As shown in
In addition to the information shown in
The buffer control unit 205 controls the storing of packets into the buffer 104 and discarding of packets from the buffer 104 for each communication flow based on the chunk to which the packets belong. For example, in
According to the second embodiment, in addition to the configuration of the first embodiment, by controlling the storing and discarding of packets into the buffer based on the chunk to which the packets belong for each communication flow, so even when multiple source and destination devices, or multiple source and destination applications are running in a communication device, the possibility of missing data used by each device or application can be reduced, and thus efficient data transmission can be performed.
Some examples of specific combinations of source device 10, communication device 100 (200), and destination device 20 are described below.
As shown in
The communication device 100 (200) may be “mounted” to a “mobile object”. as shown in
The features of the communication devices and other devices in each of the embodiments of this disclosure have been described above. The terms used in each form are examples and may be replaced with terms that are synonymous or include synonymous functions.
The block diagram used to describe the implementation is a classification and organization of the device configuration by function. The blocks that indicate each function are realized by any combination of hardware or software. In addition, since the block diagram shows functions, it can be understood as a disclosure of the invention of a method and a program to realize said method.
The order of the processes, flows, and blocks, which can be understood as methods, described in each form, may be rearranged, as long as there are no restrictions, such as a relationship in which one step uses the results of the other step preceding it.
The communication devices of the present disclosure may be for vehicular applications or include dedicated or general-purpose communication devices other than for vehicular applications, except as specifically limited in the scope of the claims.
Examples of the embodiments of communication devices in this disclosure include semiconductor devices, electronic circuits, modules, and microcomputers. Semi-finished products include electronic control units (ECU (Electric Control Unit)) and system boards. The finished product may take the form of a mobile router, cell phone, smartphone, tablet, personal computer (PC), workstation, or server. Others include devices with communication functions, for example, car navigation systems.
It is contemplated that the communication devices of the present disclosure will be used for the purpose of providing various services. In conjunction with the provision of such services, the communication device of the present disclosure will be used, the method of the present disclosure will be used, and/or the program of the present disclosure will be executed.
In addition, this disclosure can be realized not only with dedicated hardware having the configuration and functions described in each embodiment, but also with a program for realizing this disclosure recorded on a recording medium such as a memory or hard disk, and with general-purpose hardware having a dedicated or general-purpose CPU and memory, etc. capable of executing it. This can also be realized as a combination.
The program for the communication device of this disclosure, which is stored in a non-transitory tangible recording medium (e.g., external storage device (hard disk, USB memory, CD/BD, etc.) or internal storage device (RAM, ROM, etc.)) of dedicated or general-purpose hardware, can be provided via a recording medium or The program can also be provided from the server to dedicated or general-purpose hardware via communication path without the need for the server. This allows the latest functions to be constantly provided through program upgrades.
Industrial applicability: The communication devices of this disclosure can be used for both automotive and non-automotive applications. Furthermore, it can also be applied to relay devices.
Number | Date | Country | Kind |
---|---|---|---|
2022-015863 | Feb 2022 | JP | national |
The present application is a continuation application of International Application No. PCT/JP2022/042851, filed on Nov. 18, 2022, which claims priority to Japanese Patent Application No. 2022-015863, filed on Feb. 3, 2022. The contents of these applications are incorporated herein by reference in their entirety.
Number | Date | Country | |
---|---|---|---|
Parent | PCT/JP2022/042851 | Nov 2022 | WO |
Child | 18792373 | US |