IP Library Granted Patent US 8,972,856
Granted Patent B2
US 8,972,856 · App. 12/239,544 · Granted Mar 3, 2015

Document modification by a client-side application

Inventor: Prashanth Channabasavaiah (Karnataka, IN)
Assignee: Yahoo! Inc.
G06F17/3087G06F17/30867
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 8,972,856
App. No.
12/239,544
Granted
Mar 3, 2015
Kind
B2
Abstract

A method for modifying a document at a client-side application is disclosed. The method involves receiving a user-requested document at a client-side application from a server; querying a database by the client-side application with entities in the user-requested document, where at least one entity is associated with entity information stored in the database; in response to querying the database, receiving the entity information associated with the at least one entity at the client-side application; modifying the user-requested document at the client-side application to obtain a modified document, where modifying the document comprises adding the entity information or a link to the entity information associated with the at least one entity; and displaying the modified document with the client-side application.

Claims (54)

1. A method comprising:

a client-side application executing on a client machine receiving a request from a user for a user-requested document;

in response to the client-side application executing on the client machine receiving the request from the user for the user-requested document, the client-side application executing on the client machine requesting the user-requested document from a server;

the client-side application executing on the client machine receiving the user-requested document from the server;

in response to the client-side application executing on the client machine receiving the user-requested document from the server, instead of displaying the user-requested document at the client machine executing the client-side application:

identifying one or more entities in the user-requested document;

querying a database based on the one or more entities in the user-requested document, wherein at least one entity of the one or more entities is associated with entity information stored in the database, wherein the entity information stored in the database comprises data identifying one or more locations for the at least one entity, and the one or more entities are identified in the user-requested document based upon proximity to a location;

in response to querying the database, receiving the entity information associated with the at least one entity;

at the client machine, creating a modified document by adding to the user-requested document (a) the entity information associated with the at least one entity or (b) a link to the entity information associated with the at least one entity; and

displaying the modified document with the client-side application instead of the user-requested document received at the client-side application from the server;

wherein the method is performed by a client machine executing the client-side application.

2. The method of claim 1 , wherein the entity information comprises a time window, and wherein the one or more entities are selected from the user-requested document based on a time associated with the one or more entities within the time window.

3. The method of claim 1 , further comprising: selecting a portion of the entity information for modifying the user-requested document, wherein the portion of the entity information is selected based on a trusted source of the portion of the entity information.

4. The method of claim 3 , wherein the trusted source is determined based on data stored at the client machine executing the client-side application.

5. The method of claim 3 , wherein selecting the portion is further based on a priority of the trusted source compared to a priority for a plurality of trusted sources.

6. The method of claim 1 , wherein creating the modified document comprises adding a separate listing of recognized entities associated with entity information.

7. The method of claim 1 , further comprising: performing a successive query using the entity information to query the database by the client-side application for additional information.

8. The method of claim 7 , wherein the client-side application is limited by a minimum number of successive queries or a maximum number of successive queries.

9. The method of claim 1 , wherein the client-side application is a web browser comprising at least one toolbar.

10. The method of claim 1 , wherein the at least one entity comprises a place, and wherein the entity information comprises a map associated with the place or directions to the place from a location associated with the client machine executing the client-side application.

11. One or more non-transitory computer readable storage media storing instructions, which when processed by one or more processors cause:

a client-side application executing on a client machine receiving a request from a user for a user-requested document;

in response to the client-side application executing on the client machine receiving the request from the user for the user-requested document, the client-side application executing on the client machine requesting the user-requested document from a server;

the client-side application executing on the client machine receiving the user-requested document from the server;

in response to the client-side application executing on the client machine receiving the user-requested document from the server, instead of displaying the user-requested document at the client machine executing the client-side application:

identifying one or more entities in the user-requested document;

