Ulllted States Patent (10) Patent N0.: US 8,555,282 B1

Download as pdf or txt
Download as pdf or txt
You are on page 1of 15

US008555282B1

(12) Ulllted States Patent


Kahn et a].

(10) Patent N0.:


(45) Date of Patent:

US 8,555,282 B1
Oct. 8, 2013

(54) OPTIMIZING PREEMPTIVE OPERATING


SYSTEM WITH MOTION SENSING
_ _
a a

2
5,654,619 A
5,703,786 A

1%;
12/1997

lsivlitft a1~
e on

8/1997 Iwashita
Conkright

(75)

IIWBIIIOFSI PhlllPPe Kahn, APIOSs CA (Us);


Arthur Kinsolving, Santa Cruz, CA (Us)

5,737,439 A
5,771,001 A 5,778,882 A
5,911,065 A * 5,955,667 A

4/1998 Lapsley et a1.


6/1998 Cobb 7/1998 Raymond et al.
6/1999 9/1999 Williams et al. ............ .. 718/107 F f

(73) Ass1gnee: DP Technologies, Inc., Scotts Valley, CA


(Us)
(*) Notice: Subject to any disclaimer, the term of this

5,955,871 A

9/l999 Nsyen

5,960,085 A
5,976,083 A

9/1999 de la Huerga
11/1999 Richardson et al.

6,013,007 A

1/2000 Root et a1.

patent is extended or adjusted under 35

(Continued)
FOREIGN PATENT DOCUMENTS

U.S.C. 154(b) by 1035 days.


(21) App1.N0.: 11/829,813 EP
EP

1 104143
0 833 537

5/2001
7/2002

(22) Filed:
(51)
(52)

Jul. 27, 2007


(200601)

(Continued)
OTHER PUBLICATIONS
Access and Terminals (AT); Multimedia Message Service (MMS)
for PSTN/ISDN; Multimedia Message Communication Between a
FiXedNetWorkMultimedia Message TerminalEquipment andaMul.

Int. Cl. G06F 9/46


U-s- Cl-

USPC .......................... .. 718/102; 718/ 100; 718/104

(58)

Field Of Classi?cation Search


USPC ........................................ .. 718/100, 102, 103

timedia Message Service Centre, ETSI AT-F Rapporteur Meeting,


Feb. 4-6, 2003, Gothenburg, DES/AT-030023 V0.0.1 (Mar. 2003).

See application ?le for complete search history.

(Contlnued)
Primary Examiner * Emerson Puente
Assistant Examiner * Charles Swift

(56)

References Cited
U.S. PATENT DOCUMENTS
4,285,041 4,571,680 4,578,769 4,700,369
5,313,060 5,386,210 5,430,480 5,446,725

A A A A
A A A A

8/1981 2/1986 3/1986 10/1987


5/1994 1/1995 7/1995 8/1995

Smith Wu Frederick Siegal et al.


Gast et a1. Lee Allen et a1. Ishiwatari

(74) Attorney, Agent, orFirm * Blakely, Sokoloff, Taylor & Zafman LLP; Judith A. SZepesi

4,776,323 A

10/1988 Spector

(57)

ABSTRACT

A method and apparatus to provide a scheduler comprising receiving motion information from a mobile device, deter
mining a current use characteristic for the mobile device based on the motion information, and scheduling a task based
on the current use characteristic.

5,446,775 A
5,454,114 A 5,485,402 A
5,506,987 A *

8/1995 Wright et al.


9/1995 Yach et a1. 1/1996 Smith et al.
4/1996 Abramson et al. .......... .. 718/103

22 Claims, 6 Drawing Sheets

US 8,555,282 B1
Page 2
References Cited 7,220,220 B2 7,254,516 B2 7,280,096 B2 5/2007 Stubbs 61 a1. 8/2007 Case et a1. 10/2007 Marvit et al.

6,061,456 6,122,595 6,135,951 6,145,389 6,246,321 6,282,496 6,353,449


6,369,794 6,396,883 6,408,330 6,428,490 6,470,147 6,478,736 6,493,652 6,496,695 6,513,381 6,522,266 6,529,144 6,532,419 6,539,336 6,595,929 6,607,493

US PATENT DOCUMENTS A 5/2000 Andrea etal.


A A A B1 B1 B1 B1 B2 B1 B1 B1 B1 B1 B1 B2 B1 B1 B1 B1 B2 B2
B2 B1 B1 B2 B2 B2 B1 B1

7,280,849 B1 7,297,088 B2
7,301,526 7,301,527 7,301,528 7,301,529 7,305,323 7,328,611 7,334,472 7,353,112 7,365,735 7,365,736 7,365,737 7,379,999 7,387,611 7,397,357 7,451,056 7,457,719 7,457,872 7,463,997 7,467,060 7,512,515 7,526,402
7,640,804 7,647,196 7,653,508 7,664,657 7,689,107 7,705,884 7,752,011 7,753,861

10/2007 Bailey 11/2007 Tsuji


11/2007 11/2007 11/2007 11/2007 12/2007 2/2008 2/2008 4/2008 4/2008 4/2008 4/2008 5/2008 6/2008 7/2008 11/2008 11/2008 11/2008 12/2008 12/2008 3/2009 4/2009
1/2010 1/2010 1/2010 2/2010 3/2010

9/2000 10/2000 11/2000 6/2001 8/2001 3/2002 4/2002 5/2002 6/2002 8/2002 10/2002 11/2002 12/2002 12/2002 2/2003 2/2003 3/2003 3/2003 3/2003 7/2003 8/2003
9/2003 10/2003 12/2003 1/2004 2/2004 3/2004 5/2004 7/2004

Varley eta1~ Richardson etal. Ebeling et a1. Rechsteineret a1. Chowdhary Gregg etal, Sakurai et a1. Yang et a1. dela Huerga Kramer et a1. Imada Mault Ohlenbusch et a1. K9ujieta1~ Fyfe etal. Soehren et a1. Nilsen etal. Begin etal. Vock eta1~ Stivoric etal. Song
Endo Ogawa Ober OMalley Nishimoto et a1. Kubo et a1. Shirai Guptaet a1.

B2 B2 B2 B2 B2 B2 B2 B2 B2 B2 B2 B1 B2 B2 B2 B1 B2 B2 B2 B2 B2
B2 B2 B1 B1 B2 B2 B2 B1

