IP Library Granted Patent US 7,809,936
Granted Patent B2
US 7,809,936 · App. 11/461,811 · Granted Oct 5, 2010

Method and apparatus for reconfiguring a remote device

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 7,809,936
App. No.
11/461,811
Granted
Oct 5, 2010
Kind
B2
Abstract

A system ( 100 ) for reconfiguring a remote device ( 102 ) (e.g., a client device) that includes at least one processor ( 200 ) and reconfigurable logic ( 202 ) that is operatively coupled to the processor ( 200 ), employs for example, a network element that serves as a remote profile server ( 104 ) for the remote device ( 102 ). The remote device ( 102 ) includes an application profiler ( 206 ) that produces application runtime profile statistic information ( 120 ) during runtime of an application running on at least one processor ( 200 ) of the device. The remote profile server ( 104 ) includes a profile analyzer ( 130 ) that analyzes the received application runtime profile statistic information ( 120 ) to determine suitable reconfigurable logic configuration information ( 122 ) and corresponding application patch information ( 124 ) for the remote device ( 102 ). The remote profile server ( 104 ) then sends the reconfiguration logic configuration information ( 122 ) and corresponding application patch information ( 124 ) back to the remote device ( 102 ). The remote device ( 102 ) then utilizes the information to reconfigure its onboard reconfigurable logic ( 202 ) and to also utilizes the corresponding application patch ( 124 ). Corresponding methods are also described.

Claims (43)

1. An apparatus for reconfiguring a remote device that includes a processor and reconfigurable logic operatively coupled to the processor, the apparatus comprising:

a communication interface operative to receive collected application runtime profile statistic information associated with the remote device that was obtained during runtime of an application running on the processor of the remote device by running the application and collecting statistic information on the application as a result of the application running;

profile analyzer operative to analyze the received collected application runtime profile statistic information to determine suitable reconfigurable logic configuration information for the reconfigurable logic of the remote device and corresponding application patch information for the processor of the remote device; and

the communication interface operative to send the reconfiguration logic configuration information and the corresponding application patch information for the remote device.

2. The apparatus of claim 1 wherein the reconfigurable logic configuration information comprises data representing a field programmable gate array configuration file and wherein the corresponding application patch information comprises data representing executable code.

3. The apparatus of claim 1 wherein the communication interface is operatively coupled to a wireless network and wherein the profile analyzer is comprised of a processor that executes instructions.

4. The apparatus of claim 1 wherein the communication interface is operative to receive the collected application runtime profile statistic information that represents at least one of: a number of times particular instructions are executed, or a number of times particular memory locations are accessed, or a number of times particular memory location sequences are accessed, or a number of loop executions that occur, or a structure of loop executions of the application.

5. An apparatus comprising:

a remote device comprising:

a processor;

reconfigurable logic operatively coupled to the processor;

memory, operatively coupled to the processor, containing executable instructions that serve as an application;

an application profiler operative to produce at least application runtime profile statistic information during runtime of the application running on the processor by running the application and collecting statistic information on the application as a result of the application running; and

a communication interface operatively coupled to the application profiler and operative to transmit the collected application runtime profile statistic information for a remote profile server and to receive reconfigurable logic configuration information for the reconfigurable logic of the remote device and corresponding application patch information sent by the processor of the remote profile server.

6. The apparatus of claim 5 wherein the reconfigurable logic configuration information and corresponding application patch information improves remote device performance by at least either causing reduced power consumption of the remote device or improving processing speed of a processor in the remote device when the remote device is reconfigured using the reconfigurable logic configuration information and corresponding application patch.

7. The apparatus of claim 5 wherein the processor executes instructions to serve as the application profiler.

8. The apparatus of claim 5 further comprising a reconfiguration manager operatively coupled to the communication interface and to the reconfigurable logic and operative to at least reconfigure the reconfigurable logic based on the received reconfigurable logic configuration information.

9. The apparatus of claim 8 wherein the reconfiguration manager is operative to facilitate loading of the corresponding application patch information to update the application based on the sent collected application runtime profile statistic information.

10. The apparatus of claim 5 comprising a profile server that comprises:

a communication interface operative to receive collected application runtime profile statistic information associated with the remote device that was obtained during runtime of an application miming on the processor of the remote device;

profile analyzer operative to analyze the received collected application runtime profile statistic information to determine suitable reconfigurable logic configuration information and corresponding application patch information for the remote device; and

the communication interface operative to send the reconfiguration logic configuration information and the corresponding application patch information for the remote device.

11. The apparatus of claim 10 wherein the processor executes instructions and serves as the application profiler.

12. The apparatus of claim 5 wherein the device comprises a cell phone.

