# US 9,436,719 B2 · Updating an inverted index in a real time fashion

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 9,436,719 B2
- Document ID: US9436719B2
- Status: Granted
- Kind: B2
- Application number: 14/268,711
- Filed: 2014-05-02
- Published: 2014-08-21
- Granted: 2016-09-06
- Earliest claimed: 2009-02-10
- Assignees: Microsoft Technology Licensing, LLC
- Applicants: Microsoft Corporation
- Inventors: Abhas Kumar; Pratibha Permandla; Gaurav Sareen; Anna Timasheva; Deepak Shankar
- Web page: https://patentgrep.com/patent/US9436719B2

## CPC

- G06F 16/2272: {Management thereof}
- G06F 16/31: Indexing; Data structures therefor; Storage structures
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Systems and methods for regularly updating portions of a merged index are provided. Initially, upon receiving an indication that modifications have occurred to content of web-based documents, dynamic update of index (DUI) objects that identify the documents and expose the modified content are composed by ascertaining relative positions of the modified content within the documents, and packaging identifiers of the documents, the relative positions, and metadata underlying the modified content into a message. The DUI objects are applied to an overloading index that maintains structured records of recent modifications. In particular, portions of the overloading index are targeted utilizing the document identifiers and the relative positions specified by the DUI object, thereby updating the targeted portions within the overloading index corresponding to the modified content without rewriting the entire overloading index. Periodically, an association process is invoked for grouping the merged index with the overloading index for search purposes.

## Claims

### Claim 1

A method for dynamically targeting and updating portions of an overloading index utilizing a dynamic update of index (DUI) object that exposes modified content of one or more documents, searchable via a merged index, the method comprising:
determining that the DUI object is available;
sending a request to download the DUI object;
receiving the DUI object for use in updating the overloading index, wherein the DUI object includes an identifier of each of the one or more documents in which a modification to the content has occurred, and indicia of a relative position of the modified content within the one or more documents;
translating each identifier of the one or more documents to a respective web page address mapped to the identifier;
utilizing the respective web page address to translate the relative position of the modified content to an absolute location of the modified content;
updating portions of the overloading index based on the modified content and the absolute location of the modified content;
invoking an association process to group the merged index with the overloading index to facilitate searching the updated portions within the overloading index corresponding to the modified content without rewriting the entire overloading index.

### Claim 2 (depends on 1)

The method of claim 1, wherein the modification to the content of the one or more documents involves a curator-initiated change to at least one term within a web page posted online.

### Claim 3 (depends on 2)

The method of claim 2, wherein the DUI object articulates the indicia of relative position of the at least one modified term within the content of the posted web page.

### Claim 4 (depends on 3)

The method of claim 3, wherein the DUI object articulates a representation of the metadata underlying the at least one modified term.

### Claim 5 (depends on 1)

The method of claim 1, the method further comprising initiating an update process that applies the DUI object to the overloading index and invokes updating the portions of the overloading index which are targeted by the DUI object.

### Claim 6 (depends on 1)

The one or more computer-readable storage devices of claim 1, wherein the association process is invoked periodically.

### Claim 7

One or more computer-readable storage devices having computer-executable instructions embodied thereon that, when executed, perform a method for dynamically targeting and updating portions of an overloading index utilizing a dynamic update of index (DUI) object that exposes modified content of one or more documents, searchable via a merged index, the method comprising:
sending a request to download the DUI object;
receiving the DUI object for use in updating the overloading index that maintains a structured record of additions, deletions, and modifications to the one or more documents, wherein the DUI object includes an identifier of the one or more documents in which a modification to the content has occurred, indicia of a relative position of the modified content, and a representation of metadata underlying the modified content;
utilizing the relative position of the modified content, as specified by the DUI object, to target a portion of the overloading index;
overwriting the targeted portion of the overloading index with the metadata underlying the modified content;
modifying the targeted portion of the overloading index, which corresponds to the modified content, without rewriting the entire overloading index;
referencing a mapping schedule that maps a web address of the one or more documents to the identifier of the one or more documents; and
utilizing the mapping schedule to translate the identifier of the one or more documents to the web page address;
utilizing the web page address to translate the relative position of the modified content, as specified by the DUI object, to an absolute location of the modified content within the one or more documents;
at least temporarily, storing the absolute location to the overloading index; and
invoking an association process to group the merged index with the overloading index to facilitate searching updated portions within the overloading index corresponding to the modified content without rewriting the entire overloading index.

### Claim 8 (depends on 7)

The one or more computer-readable storage devices of claim 7, wherein the association process is invoked periodically.

### Claim 9 (depends on 7)

The method of claim 7, wherein the modification to the content of the one or more documents involves a curator-initiated change to at least one term within a web page posted online.

### Claim 10 (depends on 9)

The method of claim 9, wherein the DUI object articulates the indicia of relative position of the at least one modified term within the content of the posted web page.

### Claim 11 (depends on 10)

The method of claim 10, wherein the DUI object articulates a representation of the metadata underlying the at least one modified term.

### Claim 12

A computerized system comprising:
a primary agent configured for dynamically targeting and updating portions of an overloading index utilizing a dynamic update of index (DUI) object that exposes modified content of one or more documents, searchable via a merged index;
one or more processors; and
one or more computer storage devices storing computer-usable instructions that, when used by the one or more processors, cause the one or more processors to perform operations comprising:
receiving an indication that the DUI object is available;
sending a request to download the DUI object;
receiving the DUI object for use by the primary agent in updating the overloading index, wherein the DUI includes an identifier of one of the plurality of documents to which a modification has been made, an indicia of a relative position of the modified content therein, and a representation of the metadata underlying the modification; and
initiating, using the primary agent, an update process that dynamically applies the DUI object to the overloading index, the update process comprising
A) referencing a mapping schedule upon receiving the instructions from the network manager, wherein the mapping schedule maps the identifier of the one or more documents to a web address of the one or more documents,
B) utilizing the mapping schedule to attain an absolute location of the modified content utilizing the web address mapped to the identifier of the one or more documents in conjunction with the relative position, and
C) writing the modified content from the DUI object and the corresponding absolute location to the overloading index.

### Claim 13 (depends on 12)

The computerized system of claim 12, the update process further comprising:
wherein the modified content from the DUI object and the corresponding absolute location are written to the overloading index without rewriting the entire overloading index.

### Claim 14 (depends on 12)

The computerized system of claim 12, wherein the indication that the DUI object is available is received by a manager component.

### Claim 15 (depends on 14)

The computerized system of claim 14, wherein the manager component exposes an indication of the DUI object to the primary agent.

### Claim 16 (depends on 15)

The computerized system of claim 15, wherein the request to download the DUI object is sent by the primary agent.

### Claim 17 (depends on 12)

The method of claim 12, wherein the modification to the content of the one or more documents involves a curator-initiated change to at least one term within a web page posted online.

### Claim 18 (depends on 17)

The method of claim 17, wherein the DUI object articulates the indicia of relative position of the at least one modified term within the content of the posted web page.

### Claim 19 (depends on 18)

The method of claim 18, wherein the DUI object articulates a representation of the metadata underlying the at least one modified term.
