# US 8,543,595 B2 · Method for improving local descriptors in peer-to-peer file sharing

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

- Number: US 8,543,595 B2
- Document ID: US8543595B2
- Status: Granted
- Kind: B2
- Application number: 12/465,472
- Filed: 2009-05-13
- Published: 2009-10-22
- Granted: 2013-09-24
- Earliest claimed: 2006-11-20
- Assignees: Illinois Institute of Technology
- Applicants: Ophir Frieder; Wai Gen Yee
- Inventors: Ophir Frieder; Wai Gen Yee
- Web page: https://patentgrep.com/patent/US8543595B2

## CPC

- G06F 16/152: {using file content signatures, e.g. hash values}
- G06F 16/1834: {implemented based on peer-to-peer networks, e.g. gnutella (p2p communication protocols H04L67/104)}
- Y10S 707/99933: Query processing, i.e. searching
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- Y10S: TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS

## Abstract

A method for improving searches in a peer-to-peer (P2P) file sharing system that includes a plurality of server computers. A content file, identified by a descriptor including at least one metadata term and a mathematical identifier that uniquely identifies the content file in one of the server computers, is selected for searching. Other server computers are searched to find one or more matching content files; one that has a descriptor with a mathematical identifier matching the mathematical identifier of the first content file. The descriptors of the matching content files are returned to the searching server computer and used to expand the local descriptor.

## Claims

### Claim 1

In a method for searching a peer-to-peer (P2P) file sharing system of a plurality of server computers, wherein a search query is routed to the server computers for comparing query terms to a descriptor of each of a plurality of server content files in one or more of the server computers and returning as search results a descriptor of each of matching server content files, and wherein the descriptor includes at least one metadata term and a key, the improvement comprising:
expanding a first descriptor of a content file of one of the server computers by adding to the first descriptor of the content file a metadata term of a second descriptor of a matching server content file of another of the server computers, wherein the second descriptor includes a key matching the first descriptor.

### Claim 2 (depends on 1)

The method of claim 1, wherein expanding the first descriptor increases the likelihood the first descriptor will match a query looking for the content file.

### Claim 3 (depends on 1)

The method of claim 1, further comprising automatically searching for the matching server content file of another of the server computers.

### Claim 4 (depends on 3)

The method of claim 3, wherein searching for the matching server content file comprises comparing a key of the first content file to a key of each of one or more descriptors of the another of the server computers.

### Claim 5 (depends on 3)

The method of claim 3, further comprising automatically searching for the matching server content file when the one of the server computers, during a predetermined time period, has returned a number of responses to received search queries that is less than a predetermined number.

### Claim 6 (depends on 3)

The method of claim 3, comprising automatically searching for the matching server content file as a function of the number of search queries received by the one of the server computers during a predetermined time period.

### Claim 7 (depends on 3)

The method of claim 3, comprising automatically searching for the matching server content file when a number of files available for sharing reaches a predetermined number.

### Claim 8 (depends on 3)

The method of claim 3, further comprising automatically searching for the matching server content file according to a user established parameter.

### Claim 9 (depends on 1)

The method of claim 1, wherein the first descriptor is a descriptor of the one of the server computers that includes the fewest metadata terms or has matched the fewest received search queries over predetermined time period.

### Claim 10 (depends on 1)

The method of claim 1, wherein the first descriptor has matched the fewest received search queries over a predetermined time period, and further comprising artificially increasing a search query match count after expanding the first descriptor.

### Claim 11 (depends on 1)

Hardware for implementing the method of claim 1.

### Claim 12 (depends on 11)

The hardware of claim 11, comprising an Application Specific Integrated Circuit (ASIC) or a Field Programmable Gate Array (FPGA).

### Claim 13

A method for improving searches in a peer-to-peer (P2P) file sharing system including a plurality of server computers, the method comprising:
one of the server computers automatically selecting a first content file of the one of the server computers, wherein the first content file includes a first descriptor comprising at least one metadata term and a key that uniquely identifies the content file;
the one of the server computers automatically searching at least one other of the server computers to find a second content file having a second descriptor including a key matching the key of the first content file;
one of the at least one other of the server computers returning the second descriptor to the one of the server computers;
the one of the server computers automatically expanding the first descriptor to obtain an expanded first descriptor by adding a second metadata term of the second descriptor that is different from each of the at least one metadata term of the first descriptor; and
the one of the server computers storing the content file with the expanded first descriptor.

### Claim 14 (depends on 13)

The method according to claim 13, wherein searching the at least one other of the server computers comprises:
routing the key of the first content file to the at least one other of the server computers; and
comparing the key of the first content file to a key of each of one or more descriptors of the at least one other of the server computers.

### Claim 15 (depends on 13)

The method of claim 13, further comprising:
returning a plurality of descriptors from the at least one other of the server computers, each including a key matching the key of the first content file; and
selecting from the plurality of descriptors a metadata term that is not in the first descriptor; and
incorporating the metadata term from the plurality of descriptors into the first descriptor.

### Claim 16 (depends on 15)

The method of claim 15, further comprising selecting as the metadata term the metadata term appearing most or least frequently in the plurality of descriptors.

### Claim 17 (depends on 15)

The method of claim 15, further comprising randomly selecting the metadata term.

### Claim 18 (depends on 15)

The method of claim 15, further comprising:
establishing a predetermined metadata term limit for the first descriptor;
selecting from the plurality of descriptors more than one metadata term that is not in the first descriptor; and
incorporating the more than one metadata term from the plurality of descriptors into the first descriptor, wherein the predetermined metadata term limit is not exceeded.

### Claim 19 (depends on 15)

The method of claim 15, wherein each of the at least one of the other of the server computers that has a matching content file with a key matching the key of the first content file returns a matching content file descriptor according to a given probability.

### Claim 20 (depends on 13)

The method of claim 13, further comprising automatically selecting and searching the first content file when the one of the server computers, during a predetermined time period, has returned a number of responses to received search queries that is less than a predetermined number.

### Claim 21 (depends on 13)

The method of claim 13, further comprising automatically selecting and searching the first content file as a function of the number of search queries received by the one of the server computers during a predetermined time period.

### Claim 22 (depends on 13)

The method of claim 13, further comprising automatically selecting and searching the first content file when a number of files on the one of the server computers available for sharing reaches a predetermined number.

### Claim 23 (depends on 13)

The method of claim 13, further comprising selecting as the first content file a server content file having a descriptor that includes the fewest metadata terms or has matched the fewest received search queries over a predetermined time period.

### Claim 24 (depends on 13)

The method of claim 13, further comprising:
selecting as the first content file a server content file having a descriptor that has matched the fewest received search queries over a predetermined time period; and
artificially increasing a search query match count for the first content file after expanding the first descriptor.

### Claim 25

A method for improving searches in a peer-to-peer (P2P) file sharing system including a plurality of server computers, the method comprising:
a first server computer automatically selecting a first content file of the first server computer, wherein the first content file includes a first descriptor comprising at least one metadata term and a key that uniquely identifies the content file;
the first server computer automatically routing the key to a second server computer to search for a second content file having a second key matching the key of the first content file;
the second server computer returning a second descriptor of the second content file to the first server computer, the second descriptor including a second descriptor metadata term that is different from each of the at least one metadata term of the first descriptor;
the first server computer automatically adding the second descriptor metadata term to the first descriptor to obtain an expanded first descriptor; and
the first server computer storing the first content file with the expanded first descriptor.

### Claim 26 (depends on 25)

The method of claim 25, wherein the expanded first descriptor identifies the first content file for future querying of the first server computer by a third server computer.
