Papers /

Riva-IEEE-Computer-2008

Reading

Outdoors

Games

Hobbies

LEGO

Food

Code

Nook

sidebar

Riva-IEEE-Computer-2008

Challenges and Lessons in Developing Middleware on Smart Phones

Riva, Kangashsarju

smart phones middleware development platforms

@article{riva:ieee-computer2008,
  title={Challenges and Lessons in Developing Middleware on Smart Phones},
  author={Oriana Riva and Jaakko Kangasharju},
  booktitle={{IEEE} Computer},
  year={2008},
  volume={41},
  number={10}
}

Mostly ARM architecture

  • 200--250MHz, some 300MHz
  • 64--128 Mbytes memory
    • Running programs only have ~ 10--20 Mbytes
  • 8Gbytes external flash storage (can't be used as virtual memory)

Symbian OS has 70% market share

780--1200 mAh; sufficient for several days standby/few hours operation

  • 6mW consumption idle; 76 mW w/ backlight & display on
  • Bluetooth discovery 292mW; transferring 136 bytes costs 0.1 joule
  • WiFi draws 300mA, leading to 1190mW
  • GSM 450--480 mW every 50--60 seconds; UMTS has 1W peaks for several seconds

Not always true that it is better to offload computations

  • On Nokia 7610, transmitting 1 byte on GPRS is equal to computing for 1.5ms
  • On Nokia 9500, equal to only 170 microseconds of computing

Local processing can be a problem though

  • Anecdote of screen refresh consuming substantially more time than round trip over WiFi
  • Flash memory access can also be time consuming

Context provisioning

Resource awareness and efficient use is a huge issue

  • Requires accounting at all layers
  • Policy based approaches are not flexible enough to deal with changing environment, usage

TCP handshake introduces significant latency

  • Should keep connections open as much as possible
    • But this is a power drain...
  • Should aggregate messages as much as possible

Not many common frameworks for accessing sensors

  • Many sensors don't currently output data in realtime

Ad hoc network setup, management is very idiosyncratic and problematic

Needs better asynchronous programming frameworks

  • Most applications are basically reactive
  • Multi-threading is limited, performs poorly, not recommended
    • Phones not designed for multi-tasking; poor context switches

Of note:

Recent Changes (All) | Edit SideBar Page last modified on July 23, 2009, at 10:13 AM Edit Page | Page History