Patents by Inventor ROBERT LOVEJOY GOODWIN

ROBERT LOVEJOY GOODWIN 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: 20200151156
    Abstract: Technologies are described herein for denormalizing data instances. Schemas for data instances are embedded with annotations indicating how the denormalization is to be performed. Based on the annotations, one or more sub per object indexes (“sub POIs”) can be generated for each data instance and stored. The sub POIs can include a target sub POI containing data from the data instance, and at least one source sub POI containing data from another data instance, if the data instance depends on the other data instance. Data instance updates can be performed by identifying sub POIs that are related to the updated data instance in storage, and updating the related sub POIs according to the update to the data instance. The sub POIs can be sent to an indexing engine to generate an index for a search engine to facilitate searches on the data instances.
    Type: Application
    Filed: January 10, 2020
    Publication date: May 14, 2020
    Inventors: Christopher Clayton McConnell, Weipeng Liu, Shahin Shayandeh, Robert Lovejoy Goodwin
  • 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: 10540332
    Abstract: Technologies are described herein for denormalizing data instances. Schemas for data instances are embedded with annotations indicating how the denormalization is to be performed. Based on the annotations, one or more sub per object indexes (“sub POIs”) can be generated for each data instance and stored. The sub POIs can include a target sub POI containing data from the data instance, and at least one source sub POI containing data from another data instance, if the data instance depends on the other data instance. Data instance updates can be performed by identifying sub POIs that are related to the updated data instance in storage, and updating the related sub POIs according to the update to the data instance. The sub POIs can be sent to an indexing engine to generate an index for a search engine to facilitate searches on the data instances.
    Type: Grant
    Filed: August 3, 2016
    Date of Patent: January 21, 2020
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Christopher Clayton McConnell, Weipeng Liu, Shahin Shayandeh, 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: 20180307664
    Abstract: A digital work may be annotated using an eBook reader device. Upon receiving an annotation relating to a specific portion of the digital work, an invariant location reference identifier corresponding to the specified portion of the digital work may be appended to the annotation. The annotation may then be stored in association with the digital work for later reference. In some instances, an annotation may be presented on an eBook reader device upon receipt of a valid authorization credential granting access to the annotation.
    Type: Application
    Filed: February 22, 2016
    Publication date: October 25, 2018
    Inventors: Hilliard Bruce Siegel, John Lattyak, Thomas Aquinas Ryan, Robert Lovejoy Goodwin
  • Publication number: 20180058244
    Abstract: System for electrical energy generation from steam comprising at least one stage, each stage including: a steam-driven rotating toroidal ring; a housing comprising a toroidal cavity for containing the rotating toroidal ring, the housing further comprising at least one steam inlet, the housing further comprising a plurality of steam outlets for removing pressurized steam from the channels for at least a second portion of rotation of the rotating toroidal ring within the toroidal cavity; at least one bearing arrangement comprised by or attached to the housing within the toroidal cavity; and at least one pair of electrical coils, each electrical coil located on the outer surface of the housing at locations diagonally opposite from the other coil of each pair across the axis of the minor radius of the toroidal cavity and within the specific region where a time-varying magnetic field will occur as the rotating toroidal ring rotates.
    Type: Application
    Filed: February 9, 2017
    Publication date: March 1, 2018
    Inventor: Robert Lovejoy Goodwin
  • Publication number: 20180039656
    Abstract: Technologies are described herein for denormalizing data instances. Schemas for data instances are embedded with annotations indicating how the denormalization is to be performed. Based on the annotations, one or more sub per object indexes (“sub POIs”) can be generated for each data instance and stored. The sub POIs can include a target sub POI containing data from the data instance, and at least one source sub POI containing data from another data instance, if the data instance depends on the other data instance. Data instance updates can be performed by identifying sub POIs that are related to the updated data instance in storage, and updating the related sub POIs according to the update to the data instance. The sub POIs can be sent to an indexing engine to generate an index for a search engine to facilitate searches on the data instances.
    Type: Application
    Filed: August 3, 2016
    Publication date: February 8, 2018
    Inventors: Christopher Clayton McConnell, Weipeng Liu, Shahin Shayandeh, 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
  • 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: 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: 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: 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: 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: 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: 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