The present invention relates to data packets, and more specifically, to packet modification to reduce storage of duplicated data.
According to yet another embodiment of the present invention, a computer system includes a memory configured to store unique header information, the unique header information including information unique to at least one packet of a data transmission event associated with the computer system, and a processor in communication with the memory. The computer system is configured to perform a method including creating a master copy of a header for all packets of the data transmission event, the master copy including a plurality of intact constant header information, the plurality of intact constant header information being constant for all packets of the data transmission event, tokenizing identities of each packet of the data transmission event to create a tokenized packet ID for each packet, and indexing the stored unique header information in the memory based on the tokenizing.
According to yet another embodiment of the present invention, a computer program product includes a computer-readable storage medium tangibly storing computer-executable instructions that, when executed by a computer processor, direct the computer processor to perform a method. According to the embodiment, the method includes creating a master copy of a header for all packets of a data transmission event, the master copy including a plurality of intact constant header information, the plurality of intact constant header information being constant for all packets of the data transmission event, storing unique header information for all packets of the data transmission event, the unique header information including information unique to at least stored of unique header information based on the tokenizing.
Additional features and advantages are realized through the techniques of the present invention. Other embodiments and aspects of the invention are described in detail herein and are considered a part of the claimed invention. For a better understanding of the invention with the advantages and the features, refer to the description and to the drawings.
The subject matter which is regarded as the invention is particularly pointed out and distinctly claimed in the claims at the conclusion of the specification. The forgoing and other features, and advantages of the invention are apparent from the following detailed description taken in conjunction with the accompanying drawings in which:
Generally, the transmission of large amounts of information and data across a computer system or systems requires this information to be separated into packets suitable for transport. Headers associated with each packet may include a plurality of fields of information necessary for proper routing of each packet. It is appreciated that according to any computer system, one or more of these fields may include the same information for a plurality of packets. More clearly, many of these fields may be constant for all packets associated with a particular transmission event. Additionally, other fields may include unique information particular to an individual packet. Technical effects and benefits of example embodiments of the present invention include a reduction in the duplication of the constant header data while retaining unique information for packets transmission, resulting in significantly less data storage overhead as compared to conventional systems.
Turning to
The system 200 includes a data buffer 201. The data buffer 201 is configured to store a plurality of information for transmission. Therefore, the information stored in data buffer 201 is segmented into a plurality of packets 202, 203, 204, and 205. Each portion of the segmented data is appended to packets 202, 203, 204, and 205 as packet data portions 222, 232, 242, and 252, respectively.
The system 200 also includes header memory storage 206. The header memory storage 206 is configured to store a plurality of complete packet headers 221, 231, 241, and 251 for appending to associated packets 202, 203, 204, and 205.
As illustrated, the packet forming system 200 is configured to create a plurality of packets from packet data information stored in the data buffer 201 and complete header information stored in header memory storage 206. Therefore, it can again be appreciated that as a number of packets for a particular data transmission event increase, so increases an amount of storage necessary within header memory storage 206 for storing all of the associated headers. However, example embodiments of the present invention overcome these drawbacks through intelligent identification, packet modification, and packet creation.
Turning to
The method 300 further includes creating a cache of unique header information (e.g., storing unique header information) at block 302 for the data transmission event. The unique header information is header information which differs across headers for data packets of the data transmission event. The unique header information may be assembled into the cache based upon an associated unique tokenized packet ID.
The method 300 further includes tokenizing identities of packets with unique header information at block 303 and indexing the cache/stored unique header information by the tokenized packet IDs at block 304. The tokenizing may be performed according to any suitable tokenizing algorithm. Furthermore, the indexing may be performed based on any suitable algorithm allowing for efficient organization and retrieval of associated unique header information.
It is appreciated that as the method 300 provides only a single copy of constant header information, total storage for constant header information is decreased dramatically. Furthermore, as unique header information is cached according to tokenized packet IDs, unique header information retrieval for packet formation is efficient. For example,
The method 400 includes receiving a request for packet transmission at block 401. In response to the request, the method 400 includes creating a packet with constant header information at block 402. The packet may be created by appending the master copy of constant header information to a packet data portion to create a full data packet.
The method 400 further includes retrieving unique header information from a unique information cache at block 403. For example, a tokenized packet ID for the packet may be used to identify associated unique header information, and the associated unique header information may be retrieved by traversing a cache to locate the information based on the tokenized packet ID. Thereafter, the method 400 includes overlaying the master copy of the constant header information with the retrieved unique header information at block 404 to form the final data packet and transmitting the final data packet at block 405. More clearly, block 404 includes overlaying unique header information onto the master copy to create a unique header.
In order to better understand the methodology of
Therefore, as described above, example embodiments of the present invention provide methods and systems of packet modification and creation which reduce an amount of memory necessary for packet transmission. According to example embodiments, a single master copy of constant header information is stored for a data transmission event. Unique information is overlayed onto the master copy during packet read/transmission time. Therefore, overall storage requirements are reduced dramatically.
The methods of packet modification and creation described above may be embodied as computer executable instructions executable by a computer apparatus, for example, as illustrated in
Furthermore, portions or the entirety of the methods described herein may be readily distributed as a computer program product, for example, as illustrated in
It is noted that the terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises” and/or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one more other features, integers, steps, operations, element components, and/or groups thereof.
The corresponding structures, materials, acts, and equivalents of all means or step plus function elements in the claims below are intended to include any structure, material, or act for performing the function in combination with other claimed elements as specifically claimed. The description of the present invention has been presented for purposes of illustration and description, but is not intended to be exhaustive or limited to the invention in the form disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the invention. The embodiment was chosen and described in order to best explain the principles of the invention and the practical application, and to enable others of ordinary skill in the art to understand the invention for various embodiments with various modifications as are suited to the particular use contemplated
The flow diagrams depicted herein are just one example. There may be many variations to this diagram or the steps (or operations) described therein without departing from the spirit of the invention. For instance, the steps may be performed in a differing order or steps may be added, deleted or modified. All of these variations are considered a part of the claimed invention.
While the preferred embodiment to the invention had been described, it will be understood that those skilled in the art, both now and in the future, may make various improvements and enhancements which fall within the scope of the claims which follow. These claims should be construed to maintain the proper protection for the invention first described.
Number | Name | Date | Kind |
---|---|---|---|
5398245 | Harriman, Jr. | Mar 1995 | A |
5917821 | Gobuyan et al. | Jun 1999 | A |
6594280 | Chapman | Jul 2003 | B1 |
7032035 | Gaur | Apr 2006 | B2 |
7114031 | Lin et al. | Sep 2006 | B2 |
7386627 | Lango et al. | Jun 2008 | B1 |
7492771 | Basso et al. | Feb 2009 | B2 |
7843919 | Cadigan, Jr. et al. | Nov 2010 | B2 |
7899020 | Sala et al. | Mar 2011 | B2 |
20060075142 | Cornett et al. | Apr 2006 | A1 |
20100050256 | Knapp et al. | Feb 2010 | A1 |
20100172294 | Toyokawa | Jul 2010 | A1 |
20100217822 | Katis et al. | Aug 2010 | A1 |
20110019617 | Ho et al. | Jan 2011 | A1 |
20110187926 | Kim et al. | Aug 2011 | A1 |
20110200045 | Baehre | Aug 2011 | A1 |
Number | Date | Country |
---|---|---|
2003046566 | Feb 2003 | JP |
2008236378 | Oct 2008 | JP |
Entry |
---|
J.R. Santos, “Reducing the Network Load of Replicated Data,” MIT Dissertation, Massachusetts institute of Technology, May 1998, pp. 1-54. |
Non-Final Office Action dated Jan. 6, 2014 for U.S. Appl. No. 13/676,401, filed Nov. 14, 2012; 25 pages. |
UK International Search Report dated Feb. 3, 2014, Application No. GB1321187.5; 3 pages. |
A. Amagami, et al., “Adjustment of Transmission Timing Between Multiple NICs” IEICE Technical Report, The Institute of Electronics Information and Commuication Engineers, vol. 104, No. 273; pp. 75-78, Aug. 27, 2004. |
I. Shinichi, et al., “Structure and Evaluation of Network Processor for Next Generation Internet Router: P-Gear” IEICE Technical Report, The Institute of Electronics Information aqnd Communication Engineers, vol. 105, No. 453 pp. 19-24, Nov. 25, 2005. |
Number | Date | Country | |
---|---|---|---|
20120300790 A1 | Nov 2012 | US |