×

Client-side deduplication with local chunk caching

  • US 10,459,886 B2
  • Filed: 08/06/2014
  • Issued: 10/29/2019
  • Est. Priority Date: 08/06/2014
  • Status: Active Grant
First Claim
Patent Images

1. A method, comprising:

  • at a client device comprising a processor and memory, identifying a fingerprint for a data chunk by applying a hash function to the data chunk via the processor, the data chunk determined by parsing a data stream at the client device, the data stream designated for storage at a networked storage system, using functions in a custom communications protocol interface, the custom communications protocol interface including a parser and a fingerprinter for facilitating client-side deduplication, the custom communications protocol interface being at the client device and being operable to communicate with at least one other module at the client device via a standard communications protocol, the custom communications protocol interface at the client device being operable to communicate with the networked storage system using at least one non-standard interaction;

    determining whether the data chunk is stored in a local chunk cache at the client device;

    verifying that the data chunk is correctly identified by comparing a first length of the data chunk determined by parsing the data stream with a second length of the data chunk stored in the local chunk cache; and

    in response to a determination that the data chunk is not stored in the local chunk cache, determining whether the data chunk is stored at the networked storage system by transmitting the fingerprint to the networked storage system via the network;

    in response to receiving a message from the networked storage system that the data chunk is not stored at the networked storage system, transmitting the data chunk and a block map update request message to the networked storage system via a network, the block map update request message including information to update a block map at the networked storage system, the block map identifying a designated memory location at which the data chunk is to be stored at the networked storage system; and

    after the block map update request message is transmitted to the network storage system, storing the data chunk in a local chunk cache.

View all claims
  • 23 Assignments
Timeline View
Assignment View
    ×
    ×