# US 7,610,382 B1 · System and method for marking content

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

- Number: US 7,610,382 B1
- Document ID: US7610382B1
- Status: Granted
- Kind: B1
- Application number: 11/479,825
- Filed: 2006-06-30
- Granted: 2009-10-27
- Earliest claimed: 2006-06-30
- Assignees: Amazon Technologies, Inc.
- Inventors: Hilliard Bruce Siegel
- Web page: https://patentgrep.com/patent/US7610382B1

## CPC

- G06F 40/151: Transformation
- G06F 21/16: Program or content traceability, e.g. by watermarking
- G06F 40/247: Thesauruses; Synonyms
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Method and apparatus for programmatically substituting synonyms into distributed text content. A synonym substitution mechanism may programmatically replace selected words in textual data with synonyms for the selected words. The modification to an excerpt performed by the synonym substitution mechanism may not significantly alter the meaning of the excerpt to a human reader. By replacing one or more selected words in an excerpt with synonyms for the words, illicit copies of the excerpt may be recognized by comparing a copy of the excerpt to the original. Particular permutations of synonym substitutions may be provided in excerpts to particular requestors. The particular permutations may be recorded and used to determine a requestor as the source of a copy of the excerpt. Synonym substitution may make programmatic excerpt chaining difficult by substituting different synonyms for the same word(s) in an overlapping portion of two adjacent excerpts.

## Claims

### Claim 1

A system, comprising:
a processor; and
a memory comprising program instructions, wherein the program instructions are executable by the processor to:
receive a request for particular content;
extract a copy of the requested particular content from a content collection, wherein the particular content includes textual data;
substitute a synonym for each of one or more selected words in the textual data of the copy, wherein to substitute a synonym for each of one or more selected words, the program instructions are further executable by the processor to:
access a synonym database comprising a plurality of key words, wherein each key word is associated with one or more synonyms in the synonym database; and
select a particular synonym to substitute for a particular selected word in the textual data of the copy from one or more synonyms associated with a key word in the database that matches the particular selected word in the textual data of the copy; and
return the copy with the substituted synonyms in response to the request.

### Claim 2 (depends on 1)

The system as recited in claim 1, wherein said request is received from a Web service client via a Web service interface.

### Claim 3 (depends on 1)

The system as recited in claim 1, wherein the textual data of the requested particular content comprises an excerpt from a work stored in the content collection.

### Claim 4 (depends on 3)

The system as recited in claim 3, wherein the program instructions are further executable by the processor to:
receive a second request for a second excerpt from the work stored in the content collection;
extract a second copy including textual data from the content collection, wherein the textual data of the second copy comprises the second excerpt from the work stored in the content collection;
substitute a synonym for each of one or more selected words in the second excerpt in the second copy; and
return the second copy with the substituted synonyms in response to the second request.

### Claim 5

A system, comprising:
a processor; and
a memory comprising program instructions wherein the program instructions are executable by the processor to:
receive a request for particular content;
extract a copy of the requested particular content from a content collection, wherein the particular content includes textual data, and wherein the textual data of the requested particular content comprises an excerpt from a work stored in the content collection;
substitute a synonym for each of one or more selected words in the textual data of the copy;
return the copy with the substituted synonyms in response to the request;
receive a second request for a second excerpt from the work stored in the content collection;
extract a second copy including textual data from the content collection, wherein the textual data of the second copy comprises the second excerpt from the work stored in the content collection, wherein the second excerpt is adjacent to and overlaps the excerpt in the copy returned in response to the request;
substitute one or more different synonyms for one or more selected words in a portion of the second excerpt in the second copy that overlaps the excerpt in the copy returned in response to the request than the synonyms that were substituted for the same one or more selected words in a portion of the excerpt in the copy returned in response to the request that overlaps the second excerpt; and
return the second copy with the substituted synonyms in response to the second request.

### Claim 6 (depends on 5)

The system as recited in claim 5, wherein the program instructions are further executable by the processor to access a synonym database comprising a plurality of key words, wherein each key word is associated with one or more synonyms in the synonym database, and wherein the program instructions are further executable by the processor to select a particular synonym to substitute for a particular selected word in the textual data of the copy from one or more synonyms associated with a key word in the database that matches the particular selected word in the textual data of the copy.

### Claim 7

A system, comprising:
a processor; and
a memory comprising program instructions, wherein the program instructions are executable by the processor to:
receive a request for particular content;
extract a copy of the requested particular content from a content collection, wherein the particular content includes textual data;
substitute a synonym for each of one or more selected words in the textual data of the copy, wherein the synonyms substituted for each of one or more selected words in the textual data of the copy form a particular permutation of possible synonym substitutions in the textual data of the copy that is unique to the copy of the requested particular content; and
return the copy with the substituted synonyms in response to the request.

### Claim 8 (depends on 7)

The system as recited in claim 7, wherein the copy of the requested particular content is returned to a client in accordance with an agreement that allows the client to cache the copy for a period after which the copy is expired.

### Claim 9 (depends on 8)

The system as recited in claim 8, wherein the program instructions are further executable by the processor to detect expired caches of the copy of the requested particular content returned to the client according to the particular permutation of possible synonym substitutions that is unique to the copy of the requested particular content.

### Claim 10 (depends on 7)

The system as recited in claim 7, wherein the program instructions are further executable by the processor to locate unauthorized caches of the copy of the requested particular content according to the particular permutation of possible synonym substitutions that is unique to the copy of the requested particular content.

### Claim 11 (depends on 10)

The system as recited in claim 10, wherein the program instructions are further executable by the processor to associate located unauthorized caches of the copy of the requested particular content with the client according to information uniquely identifying the client to which the copy of the requested particular content was returned.

### Claim 12 (depends on 7)

The system as recited in claim 7, wherein the program instructions are further executable by the processor to store information on the particular permutation of possible synonym substitutions that is unique to the copy of the requested particular content along with information uniquely identifying the client to which the copy of the requested particular content was returned.

### Claim 13 (depends on 12)

The system as recited in claim 12, wherein the program instructions are further executable by the processor to store a timestamp for the copy of the requested particular content along with the stored information on the particular permutation of possible synonym substitutions that is unique to the copy of the requested particular content and the information uniquely identifying the client to which the copy of the requested particular content was returned.

### Claim 14 (depends on 13)

The system as recited in claim 13, wherein the copy of the requested particular content returned to the client is provided to the client in accordance with an agreement that allows the client to cache the copy of the requested particular content for a period after which the copy is expired, and wherein the program instructions are further executable by the processor to detect expired caches of the copy of the requested particular content according to the stored timestamp, information on the particular permutation of possible synonym substitutions that is unique to the copy of the requested particular content, and the information uniquely identifying the client to which the data copy was returned.

### Claim 15

A method, comprising:
performing on a computer:
receiving a request for particular content;
extracting a copy of the requested particular content from a content collection, wherein the particular content includes textual data, wherein the textual data of the requested particular content comprises an excerpt from a work stored in the content collection;
substituting a synonym for each of one or more selected words in the textual data of the copy;
returning the copy with the substituted synonyms in response to the request;
receiving a second request for a second excerpt from the work stored in the content collection;
extracting a second copy including textual data from the content collection, wherein the textual data of the second copy comprises the second excerpt from the work stored in the content collection, wherein the second excerpt is adjacent to and overlaps the excerpt in the copy returned in response to the request;
substituting one or more different synonyms for one or more selected words in a portion of the second excerpt in the second copy that overlaps the excerpt in the copy returned in response to the request than the synonyms that were substituted for the same one or more selected words in a portion of the excerpt in the copy returned in response to the request that overlaps the second excerpt; and
returning the second copy with the substituted synonyms in response to the second request.

### Claim 16 (depends on 15)

The method as recited in claim 15, wherein said substituting a synonym for each of one or more selected words in the textual data of the copy comprises selecting synonyms for the one or more selected words from a synonym database comprising a plurality of key words, wherein each key word is associated with one or more synonyms in the synonym database.

### Claim 17 (depends on 15)

The method as recited in claim 15, wherein said request is received from a Web service client via a Web service interface.

### Claim 18

A method, comprising:
performing on a computer:
receiving a request for particular content;
extracting a copy of the requested particular content from a content collection, wherein the particular content includes textual data;
substituting a synonym for each of one or more selected words in the textual data of the copy, wherein said substituting a synonym for each of one or more selected words in the textual data of the copy comprises selecting synonyms for the one or more selected words from a synonym database comprising a plurality of key words, wherein each key word is associated with one or more synonyms in the synonym database, and wherein said selecting synonyms for the one or more selected words from a synonym database comprises selecting a particular synonym to substitute for a particular selected word in the textual data of the copy from one or more synonyms associated with a key word in the database that matches the particular selected word in the textual data of the copy; and
returning the copy with the substituted synonyms in response to the request.

### Claim 19

A method, comprising:
performing on a computer:
receiving a request for particular content;
extracting a copy of the requested particular content from a content collection, wherein the particular content includes textual data;
substituting a synonym for each of one or more selected words in the textual data of the copy, wherein the synonyms substituted for each of one or more selected words in the textual data of the copy form a particular permutation of possible synonym substitutions in the textual data of the copy that is unique to the copy of the requested particular content; and
returning the copy with the substituted synonyms in response to the request.

### Claim 20 (depends on 19)

The method as recited in claim 19, wherein the textual data of the requested particular content comprises an excerpt from a copyrighted work stored in the content collection.

### Claim 21 (depends on 20)

The method as recited in claim 20, further comprising:
receiving a second request for a second excerpt from the work stored in the content collection;
extracting a second copy including textual data from the content collection, wherein the textual data of the second copy comprises the second excerpt from the work stored in the content collection;
substituting a synonym for each of one or more selected words in the second excerpt in the second copy; and
returning the second copy with the substituted synonyms in response to the second request.

### Claim 22 (depends on 21)

The method as recited in claim 21, wherein the second excerpt is adjacent to and overlaps the excerpt in the copy returned in response to the request, and wherein the method further comprises substituting one or more different synonyms for one or more selected words in a portion of the second excerpt in the second copy that overlaps the excerpt in the copy returned in response to the request than the synonyms that were substituted for the same one or more selected words in a portion of the excerpt in the copy returned in response to the request that overlaps the second excerpt.

### Claim 23 (depends on 19)

The method as recited in claim 19, wherein the copy of the requested particular content is returned to a client in accordance with an agreement that allows the client to cache the copy for a period after which the copy is expired.

### Claim 24 (depends on 23)

The method as recited in claim 23, further comprising detecting expired caches of the copy of the requested particular content returned to the client according to the particular permutation of possible synonym substitutions that is unique to the copy of the requested particular content.

### Claim 25 (depends on 19)

The method as recited in claim 19, further comprising locating unauthorized caches of the copy of the requested particular content according to the particular permutation of possible synonym substitutions that is unique to the copy of the requested particular content.

### Claim 26 (depends on 25)

The method as recited in claim 25, further comprising associating located unauthorized caches of the copy of the requested particular content with the client according to information uniquely identifying the client to which the copy of the requested particular content was returned.

### Claim 27 (depends on 19)

The method as recited in claim 19, further comprising storing information on the particular permutation of possible synonym substitutions that is unique to the copy of the requested particular content along with information uniquely identifying the client to which the copy of the requested particular content was returned.

### Claim 28 (depends on 27)

The method as recited in claim 27, further comprising storing a timestamp for the copy of the requested particular content along with the stored information on the particular permutation of possible synonym substitutions that is unique to the copy of the requested particular content and the information uniquely identifying the client to which the copy of the requested particular content was returned.

### Claim 29 (depends on 28)

The method as recited in claim 28, wherein the copy of the requested particular content returned to the client is provided to the client in accordance with an agreement that allows the client to cache the copy of the requested particular content for a period after which the copy is expired, and wherein the method further comprises detecting expired caches of the copy of the requested particular content according to the stored timestamp, information on the particular permutation of possible synonym substitutions that is unique to the copy of the requested particular content, and the information uniquely identifying the client to which the data copy was returned.

### Claim 30

A computer-accessible storage medium storing program instructions that when executed by a computer perform:
identifying particular content;
extracting a copy of the particular content from a content collection wherein the particular content includes textual data;
substituting a synonym for each of one or more selected words in the textual data of the copy, wherein, in said substituting a synonym for each of one or more selected words in the textual data of the copy, the program instructions are further configured to implement selecting synonyms for the one or more selected words from a synonym database comprising a plurality of key words, wherein each key word is associated with one or more synonyms in the synonym database, and wherein, in said selecting synonyms for the one or more selected words from a synonym database, the program instructions are further configured to implement selecting a particular synonym to substitute for a particular selected word in the textual data of the copy from one or more synonyms associated with a key word in the database that corresponds to the particular selected word in the textual data of the copy; and
providing the copy with the substituted synonyms.

### Claim 31 (depends on 30)

The computer-accessible storage medium as recited in claim 30, wherein the synonyms substituted for each of one or more selected words in the textual data of the copy form a particular permutation of possible synonym substitutions in the textual data of the copy that is unique to the copy of the particular content.

### Claim 32