Marvit et a1. Marvit etal. Marvit et a1. Marvit etal, skvonsov etal. Kleesetal. seo et a1. Choi et a1. Reinhardt et a1. Marvit et a1. Marvit et a1. Zhou et a1. Inoue et 31, Krumm et a1. Flentov et a1. Kahn et 31, Aton et a1. Pasolini et a1. Kulach et a1. Vock et a1. Tanenhaus et a1.
Daumeretal. Kahn etal. Kahn etal. Letzt et a1. Enomoto

6,611,789 B1
6,628,898 6,634,992 6,665,802 6,672,991 6,685,480 6,700,499 6,731,958 6,766,176

8/2003 Darley

7,608,050 B2

10/2009 Shugg

4/2010 Pinto et a1. 7/2010 Nivaetal.

7/2010 Kahn etal.


7/2010 Douceur et a1. ............ .. 718/107

6,771,250 B1

8/2004 Oh

7,765,553 B2

6,786,877 6,788,980 6,790,178 6,813,582 6,823,036 6,826,477 6,836,744 6,881,191 6,885,971 6,895,425 6,898,550 6,928,382 6,941,239 6,959,259 6,975,959 7,010,332 7,020,487 7,027,087 7,028,547 7,042,509 7,054,784 7,057,551 7,072,789 7,092,846 7,096,619
7,149,964 7,155,507 7,158,912 7,169,084 7,171,222 7,171,331 7,173,604 7,176,886 7,176,887 7,176,888 7,177,684 7,180,500 7,180,501 7,180,502 7,200,517 7,212,230 7,212,943

B2 B1
B1 B2 B1 B2 B1

9/2004 Foxlin 9/2004 Johnson


9/2004 11/2004 11/2004 11/2004 12/2004
4/2005 5/2005 5/2005 8/2005 9/2005 10/2005 12/2005 3/2006 3/2006 4/2006 4/2006

7,774,156 B2 7,788,059 B1
7,857,772 7,881,902 7,892,080 7,987,070 8,187,182
2002/0006284 2002/0023654 2002/0027164 2002/0042830 2002/0044634 2002/0054214 2002/0089425 2002/0109600 2002/0118121 2002/0122543 2002/0138017

8/2010 Niva etal. 8/2010 Kahn etal.


12/2010 2/2011 2/2011 7/2011 5/2012
1/2002 2/2002 3/2002 4/2002 4/2002 5/2002 7/2002 8/2002 8/2002 9/2002 9/2002 10/2002 10/2002 10/2002 11/2002 12/2002 1/2003
2/2003

Mault et 61. Levi et a1. Chen Ladetto et a1. Asphahani et a1.


Vock et a1. Kadyk et a1. Blackadar etal. Hong etal Unuma etal. Vock et a1. Dietrich eta1~ Irvin et a1. Kimata Nozaki er a1. Shiratori er a1.

B2 B1 B1 B2 B2
A1 A1 A1 A1 A1 A1 A1 A1 A1 A1 A1

Bouvier et a1. Kahn etal. Dahl Kahn etal. Kahn etal.


Kim Webb Mault et a1. Bose et a1. Rooke et a1. Yoshikawa Kubo et a1. Mault et a1. Lehrman etal. Rowen Buietal. OMalley McCarthy et a1. Wong et a1. Nykanen etal. Feinstein Ladetto et a1.
Kavooriet a1. ............. .. 709/226

B2
B2 B1 B1 B2 B2 B2 B2 B1 B2 B2 B2

4/2005 Oakleyetal.

2001/0047488 A1

11/2001 Verplaetse etal.

B2 B2 B1 B2 B2 B2
B1 B2 B2 B2 B2 B2 B2 B2 B2 B2 B1 B2 B2 B2 B2 B2 B2

5/2006 5/2006 6/2006 7/2006 8/2006 8/2006


12/2006 12/2006 1/2007 1/2007 1/2007 1/2007 2/2007 2/2007 2/2007 2/2007 2/2007 2/2007 2/2007 2/2007 4/2007 5/2007 5/2007

Onuki Flentov er a1. Vogt Vock et a1. Vock et a1. Jackson et a1,
Cottrille etal. Hirano et a1. Vock et a1. Tsuji Fostick Vock et a1. Marvit et a1. Marvit et a1. Marvit et a1. Marvit et a1. Kroll et a1. Marvit et a1. Marvit et a1. Marvit et a1. Darley et a1. Stavely Aoshima et

2002/0142887 2002/0150302 2002/0151810 2002/0173295 2002/0190947 2003/0018430


2003/0048218 2003/0083596 2003/0093187 2003/0101260 2003/0109258 2003/0139692 2003/0139908 2003/0149526 2003/0151672 2003/0187683 2003/0208110 2003/0208113 2003/0227487 2003/0236625 2004/0017300 2004/0024846 2004/0043760

A1 A1 A1 A1 A1 A1
A1 A1 A1 A1 A1 A1 A1 A1 A1 A1 A1 A1 A1 A1 A1 A1 A1

7,148,797 B2

12/2006 AlbeIT

2003/0033411 A1

3/2003 5/2003 5/2003 5/2003 6/2003 7/2003 7/2003 8/2003 8/2003 10/2003 11/2003 11/2003 12/2003 12/2003 1/2004 2/2004 3/2004

Milnes et a1. Kramer et a1. Walker et a1. Dacier et a1. Mantyjarvi et a1. Barrey etal. Wegerich etal. Zhou et a1. Robins et a1. Kirchhoffet a1. Mault et a1. Mault et a1. Hugh Brown et a1. Kotzin et a1. Randall et a1. Rosenfeld et a1.

US 8,555,282 B1
Page 3
2004/0044493 A1 2004/ 0047498 A1 3/2004 3/ 2004 4/2004 4/2004 4/2004 6/2004 6/2004 6/2004 6/ 2004 6/2004 6/2004 6/2004 6/2004 6/2004 6/2004 7/2004 7/2004 7/2004 7/2004 7/2004 7/2004 7/2004 7/2004 9/2004 9/2004 1 1/ 2004 11/2004 11/2004 12/ 2004 12/2004 12/2004 2/2005 2/2005 2/2005 3/2005 Coulthard Mulet-Parada et al. 2006/0063980 A1 2006/ 0064276 A1 3/2006 Hwang et al. 3/2006 Ren et al.

