Patents Assigned to Peak Systems, Inc.
  • Patent number: 8929380
    Abstract: A system for matching data using flow based packet data storage includes a communications interface and a processor. A communications interface receives a packet between a source and a destination. The processor identifies a flow between the source and the destination based on the packet. The processor determines whether some of packet data of the packet indicates a potential match to data in storage using hashes. The processor then stores the data from the most likely data match and second most likely data match without a packet header in a block of memory in the storage based on the flow.
    Type: Grant
    Filed: May 5, 2014
    Date of Patent: January 6, 2015
    Assignee: Silver Peak Systems, Inc.
    Inventors: David Anthony Hughes, John Burns, Zhigang Yin
  • Patent number: 8929402
    Abstract: A system, method, and computer program for compressing packet data is provided. In exemplary embodiments, one or more prefix arrays may be generated for retrieved data, and used as the basis for predicting subsequent data. The packet data may be compressed based, at least partially, on the predicted subsequent data. Accordingly, the compressed packet data may be transferred over a communication network.
    Type: Grant
    Filed: October 22, 2012
    Date of Patent: January 6, 2015
    Assignee: Silver Peak Systems, Inc.
    Inventor: David Anthony Hughes
  • Patent number: 8930650
    Abstract: Systems and methods for identification of data stored in memory are provided. A data packet is received and a first packet byte within the data packet is compared to a first memory byte within a memory. A mismatch is determined between the first packet byte and the first memory byte. A memory location is accessed that contains a second memory byte that is non-consecutive with the first memory byte. A packet location accessed that contains a second packet byte that is non-consecutive with the first packet byte. The second packet byte is compared to the second memory byte. A retrieval instruction is generated based at least in part on a result of the comparison between the second packet byte and the second memory byte. Various embodiments may be included in a network memory architecture to allow for faster data matching and instruction generation in a central appliance.
    Type: Grant
    Filed: April 8, 2014
    Date of Patent: January 6, 2015
    Assignee: Silver Peak Systems, Inc.
    Inventors: David Anthony Hughes, Zhigang Yin, John Burns
  • Patent number: 8885632
    Abstract: A System for providing communications over a communications network includes a communications interface and processor. The communications interface communicates over the communications network. The processor directs a communications scheduler to determine at least one metric for a path within the communications network. The processor also selects a data flow for the path and determines whether to transmit a packet in the selected data flow based on the at least one metric. The processor then directs a communications protocol handler to generate the packet for the selected data flow.
    Type: Grant
    Filed: August 2, 2006
    Date of Patent: November 11, 2014
    Assignee: Silver Peak Systems, Inc.
    Inventors: David Anthony Hughes, Balaji Balasubramanian, Danny Kwok
  • Patent number: 8811431
    Abstract: A system, method, and computer program for compressing packet data is provided. In exemplary embodiments, one or more blocks may be identified that include block data similar to packet data of one or more packets. The one or more blocks may comprise archives of previously transferred packets. The packet data may be compressed based, at least partially, on the block data. Accordingly, the compressed packet data may be transferred over a communication network.
    Type: Grant
    Filed: November 20, 2008
    Date of Patent: August 19, 2014
    Assignee: Silver Peak Systems, Inc.
    Inventor: David Anthony Hughes
  • Patent number: 8755381
    Abstract: A system for processing packets includes a communications interface and a processor. A communications interface receives a packet between a source and a destination. The processor identifies a flow between the source and the destination based on the packet. The processor determines whether some of packet data of the packet matches to storage data in storage using hashes. The processor then stores the packet data in a block of memory in the storage based on the flow and if the packet data does not match the storage data.
    Type: Grant
    Filed: August 2, 2006
    Date of Patent: June 17, 2014
    Assignee: Silver Peak Systems, Inc.
    Inventors: David Anthony Hughes, John Burns, Zhigang Yin
  • Patent number: 8743683
    Abstract: A method, system, and computer program are provided for quality of service using multiple flows. At a first digital device, a plurality of inter-device flows is established between the first digital device and a second digital device via a communication network. At least one flow metric associated with each of the inter-device flows is determined, which may include, for example, a latency metric, a loss metric, and/or a re-ordering metric. According to various embodiments, flow metrics may form a basis for categorizing the inter-device flows. One or more preferred flows are selected based on the flow metrics. Finally, a packet to be sent to the second device is directed to one of the preferred flows.
    Type: Grant
    Filed: July 3, 2008
    Date of Patent: June 3, 2014
    Assignee: Silver Peak Systems, Inc.
    Inventor: David Anthony Hughes
  • Patent number: 8738865
    Abstract: Systems and methods for identification of data stored in memory are provided. A data packet is received and a first packet byte within the data packet is compared to a first memory byte within a memory. A mismatch is determined between the first packet byte and the first memory byte. A memory location is jumped to that contains a second memory byte that is non-consecutive with the first memory byte. A packet location is jumped to that contains a second packet byte that is non-consecutive with the first packet byte. The second packet byte is compared to the second memory byte. A retrieval instruction is generated based at least in part on a result of the comparison between the second packet byte and the second memory byte. Various embodiments may be included in a network memory architecture to allow for faster data matching and instruction generation in a central appliance.
    Type: Grant
    Filed: March 22, 2012
    Date of Patent: May 27, 2014
    Assignee: Silver Peak Systems, Inc.
    Inventors: David Anthony Hughes, Zhigang Yin, John Burns
  • Patent number: 8732423
    Abstract: A network memory system is disclosed. The network memory system comprises a first appliance configured to encrypt first data, store the encrypted first data in a first memory device. The first appliance also determines whether the encrypted first data exists in a second appliance and transmits a store instruction comprising the encrypted first data based on the determination that the encrypted first data does not exist in the second appliance. The second appliance is configured to receive the store instruction from the first appliance and store the encrypted first data in a second memory device. The second appliance is further configured to receive a retrieve instruction comprising a location indicator indicating where the encrypted first data is stored, process the retrieve instruction to obtain encrypted response data, and decrypt the encrypted response data.
    Type: Grant
    Filed: February 1, 2013
    Date of Patent: May 20, 2014
    Assignee: Silver Peak Systems, Inc.
    Inventor: David Anthony Hughes
  • Patent number: 8725988
    Abstract: Systems and methods for pre-fetching of data in a memory are provided. By pre-fetching stored data from a slower memory into a faster memory, the amount of time required for data retrieval and/or processing may be reduced. First, data is received and pre-scanned to generate a sample fingerprint. Fingerprints stored in a faster memory that are similar to the sample fingerprint are identified. Data stored in the slower memory associated with the identified stored fingerprints is copied into the faster memory. The copied data may be compared to the received data. Various embodiments may be included in a network memory architecture to allow for faster data matching and instruction generation in a central appliance.
    Type: Grant
    Filed: June 13, 2013
    Date of Patent: May 13, 2014
    Assignee: Silver Peak Systems, Inc.
    Inventors: David Anthony Hughes, John Burns
  • Patent number: 8595314
    Abstract: A method, system, and computer readable storage medium for deferred data storage are disclosed. Data sent via a local-area network is intercepted at a first hardware appliance of a plurality of hardware appliances in response to a first request for the data. A determination is performed of whether the data is locally accessible to the first hardware appliance. Instructions are transmitted to the first hardware appliance to retrieve the data locally accessible to the hardware appliance. The data is stored on at least one temporary page at a hardware appliance. The first hardware appliance and the second hardware appliance are in communication via the local-area network.
    Type: Grant
    Filed: June 13, 2012
    Date of Patent: November 26, 2013
    Assignee: Silver Peak Systems, Inc.
    Inventor: David Anthony Hughes
  • Patent number: 8489562
    Abstract: A method for deferred storage of data is disclosed. A packet comprising instructions and literal data for rebuilding packet data from a network device is received. The packet data is rebuilt according to the instructions and the literal data. The rebuilt packet data is rewritten to a temporary page in memory. A page utilization metric is calculated based on the contents of the temporary page, the contents comprising the rebuilt data packet. Whether the contents of the temporary page sufficiently match data in data storage is determined. The contents of the temporary page are discarded or stored based on the determination.
    Type: Grant
    Filed: November 30, 2007
    Date of Patent: July 16, 2013
    Assignee: Silver Peak Systems, Inc.
    Inventors: David Anthony Hughes, Zhigang Yin, John Burns
  • Patent number: 8473714
    Abstract: Systems and methods for pre-fetching of data in a memory are provided. By pre-fetching stored data from a slower memory into a faster memory, the amount of time required for data retrieval and/or processing may be reduced. First, data is received and pre-scanned to generate a sample fingerprint. Fingerprints stored in a faster memory that are similar to the sample fingerprint are identified. Data stored in the slower memory associated with the identified stored fingerprints is copied into the faster memory. The copied data may be compared to the received data. Various embodiments may be included in a network memory architecture to allow for faster data matching and instruction generation in a central appliance.
    Type: Grant
    Filed: May 29, 2012
    Date of Patent: June 25, 2013
    Assignee: Silver Peak Systems, Inc.
    Inventors: David Anthony Hughes, John Burns
  • Patent number: 8442052
    Abstract: A method for providing ordered data packets to a processor is provided. The method comprises receiving a plurality of data packets, each comprising an order identifier. At least one out-of-order data packet of the plurality of data packets is placed in a priority queue. One or more correction packets are received. One or more missing data packets or corrupted data packets of the plurality of data packets are detected based on the one or more correction packets. The one or more missing data packets or corrupted data packets of the plurality of data packets are corrected based on the one or more correction packets. The one or more corrected data packets are provided to the processor. The at least one out-of-order data packet in the priority queue is provided to the processor.
    Type: Grant
    Filed: February 20, 2008
    Date of Patent: May 14, 2013
    Assignee: Silver Peak Systems, Inc.
    Inventor: David Anthony Hughes
  • Patent number: 8392684
    Abstract: A network memory system for ensuring compliance is disclosed. The network memory system comprises a first appliance configured to encrypt first data, store the encrypted first data in a first memory device. The first appliance also determines whether the encrypted first data exists in a second appliance and transmits a store instruction comprising the encrypted first data based on the determination that the encrypted first data does not exist in the second appliance. The second appliance is further configured to receive a retrieve instruction comprising an index at which the encrypted first data is stored, process the retrieve instruction to obtain encrypted response data, and decrypt the encrypted response data.
    Type: Grant
    Filed: July 31, 2006
    Date of Patent: March 5, 2013
    Assignee: Silver Peak Systems, Inc.
    Inventor: David Anthony Hughes
  • Patent number: 8370583
    Abstract: A network memory system comprises a first appliance and a second appliance. The first appliance receives data and determines whether a portion of the data is locally accessible to the second appliance. The first appliance generates an instruction based on the determination and transfers the instruction to the second appliance over a communication network. The second appliance receives the instruction from the first appliance over the communication network and processes the instruction to obtain the data. The second appliance then transfers the data to a computer.
    Type: Grant
    Filed: August 12, 2005
    Date of Patent: February 5, 2013
    Assignee: Silver Peak Systems, Inc.
    Inventor: David Anthony Hughes
  • Patent number: 8312226
    Abstract: A first appliance of a network memory includes a processor configured to receive data. The processor determines whether the data is locally accessible to a second appliance of the network memory and generates an instruction based on the determination in order that the second appliance obtain the data. The processor then transfers the instruction over a communication network to the second appliance. In another first appliance of a network memory, the first appliance includes a processor configured to receive an instruction over a communication network from a second appliance of the network memory. The processor processes the instruction to determine an action to perform to obtain the data. The processor performs the action to obtain the data if the data is locally accessible to the first appliance.
    Type: Grant
    Filed: September 29, 2005
    Date of Patent: November 13, 2012
    Assignee: Silver Peak Systems, Inc.
    Inventor: David Anthony Hughes
  • Patent number: 8307115
    Abstract: A method, system, and computer program for network memory mirroring. Data sent via a local-area network is intercepted at a first hardware appliance of a plurality of hardware appliances in response to a first request for the data. A determination is performed of whether the data has been stored previously in a long-term storage in the first hardware appliance. The data is stored in the long-term storage in the first hardware appliance based on the determination. The data is sent to a second hardware appliance of the plurality of hardware appliances, the first hardware appliance and the second hardware appliance in communication via the local-area network. The data is stored in the long-term storage in the second hardware appliance.
    Type: Grant
    Filed: May 8, 2008
    Date of Patent: November 6, 2012
    Assignee: Silver Peak Systems, Inc.
    Inventor: David Anthony Hughes
  • Patent number: 8225072
    Abstract: Systems and methods for pre-fetching of data in a memory are provided. By pre-fetching stored data from a slower memory into a faster memory, the amount of time required for data retrieval and/or processing may be reduced. First, data is received and pre-scanned to generate a sample fingerprint. Fingerprints stored in a faster memory that are similar to the sample fingerprint are identified. Data stored in the slower memory associated with the identified stored fingerprints is copied into the faster memory. The copied data may be compared to the received data. Various embodiments may be included in a network memory architecture to allow for faster data matching and instruction generation in a central appliance.
    Type: Grant
    Filed: May 20, 2011
    Date of Patent: July 17, 2012
    Assignee: Silver Peak Systems, Inc.
    Inventors: David Anthony Hughes, John Burns
  • Patent number: 8171238
    Abstract: Systems and methods for identification of data stored in memory are provided. A data packet is received and a first packet byte within the data packet is compared to a first memory byte within a memory. A mismatch is determined between the first packet byte and the first memory byte. A memory location is jumped to that contains a second memory byte that is non-consecutive with the first memory byte. A packet location is jumped to that contains a second packet byte that is non-consecutive with the first packet byte. The second packet byte is compared to the second memory byte. A retrieval instruction is generated based at least in part on a result of the comparison between the second packet byte and the second memory byte. Various embodiments may be included in a network memory architecture to allow for faster data matching and instruction generation in a central appliance.
    Type: Grant
    Filed: July 5, 2007
    Date of Patent: May 1, 2012
    Assignee: Silver Peak Systems, Inc.
    Inventors: David Anthony Hughes, Zhigang Yin, John Burns