IP Library Granted Patent US 9,189,287
Granted Patent B1
US 9,189,287 · App. 13/534,040 · Granted Nov 17, 2015

Harnessing idle computing resources in customer premise equipment

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,189,287
App. No.
13/534,040
Granted
Nov 17, 2015
Kind
B1
Abstract

Methods, systems, and computer readable media can provide for harnessing of computing resources in customer premise equipment devices. This can be facilitated by dividing large processing tasks into minor tasks, sending the minor tasks to customer premise equipment devices, and compiling the results of the minor tasks completed by the devices.

Claims (70)

1. A computer-implemented method, comprising:

identifying a plurality of customer premise equipment devices that have one or more available resources, wherein customer premise equipment devices that have one or more available resources comprise customer premise equipment devices that are idle and/or customer premise equipment devices capable of virtualizing available computing resources;

associating a processing task with a priority level;

dividing the processing task into a plurality of minor tasks, wherein a number of minor tasks the processing task is divided into is based upon an amount of time within which the processing task must be completed, wherein:

in a case the amount of time indicates immediate completion of the processing task is required, setting the number of minor tasks equal to a number of customer premise equipment devices that are idle; and

in a case the amount of time indicates the processing task does not require immediate completion, setting the number of minor tasks equal to a number of customer premise equipment devices that have one or more available resources;

assigning each minor task to one or more of the plurality of identified customer premise equipment devices;

outputting a message to each of the identified customer premise equipment devices, wherein each message instructs the respective customer premise equipment device to allocate available resources at the respective customer premise equipment device to the completion of the minor task assigned to the respective customer premise equipment device, wherein available resources at the respective customer premise equipment device are allocated based on the priority level associated with the processing task; and

receiving results of a completed minor task from one or more of the plurality of identified customer premise equipment devices.

2. The computer-implemented method of claim 1 , wherein a customer premise equipment device is determined to be idle if the customer device does not receive or request to transmit data for a predetermined period of time.

3. The computer-implemented method of claim 1 , wherein a customer premise equipment device is determined to be idle if the customer device does not receive or request to transmit more than a nominal amount of data over a predetermined period of time.

4. The computer-implemented method of claim 1 , wherein the status of a customer premise equipment device is predicted based upon the history of the customer premise equipment device's activity.

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

wherein the processing task is associated with a low priority level;

assigning the one or more minor tasks to customer premise equipment devices capable of virtualizing available computing resources;

virtualizing available computing resources of each customer premise equipment device, wherein available computing resources of the customer premise equipment device comprise computing resources not being used during the normal operation of the device; and

allocating the virtualized resources for a minor task.

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

consolidating results from the completed minor tasks associated with the same processing task.

7. The computer-implemented method of claim 1 , wherein the processing task comprises real-time video transcoding or data computation.

8. The computer-implemented method of claim 1 , wherein the minor task comprises storing a portion of content on the storage components of the one or more of the plurality of identified customer premise equipment devices.

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

scheduling delivery of the portions of the content from the one or more customer premise equipment devices to a device from which a request for the content is received; and

outputting a message to each of the one or more customer premise equipment devices, the message instructing the respective customer premise equipment device to transmit a portion of the content to the device from which a request for the content is received.

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

sending the results of the completed minor task to a third party.

11. The computer-implemented method of claim 1 , wherein a customer premise equipment device is determined to be idle if a status report received from the customer premise equipment device indicates that the customer premise equipment device has one or more idle resources.

12. The computer-implemented method of claim 1 , wherein the message output to each respective identified customer premise equipment devices comprises instructions for carrying out the task, the instructions comprising a time constraint defining a period of time within which the task is to be completed by the respective customer premise equipment device, the time constraint being based upon a priority level associated with the task.

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

determining that one or more of the plurality of minor tasks are not limited by a time constraint; and

assigning the one or more minor tasks that are not limited by a time constraint to one or more customer premise equipment devices whether or not the one or more customer premise equipment devices have available computing resources.

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

wherein the processing task is associated with a high priority level;

assigning the one or more minor tasks only to customer premise equipment devices that are idle.

15. A system, comprising:

a data store that stores computer program instructions and provides storage for results of one or more of a plurality of minor tasks received from one or more of a plurality of customer premise equipment devices;

a processor that executes said computer program instructions, the computer program instructions causing the processor to:

identify the plurality of customer premise equipment devices based upon whether one or more resources of the customer premise equipment devices are idle, wherein customer premise equipment devices that have one or more idle resources comprise customer premise equipment devices that are idle and/or customer premise equipment devices capable of virtualizing available computing resources;

associate a processing task with a priority level; and

divide the processing task into the plurality of minor tasks, wherein a number of minor tasks the processing task is divided into is based upon an amount of time within which the processing task must be completed, wherein:

in a case the amount of time indicates immediate completion of the processing task is required, the number of minor tasks is set equal to a number of customer premise equipment devices that are idle; and

