IP Library Granted Patent US 8,639,849
Granted Patent B2
US 8,639,849 · App. 11/525,723 · Granted Jan 28, 2014

Integrated circuits for high speed adaptive compression and methods therefor

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,639,849
App. No.
11/525,723
Granted
Jan 28, 2014
Kind
B2
Abstract

A computer-implemented method for compressing a first stream of data, the first stream of data comprising a plurality of input words. The computer-implemented method includes receiving the plurality input words, and adaptively compressing the plurality of input words into a plurality of compression codes. The computer-implemented method further includes outputting the plurality of compression codes upon encountering an end-of-file signal in the first stream of data, wherein the plurality of compression codes are fewer in number than the number of unique bit patterns requiring unique compression codes under LZW (Lempel Ziv & Welch) compression.

Claims (54)

1. A method comprising:

receiving, at a given hardware node of a plurality of intermediate nodes between a source node and a destination node, a plurality of packets that are from the source node and that are directed to the destination node;

the given node determining whether the plurality of packets are compressed;

the given node determining that the destination node does not have a decompression engine that is usable to decompress compressed packets;

in response to determining that the destination node does not have a decompression engine that is usable to decompress compressed packets, the given node decompressing those ones of the plurality of packets that are compressed and transmitting the decompressed packets to another node.

2. The method of claim 1 , wherein said source node comprises a node that does not have a compression engine capable of compressing packets of the plurality of packets.

3. The method of claim 1 , wherein at least one of said plurality of intermediate nodes is a legacy node that does not have either a compression engine capable of compressing said packets that are not compressed or a decompression engine capable of decompressing compressed data packets.

4. The method of claim 1 , wherein performing said decompressing is performed using hardware.

5. The method of claim 1 , wherein the given node comprises a packet-based router.

6. The method of claim 1 , wherein the given node comprises an Internet router.

7. The method of claim 1 , wherein the given node comprises a local area network (LAN) router.

8. The method of claim 1 , further comprising marking at least one of the decompressed packets to ensure that decompression only occurs once along a path between the source node and the destination node.

9. The method of claim 1 , wherein the given node comprises a router disposed at a network edge of said network.

10. The method of claim 1 , wherein the given node comprises a network switch.

11. The method of claim 1 , further comprising:

before performing said transmitting, conforming the decompressed packets to a transmission protocol that is compatible with the destination node.

12. The method of claim 1 , wherein the other node to which the decompressed packets are transmitted is another one of the plurality of intermediate nodes between the source and destination nodes.

13. The method of claim 1 , wherein the other node to which the decompressed packets are transmitted is the destination node.

14. A method comprising:

determining, using a given hardware node of a plurality of intermediate nodes between a source node and a destination network interface card (NIC), whether packets directed to the destination NIC are compressed upon reception at the given node;

determining, at the given node, whether the destination NIC has a decompression engine that is usable to decompress compressed packets;

in response to determining that the destination NIC that does not have a decompression engine, the given node decompressing those ones of the plurality of packets that are compressed;

the given node conforming the decompressed packets to a transmission protocol that is recognizable by the destination NIC; and

transmitting the decompressed, conformed packets to another node.

15. The method of claim 14 , wherein the given node comprises an Internet router.

16. The method of claim 14 , wherein the given node comprises a router.

17. One or more networkable devices that include a processor, wherein the one or more networkable devices are configured to:

receive a plurality of packets that are directed to a destination node;

determine whether the plurality of packets are compressed;

determine whether the destination node has a decompression engine that is usable to decompress compressed packets; and

in response to determining that the destination node does not have a decompression engine that is usable to decompress compressed packets, decompress those ones of the plurality of packets that are compressed and transmit the decompressed packets to another node.

18. The one or more networkable devices of claim 17 , wherein at least one of said networkable devices comprises a network interface card (NIC).

19. The one or more networkable devices of claim 17 , wherein at least one of said networkable devices comprises a switch.

20. The one or more networkable devices of claim 17 , wherein at least one of said networkable devices comprises a router.

21. The one or more networkable devices of claim 17 , wherein said one or more networkable devices comprise multiple networkable devices operably connected to form a network.

22. The one or more networkable devices of claim 21 , wherein said one or more networkable devices comprise networkable devices selected from a group of devices comprising at least: network interface cards (NICs), switches, or routers.

23. The one or more networkable devices of claim 17 , wherein said one or more networkable devices comprise a single device.

24. The one or more networkable devices of claim 17 , wherein said one or more networkable devices comprise multiple devices.

25. The one or more networkable devices of claim 17 , wherein the processor is further configured to handle packets in accordance with an overlay protocol.

26. A system comprising:

means for determining, using a given node of a plurality of intermediate nodes between a source node and a destination node, whether a plurality of packets directed to the destination node are compressed, wherein the given node includes a processor;

means for determining, at the given node, whether the destination node has a decompression engine that is usable to decompress compressed packets;

means for decompressing, at the given node, those ones of the plurality of packets that are compressed in response to determining that the destination node does not have a decompression engine usable to decompress compressed packets; and

means for transmitting the decompressed packets to another node.

27. The system of claim 26 , wherein the source node comprises a node that does not have a compression engine capable of compressing packets of the plurality of packets.

28. The system of claim 27 , wherein at least one of said plurality of intermediate nodes is a legacy node that does not have either a compression engine capable of compressing said packets associated with said stream of data in accordance with an adaptive compression/decompression technique or a decompression engine capable of decompressing said compressed data packets in accordance with the adaptive compression/decompression technique.

29. The system of claim 26 , wherein said means for decompressing comprises hardware means.

30. The system of claim 26 , wherein the given node comprises a packet-based router.

31. The system of claim 26 , wherein the given node comprises an Internet router.

32. The system of claim 26 , wherein the given node comprises a local area network (LAN) router.

33. The system of claim 26 , wherein at least one of the compressed packets is marked to ensure that compression occurs once along a path between the source node and the destination node.

34. The system of claim 26 , wherein at least one of the decompressed packets is marked to ensure that decompression occurs once along a path between said source node and said destination node.

35. The system of claim 26 , wherein the given node comprises a router disposed at an edge of a network.

36. The system of claim 26 , wherein the given node comprises a network switch.

Assignments (5)
MERGER Recorded Dec 21, 2015
From: SUTECH DATA SOLUTIONS CO., LLC
To: CHARTOLEAUX KG LIMITED LIABILITY COMPANY
Reel/Frame 037342/0792 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 14, 2011
From: ACHLER, ISAAC
To: ANTARES MICROSYSTEMS, INC.
Reel/Frame 025643/0452 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 14, 2011
From: ANTARES MICROSYSTEMS, INC.
To: SYSKEY INTERNATIONAL
Reel/Frame 025643/0600 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 14, 2011
From: SYSKEY INTERNATIONAL
To: SUPERGATE TECHNOLOGY USA, INC.
Reel/Frame 025643/0676 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 5, 2008
From: SUPERGATE TECHNOLOGY (USA), INC.
To: SUTECH DATA SOLUTIONS CO., LLC
Reel/Frame 020599/0757 →