Patents by Inventor John G. Bennett
John G. Bennett 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: 11803596Abstract: Methods and computer storage media are provided for generating entries for documents in a forward index. A document and its document identification are received, in addition to static features that are query-independent. The document is parsed into tokens to form a token stream corresponding to the document. Relevant data used to calculate rankings of document is identified and a position of the data is determined. The entry is then generated from the document identification, the token stream of the document, the static features, and the positional information of the relevant data. The entry is stored in the forward index.Type: GrantFiled: October 1, 2019Date of Patent: October 31, 2023Assignee: Microsoft Technology Licensing, LLCInventors: Knut Magne Risvik, Michael Hopcroft, John G. Bennett, Karthik Kalyanaraman, Trishul Chilimbi, Chad P. Walters, Vishesh Parikh, Jan Otto Pedersen
-
Patent number: 11625322Abstract: In some examples, performance counters for computer memory may include ascertaining a request associated with a memory address range of computer memory. The memory address range may be assigned to a specified performance tier of a plurality of specified performance tiers. A performance value associated with a performance attribute of the memory address range may be ascertained, and based on the ascertained performance value, a weight value may be determined. Based on the ascertained request and the determined weight value, a count value associated with a counter associated with the memory address range may be incremented. Based on an analysis of the count value associated with the counter, a determination may be made as to whether the memory address range is to be assigned to a different specified performance tier of the plurality of specified performance tiers.Type: GrantFiled: August 11, 2021Date of Patent: April 11, 2023Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: John G. Bennett, Siamak Tavallaei
-
Publication number: 20220253236Abstract: A compressed memory is divided into a plurality of segments, each segment is divided into a plurality of sub-segments, and each sub-segment in an uncompressed data space is compressed into block (s) in a compressed data space. Upon a read request to a sub-segment in a segment in compressed memory is received, the corresponding entry is firstly determined based on a first level address mapping between the sub-segment and the entry, and then the corresponding block (s) is determined based on a second level address mapping between the entry and the block (s). By use of two-level address mappings, the size of entry can be reduced, thereby achieving low metadata overhead. Moreover, the proposed data layout for compressed memory.Type: ApplicationFiled: July 2, 2019Publication date: August 11, 2022Inventors: Lintao ZHANG, John G. BENNETT, Bojie LI
-
Patent number: 11210207Abstract: In some examples, performance counters for computer memory may include ascertaining a request associated with a memory address range of computer memory. The memory address range may be assigned to a specified performance tier of a plurality of specified performance tiers. A performance value associated with a performance attribute of the memory address range may be ascertained, and based on the ascertained performance value, a weight value may be determined. Based on the ascertained request and the determined weight value, a count value associated with a counter associated with the memory address range may be incremented. Based on an analysis of the count value associated with the counter, a determination may be made as to whether the memory address range is to be assigned to a different specified performance tier of the plurality of specified performance tiers.Type: GrantFiled: November 14, 2019Date of Patent: December 28, 2021Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: John G. Bennett, Siamak Tavallaei
-
Publication number: 20210374046Abstract: In some examples, performance counters for computer memory may include ascertaining a request associated with a memory address range of computer memory. The memory address range may be assigned to a specified performance tier of a plurality of specified performance tiers. A performance value associated with a performance attribute of the memory address range may be ascertained, and based on the ascertained performance value, a weight value may be determined. Based on the ascertained request and the determined weight value, a count value associated with a counter associated with the memory address range may be incremented. Based on an analysis of the count value associated with the counter, a determination may be made as to whether the memory address range is to be assigned to a different specified performance tier of the plurality of specified performance tiers.Type: ApplicationFiled: August 11, 2021Publication date: December 2, 2021Applicant: Microsoft Technology Licensing, LLCInventors: John G. BENNETT, Siamak TAVALLAEI
-
Patent number: 10769074Abstract: In some examples, computer memory content movement may include ascertaining a request associated with content of computer memory. Based on a determination that the request is directed to the content that is to be moved from a source of the computer memory to a destination of the computer memory, a determination may be made as to whether the content is at the source, is in a process of being moved from the source to the destination, or has been moved from the source to the destination. Based on a determination that the content is at the source, the request may be performed using the source. Based on a determination that the content is in the process of being moved, the request may be performed using the source. Further, based on a determination that the content has been moved, the request may be performed using the destination.Type: GrantFiled: May 18, 2018Date of Patent: September 8, 2020Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: John G. Bennett, Marc Tremblay
-
Publication number: 20200192948Abstract: Methods and computer storage media are provided for generating entries for documents in a forward index. A document and its document identification are received, in addition to static features that are query-independent. The document is parsed into tokens to form a token stream corresponding to the document. Relevant data used to calculate rankings of document is identified and a position of the data is determined. The entry is then generated from the document identification, the token stream of the document, the static features, and the positional information of the relevant data. The entry is stored in the forward index.Type: ApplicationFiled: October 1, 2019Publication date: June 18, 2020Inventors: KNUT MAGNE RISVIK, MICHAEL HOPCROFT, JOHN G. BENNETT, KARTHIK KALYANARAMAN, TRISHUL CHILIMBI, CHAD P. WALTERS, VISHESH PARIKH, JAN OTTO PEDERSEN
-
Publication number: 20200081826Abstract: In some examples, performance counters for computer memory may include ascertaining a request associated with a memory address range of computer memory. The memory address range may be assigned to a specified performance tier of a plurality of specified performance tiers. A performance value associated with a performance attribute of the memory address range may be ascertained, and based on the ascertained performance value, a weight value may be determined. Based on the ascertained request and the determined weight value, a count value associated with a counter associated with the memory address range may be incremented. Based on an analysis of the count value associated with the counter, a determination may be made as to whether the memory address range is to be assigned to a different specified performance tier of the plurality of specified performance tiers.Type: ApplicationFiled: November 14, 2019Publication date: March 12, 2020Applicant: Microsoft Technology Licensing, LLCInventors: John G. BENNETT, Siamak TAVALLAEI
-
Patent number: 10515064Abstract: A key-value storage system is described herein for interacting with key-value entries in a content store using a resource-efficient index. The index provides a data structure that includes a plurality of hash buckets. Each hash bucket includes a linked list of hash bucket units. The key-value storage system stores hash entries in each linked list of hash bucket units in a distributed manner between an in-memory index store and a secondary index store, based on time of their creation. The key-value storage system is further configured to store hash entries in a particular collection of linked hash bucket units in a chronological order to reflect time of their creation. The index further includes various tunable parameters that affect the performance of the key-value storage system.Type: GrantFiled: July 11, 2016Date of Patent: December 24, 2019Assignee: Microsoft Technology Licensing, LLCInventors: John G. Bennett, Chen Fu, Ashwini S. Khade
-
Patent number: 10509721Abstract: In some examples, performance counters for computer memory may include ascertaining a request associated with a memory address range of computer memory. The memory address range may be assigned to a specified performance tier of a plurality of specified performance tiers. A performance value associated with a performance attribute of the memory address range may be ascertained, and based on the ascertained performance value, a weight value may be determined. Based on the ascertained request and the determined weight value, a count value associated with a counter associated with the memory address range may be incremented. Based on an analysis of the count value associated with the counter, a determination may be made as to whether the memory address range is to be assigned to a different specified performance tier of the plurality of specified performance tiers.Type: GrantFiled: May 18, 2018Date of Patent: December 17, 2019Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: John G. Bennett, Siamak Tavallaei
-
Patent number: 10437892Abstract: Methods and computer storage media are provided for generating entries for documents in a forward index. A document and its document identification are received, in addition to static features that are query-independent. The document is parsed into tokens to form a token stream corresponding to the document. Relevant data used to calculate rankings of document is identified and a position of the data is determined. The entry is then generated from the document identification, the token stream of the document, the static features, and the positional information of the relevant data. The entry is stored in the forward index.Type: GrantFiled: July 8, 2014Date of Patent: October 8, 2019Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Knut Magne Risvik, Michael Hopcroft, John G. Bennett, Karthik Kalyanaraman, Trishul Chilimbi, Chad P. Walters, Vishesh Parikh, Jan Otto Pedersen
-
Publication number: 20190138453Abstract: In some examples, computer memory content movement may include ascertaining a request associated with content of computer memory. Based on a determination that the request is directed to the content that is to be moved from a source of the computer memory to a destination of the computer memory, a determination may be made as to whether the content is at the source, is in a process of being moved from the source to the destination, or has been moved from the source to the destination. Based on a determination that the content is at the source, the request may be performed using the source. Based on a determination that the content is in the process of being moved, the request may be performed using the source. Further, based on a determination that the content has been moved, the request may be performed using the destination.Type: ApplicationFiled: May 18, 2018Publication date: May 9, 2019Applicant: Microsoft Technology Licensing, LLCInventors: John G. Bennett, Marc Tremblay
-
Publication number: 20190138437Abstract: In some examples, performance counters for computer memory may include ascertaining a request associated with a memory address range of computer memory. The memory address range may be assigned to a specified performance tier of a plurality of specified performance tiers. A performance value associated with a performance attribute of the memory address range may be ascertained, and based on the ascertained performance value, a weight value may be determined. Based on the ascertained request and the determined weight value, a count value associated with a counter associated with the memory address range may be incremented. Based on an analysis of the count value associated with the counter, a determination may be made as to whether the memory address range is to be assigned to a different specified performance tier of the plurality of specified performance tiers.Type: ApplicationFiled: May 18, 2018Publication date: May 9, 2019Applicant: Microsoft Technology Licensing, LLCInventors: John G. BENNETT, Siamak Tavallaei
-
Publication number: 20180011852Abstract: A key-value storage system is described herein for interacting with key-value entries in a content store using a resource-efficient index. The index provides a data structure that includes a plurality of hash buckets. Each hash bucket includes a linked list of hash bucket units. The key-value storage system stores hash entries in each linked list of hash bucket units in a distributed manner between an in-memory index store and a secondary index store, based on time of their creation. The key-value storage system is further configured to store hash entries in a particular collection of linked hash bucket units in a chronological order to reflect time of their creation. The index further includes various tunable parameters that affect the performance of the key-value storage system.Type: ApplicationFiled: July 11, 2016Publication date: January 11, 2018Inventors: John G. Bennett, Chen Fu, Ashwini S. Khade
-
Publication number: 20170083553Abstract: A search index includes tiered posting lists. Each posting list in the search index corresponds with a different atom and includes a list of documents containing the particular document. Additionally, a rank is stored with each document listed in a posting list for a given atom representing the relevance of the atom to the context of each document. At least some of the posting lists in the search index are tiered. A tiered posting list is divided into a number of tiers with the tiers being ordered by document while each tier is internally ordered by document. Employing tiered posting lists within the search index allows a search engine to evaluate search queries in a manner that allows for a number of efficiencies and precise stopping.Type: ApplicationFiled: November 30, 2016Publication date: March 23, 2017Inventors: Knut Magne Risvik, Michael Hopcroft, John G. Bennett, Karthik Kalyanaraman, Trishul Chilimbi
-
Publication number: 20160378803Abstract: The technology described herein provides a bit vector search index for a search system. The bit vector search index comprises a data structure for indexing data about terms from a corpus of documents. The data structure includes a number of bit vectors. Each bit vector comprises an array of bits and corresponds to a different set of terms. Bits in the bit vector are used to represent whether at least one document corresponding to the bit includes at least one term from the set of terms corresponding to the bit vector.Type: ApplicationFiled: June 17, 2016Publication date: December 29, 2016Inventors: MICHAEL JOSEPH HOPCROFT, ROBERT LOVEJOY GOODWIN, JOHN G. BENNETT
-
Patent number: 9529908Abstract: A search index includes tiered posting lists. Each posting list in the search index corresponds with a different atom and includes a list of documents containing the particular document. Additionally, a rank is stored with each document listed in a posting list for a given atom representing the relevance of the atom to the context of each document. At least some of the posting lists in the search index are tiered. A tiered posting list is divided into a number of tiers with the tiers being ordered by document while each tier is internally ordered by document. Employing tiered posting lists within the search index allows a search engine to evaluate search queries in a manner that allows for a number of efficiencies and precise stopping.Type: GrantFiled: November 22, 2010Date of Patent: December 27, 2016Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Knut Magne Risvik, Michael Hopcroft, John G. Bennett, Karthik Kalyanaraman, Trishul Chilimbi
-
Patent number: 9354991Abstract: An “erasure code” is an encoding of multiple different sets of data. Redundant copies of data are maintained in such erasure codes, thereby utilizing only a fraction of the storage capacity of unencoded copies. Erasure codes are efficiently generated, with a minimum of processing resources utilizing XOR functionality. Additionally, erasure codes are generated from local data, thereby avoiding the consumption of network resources. At least one unencoded copy of a set of data is maintained, while the remaining, redundant copies are encoded into erasure codes. Requests for data are provided from the unencoded copy. Should it fail, a new unencoded copy can be generated by another computing device having access to both an erasure code as well as unencoded copies of the other data that was also pressed into that erasure code. Multiple failures can be survived through recursive application of such a decoding of encoded data.Type: GrantFiled: June 25, 2013Date of Patent: May 31, 2016Assignee: Microsoft Technology Licensing, LLCInventors: John G. Bennett, Bob Jenkins
-
Patent number: 9342582Abstract: Methods are provided for populating search indexes with atoms identified in documents. Documents that are to be indexed are identified, and for each document, atoms are identified and are categorized as unigrams, n-grams, and n-tuples. A list of atom/document pairs is generated such that an information metric can be computed for each pair. An information metric represents a ranking of the atom in relation to the particular document. Based on the information metric, some atom/document pairs are discarded and others are indexed.Type: GrantFiled: March 10, 2011Date of Patent: May 17, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Knut Magne Risvik, Mike Hopcroft, John G. Bennett, Karthik Kalyanaraman, Trishul Chilimbi
-
Publication number: 20150234917Abstract: Methods, computer systems, and computer-storage medium for generating a per-document index used for semantic searching is provided. A document is received and parsed into a plurality of section. Each term in each section is translated in order to at least one of a cache index or a term identifier. Subsequent to translating the terms, each section is separately group encoded to generate the per-document index. The per-document index is stored in association with a data store.Type: ApplicationFiled: April 30, 2015Publication date: August 20, 2015Inventors: YUE-SHENG LIU, XIAO-SONG YANG, HUI SHEN, WEIHU WANG, JOHN G. BENNETT