US2017295263A1PendingUtilityA1

System and method for applying an efficient data compression scheme to url parameters

51
Assignee: EXCALIBUR IP LLCPriority: Jan 31, 2013Filed: Jun 26, 2017Published: Oct 12, 2017
Est. expiryJan 31, 2033(~6.6 yrs left)· nominal 20-yr term from priority
Inventors:Steve Francis
H04L 69/04H04L 67/32G06F 17/30887H04L 67/06G06F 16/955G06F 16/9566G06F 16/1744G06F 16/31H04L 67/60
51
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Disclosed is a system and methods for data compression and decompression. The systems and methods discussed herein include an encoder, dictionary, decoder, literal string and control output. The discussed systems and methods encode data transmitted over a communications channel through the use of a dynamically compiled dictionary. Upon reviewing the characters within the transmitted data in view of the dictionary, an encoded/compressed output string is created. Such output string may also be decoded in a similar fashion via a dynamically compiled dictionary.

Claims

exact text as granted — not AI-modified
1 - 20 . (canceled) 
     
     
         21 . A method comprising:
 receiving, at a computing device over a network from a client device, a request for a resource on the network, said request identifying of a Uniform Resource Locator (URL) of said resource;   identifying, via the computing device, an input string associated with the URL comprising a set of characters;   analyzing, via the computing device, said input string by sequentially traversing the set of characters and identifying each character in said input string;   initiating and searching, via the computing device, a dictionary pre-loaded with character strings for encoding and decoding the input string, said search comprising comparing, via the computing device, each identified character to at least an initial character of each dictionary character string, and based on said comparison, identifying a character string within said dictionary, said identified character string comprising a set of characters at least beginning with at least one character from said input string;   generating, via the computing device, an encoded output string based on the input string and the identified character string, said generation comprising converting said input string to an alpha-numeric representation based on said identified character string;   communicating, via the computing device, said encoded output string to said client device;   receiving, at said computing device, an indication that said client device is attempting to render said resource via the encoded output string;   reading, via the computing device, said encoded output string, said reading comprising identifying each of the characters of the encoded output string in a bi-directional manner by identifying the characters from the beginning of the encoded output string while identifying the characters from the end of the encoded output string;   decoding, via the computing device, the encoded output string based on said reading; and   causing, via the computing device, said client device to have access to said resource based on said decoding.   
     
     
         22 . The method of  claim 21 , wherein said comparison step comprises, for each identified character in said URL:
 reading, via the computing device, a first character among said identified characters, and searching said dictionary for said first character, said search comprising analyzing character strings within said dictionary and identifying a first character string beginning with said first character, wherein said first character string is the character string identified from said comparison.   
     
     
         23 . The method of  claim 22 , further comprising:
 determining, based on said search of said dictionary, that the dictionary does not contain a character string beginning with said first character;   writing, via the computing device, a version of the input string to said dictionary, wherein said version begins with said first character and contains characters that sequentially follow said first character to the end of the input string.   
     
     
         24 . The method of  claim 23 , further comprising:
 reading, via the computing device, a second character among said identified characters, said second character being a next sequential character in said input string after said first character; and   searching, via the computing device, said dictionary for said character string.   
     
     
         25 . The method of  claim 24 , wherein said reading and searching is performed for a third and subsequent character until a match is found within said dictionary. 
     
     
         26 . The method of  claim 21 , further comprising:
 writing, via the computing device, each character of the input string to said dictionary;   monitoring, via the computing device, a length of said dictionary upon said writing of each character; and   when said monitoring reveals that said length of said dictionary is greater than a predetermined threshold value, removing a first character in the dictionary.   
     
     
         27 . The method of  claim 21 , wherein said dictionary is a searchable, dynamically updatable repository of character data. 
     
     
         28 . The method of  claim 21 , wherein said encoded output string comprises a control string and literal string identifiable from said dictionary. 
     
     
         29 . The method of  claim 28 , wherein said reading of the encoded output string comprises:
 reading the control string portion of the encoded output string from said beginning;   compiling an index based on each read character of the control string portion;   reading the literal string portion of the encoded output string from said end; and   compiling an index based on each read character of the literal string portion.   
     
     
         30 . The method of  claim 29 , further comprising:
 comparing said control string portion index to said literal string portion index, wherein when said control string portion index is determined to have a greater value than the literal string portion index, said decoding is complete.   
     
     
         31 . A non-transitory computer-readable storage medium tangibly encoded with computer-executable instructions, that when executed by a computing device, perform a method comprising:
 receiving, at the computing device over a network from a client device, a request for a resource on the network, said request identifying of a Uniform Resource Locator (URL) of said resource;   identifying, via the computing device, an input string associated with the URL comprising a set of characters;   analyzing, via the computing device, said input string by sequentially traversing the set of characters and identifying each character in said input string;   initiating and searching, via the computing device, a dictionary pre-loaded with character strings for encoding and decoding the input string, said search comprising comparing, via the computing device, each identified character to at least an initial character of each dictionary character string, and based on said comparison, identifying a character string within said dictionary, said identified character string comprising a set of characters at least beginning with at least one character from said input string;   generating, via the computing device, an encoded output string based on the input string and the identified character string, said generation comprising converting said input string to an alpha-numeric representation based on said identified character string;   communicating, via the computing device, said encoded output string to said client device;   receiving, at said computing device, an indication that said client device is attempting to render said resource via the encoded output string;   reading, via the computing device, said encoded output string, said reading comprising identifying each of the characters of the encoded output string in a bi-directional manner by identifying the characters from the beginning of the encoded output string while identifying the characters from the end of the encoded output string;   decoding, via the computing device, the encoded output string based on said reading; and   causing, via the computing device, said client device to have access to said resource based on said decoding.   
     
     
         32 . The non-transitory computer-readable storage medium of  claim 31 , wherein said comparison step comprises, for each identified character in said URL:
 reading, via the computing device, a first character among said identified characters, and searching said dictionary for said first character, said search comprising analyzing character strings within said dictionary and identifying a first character string beginning with said first character, wherein said first character string is the character string identified from said comparison.   
     
     
         33 . The non-transitory computer-readable storage medium of  claim 32 , further comprising:
 determining, based on said search of said dictionary, that the dictionary does not contain a character string beginning with said first character;   writing, via the computing device, a version of the input string to said dictionary, wherein said version begins with said first character and contains characters that sequentially follow said first character to the end of the input string.   
     
     
         34 . The non-transitory computer-readable storage medium of  claim 33 , further comprising:
 reading, via the computing device, a second character among said identified characters, said second character being a next sequential character in said input string after said first character; and   searching, via the computing device, said dictionary for said character string.   
     
     
         35 . The non-transitory computer-readable storage medium of  claim 34 , wherein said reading and searching is performed for a third and subsequent character until a match is found within said dictionary. 
     
     
         36 . The non-transitory computer-readable storage medium of  claim 31 , further comprising:
 writing, via the computing device, each character of the input string to said dictionary;   monitoring, via the computing device, a length of said dictionary upon said writing of each character; and   when said monitoring reveals that said length of said dictionary is greater than a predetermined threshold value, removing a first character in the dictionary.   
     
     
         37 . The non-transitory computer-readable storage medium of  claim 31 , wherein said encoded output string comprises a control string and literal string identifiable from said dictionary. 
     
     
         38 . The non-transitory computer-readable storage medium of  claim 28 , wherein said reading of the encoded output string comprises:
 reading the control string portion of the encoded output string from said beginning;   compiling an index based on each read character of the control string portion; and   reading the literal string portion of the encoded output string from said end;   compiling an index based on each read character of the literal string portion; and   comparing said control string portion index to said literal string portion index, wherein when said control string portion index is determined to have a greater value than the literal string portion index, said decoding is complete.   
     
     
         39 . A computing device comprising:
 a processor;   a non-transitory computer-readable storage medium for tangibly storing thereon program logic for execution by the processor, the program logic comprising:
 logic executed by the processor for receiving, at the computing device over a network from a client device, a request for a resource on the network, said request identifying of a Uniform Resource Locator (URL) of said resource; 
 logic executed by the processor for identifying, via the computing device, an input string associated with the URL comprising a set of characters; 
 logic executed by the processor for analyzing, via the computing device, said input string by sequentially traversing the set of characters and identifying each character in said input string; 
 logic executed by the processor for initiating and searching, via the computing device, a dictionary pre-loaded with character strings for encoding and decoding the input string, said search comprising comparing, via the computing device, each identified character to at least an initial character of each dictionary character string, and based on said comparison, identifying a character string within said dictionary, said identified character string comprising a set of characters at least beginning with at least one character from said input string; 
 logic executed by the processor for generating, via the computing device, an encoded output string based on the input string and the identified character string, said generation comprising converting said input string to an alpha-numeric representation based on said identified character string; 
 logic executed by the processor for communicating, via the computing device, said encoded output string to said client device; 
 logic executed by the processor for receiving, at said computing device, an indication that said client device is attempting to render said resource via the encoded output string; 
 logic executed by the processor for reading, via the computing device, said encoded output string, said reading comprising identifying each of the characters of the encoded output string in a bi-directional manner by identifying the characters from the beginning of the encoded output string while identifying the characters from the end of the encoded output string; 
 logic executed by the processor for decoding, via the computing device, the encoded output string based on said reading; and 
 logic executed by the processor for causing, via the computing device, said client device to have access to said resource based on said decoding. 
   
     
     
         40 . The computing device of  claim 39 , wherein said reading of the encoded output string comprises:
 logic executed by the processor for reading the control string portion of the encoded output string from said beginning;   logic executed by the processor for compiling an index based on each read character of the control string portion; and   logic executed by the processor for reading the literal string portion of the encoded output string from said end;   logic executed by the processor for compiling an index based on each read character of the literal string portion; and   logic executed by the processor for comparing said control string portion index to said literal string portion index, wherein when said control string portion index is determined to have a greater value than the literal string portion index, said decoding is complete.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.