IP Library Granted Patent US 10,885,478
Granted Patent B2
US 10,885,478 · App. 15/203,727 · Granted Jan 5, 2021

Computer-implemented system and method for providing contextually relevant task recommendations to qualified users

Inventors: Michael Roberts (Los Gatos, CA); Simon Tucker (Oakland, CA); Shane Ahern (Foster City, CA)
Assignee: Palo Alto Research Center Incorporated
G06Q10/063112G06F16/24578
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 10,885,478
App. No.
15/203,727
Granted
Jan 5, 2021
Kind
B2
Abstract

A computer-implemented system and method for providing contextually relevant task recommendations to qualified users is provided. Sensor data is collected for a user. The user's location is determined and subsequently, an activity of the user is determined based on the sensor data and the location. Two or more recommendable items are scored based on the activity and one or more of the recommendable items with the highest scores are selected. Finally, one or more recipients qualified to perform each of the recommendable items are identified.

Claims (84)

1. A computer-implemented system for providing contextually relevant task recommendations to qualified users, comprising:

one or more Bluetooth beacons;

one or more sensors to collect contextual data for a user during performance of a task;

two or more mobile computing devices associated with the user and at least one of the computing devices comprising Bluetooth, wherein each computing device comprises one of a smartphone, smart watch, and head-mounted computing device and at least one of the mobile computing devices is configured to:

access the contextual data for the user from the sensors;

access a location of the user with respect to one of the Bluetooth beacons;

determine by at least two of the computing devices one or more low-level activities performed by the user based on the contextual data and the location, each low-level activity comprising movement or no movement of the user; and

transmit from each of the at least two computing devices via an Internetwork data representing the low-level activities determined; and

a server comprising a central processing unit, an input port to receive the data representing the low-level activities, and an output port, wherein the central processing unit is configured to:

determine one or more steps of the task being performed by the user;

anticipate a technological step to complete the task performed by the user in real-time based on the steps being performed by the user, comprising:

receive the data representing the low-level activities from each of the two or more computing devices;

determine a high-level activity performed by the user as the task based on the data representing at least a portion of the low level activities comprising movement or no movement performed by the user from each of the two or more computing devices;

identify two or more steps to be performed by the user during the high-level activity to complete the task based on the steps being performed by the user;

score the steps based on the high-level activity; and

select one or more of the steps with the highest scores; and

provide the selected tasks to the user or other users and cause the task to be completed by the user or at least one of the other users.

2. A system according to claim 1 , wherein the central processing unit is further configured to:

compare the data representing the low-level activities with activity models, wherein each activity model is associated with an activity; and

select the activity associated with the activity model with the highest similarity to the data representing the low-level activities as the high-level activity.

3. A system according to claim 1 , wherein the central processing unit is further configured to:

determine whether the user is qualified to perform at least one of the selected steps based on a user profile associated with the user; and

provide the at least one selected step to the user when the user is qualified to perform that selected step.

4. A system according to claim 1 , wherein the central processing unit is further configured to:

maintain groups of users;

identify at least one group of users qualified to perform at least one of the selected steps; and

provide the at least one selected step to the users in the identified group.

5. A system according to claim 1 , wherein the central processing unit is further configured to:

receive a request for the user to communicate with another individual; and

monitor the communication between the user and the other individual.

6. A system according to claim 1 , wherein the central processing unit is further configured to:

determine that one of the steps is being performed by the user.

7. A system according to claim 1 , wherein the central processing unit is further configured to:

receive from the user a selection of one of the selected steps for performance.

8. A system according to claim 7 , wherein the central processing unit is further configured to:

determine that the user is unable to complete the selected step for performance; and

provide instructional materials to the user based on the determination.

9. A system according to claim 1 , wherein the central processing unit is further configured to:

generate simulations by receiving a contextual scenario and receiving the steps to provide to the user when the contextual scenario occurs.

10. A system according to claim 9 , wherein the central processing unit is further configured to:

compare the sensor data and location with the simulations;

identify one of the simulations closest related to the sensor data and location; and

identify steps associated with the closest simulation as candidate steps.

11. A computer-implemented method for providing contextually relevant task recommendations to qualified users, comprising:

collecting contextual data for a user via one or more sensors during performance of a task by the user;