2004/0078219 A1 2004/0078220 A1
2004/0081441 2004/0106958 2004/0122294 2004/0122295 2004/ 0122296 2004/0122297 2004/0122333 2004/0122484 2004/0122485 2004/0122486 2004/0122487 2004/0125073 2004/0130628 2004/0135898 2004/0146048 2004/0148340 2004/0148341 2004/0148342 2004/0148351 2004/0176067 2004/0185821 2004/0219910 2004/0225467 2004/0236500 2004/ 0242202 2004/0247030 2004/0259494 A1 A1 A1 A1 A1 A1 A1 A1 A1 A1 A1 A1 A1 A1 A1 A1 A1 A1 A1 A1 A1 A1 A1 A1 A1 A1 A1

Kaylor et al. Jackson Sato et al. Mathis et al. Hatlestad et al. Hatlestad et al. Hatlestad et al. Stahmann et al. Nissila Hatlestad et al. Stahmann et al. Stahmann et al. Hatlestad et al. Potter et al. Stavely Zador Cotte Cotte Cotte Cotte Cotte Lakhani et al. Yuasa Beckers Vock et al. Choi et al. Torvinen Wiethoff Mazar
Taha Soehren et al. Babu Porter

2006/0080551 2006/0090088 2006/0098097 2006/0100546 2006/0109113 2006/0136173 2006/ 0140422 2006/0149516 2006/0154642 2006/0161377 2006/0161459 2006/0167387 2006/0167647 2006/0167943 2006/0172706 2006/0174685 2006/0204214 2006/0206258 2006/0223547 2006/0249683 2006/0256082 2006/0257042 2006/0259268 2006/ 0284979 2006/0288781 2006/0289819 2007/ 0004451 2007/0005988 2007/0017136
2007/0037605 2007/0038364 2007/0040892 2007/0050157

A1 A1 A1 A1 A1 A1 A1 A1 A1 A1 A9 A1 A1 A1 A1 A1 A1 A1 A1 A1 A1 A1 A1 A1 A1 A1 A1 A1 A1
A1 A1 A1 A1

4/2006 4/2006 5/2006 5/2006 5/2006 6/2006 6/2006 7/2006 7/2006 7/2006 7/2006 7/2006 7/2006 7/2006 8/2006 8/2006 9/2006 9/2006 10/2006 11/2006 11/2006 11/2006 11/2006 12/2006 12/2006 12/2006 1/2007 1/2007 1/2007
2/2007 2/2007 2/2007 3/2007

Mantyjarvi et al. Choi et al. Wach et al. Silk Reyes et al. Case, Jr. et al. Zurek et al. Bond et al. Scannell, Jr. Rakkola et al. Rosenfeld et al. Buchholz et al. Krumm et al. Rosenberg Grif?n et al. Skvortsov et al. Shah et al. Brooks Chin et al. Goldberg et al. Cho et al. Ofek et al. Vock et al. Clarkson Daumer et al. Parsons et al. Anderson Zhang et al. Mosher et al.
Logan et al. Lee et al. Aoki et al. Kahn et al.

2005/0015768 A1

1/2005 Moore ........................ .. 718/102

2007/0024441 A1

2/2007 Kahn et al.

2005/0027567 2005/0033200 2005/0038691 2005/0048945

A1 A1 A1 A1

2005/0048955 A1
2005/0078197 A1 2005/0079873 A1 2005/0101841 A9

3/2005 Ring
4/2005 Gonzales 4/2005 Caspi et al. 5/2005 Kaylor et al.

2007/0061105 A1
2007/0063850 A1 2007/0067094 A1 2007/0073482 A1

3/2007 Darley et al.


3/2007 Devaul et al. 3/2007 Park et al. 3/2007 Churchill et al.

2005/0102167 A1
2005/0107944 A1 2005/0113649 A1 2005/0113650 A1
2005/0131736 A1

5/2005 Kapoor
5/2005 Hovestadt et al. 5/2005 Bergantino 5/2005 Pacione et al.
6/2005 Nelson et al.

2007/0075127 A1
2007/0075965 A1 2007/0082789 A1 2007/0104479 A1
2007/0106991 A1*

4/2007 Rosenberg
4/2007 Huppi et al. 4/2007 Nissila et al. 5/2007 Machida
5/2007 Yoo ............................. .. 718/103

2005/0141522 2005/0143106 2005/0146431 2005/0157181 2005/0165719 2005/0168587 2005/0182824

A1 A1 A1 A1 A1 A1 A1

6/2005 6/2005 7/2005 7/2005 7/2005 8/2005 8/2005

Kadar et al. Chan et al. Hastings et al. Kawahara et al. Greenspan et al. Sato et al. Cotte

2007/0125852 2007/0130582 2007/0142715 2007/0143068 2007/0145680 2007/0150136 2007/0156364

A1 A1 A1 A1 A1 A1 A1

6/2007 6/2007 6/2007 6/2007 6/2007 6/2007 7/2007

Rosenberg Chang et al. Banet et al. Pasolini et al. Rosenberg Doll et al. Rothkopf

2005/0183086 A1

8/2005 Abe et al. .................... .. 718/100

2007/0161410 A1

7/2007 Huang et al.

2005/0202934 A1
2005/0203430 A1

9/2005 Olrik et al.


9/2005 Williams et al.

2007/0165790 A1
2007/0169126 A1*

7/2007 Taori
7/2007 Todoroki et al. ............ .. 718/103

2005/0210300 2005/0212751 2005/0212752 2005/0212753 2005/0212760 2005/0216403 2005/0222801 2005/0232388 2005/0232404 2005/0234676 2005/0235058 2005/0238132 2005/0240375

A1 A1 A1 A1 A1 A1 A1 A1 A1 A1 A1 A1 A1

9/2005 9/2005 9/2005 9/2005 9/2005 9/2005 10/2005 10/2005 10/2005 10/2005 10/2005 10/2005 10/2005

Song et al. Marvit et al. Marvit et al. Marvit et al. Marvit et al. Tarn et al. Wulff et al. Tsuji Gaskill Shibayama Rackus et al. Tsuji Sugai

2007/0176898 2007/0192483 2007/0208531 2007/0213126 2007/0239399 2007/0250261 2007/0259685 2007/0259716 2007/0259717 2007/0260418 2007/0260482 2007/0263995 2007/0281762

A1 A1 A1 A1 A1 A1 A1 A1 A1 A1 A1 A1 A1

8/2007 8/2007 9/2007 9/2007 10/2007 10/2007 11/2007 11/2007 11/2007 11/2007 11/2007 11/2007 12/2007

Suh Rezvani et al. Darley et al. Deutsch et al. Sheynblat et al. Soehren Engblom et al. Mattice et al. Mattice et al. Ladetto et al. Nurmela et al. Park et al. Barros et al.

