(54) ALGORITHMS FOR CONSTRUCTING SETS OF FREQUENTLY OCCURRING STRINGS
(75) Inventor: Sridhar Machiraju, Oakland, CA (US)
(73) Assignee: Sprint Communications Company
L.P., Overland Park, KS (US)
( * ) Notice: Subject to any disclaimer, the term of this patent is extended or adjusted under 35 U.S.C. 154(b) by 241 days.
(21) Appl.No.: 11/951,708
(22) Filed: Dec. 6, 2007
(51) Int. CI.
H04J 3/00 (2006.01)
(52) U.S. CI 370/476; 370/477
(58) Field of Classification Search 370/252,
370/465, 468, 473, 476, 477 See application file for complete search history.
(56) References Cited
U.S. PATENT DOCUMENTS
4,730,348 A * 3/1988 MacCrisken 375/240
5,701,302 A * 12/1997 Geiger 370/521
5,825,779 A 10/1998 Putninsetal.
6,121,903 A * 9/2000 Kalkstein 341/63
6,763,031 Bl 7/2004 Gibson et al.
6,856,651 B2* 2/2005 Singh 375/240
6,909,384 B2 6/2005 Baldwin etal.
6,947,483 B2 9/2005 Engwer
7,275,115 B2* 9/2007 Bunnetal 709/247
2005/0047406 Al * 3/2005 Hares 370/389
Media and methods are provided for constructing data structures associating data segments in packets with reference identifiers to optimize bandwidth usage within a network during transmission. In one embodiment, a data structure is initialized to contain no data. A minimum length of a data segment to be examined is determined. For each packet in the transmission, data segments of the packet are examined. Data segments are added to the data structure as necessary. Examination is repeated along with an appropriate addition until the packet contains less data than a segment of the minimum length and further continued until all packets are examined. The data structure is constructed associating the portions of the packet and respective reference identifiers. In certain embodiments, the count can be a total count of frequently occurring segments, the count of unique segments or the count of packets containing unique segments. In other embodiments, the construction is accomplished by a compression library. In still other embodiments, one or more filtering criteria are added to the process to optimize efficiency. Embodiments are described where packet size, packet source, packet destination or proportion of alpha-numeric characters are used as the filtering criteria.
20 Claims, 6 Drawing Sheets