IP Library Granted Patent US 8,081,191
Granted Patent B2
US 8,081,191 · App. 12/237,840 · Granted Dec 20, 2011

Multimedia processing in parallel multi-core computation architectures

Assignee: RadiSys Canada ULC
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,081,191
App. No.
12/237,840
Granted
Dec 20, 2011
Kind
B2
Abstract

In a media server for processing data packets, media server functions are implemented by a plurality of modules categorized by real-time response requirements.

Claims (40)

1. A media server for processing data packets, comprising:

a plurality of parallel processing cores for implementing media server functions,

wherein said plurality of parallel processing cores implement said media server functions in three or more different types of modules categorized by real-time response requirements,

wherein subsets of said plurality of parallel processing cores are respectively dedicated to said three or more different types of modules, and

wherein a number of processing cores in each of said subsets is dynamically configurable based at least in part on an amount of core processor utilization and load levels during runtime.

2. The media server as claimed in claim 1 , wherein said three or more different types of modules are based on consequences of missing corresponding processing deadlines, the three or more different types of modules comprising:

hard real-time (HRT) modules for processing HRT functions, wherein missing a processing deadline when executing the HRT functions results in a failure of the media server;

soft real-time (SRT) modules for processing SRT functions, wherein missing a processing deadline when executing the SRT functions results in an unacceptable degraded quality of service; and

near real-time (NRT) modules for processing NRT functions, wherein missing a processing deadline when executing the NRT functions results in a tolerable quality of service.

3. The media server as claimed in claim 2 , wherein one of said plurality of parallel processing cores serves as a master core for providing operating services, configuration control, and loading of available cores within the media server.

4. The media server as claimed in claim 3 , wherein said master core includes a control core module for allocating and scheduling system resources across said plurality of parallel processing cores.

5. The media server as claimed in claim 2 , wherein the HRT modules are separated from the SRT and NRT modules for independent processing.

6. The media server as claimed in claim 4 , wherein the control core module is configured to monitor the amount of core processor utilization and load levels during runtime to dynamically adjust the allocation of processing cores for said HRT, SRT, and NRT functions.

7. The media server as claimed in claim 3 , wherein said master core is configured to schedule said HRT, SRT and NRT modules for execution concurrently on the same core or sets of cores and implement an execution priority scheme to determine the target core for execution.

8. The media server as claimed in claim 1 , further comprising:

a media processing calibration module for generating a model for calculating a load required by specific media processing object types, the media processing calibration module generating the model in an offline simulation environment based on specific static configurations of the media processing object types; and

a control core module for allocating the media server functions across the subsets of said plurality of parallel processing cores based on, in addition to being based on the three or more different types of modules categorized by the real-time response requirements, the generated model for corresponding media processing object types.

9. A method of operating a media server for processing data packets, comprising:

providing three or more different types of modules categorized by real-time response requirements for performing media server functions;

dedicating subsets of a plurality of parallel processing cores to said three or more different types of modules;

dynamically configuring a number of processing cores in each of said subsets based at least in part on an amount of core processor utilization and load levels during runtime; and

implementing the three or more different types of modules on the respective subsets of the plurality of parallel processing cores in accordance with said real-time response requirements.

10. The method claimed in claim 9 , wherein said three or more different types of modules are based on consequences of missing corresponding processing deadlines, the three or more different types of modules comprising:

hard real-time (HRT) modules for processing HRT functions, wherein missing a processing deadline when executing the HRT functions results in a failure of the media server;

soft real-time (SRT) modules for processing SRT functions, wherein missing a processing deadline when executing the SRT functions results in an unacceptable degraded quality of service; and

near real-time (NRT) modules for processing NRT functions, wherein missing a processing deadline when executing the NRT functions results in a tolerable quality of service.

11. The method as claimed in claim 10 , wherein one of said plurality of parallel processing cores serves as a master core for providing operating services, configuration control, and loading of available cores within the media server.

12. The method as claimed in claim 11 , wherein a control core module in said master core allocates and schedules system resources across said plurality of parallel processing cores.

13. The method as claimed in claim 10 , wherein the HRT modules are separated from the SRT and NRT modules for independent processing.

14. The method as claimed in claim 13 , wherein the control core module maintains a run-time model of core processor utilization and load levels to dynamically adjust the allocation of processing cores for said HRT, SRT, and NRT functions.

15. The method as claimed in claim 11 , wherein said master core schedules said HRT, SRT and NRT modules for execution concurrently on the same core or sets of cores.

16. The method as claimed in claim 15 , wherein said master core module is configured to implement an execution priority scheme to determine the target core for execution.

17. The method as claimed in claim 14 , wherein a media processing calibration module provides data needed to estimate a number of available central processing units (CPUs) based on a current resource configuration.

18. The method as claimed in claim 17 , wherein the media processing calibration module output is obtained in an offline simulation environment by, for specific static configurations of media processing object types, providing media input and using feedback data from media processing cores to estimate and factorize information on a CPU load incurred on a CPU core.

19. The method as claimed in claim 18 , wherein the estimation functions are deemed to be either of a k-degree univariate polynomial or a n -dimensional hyper plane conjunction class.

20. The method as claimed in claim 19 , wherein a k-degree univariate polynomial is built on an interval using interpolation of a set of no less than k+1 data points such that the interpolation error is minimal and the values at any node are less than or equal to the value of the polynomial on the same node.

21. The method as claimed in claim 20 , wherein a n-dimensional hyper plane is built on a given interval by using experimental data points to constitute and solve a system of n independent linear equations.

22. The method as claimed in claim 18 , wherein additional media processing objects are created so that the simulation is conducted at an optimal CPU load level.

23. The method as claimed in claim 22 , wherein the creation of additional media processing objects is adjusted dynamically according to the CPU load incurred by the media processing objects that are being calibrated.

24. The method as claimed in claim 22 , wherein the feedback from the media Processing media processing cores is normalized as appropriate to the nature of operation of the media processing object that is being calibrated.

Assignments (7)
SECURITY INTEREST Recorded Jan 4, 2018
From: RADISYS CORPORATION
To: MARQUETTE BUSINESS CREDIT, LLC
Reel/Frame 044540/0080 →
SECURITY INTEREST Recorded Jan 3, 2018
From: RADISYS CORPORATION; RADISYS INTERNATIONAL LLC
To: HCP-FVG, LLC
Reel/Frame 044995/0671 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 7, 2014
From: RADISYS CANADA INC.
To: RADISYS CORPORATION
Reel/Frame 033903/0596 →
CHANGE OF NAME Recorded Aug 9, 2013
From: RADISYS CANADA ULC
To: RADISYS CANADA INC.
Reel/Frame 030981/0740 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 10, 2011
From: SALEEM, ADNAN; CHUBBS, ALVIN; GUNN, NEIL; DAVIDSON, JAMES; SMIRNOV, SERGUEI
To: RADISYS CANADA ULC
Reel/Frame 025786/0095 →
CHANGE OF NAME Recorded Apr 2, 2010
From: RADISYS CANADA INC.
To: RADISYS CANADA ULC
Reel/Frame 024180/0241 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 8, 2008
From: SALEEM, ADNAN; CHUBBS, ALVIN; GUNN, NEIL; DAVIDSON, JAMES
To: RADISYS CANADA INC.
Reel/Frame 021937/0362 →
Continuity (4)
Continuation In Part PCTCA2007000494 · Mar 28, 2007
Provisional Application 60743959 · Mar 30, 2006
Provisional Application 60743848 · Mar 28, 2006
Related Publication 20090083516A1 · Mar 26, 2009