IP Library › Granted Patent US 8,527,993
Granted Patent B2
US 8,527,993 · App. 12/896,636 · Granted Sep 3, 2013

Tasking system interface methods and apparatuses for use in wireless devices

Inventors: Raheel Khan (Tustin, CA); Joseph C. Chan (San Diego, CA); Ron Shalev (San Diego, CA); Naveed U. Zaman (San Jose, CA)
Assignee: Qualcomm Incorporated
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,527,993
App. No.
12/896,636
Granted
Sep 3, 2013
Kind
B2
Abstract

Techniques are provided which may be implemented in various methods and/or apparatuses that to provide a tasking system buffer interface capability to interface with a plurality of shared processes/engines.

Claims (84)

1. A method comprising:

in a wireless modem:

accessing task information from at least one of a plurality of task queues, wherein one or more of a plurality of shared client processes is configured to process the task information;

selectively altering a portion of the task information to generate altered task information based on event information associated with at least one of the plurality of task queues, wherein altering the portion of the task information includes discontinuing execution of at least one task thread associated with at least one of the plurality of task queues; and

selectively routing the altered task information to at least one of the plurality of shared client processes.

2. The method as recited in claim 1 , further comprising:

obtaining the event information associated with at least one of the plurality of task queues.

3. The method as recited in claim 1 , further comprising:

obtaining, at least in part via a pulling operation, at least a portion of the at least one task thread from a memory.

4. The method as recited in claim 1 , further comprising:

storing at least a portion of the at least one task thread in a first-in, first-out (FIFO) buffer.

5. The method as recited in claim 4 , further comprising:

selectively altering at least the portion of the at least one task thread stored in the FIFO buffer.

6. The method as recited in claim 4 , wherein selectively altering the portion of the task information further comprises:

operatively bypassing the portion of the at least one task thread stored in the FIFO buffer.

7. The method as recited in claim 6 , wherein selectively altering the portion of the task information further comprises:

storing the portion of the altered task information in the FIFO buffer.

8. The method as recited in claim 1 , further comprising:

selectively altering the portion of the task information based, at least in part, on at least one identifier within the at least one task thread.

9. The method as recited in claim 1 , further comprising:

selectively altering the portion of the task information based, at least in part, on at least one conditional determination.

10. The method as recited in claim 1 , further comprising:

arbitrating access to the at least one of the plurality of shared client processes between at least two of the plurality of task queues.

11. An apparatus comprising:

a processor;

a resource authority to selectively route task information to one or more of a plurality of shared client processes;

a task queue array comprising a plurality of task queues to provide the task information to the resource authority for routing to the one or more of the plurality of shared client processes; and

at least one task decoder coupled to at least one of the plurality of task queues, wherein the at least one task decoder is configured to selectively alter a portion of the task information to generate altered task information based on event information associated with at least one of the plurality of task queues, wherein altering the portion of the task information includes discontinuing execution of at least one task thread associated with at least one of the plurality of task queues.

12. The apparatus as recited in claim 11 , further comprising:

an event pool coupled to the plurality of task queues,

wherein the event pool is configured to provide access to the event information associated with at least one of the plurality of task queues.

13. The apparatus as recited in claim 11 , wherein at least one of the plurality of task queues comprises a task fetcher to obtain at least a portion of the at least one task thread.

14. The apparatus as recited in claim 11 , wherein at least one of the plurality of task queues comprises a task buffer to store at least a portion of the at least one task thread.

15. The apparatus as recited in claim 14 , wherein the at least one task decoder selectively alters at least the portion of the at least one task thread stored in the task buffer.

16. The apparatus as recited in claim 14 , wherein the at least one task decoder operatively bypasses at least the portion of the at least one task thread stored in the task buffer.

17. The apparatus as recited in claim 16 , wherein at least one of the plurality of task queues comprises a task dispatcher coupled to the at least one task decoder to selectively provide the altered portion of the task information to the resource authority.

18. The apparatus as recited in claim 11 , wherein the at least one task decoder is configured to selectively alter the portion of the task information based, at least in part, on at least one identifier within the at least one task thread.

19. The apparatus as recited in claim 12 , wherein the at least one task decoder is configured to obtain the event information and to selectively alter the portion of the task information based, at least in part, on the event information.

20. The apparatus as recited in claim 11 , wherein the at least one task decoder is configured to selectively alter the portion of the task information based, at least in part, on at least one conditional determination.

