IP Library Granted Patent US 8,862,783
Granted Patent B2
US 8,862,783 · App. 11/258,524 · Granted Oct 14, 2014

Methods and system to offload data processing tasks

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,862,783
App. No.
11/258,524
Granted
Oct 14, 2014
Kind
B2
Abstract

Via use of a shared data bus, a processor system offloads processing tasks. For example, a processor system communicates over a respective data bus with a data communication controller. After notifying the data communication controller of a particular block of data to retrieve, the processor system relinquishes control of the respective data bus so that the data communication controller can control the data bus and store a block of data in a specified memory location using direct memory access techniques. Upon receiving a notification of completion of storing the data block by the data communication controller, the processor system regains control of the respective data bus and notifies a data forwarding circuit to: i) partition the block of data into data packets, ii) apply respective headers to the data packets based on the header information received from the processor system, and iii) forward the data packets to the respective destination.

Claims (33)

1. A method for offloading a task of forwarding information, the method comprising steps of:

receiving a command for delivery of data to a respective destination;

in response to receiving the command, transmitting a message to initiate execution of a first remote process that retrieves a block of the data and stores the block of data in a memory location specified in the message;

relinquishing control of a respective data bus to enable the first remote process to utilize the respective data bus and store the block of data in the memory location specified in the message, the first remote process initiating a parallel transfer of the block of data to the memory location, the memory location being accessible by a second remote process; and

forwarding header information as well as the memory location specified in the message to the second remote process that: i) partitions the block of data into data packets, ii) applies respective headers to the data packets based on the header information, and iii) forwards the data packets to the respective destination.

2. A method as in claim 1 , wherein transmitting the message prompts the first remote process residing in a data communication controller to:

extract the data from a repository by serially receiving the data over a respective communication channel; and

store the block of data in the memory location specified in the message using DMA (Direct Memory Access) techniques.

3. A method as in claim 1 , wherein forwarding header information as well as the memory location specified to the second remote process further includes prompting the second remote process to:

create different respective headers for applying to the data packets based on the header information such that each successive data packet forwarded to the respective destination includes a common portion of header information used in all of the data packets associated with the block of data as well as a unique portion of header information differentiating the data packets amongst each other.

4. A method as in claim 3 , wherein the common portion of header information indicates that a respective data packet includes data associated with the block of data and the unique portion of header information indicates a relative location of where data in the respective data packet is stored in the block of data.

5. A method as in claim 1 , wherein transmitting the message includes: i) notifying the first remote process of the memory location in which to store the block of data, and ii) notifying the first remote process of a respective source for retrieving the data.

6. A method as in claim 1 further comprising:

receiving a notification from the second remote process regarding completion of forwarding the data packets to the respective destination and that the second remote process is available for parsing and forwarding another block of data.

7. A method as in claim 1 further comprising:

maintaining status information indicating that the data block is stored in the memory location of a respective memory device;

receiving a notification from the second remote process regarding completion of forwarding the block of data to the respective destination via transmission of the data packets; and

upon receiving the notification, updating the status information to reflect that the block of data was forwarded in the data packets to the respective destination.

8. A method as in claim 1 , wherein initiating the parallel transfer of the block of data includes storing the block of data in the memory location based on use of a direct memory access to the memory location specified by the message.

9. A method as in claim 1 , wherein transmitting the message includes communicating over a respective data bus with a controller that supports execution of the first remote process, the method further comprising: relinquishing control of the respective data bus to enable the first remote process to utilize the respective data bus and store the block of data in the memory location specified in the message, the first remote process initiating a transfer of the block of data to the memory location.

10. A method as in claim 9 further comprising:

upon receiving a notification that the first remote process completes the transfer of the block of data, regaining control of the respective data bus to communicate with a data packet generator circuit that resides at a remote location with respect to the controller and executes the second remote process.

11. A method as in claim 1 , wherein transmitting the message includes communicating over a respective data bus with a controller that supports execution of the first remote process, the method further comprising:

relinquishing control of the respective data bus to enable the first remote process to utilize the respective data bus and store the block of data in the memory location specified in the message, the first remote process initiating, via a respective direct memory access, a parallel transfer of the block of data to the memory location;

regaining control of the respective data bus to perform reads from and writes to a data packet generator circuit that executes the second remote process.

12. A method as in claim 11 , wherein forwarding the header information as well as the memory location specified by the message includes writing information via use of the respective data bus to a first data buffer associated with the data packet generator circuit, the method further comprising:

via use of the respective data bus, reading information from a second data buffer indicating that the data packet generator circuit forwarded the block of data to the destination; and

updating locally maintained status information to indicate that the data packet generator circuit is available to assemble and forward data packets associated with another block of data to a respective destination.

13. A non-transitory computer-readable medium containing instructions which, when executed by one or more processors, performs a method for offloading a task of forwarding information, the method comprising:

receiving a command for delivery of data to a respective destination;

transmitting a message to initiate execution of a first remote process that retrieves a block of the data and stores the block of data in a memory location specified in the message in response to receiving the command;

relinquishing control of a respective data bus to enable the first remote process to utilize the respective data bus and store the block of data in the memory location specified in the message, the first remote process initiating a parallel transfer of the block of data to the memory location, the memory location being accessible by a second remote process; and

forwarding header information as well as the memory location specified in the message to the second remote process that: i) partitions the block of data into data packets, ii) applies respective headers to the data packets based on the header information, and iii) forwards the data packets to the respective destination.

Assignments (14)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 23, 2022
From: ARRIS TECHNOLOGY, INC.
To: ARRIS ENTERPRISES, INC.
Reel/Frame 060791/0583 →
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 →
PATENT SECURITY AGREEMENT Recorded Jul 3, 2019
From: ARRIS ENTERPRISES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 049820/0495 →
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 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 18, 2015
From: ARRIS TECHNOLOGY, INC
To: ARRIS ENTERPRISES, INC.
Reel/Frame 037328/0341 →
MERGER Recorded Jul 29, 2015
From: BROADBUS TECHNOLOGIES INC
To: GENERAL INSTRUMENT WIRELINE NETWORKS INC
Reel/Frame 036206/0297 →
MERGER Recorded Jul 29, 2015
From: GENERAL INSTRUMENT WIRELINE NETWORKS INC
To: ARRIS TECHNOLOGY INC
Reel/Frame 036206/0370 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 25, 2005
From: YADLON, CATHERINE A.; HENTSCHEL, NEIL T.; MCKINLEY, BRITTAIN S.
To: BROADBUS TECHNOLOGIES, INC.
Reel/Frame 017147/0118 →