IP Library Granted Patent US 9,141,404
Granted Patent B2
US 9,141,404 · App. 13/280,197 · Granted Sep 22, 2015

Extensible framework for ereader tools

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,141,404
App. No.
13/280,197
Granted
Sep 22, 2015
Kind
B2
Abstract

The functionality of an ereader module that is displaying an electronic book (“ebook”) is extended. A user identifier specifying a user using a client device executing the ereader module and an ebook identifier specifying the ebook displayed by the ereader module are received from the client device. One or more layers associated with the user are determined. One or more layers associated with the ebook are determined. A list of one or more layers is assembled. The layer list is transmitted to the client device. The client device enables the user to select a layer and use the selected layer to interact with content of the ebook.

Claims (43)

1. A computer-implemented method of extending functionality of an ereader module that is displaying an electronic book (“ebook”), the method comprising:

receiving, from a client device executing the ereader module, a user identifier specifying a user using the client device and an ebook identifier specifying the ebook displayed by the ereader module;

determining one or more layers associated with the user responsive to stored user layer data indicating layers that are available to the user, the layers associated with the user configured to interact with ebook content when the layers associated with the user are executed at the client device, the interaction providing additional ereader functionality responsive to identified ebook content;

determining one or more layers associated with the ebook displayed by the ereader module responsive to stored book layer data indicating layers that are available for the ebook, the layers associated with the ebook configured to interact with ebook content when the layers associated with the ebook are executed at the client device, the interaction providing additional ereader functionality responsive to identified ebook content;

assembling a list of one or more layers, the layer list based on at least one of the layers associated with the user and the layers associated with the ebook; and

transmitting the layer list to the client device to enable the user to select a layer and execute the selected layer to extend the functionality of the ereader module.

2. The computer-implemented method of claim 1 , wherein a layer associated with the user comprises a layer that the user has previously requested to use.

3. The computer-implemented method of claim 1 , wherein a layer associated with the ebook comprises a layer on a blacklist associated with the ebook, wherein the blacklist specifies layers that are not allowed to be used with the ebook.

4. The computer-implemented method of claim 1 , wherein a layer associated with the ebook comprises a layer on a whitelist associated with the ebook, wherein the whitelist specifies layers that are allowed to be used with the ebook.

5. The computer-implemented method of claim 1 , wherein a layer associated with the ebook comprises a layer on an add-list associated with the ebook, wherein the add-list specifies layers that are recommended to be used with the ebook.

6. The computer-implemented method of claim 1 , wherein the layer list includes layer metadata that specifies a type of ebook content that can be interacted with using a layer.

7. The computer-implemented method of claim 1 , wherein the layer list includes layer metadata that specifies a display mode supported by a layer.

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

receiving, from the client device, a page range specifying a range of pages within the ebook displayed by the ereader module; and

transmitting, to the client device, layer data associated with the user, the ebook, the page range, and layers on the layer list, wherein layer data comprises an annotation that was created by a layer;

wherein the client device further enables the user to use the selected layer to view the annotation.

9. The computer-implemented method of claim 1 , further comprising determining one or more layers that are enabled.

10. The computer-implemented method of claim 1 , wherein the user has selected content within the ebook, and further comprising determining a type of the selected content.

11. The computer-implemented method of claim 1 , further comprising transmitting to the client device a layer module that is executed by the client device responsive to the user selecting content within the ebook and indicating a layer to use to interact with the selected content.

12. The computer-implemented method of claim 11 , wherein the layer module uses an application programming interface (API) provided by the client device.

13. A non-transitory computer-readable storage medium storing executable computer program instructions for extending functionality of an ereader module that is displaying an electronic book (“ebook”), the instructions performing steps comprising:

receiving, from a client device executing the ereader module, a user identifier specifying a user using the client device and an ebook identifier specifying the ebook displayed by the ereader module;

determining one or more layers associated with the user responsive to stored user layer data indicating layers that are available to the user, the layers associated with the user configured to interact with ebook content when the layers associated with the user are executed at the client device, the interaction providing additional ereader functionality responsive to identified ebook content;

determining one or more layers associated with the ebook displayed by the ereader module responsive to stored book layer data indicating layers that are available for the ebook, the layers associated with the ebook configured to interact with ebook content when the layers associated with the ebook are executed at the client device, the interaction providing additional ereader functionality responsive to identified ebook content;

assembling a list of one or more layers, the layer list based on at least one of the layers associated with the user and the layers associated with the ebook; and

transmitting the layer list to the client device to enable the user to select a layer and execute the selected layer to extend the functionality of the ereader module.

14. The computer-readable storage medium of claim 13 , wherein a layer associated with the user comprises a layer that the user has previously requested to use.

15. The computer-readable storage medium of claim 13 , wherein a layer associated with the ebook comprises a layer on a blacklist associated with the ebook, wherein the blacklist specifies layers that are not allowed to be used with the ebook.

16. The computer-readable storage medium of claim 13 , wherein a layer associated with the ebook comprises a layer on a whitelist associated with the ebook, wherein the whitelist specifies layers that are allowed to be used with the ebook.

17. The computer-readable storage medium of claim 13 , wherein the layer list includes layer metadata that specifies a type of ebook content that can be interacted with using a layer.

18. The computer-readable storage medium of claim 13 , wherein the steps further comprise:

receiving, from the client device, a page range specifying a range of pages within the ebook displayed by the ereader module; and

transmitting, to the client device, layer data associated with the user, the ebook, the page range, and layers on the layer list, wherein layer data comprises an annotation that was created by a layer;

wherein the client device further enables the user to use the selected layer to view the annotation.

19. The computer-readable storage medium of claim 13 , wherein the steps further comprise determining one or more layers that are enabled.

20. A computer system for extending functionality of an ereader module that is displaying an electronic book (“ebook”), the computer system comprising:

at least one non-transitory computer-readable storage medium storing executable computer program instructions comprising instructions for:

receiving, from a client device executing the ereader module, a user identifier specifying a user using the client device and an ebook identifier specifying the ebook displayed by the ereader module;

determining one or more layers associated with the user responsive to stored user layer data indicating layers that are available to the user, the layers associated with the user configured to interact with ebook content when the layers associated with the user are executed at the client device, the interaction providing additional ereader functionality responsive to identified ebook content;

determining one or more layers associated with the ebook displayed by the ereader module responsive to stored book layer data indicating layers that are available for the ebook, the layers associated with the ebook configured to interact with ebook content when the layers associated with the ebook are executed at the client device, the interaction providing additional ereader functionality responsive to identified ebook content;

assembling a list of one or more layers, the layer list based on at least one of the layers associated with the user and the layers associated with the ebook; and

transmitting the layer list to the client device to enable the user to select a layer and execute the selected layer to extend the functionality of the ereader module; and

a processor for executing the computer program instructions.

Assignments (1)
CHANGE OF NAME Recorded Oct 2, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044334/0466 →