IP Library Granted Patent US 9,576,494
Granted Patent B2
US 9,576,494 · App. 14/167,821 · Granted Feb 21, 2017

Resource resolver

Inventors: Narender Vattikonda (San Jose, CA); Shridhar Navanageri (Sunnyvale, CA); Sudhakar Subashchandrabose (San Jose, CA); Raghavendra Reddy (Sunnyvale, CA); Anil Maipady (San Jose, CA)
Assignee: Apollo Education Group, Inc.
G09B5/00G06F17/2264G06F17/289G06F17/30867G06F17/30893G06F17/30899G09B21/005H04L67/02
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,576,494
App. No.
14/167,821
Granted
Feb 21, 2017
Kind
B2
Abstract

An automated resource resolver system receives a client request for a learning resource. The system selects a format for a target resource, to be delivered to the client device, based on user information and context information for the client device. Thus, the selected format will be accessible by the client device, utilizing the capabilities of the device, and will be the best-fit format for the user. After the system selects the format, the system determines whether the target resource stored at a resource repository is in the selected format. If not, then the system selects an instance of the target resource, not in the selected format, to convert to the selected format. The system converts the selected resource instance to produce an instance of the target resource that is in the selected format. The system makes the target learning resource, in the selected format, available to the client device.

Claims (106)

1. A computer-executed method comprising:

receiving, at a system from a client device, a request for a learning resource;

wherein the request includes:

user-specific information, and

context information for the client device;

in response to receiving the request, the system automatically performing:

determining a target format category in which the learning resource is stored at a resource repository;

determining a particular set of rules that are specific to the target format category;

based, at least in part, on the user-specific information and the particular set of rules, selecting a plurality of candidate format categories;

selecting a particular format category, from the plurality of candidate format categories, based at least in part on the context information for the client device;

selecting a particular format, within the particular format category, based, at least in part, on the context information for the client device;

after selecting the particular format:

obtaining the learning resource in the particular format by either retrieving the learning resource from the repository in the particular format or converting the learning resource into the particular format; and

making the learning resource, in the particular format, available to the client device;

wherein the system comprises one or more computing devices.

2. The method of claim 1 , wherein selecting the plurality of candidate format categories comprises:

identifying user preference information based, at least in part, on the user-specific information;

wherein the user preference information comprises one or more of:

one or more preferred format categories in which to provide the learning resource, or

a preferred format in which to provide the learning resource; and

selecting the plurality of candidate format categories based, at least in part, on the user preference information.

3. The method of claim 2 , wherein selecting the plurality of candidate format categories further comprises:

selecting the plurality of candidate format categories based, at least in part, on the context information for the client device.

4. The method of claim 1 , wherein the context information for the client device includes one or more of:

a type of the client device;

an operating system run on the client device;

a type of a network connection of the client device;

one or more applications running on the client device; and

one or more applications not running on the client device.

5. The method of claim 1 , wherein selecting the particular format comprises determining, based on the context information, one or more resource formats that the client device can access.

6. The method of claim 1 , wherein:

obtaining the learning resource is by converting the learning resource into the particular format;

converting the learning resource into the particular format comprises:

selecting an instance of the learning resource, which is in a format other than the particular format, from within the resource repository, and

converting the selected instance of the learning resource to a converted instance of the learning resource in the particular format; and

making the learning resource, in the particular format, available to the client device comprises making the converted instance of the learning resource available to the client device.

7. The method of claim 1 , further comprising:

identifying user disability information based, at least in part, on the user-specific information;

wherein selecting the plurality of candidate format categories comprises: selecting the plurality of candidate format categories, based, at least in part, on the user disability information.

8. The method of claim 6 , further comprising:

maintaining a set of two or more resolver plugins;

selecting a particular resolver plugin of the set of two or more resolver plugins based, at least in part, on the particular format;

wherein the particular resolver plugin is configured to convert a resource instance to a converted resource instance in the particular format; and

wherein the steps of selecting the instance of the learning resource and converting the selected instance are performed by the particular resolver plugin.

9. The method of claim 8 , wherein selecting the particular resolver plugin further comprises:

identifying a group of two or more resolver plugins, of the set of two or more resolver plugins;

wherein the group of two or more resolver plugins corresponds to the particular format and includes the particular resolver plugin; and

selecting the particular resolver plugin from the group of two or more resolver plugins based, at least in part, on rank information that ranks the particular resolver plugin among the other resolver plugins of the group of two or more resolver plugins.

10. The method of claim 8 , further comprising:

prior to selecting the particular resolver plugin:

receiving information identifying the particular resolver plugin;

wherein prior to receiving the information identifying the particular resolver plugin, the particular resolver plugin is not maintained in the set of two or more resolver plugins; and

in response to receiving the information identifying the particular resolver plugin, causing the particular resolver plugin to be maintained in the set of two or more resolver plugins.

11. The method of claim 10 , wherein causing the particular resolver plugin to be maintained in the set of two or more resolver plugins is performed at run-time.

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

receiving, at a system from a client device, a request for a learning resource;

wherein the request includes:

user-specific information, and

context information for the client device;

