Patents by Inventor Sudipta Sengupta

Sudipta Sengupta 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).

  • Patent number: 9436596
    Abstract: Described is using flash memory, RAM-based data structures and mechanisms to provide a flash store for caching data items (e.g., key-value pairs) in flash pages. A RAM-based index maps data items to flash pages, and a RAM-based write buffer maintains data items to be written to the flash store, e.g., when a full page can be written. A recycle mechanism makes used pages in the flash store available by destaging a data item to a hard disk or reinserting it into the write buffer, based on its access pattern. The flash store may be used in a data deduplication system, in which the data items comprise chunk-identifier, metadata pairs, in which each chunk-identifier corresponds to a hash of a chunk of data that indicates. The RAM and flash are accessed with the chunk-identifier (e.g., as a key) to determine whether a chunk is a new chunk or a duplicate.
    Type: Grant
    Filed: June 17, 2013
    Date of Patent: September 6, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Sudipta Sengupta, Biplob Kumar Debnath, Jin Li
  • Publication number: 20160110403
    Abstract: A transaction engine includes a multi-version concurrency control (MVCC) module that accesses a latch-free hash table that includes respective hash table entries that include respective buckets of respective bucket items. The bucket items represent respective records, the respective bucket items each including a value indicating a temporal most recent read time of the item and a version list of descriptions that describe respective versions of the respective records, the MVCC module performing timestamp order concurrency control, using the latch-free hash table. Recovery log buffers may be used as cache storage for the transaction engine.
    Type: Application
    Filed: December 31, 2014
    Publication date: April 21, 2016
    Inventors: David Bruce Lomet, Justin Jon Levandoski, Sudipta Sengupta, Ryan Stutsman
  • Patent number: 9298604
    Abstract: Described is using flash memory, RAM-based data structures and mechanisms to provide a flash store for caching data items (e.g., key-value pairs) in flash pages. A RAM-based index maps data items to flash pages, and a RAM-based write buffer maintains data items to be written to the flash store, e.g., when a full page can be written. A recycle mechanism makes used pages in the flash store available by destaging a data item to a hard disk or reinserting it into the write buffer, based on its access pattern. The flash store may be used in a data deduplication system, in which the data items comprise chunk-identifier, metadata pairs, in which each chunk-identifier corresponds to a hash of a chunk of data that indicates. The RAM and flash are accessed with the chunk-identifier (e.g., as a key) to determine whether a chunk is a new chunk or a duplicate.
    Type: Grant
    Filed: June 17, 2013
    Date of Patent: March 29, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Sudipta Sengupta, Biplob Kumar Debnath, Jin Li
  • Publication number: 20160019279
    Abstract: Update requests that specify updates to a logical page associated with a key-value store are obtained. Updates to the logical page are posted using the obtained plurality of update requests, without accessing the logical page via a read operation.
    Type: Application
    Filed: July 20, 2014
    Publication date: January 21, 2016
    Inventors: Sudipta Sengupta, David Bruce Lomet, Justin Jon Levandoski
  • Publication number: 20160012098
    Abstract: The subject disclosure is directed towards a data deduplication technology in which a hash index service's index is partitioned into subspace indexes, with less than the entire hash index service's index cached to save memory. The subspace index is accessed to determine whether a data chunk already exists or needs to be indexed and stored. The index may be divided into subspaces based on criteria associated with the data to index, such as file type, data type, time of last usage, and so on. Also described is subspace reconciliation, in which duplicate entries in subspaces are detected so as to remove entries and chunks from the deduplication system. Subspace reconciliation may be performed at off-peak time, when more system resources are available, and may be interrupted if resources are needed. Subspaces to reconcile may be based on similarity, including via similarity of signatures that each compactly represents the subspace's hashes.
    Type: Application
    Filed: July 13, 2015
    Publication date: January 14, 2016
    Applicant: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Jin Li, Sudipta Sengupta, Ran Kalach, Ronakkumar N. Desai, Paul Adrian Oltean, James Robert Benton
  • Patent number: 9110936
    Abstract: The subject disclosure is directed towards a data deduplication technology in which a hash index service's index is partitioned into subspace indexes, with less than the entire hash index service's index cached to save memory. The subspace index is accessed to determine whether a data chunk already exists or needs to be indexed and stored. The index may be divided into subspaces based on criteria associated with the data to index, such as file type, data type, time of last usage, and so on. Also described is subspace reconciliation, in which duplicate entries in subspaces are detected so as to remove entries and chunks from the deduplication system. Subspace reconciliation may be performed at off-peak time, when more system resources are available, and may be interrupted if resources are needed. Subspaces to reconcile may be based on similarity, including via similarity of signatures that each compactly represents the subspace's hashes.
    Type: Grant
    Filed: December 28, 2010
    Date of Patent: August 18, 2015
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Jin Li, Sudipta Sengupta, Ran Kalach, Ronakkumar N. Desai, Paul Adrian Oltean, James Robert Benton
  • Patent number: 9072098
    Abstract: A technique for resource allocation in a wireless network (for example, an access point type wireless network), which supports concurrent communication on a band of channels, is provided. The technique includes accepting connectivity information for the network that supports concurrent communication on the band of channels. A conflict graph is generated from the connectivity information. The generated conflict graph models concurrent communication on the band of channels. A linear programming approach, which incorporates information form the conflict graph and rate requirements for nodes of the network, can be utilized to maximize throughput of the network.
    Type: Grant
    Filed: February 22, 2013
    Date of Patent: June 30, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Sudipta Sengupta, Minghua Chen, Ranveer Chandra
  • Patent number: 9053032
    Abstract: The subject disclosure is directed towards a data deduplication technology in which a hash index service's index maintains a hash index in a secondary storage device such as a hard drive, along with a compact index table and look-ahead cache in RAM that operate to reduce the I/O to access the secondary storage device during deduplication operations. Also described is a session cache for maintaining data during a deduplication session, and encoding of a read-only compact index table for efficiency.
    Type: Grant
    Filed: December 28, 2010
    Date of Patent: June 9, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Sudipta Sengupta, Biplob Debnath, Jin Li, Ronakkumar N. Desai, Paul Adrian Oltean
  • Patent number: 9003162
    Abstract: A request to modify an object in storage that is associated with one or more computing devices may be obtained, the storage organized based on a latch-free B-tree structure. A storage address of the object may be determined, based on accessing a mapping table that includes map indicators mapping logical object identifiers to physical storage addresses. A prepending of a first delta record to a prior object state of the object may be initiated, the first delta record indicating an object modification associated with the obtained request. Installation of a first state change associated with the object modification may be initiated via a first atomic operation on a mapping table entry that indicates the prior object state of the object. For example, the latch-free B-tree structure may include a B-tree like index structure over records as the objects, and logical page identifiers as the logical object identifiers.
    Type: Grant
    Filed: June 20, 2012
    Date of Patent: April 7, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: David Lomet, Justin Levandoski, Sudipta Sengupta
  • Patent number: 8996683
    Abstract: A method of networking a plurality of servers together within a data center is disclosed. The method includes the step of addressing a data packet for delivery to a destination server by providing the destination server address as a flat address. The method further includes the steps of obtaining routing information required to route the packet to the destination server. This routing information may be obtained from a directory service servicing the plurality of servers. Once the routing information is obtained, the data packet may be routed to the destination server according to the flat address of the destination server and routing information obtained from the directory service.
    Type: Grant
    Filed: March 25, 2009
    Date of Patent: March 31, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: David A. Maltz, Albert G. Greenberg, Parveen K. Patel, Sudipta Sengupta, Parantap Lahiri
  • Patent number: 8935487
    Abstract: The subject disclosure is directed towards a data deduplication technology in which a hash index service's index maintains a hash index in a secondary storage device such as a hard drive, along with a compact index table and look-ahead cache in RAM that operate to reduce the I/O to access the secondary storage device during deduplication operations. Also described is a session cache for maintaining data during a deduplication session, and encoding of a read-only compact index table for efficiency.
    Type: Grant
    Filed: December 28, 2010
    Date of Patent: January 13, 2015
    Assignee: Microsoft Corporation
    Inventors: Sudipta Sengupta, Biplob Debnath, Jin Li, Ronakkumar N. Desai, Paul Adrian Oltean
  • Publication number: 20140379991
    Abstract: A data manager may include a data opaque interface configured to provide, to an arbitrarily selected page-oriented access method, interface access to page data storage that includes latch-free access to the page data storage. In another aspect, a swap operation may be initiated, of a portion of a first page in cache layer storage to a location in secondary storage, based on initiating a prepending of a partial swap delta record to a page state associated with the first page, the partial swap delta record including a main memory address indicating a storage location of a flush delta record that indicates a location in secondary storage of a missing part of the first page. In another aspect, a page manager may initiate a flush operation of a first page in cache layer storage to a location in secondary storage, based on atomic operations with flush delta records.
    Type: Application
    Filed: June 22, 2013
    Publication date: December 25, 2014
    Inventors: David B. Lomet, Justin Levandoski, Sudipta Sengupta
  • Patent number: 8918375
    Abstract: The subject disclosure is directed towards partitioning a file into chunks that satisfy a chunk size restriction, such as maximum and minimum chunk sizes, using a sliding window. For file positions within the chunk size restriction, a signature representative of a window fingerprint is compared with a target pattern, with a chunk boundary candidate identified if matched. Other signatures and patterns are then checked to determine a highest ranking signature (corresponding to a lowest numbered Rule) to associate with that chunk boundary candidate, or set an actual boundary if the highest ranked signature is matched. If the maximum chunk size is reached without matching the highest ranked signature, the chunking mechanism regresses to set the boundary based on the candidate with the next highest ranked signature (if no candidates, the boundary is set at the maximum). Also described is setting chunk boundaries based upon pattern detection (e.g., runs of zeros).
    Type: Grant
    Filed: August 31, 2011
    Date of Patent: December 23, 2014
    Assignee: Microsoft Corporation
    Inventors: Jin Li, Sudipta Sengupta, Sanjeev Mehrotra, Ran Kalach, Paul Adrian Oltean
  • Publication number: 20140280669
    Abstract: Memory is shared among physically distinct, networked computing devices. Each computing device comprises a Remote Memory Interface (RMI) accepting commands from locally executing processes and translating such commands into forms transmittable to a remote computing device. The RMI also accepts remote communications directed to it and translates those into commands directed to local memory. The amount of storage capacity shared is informed by a centralized controller, either a single controller, a hierarchical collection of controllers, or a peer-to-peer negotiation. Requests that are directed to remote high-speed non-volatile storage media are detected or flagged and the process generating the request is suspended such that it can be efficiently revived. The storage capacity provided by remote memory is mapped into the process space of processes executing locally.
    Type: Application
    Filed: March 15, 2013
    Publication date: September 18, 2014
    Applicant: MICROSOFT CORPORATION
    Inventors: David T. Harper, III, Sudipta Sengupta, Douglas Christopher Burger, Eric C. Peterson, David A. Maltz
  • Publication number: 20140244604
    Abstract: The subject disclosure is directed towards predicting compressibility of a data block, and using the predicted compressibility in determining whether a data block if compressed will be sufficiently compressible to justify compression. In one aspect, data of the data block is processed to obtain an entropy estimate of the data block, e.g., based upon distinct value estimation. The compressibility prediction may be used in conjunction with a chunking mechanism of a data deduplication system.
    Type: Application
    Filed: February 28, 2013
    Publication date: August 28, 2014
    Applicant: MICROSOFT CORPORATION
    Inventors: Paul Adrian Oltean, Cosmin A. Rusu, Arnd Christian König, Mark Steven Manasse, Jin Li, Sudipta Sengupta, Sanjeev Mehrotra
  • Publication number: 20140189348
    Abstract: The subject disclosure is directed towards encryption and deduplication integration between computing devices and a network resource. Files are partitioned into data blocks and deduplicated via removal of duplicate data blocks. Using multiple cryptographic keys, each data block is encrypted and stored at the network resource but can only be decrypted by an authorized user, such as domain entity having an appropriate deduplication domain-based cryptographic key. Another cryptographic key referred to as a content-derived cryptographic key ensures that duplicate data blocks encrypt to substantially equivalent encrypted data.
    Type: Application
    Filed: December 31, 2012
    Publication date: July 3, 2014
    Applicant: MICROSOFT CORPORATION
    Inventors: Ahmed Moustafa El-Shimi, Paul Adrian Oltean, Ran Kalach, Sudipta Sengupta, Jin Li, Roy D'Souza, Omkant Pandey, Ramarathnam Venkatesan
  • Publication number: 20140089253
    Abstract: Methods and systems enable a database reorganization to occur without a database outage. In one aspect, the method includes pausing transactions directed to the database, keeping a logical view of the database online. The method may also include taking individual partitions offline, changing the names of datasets associated with the individual partitions in a database schema, and bringing the partitions online, all while the logical view of the database remains online. The database schema may be changed to reflect the name of datasets associated with a shadow copy of the database that has been reorganized.
    Type: Application
    Filed: September 24, 2012
    Publication date: March 27, 2014
    Applicant: BMC SOFTWARE, INC.
    Inventors: Bruce H. Mansur, Sudipta Sengupta, Gary L. Salazar
  • Publication number: 20130346672
    Abstract: The subject disclosure is directed towards a multi-tiered cache having cache tiers with different access properties. Objects are written to a selected a tier of the cache based upon object-related properties and/or cache-related properties. In one aspect, objects are stored in an active log among a plurality of logs. The active log is sealed upon reaching a target size, with a new active log opened. Garbage collecting is performed on a sealed log, such as the sealed log with the most garbage therein.
    Type: Application
    Filed: June 22, 2012
    Publication date: December 26, 2013
    Applicant: MICROSOFT CORPORATION
    Inventors: Sudipta Sengupta, Jin Li, Cheng Huang, Timothy Andrew Pritchett, Christopher Broder Wilson
  • Publication number: 20130346725
    Abstract: A request to modify an object in storage that is associated with one or more computing devices may be obtained, the storage organized based on a latch-free B-tree structure. A storage address of the object may be determined, based on accessing a mapping table that includes map indicators mapping logical object identifiers to physical storage addresses. A prepending of a first delta record to a prior object state of the object may be initiated, the first delta record indicating an object modification associated with the obtained request. Installation of a first state change associated with the object modification may be initiated via a first atomic operation on a mapping table entry that indicates the prior object state of the object. For example, the latch-free B-tree structure may include a B-tree like index structure over records as the objects, and logical page identifiers as the logical object identifiers.
    Type: Application
    Filed: June 20, 2012
    Publication date: December 26, 2013
    Applicant: MICROSOFT CORPORATION
    Inventors: David Lomet, Justin Levandoski, Sudipta Sengupta
  • Publication number: 20130282965
    Abstract: Described is using flash memory, RAM-based data structures and mechanisms to provide a flash store for caching data items (e.g., key-value pairs) in flash pages. A RAM-based index maps data items to flash pages, and a RAM-based write buffer maintains data items to be written to the flash store, e.g., when a full page can be written. A recycle mechanism makes used pages in the flash store available by destaging a data item to a hard disk or reinserting it into the write buffer, based on its access pattern. The flash store may be used in a data deduplication system, in which the data items comprise chunk-identifier, metadata pairs, in which each chunk-identifier corresponds to a hash of a chunk of data that indicates. The RAM and flash are accessed with the chunk-identifier (e.g., as a key) to determine whether a chunk is a new chunk or a duplicate.
    Type: Application
    Filed: June 17, 2013
    Publication date: October 24, 2013
    Applicant: MICROSOFT CORPORATION
    Inventors: Sudipta Sengupta, Biplob Kumar Debnath, Jin Li