IP Library Granted Patent US 9,116,991
Granted Patent B2
US 9,116,991 · App. 13/211,191 · Granted Aug 25, 2015

Searching encrypted electronic books

Inventors: Gopal Venu Vemula (San Jose, CA); Paul M. Franceus (San Francisco, CA)
Assignee: Google Inc.
G06F17/30864
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,116,991
App. No.
13/211,191
Granted
Aug 25, 2015
Kind
B2
Abstract

An e-book server creates index information for encrypted e-book content. The index information is used by a reader module to efficiently search the encrypted content. To create the index information, the e-book server identifies logical partitions of an e-book that include phrases, and creates encrypted segments including a portion of the e-book content that is not necessarily aligned with the logical partitions of the e-book. The e-book server then stores index information including a mapping between the encrypted segments and the phrases located in the logical partitions.

Claims (64)

1. A computer-implemented method of creating index information for an e-book having content, the method comprising:

identifying logical partitions of the e-book content, the content comprising a plurality of phrases located within one or more of the logical partitions;

creating a plurality of encrypted segments for the e-book, each segment comprising a subset of the e-book content;

storing index information including a mapping between the phrases located within the one or more logical partitions and the plurality of encrypted segments, the mapping indicating, for a phrase, one or more encrypted segments that include the phrase; and

providing the encrypted segments for the e-book and the index information to an eReader device, wherein the eReader device is adapted to receive a search query for a search phrase from a user of the eReader device, use the index information to identify one or more encrypted segments that include the search phrase, and, responsive to receiving the search query, decrypt only the one or more encrypted segments that include the search phrase.

2. The computer-implemented method of claim 1 , further comprising:

determining a mapping between the plurality of encrypted segments and the logical partitions of the e-book indicating the logical partitions of the e-book within each encrypted segment; and

storing index information including the determined mapping between the plurality of encrypted segments and the logical partitions of the e-book.

3. The computer-implemented method of claim 2 , further comprising:

determining a hierarchy amongst the logical partitions; and

storing index information including the determined hierarchy;

wherein the eReader device is further adapted to identify one or more logical partitions corresponding to the identified one or more encrypted segments, identify a hierarchy amongst the identified one or more logical partitions and, responsive to receiving the search query, display the identified hierarchy.

4. The computer-implemented method of claim 1 , wherein identifying logical partitions of the e-book further comprises:

analyzing the content of the e-book to determine textual characteristics indicating boundaries; and

using the boundaries indicated by the textual characteristics as boundaries of the logical partitions.

5. The computer-implemented method of claim 1 , wherein creating a plurality of encrypted segments for the e-book further comprises:

establishing boundaries for a segment, the boundaries not necessarily aligned with the boundaries of a logical partition;

determining e-book content within the boundaries for the segment;

encrypting the determined e-book content; and

storing the encrypted e-book content in the segment.

6. The computer-implemented method of claim 1 , wherein the mapping indicates which of the one or more encrypted segments include the phrase.

7. The computer-implemented method of claim 1 , wherein each segment comprises a subset of text of the e-book, and the index information includes a mapping between the phrases located within the one or more logical partitions and the plurality of encrypted segments that comprise text of the e-book including the phrases.

8. A non-transitory computer-readable storage medium storing executable computer program instructions for creating index information for an e-book having content, the computer program instructions comprising instructions for:

identifying logical partitions of the e-book content, the content comprising a plurality of phrases located within one or more of the logical partitions;

creating a plurality of encrypted segments for the e-book, each segment comprising a subset of the e-book content;

storing index information including a mapping between the phrases located within the one or more logical partitions and the plurality of encrypted segments, the mapping indicating, for a phrase, one or more encrypted segments that include the phrase; and

providing the encrypted segments for the e-book and the index information to an eReader device, wherein the eReader device is adapted to receive a search query for a search phrase from a user of the eReader device, use the index information to identify one or more encrypted segments that include the search phrase, and, responsive to receiving the search query, decrypt only the one or more encrypted segments that include the search phrase.