13. The apparatus of claim 12 wherein the communication interface is operatively coupled to a wireless network.

14. The apparatus of claim 5 wherein the application profiler is operative to produce at least application runtime profile statistic information that represents at least one of: a number of times particular instructions are executed, or a number of times particular memory locations are accessed, or a number of times particular memory location sequences are accessed, or a number of loop executions that occur, or a structure of loop executions of the application.

15. A method for reconfiguring a device comprising:

obtaining application runtime profile statistic information during runtime of an application running on a processor by running the application and collecting statistic information on the application as a result of the application running;

sending the collected application runtime profile statistic information to a remote profile analyzer; and

configuring reconfigurable logic in response to received reconfigurable logic configuration information and employing an application patch by the processor, in response to a received application patch, provided by the remote profile analyzer based on the sent collected application runtime profile statistic information.

16. The method of claim 15 wherein the method comprises:

receiving reconfigurable logic configuration information for the reconfigurable logic from the remote profile analyzer that is based on the sent collected application runtime profile statistic information; and

receiving an application patch for the processor from the remote profile analyzer that is based on the sent collected application runtime profile statistic information.

17. The method of claim 15 wherein configuring the reconfigurable logic in response to received reconfigurable logic configuration information and employing an application patch by the processor, in response to a received application patch, provided by the remote profile analyzer causes the processor to at least one of: enhance speed of processing of the processor and reduce power consumption of the processor.

18. The method of claim 15 comprising:

receiving collected application runtime profile statistic information associated with the remote device that was obtained during runtime of an application running on the processor;

analyzing the received collected application runtime profile statistic information to determine suitable reconfigurable logic configuration information and corresponding application patch information for the remote device; and

sending the reconfiguration logic configuration information and the corresponding application patch information to the remote device.

19. The method of claim 15 wherein sending the reconfiguration logic configuration information and the corresponding application patch information to the remote device comprises sending the reconfiguration logic configuration information and the corresponding application patch information via a wireless network.

20. The method of claim 19 wherein sending the collected application runtime profile statistic information to the remote profile analyzer comprises wirelessly sending the application runtime profile statistic information to the remote profile analyzer.

21. The method of claim 15 wherein the reconfiguration logic configuration information comprises configuration information for a field programmable gate array.

22. The method of claim 15 comprising executing instructions to serve as an application profiler.

23. The method of claim 15 wherein obtaining application runtime profile statistic information comprises obtaining at least one of: a number of times particular instructions are executed, or a number of times particular memory locations are accessed, or a number of time particular memory location sequences are accessed, or a number of loop executions that occur, or a structure of loop executions of the application.

Assignments (21)
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 039361 FRAME 0212. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051029/0387 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 042985 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051029/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 042762 FRAME 0145. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051145/0184 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051030/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 10, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 050745/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12681366 PREVIOUSLY RECORDED ON REEL 039361 FRAME 0212. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded May 9, 2017
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 042762/0145 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12681366 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded May 9, 2017
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 042985/0001 →
PATENT RELEASE Recorded Aug 17, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 039707/0471 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12092129 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Jul 14, 2016
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 039361/0212 →
SECURITY AGREEMENT SUPPLEMENT Recorded Mar 7, 2016
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 038017/0058 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037354/0225 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037356/0143 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037356/0553 →
RELEASE OF SECURITY INTEREST Recorded Mar 27, 2013
From: CITIBANK, N.A. AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 030099/0657 →
RELEASE OF SECURITY INTEREST Recorded Mar 27, 2013
From: CITIBANK, N.A. AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 030099/0616 →
RELEASE OF SECURITY INTEREST Recorded Mar 27, 2013
From: CITIBANK, N.A. AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 030099/0638 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 26, 2011
From: FREESCALE SEMICONDUCTOR, INC.
To: RAMBUS INC.
Reel/Frame 027133/0896 →
SECURITY AGREEMENT Recorded May 13, 2010
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 024397/0001 →
SECURITY AGREEMENT Recorded Mar 15, 2010
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A.
Reel/Frame 024085/0001 →
SECURITY AGREEMENT Recorded Feb 2, 2007
From: FREESCALE SEMICONDUCTOR, INC.; FREESCALE ACQUISITION CORPORATION; FREESCALE ACQUISITION HOLDINGS CORP.; FREESCALE HOLDINGS (BERMUDA) III, LTD.
To: CITIBANK, N.A. AS COLLATERAL AGENT
Reel/Frame 018855/0129 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 9, 2006
From: EINLOTH, BRIAN W.; MCCLAUGHRY, MICHAEL J.
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 018080/0522 →