accessing the contextual data from the sensors via two or more mobile computing devices associated with the user and at least one of the computing devices comprising Bluetooth, wherein each computing device comprises one of a smartphone, smart watch, and head-mounted computing device;

accessing a location of the user with respect to one or more Bluetooth beacons;

determining by at least two of the computing devices one or more low-level activities performed by the user based on the contextual data and the location, wherein each low-level activity comprises movement or no movement of the user;

transmitting data representing the low-level activities determined from each of at least two of the computing devices via an Internetwork;

determining one or more steps of the task being performed by the user;

anticipating a technological step to complete the task performed by the user in real-time based on the steps being performed by the user, comprising:

determining from the data representing at least a portion of the low-level activities each comprising movement or no movement of the user and received from each of the two or more computing devices, a high-level activity performed by the user via a server comprising a central processing unit, an input port to receive the sensor data, and an output port;

identifying two or more steps to be performed by the user during the high-level activity to complete the task based on the steps being performed by the user;

scoring the steps based on the high-level activity via the server; and

selecting via the server one or more of the steps with the highest scores; and

providing the selected steps to the user or other users and causing the task to be completed by the user or at least one of the other users.

12. A method according to claim 11 , wherein the activity is determined, comprising:

comparing the data representing the low-level activities with activity models, wherein each activity model is associated with an activity; and

selecting the activity associated with the activity model with the highest similarity to the data representing the low-level activities as the high-level activity.

13. A method according to claim 11 , further comprising:

determining whether the user is qualified to perform at least one of the selected steps based on a user profile associated with the user; and

providing the at least one selected step to the user when the user is qualified to perform that selected step.

14. A method according to claim 11 , further comprising:

maintaining groups of users;

identifying at least one group of users qualified to perform at least one of the selected steps; and

providing the at least one selected step to the users in the identified group.

15. A method according to claim 11 , further comprising:

receiving a request for the user to communicate with another individual; and

monitoring the communication between the user and the other individual.

16. A method according to claim 11 , further comprising:

determining that one of the steps is being performed by the user.

17. A method according to claim 11 , further comprising:

receiving from the user a selection of one of the selected steps for performance.

18. A method according to claim 17 , further comprising:

determining that the user is unable to complete the selected step item for performance; and

providing instructional materials to the user based on the determination.

19. A method according to claim 11 , further comprising:

generating simulations, comprising:

receiving a contextual scenario; and

receiving the steps to provide to the user when the contextual scenario occurs.

20. A method according to claim 19 , further comprising:

comparing the sensor data and location with the simulations;

identifying one of the simulations closest related to the sensor data and location; and

identifying steps associated with the closest simulation as candidate steps.

Assignments (9)
SECOND LIEN NOTES PATENT SECURITY AGREEMENT Recorded Jul 2, 2025
From: XEROX CORPORATION
To: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 071785/0550 →
FIRST LIEN NOTES PATENT SECURITY AGREEMENT Recorded Apr 11, 2025
From: XEROX CORPORATION
To: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 070824/0001 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS RECORDED AT RF 064760/0389 Recorded Feb 13, 2024
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: XEROX CORPORATION
Reel/Frame 068261/0001 →
SECURITY INTEREST Recorded Feb 13, 2024
From: XEROX CORPORATION
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 066741/0001 →
SECURITY INTEREST Recorded Nov 20, 2023
From: XEROX CORPORATION
To: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 065628/0019 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVAL OF US PATENTS 9356603, 10026651, 10626048 AND INCLUSION OF US PATENT 7167871 PREVIOUSLY RECORDED ON REEL 064038 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jun 28, 2023
From: PALO ALTO RESEARCH CENTER INCORPORATED
To: XEROX CORPORATION
Reel/Frame 064161/0001 →
SECURITY INTEREST Recorded Jun 22, 2023
From: XEROX CORPORATION
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 064760/0389 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 20, 2023
From: PALO ALTO RESEARCH CENTER INCORPORATED
To: XEROX CORPORATION
Reel/Frame 064038/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 6, 2016
From: ROBERTS, MICHAEL; TUCKER, SIMON; AHERN, SHANE
To: PALO ALTO RESEARCH CENTER INCORPORATED
Reel/Frame 039090/0353 →
Continuity (1)
Related Publication 20180012170A1 · Jan 11, 2018
Cited By (6)
US 12,205,048 US 12,499,169 US 12,505,478 US 12,511,551 US 12,579,563 US 12,596,971