US11902405B2 - Communication apparatus, communication method, and storage medium - Google Patents
Communication apparatus, communication method, and storage medium Download PDFInfo
- Publication number
- US11902405B2 US11902405B2 US17/714,653 US202217714653A US11902405B2 US 11902405 B2 US11902405 B2 US 11902405B2 US 202217714653 A US202217714653 A US 202217714653A US 11902405 B2 US11902405 B2 US 11902405B2
- Authority
- US
- United States
- Prior art keywords
- packet
- transmission
- messages
- message
- processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000004891 communication Methods 0.000 title claims abstract description 32
- 238000000034 method Methods 0.000 title claims description 12
- 230000005540 biological transmission Effects 0.000 claims abstract description 134
- 230000006870 function Effects 0.000 claims description 9
- 230000004044 response Effects 0.000 claims description 7
- 230000008569 process Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 5
- 239000000284 extract Substances 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/166—IP fragmentation; TCP segmentation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/03—Protocol definition or specification
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/321—Interlayer communication protocols or service data unit [SDU] definitions; Interfaces between layers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/326—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the transport layer [OSI layer 4]
Definitions
- the present disclosure relates to a communication apparatus, a communication method, and a storage medium.
- Transmission processing of a communication apparatus is performed by a protocol stack in an operating system (OS) executed by a central processing unit (CPU) in the communication apparatus.
- OS operating system
- CPU central processing unit
- protocol processing for transmission of data is performed on data designated in a transmission application interface by an application.
- the protocol processing including cutting the designated data into a specific size, generating a header including information such as destination information indicating a transmission destination, and adding the generated header to the cutout data generates a transmission packet. Further, repeating the cutout of data and the generation of a header produces all transmission packets for the designated data, and the generated transmission packets are transmitted to an apparatus of the transmission destination.
- a packet batch generation technique of generating header information for pre-segmented data is used, and performing data segmentation and generation of a plurality of headers in a later stage of protocol processing, when transmitting data to the same communication partner. Headers are reproduced for a plurality of packets based on the header information, which allows packet generation processing to be performed faster than that in generating a header for each packet (Japanese Patent Application Laid-Open No. 2018-196053).
- Such a packet batch generation technique is generally called large send offload (LSO).
- LSO large send offload
- TCP Transmission Control Protocol
- TSO TCP segmentation offload
- a protocol stack provides a transmission application programming interface (API) for transmitting a plurality of pieces of transmission data at a time.
- a transmission request can be made to the protocol stack through one application interface operation for complicated transmission, such as transmission of different data for each communication partner, or transmission of identical data to a plurality of communication partners, through designation of a transmission destination for each data to be transmitted.
- API transmission application programming interface
- sendmsg( ) is implemented as a transmission application interface for transmitting a plurality of messages at a time.
- Each of the messages includes data to be transmitted and transmission destination information thereof.
- the processing performed by a protocol stack that has received a request to transmit a plurality of messages at a time involves changing the content of a header to be added to each packet, if a different transmission destination is included in the messages of which transmission is requested. That prevents batch generation of transmission packets.
- the present disclosure is directed to appropriate batch generation of transmission packets even in transmission processing on a plurality of messages including a different transmission destination.
- a communication apparatus includes at least one first processor and at least one first memory coupled to the first processor and having stored thereon instructions that, when executed by the first processor, cause the first processor and the first memory to cooperate to act as a selection unit configured to select a plurality of messages each including destination information indicating a common transmission destination from among a plurality of messages each including destination information indicating a transmission destination, a first generation unit configured to generate a plurality of transmission packets corresponding to the messages selected by the selection unit, in a batch, and a second generation unit configured to generate a transmission packet corresponding to a message not selected by the selection unit among the plurality of messages.
- FIG. 1 is a block diagram illustrating a configuration example of a communication apparatus according to a first exemplary embodiment.
- FIG. 2 is a diagram illustrating a configuration example of packet management structures.
- FIG. 3 is a flowchart illustrating an example of packet transmission processing performed by a protocol stack.
- FIG. 4 is a diagram illustrating a configuration example of a packet with packet management structures.
- FIG. 5 is a diagram illustrating a configuration example of a large packet with packet management structures.
- FIG. 6 is a flowchart illustrating an example of packet transmission processing according to a second exemplary embodiment.
- FIG. 7 is a flowchart illustrating an example of message transmission processing according to a third exemplary embodiment.
- FIG. 1 is a block diagram illustrating a configuration example of a communication apparatus 1 according to a first exemplary embodiment.
- the communication apparatus 1 includes a central processing unit (CPU) 11 , a random access memory (RAM) 12 , and a read only memory (ROM) 13 .
- the communication apparatus 1 further includes a local area network (LAN) control unit 14 and a wireless local area network (WLAN) control unit 15 each performing communication via a network 2 , and also includes a packet batch generation unit 16 .
- the CPU 11 , the RAM 12 , the ROM 13 , the LAN control unit 14 , the WLAN control unit 15 , and the packet batch generation unit 16 are connected one another by a bus 17 .
- the CPU 11 runs programs, and controls the general communication apparatus 1 .
- the programs include an operating system (OS), protocol stack processing in the OS, and applications.
- the RAM 12 is used as a memory for storing and managing transmission/reception data.
- the RAM 12 is also used to store data for the CPU 11 to perform each type of processing.
- the ROM 13 stores various programs to be run by the CPU 11 .
- the LAN control unit 14 is a wire communication interface to connect to the network 2 , and transmits and receives transmission packets.
- the LAN control unit 14 includes hardware circuitry of a physical (PHY) layer and a media access control (MAC) layer of a transmission medium.
- PHY physical
- MAC media access control
- the interface of the LAN control unit 14 is an Ethernet® type
- the LAN control unit 14 is an Ethernet network interface card (NIC).
- the WLAN control unit 15 is a wireless communication interface to connect to the network 2 , and transmits and receives transmission packets.
- the WLAN control unit 15 includes a controller that controls a wireless LAN compliant with the Institute of Electrical and Electronics Engineers (IEEE) 802.11a/b/g/n/ac or the like, and radio frequency (RF) circuitry.
- IEEE Institute of Electrical and Electronics Engineers
- RF radio frequency
- the packet batch generation unit 16 can take a large packet, as described below, as input, divide the large packet into a plurality of packets, and output the packets.
- the packet batch generation unit 16 generates a plurality of headers by reproducing and modifying a communication protocol header in the large packet, and adding the headers to transmission data divided into a plurality of data, thereby generating the packets. Packet generation processing can be thereby performed faster than that in generating a header for each packet.
- the packet batch generation unit 16 is a block indicating a part of the protocol stack processing performed by the CPU 11 , for convenience.
- the protocol stack processing includes implementing a function of performing normal packet generation, in addition to the packet batch generation unit 16 .
- FIG. 2 is a configuration example illustrating packet management structures 20 , 21 , and 22 used in packet transmission and reception processing in the protocol stack.
- each of the packet management structures 20 , 21 , and 22 is in a continuous area on the memory, but is not limited thereto.
- the packet management structures 20 to 22 are stored in a predetermined area of the RAM 12 at the time of, for example, the activation of the CPU 11 .
- An area for storing the packet management structures 20 to 22 is secured in the RAM 12 as appropriate in the transmission processing and reception processing performed by the CPU 11 .
- the secured area is managed so that, in response to completion of the transmission processing and the like, at which the packet management structures 20 to 22 are no longer used, the secured area is released and brought into a state where the area can be secured again.
- Each of the packet management structures 20 to 22 includes a next buffer address, a next packet address, a valid data length, and a data area, as members (contents).
- the next buffer address indicates address information about another packet management structure. For example, if a packet management structure to be connected to the packet management structure 20 is a packet management structure 22 , “0 ⁇ 2000_1400”, which is the leading memory address of the packet management structure 22 , is stored in the next buffer address of the packet management structure 20 . If data of a size not fitting into the data area of one packet management structure is to be stored, the data can be stored with packet management structures connected to each other. In such a case, the next buffer address is used.
- the next packet address is used to indicate a boundary between packets.
- Information stored here is address information about another packet management structure, as with the next buffer address.
- the valid data length indicates the length of data stored in the data area.
- transmission data is stored as a payload of a packet.
- the CPU 11 copies transmission data designated by an application that has issued a transmission request, so that the payload is stored.
- FIG. 3 is a flowchart illustrating an example of packet transmission processing performed by the protocol stack that operates on the CPU 11 .
- step S 1 in response to a call of an application interface for transmission by an application through a system call, the packet transmission processing through the protocol stack performed by the CPU 11 begins.
- the protocol stack provides an application interface at which a plurality of messages can be designated by one transmission request.
- the application generates a plurality of messages each including a common transmission destination as appropriate and provides the generated messages to the protocol stack.
- the messages each include a transmission destination and a storage address of transmission data.
- IP Internet Protocol
- TCP Transmission Control Protocol
- UDP User Datagram Protocol
- the protocol stack refers to the transmission destination of the leading message among untransmitted messages. Initially, the protocol stack refers to the leading message among messages designated in the application interface.
- step S 3 the protocol stack determines whether the transmission destination of the leading message and the transmission destination of the second message among the untransmitted messages match each other. In other words, the protocol stack determines whether a set of the IP address and the port number of the leading message and a set of those of the next message match each other. If those do not match each other (NO in step S 3 ), the processing proceeds to step S 4 .
- step S 4 the protocol stack starts processing of generating a packet corresponding to the leading message among the untransmitted messages. More specifically, the protocol stack acquires data about a packet management structure, and creates a payload by copying transmission data indicated by the leading message among the untransmitted messages. The transmission data is copied from an area used by the application in the RAM 12 to the data area of the packet management structure. In addition, the size of the copied data is set in the valid data length of the packet management structure.
- the protocol stack creates a header for the created payload to create a packet.
- the protocol stack acquires a new packet management structure, and creates a header in a data area. For example, the protocol stack creates an Ethernet® header, an IP header, and a UDP header.
- the protocol stack sets the next buffer address as a member of the packet management structure that stores the header indicating the packet management structure that stores the payload for the packet configuration.
- FIG. 4 illustrates an example of the packet configuration with packet management structures.
- the header of a packet is stored in the data area of a packet management structure 41
- the payload is stored in the data area of a packet management structure 42
- the address information about the packet management structure 42 is set in the next buffer address of the packet management structure 41 .
- step S 3 if the set of the IP address and the port number of the leading message and the set of those of the next message match each other (the transmission destinations match each other) (YES in step S 3 ), the processing proceeds to step S 6 .
- step S 6 the protocol stack determines whether the destinations of the third and subsequent messages match the transmission destination of the leading message. If a message of which the transmission destination does not match the transmission destination of the leading message is found or if there are no subsequent messages (NO in step S 6 ), the processing proceeds to step S 7 . That allows a consecutive plurality of messages each having destination information indicating the common transmission destination to be selected.
- step S 7 the protocol stack creates a payload corresponding to each of the messages having the same designated transmission destination, which is determined in step S 6 .
- the method of creating the payload for one message is similar to that in step S 4 , and the payload is created with a packet management structure.
- step S 7 a plurality of payloads is created, and the links between the payloads are listed using the next packet address of the packet management structure.
- step S 8 the protocol stack creates a header for the payloads created in step S 7 , and creates a packet.
- the protocol stack acquires a packet management structure, and stores the header in the data area thereof.
- the set content of the header is similar to that in the case of creating the packet for the leading payload and transmitting the packet.
- the protocol stack sets the address information about the packet management structure in which the leading payload created in step S 7 is stored, in the next buffer address of the packet management structure in which the header is stored, and configures the packet. This packet configuration with the payloads and the header will be referred to as a large packet.
- FIG. 5 illustrates an example of the large packet configuration with packet management structures.
- the header of the large packet is stored in the data area of a packet management structure 51
- a payload corresponding to each message is stored in the data area of the corresponding packet management structure of the packet management structures 52 to 54 .
- the address information of the packet management structure 52 is set in the next buffer address of the packet management structure 51 .
- the address information about the packet management structure 53 is set in the next packet address of the packet management structure 52
- the address information about the packet management structure 54 is set in the next packet address of the packet management structure 53 .
- step S 9 the protocol stack divides the large packet into a plurality of packets in performing packet batch generation processing.
- the packet batch generation processing can be performed by the packet batch generation unit 16 .
- the header information included in the large packet is reproduced for each of the payloads, so that the number of headers the same as the number of payloads is generated.
- a new packet management structure for storing a header for the payload of the packet management structure 53 is secured, and the address information about the packet management structure 53 is set in the next buffer address.
- a new packet management structure for storing a header for the payload of the packet management structure 54 is secured, and the address information about the packet management structure 54 is set in the next buffer address.
- the header of the packet management structure 51 is utilized, which means that a new packet management structure is not secured.
- processing of reproducing the header is performed by the packet batch generation unit 16 .
- the header stored in the packet management structure 51 is copied to the data area of the new packet management structure secured for each of the headers.
- the part to be changed for each of the packets is changed by the packet batch generation unit 16 .
- a check sum value to be used in TCP or UDP is to be calculated for each of the packets, and thus is calculated by the packet batch generation unit 16 , and the calculation result thereof is written in the header. In this way, each of the packets is generated from the large packet.
- step S 10 the protocol stack performs transmission processing for the generated packet. In this step, with a plurality of packets generated in step S 9 described above, all the generated packets are transmitted.
- step S 11 the protocol stack determines whether any untransmitted message is still present. If any untransmitted message is present (YES in step S 11 ), the processing returns to step S 2 to repeat the above-described steps. Otherwise (NO in step S 11 ), the processing proceeds to step S 12 in which the transmission processing by the protocol stack ends, and the processing by the application resumes.
- the packet batch generation processing can be performed for the messages in which the same transmission destinations are designated in succession, and also in the batch transmission of a plurality of messages including different transmission destinations.
- the batch generation of transmission packets can be appropriately performed also in the transmission processing for a plurality of messages including different transmission destinations.
- sequential messages each including destination information indicating a common transmission destination are selected from a plurality of messages, and a batch generation of transmission packets is performed, reducing the processing load.
- a batch generation of packets is performed without limiting the number of messages as long as the same transmission destinations continues, but a limit may be set depending on the resources in the protocol stack. For example, if the number of packet management structures to be acquired in creating payloads is less than a desirable number, the number of messages in creating a large packet may be limited.
- a second exemplary embodiment will be described.
- the packet batch generation processing is applied to the consecutive messages having the common transmission destination, but in the second exemplary embodiment, the packet batch generation processing is also applied to inconsecutive messages.
- messages each having destination information indicating a common transmission destination is selected by being extracted from a plurality of messages, and a plurality of transmission packets corresponding to the selected messages is generated in a batch.
- a communication apparatus 1 of the second exemplary embodiment is configured in a manner similar to that of the first exemplary embodiment illustrated in FIG. 1 .
- FIG. 6 is a flowchart illustrating an example of packet transmission processing performed by a protocol stack in the present exemplary embodiment.
- step S 21 in response to a call of an application interface for transmission by an application, the protocol stack starts transmission processing, and subsequently, in step S 22 , the protocol stack refers to the transmission destination of the leading message among untransmitted messages, as with the first exemplary embodiment.
- step S 23 the protocol stack extracts a message in which the same transmission destination as the transmission destination of the message referred to in step S 22 is designated, from the next and subsequent untransmitted messages.
- step S 24 the protocol stack branches the processing based on the result of the extraction in step S 23 . If a message in which the same transmission destination as the transmission destination of the leading message is designated is extracted (YES in step S 24 ), the processing proceeds to step S 25 .
- step S 25 the protocol stack creates a payload for each of the leading message and the extracted message.
- step S 26 and step S 27 a large packet is created, and packet generation is performed using a packet batch generation unit 16 , as with step S 8 and step S 9 described above.
- step S 24 If a message in which the same transmission destination as the destination of the leading message is designated is not extracted in step S 23 (NO in step S 24 ), the processing proceeds to step S 28 .
- step S 28 the protocol stack creates a payload for the leading message.
- step S 29 the protocol stack creates one packet by adding a header for the created payload.
- the processing in step S 28 and step S 29 are similar to that in step S 4 and step S 5 described above.
- step S 30 the protocol stack performs transmission processing for the created packet. With a plurality of packets generated in step S 27 , the protocol stack transmits all the created packets.
- step S 31 the protocol stack determines whether any untransmitted message is still present. If any untransmitted message is present (YES in step S 31 ), the processing returns to step S 22 to repeat the above-described steps. Otherwise (NO in step S 31 ), the processing proceeds to step S 32 in which the transmission processing performed by the protocol stack ends, and the processing by the application resumes.
- a message in which the same transmission destination is designated among a plurality of designated messages can be extracted, and the batch generation processing for all transmission packets can be performed for the extracted message.
- a series of steps of processing for performing packet generation and transmission after message extraction is repeated, but the processing sequence may be changed.
- the transmission packet generation processing may be performed for each of transmission destinations, after all messages are classified according to the set transmission destination upon start of the processing.
- a protocol stack collects messages having a common transmission destination and performs transmission processing.
- an application collects messages having a common transmission destination.
- the application generates a plurality of messages including a common transmission destination, and provides the generated messages to a protocol stack.
- a communication apparatus 1 of the third exemplary embodiment is configured in a manner similar to that of the first exemplary embodiment illustrated in FIG. 1 .
- FIG. 7 is a flowchart illustrating an example of message transmission processing in the present exemplary embodiment.
- step S 41 in response to the start of data transmission by the application operating on a CPU 11 , the processing of this flowchart begins.
- the processing in step S 42 to step S 44 are performed by the application.
- step S 42 the application creates transmission data. Afterward, the application stores the data to be transmitted to outside, in a RAM 12 .
- step S 43 the application creates messages to be transmitted.
- Each of the messages includes a destination and a storage address of transmission data, as with the other exemplary embodiments.
- the storage address of the data stored in the RAM 12 in step S 42 is set in each of the messages, determining transmission data about each of the messages. Alternatively, setting a storage address of common transmission data in different messages allows creation of the messages with the common transmission data.
- step S 44 the application extracts a message in which the same destination is designated, from the created messages, and requests the protocol stack to perform transmission, via an application interface. If one message with the common transmission destination is present, the application can request transmission via an application interface for transmitting the one message.
- step S 45 to step S 48 are performed by the protocol stack.
- step S 45 the protocol stack determines whether two or more messages are designated in a transmission API. If two or more messages are designated in the transmission API (YES in step S 45 ), the processing proceeds to step S 46 . If one message is designated (NO in step S 45 ), the processing proceeds to step S 47 . In the present exemplary embodiment, the transmission destination of the message is not determined in the protocol stack.
- step S 46 the protocol stack performs packet generation processing in packet batch generation processing.
- step S 47 the protocol stack performs normal packet generation processing.
- the other processes are similar to those of the first exemplary embodiment and the second exemplary embodiment described above, and thus the description thereof will be omitted.
- step S 48 the protocol stack performs transmission processing for the generated packet. With a plurality of packets generated in step S 47 , the protocol stack transmits all the generated packets. Upon completion of the transmission processing, the processing performed by the protocol stack ends, and the processing performed by the application resumes.
- step S 49 the application determines whether any untransmitted message is still present. If any untransmitted message is present (YES in step S 49 ), the processing returns to step S 44 to repeat the above-described steps. Otherwise (NO in step S 11 ), the processing proceeds to step S 50 , in which the transmission processing performed by the application ends.
- the application collects messages having the common transmission destination, and requests the transmission via an application interface.
- this allows the protocol stack to perform the transmission packet batch generation processing for the message of which the transmission is requested, without paying attention to the destination.
- Embodiment(s) of the present disclosure can also be realized by a computer of a system or apparatus that reads out and executes computer executable instructions (e.g., one or more programs) recorded on a storage medium (which may also be referred to more fully as a ‘non-transitory computer-readable storage medium’) to perform the functions of one or more of the above-described embodiment(s) and/or that includes one or more circuits (e.g., application specific integrated circuit (ASIC)) for performing the functions of one or more of the above-described embodiment(s), and by a method performed by the computer of the system or apparatus by, for example, reading out and executing the computer executable instructions from the storage medium to perform the functions of one or more of the above-described embodiment(s) and/or controlling the one or more circuits to perform the functions of one or more of the above-described embodiment(s).
- computer executable instructions e.g., one or more programs
- a storage medium which may also be referred to more fully as a
- the computer may comprise one or more processors (e.g., central processing unit (CPU), micro processing unit (MPU)) and may include a network of separate computers or separate processors to read out and execute the computer executable instructions.
- the computer executable instructions may be provided to the computer, for example, from a network or the storage medium.
- the storage medium may include, for example, one or more of a hard disk, a random-access memory (RAM), a read only memory (ROM), a storage of distributed computing systems, an optical disk (such as a compact disc (CD), digital versatile disc (DVD), or Blu-ray Disc (BD)TM), a flash memory device, a memory card, and the like.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
Claims (5)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021066484A JP2022161570A (en) | 2021-04-09 | 2021-04-09 | Communication apparatus, communication method, and program |
JP2021-066484 | 2021-04-09 |
Publications (2)
Publication Number | Publication Date |
---|---|
US20220329674A1 US20220329674A1 (en) | 2022-10-13 |
US11902405B2 true US11902405B2 (en) | 2024-02-13 |
Family
ID=83509702
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/714,653 Active US11902405B2 (en) | 2021-04-09 | 2022-04-06 | Communication apparatus, communication method, and storage medium |
Country Status (2)
Country | Link |
---|---|
US (1) | US11902405B2 (en) |
JP (1) | JP2022161570A (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040252721A1 (en) * | 2003-06-16 | 2004-12-16 | International Business Machines Corporation | Bundled internet protocol packets |
US7457316B1 (en) * | 2004-08-31 | 2008-11-25 | Sun Microsystems, Inc. | Method and system for handling received packets |
JP2018196053A (en) | 2017-05-19 | 2018-12-06 | キヤノン株式会社 | Communication device, communication method, and program |
US10567284B1 (en) * | 2017-11-17 | 2020-02-18 | Juniper Networks, Inc. | Transport batching technique for network communications |
-
2021
- 2021-04-09 JP JP2021066484A patent/JP2022161570A/en active Pending
-
2022
- 2022-04-06 US US17/714,653 patent/US11902405B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040252721A1 (en) * | 2003-06-16 | 2004-12-16 | International Business Machines Corporation | Bundled internet protocol packets |
US7457316B1 (en) * | 2004-08-31 | 2008-11-25 | Sun Microsystems, Inc. | Method and system for handling received packets |
JP2018196053A (en) | 2017-05-19 | 2018-12-06 | キヤノン株式会社 | Communication device, communication method, and program |
US10567284B1 (en) * | 2017-11-17 | 2020-02-18 | Juniper Networks, Inc. | Transport batching technique for network communications |
Also Published As
Publication number | Publication date |
---|---|
US20220329674A1 (en) | 2022-10-13 |
JP2022161570A (en) | 2022-10-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11616733B2 (en) | Method for controlling network congestion, access device, and computer readable storage medium | |
EP2676411B1 (en) | Method and system for classification and management of inter-blade network traffic in a blade server | |
US10826830B2 (en) | Congestion processing method, host, and system | |
US9742879B2 (en) | Hardware-based packet editor | |
US10277509B2 (en) | Data processing method executed by network apparatus, and related device | |
US20220109624A1 (en) | Packet Processing Method and Apparatus, and Computer Storage Medium | |
WO2019062722A1 (en) | Packet processing method and apparatus based on micro-service architecture, and bras | |
US8121151B2 (en) | Reception apparatus and method and program | |
US10284481B2 (en) | Communication device, communication method, and storage medium | |
US20230324868A1 (en) | Control system, local device, and remote device | |
US10708816B2 (en) | Communication apparatus, communication method, and non-transitory computer-readable storage medium for performing packetization processing that does not depend on a network interface | |
US20120140640A1 (en) | Apparatus and method for dynamically processing packets having various characteristics | |
CN110073644B (en) | Information processing method and device | |
US11902405B2 (en) | Communication apparatus, communication method, and storage medium | |
CN109120556B (en) | A kind of method and system of cloud host access object storage server | |
US20140297791A1 (en) | Communication apparatus, method of controlling the same, and storage medium | |
CN108768849B (en) | Message processing method and device | |
US11336297B2 (en) | DMA transfer apparatus, method of controlling the same, communication apparatus, method of controlling the same, and non-transitory computer-readable storage medium | |
US20230078814A1 (en) | Data transmission method and related device | |
JP4271987B2 (en) | Packet communication terminal | |
JP2019114947A (en) | Communication device, control method of communication device, and program | |
CN111988154B (en) | Method and device for accelerating network transmission and computer readable storage medium | |
US20240015049A1 (en) | Transfer device, transfer method, and transfer program | |
KR20080051046A (en) | Hardware device and method for sending the network protocol packet | |
JP2005117503A (en) | Address conversion program, and conversion apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
AS | Assignment |
Owner name: CANON KABUSHIKI KAISHA, JAPAN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:CHUREI, KOJI;REEL/FRAME:059814/0588 Effective date: 20220301 |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT VERIFIED |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |