Patents by Inventor Umesh Maheshwari

Umesh Maheshwari has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Publication number: 20180081591
    Abstract: Methods and storage arrays are described. One example method is for storage processing on a storage array. The method includes executing a storage application on the storage array. The storage application is configured to process write commands and read commands to and from storage of the storage array, and the write commands and the read commands being from an application. The method includes, processing, by the storage application, a write command from the application. The processing includes storing data blocks of the write command to a write buffer of the storage array. The method also includes processing said data blocks, while processing said storing, to identify data blocks and/or metadata to store in a read cache-on-write buffer. In this example, only a sub-set of said data blocks are temporarily stored in said read cache-on-write buffer. The method includes draining data blocks, from time to time, from said read cache-on-write buffer to end storage of said storage.
    Type: Application
    Filed: April 7, 2017
    Publication date: March 22, 2018
    Inventors: Umesh Maheshwari, Suresh Vasudevan
  • Patent number: 9910784
    Abstract: A storage device made up of multiple storage media is configured such that one such media serves as a cache for data stored on another of such media. The device includes a controller configured to manage the cache by consolidating information concerning obsolete data stored in the cache with information concerning data no longer desired to be stored in the cache, and erase segments of the cache containing one or more of the blocks of obsolete data and the blocks of data that are no longer desired to be stored in the cache to produce reclaimed segments of the cache.
    Type: Grant
    Filed: June 2, 2017
    Date of Patent: March 6, 2018
    Assignee: Hewlett Packard Enterprise Development LP
    Inventor: Umesh Maheshwari
  • Patent number: 9880934
    Abstract: Methods and systems are presented for allocating CPU cycles among processes in a storage system. One method includes operations for maintaining segments in a first memory, each segment including blocks, and for maintaining a block temperature for each block in a second memory. The first memory is a read-cache where one segment is written at a time, and each block is readable from the first memory without reading the corresponding complete segment. The block temperature is based on the frequency of access to the respective block, and a segment temperature is based on the block temperature of its blocks. Additionally, the segment with the lowest segment temperature is selected for eviction from the second memory, and blocks in the selected segment with a block temperature greater than a threshold temperature are identified. The selected segment is evicted, and a segment with the identified blocks is written to the first memory.
    Type: Grant
    Filed: September 2, 2016
    Date of Patent: January 30, 2018
    Assignee: Hewlett Packard Enterprise Development LP
    Inventors: Pradeep Shetty, Sandeep Karmarkar, Senthil Kumar Ramamoorthy, Umesh Maheshwari, Vanco Buca
  • Publication number: 20180013731
    Abstract: Systems and methods are disclosed for providing a trusted database system that leverages a small amount of trusted storage to secure a larger amount of untrusted storage. Data are encrypted and validated to prevent unauthorized modification or access. Encryption and hashing are integrated with a low-level data model in which data and meta-data are secured uniformly. Synergies between data validation and log-structured storage are exploited.
    Type: Application
    Filed: April 24, 2017
    Publication date: January 11, 2018
    Applicant: Intertrust Technologies Corporation
    Inventors: Umesh Maheshwari, Radek Vingralek, W. Olin Sibert
  • Publication number: 20170300670
    Abstract: Systems and methods are disclosed for embedding information in software and/or other electronic content such that the information is difficult for an unauthorized party to detect, remove, insert, forge, and/or corrupt. The embedded information can be used to protect electronic content by identifying the content's source, thus enabling unauthorized copies or derivatives to be reliably traced, and thus facilitating effective legal recourse by the content owner. Systems and methods are also disclosed for protecting, detecting, removing, and decoding information embedded in electronic content, and for using the embedded information to protect software or other media from unauthorized analysis, attack, and/or modification.
    Type: Application
    Filed: May 4, 2017
    Publication date: October 19, 2017
    Applicant: Intertrust Technologies Corporation
    Inventors: William G. HORNE, Umesh MAHESHWARI, Robert E. TARJAN, James J. HORNING, W. Olin SIBERT, Lesley R. MATHESON, Andrew K. WRIGHT, Susan S. OWICKI
  • Publication number: 20170270048
    Abstract: A storage device includes a flash memory-based cache for a hard disk-based storage device and a controller that is configured to limit the rate of cache updates through a variety of mechanisms, including determinations that the data is not likely to be read back from the storage device within a time period that justifies its storage in the cache, compressing data prior to its storage in the cache, precluding storage of sequentially-accessed data in the cache, and/or throttling storage of data to the cache within predetermined write periods and/or according to user instruction.
    Type: Application
    Filed: May 19, 2017
    Publication date: September 21, 2017
    Inventors: Umesh Maheshwari, Varun Mehta
  • Publication number: 20170270049
    Abstract: A storage device made up of multiple storage media is configured such that one such media serves as a cache for data stored on another of such media. The device includes a controller configured to manage the cache by consolidating information concerning obsolete data stored in the cache with information concerning data no longer desired to be stored in the cache, and erase segments of the cache containing one or more of the blocks of obsolete data and the blocks of data that are no longer desired to be stored in the cache to produce reclaimed segments of the cache.
    Type: Application
    Filed: June 2, 2017
    Publication date: September 21, 2017
    Inventor: Umesh Maheshwari
  • Publication number: 20170255643
    Abstract: Methods, systems, and computer programs are presented for deduplicating data in a storage device. One method includes an operation for identifying multiple deduplication domains for a storage system. A fingerprint index is created for each deduplication domain, where each data block stored in the storage system is associated with one of the plurality of deduplication domains. The method also includes operations for receiving a first data block the storage system, and for identifying a first deduplication domain from the plurality at of deduplication domains corresponding to the first data block. The first data block is deduplicated within the first deduplication domain utilizing a first fingerprint index associated with the first deduplication domain.
    Type: Application
    Filed: March 2, 2016
    Publication date: September 7, 2017
    Inventor: Umesh Maheshwari
  • Patent number: 9733854
    Abstract: Methods, systems, and computer programs are presented for dynamic adaptive compression in a storage device. One method includes operations for setting a percentage factor for utilizing a first and a second compression algorithms, and for receiving incoming blocks in the memory of the storage device. The incoming blocks are compressed before being sent to permanent storage, where a portion of the incoming blocks are compressed with the first compression algorithm based on the percentage factor, and the remainder is compressed with the second compression algorithm. Further, the method includes determining that a processor utilization rate, of a processor in the storage device, is below a first predetermined threshold, and decreasing, in response to the determining, the percentage factor to decrease the portion of the incoming blocks that are compressed with the first compression algorithm, while the remainder of the incoming blocks is compressed with the second compression algorithm.
    Type: Grant
    Filed: October 30, 2015
    Date of Patent: August 15, 2017
    Assignee: Hewlett Packard Enterprise Development LP
    Inventors: Rajat Sharma, Umesh Maheshwari, Sandeep Karmarkar
  • Patent number: 9727481
    Abstract: Methods and systems are presented for evicting or copying-forward blocks in a storage system during garbage collection. In one method, a block status is maintained in a first memory to identify if the block is active or inactive, blocks being stored in segments that are configured to be cacheable in a second memory, a read-cache memory. Whenever an operation on a block is detected making the block inactive in one volume, the system determines if the block is still active in any volume, the block being cached in a first segment in the second memory. When the system detects that the first segment is being evicted from the second memory, the system re-caches the block into a second segment in the second memory if the block status of the block is active and the frequency of access to the block is above a predetermined value.
    Type: Grant
    Filed: February 9, 2016
    Date of Patent: August 8, 2017
    Assignee: Hewlett Packard Enterprise Development LP
    Inventors: Pradeep Shetty, Senthil Kumar Ramamoorthy, Umesh Maheshwari, Vanco Buca
  • Publication number: 20170192823
    Abstract: Methods, systems, and computer programs are presented for allocating CPU cycles and disk Input/Output's (IOs) to resource-creating processes based on dynamic weights that change according to the current percentage of resource utilization in the storage device. One method includes operations for assigning a first weight to a processing task that increases resource utilization of a resource for processing incoming input/output (IO) requests, and for assigning a second weight to a generating task that decreases the resource utilization of the resource. Further, the method includes an operation for dynamically adjusting the second weight based on the current resource utilization in the storage system. Additionally, the method includes an operation for allocating the CPU cycles and disk IOs to the processing task and to the generating task based on their respective first weight and second weight.
    Type: Application
    Filed: March 20, 2017
    Publication date: July 6, 2017
    Inventors: Gurunatha Karaje, Tomasz Barszczak, Vanco Buca, Ajay Gulati, Umesh Maheshwari
  • Patent number: 9697133
    Abstract: A storage device made up of multiple storage media is configured such that one such media serves as a cache for data stored on another of such media. The device includes a controller configured to manage the cache by consolidating information concerning obsolete data stored in the cache with information concerning data no longer desired to be stored in the cache, and erase segments of the cache containing one or more of the blocks of obsolete data and the blocks of data that are no longer desired to be stored in the cache to produce reclaimed segments of the cache.
    Type: Grant
    Filed: July 25, 2016
    Date of Patent: July 4, 2017
    Assignee: NIMBLE STORAGE, INC.
    Inventor: Umesh Maheshwari
  • Patent number: 9665495
    Abstract: A storage device includes a flash memory-based cache for a hard disk-based storage device and a controller that is configured to limit the rate of cache updates through a variety of mechanisms, including determinations that the data is not likely to be read back from the storage device within a time period that justifies its storage in the cache, compressing data prior to its storage in the cache, precluding storage of sequentially-accessed data in the cache, and/or throttling storage of data to the cache within predetermined write periods and/or according to user instruction.
    Type: Grant
    Filed: November 10, 2016
    Date of Patent: May 30, 2017
    Assignee: NIMBLE STORAGE, INC.
    Inventors: Umesh Maheshwari, Varun Mehta
  • Patent number: 9665497
    Abstract: A storage device made up of multiple storage media is configured such that one such media serves as a cache for data stored on another of such media. The device includes a controller configured to manage the cache by consolidating information concerning obsolete data stored in the cache with information concerning data no longer desired to be stored in the cache, and erase segments of the cache containing one or more of the blocks of obsolete data and the blocks of data that are no longer desired to be stored in the cache to produce reclaimed segments of the cache.
    Type: Grant
    Filed: July 25, 2016
    Date of Patent: May 30, 2017
    Assignee: NIMBLE STORAGE, INC.
    Inventor: Umesh Maheshwari
  • Patent number: 9659157
    Abstract: Systems and methods are disclosed for embedding information in software and/or other electronic content such that the information is difficult for an unauthorized party to detect, remove, insert, forge, and/or corrupt. The embedded information can be used to protect electronic content by identifying the content's source, thus enabling unauthorized copies or derivatives to be reliably traced, and thus facilitating effective legal recourse by the content owner. Systems and methods are also disclosed for protecting, detecting, removing, and decoding information embedded in electronic content, and for using the embedded information to protect software or other media from unauthorized analysis, attack, and/or modification.
    Type: Grant
    Filed: May 2, 2016
    Date of Patent: May 23, 2017
    Assignee: Intertrust Technologies Corporation
    Inventors: William G. Horne, Umesh Maheshwari, Robert E. Tarjan, James J. Horning, W. Olin Sibert, Lesley R. Matheson, Andrew K. Wright, Susan S. Owicki
  • Publication number: 20170123704
    Abstract: Methods, systems, and computer programs are presented for dynamic adaptive compression in a storage device. One method includes operations for setting a percentage factor for utilizing a first and a second compression algorithms, and for receiving incoming blocks in the memory of the storage device. The incoming blocks are compressed before being sent to permanent storage, where a portion of the incoming blocks are compressed with the first compression algorithm based on the percentage factor, and the remainder is compressed with the second compression algorithm. Further, the method includes determining that a processor utilization rate, of a processor in the storage device, is below a first predetermined threshold, and decreasing, in response to the determining, the percentage factor to decrease the portion of the incoming blocks that are compressed with the first compression algorithm, while the remainder of the incoming blocks is compressed with the second compression algorithm.
    Type: Application
    Filed: October 30, 2015
    Publication date: May 4, 2017
    Inventors: Rajat Sharma, Umesh Maheshwari, Sandeep Karmarkar
  • Patent number: 9641490
    Abstract: Systems and methods are disclosed for providing a trusted database system that leverages a small amount of trusted storage to secure a larger amount of untrusted storage. Data are encrypted and validated to prevent unauthorized modification or access. Encryption and hashing are integrated with a low-level data model in which data and meta-data are secured uniformly. Synergies between data validation and log-structured storage are exploited.
    Type: Grant
    Filed: January 5, 2016
    Date of Patent: May 2, 2017
    Assignee: Intertrust Technologies Corporation
    Inventors: Umesh Maheshwari, Radek Vingralek, W. Olin Sibert
  • Publication number: 20170115883
    Abstract: Methods, systems, and computer programs are presented for deduplicating data. One method includes an operation for receiving a data block having a logical address. The storage system includes a logical address mapping index for mapping logical addresses to block numbers, a block index for mapping block numbers to physical locations, and a fingerprint index for mapping fingerprints of data blocks to block numbers. Additionally, the method includes an operation for inline processing the data block. Inline processing the data block includes determining a fingerprint of the data block, examining the fingerprint index to determine if the fingerprint is already mapped to an existing data block in the storage system, if the fingerprint is already mapped then adding a mapping of the logical address to the existing data block in the logical address mapping index, and if the fingerprint is not already mapped then creating the corresponding entries in the indices.
    Type: Application
    Filed: October 21, 2015
    Publication date: April 27, 2017
    Inventors: Nitin Muppalaneni, Umesh Maheshwari, Steve Rodrigues, Srikant Varadan
  • Patent number: 9600337
    Abstract: Methods, systems, and computer programs are presented for allocating CPU cycles and disk Input/Output's (IOs) to resource-creating processes based on dynamic weights that change according to the current percentage of resource utilization in the storage device. One method includes operations for assigning a first weight to a processing task that increases resource utilization of a resource for processing incoming input/output (IO) requests, and for assigning a second weight to a generating task that decreases the resource utilization of the resource. Further, the method includes an operation for dynamically adjusting the second weight based on the current resource utilization in the storage system. Additionally, the method includes an operation for allocating the CPU cycles and disk IOs to the processing task and to the generating task based on their respective first weight and second weight.
    Type: Grant
    Filed: October 30, 2015
    Date of Patent: March 21, 2017
    Assignee: Nimble Storage, Inc.
    Inventors: Gurunatha Karaje, Tomasz Barszczak, Vanco Buca, Ajay Gulati, Umesh Maheshwari
  • Publication number: 20170060764
    Abstract: Methods and systems are presented for evicting or copying-forward blocks in a storage system during garbage collection. In one method, a block status is maintained in a first memory to identify if the block is active or inactive, blocks being stored in segments that are configured to be cacheable in a second memory, a read-cache memory. Whenever an operation on a block is detected making the block inactive in one volume, the system determines if the block is still active in any volume, the block being cached in a first segment in the second memory. When the system detects that the first segment is being evicted from the second memory, the system re-caches the block into a second segment in the second memory if the block status of the block is active and the frequency of access to the block is above a predetermined value.
    Type: Application
    Filed: February 9, 2016
    Publication date: March 2, 2017
    Inventors: Pradeep Shetty, Senthil Kumar Ramamoorthy, Umesh Maheshwari, Vanco Buca