querying a database based on the one or more entities in the user-requested document, wherein at least one entity of the one or more entities is associated with entity information stored in the database, wherein the entity information stored in the database comprises data identifying one or more locations for the at least one entity, and the one or more entities are identified in the user-requested document based upon proximity to a location;

in response to querying the database, receiving the entity information associated with the at least one entity;

at the client machine, creating a modified document by adding to the user-requested document (a) the entity information associated with the at least one entity or (b) a link to the entity information associated with the at least one entity; and

displaying the modified document with the client-side application instead of the user-requested document received at the client-side application from the server.

12. The one or more non-transitory computer readable storage media of claim 11 , wherein the entity information comprises a time window, and wherein the one or more entities are selected from the user-requested document based on a time associated with the one or more entities within the time window.

13. The one or more non-transitory computer readable storage media of claim 11 , wherein the instructions include instructions which, when processed by the one or more processors further cause: selecting a portion of the entity information for modifying the user-requested document, wherein the portion of the entity information is selected based on a trusted source of the portion of the entity information.

14. The one or more non-transitory computer readable storage media of claim 13 , wherein the trusted source is determined based on data stored at a client machine executing the client-side application.

15. The one or more non-transitory computer readable storage media of claim 13 , wherein selecting the portion is further based on a priority of the trusted source compared to a priority for a plurality of trusted sources.

16. The one or more non-transitory computer readable storage media of claim 11 , wherein modifying the document to obtain the modified document comprises adding a separate listing of recognized entities associated with entity information.

17. The one or more non-transitory computer readable storage media of claim 11 , wherein the instructions include instructions which, when processed by the one or more processors further cause: performing a successive query using the entity information to query the database by the client-side application for additional information.

18. The one or more non-transitory computer readable storage media of claim 17 , wherein the client-side application is limited by a minimum number of successive queries or a maximum number of successive queries.

19. The one or more non-transitory computer readable storage media of claim 11 , wherein the client-side application is a web browser comprising at least one toolbar.

20. The one or more non-transitory computer readable storage media of claim 11 , wherein the at least one entity comprises a place, and wherein the entity information comprises a map associated with the place or directions to the place from a location associated with a client system executing the client-side application.

21. The method of claim 1 , wherein displaying the modified document comprises displaying the entity information at a selected location within the modified document.

22. The method of claim 1 , wherein modifying the user-requested document comprises adding the entity information to the user-requested document, and wherein adding the entity information to the user-requested document comprises embedding the entity information in the user-requested document such that hovering over the entity in a display of the modified document causes a display of the entity information.

23. The one or more non-transitory computer readable storage media of claim 11 , wherein displaying the modified document comprises displaying the entity information at a selected location within the modified document.

24. The one or more non-transitory computer readable storage media of claim 11 , wherein modifying the user-requested document comprises adding the entity information to the user-requested document, and wherein adding the entity information to the user-requested document comprises embedding the entity information in the user-requested document such that hovering over the entity in a display of the modified document causes a display of the entity information.

25. An apparatus comprising:

a client-side application configured to:

receive a request from a user for a user-requested document,

in response to receiving the request from the user for the user-requested document, request the user-requested document from a server,

receive the user-requested document from a server; and

a Web page modifier configured to, in response to the client-side application receiving the user-requested document from the server instead of the user-requested document being displayed at the apparatus:

identify one or more entities in the user-requested document;

query a database based on the one or more entities in the user-requested document, wherein at least one entity of the one or more entities is associated with entity information stored in the database, wherein the entity information stored in the database comprises data identifying one or more locations for the at least one entity, and the one or more entities are identified in the user-requested document based upon proximity to a location;

in response to querying the database, receiving the entity information associated with the at least one entity;

create a modified document by adding to the user-requested document (a) the entity information associated with the at least one entity or (b) a link to the entity information associated with the at least one entity; and

cause the client-side application to display the modified document instead of the user-requested document received by the client-side application from the server.

