Linux-based 3G Specification
Reference Architecture
Document: CELF_MPP_RA_D_2.2.4_20060111
Revision History
Revision Comment Reviewer Editor Date
0. Introduction............................................................................................................. 5
0.1 Scope ....................................................................................................................................5
0.2 Vocabulary and Abbreviations.........................................................................................5
0.3 Reference .............................................................................................................................5
1. The Mobile Phone Domain..................................................................................... 6
2. Architecture............................................................................................................. 8
2.1 Applications Domain..........................................................................................................8
2.1.1 Application layer .................................................................................................................... 9
2.1.2 Middleware layer .................................................................................................................... 9
2.1.3 Kernel/Driver layer............................................................................................................... 10
2.2 Communications Domain................................................................................................10
3. Description of functional entities......................................................................... 11
3.1 Linux Kernel .....................................................................................................................11
3.2 Common API ....................................................................................................................11
3.3 AP Framework .................................................................................................................12
3.3.1 Window Manager ................................................................................................................. 12
3.3.2 Application Controller (APC)............................................................................................... 12
3.3.3 UI Toolkit ............................................................................................................................. 12
3.3.4 UI Renderer .......................................................................................................................... 12
3.3.5 Mobile Software Bus (MSB) ................................................................................................ 13
3.3.6 Others ................................................................................................................................... 13
3.4 Telephony processing.......................................................................................................13
3.4.1 Circuit-Switched (Voice) Communication service ............................................................... 13
3.4.2 Packet-Switched (Data) Communication service ................................................................. 13
3.4.3 SMS Communication service ............................................................................................... 13
3.4.4 Equipment service ................................................................................................................ 14
3.4.5 Schedule ............................................................................................................................... 14
3.4.6 Data Exchange...................................................................................................................... 14
3.4.7 Record and Playback ............................................................................................................ 14
3.4.8 Light Management................................................................................................................ 14
3.4.9 Sound System ....................................................................................................................... 14
3.4.10 Resource Management Library............................................................................................. 14
3.4.11 Removable Media Management ........................................................................................... 14
3.5 Multimedia Framework ..................................................................................................14
3.5.1 Multimedia Manager ............................................................................................................ 15
3.5.2 Multimedia Library............................................................................................................... 15
3.5.3 Multimedia Driver API......................................................................................................... 15
3.6 Data Processing ................................................................................................................15
3.6.1 Bar Code Library .................................................................................................................. 15
3.6.2 OCR Library ......................................................................................................................... 15
3.7 Equipment Services..........................................................................................................15
3.7.1 OBEX module ...................................................................................................................... 15
3.7.2 MAW service........................................................................................................................ 16
3.8 Driver API.........................................................................................................................16
0. Introduction
This document describes a reference architecture of Linux based 3G multimedia mobile-phone, developed
by the CE Linux Forums Mobile Phone Profile Working Group. A reference architecture is an abstract
model for a class of software systems that is widely agreed to as the common model for that kind of system.
The Architecture in this document is based on an architecture that was originally the collaborative work
NEC Corporation, Panasonic Mobile Communication Ltd., and NTT DoCoMo, Inc.
The basic architecture is described in chapter 1.
The functions of each component of the architecture are described in chapter 2.
The data and control flows between components are described in chapter 3.
0.1 Scope
This document defines the reference architecture of Linux based mobile phone. This is a non-normative
part of the Specification. The goal of the Reference Architecture is to provide the context for the
descriptions in the normative parts of the Specification.
The Reference Architecture does not describe the internal architecture of the communication protocol stack
or the Application Framework, beyond the semantics exposed in the API.
0.3 Reference
[1] GTK+ API Documentation (http://www.gtk.org/api/ )
[2] GNOME GTK+ Reference Manual (http://developer.gnome.org/doc/API/gtk/index.html )
[3] GNU C Library (http://www.gnu.org/software/libc/manual/html_mono/libc.html)
[4] X.org http://www.x.org/
Tier
Plain-Old
Aspect Smart Phone Media Terminal Feature Phone
Mobile
Full PDA
Strong PIM support, Minimal PIM
Primary functionality Phonebook and
personal content functionality
Functionality (Calendaring, call logs
management features (phonebook, datebook)
address book)
Extensible
Limited extensibility Limited extensibility No
Extensibility (downloadable
(MIDlets or BREW) (MIDlets/BREW) extensibility
features)
Limited multimedia
Vido capture support,
support (pictures, MP3,
Multimedia Optional Media/content players, None
MIDI,Simple, low-
stereo
frame-rate animations)
VGA camera or no
Camera Optional 2-3 megapixel camera No camera
camera
Embedded
WAP Browser (text-
Browser XHTML Browser XHTML Browser access to
centric)
specific URLs
Small display
QVGA or larger QSIF or larger color QSIF or smaller color
Display (64x96), non-
color display display display
color
pointing device
2G
3G connectivity, 2.5G or 3G connectivity,
2G connectivity; USB connectivity;
Connectivity possibly WLAN, possibly WLAN; High-
or serial cable proprietary
Bluetooth, IrDA speed USB; Bluetooth
accessory cable
32M RAM, 64M 64M RAM, 64M ROM, 16M RAM, 16M
8M RAM, 8M
Memory ROM, removable Hard Disk or large ROM, no removable
ROM or less
storage removable storage storage
2. Architecture
This document describes the architecture of a mobile phone based on the Linux operating system. The
architecture separates processing between two domains: the application domain and the communications
domain. The two domains might run on separate processors, as separate processes on a single architecture,
as separate virtual procesors running over a micro-kernel, or other physical implementation. The
Communications domain would include all activities requiring hard real-time behaviour.
The Reference Architecture identifies this partitioning of processing domains but does not dictate the
physical realization used. In Figure 1, the Bridge represents whatever mechanism is used in the particular
realization to support interaction between the domains. The implementation of the Bridge not in the scope
of the Reference Architecture.
The blocks shown with a white background in Figure 1 are not part of the scope of the Mobile Phone API.
They are shown as part of the common understanding of the structuring of a Linux-based mobile phone.
Application Domain
Application
Middleware
Telephony Data Processing
Platform Mgmt
Connectivity
Multimedia
AP Service
Service
Service
Service
Service
Frame-
TAF
work
L3-A
Linux Kernel
Device Driver Bridge
Communication Bridge
Domain Protocol Stack
L3-CL2L1
Handler
The white blocks in the diagram are components that are beyond the scope of the API specification. They
are shown only as part of the common understanding of the partitioning of the system.
Application
Middleware
Linux kernel
Driver & A-Bridge
Application
Middleware
Kernel
Inter-process- Network
Console Handling Communication communication
(socket, etc. TCP/IP
Device driver
Hardware
3.3 AP Framework
Fig-3 is an overview of the application framework.
Application Program
Library for
UI Toolkit Application Controller Telephony service, etc,
Figure 3 AP Framework
3.3.3 UI Toolkit
A set of functions and facilities for the application to describe its interaction with the user.
3.3.4 UI Renderer
The UI renderer controls presentation of the interaction elements on the display(s).
3.3.6 Others
3.3.6.1 PICT (PICTograph) display library
It controls turning on/off of the upper pictograph elements such as antenna and battery.
3.3.6.2 Image library
It Converts, extracts, or compresses image data, aloes used to set or acquire image information.
Application
Application
Function call
MSB
communication Socket communication
Telephone function
services
zEquipment
Communication-
zKey
Related services
zSchedule Sound
zSMS
zData exchange services
zCS
zRecord/Playback
zPS
zVoice answer
zU-control
zLights
3.4.5 Schedule
It provides application programs to register a schedule, sort the schedule data, read to-do data etc.
4. Data Flows
This section describes data and control flow between components of the architecture in various domains.
C-Plane control
A-CPU U-Plane control
Telephony apps Application U-Plane (up)
U-Plane (down)
Middleware
Data Processing
Equipment
Multimedia
Telephony service
Service
Service
Service
AP
Frame-
work TAF
Linux Kernel
Mic A-Bridge
Device Driver
Speaker
C-CPU
C-Plane control
A-CPU U-Plane control
Video phone app Application U-Plane (up)
U-Plane (down)
Midleware
Data Processing
Telephony service
Multimedia
Equipment
AP
Service
Service
Service
Camera Frame-
work TAF
Speaker C-CPU
C-Plane control
A-CPU U-Plane control
Internet App Application U-Plane (up)
U-Plane (down)
Middleware
Data Processing
Telephony Service
Multimedia
Equipment
Service
Service
Service
Frame-
work TAF
Linux Kernel
Device Driver A-Bridge
C-CPU
C-Plane control
A-CPU U-Plane control
U-Plane (up)
External Communication App Application
U-Plane (down)
Middleware
Data Processing
Telephony Service
Multimedia
Equipment
AP
Service
Service
Service
Frame-
work TAF
Linux Kernel
Device Driver A-Bridge
PC
C-CPU
C-Plane control
A-CPU U-Plane control
Mailer Application U-Plane (up)
U-Plane (down)
Middleware
Data Processing
Telephony Service
Multimedia
Equipment
AP
Service
Service
Service
Frame-
work TAF
Linux Kernel
Device Driver A-Bridge
C-CPU