2005/0243178 A1

11/2005 McConica

2008/0005738 A1*

1/2008 Imai et al. ................... .. 718/100

2005/0245988 A1
2005/0248718 A1 2005/0256414 A1

11/2005 Miesel
11/2005 Howell et al. 11/2005 Kettunen et al.

2008/0030586 A1
2008/0046888 A1* 2008/0052716 A1*

2/2008 Helbing et al.


2/2008 Appaji ........................ .. 718/102 2/2008 Theurer ...................... .. 718/103

2005/0258938 A1 2005/0262237 A1

11/2005 Moulson 11/2005 Fulton et al.

2008/0072014 A1 2008/0082994 A1

3/2008 Krishnan et al. 4/2008 Ito et al.

2005/0281289 A1
2006/0009243 A1

12/2005 Huang et al.


1/2006 Dahan et al.

2008/0113689 A1
2008/0140338 A1*

5/2008 Bailey
6/2008 No et al. ..................... .. 702/141

2006/0017692 A1
2006/0020177 A1 2006/0029284 A1

1/2006 Wehrenberg et al.


1/2006 Seo et al. 2/2006 Stewart

2008/0153671 A1
2008/0165022 A1 2008/0168361 A1

6/2008 Ogg et al.


7/2008 HerZ et al. 7/2008 Forstall et al.

US 8,555,282 B1
Page 4
2008/0171918 2008/0214358 2008/0231713 2008/0231714 2008/0232604 2008/0243432 2008/0303681 A1 A1 A1 A1 A1 A1 A1
7/ 2008 Teller et al.

Jones, L, et al, Wireless Physiological Sensor System for Ambula

9/2008 Ogg et al.


9/2008 9/2008 9/ 2008 10/2008 12/2008
12/2008
1/2009

tory

Use,

<http://ieeexplore.ieee.org/xpl/freeabsiall .j sp?tp:

Florea et a1. Estevez et al. Dufresne et a1. Kato et al. Herz et al.
Carro et al. .............. .. 455/456.3
Fecioru ....................... .. 718/103

&arnumber:1612917&isnumber:33861>, Apr. 3-5, 2006, 1 page. Jovanov, Emil, et al, A Wireless Body Area Network of Intelligent Motion Sensors for Computer Assisted Physical Rehabilitation, Journal of NeuroEngineering and Rehabilitation, Mar. 2005, 10
pages.

2008/0311929 A1*

2009/0017880 A1
2009/0031319 A1*

1/2009 Moore et al.

Kalpaxis, Alex, Wireless Temporal-Spatial Human Mobility Analy


sis Using Real-Time Three Dimensional Acceleration Data, IEEE Intl. Multi-Conf. on Computing in Global IT (ICCGI07), 2007, 7
pages.

2009/0043531 2009/0047645 2009/0067826 2009/0088204 2009/0099668 2009/0124348 2009/0128448 2009/0174782 2009/0213002 2009/0215502 2009/0234614 2009/0274317 2009/0296951 2009/0319221 2010/0056872 2010/0057398

A1 A1 A1 A1 A1 A1 A1 A1 A1 A1 A1 A1 A1 A1 A1 A1

2/2009 2/ 2009 3/ 2009 4/2009 4/ 2009 5/2009 5/2009 7/2009 8/2009 9/2009 11/2009 12/2009 12/2009 3/2010

Kahn et al. Dibenedetto et al. Shinohara et a1. Culbert et a1. Lehman et al. Yoseloff et al. Riechel Kahn et al. Rani et a1. Kahn et al. Kahn et al. De Haan Kahn et al. Kahn et al.

Margaria, Rodolfo, Biomechanics and Energetics of Muscular Exercise, Chapter 3, Oxford: Clarendon Press 1976, pp. 105-125. Milenkovic, Milena, et al, An Accelerometer-Based Physical Reha
bilitation System, IEEE SouthEastern Symposium on System Theory, 2002, pp. 57-60. Mizell, David, Using Gravity to Estimate Accelerometer Orienta tion, Seventh IEEE International Symposium on Wearable Comput
ers, 2003, 2 pages.

8/ 2009 Griffin, Jr.

3/2010 Darley et al.

Ormoneit, D, et al, Learning and Tracking of Cyclic Human Motion: Proceedings of NIPS 2000, Neural Information Processing Systems, 2000, Denver, CO, pp. 894-900.
Otto, Chris, et al, System Architecture of a Wireless Body Area Sensor Network for Ubiquitous Health Monitoring, Journal of Mobile Multimedia, vol. 1, No. 4, 2006, pp. 307-326. Park, Chulsung, et al, Eco: An Ultra-Compact Low-Power Wireless Sensor Node for Real-Time Motion Monitoring, IEEE Int. Symp. on Information Processing in Sensor Networks, 2005, pp. 398-403. Shen, Chien-Lung, et al, Wearable Band Using a Fabric-Based
Sensor for Exercise ECG Monitoring, IEEE Int. Symp. on Wearable

FOREIGN PATENT DOCUMENTS


GB JP JP JP W0 W0 W0 2431813 A 7020547 A 2005-309691 A 2006-118909 WO 99/22338 WO 00/63874 W0 02/088926 5/2007 1/1995 11/2005 5/2006 5/1999 10/2000 11/2002

Computers, 2006, 2 pages.

Weckesser, P, et al, Multiple Sensorprocessing for High-Precision


OTHER PUBLICATIONS

Ang, Wei Tech, et al, Zero Phase Filtering for Active Compensation
of Period Physiological Motion, Proc 1st IEEE / RAS-EMBS Inter
national Conference on Biomedical Robotics and Biomechatronics,

Navigation and Environmental Modeling with a Mobile Robot, IEEE, 1995, pp. 453-458. Weinberg, Harvey, MEMS Motion Sensors Boost Handset Reliabil

ity

Jun.

2006,

shttp://www.mwrf.com/Articles/Print.

cfm?ArticleID:12740>, Feb. 21, 2007, 3 pages.

Feb. 20-22, 2006, pp. 182-187.

Weinberg, Harvey, Minimizing Power Consumption of iMEMS

Aylward, Ryan, et al, Sensemble: AWireless, Compact, Multi-User


Sensor System for Interactive Dance, International Conference on

Accelerometers, Analog Devices, <http://www.analog.com/static/