9. The computer-readable storage medium of claim 8 , further comprising instructions for:

determining a mapping between the plurality of encrypted segments and the logical partitions of the e-book indicating the logical partitions of the e-book within each encrypted segment; and

storing index information including the determined mapping between the plurality of encrypted segments and the logical partitions of the e-book.

10. The computer-readable storage medium of claim 9 , further comprising instructions for:

determining a hierarchy amongst the logical partitions; and

storing index information including the determined hierarchy;

wherein the eReader device is further adapted to identify one or more logical partitions corresponding to the identified one or more encrypted segments, identify a hierarchy amongst the identified one or more logical partitions and, responsive to receiving the search query, display the identified hierarchy.

11. The computer-readable storage medium of claim 8 , wherein the instructions for identifying logical partitions of the e-book further comprise instructions for:

analyzing the content of the e-book to determine textual characteristics indicating boundaries; and

using the boundaries indicated by the textual characteristics as boundaries of the logical partitions.

12. The computer-readable storage medium of claim 8 , wherein the instructions for creating a plurality of encrypted segments for the e-book further comprise instructions for:

establishing boundaries for a segment, the boundaries not necessarily aligned with the boundaries of a logical partition;

determining e-book content within the boundaries for the segment;

encrypting the determined e-book content; and

storing the encrypted e-book content in the segment.

13. A computer system for creating index information for an e-book having content, the computer system comprising:

a non-transitory computer-readable storage medium storing executable computer program instructions, the computer program instructions comprising instructions for:

identifying logical partitions of the e-book content, the content comprising a plurality of phrases located within one or more of the logical partitions;

creating a plurality of encrypted segments for the e-book, each segment comprising a subset of the e-book content;

storing index information including a mapping between the phrases located within the one or more logical partitions and the plurality of encrypted segments, the mapping indicating, for a phrase, one or more encrypted segments that include the phrase; and

providing the encrypted segments for the e-book and the index information to an eReader device, wherein the eReader device is adapted to receive a search query for a search phrase from a user of the eReader device, use the index information to identify one or more encrypted segments that include the search phrase, and, responsive to receiving the search query, decrypt only the one or more encrypted segments that include the search phrase; and

a processor for executing the computer program instructions.

14. The computer system of claim 13 , further comprising instructions for:

determining a mapping between the plurality of encrypted segments and the logical partitions of the e-book indicating the logical partitions of the e-book within each encrypted segment; and

storing index information including the determined mapping between the plurality of encrypted segments and the logical partitions of the e-book.

15. The computer system of claim 14 , further comprising instructions for:

determining a hierarchy amongst the logical partitions;

storing index information including the determined hierarchy;

wherein the eReader device is further adapted to identify one or more logical partitions corresponding to the identified one or more encrypted segments, identify a hierarchy amongst the identified one or more logical partitions and, responsive to receiving the search query, display the identified hierarchy.

16. The computer system of claim 13 , wherein the instructions for identifying logical partitions of the e-book further comprise instructions for:

analyzing the content of the e-book to determine textual characteristics indicating boundaries; and

using the boundaries indicated by the textual characteristics as boundaries of the logical partitions.

17. The computer system of claim 13 , wherein the instructions for creating a plurality of encrypted segments for the e-book further comprise instructions for:

establishing boundaries for a segment, the boundaries not necessarily aligned with the boundaries of a logical partition;

determining e-book content within the boundaries for the segment;

encrypting the determined e-book content; and

storing the encrypted e-book content in the segment.

Assignments (2)
CHANGE OF NAME Recorded Oct 2, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044334/0466 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 16, 2011
From: VEMULA, GOPAL VENU; FRANCEUS, PAUL M.
To: GOOGLE INC.
Reel/Frame 026760/0607 →
Continuity (1)
Related Publication 20130046765A1 · Feb 21, 2013