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: 9436596Abstract: 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: GrantFiled: June 17, 2013Date of Patent: September 6, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Sudipta Sengupta, Biplob Kumar Debnath, Jin Li
-
Publication number: 20160110403Abstract: 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: ApplicationFiled: December 31, 2014Publication date: April 21, 2016Inventors: David Bruce Lomet, Justin Jon Levandoski, Sudipta Sengupta, Ryan Stutsman
-
Patent number: 9298604Abstract: 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: GrantFiled: June 17, 2013Date of Patent: March 29, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Sudipta Sengupta, Biplob Kumar Debnath, Jin Li
-
Publication number: 20160019279Abstract: 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: ApplicationFiled: July 20, 2014Publication date: January 21, 2016Inventors: Sudipta Sengupta, David Bruce Lomet, Justin Jon Levandoski
-
Publication number: 20160012098Abstract: 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: ApplicationFiled: July 13, 2015Publication date: January 14, 2016Applicant: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Jin Li, Sudipta Sengupta, Ran Kalach, Ronakkumar N. Desai, Paul Adrian Oltean, James Robert Benton
-
Patent number: 9110936Abstract: 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: GrantFiled: December 28, 2010Date of Patent: August 18, 2015Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Jin Li, Sudipta Sengupta, Ran Kalach, Ronakkumar N. Desai, Paul Adrian Oltean, James Robert Benton
-
Patent number: 9072098Abstract: 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: GrantFiled: February 22, 2013Date of Patent: June 30, 2015Assignee: Microsoft Technology Licensing, LLCInventors: Sudipta Sengupta, Minghua Chen, Ranveer Chandra
-
Patent number: 9053032Abstract: 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: GrantFiled: December 28, 2010Date of Patent: June 9, 2015Assignee: Microsoft Technology Licensing, LLCInventors: Sudipta Sengupta, Biplob Debnath, Jin Li, Ronakkumar N. Desai, Paul Adrian Oltean
-
Patent number: 9003162Abstract: 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: GrantFiled: June 20, 2012Date of Patent: April 7, 2015Assignee: Microsoft Technology Licensing, LLCInventors: David Lomet, Justin Levandoski, Sudipta Sengupta
-
Patent number: 8996683Abstract: 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: GrantFiled: March 25, 2009Date of Patent: March 31, 2015Assignee: Microsoft Technology Licensing, LLCInventors: David A. Maltz, Albert G. Greenberg, Parveen K. Patel, Sudipta Sengupta, Parantap Lahiri
-
Patent number: 8935487Abstract: 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: GrantFiled: December 28, 2010Date of Patent: January 13, 2015Assignee: Microsoft CorporationInventors: Sudipta Sengupta, Biplob Debnath, Jin Li, Ronakkumar N. Desai, Paul Adrian Oltean
-
Publication number: 20140379991Abstract: 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: ApplicationFiled: June 22, 2013Publication date: December 25, 2014Inventors: David B. Lomet, Justin Levandoski, Sudipta Sengupta
-
Patent number: 8918375Abstract: 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: GrantFiled: August 31, 2011Date of Patent: December 23, 2014Assignee: Microsoft CorporationInventors: Jin Li, Sudipta Sengupta, Sanjeev Mehrotra, Ran Kalach, Paul Adrian Oltean
-
Publication number: 20140280669Abstract: 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: ApplicationFiled: March 15, 2013Publication date: September 18, 2014Applicant: MICROSOFT CORPORATIONInventors: David T. Harper, III, Sudipta Sengupta, Douglas Christopher Burger, Eric C. Peterson, David A. Maltz
-
Publication number: 20140244604Abstract: 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: ApplicationFiled: February 28, 2013Publication date: August 28, 2014Applicant: MICROSOFT CORPORATIONInventors: Paul Adrian Oltean, Cosmin A. Rusu, Arnd Christian König, Mark Steven Manasse, Jin Li, Sudipta Sengupta, Sanjeev Mehrotra
-
Publication number: 20140189348Abstract: 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: ApplicationFiled: December 31, 2012Publication date: July 3, 2014Applicant: MICROSOFT CORPORATIONInventors: Ahmed Moustafa El-Shimi, Paul Adrian Oltean, Ran Kalach, Sudipta Sengupta, Jin Li, Roy D'Souza, Omkant Pandey, Ramarathnam Venkatesan
-
Publication number: 20140089253Abstract: 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: ApplicationFiled: September 24, 2012Publication date: March 27, 2014Applicant: BMC SOFTWARE, INC.Inventors: Bruce H. Mansur, Sudipta Sengupta, Gary L. Salazar
-
Publication number: 20130346672Abstract: 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: ApplicationFiled: June 22, 2012Publication date: December 26, 2013Applicant: MICROSOFT CORPORATIONInventors: Sudipta Sengupta, Jin Li, Cheng Huang, Timothy Andrew Pritchett, Christopher Broder Wilson
-
Publication number: 20130346725Abstract: 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: ApplicationFiled: June 20, 2012Publication date: December 26, 2013Applicant: MICROSOFT CORPORATIONInventors: David Lomet, Justin Levandoski, Sudipta Sengupta
-
Publication number: 20130282965Abstract: 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: ApplicationFiled: June 17, 2013Publication date: October 24, 2013Applicant: MICROSOFT CORPORATIONInventors: Sudipta Sengupta, Biplob Kumar Debnath, Jin Li