imported-?les/applicationinotes/5935 15 1853362884599AN601. pdf>, 2002, 5 pages. Wixted, Andrew J, et al, Measurement of Energy Expenditure in Elite Athletes Using MEMS-Based Triaxial Accelerometers, IEEE Sensors Journal, vol. 7, No. 4, Apr. 2007, pp. 481-488. Yoo, Chang-Sun, et al, Low Cost GPS/INS Sensor Fusion System for UAV Navigation, IEEE, 2003, 9 pages.

New Interfaces for Musical Expression (NIME06), Jun. 4-8, 2006,


pp. 134-139.

Baca, Arnold, et al, Rapid Feedback Systems for Elite Sports Train ing, IEEE Pervasive Computing, Oct-Dec. 2006, pp. 70-76. Bakhru, Kesh, A Seamless Tracking Solution for Indoor and Out
door Position Location, IEEE 16th International Symposium on

Personal, Indoor, and Mobile Radio Communications, 2005, pp.


2029-2033.

Anderson, Ian, et al, Shakra: Tracking and Sharing Daily Activity Levels with Unaugmented Mobile Phones, Mobile Netw Appl, Aug.
3, 2007, pp. 185-199. Hemmes, Jeffrey, et al, Lessons Learned Building TeamTrak: An
Urban/Outdoor Mobile Testbed, 2007 IEEE Int. Conf. on Wireless

Bliley, Kara E, et al, A Miniaturized Low Power Personal Motion

Analysis Logger Utilizing MEMS Accelerometers and Low Power Microcontroller, IEEE EMBS Special Topic Conference on Microtechnologies in Medicine and Biology, May 12-15, 2005, pp.
92-93.

Algorithms, Aug. 1-3, 2007, pp. 219-224.


Lee, Hyunseok, et al, A Dual Processor Solution for the MAC Layer of a Software De?ned Radio Terminal, Advanced Computer Archi

Bourzac, Katherine Wearable Health Reports, Technology Review, Feb. 28, 2006, <http://www.techreview.com/printerifriendlyiar ticleiaspx?id+16431>, Mar. 22, 2007, 3 pages. Cheng, et al, Periodic Human Motion Description for Sports Video Databases, Proceedings of the Pattern Recognition, 2004, 8 pages. Dao, Ricardo, Inclination Sensing with Thermal Accelerometers, MEMSIC, May 2002, 3 pages.
Decrease Processor Power Consumption using a CoolRunner

tecture Laboratory, University of Michigan, Apr. 14, 2009, 25 pages. Lee, Seon-Woo, et al., Recognition of Walking Behaviors for Pedes trian Navigation, ATR Media Integration & Communications Research Laboratories, Kyoto, Japan, Sep. 5-7, 2001, pp. 1152-1155. Ricoh, Advanced digital technology changes creativity, <www. ricoh.com/ridc/gx/gx200/features2.html>, Accessed May 12, 2011,
4 pages.

Sensor Fusion, <www.u-dynamics.com>, accessed Aug. 29, 2008,


2 pages.

CPLD, XILINX XAPP347 (v1.0), May 16, 2001, 9 pages. Fang, Lei, et al, Design of a Wireless Assisted Pedestrian Dead Reckoning SystemiThe NavMote Experience, IEEE Transactions
on Instrumentation and Measurement, vol. 54, No. 6, Dec. 2005, pp.
2342-2358.

Tapia, Emmanuel Munguia, et al, Real-Time Recognition of Physi


cal Activities and Their Intensities Using Wireless Accelerometers
and a Heart Rate Monitor, IEEE Cont. on Wearable Computers, Oct.

2007, 4 pages.

Healey, Jennifer, et al, Wearable Wellness Monitoring Using ECG


and Accelerometer Data, IEEE Int. Symposium on Wearable Com

Tech, Ang Wei, Real-time Image Stabilizer, <www.mae.ntu.edu.

sg/ABOUTMAE/DIVISIONS/RRCiBIOROBOTICS/Pages/rtim
age.aspx>, Mar. 23, 2009, 3 pages.

puters (ISWC05), 2005, 2 pages.

US 8,555,282 B1
Page 5
Wang, Shu, et a1, Location Based Services for Mobiles: Technolo

Wu, Winston H, et a1, Context-Aware Sensing of Physiological


Signals, IEEE Int. Conf. on Engineering for Medicine and Biology,

gies and Standards, LG Electronics MobileComm, IEEE ICC, 2008, Beijing, pp. 1-66 (part I of 3). Wang, Shu, et a1, Location Based Services for Mobiles: Technolo gies and Standards, LG Electronics MobileComm, IEEE ICC, 2008, Beijing, pp. 67-92 (part 2 of 3). Wang, Shu, et a1, Location Based Services for Mobiles: Technolo gies and Standards, LG Electronics MobileComm, IEEE ICC, 2008, Beijing, pp. 93-123 (part 3 of3).

Aug. 23-26, 2007, pp. 5271-5275. Zypad WL 1100 Wearable Computer, <WWW.eurotech.?/products/ manuals/Zypad%20WL%20ll00isf.pdf>, Jan. 16, 2008, 2 pgs.

* cited by examiner

US. Patent

0a. 8, 2013

Sheet 1 of6

US 8,555,282 B1

Server 1 30

Sensors
1 20

Network
140

lg/:32:
1 50

Mobile Device 110

S
ensors

Scheduler
160

Mobi|e
Device

120

Integrated
Sensor 1 70

150

Fig. 1

US. Patent

Oct. 8, 2013

Sheet 2 0f 6

US 8,555,282 B1

Scheduler 160

Resii'srfe ID
210

Prioritizer
220

Ul
225

Future Task

Current Task

Application

Scheduler
260

Scheduler
250

Stop Logic
270

Motion Data

Motion Info

Active App.

Resource

Logic
230

Detector
240

Restrictor
280

Fig. 2

US. Patent

Oct. 8, 2013

Sheet 3 0f 6

US 8,555,282 B1

Log motion
data 310

Identify current
& future motion 315

Identify active

applications
320

there a con?ict?

a future task?

resources

330

available?

Identify con?icting
resource

Initiate future task 340

350

Identify lowest priority app.


using resource 355

Throttle lowest

priority app
365

Stop lowest priority app


370
Add app to future tasks list 375

Fig. 3

US. Patent

0a. 8, 2013

Sheet 4 of6

US 8,555,282 B1

Identify applications
410 Determine apps

needing real
time feedback 415

Any
such apps?
420
No Determine apps
with user

Set as highest

priority
422

interaction 425

Any

Set as next

such apps?
430

es

highest priority
432

No <
Determine

uninterruptible
apps 435
Any Set as next

such apps?
440
V

