×

Distributed data set encryption and decryption

  • US 9,946,719 B2
  • Filed: 09/01/2017
  • Issued: 04/17/2018
  • Est. Priority Date: 07/27/2015
  • Status: Active Grant
First Claim
Patent Images

1. An apparatus comprising a processor component of a first node device and a storage to store instructions that, when executed by the processor component, cause the processor component to perform operations comprising:

  • receive, at the first node device of multiple node devices, an indication of a processing task to perform with a data set and metadata indicative of an organization of data within the data set, wherein;

    the data set is stored within a data file as multiple encrypted data blocks; and

    each encrypted data block is generated by encryption of at least one data set portion of the data set using corresponding data block encryption data separately generated for each encrypted data block;

    receive, at the first node device, data block encryption data and an indication of a size of an encrypted data block of the multiple encrypted data blocks that is distributed to the first node device for decryption;

    analyze the metadata to determine whether the data of the data set is partitioned data;

    in response to an indication in the metadata that the data of the data set is partitioned data, wherein the data within the data set is organized into multiple partitions that are each distributable to a single node device, the processor component is caused to perform operations comprising;

    receive, at the first node device, an indication of a quantity of one or more data sub-blocks within the encrypted data block, and for each data sub-block of the encrypted data block, a sub-block size and a hashed identifier of the data sub-block, wherein;

    each data sub-block of the encrypted data block corresponds to a data set portion of the data set; and

    each data set portion comprises data of a partition of the multiple partitions that is identified by the corresponding hashed identifier;

    use the data block encryption data to decrypt the encrypted data block to regenerate one or more data set portions from the one or more data sub-blocks of the encrypted data block;

    analyze the hashed identifier of each data sub-block of the encrypted data block to determine whether all of the one or more data set portions are distributed to the first node device for processing to perform the processing task; and

    in response to a determination that at least one data set portion of the one or more data set portions is to be distributed to a second node device of the multiple node devices for processing, the processor component is caused to perform operations comprising;

    transmit, from the first node device, the at least one data set portion to the second node device; and

    perform the processing task with any data set portion of the one or more data set portions that are distributed to the first node device for processing.

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