in a case the amount of time indicates the processing task does not require immediate completion, the number of minor tasks is set equal to a number of customer premise equipment devices that have one or more available resources; and

an interface that:

assigns each minor task to one or more of the plurality of identified customer premise equipment devices;

outputs a message to each of the identified customer premise equipment devices, wherein each message instructs the respective customer premise equipment device to allocate available resources at the respective customer premise equipment device to the completion of the minor task assigned to the respective customer premise equipment device, wherein available resources at the respective customer premise equipment device are allocated based on the priority level associated with the processing task; and

receives results of the one or more of the plurality of completed minor tasks from the one or more of the plurality of identified customer premise equipment devices.

16. The system of claim 15 , wherein a customer premise equipment device is identified as idle if the customer device does not receive data or request to transmit data for a predetermined period of time or if the customer device does not receive data or request to transmit more than a nominal amount of data over a predetermined period of time.

17. The system of claim 15 , wherein said interface is further used to:

virtualize available computing resources of one or more of the identified customer premise equipment devices capable of virtualizing available computing resources; and

allocate the virtualized resources for a minor task.

18. The system of claim 15 , wherein said computer program instructions further cause the processor to:

consolidate results from the completed minor tasks associated with the same processing task.

19. The system of claim 15 , wherein the minor task comprises storing a portion of content on the storage components of the one or more of the plurality of identified customer premise equipment devices.

20. One or more non-transitory computer readable media operable to execute on a processor, the computer readable being operable to cause the processor to perform the operations comprising:

identifying a plurality of customer premise equipment devices that have one or more idle resources, wherein customer premise equipment devices that have one or more idle resources comprise customer premise equipment devices that are idle and/or customer premise equipment devices capable of virtualizing available computing resources;

associating a processing task with a priority level;

dividing the processing task into a plurality of minor tasks, wherein a number of minor tasks the processing task is divided into is based upon an amount of time within which the processing task must be completed, wherein:

in a case the amount of time indicates immediate completion of the processing task is required, setting the number of minor tasks equal to a number of customer premise equipment devices that are idle; and

in a case the amount of time indicates the processing task does not require immediate completion, setting the number of minor tasks equal to a number of customer premise equipment devices that have one or more available resources;

assigning each minor task to one or more of the plurality of identified customer premise equipment devices;

outputting a message to each of the identified customer premise equipment devices, wherein each message instructs the respective customer premise equipment device to allocate available resources at the respective customer premise equipment device to the completion of the minor task assigned to the respective customer premise equipment device, wherein available resources at the respective customer premise equipment device are allocated based on the priority level associated with the processing task; and

receiving results of a completed minor task from one or more of the plurality of identified customer premise equipment devices.

21. The non-transitory computer-implemented method of claim 20 , wherein a customer premise equipment device is identified as idle if the customer device does not receive data or request to transmit data for a predetermined period of time or if the customer device does not receive or request to transmit more than a nominal amount of data over a predetermined period of time.

22. The one or more non-transitory computer-readable media of claim 20 , further operable to cause the processor to perform the operations comprising:

virtualizing available computing resources of one or more of the identified customer premise equipment devices capable of virtualizing available computing resources; and

allocating the virtualized resources for a minor task.

23. The one or more non-transitory computer-readable media of claim 20 , further operable to cause the processor to perform the operations comprising:

consolidating results from the completed minor tasks associated with the same processing task.

24. The one or more non-transitory computer-readable media of claim 20 , wherein the processing task comprises real-time video transcoding or data computation.

25. The one or more non-transitory computer-readable media of claim 20 , wherein the minor task comprises storing a portion of content on the storage components of the one or more of the plurality of identified customer premise equipment devices.