highest priority
442

( To Fig. 4B

Fig. 4A

US. Patent

0a. 8, 2013

Sheet 5 of6

US 8,555,282 B1

Determine apps

with periodic

reporting
445

Any

Set as next

such apps?
450

highest priority
452

Set remaining
apps as lowest

priority
455

Reprioritize within
resource con?icts category based on

between equals?

usage stats 462

Provide priorities to
user and enable user

to change priorities
465

+
Save priority

settings
470

@
Fig. 48

US. Patent

0a. 8, 2013

Sheet 6 of6

US 8,555,282 B1

Resources Used

Game 1 Game 2
Phone

UI, storage bandwidth, RAM, non-volatile memory UI, storage bandwidth, RAM, network bandwidth
Network bandwidth

Download

Network bandwidth, storage bandwidth, non-volatile memory

Application

Ul, RAM

Fig. 5

US 8,555,282 B1
1
OPTIMIZING PREEMPTIVE OPERATING SYSTEM WITH MOTION SENSING FIELD OF THE INVENTION

2
loW latency in their execution in order to operate accurately. In particular, programs that receive and process the input from integrated or Wirelessly tethered sensors degrade rap idly in performance and accuracy as latency increases. Many of these sensor programs analyZe data in real time, sampling
a sensor from 1 to 300+HZ. In a preemptive operating system

The present invention relates to preemptive operating sys tems, and more particularly to scheduling in preemptive oper

Where the host processor interfaces directly With a given


sensor, a higher priority task such as a phone call or data

ating systems.
BACKGROUND

transfer Will preempt the loWer priority task of real time data

analysis. If system bandWidth is limited, the loWer priority task may be halted entirely, signi?cantly degrading the pro

Mobile devices are gaining increasing functionality and


importance in our daily lives. Accelerometers may be incor porated in these devices for measuring the motion that the device experiences. More and more of these mobile devices

grams performance.
FIG. 1 is a netWork diagram illustrating a netWork in Which the present system may Work. The system includes a mobile device 110. The mobile device 110, in one embodiment,
receives data from one or more sensors 120, 170. The sensors

have multi-tasking preemptive operating systems that alloW


the device to run several programs or applications at once.

These preemptive operating systems have schedulers to pri oritiZe tasks. In prior implementations, these schedulers
based their decision on the priority of each application or

120, 170 may be coupled to the mobile device 110 via a Wireless connection 120 such as 802.11 WiFi, Bluetooth, etc or may be integrated in the mobile device 170. The integrated
20 sensors 170, in one embodiment include an inertial sensor.

function, and occasionally on the time of day.


SUMMARY OF THE INVENTION

The mobile device 110 can also retrieve data from a server 130 via netWork 140, or send data to a server 130 via netWork

140. The netWork may be the Internet, a cellular telephone netWork, or any other netWork. The mobile device 110 may be
25

A method and apparatus to provide a scheduler comprising receiving motion information from a mobile device, deter
mining a current use characteristic for the mobile device based on the motion information, and scheduling a task based
on the current use characteristic.

getting data from the netWork via various protocols including Wireless Access Protocol (WAP), HTTP, or other protocols.
The mobile device 110 may also obtain data from other another mobile device 150 either through a direct connection or through netWork. The scheduler 160 in mobile device 110 determines When the various tasks and communications

30

BRIEF DESCRIPTION OF THE DRAWINGS

occur. This may include obtaining data from, and sending data to, servers 130, sensors 120, and other mobile devices
150, as Well as internal processes such as programs and tasks. FIG. 2 is a block diagram of one embodiment of the sched uler. The scheduler 160 in one embodiment is a softWare application Which runs on a mobile device. In another embodiment, the scheduler 160 may have a client and a server

The present invention is illustrated by Way of example, and not by Way of limitation, in the ?gures of the accompanying
draWings and in Which like reference numerals refer to similar elements and in Which: FIG. 1 is a netWork diagram illustrating a netWork in Which
35

the present system may Work.


FIG. 2 is a block diagram of one embodiment of the sched uler. FIG. 3 is a ?owchart of one embodiment of scheduling. FIGS. 4A and 4B is a ?owchart of one embodiment of
40

component. The functionality may be split betWeen the client


and the server. In one embodiment, the preference settings,
and calculations may be on the server Which has more pro

cessing poWer and storage available, While the implementa


tion/use aspects reside on the client. For simplicity, the beloW description refers to any schedulable task, program, or data
communication as a task.
45

setting scheduling preferences.


FIG. 5 is a list of exemplary tasks and the associated
resources used.

Scheduler 160 includes a resource identi?cation list 210, Which includes a listing of one or more potential tasks and the

DETAILED DESCRIPTION

resource(s) that the task uses. For example, a doWnload task

The method and apparatus described is for providing a preemptive operating system Which schedules tasks in a
mobile device. Prior art schedulers have had no aWareness as

utiliZes netWork bandWidth, storage bandWidth (memory bus), and storage. By contrast, a telephone call task only uses
50

netWork bandWidth. FIG. 5 lists a number of exemplary tasks


and their associated resources.

to the motion that the device is experiencing and in particular What the users motion implies about the state of the device
and the likelihood of the user to perform certain actions With

PrioritiZer 220 includes a list of tasks and their relative

the device. In prior art, these schedulers knoW only of the


current state of various programs and Whether the device has
the screen turned on or off but have no aWareness of the

55

priorities. For example, a task Which is observed by the user is a higher priority than a task Which is generally not observed by the user. A task Which provides semi-real-time feedback or other data processing is higher priority than a task Which

provides background doWnload, synchronization, or similar


features. In one embodiment, user may use a user interface
60

motion that a device is experiencing. The scheduler of the present invention in one embodiment

optimiZes these preemptive operating environments using


motion information. The scheduler optimiZes tasks, pro
grams, and data communications based upon the devices use characteristic, determined based on the motion information.

225 to prioritiZe tasks. In one embodiment, the system comes With a default set of priorities, Which may be edited or

adjusted by the user.


Motion information logic 230 receives motion data. In one embodiment, motion data is received from an accelerometer
or other inertial sensor. In one embodiment, motion data is
65

Data communications may include pulling data from and pushing data to the netWork. While the scheduler improves the performance of all pro
grams on a mobile device, some programs require especially

received from a 3-dimensional accelerometer that is part of the device. Motion logic 230 determines a current motion, and based on an identi?ed activity of the user, determines

US 8,555,282 B1
3
expected future motion as Well. For example, if the user is Walking at a rapid cadence, it is likely that he or she Will
continue to Walk. If the user is playing a game, he or she is

4
future tasks. Future tasks are tasks either scheduled by the user to be executed in the future, or halted previously. If there
are no future tasks, the process returns to block 310 to con

likely to continue moving the device and playing the game.


In one embodiment, the system further includes an active

tinue logging motion data.


If there are future tasks, the process, at block 335, deter
mines Whether there are resources available currently to execute the future task. In one embodiment, this is determined based on the motion data. In one embodiment, this is deter

application detector 240. In one embodiment, active applica tion detector detects When an application is active (i.e. being
used), even if there is no associated motion. For example, the
user may open an application such as a Web doWnload appli

cation While keeping the mobile device stationary.


Current task scheduler 250 prioritizes current tasks based
on prioritiZer 220 data and resource ID 210 data. The current tasks are determined by current task scheduler 250 based on

mined based on the motion data and the active application data. In one embodiment, this is determined based on the

motion data and time-of-day data.


If the resources are available, at block 340 the future task is initiated. The process then returns to block 330, to query
Whether there are any more future tasks to be scheduled. In one embodiment, the future tasks are scheduled in order of

active app. detector 240 and motion logic 230. If the current task scheduler 250 determines that tWo appli
cations con?ict, it can in one embodiment, send a stop mes

sage to application stop logic 270. In one embodiment, cur rent task scheduler 250 also then sends the stopped task to future task scheduler 260. In one embodiment, current task
scheduler 250 may also utiliZe resource restrictor 280 to reduce available resources for loWer priority tasks. In one
20

priority. That is the ?rst query is for the highest priority future
task, then for the next highest priority, and so on. In one

embodiment, each future task is evaluated by this process. If


there are no remaining future tasks, the process returns to

block 310 to continue logging motion data.


If, at block 325, the process found that there Was a con?ict betWeen the current applications, the process continues to block 350. At block 350, the con?icting resource is identi?ed. This

embodiment, current task scheduler 250 uses prioritiZer data to determine Which application(s) to throttle. Resource restrictor 280 may be used to reduce the available
resources to one or more of the currently active applications. 25

This may include reducing available bandWidth.


Future task scheduler 260 receives future tasks for sched uling. In one embodiment, these future tasks may be received from current task scheduler 250. In one embodiment, future
tasks may be received from the user. The user may, in one 30

may include netWork bandWidth, memory bandWidth, dis play, etc. At block 355, the loWest priority application Which uses
that resource is identi?ed. In one embodiment, the loWest priority resource may be one that is restartable, not vieWed or

embodiment, add tasks to a list of future tasks Which should be performed When there are resources available. For example, for a larger doWnload or upload project, the user may indicate that the project is a future task instead of

directly initialiZing the task.


Future task scheduler 260 passes a task to current task

35

actively utiliZed by the user. For example, a backup applica tion may be the loWest priority application. At block 360, the process determines Whether throttling should be used. In one embodiment, throttling is alWays used When available. In one embodiment, throttling is only used if
the application is a non-interruptible application. In one embodiment, the user may set a preference for throttling. If throttling should be used, the process, at block 365 throttles the con?icting applications use of the con?icting
resource. The process then returns to block 325, to determine Whether there is still a con?ict.

scheduler 250 When the motion info logic 230 and active application detector 240 indicate that the time is good for performing that task. For example, When the device is not in motion, and there are no applications using netWork band Width, a upload or doWnload future task may be scheduled. In one embodiment, future task scheduler 260 passes tasks for data calls to the server for uploads, doWnloads, and synchro
niZation to the current task scheduler 250 When the device is idle. In one embodiment, the device is idle When no motion is detected. In one embodiment, the device is idle When no motion is detected and the user is not interacting With any

40

If throttling should not be used, at block 370 the loWest

priority application is stopped. It is then, at block 375, added


45

application.
In one embodiment, the system may have tasks that are interruptible (such as doWnloads) and tasks that are not inter ruptible (such as installation of applications). In one embodi
ment, future task scheduler 260 may also have as an input a clock. In one embodiment, the future task scheduler may take into account the likelihood of a user initiating a con?icting
50

to the future tasks list. In this Way, the system ensures that the task Will be performed at some future time. The process then returns to block 325, to determine Whether there is still a con?ict. In this Way, the system provides a methodto ensure that loW priority applications are throttled based on motion data, and potentially other data. Note that While this and other pro cesses are shoWn in ?oWchart form, the actual implementa

tion need not be sequential as described. Thus, for example, future tasks may also be monitoring the resource availability
55

task, prior to passing a non-interruptible task to the current task scheduler 250.
FIG. 3 is a ?owchart of one embodiment of scheduling. The process starts at block 305.

for tasks on the list. In one embodiment, con?icts may be tested for every time there is a change in state in the device, ie a neW application is started, a neW motion type is detected,
etc.

FIGS. 4A and 4B are a ?oWchart of one embodiment of in one embodiment in a buffer or similar temporary memory. 60 setting scheduling preferences. The process starts at block

At block310, motion data is logged. Motion data is logged,

At block 315, current motion is identi?ed, and future expected motions are identi?ed. At block 320, the active applications are identi?ed. At block 320, the process determines Whether there is a
con?ict betWeen the motions/ sensors and any current tasks. If there is no con?ict, the process continues to block 330. At block 330, the process determines Whether there are any
65

405. In one embodiment, this process is performed on the mobile device. I another embodiment, this process may be
performed on a remote server, and the results may be

uploaded to the mobile device. In one embodiment, the pro


cess may be split betWeen the mobile device and a server.

At block 410, the applications on the mobile device are identi?ed. In one embodiment, this process is triggered each

US 8,555,282 B1
5
time a new application is added to the mobile device. In one

6
of it at all. In one embodiment, if the user loWers the priority of an application Which requires real-time feedback or has user interaction, the user is Warned of the risk of such a

embodiment, only neW applications are evaluated and priori


tized in that instance. At block 415, the process identi?es any applications need ing real-time feedback. Such applications may include sen

reprioritization.
At block 470, the priorities are saved. The process then ends at block 475. In one embodiment, this process may be

sors Which require real-time control commands, applications


such as telephone applications Where even short delays can

impact the user experience.


At block 420, the process determines Whether there are any

invoked by the user at any time, may be automatically trig gered periodically, may be triggered Whenever a neW appli
cation is added to the mobile device, or may be started by

such applications. If so, at block 422, these applications receive the highest priority. The process then continues to
block 425. If there are no such applications, the process

another trigger.
In the foregoing speci?cation, the invention has been described With reference to speci?c exemplary embodiments thereof. It Will, hoWever, be evident that various modi?ca tions and changes may be made thereto Without departing
from the broader spirit and scope of the invention as set forth

continues directly to block 425. At block 425, the process identi?es any applications hav ing direct user interactions. Such applications may include

games, productivity applications, and other applications


Where delays can impact the user experience.
At block 423, the process determines Whether there are any

in the appended claims. The speci?cation and draWings are,


accordingly, to be regarded in an illustrative rather than a
restrictive sense.

such applications. If so, at block 432, these applications receive the next highest priority. The process then continues
to block 435. If there are no such applications, the process

What is claimed is:


20

1. A method comprising: receiving motion information from a mobile device;

continues directly to block 435. At block 435, the process identi?es any non-interruptible

applications. Such applications may include softWare instal lation, games requiring periodic memory access, and other applications that cannot be terminated Without causing prob
lems. At block 440, the process determines Whether there are any

25

receiving active application data from the mobile device, the active application data identifying a currently active application, and resources used by the currently active application, the resources including netWork bandWidth,
storage bandWidth, memory, and sensor data;
determining a current use characteristic for the mobile device based on the motion information and the active

such applications. If so, at block 442, these applications receive the next highest priority. The process then continues
to block 445. If there are no such applications, the process

application data;
30

calculating expected future motions based on the motion

information; and
determining resources used by a task, the resources includ
ing one or more of:

continues directly to block 445. At block 445, the process identi?es any applications including periodic reporting. This includes sensors that have periodic updates, applications Which report out to the user,
applications such as email Which use periodic data pulls, etc. At block 450, the process determines Whether there are any

netWork bandWidth, storage bandWidth, memory, and sen


35

sors;

scheduling the task based on the current use characteristic,

the expected future motions, and the resources used by


the task.
40

such applications. If so, at block 452, these applications receive the next highest priority. The process then continues
to block 455. If there are no such applications, the process

continues directly to block 455.

At block 455, the remaining applications receive the loWest

priority.
At block 460, the process determines Whether there is

2. The method of claim 1, further comprising: scheduling the task to be immediately executed. 3. The method of claim 1, further comprising: Wherein receiving the active application data from the mobile device, comprises receiving an indication that
there is no active application.

likely con?icts betWeen equally prioritized applications. For


example, it is unlikely that a user Will be playing tWo games simultaneously, but the user may Walk and make a telephone call at the same time. If there are equally prioritized applica tions Which may con?ict, the process continues to block 462.

At block 462, the con?icting applications are reprioritized


based on usage statistics or other measurements. In one

50

4. The method of claim 1, further comprising: determining a con?ict betWeen an existing operation and the task; and When the task is a higher priority than the existing opera tion, altering a use pro?le of the existing operation. 5. The method of claim 4, Wherein altering the use pro?le
comprises throttling one or more of the resources used by the

embodiment, the prioritization occurs Within the same cat

active application.
6. The method of claim 4, Wherein altering the use pro?le

egory. That is, the loWest priority application Within a cat egory is still a higher priority than the highest prioritization in
the next loWer category. In one embodiment, more frequently
55

comprises terminating the active application.


7. The method of claim 6, Wherein When the currently application is terminated, the current application is placed on
a future task list to be executed When the resource becomes

used applications receive higher priority. In one embodiment, delay-sensitivity is used for prioritizing Within the category.
In one embodiment, this step is skipped entirely, and the user is prompted to make prioritization decisions. In one embodi ment, if tWo such applications are found in con?ict during
use, the one Which Was activated later is considered the higher
60

available again.
8. The method of claim 1, further comprising:
prioritizing tasks based on resource use and application

pro?le.
9. The method of claim 1, Wherein the task is a data call, and Wherein the data call task is scheduled When the motion information indicates that the device is idle. 10. The method of claim 9, Wherein the data call is for one or more of: uploading, doWnloading, and synchronizing data
With a server.

priority application.
At block 465, in one embodiment the priorities are pro vided to the user, and the user is permitted to make changes. In one embodiment, this only occurs if the user speci?cally requests it. Otherwise, the entire scheduling process is com pletely transparent to the user, and the user need not be aWare
65

US 8,555,282 B1
7
11. The method of claim 9, wherein the device is idle When
the device is motionless, and no user interaction With the

8
17. A mobile device comprising:
a motion information logic implemented in a processor to

device is occurring.
12. The method of claim 9, Wherein the device is idle When the device is motionless and no voice call is being made. 13. A mobile device comprising: a motion information logic implemented in a processor to
receive motion information from a sensor in a mobile device, and to determine a current use characteristic and

receive motion data, and calculate current and expected


future user activities;
an active application detector to detect a current use of the mobile device, including one or more resources used by the current use of the mobile device, the one or more

an expected future motion based on the motion informa

resources including: netWork bandWidth, storage band Width, memory, and sensor data; and
a scheduler to schedule tasks based on the current use, and

tion;
an active application detector to identify an active applica
tion, and one or more resources associated With the active application, the one or more resources including:

the current and expected future user activities, and resource requirements of the tasks.

18. The mobile device of claim 17, further comprising:


a resource restrictor to restrict resources to an active appli

netWork bandWidth, storage bandWidth, memory and


sensor data; and
a scheduler to schedule a task based on the current use

cation, based on the current and the expected future user activities.

characteristic, the expected future motion, and a


resource requirement associated With the task.

19. The mobile device of claim 17, further comprising:


20

14. The mobile device of claim 13, further comprising: the scheduler scheduling the task to be immediately executed. 15. The mobile device of claim 13, further comprising:
a prioritizer determining a con?ict betWeen an existing

the scheduler to determine a category of the current use and the task, and to order the current use and the tasks based on the category.

20. The mobile device of claim 19, further comprising: the scheduler prioritizing tasks Within each category, to
order the current use and the tasks Within each category.
25

operation and the task; and


a resource restrictor throttling one or more of the resources

21. The mobile device of claim 17, further comprising: the scheduler prioritizing a frequently used application above a

available to the existing operation. 16. The mobile device of claim 13, further comprising:
the scheduler scheduling a task When the mobile device is idle, Wherein the mobile device is idle When the mobile device is motionless and no voice call is being made.

less frequently used application.


22. The mobile device of claim 17, further comprising: a
user interface to enable a user to alter a prioritization of tasks,

the altered prioritization used by the scheduler.


* * * * *

You might also like