21. An apparatus for use in a wireless modem, the apparatus comprising:

means for accessing task information from at least one of a plurality of task queues, wherein one or more of a plurality of shared client processes is configured to process the task information;

means for selectively altering a portion of the task information to generate altered task information based on event information associated with at least one of the plurality of task queues, wherein altering the portion of the task information includes discontinuing execution of at least one task thread associated with at least one of the plurality of task queues; and

means for selectively routing the altered task information to at least one of the plurality of shared client processes.

22. The apparatus as recited in claim 21 , further comprising:

means for obtaining event information associated with at least one of the plurality of task queues.

23. The apparatus as recited in claim 21 , further comprising:

means for obtaining, at least in part via a pulling operation, at least a portion of the at least one task thread from a memory.

24. The apparatus as recited in claim 21 , further comprising:

means for storing at least a portion of the at least one task thread in a first-in, first-out (FIFO) manner.

25. The apparatus as recited in claim 24 , further comprising:

means for selectively altering at least the portion of the at least one task thread stored in the FIFO manner.

26. The apparatus as recited in claim 24 , further comprising:

means for operatively bypassing the portion of the at least one task thread stored in the FIFO manner.

27. The apparatus as recited in claim 26 , further comprising:

means for storing the portion of the altered task information in the FIFO manner.

28. The apparatus as recited in claim 21 , further comprising:

means for selectively altering the portion of the task information based, at least in part, on at least one identifier within the at least one task thread.

29. The apparatus as recited in claim 21 , further comprising:

means for selectively altering the portion of the task information based, at least in part, on at least one conditional determination.

30. The apparatus as recited in claim 21 , further comprising:

means for arbitrating access to the at least one of the plurality of shared client processes between at least two of the plurality of task queues.

31. An article comprising:

a non-transitory computer-readable medium having stored thereon computer-implementable instructions executable by at least one processing unit in a wireless modem to:

access task information from at least one of a plurality of task queues, wherein one or more of a plurality of shared client processes is configured to process the task information;

selectively alter a portion of task information to generate altered task information based on event information associated with at least one of the plurality of task queues, wherein altering the portion of the task information includes discontinuing execution of at least one task thread associated with at least one of the plurality of task queues; and

initiate selectively routing of the altered task information to at least one of the plurality of shared client processes.

32. The article as recited in claim 31 , the computer-implementable instructions being further executable by the at least one processing unit to:

obtain event information associated with at least one of the plurality of task queues.

33. The article as recited in claim 31 , the computer-implementable instructions being further executable by the at least one processing unit to:

obtain, at least in part via a pulling operation, at least a portion of the at least one task thread from a memory.

34. The article as recited in claim 31 , the computer-implementable instructions being further executable by the at least one processing unit to:

initiate storing of at least a portion of the at least one task thread in a first-in, first-out (FIFO) buffer.

35. The article as recited in claim 34 , the computer-implementable instructions being further executable by the at least one processing unit to:

selectively alter at least the portion of the at least one task thread stored in the FIFO buffer.

36. The article as recited in claim 34 , the computer-implementable instructions being further executable by the at least one processing unit to:

initiate operatively bypassing the portion of the at least one task thread stored in the FIFO buffer.

37. The article as recited in claim 36 , the computer-implementable instructions being further executable by the at least one processing unit to:

initiate storing of the portion of the altered task information in the FIFO buffer.

38. The article as recited in claim 31 , the computer-implementable instructions being further executable by the at least one processing unit to:

selectively alter the portion of the task information based, at least in part, on at least one identifier within the at least one task thread.

39. The article as recited in claim 31 , the computer-implementable instructions being further executable by the at least one processing unit to:

selectively alter the portion of the task information based, at least in part, on at least one conditional determination.

40. The article as recited in claim 31 , the computer-implementable instructions being further executable by at least one processing unit to:

initiate arbitrating access to the at least one of the plurality of shared client processes between at least two of the plurality of task queues.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 16, 2011
From: KHAN, RAHEEL; CHAN, JOSEPH C.; SHALEV, RON; ZAMAN, NAVEED U.
To: QUALCOMM INCORPORATED
Reel/Frame 025646/0412 →
Continuity (2)
Provisional Application 61350421 · Jun 1, 2010
Related Publication 20110296415A1 · Dec 1, 2011