Assignments (9)
CORRECTIVE ASSIGNMENT TO CORRECT THE THE ASSIGNOR NAME PREVIOUSLY RECORDED AT REEL: 052853 FRAME: 0153. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Mar 29, 2021
From: R2 SOLUTIONS LLC
To: STARBOARD VALUE INTERMEDIATE FUND LP, AS COLLATERAL AGENT
Reel/Frame 056832/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE NAME PREVIOUSLY RECORDED ON REEL 053654 FRAME 0254. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST GRANTED PURSUANT TO THE PATENT SECURITY AGREEMENT PREVIOUSLY RECORDED. Recorded Dec 30, 2020
From: STARBOARD VALUE INTERMEDIATE FUND LP
To: R2 SOLUTIONS LLC
Reel/Frame 054981/0377 →
RELEASE OF SECURITY INTEREST IN PATENTS Recorded Jul 8, 2020
From: STARBOARD VALUE INTERMEDIATE FUND LP
To: ACACIA RESEARCH GROUP LLC; AMERICAN VEHICULAR SCIENCES LLC; BONUTTI SKELETAL INNOVATIONS LLC; CELLULAR COMMUNICATIONS EQUIPMENT LLC; INNOVATIVE DISPLAY TECHNOLOGIES LLC; LIFEPORT SCIENCES LLC; LIMESTONE MEMORY SYSTEMS LLC; MOBILE ENHANCEMENT SOLUTIONS LLC; MONARCH NETWORKING SOLUTIONS LLC; NEXUS DISPLAY TECHNOLOGIES LLC; PARTHENON UNIFIED MEMORY ARCHITECTURE LLC; R2 SOLUTIONS LLC; SAINT LAWRENCE COMMUNICATIONS LLC; STINGRAY IP SOLUTIONS LLC; SUPER INTERCONNECT TECHNOLOGIES LLC; TELECONFERENCE SYSTEMS LLC; UNIFICATION TECHNOLOGIES LLC
Reel/Frame 053654/0254 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 25, 2020
From: EXCALIBUR IP, LLC
To: R2 SOLUTIONS LLC
Reel/Frame 053459/0059 →
PATENT SECURITY AGREEMENT Recorded Jun 5, 2020
From: ACACIA RESEARCH GROUP LLC; AMERICAN VEHICULAR SCIENCES LLC; BONUTTI SKELETAL INNOVATIONS LLC; CELLULAR COMMUNICATIONS EQUIPMENT LLC; INNOVATIVE DISPLAY TECHNOLOGIES LLC; LIFEPORT SCIENCES LLC; LIMESTONE MEMORY SYSTEMS LLC; MERTON ACQUISITION HOLDCO LLC; MOBILE ENHANCEMENT SOLUTIONS LLC; MONARCH NETWORKING SOLUTIONS LLC; NEXUS DISPLAY TECHNOLOGIES LLC; PARTHENON UNIFIED MEMORY ARCHITECTURE LLC; R2 SOLUTIONS LLC; SAINT LAWRENCE COMMUNICATIONS LLC; STINGRAY IP SOLUTIONS LLC; SUPER INTERCONNECT TECHNOLOGIES LLC; TELECONFERENCE SYSTEMS LLC; UNIFICATION TECHNOLOGIES LLC
To: STARBOARD VALUE INTERMEDIATE FUND LP, AS COLLATERAL AGENT
Reel/Frame 052853/0153 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 3, 2016
From: YAHOO! INC.
To: EXCALIBUR IP, LLC
Reel/Frame 038950/0592 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 1, 2016
From: EXCALIBUR IP, LLC
To: YAHOO! INC.
Reel/Frame 038951/0295 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 18, 2016
From: YAHOO! INC.
To: EXCALIBUR IP, LLC
Reel/Frame 038383/0466 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 30, 2008
From: CHANNABASAVAIAH, PRASHANTH
To: YAHOO! INC.
Reel/Frame 021611/0605 →
Continuity (1)
Related Publication 20100083105A1 · Apr 1, 2010