×

Mechanism for automatic network data compression on a network connection

  • US 8,724,693 B2
  • Filed: 05/11/2012
  • Issued: 05/13/2014
  • Est. Priority Date: 05/11/2012
  • Status: Active Grant
First Claim
Patent Images

1. A method comprising:

  • prior to sending data from a first device to a second device over a network connection, performing the steps of;

    performing a compression operation on at least one sample that has a first size;

    determining a first amount of time that was required to perform the compression operation;

    determining a second size of compressed data produced by the compression operation;

    based, at least in part, on the first size and an achievable rate of the network connection, determining a first value that estimates a cost of transmitting the data over the network connection without compression;

    based, at least in part, on the second size, the first amount of time, and the achievable rate of the network connection, determining a second value that estimates a cost of transmitting the data over the network connection with pre-transmission compression; and

    determining whether to perform pre-transmission compression on at least a portion of the data based, at least in part, on whether the second value is less than the first value;

    responsive to determining to perform pre-transmission compression on the at least a portion of the data, causing the first device to compress the at least a portion of the data prior to transmitting the at least a portion of the data to the second device; and

    responsive to determining to not perform pre-transmission compression on the at least a portion of the data, causing the first device to send the at least a portion of the data to the second device without compression;

    wherein the compression operation is a first compression operation using a first technique;

    wherein the at least a portion of the data is a first flight of a plurality of flights of the data;

    wherein the first flight is compressed using the first technique prior to being transmitted across the network connection;

    while the first flight is being transmitted, tracking compression times and sizes produced by compressing the first flight using the first technique; and

    based, at least in part on the compression times and sizes produced by compressing the first flight using the first technique, determining whether to compress a second flight of the data using the first technique prior to transmitting the second flight across the network connection;

    after transmission of the first flight has been initiated, and before transmission of a second flight of the data is initiated, performing the steps of;

    performing a second compression operation that uses a second technique to compress at least one sample from the first flight;

    determining a second amount of time that was required to perform the second compression operation;

    determining a third size of compressed data produced by the second compression operation; and

    based, at least in part, on the third size, the second amount of time, and the achievable rate of the network connection, determining a third value that estimates a cost of transmitting the data over the network connection with pre-transmission compression using the second technique; and

    based, at least in part on the third value, determining whether to send the second flight with pre-transmission compression using the first technique, with pre-transmission compression using the second technique, or with no pre-transmission compressionwherein the method is performed by one or more computing devices.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×