Assignments (13)
SECURITY INTEREST Recorded Apr 8, 2026
From: ARRIS ENTERPRISES LLC; RUCKUS IP HOLDINGS LLC
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 075476/0814 →
RELEASE OF SECURITY INTEREST AT REEL/FRAME 049905/0504 Recorded Dec 19, 2024
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: ARRIS ENTERPRISES LLC (F/K/A ARRIS ENTERPRISES, INC.); ARRIS TECHNOLOGY, INC.; ARRIS SOLUTIONS, INC.; COMMSCOPE, INC. OF NORTH CAROLINA; COMMSCOPE TECHNOLOGIES LLC; RUCKUS WIRELESS, LLC (F/K/A RUCKUS WIRELESS, INC.)
Reel/Frame 071477/0255 →
SECURITY INTEREST Recorded Dec 17, 2024
From: ARRIS ENTERPRISES LLC; COMMSCOPE TECHNOLOGIES LLC; COMMSCOPE INC., OF NORTH CAROLINA; OUTDOOR WIRELESS NETWORKS LLC; RUCKUS IP HOLDINGS LLC
To: APOLLO ADMINISTRATIVE AGENCY LLC
Reel/Frame 069889/0114 →
SECURITY INTEREST Recorded Nov 19, 2021
From: ARRIS SOLUTIONS, INC.; ARRIS ENTERPRISES LLC; COMMSCOPE TECHNOLOGIES LLC; COMMSCOPE, INC. OF NORTH CAROLINA; RUCKUS WIRELESS, INC.
To: WILMINGTON TRUST
Reel/Frame 060752/0001 →
TERM LOAN SECURITY AGREEMENT Recorded Jul 3, 2019
From: COMMSCOPE, INC. OF NORTH CAROLINA; COMMSCOPE TECHNOLOGIES LLC; ARRIS ENTERPRISES LLC; ARRIS TECHNOLOGY, INC.; RUCKUS WIRELESS, INC.; ARRIS SOLUTIONS, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 049905/0504 →
ABL SECURITY AGREEMENT Recorded Jul 3, 2019
From: COMMSCOPE, INC. OF NORTH CAROLINA; COMMSCOPE TECHNOLOGIES LLC; ARRIS ENTERPRISES LLC; ARRIS TECHNOLOGY, INC.; RUCKUS WIRELESS, INC.; ARRIS SOLUTIONS, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 049892/0396 →
PATENT SECURITY AGREEMENT Recorded Jul 3, 2019
From: ARRIS ENTERPRISES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 049820/0495 →
CHANGE OF NAME Recorded Jun 25, 2019
From: ARRIS ENTERPRISES, INC.
To: ARRIS ENTERPRISES LLC
Reel/Frame 049586/0470 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Apr 8, 2019
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: ARRIS GROUP, INC.; ARRIS ENTERPRISES, INC.; ARRIS SOLUTIONS, INC.; ARRIS KOREA, INC.; ARRIS HOLDINGS CORP. OF ILLINOIS, INC.; BIG BAND NETWORKS, INC.; TEXSCAN CORPORATION; POWER GUARD, INC.; 4HOME, INC.; ACADIA AIC, INC.; AEROCAST, INC.; BROADBUS TECHNOLOGIES, INC.; GENERAL INSTRUMENT CORPORATION; GENERAL INSTRUMENT AUTHORIZATION SERVICES, INC.; GENERAL INSTRUMENT INTERNATIONAL HOLDINGS, INC.; IMEDIA CORPORATION; JERROLD DC RADIO, INC.; LEAPSTONE SYSTEMS, INC.; MODULUS VIDEO, INC.; MOTOROLA WIRELINE NETWORKS, INC.; NETOPIA, INC.; NEXTLEVEL SYSTEMS (PUERTO RICO), INC.; QUANTUM BRIDGE COMMUNICATIONS, INC.; SETJAM, INC.; SUNUP DESIGN SYSTEMS, INC.; UCENTRIC SYSTEMS, INC.; GIC INTERNATIONAL HOLDCO LLC; GIC INTERNATIONAL CAPITAL LLC; CCE SOFTWARE LLC; THE GI REALTY TRUST 1996
Reel/Frame 048825/0294 →
CHANGE OF NAME Recorded Mar 14, 2017
From: ARRIS ENTERPRISES INC
To: ARRIS ENTERPRISES LLC
Reel/Frame 041995/0031 →
SECURITY AGREEMENT Recorded May 28, 2013
From: ARRIS GROUP, INC.; ARRIS ENTERPRISES, INC.; ARRIS SOLUTIONS, INC.; ARRIS KOREA, INC.; ARRIS HOLDINGS CORP. OF ILLINOIS; BIGBAND NETWORKS, INC.; TEXSCAN CORPORATION; POWER GUARD, INC.; 4HOME, INC.; ACADIA AIC, INC.; AEROCAST, INC.; BROADBUS TECHNOLOGIES, INC.; GENERAL INSTRUMENT CORPORATION; GENERAL INSTRUMENT AUTHORIZATION SERVICES, INC.; GENERAL INSTRUMENT INTERNATIONAL HOLDINGS, INC.; IMEDIA CORPORATION; JERROLD DC RADIO, INC.; LEAPSTONE SYSTEMS, INC.; MODULUS VIDEO, INC.; MOTOROLA WIRELINE NETWORKS, INC.; NETOPIA, INC.; NEXTLEVEL SYSTEMS (PUERTO RICO), INC.; QUANTUM BRIDGE COMMUNICATIONS, INC.; SETJAM, INC.; SUNUP DESIGN SYSTEMS, INC.; UCENTRIC SYSTEMS, INC.; GIC INTERNATIONAL HOLDCO LLC; GIC INTERNATIONAL CAPITAL LLC; CCE SOFTWARE LLC; THE GI REALTY TRUST 1996
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 030498/0023 →
MERGER Recorded Apr 16, 2013
From: ARRIS GROUP, INC.
To: ARRIS ENTERPRISES, INC.
Reel/Frame 030228/0406 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 28, 2012
From: ELDER, DEREK
To: ARRIS GROUP, INC.
Reel/Frame 028457/0430 →