A computer-accessible storage medium storing program instructions that when executed by a computer perform:
identifying particular content;
extracting a copy of the particular content from a content collection, wherein the particular content includes textual data, wherein the textual data of the particular content comprises an excerpt from a work stored in the content collection;
substituting a synonym for each of one or more selected words in the textual data of the copy;
providing the copy with the substituted synonyms;
identifying a second excerpt from the work stored in the content collection;
extracting a second copy including textual data from the content collection, wherein the textual data of the second copy comprises the second excerpt from the work stored in the content collection, wherein the second excerpt is adjacent to and overlaps the excerpt in the copy of the particular content;
substituting one or more different synonyms for one or more selected words in a portion of the second excerpt in the second copy that overlaps the excerpt in the copy of the particular content than the synonyms that were substituted for the same one or more selected words in a portion of the excerpt in the copy of the particular content that overlaps the second excerpt; and
providing the second copy with the substituted synonyms.

### Claim 33

A computer-accessible storage medium storing program instructions that when executed by a computer perform:
identifying particular content;
extracting a copy of the particular content from a content collection, wherein the particular content includes textual data;
substituting a synonym for each of one or more selected words in the textual data of the copy, wherein the synonyms substituted for each of one or more selected words in the textual data of the copy form a particular permutation of possible synonym substitutions in the textual data of the copy that is unique to the copy of the particular content; and
providing the copy with the substituted synonyms.

### Claim 34 (depends on 33)

The computer-accessible storage medium as recited in claim 33, wherein, in said substituting a synonym for each of one or more selected words in the textual data of the copy, the program instructions are further configured to implement selecting synonyms for the one or more selected words from a synonym database comprising a plurality of key words, wherein each key word is associated with one or more synonyms in the synonym database.

### Claim 35 (depends on 33)

The computer-accessible storage medium as recited in claim 33, wherein the textual data of the particular content comprises an excerpt from a copyrighted work stored in the content collection.

### Claim 36 (depends on 35)

The computer-accessible storage medium as recited in claim 35, wherein the program instructions are further configured to implement:
identifying a second excerpt from the work stored in the content collection;
extracting a second copy including textual data from the content collection, wherein the textual data of the second copy comprises the second excerpt from the work stored in the content collection;
substituting a synonym for each of one or more selected words in the second excerpt in the second copy; and
providing the second copy with the substituted synonyms.

### Claim 37 (depends on 36)

The computer-accessible storage medium as recited in claim 36, wherein the second excerpt is adjacent to and overlaps the excerpt in the copy of the particular content.

### Claim 38 (depends on 33)

The computer-accessible storage medium as recited in claim 33, wherein the copy of the particular content is returned to a client in accordance with an agreement.

### Claim 39 (depends on 38)

The computer-accessible storage medium as recited in claim 38, wherein the agreement allows the client to cache the copy for a period after which the copy is expired.

### Claim 40 (depends on 39)

The computer-accessible storage medium as recited in claim 39, wherein the program instructions are further configured to implement detecting expired caches of the copy of the particular content returned to the client according to the particular permutation of possible synonym substitutions that is unique to the copy of the particular content.

### Claim 41 (depends on 33)

The computer-accessible storage medium as recited in claim 33, wherein the program instructions are further configured to implement locating unauthorized caches of the copy of the particular content according to the particular permutation of possible synonym substitutions that is unique to the copy of the particular content.

### Claim 42 (depends on 41)

The computer-accessible storage medium as recited in claim 41, wherein the program instructions are further configured to implement associating located unauthorized caches of the copy of the particular content with the client according to information uniquely identifying the client to which the copy of the particular content was returned.

### Claim 43 (depends on 33)

The computer-accessible storage medium as recited in claim 33, wherein the program instructions are further configured to implement storing information on the particular permutation of possible synonym substitutions that is unique to the copy of the particular content along with information uniquely identifying a client to which the copy of the particular content was returned.

### Claim 44 (depends on 43)

The computer-accessible storage medium as recited in claim 43, wherein the program instructions are further configured to implement storing a timestamp for the copy of the particular content along with the stored information on the particular permutation of possible synonym substitutions that is unique to copy of the particular content and the information uniquely identifying the client to which the copy of the particular content was returned.

### Claim 45 (depends on 44)

The computer-accessible storage medium as recited in claim 44, wherein the copy of the particular content returned to the client is provided to the client in accordance with an agreement that allows the client to cache the copy of the particular content for a period after which the copy is expired.

### Claim 46 (depends on 45)

The computer-accessible storage medium as recited in claim 45, and wherein the program instructions are further configured to implement detecting expired caches of the copy of the particular content according to the stored timestamp, information on the particular permutation of possible synonym substitutions that is unique to the copy of the particular content, and the information uniquely identifying the client to which the data copy was returned.
