# US 2018/0322207 A1 · Index storage across heterogenous storage devices

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

- Number: US 2018/0322207 A1
- Document ID: US20180322207A1
- Status: Published application
- Kind: A1
- Application number: 15/693,187
- Filed: 2017-08-31
- Published: 2018-11-08
- Earliest claimed: 2017-05-05
- Assignees: Microsoft Technology Licensing, LLC
- Applicants: Microsoft Technology Licensing, LLC
- Inventors: Olaf René BIRKELAND; Geir Inge KRISTENGÅRD; Lars Greger Nordland HAGEN
- Web page: https://patentgrep.com/patent/US20180322207A1

## CPC

- G06F 16/24578: {using ranking}
- G06F 16/22: Indexing; Data structures therefor; Storage structures
- G06F 16/24: Querying
- G06F 16/24575: {using context}
- G06F 16/248: Presentation of query results
- G06F 16/9535: Search customisation based on user profiles and personalisation
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Indices or data structures used by an enterprise search system are stored across heterogenous storage devices. One or more characteristics associated with a data structure and one or more characteristics associated with a search query operator supported by the data structure are considered when determining which storage device should store each data structure.

## Claims

### Claim 1

A system, comprising:
a low performance storage device storing a first data structure, the first data structure stored in the lower performance storage device based on a first characteristic associated with the first data structure and a second characteristic associated with a first search query operator supported by the first data structure; and
a higher performance storage device storing a second data structure, the second data structure stored in the high performance storage device based on a third characteristic associated with the second data structure and a fourth characteristic associated with a second search query operator supported by the second data structure.

### Claim 2 (depends on 1)

The system of claim 1, further comprising:
a processing unit; and
a memory storing computer readable instructions which, when executed by the processing unit performs a method, comprising:
receiving a search query; and
performing a search operation based on the search query, wherein at least one of the first data structure or the second data structure is accessed during the search operation.

### Claim 3 (depends on 1)

The system of claim 1, wherein:
the second characteristic associated with the first search query operator comprises a first occurrence frequency of the first search query operator; and
the fourth characteristic associated with the second search query operator comprises a second occurrence frequency of the second search query operator.

### Claim 4 (depends on 3)

The system of claim 3, wherein:
the first characteristic associated with the first data structure comprises a first access pattern of the first data structure; and
the third characteristic associated with the second data structure comprises a second access pattern of the second data structure.

### Claim 5 (depends on 4)

The system of claim 4, wherein the first access pattern is based on:
a number of read operations to be performed in response to a receipt of a first search query comprising the first search query operator; and
when the number of read operations is greater than one, whether the read operations are sequential or random read operations.

### Claim 6 (depends on 4)

The system of claim 4, wherein the second access pattern is based on:
a number of read operations to be performed in response to a receipt of a second search query comprising the second search query operator; and
when the number of read operations is greater than one, whether the read operations are sequential or random read operations.

### Claim 7 (depends on 4)

The system of claim 4, wherein the first characteristic associated with the first data structure comprises a first complexity of the first data structure.

### Claim 8 (depends on 4)

The system of claim 4, wherein the third characteristic associated with the second data structure comprises a second complexity of the second data structure.

### Claim 9 (depends on 1)

The system of claim 1, wherein the high performance storage device comprises a solid state storage device and the low performance storage device comprises a hard disk storage device.

### Claim 10

A method comprising:
receiving a search query;
based on the search query, accessing at least one of:
a first data structure stored in a low performance storage device, wherein the first data structure is stored in the low performance storage device based on a first characteristic associated with the first data structure and a second characteristic associated with a first search query operator supported by the first data structure; or
a second data structure stored in a high performance storage device, wherein the second data structure is stored in the high performance storage device based on a third characteristic associated with the second data structure and a fourth characteristic associated with a second search query operator supported by the second data structure.

### Claim 11 (depends on 10)

The method of claim 10, wherein:
the second characteristic associated with the first search query operator comprises a first occurrence frequency of the first search query operator; and
the fourth characteristic associated with the second search query operator comprises a second occurrence frequency of the second search query operator.

### Claim 12 (depends on 10)

The method of claim 10, wherein:
the first characteristic associated with the first data structure comprises a first access pattern of the first data structure; and
the third characteristic associated with the second data structure comprises a second access pattern of the second data structure.

### Claim 13 (depends on 12)

The method of claim 12, wherein the first access pattern is based on:
a number of read operations to be performed in response to a receipt of a first search query comprising the first search query operator; and
when the number of read operations is greater than one, whether the read operations are sequential or random read operations.

### Claim 14 (depends on 12)

The method of claim 12, wherein the second access pattern is based on:
a number of read operations to be performed in response to a receipt of a second search query comprising the second search query operator; and
when the number of read operations is greater than one, whether the read operations are sequential or random read operations.

### Claim 15 (depends on 10)

The method of claim 10, further comprising:
retrieving multiple summaries of content based on a result of the search query; and
ranking the multiple summaries in order of relevance.

### Claim 16 (depends on 15)

The method of claim 15, further comprising:
providing a subset of the ranked multiple summaries; and
causing the subset to be displayed.
receiving a selection of a summary in the subset; and
retrieving a content associated with the selected summary.

### Claim 17

A method, comprising:
determining if a data structure will be accessed by a search query operator that has an occurrence frequency that exceeds a threshold frequency;
when the occurrence frequency exceeds the threshold frequency, storing the data structure on a high performance storage device;
when the occurrence frequency is less than the threshold frequency, determining if multiple read operations are needed to respond to a search query comprising the search query operator; and
when multiple read operations are not needed to respond to the search query, storing the data structure on the low performance storage device.

### Claim 18 (depends on 17)

The method of claim 17, further comprising:
determining if the data structure stores limited use data; and
when the data structure stores limited use data, storing the data structure on the low performance storage device.

### Claim 19 (depends on 17)

The method of claim 17, further comprising:
when multiple read operations are needed to respond to the search query, storing the data structure on the high performance storage device.

### Claim 20 (depends on 17)

The method of claim 17, further comprising:
when multiple read operations are needed to respond to the search query, determining if the multiple read operations comprise sequential read operations;
when the multiple read operations comprise sequential read operations, storing the data structure on the low performance storage device; and
when the multiple read operations comprise random read operations, storing the data structure on the high performance storage device.