in response to receiving the request, the system automatically performing:

determining a target format category in which the learning resource is stored at a resource repository;

determining a particular set of rules that are specific to the target format category;

based, at least in part, on the user-specific information and the particular set of rules, selecting a plurality of candidate format categories;

selecting a particular format category, from the plurality of candidate format categories, based at least in part on the context information for the client device;

selecting a particular format, within the particular format category, based, at least in part, on the context information for the client device;

after selecting the particular format:

obtaining the learning resource in the particular format by either retrieving the learning resource from the repository in the particular format or converting the learning resource into the particular format; and

making the learning resource, in the particular format, available to the client device.

13. The one or more non-transitory computer readable media of claim 12 , wherein selecting the plurality of candidate format categories comprises:

identifying user preference information based, at least in part, on the user-specific information;

wherein the user preference information comprises one or more of:

one or more preferred format categories in which to provide the learning resource, or

a preferred format in which to provide the learning resource; and

selecting the plurality of candidate format categories based, at least in part, on the user preference information.

14. The one or more non-transitory computer readable media of claim 12 , wherein selecting the particular format comprises determining, based on the context information, one or more resource formats that the client device can access.

15. The one or more non-transitory computer readable media of claim 12 , wherein the instructions further comprise instructions which, when executed by one or more processors, cause:

identifying user disability information based, at least in part, on the user-specific information;

wherein selecting the plurality of candidate format categories comprises: selecting the plurality of candidate format categories, based, at least in part, on the user disability information.

16. The one or more non-transitory computer readable media of claim 12 , wherein:

obtaining the learning resource is by converting the learning resource into the particular format;

converting the learning resource into the particular format comprises:

selecting an instance of the learning resource, which is in a format other than the particular format, from within the resource repository, and

converting the selected instance of the learning resource to a converted instance of the learning resource in the particular format; and

making the learning resource, in the particular format, available to the client device comprises making the converted instance of the learning resource available to the client device.

17. The one or more non-transitory computer readable media of claim 16 , wherein the instructions further comprise instructions which, when executed by one or more processors, cause:

maintaining a set of two or more resolver plugins;

selecting a particular resolver plugin of the set of two or more resolver plugins based, at least in part, on the particular format;

wherein the particular resolver plugin is configured to convert a resource instance to a converted resource instance in the particular format; and

wherein the steps of selecting the instance of the learning resource and converting the selected instance are performed by the particular resolver plugin.

18. The one or more non-transitory computer readable media of claim 17 , wherein selecting the particular resolver plugin further comprises:

identifying a group of two or more resolver plugins, of the set of two or more resolver plugins;

wherein the group of two or more resolver plugins corresponds to the particular format and includes the particular resolver plugin; and

selecting the particular resolver plugin from the group of two or more resolver plugins based, at least in part, on rank information that ranks the particular resolver plugin among the other resolver plugins of the group of two or more resolver plugins.

19. The one or more non-transitory computer readable media of claim 17 , wherein the instructions further comprise instructions which, when executed by one or more processors, cause:

prior to selecting the particular resolver plugin:

receiving information identifying the particular resolver plugin;

wherein prior to receiving the information identifying the particular resolver plugin, the particular resolver plugin is not maintained in the set of two or more resolver plugins; and

in response to receiving the information identifying the particular resolver plugin, causing the particular resolver plugin to be maintained in the set of two or more resolver plugins.

20. The one or more non-transitory computer readable media of claim 13 , wherein selecting the plurality of candidate format categories further comprises: selecting the plurality of candidate format categories based, at least in part, on the context information for the client device.

21. The one or more non-transitory computer readable media of claim 12 , wherein the context information for the client device includes one or more of:

a type of the client device;

an operating system run on the client device;

a type of a network connection of the client device;

one or more applications running on the client device; and

one or more applications not running on the client device.

22. The one or more non-transitory computer readable media of claim 19 , wherein causing the particular resolver plugin to be maintained in the set of two or more resolver plugins is performed at run-time.

Assignments (5)
SECURITY INTEREST Recorded Nov 13, 2025
From: THE UNIVERSITY OF PHOENIX, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 072896/0972 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 26, 2020
From: APOLLO EDUCATION GROUP, INC.
To: THE UNIVERSITY OF PHOENIX, INC.
Reel/Frame 053308/0512 →
RELEASE OF SECURITY INTEREST Recorded Jul 15, 2019
From: EVEREST REINSURANCE COMPANY
To: APOLLO EDUCATION GROUP, INC.
Reel/Frame 049753/0187 →
SECURITY INTEREST Recorded Feb 14, 2017
From: APOLLO EDUCATION GROUP, INC.
To: EVEREST REINSURANCE COMPANY
Reel/Frame 041750/0137 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 4, 2014
From: VATTIKONDA, NARENDER; NAVANAGERI, SHRIDHAR; SUBASHCHANDRABOSE, SUDHAKAR; REDDY, RAGHAVENDRA; MAIPADY, ANIL
To: APOLLO EDUCATION GROUP, INC.
Reel/Frame 032139/0128 →
Continuity (1)
Related Publication 20150213723A1 · Jul 30, 2015