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: 20160092108
    Abstract: Methods, systems, and computer programs are presented for allocating CPU cycles in a storage system. One method includes operations for receiving requests to be processed, and for associating each request to one task. A foreground task is for processing input/output requests, and the foreground task includes one or more flows. Each flow is associated with a queue and a flow counter value, where each queue is configured to hold requests. The method further includes an operation for selecting one task for processing by the CPU based on an examination of the number of cycles processed by the CPU for each task. When the selected task is the foreground task, the flow having the lowest flow counter is selected. The CPU processes a request from the queue of the selected flow, and the flow counter of the selected flow is increased based on the data consumption of the processed task.
    Type: Application
    Filed: June 23, 2015
    Publication date: March 31, 2016
    Inventors: Gurunatha Karaje, Ajay Gulati, Umesh Maheshwari, Tomasz Barszczak, Vanco Buca
  • Publication number: 20160092272
    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: October 30, 2015
    Publication date: March 31, 2016
    Inventors: Gurunatha Karaje, Tomasz Barszczak, Vanco Buca, Ajay Gulati, Umesh Maheshwari
  • Publication number: 20160077971
    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: November 30, 2015
    Publication date: March 17, 2016
    Inventors: Umesh Maheshwari, Varun Mehta
  • Patent number: 9274967
    Abstract: Described herein are methods, systems and machine-readable media for simulating a FIFO cache using a Bloom filter ring, which includes a plurality of Bloom filters arranged in a circular log. New elements are registered in the Bloom filter at the head of the circular log. When the Bloom filter at the head of the circular log is filled to its capacity, membership information associated with old elements in the Bloom filter at the tail of the circular log is evicted (simulating FIFO cache behavior), and the head and tail of the log are advanced. The Bloom filter ring is used to determine cache statistics (e.g., cache hit, cache miss) of a FIFO cache of various sizes. In response to simulation output specifying cache statistics for FIFO cache of various sizes, a FIFO cache is optimally sized.
    Type: Grant
    Filed: August 7, 2013
    Date of Patent: March 1, 2016
    Assignee: Nimble Storage, Inc.
    Inventors: Senthil Kumar Ramamoorthy, Umesh Maheshwari
  • Publication number: 20160041903
    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: October 27, 2015
    Publication date: February 11, 2016
    Inventor: Umesh Maheshwari
  • Patent number: 9251365
    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: November 4, 2014
    Date of Patent: February 2, 2016
    Assignee: Intertrust Technologies Corporation
    Inventors: Umesh Maheshwari, Radek Vingralek, W. Olin Sibert
  • Publication number: 20160026393
    Abstract: Cluster storage comprises an interface and a processor. The interface is to send a tag to a selected node and receive tags from the selected node. The tags received from the selected node comprise tags for likely similar segments stored on the selected node. The processor is to break a segment into subsegments, calculate subsegment tags for each subsegment, identify one or more references to one or more previously stored subsegments and/or one or more segment data using the tags from the selected node and the subsegment tags, and send the one or more references to the one or more previously stored subsegments and/or segment data and associated tags to the selected node.
    Type: Application
    Filed: October 8, 2015
    Publication date: January 28, 2016
    Inventors: Sazzala Venkata Reddy, Umesh Maheshwari, Edward K. Lee, R. Hugo Patterson
  • Patent number: 9235506
    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: August 29, 2014
    Date of Patent: January 12, 2016
    Assignee: Nimble Storage, Inc.
    Inventors: Umesh Maheshwari, Varun Mehta
  • Patent number: 9213628
    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: July 14, 2010
    Date of Patent: December 15, 2015
    Assignee: Nimble Storage, Inc.
    Inventors: Umesh Maheshwari, Varun Mehta
  • Patent number: 9183216
    Abstract: Cluster storage is disclosed. A data stream or a data block is received. The data stream or the data block is broken into segments. For each segment, a cluster node is selected, and a portion of the segment smaller than the segment is identified that is a duplicate of a portion of a segment already managed by the cluster node.
    Type: Grant
    Filed: February 25, 2014
    Date of Patent: November 10, 2015
    Assignee: EMC Corporation
    Inventors: Sazzala Reddy, Umesh Maheshwari, Edward K. Lee, R. Hugo Patterson
  • Patent number: 9176874
    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 25, 2015
    Date of Patent: November 3, 2015
    Assignee: Nimble Storage, Inc.
    Inventor: Umesh Maheshwari
  • Publication number: 20150293843
    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 25, 2015
    Publication date: October 15, 2015
    Inventor: Umesh Maheshwari
  • Publication number: 20150278491
    Abstract: Systems and methods are disclosed for protecting a computer program from unauthorized analysis and modification. Obfuscation transformations can be applied to the computer program's local structure, control graph, and/or data structure to render the program more difficult to understand and/or modify. Tamper-resistance mechanisms can be incorporated into the computer program to detect attempts to tamper with the program's operation. Once an attempt to tamper with the computer program is detected, the computer program reports it to an external agent, ceases normal operation, and/or reverses any modifications made by the attempted tampering. The computer program can also be watermarked to facilitate identification of its owner. The obfuscation, tamper-resistance, and watermarking transformations can be applied to the computer program's source code, object code, or executable image.
    Type: Application
    Filed: June 5, 2015
    Publication date: October 1, 2015
    Inventors: James J. HORNING, W. Olin SIBERT, Robert E. Tarjan, Umesh MAHESHWARI, William G. HORNE, Andrew K. WRIGHT, Lesley R. MATHESON, Susan S. OWICKI
  • Patent number: 9098405
    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: March 12, 2015
    Date of Patent: August 4, 2015
    Assignee: Nimble Storage, Inc.
    Inventor: Umesh Maheshwari
  • Publication number: 20150200782
    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: August 18, 2014
    Publication date: July 16, 2015
    Applicant: INTERTRUST TECHNOLOGIES CORP.
    Inventors: William G. Horne, Umesh Maheshwari, Robert E. Tarjan, James J. Horning, W. Olin Sibert, Lesley R. Matheson, Andrew K. Wright, Susan S. Owicki
  • Patent number: 9081670
    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: May 8, 2014
    Date of Patent: July 14, 2015
    Assignee: Nimble Storage, Inc.
    Inventors: Umesh Maheshwari, Varun Mehta
  • Publication number: 20150186265
    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: March 12, 2015
    Publication date: July 2, 2015
    Inventor: Umesh Maheshwari
  • Patent number: 9064099
    Abstract: Systems and methods are disclosed for protecting a computer program from unauthorized analysis and modification. Obfuscation transformations can be applied to the computer program's local structure, control graph, and/or data structure to render the program more difficult to understand and/or modify. Tamper-resistance mechanisms can be incorporated into the computer program to detect attempts to tamper with the program's operation. Once an attempt to tamper with the computer program is detected, the computer program reports it to an external agent, ceases normal operation, and/or reverses any modifications made by the attempted tampering. The computer program can also be watermarked to facilitate identification of its owner. The obfuscation, tamper-resistance, and watermarking transformations can be applied to the computer program's source code, object code, or executable image.
    Type: Grant
    Filed: February 25, 2013
    Date of Patent: June 23, 2015
    Assignee: INTERTRUST TECHNOLOGIES CORPORATION
    Inventors: James J. Horning, W. Olin Sibert, Robert E. Tarjan, Umesh Maheshwari, William G. Horne, Andrew K. Wright, Lesley R. Matheson, Susan S. Owicki
  • Publication number: 20150121137
    Abstract: A memory system controller includes one or more sockets for accommodating NVDIMM cards produced by different NVDIMM providers; a PCIe interface for coupling the memory system controller to a host; and a controller coupled to the PCIe interface over a PCIe-compliant connection and to the one or more sockets over respective DDR2 connections. The controller is configured to manage data transfers between the host and a specified one of the NVDIMM sockets in which an NVDIMM card is accommodated as DMA reads and writes, format data received from the PCIe interface for transmission to the specified NVDIMM socket over the corresponding one or more DDR2 interfaces, and initiate save and restore operations on the NVDIMM card accommodated within the specified NVDIMM socket in response to power failure and power restoration indications.
    Type: Application
    Filed: January 8, 2015
    Publication date: April 30, 2015
    Inventors: Thomas P. McKnight, Xiaoshan Zuo, Umesh Maheshwari
  • Publication number: 20150113293
    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: November 4, 2014
    Publication date: April 23, 2015
    Inventors: Umesh Maheshwari, Radek Vingralek, W. Olin Sibert