Patents by Inventor MICHAEL JOSEPH HOPCROFT

MICHAEL JOSEPH HOPCROFT 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: 11748324
    Abstract: The technology described herein provides for identifying matching documents for a search query using a bit vector search index. When a search query is received, a term is identified from the search index, and a number of bit vectors corresponding to the term are identified. Each bit vector comprises an array of bits in which at least one bit in each bit vector indicates that a corresponding document includes the term. Each bit vector also includes other bits indicating other documents include other terms. A determination is made that an unacceptable number of possible matching documents is likely to be returned. In response to the determination, a strengthening row bit vector is selected to reduce the number of possible matching documents. The identified bit vectors and the selected strengthening row are intersected to identify matching documents that contain the term.
    Type: Grant
    Filed: June 15, 2022
    Date of Patent: September 5, 2023
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Michael Joseph Hopcroft, Robert Lovejoy Goodwin, Fan Wang, Denis V. Deyneko, Utkarsh Jain
  • Publication number: 20230038616
    Abstract: The technology described herein provides for identifying matching documents for a search query using a bit vector search index. When a search query is received, a term is identified from the search index, and a number of bit vectors corresponding to the term are identified. Each bit vector comprises an array of bits in which at least one bit in each bit vector indicates that a corresponding document includes the term. Each bit vector also includes other bits indicating other documents include other terms. A determination is made that an unacceptable number of possible matching documents is likely to be returned. In response to the determination, a strengthening row bit vector is selected to reduce the number of possible matching documents. The identified bit vectors and the selected strengthening row are intersected to identify matching documents that contain the term.
    Type: Application
    Filed: June 15, 2022
    Publication date: February 9, 2023
    Inventors: MICHAEL JOSEPH HOPCROFT, ROBERT LOVEJOY GOODWIN, FAN WANG, DENIS V. DEYNEKO, UTKARSH JAIN
  • Patent number: 11392568
    Abstract: The technology described herein provides for identifying matching documents for a search query using a bit vector search index. When a search query is received, a term is identified from the search index, and a number of bit vectors corresponding to the term are identified. Each bit vector comprises an array of bits in which at least one bit in each bit vector indicates that a corresponding document includes the term. Each bit vector also includes other bits indicating other documents include other terms. A determination is made that an unacceptable number of possible matching documents is likely to be returned. In response to the determination, a strengthening row bit vector is selected to reduce the number of possible matching documents. The identified bit vectors and the selected strengthening row are intersected to identify matching documents that contain the term.
    Type: Grant
    Filed: June 17, 2016
    Date of Patent: July 19, 2022
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Michael Joseph Hopcroft, Robert Lovejoy Goodwin, Fan Wang, Denis V. Deyneko, Utkarsh Jain
  • Patent number: 11281639
    Abstract: The technology described herein provides for a match fix-up stage that removes matching documents identified for a search query that don't actually contain terms from the search query. A representation of each document (e.g., a forward index storing a list of terms for each document) is used to identify valid matching documents (i.e., documents containing terms from the search query) and invalid matching documents (i.e., documents that don't contain terms from the search query). Any invalid matching documents are removed from further processing and ranking for the search query.
    Type: Grant
    Filed: June 17, 2016
    Date of Patent: March 22, 2022
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Michael Joseph Hopcroft, Robert Lovejoy Goodwin, Fan Wang, Utkarsh Jain
  • Patent number: 11030201
    Abstract: The technology described herein provides for preliminary ranking of matching documents for a search query. A preliminary ranker uses score tables for scoring each matching document based on its relevant to a search query. The score table for a document stores pre-computed data used to derive a frequency of terms and other information in the document. The preliminary ranker uses the score table for each matching document and the terms from the search query to determine a score for each matching document. The lowest scoring documents are removed from further consideration by a final ranker.
    Type: Grant
    Filed: February 7, 2019
    Date of Patent: June 8, 2021
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Michael Joseph Hopcroft, Robert Lovejoy Goodwin, Andrija Antonijevic
  • Patent number: 10733164
    Abstract: The technology described herein provides for indexing information in a bit vector search index. 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. The bit vector search index is stored by first indexing information about documents using bit vectors on a first accumulation buffer storage device. When a threshold is satisfied, the information is transferred to bit vectors on a subsequent storage device.
    Type: Grant
    Filed: June 17, 2016
    Date of Patent: August 4, 2020
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Michael Joseph Hopcroft, Robert Lovejoy Goodwin, Fan Wang, Andrija Antonijevic, Denis V. Deyneko, Utkarsh Jain
  • Patent number: 10565198
    Abstract: The technology described herein provides a bit vector search index for a search system that uses shards. 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. The search index is provided in a number of shards. Each shard corresponds to a subset of documents having documents lengths within particular a range of document lengths.
    Type: Grant
    Filed: June 17, 2016
    Date of Patent: February 18, 2020
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Michael Joseph Hopcroft, Robert Lovejoy Goodwin
  • Patent number: 10467215
    Abstract: The technology described herein provides for identifying matching documents for a search query using a bit vector search index. When a search query is received, a term is identified from the search index, and a number of bit vectors corresponding to the term are identified. Each bit vector comprises an array of bits in which at least one bit in each bit vector indicates that a corresponding document includes the term. Each bit vector also includes other bits indicating other documents include other terms. The identified bit vectors are intersected to identify matching documents that contain the term.
    Type: Grant
    Filed: June 17, 2016
    Date of Patent: November 5, 2019
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Michael Joseph Hopcroft, Robert Lovejoy Goodwin
  • Publication number: 20190205305
    Abstract: The technology described herein provides for preliminary ranking of matching documents for a search query. A preliminary ranker uses score tables for scoring each matching document based on its relevant to a search query. The score table for a document stores pre-computed data used to derive a frequency of terms and other information in the document. The preliminary ranker uses the score table for each matching document and the terms from the search query to determine a score for each matching document. The lowest scoring documents are removed from further consideration by a final ranker.
    Type: Application
    Filed: February 7, 2019
    Publication date: July 4, 2019
    Inventors: Michael Joseph HOPCROFT, Robert Lovejoy GOODWIN, Andrija ANTONIJEVIC
  • Patent number: 10242071
    Abstract: The technology described herein provides for preliminary ranking of matching documents for a search query. A preliminary ranker uses score tables for scoring each matching document based on its relevant to a search query. The score table for a document stores pre-computed data used to derive a frequency of terms and other information in the document. The preliminary ranker uses the score table for each matching document and the terms form the search query to determine a score for each matching document. The lowest scoring documents are removed from further consideration by a final ranker.
    Type: Grant
    Filed: June 17, 2016
    Date of Patent: March 26, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Michael Joseph Hopcroft, Robert Lovejoy Goodwin, Andrija Antonijevic
  • Patent number: 10229143
    Abstract: The technology described herein provides for storing and retrieving data in a bit vector search index. The bit vector search index stores data about terms from documents using bit vectors. Each bit vector comprises an array of bits and corresponds to a different set of terms. Each bit in the bit vector is used to represent whether a document includes at least one term from the set of terms. A band table is used to store bit vector configurations for bands of terms having similar term characteristics. Each term is indexed in the bit vector search index according to a bit vector configuration for a band to which it belongs. When identifying bit vector storage locations for terms, explicit mappings are used for some terms and ad hoc approaches used for other terms. Explicit mappings provide specific locations for terms, while ad hoc approaches use mapping algorithms assigned to bands.
    Type: Grant
    Filed: June 17, 2016
    Date of Patent: March 12, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Michael Joseph Hopcroft, Robert Lovejoy Goodwin, Denis V. Deyneko
  • Publication number: 20160378796
    Abstract: The technology described herein provides for a match fix-up stage that removes matching documents identified for a search query that don't actually contain terms from the search query. A representation of each document (e.g., a forward index storing a list of terms for each document) is used to identify valid matching documents (i.e., documents containing terms from the search query) and invalid matching documents (i.e., documents that don't contain terms from the search query). Any invalid matching documents are removed from further processing and ranking for the search query.
    Type: Application
    Filed: June 17, 2016
    Publication date: December 29, 2016
    Inventors: MICHAEL JOSEPH HOPCROFT, ROBERT LOVEJOY GOODWIN, FAN WANG, UTKARSH JAIN
  • Publication number: 20160378803
    Abstract: 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: Application
    Filed: June 17, 2016
    Publication date: December 29, 2016
    Inventors: MICHAEL JOSEPH HOPCROFT, ROBERT LOVEJOY GOODWIN, JOHN G. BENNETT
  • Publication number: 20160378805
    Abstract: The technology described herein provides for identifying matching documents for a search query using a bit vector search index. When a search query is received, a term is identified from the search index, and a number of bit vectors corresponding to the term are identified. Each bit vector comprises an array of bits in which at least one bit in each bit vector indicates that a corresponding document includes the term. Each bit vector also includes other bits indicating other documents include other terms. The identified bit vectors are intersected to identify matching documents that contain the term.
    Type: Application
    Filed: June 17, 2016
    Publication date: December 29, 2016
    Inventors: MICHAEL JOSEPH HOPCROFT, ROBERT LOVEJOY GOODWIN
  • Publication number: 20160378807
    Abstract: The technology described herein provides for storing and retrieving data in a bit vector search index. The bit vector search index stores data about terms from documents using bit vectors. Each bit vector comprises an array of bits and corresponds to a different set of terms. Each bit in the bit vector is used to represent whether a document includes at least one term from the set of terms. A band table is used to store bit vector configurations for bands of terms having similar term characteristics. Each term is indexed in the bit vector search index according to a bit vector configuration for a band to which it belongs. When identifying bit vector storage locations for terms, explicit mappings are used for some terms and ad hoc approaches used for other terms. Explicit mappings provide specific locations for terms, while ad hoc approaches use mapping algorithms assigned to bands.
    Type: Application
    Filed: June 17, 2016
    Publication date: December 29, 2016
    Inventors: MICHAEL JOSEPH HOPCROFT, ROBERT LOVEJOY GOODWIN, DENIS V. DEYNEKO
  • Publication number: 20160378804
    Abstract: The technology described herein provides for identifying matching documents for a search query using a bit vector search index. When a search query is received, a term is identified from the search index, and a number of bit vectors corresponding to the term are identified. Each bit vector comprises an array of bits in which at least one bit in each bit vector indicates that a corresponding document includes the term. Each bit vector also includes other bits indicating other documents include other terms. A determination is made regarding which bit vectors for the term to use for the matching process. The selected bit vectors are intersected to identify matching documents that contain the term.
    Type: Application
    Filed: June 17, 2016
    Publication date: December 29, 2016
    Inventors: MICHAEL JOSEPH HOPCROFT, ROBERT LOVEJOY GOODWIN
  • Publication number: 20160378806
    Abstract: The technology described herein provides for identifying matching documents for a search query using a bit vector search index. When a search query is received, a term is identified from the search index, and a number of bit vectors corresponding to the term are identified. Each bit vector comprises an array of bits in which at least one bit in each bit vector indicates that a corresponding document includes the term. Each bit vector also includes other bits indicating other documents include other terms. A determination is made that an unacceptable number of possible matching documents is likely to be returned. In response to the determination, a strengthening row bit vector is selected to reduce the number of possible matching documents. The identified bit vectors and the selected strengthening row are intersected to identify matching documents that contain the term.
    Type: Application
    Filed: June 17, 2016
    Publication date: December 29, 2016
    Inventors: MICHAEL JOSEPH HOPCROFT, ROBERT LOVEJOY GOODWIN, FAN WANG, DENIS V. DEYNEKO, UTKARSH JAIN
  • Publication number: 20160378808
    Abstract: The technology described herein provides for indexing information in a bit vector search index. 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. The bit vector search index is stored by first indexing information about documents using bit vectors on a first accumulation buffer storage device. When a threshold is satisfied, the information is transferred to bit vectors on a subsequent storage device.
    Type: Application
    Filed: June 17, 2016
    Publication date: December 29, 2016
    Inventors: MICHAEL JOSEPH HOPCROFT, ROBERT LOVEJOY GOODWIN, FAN WANG, ANDRIJA ANTONIJEVIC, DENIS V. DEYNEKO, UTKARSH JAIN
  • Publication number: 20160378828
    Abstract: The technology described herein provides a bit vector search index for a search system that uses shards. 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. The search index is provided in a number of shards. Each shard corresponds to a subset of documents having documents lengths within particular a range of document lengths.
    Type: Application
    Filed: June 17, 2016
    Publication date: December 29, 2016
    Inventors: MICHAEL JOSEPH HOPCROFT, ROBERT LOVEJOY GOODWIN
  • Publication number: 20160378769
    Abstract: The technology described herein provides for preliminary ranking of matching documents for a search query. A preliminary ranker uses score tables for scoring each matching document based on its relevant to a search query. The score table for a document stores pre-computed data used to derive a frequency of terms and other information in the document. The preliminary ranker uses the score table for each matching document and the terms form the search query to determine a score for each matching document. The lowest scoring documents are removed from further consideration by a final ranker.
    Type: Application
    Filed: June 17, 2016
    Publication date: December 29, 2016
    Inventors: MICHAEL JOSEPH HOPCROFT, ROBERT LOVEJOY GOODWIN, ANDRIJA ANTONIJEVIC