20
CE Linux Forum Technical Document Classification: Reference Architecture © 2005 CE Linux Forum. All rights reserved. 1 1 2 Linux-based 3G Specification 3 Multimedia Mobile Phone API 4 Reference Architecture 5 6 Document: CELF_MPP_RA_ FR1_20060301 7 8 9 10 11 WARNING : This is a working draft for 12 review only, it is NOT a published 13 specification of the CE Linux Forum. It is 14 likely that further substantial changes 15 will be made in the course of review and 16 issue resolution. Send comments on this 17 version to: 18 [email protected] 19 20 21 22 23 24

CE Linux Forum Technical Document Classification ...CE Linux Forum Technical Document Classification: Reference Architecture © 2005 CE Linux Forum. All rights reserved. 3 26 0. Introduction

  • Upload
    others

  • View
    12

  • Download
    0

Embed Size (px)

Citation preview

Page 1: CE Linux Forum Technical Document Classification ...CE Linux Forum Technical Document Classification: Reference Architecture © 2005 CE Linux Forum. All rights reserved. 3 26 0. Introduction

CE Linux Forum Technical Document

Classification: Reference Architecture

© 2005 CE Linux Forum. All rights reserved. 1

1 2

Linux-based 3G Specification 3

Multimedia Mobile Phone API 4

Reference Architecture 5 6

Document: CELF_MPP_RA_ FR1_20060301 7

8

9

10

11

WARNING : This is a working draft for 12

review only, it is NOT a published 13

specification of the CE Linux Forum. It is 14

likely that further substantial changes 15

will be made in the course of review and 16

issue resolution. Send comments on this 17

version to: 18

[email protected] 19

20

21

22

23

24

Page 2: CE Linux Forum Technical Document Classification ...CE Linux Forum Technical Document Classification: Reference Architecture © 2005 CE Linux Forum. All rights reserved. 3 26 0. Introduction

CE Linux Forum Technical Document

Classification: Reference Architecture

© 2005 CE Linux Forum. All rights reserved. 2

Revision History 25

Revision Comment Reviewer Editor Date

1.0 Initial draft for discussion at San Francisco face-to-face

NEC, Panasonic July 2005

1.0 Minor revisions made at the San Francisco meeting

NEC, Panasonic July 2005

2.0 Revision for Kawasaki meeting;

Scott Preece September 2005

2.2.1 Changed to new format Scott Preece 2005.10.21

2.2.2 Work with figures Scott Preece 2005.10.24

2.2.3 Revisions based on Tamagawa discussions and San Francisco comments, including NEC comments. Resolution of issues raised previously and first work on harmonization with LiPS Reference Model.

Scott Preece 2005.12.22

2.2.4 Revisions to resolve Andre’s issues

Scott Preece 2006.1.11

FR1 First version for Formal Review

Scott Preece 2006.3.1

Page 3: CE Linux Forum Technical Document Classification ...CE Linux Forum Technical Document Classification: Reference Architecture © 2005 CE Linux Forum. All rights reserved. 3 26 0. Introduction

CE Linux Forum Technical Document

Classification: Reference Architecture

© 2005 CE Linux Forum. All rights reserved. 3

0. Introduction............................................................................................................. 5 26

0.1 Scope ................................................................................................................................ 5 27

0.2 Vocabulary and Abbreviations...................................................................................... 5 28

0.3 Reference ......................................................................................................................... 5 29

1. The Mobile Phone Domain..................................................................................... 6 30

2. Architecture............................................................................................................. 8 31

2.1 Applications Domain ...................................................................................................... 8 32 2.1.1 Application layer .................................................................................................................... 9 33 2.1.2 Middleware layer .................................................................................................................... 9 34 2.1.3 Kernel/Driver layer............................................................................................................... 10 35

2.2 Communications Domain............................................................................................. 10 36

3. Description of functional entities......................................................................... 11 37

3.1 Linux Kernel ................................................................................................................. 11 38

3.2 Common API................................................................................................................. 11 39

3.3 AP Framework.............................................................................................................. 11 40 3.3.1 Window Manager ................................................................................................................. 12 41 3.3.2 Application Controller (APC)............................................................................................... 12 42 3.3.3 UI Toolkit ............................................................................................................................. 12 43 3.3.4 UI Renderer .......................................................................................................................... 12 44 3.3.5 Mobile Software Bus (MSB) ................................................................................................ 12 45 3.3.6 Others ................................................................................................................................... 13 46

3.4 Telephony processing.................................................................................................... 13 47 3.4.1 Circuit-Switched (Voice) Communication service ............................................................... 13 48 3.4.2 Packet-Switched (Data) Communication service ................................................................. 13 49 3.4.3 SMS Communication service ............................................................................................... 13 50 3.4.4 Equipment service ................................................................................................................ 13 51 3.4.5 Schedule ............................................................................................................................... 14 52 3.4.6 Data Exchange...................................................................................................................... 14 53 3.4.7 Record and Playback ............................................................................................................ 14 54 3.4.8 Light Management................................................................................................................ 14 55 3.4.9 Sound System ....................................................................................................................... 14 56 3.4.10 User Profile Library.............................................................................................................. 14 57 3.4.11 Removable Media Management ........................................................................................... 14 58

3.5 Multimedia Framework ............................................................................................... 14 59 3.5.1 Multimedia Manager ............................................................................................................ 15 60 3.5.2 Multimedia Library............................................................................................................... 15 61 3.5.3 Multimedia Driver API......................................................................................................... 15 62

3.6 Data Processing ............................................................................................................. 15 63 3.6.1 Bar Code Library .................................................................................................................. 15 64 3.6.2 OCR Library......................................................................................................................... 15 65

3.7 Connectivity Service ..................................................................................................... 15 66

3.8 Platform Management Service .................................................................................... 15 67

3.9 Driver API ..................................................................................................................... 15 68

Page 4: CE Linux Forum Technical Document Classification ...CE Linux Forum Technical Document Classification: Reference Architecture © 2005 CE Linux Forum. All rights reserved. 3 26 0. Introduction

CE Linux Forum Technical Document

Classification: Reference Architecture

© 2005 CE Linux Forum. All rights reserved. 4

4. Data Flows ............................................................................................................. 16 69

4.1 Voice communication.................................................................................................... 16 70

4.2 Video phone ................................................................................................................... 16 71

4.3 Internet Application...................................................................................................... 17 72

4.4 Dial-up Networking with External Devices ................................................................ 18 73

4.5 SMS communication..................................................................................................... 19 74 75

Page 5: CE Linux Forum Technical Document Classification ...CE Linux Forum Technical Document Classification: Reference Architecture © 2005 CE Linux Forum. All rights reserved. 3 26 0. Introduction

CE Linux Forum Technical Document

Classification: Reference Architecture

© 2005 CE Linux Forum. All rights reserved. 5

0. Introduction 76

This document describes a reference architecture of Linux based 3G multimedia mobile-phone, developed 77 by the CE Linux Forum’s Mobile Phone Profile Working Group. A “reference architecture” is an abstract 78 model for a class of software systems that is widely agreed to as the common model for that kind of system. 79

The Architecture in this document is based on an architecture that was originally the collaborative work 80 NEC Corporation, Panasonic Mobile Communication Ltd., and NTT DoCoMo, Inc. 81

The basic architecture is described in chapter 1. 82

The functions of each component of the architecture are described in chapter 2. 83

The data and control flows between components are described in chapter 3. 84

0.1 Scope 85

This document defines the reference architecture of Linux based mobile phone. This is a non-normative 86 part of the Specification. The goal of the Reference Architecture is to provide the context for the 87 descriptions in the normative parts of the Specification. 88

The Reference Architecture does not describe the internal architecture of the communication protocol stack 89 or the Application Framework, beyond the semantics exposed in the API. 90

0.2 Vocabulary and Abbreviations 91

See the corresponding section in the Preface document. 92

0.3 Reference 93

[1] GTK+ API Documentation (http://www.gtk.org/api/ ) 94

[2] GNOME GTK+ Reference Manual (http://developer.gnome.org/doc/API/gtk/index.html ) 95

[3] GNU C Library (http://www.gnu.org/software/libc/manual/html_mono/libc.html) 96

[4] X.org http://www.x.org/ 97

Page 6: CE Linux Forum Technical Document Classification ...CE Linux Forum Technical Document Classification: Reference Architecture © 2005 CE Linux Forum. All rights reserved. 3 26 0. Introduction

CE Linux Forum Technical Document

Classification: Reference Architecture

© 2005 CE Linux Forum. All rights reserved. 6

1. The Mobile Phone Domain 98

The WG is defining one or more Reference Architectures - standard organizations of 99 components for mobile phones. The architectures will correspond to one or more 100 Reference Tiers, which are broad classes of phones with common characteristics (and, 101 therefore, suitable for sharing an architecture). 102

The table below gives working definitions of the Reference Tiers. Note that these 103 represent a particular point in time (and-of 2004) and some of the details of specific areas 104 will change as technology changes. Many products do not fit neatly into one niche and 105 will blend characteristics of different tiers. Also, many products will add features not 106 covered by this table. 107

Tier

Aspect Smart Phone Multimedia Phone Feature Phone Plain-Old Mobile

Focus business focus Personal/Entertainment Focus

Lifestyle Focus (voice plus social networking support features)

Voice

Primary Functionality

Full PDA functionality (Calendaring, address book)

Strong PIM support, personal content management features

Minimal PIM functionality (phonebook, datebook)

Phonebook and call logs

Extensibility Extensible (downloadable features)

Limited extensibility (MIDlets or BREW)

Limited extensibility (MIDlets/BREW)

No extensibility

Multimedia Optional Vido capture support, Media/content players, stereo

Limited multimedia support (pictures, MP3, MIDI,Simple, low-frame-rate animations)

None

DRM Optional Multiple DRM schemes Hard DRM (limits on copying any media of given types)

None

Camera Optional 2-3 megapixel camera VGA camera or no camera No camera

Browser XHTML Browser XHTML Browser WAP Browser (text-centric)

Embedded access to specific URLs

Display QVGA or larger color display

QSIF or larger color display

QSIF or smaller color display

Small display (64x96), non-

Page 7: CE Linux Forum Technical Document Classification ...CE Linux Forum Technical Document Classification: Reference Architecture © 2005 CE Linux Forum. All rights reserved. 3 26 0. Introduction

CE Linux Forum Technical Document

Classification: Reference Architecture

© 2005 CE Linux Forum. All rights reserved. 7

color

Interaction Touchscreen UI or QWERTY keyboard plus pointing device

Specialized keypad for media/game interaction

Standard keypad plus carrier-specific keys

Standard keypad

Connectivity 3G connectivity, possibly WLAN, Bluetooth, IrDA

2.5G or 3G connectivity, possibly WLAN; High-speed USB; Bluetooth

2G connectivity; USB or serial cable

2G connectivity; proprietary accessory cable

Memory 32M RAM, 64M ROM, removable storage

64M RAM, 64M ROM, Hard Disk or large removable storage

16M RAM, 16M ROM, no removable storage

8M RAM, 8M ROM or less

Processor 120MHz 200MHz 30MHz 15MHz

108

Page 8: CE Linux Forum Technical Document Classification ...CE Linux Forum Technical Document Classification: Reference Architecture © 2005 CE Linux Forum. All rights reserved. 3 26 0. Introduction

CE Linux Forum Technical Document

Classification: Reference Architecture

© 2005 CE Linux Forum. All rights reserved. 8

2. Architecture 109

This document describes the architecture of a mobile phone based on the Linux operating system. The 110 architecture separates processing between two domains: the application domain and the communications 111 domain. The two domains might run on separate processors, as separate processes on a single architecture, 112 as separate virtual procesors running over a micro-kernel, or other physical implementation. The 113 Communications domain would include all activities requiring hard real-time behaviour. 114

The Reference Architecture identifies this partitioning of processing domains but does not dictate the 115 physical realization used. In Figure 1, the Bridge represents whatever mechanism is used in the particular 116 realization to support interaction between the domains. The implementation of the Bridge not in the scope 117 of the Reference Architecture. 118

The blocks shown with a white background in Figure 1 are not part of the scope of the Mobile Phone API. 119 They are shown as part of the common understanding of the structuring of a Linux-based mobile phone. 120

121

Protocol Stack

L3-C、L2、L1

Handler

BridgeCommunicationDomain

TelephonyService

TAF

Device Driver

Linux Kernel

Bridge

Application Domain

APFrame-work

Middleware

Application

L3-A

Mul

timed

iaSe

rvic

e

Common API Driver API

Dat

a Pr

oces

sing

Serv

ice

Conn

ectiv

itySe

rvic

e

Plat

form

Mgm

tSe

rvic

e

122 123

Figure 1 Overall Architecture 124

2.1 Applications Domain 125

The software running in the Application Domain contains the following 4 layers: 126

Application 127

Page 9: CE Linux Forum Technical Document Classification ...CE Linux Forum Technical Document Classification: Reference Architecture © 2005 CE Linux Forum. All rights reserved. 3 26 0. Introduction

CE Linux Forum Technical Document

Classification: Reference Architecture

© 2005 CE Linux Forum. All rights reserved. 9

Middleware 128

Linux kernel 129

Driver & Bridge 130

2.1.1 Application layer 131

The application layer contains various applications. They are classified into the following 8 categories; 132 samples are listed to illustrate the categorization, but are not meant to be requirements nor to be a complete 133 list of the applications in a given category: 134

2.1.1.1 Telephony applications 135

Telephony applications include Standby Screen, main menu, videophone application, phone applications, 136 phonebook, NW service and phone function setup, etc. 137

2.1.1.2 System applications 138

System applications include Air download, Generic LCD display, Backside LCD display, PIN 139 authentication and monitor mode, other function setup, Equipment alarm, etc. 140

2.1.1.3 Multimedia applications 141

Multimedia applications include still image viewer, video viewer, camera app, vector graphics viewer, 142 avatar and ring tone management, etc. 143

2.1.1.4 Data-processing applications 144

Data-processing applications include OCR, barcode, SD-PIM, data transfer, memory transfer, external I/F 145 communication, user data, IR, schedule, voice memo, schedule alarm and data folder, etc. 146

2.1.1.5 Internet-applications 147

Internet applications are those that use TCP/IP to access resources on the internet, including e-mail, 148 Browser, HTML mailer, etc. 149

2.1.1.6 Internet Application Engine 150

Internet application engine include engines for HTTP, SSL, embedded languages, etc. 151

2.1.1.7 Java Application Engine 152

The Java applications engine includes a Java Virtual Machine, JAM, and class libraries. 153

2.1.1.8 Others 154

Others includes Accessory menu, Accessories (text memo, calculator etc.), etc.. 155

2.1.2 Middleware layer 156

Middleware layer contains the following components. 157

2.1.2.1 Applications framework 158

The Applications framework provides application developers with a common framework of services 159 commonly used by mobile-phone applications. 160

2.1.2.2 Telephony service 161

The telephony service provides application developers with a framework of services for communications 162 and handset management. 163

Page 10: CE Linux Forum Technical Document Classification ...CE Linux Forum Technical Document Classification: Reference Architecture © 2005 CE Linux Forum. All rights reserved. 3 26 0. Introduction

CE Linux Forum Technical Document

Classification: Reference Architecture

© 2005 CE Linux Forum. All rights reserved. 10

2.1.2.3 Multimedia service 164

The multimedia service provides video phone service (H324, for example), and multimedia decoding, 165 encoding, and rendering facilities. 166

2.1.2.4 Data processing service 167

The data-processing service supports processing the data from various devices, e.g., bar-code reader, 168 optical character reader, etc. 169

2.1.2.5 Platform Management service 170

The Platform Management Service provides the functions of system management, including installation of 171 software and control of system processes. 172

2.1.2.6 Connectivity Service 173

The Connectivity Service handles inter-device functions, such as synchronization and OBEX data 174 exchange. 175

2.1.2.7 TAF (Terminal Adaptation Function) 176

The TAF provides access to communication services. It consists of voice communication TAF, packet 177 communication TAF etc. 178

2.1.2.8 Common API 179

The Common API provides application developers with standard C-language functions. 180

2.1.2.9 Driver API 181

The device-driver API provides middleware and application programs access to devices and to services 182 modeled as devices. 183

2.1.3 Kernel/Driver layer 184

2.1.3.1 Kernel and Device Drivers 185

The Kernel / Driver layer contains the Linux Kernel, device drivers, and the Bridge. 186

2.1.3.2 Bridge 187

The Bridge supports communication between the Application and Communication domains, which may be 188 implemented as separate processors or not, but will minimally have different scheduling regimes. 189

2.2 Communications Domain 190

The Communications Domain performs all processing that requires hard real-time behaviour, including 191 executing the lower levels of the protocol between the device and the network. Its protocol stack contains 192 the network stack’s L1, L2, L3 layers. The Bridge supports communication with the Applications Domain. 193

Page 11: CE Linux Forum Technical Document Classification ...CE Linux Forum Technical Document Classification: Reference Architecture © 2005 CE Linux Forum. All rights reserved. 3 26 0. Introduction

CE Linux Forum Technical Document

Classification: Reference Architecture

© 2005 CE Linux Forum. All rights reserved. 11

3. Description of functional entities 194

3.1 Linux Kernel 195

The Linux Kernel provides: 196

Memory and CPU management 197

Timer and system clock management 198

Process management: create, destroy and dispatch 199

File-systems: files, directories, and space management 200

Console handling 201

Inter-process-communication: sockets, message queues, shared memory, etc. 202

Network communication: TCP/IP 203

Hardware

Device driver

Memory and CPU management

Kernel

Middleware

Application

Timer and system clock management

Process

managementFile-system

Console HandlingInter-process-Communication(socket, etc.)

Network communication

(TCP/IP)

204 Figure 2 Linux Kernel 205

3.2 Common API 206

The Common API contains various functions for applications written in, including the standard C libraries. 207 The Common APIs conform to the POSIX standard. 208

3.3 AP Framework 209

Fig-3 is an overview of the application framework. This is an area where variation is common in the 210 domain, with the specific requirements of the application set and the UI framework chosen for specific 211 products potentially differing from this reference architecture, Usually, however, the functional separation 212

Page 12: CE Linux Forum Technical Document Classification ...CE Linux Forum Technical Document Classification: Reference Architecture © 2005 CE Linux Forum. All rights reserved. 3 26 0. Introduction

CE Linux Forum Technical Document

Classification: Reference Architecture

© 2005 CE Linux Forum. All rights reserved. 12

is similar to this. 213

214

3.3.1 Window Manager 215

The Window Manager provides unified operation and decoration for windows and controls overlap of 216 windows (clipping and layering). 217

In the Application framework for mobile-phone, window manager provides: 218

Foreground and background control of application window 219

Tracking the state of applications (active, inactive, idle, not-started) 220

3.3.2 Application Controller (APC) 221

The APC controls the start and end of applications. That is, starts applications, switches between 222 applications, andshuts down applications at power-off. APC also manages application start status, and 223 controls application switching operation (e.g., selection of an application to be next used as a foreground 224 application at application switching). 225

The Window Manager controls window stacking, focusing, and properties for each group during the period 226 from window generation to deletion. The Window Manager receives requests from the APC library through 227 the MSB and resolves contention between applications, according to the priority table based on the 228 application status. It also control windows overlapping and key focusing. 229

The Application Controller uses the MSB to communicate between Application and Window Manager. By 230 using the functions of the window manager application developers do not need to know the functions of 231 MSB. 232

3.3.3 UI Toolkit 233

A set of functions and facilities for the application to describe its interaction with the user. 234

3.3.4 UI Renderer 235

The UI renderer controls presentation of the interaction elements on the display(s). 236

3.3.5 Mobile Software Bus (MSB) 237

The Mobile Software Bus (MSB) supplies communication services (synchronous and asynchronous 238 communication) between applications and services. Different implementations of the reference architecture 239 may use different kinds of inter-process communication for this role. 240

UI Toolkit

UI Renderer Window Manager

Application Program

Mobile Software Bus (MSB)

Application Controller

Telephony service, etc.

Library for Telephony service, etc,

Figure 3 AP Framework

Page 13: CE Linux Forum Technical Document Classification ...CE Linux Forum Technical Document Classification: Reference Architecture © 2005 CE Linux Forum. All rights reserved. 3 26 0. Introduction

CE Linux Forum Technical Document

Classification: Reference Architecture

© 2005 CE Linux Forum. All rights reserved. 13

3.3.6 Others 241

3.3.6.1 PICT (PICTograph) display library 242

It controls turning on/off of the upper pictograph elements such as antenna and battery. 243

3.3.6.2 Image library 244

It Converts, extracts, or compresses image data, aloes used to set or acquire image information. 245

3.4 Telephony Services 246

Fig-4 describes the telephony processing framework. The link shown as “Socket communication” could 247 also be implemented using other means of interprocessor communication, or inter-process communication 248 on a single-processor system. 249

ApplicationApplication

Telephone function library

Communication-Related servicesSMSCSPS

Telephone functionservicesEquipmentKeyPersonal InformationData exchangeRecord/PlaybackVoice answerUser ProfileLights

Soundservices

MSB communication Socket communication

Function call

250 Figure 4 Telephony Processing 251

3.4.1 Circuit-Switched (Voice) Communication service 252

It provides application programs with dialing, call disconnection, rejecting incoming call etc. for circuit-253 switched communication service. 254

3.4.2 Packet-Switched (Data) Communication service 255

It provides application programs with initiation, termination, rejecting incoming call etc. for packet-256 switched communication service. 257

3.4.3 SMS Communication service 258

It provides application programs with notification of events and status of SMS service etc. 259

3.4.4 Equipment service 260

It provides application programs to setup, control, and read the status of various handset hardware elements 261 (batteries, headsets, etc.). 262

Page 14: CE Linux Forum Technical Document Classification ...CE Linux Forum Technical Document Classification: Reference Architecture © 2005 CE Linux Forum. All rights reserved. 3 26 0. Introduction

CE Linux Forum Technical Document

Classification: Reference Architecture

© 2005 CE Linux Forum. All rights reserved. 14

3.4.5 Personal Information Manager 263

It provides application programs to register a schedule, sort the schedule data, read to-do data etc. 264

3.4.6 Data Exchange 265

It provides application programs with the functions to handle phone-book, memo, image, and video, etc. on 266 internal and removable memory stores. 267

3.4.7 Record and Playback 268

It provides application programs with record and playback of voice memo. 269

3.4.8 Light Management 270

It provides application programs with functions for controlling various lights. 271

3.4.9 Sound System 272

It provides application programs with functions for ring-tone and melody of the equipment. 273

3.4.10 User Profile Library 274

It provides application programs with ability to read and set various attributes of the user’s profile, such as 275 registered phone numbers, owner name, and e-mail addresses. 276

3.4.11 Removable Media Management 277

It provides application programs with the functions for removable media, e.g. read, save, delete etc. 278

3.5 Multimedia Framework 279

Fig-5 describes the multimedia framework. 280

Multimedia LibraryCamera control serviceMoving picture control serviceVideo phone service

Multimedia ManagerStream control3G-324Multimedia I/FMultimedia Plug-in

Multi Media Driver APIVideo handler

MultiMedia AppVideophone App

281 Figure 5 Multimedia Framework 282

Page 15: CE Linux Forum Technical Document Classification ...CE Linux Forum Technical Document Classification: Reference Architecture © 2005 CE Linux Forum. All rights reserved. 3 26 0. Introduction

CE Linux Forum Technical Document

Classification: Reference Architecture

© 2005 CE Linux Forum. All rights reserved. 15

3.5.1 Multimedia Manager 283

The Multimedia Manager provides interfaces for interconnecting multimedia functions, such as video 284 phone library, 3G-H324M, camera control library, and moving picture control library. 285

3.5.2 Multimedia Library 286

The Multimedia Library provides interfaces for camera control, moving picture control, and video phone 287 services. 288

3.5.3 Multimedia Driver API 289

Multimedia Driver API provides video handler interfaces. 290

3.6 Data Processing 291

This block covers various kinds of add-on functionality related to dealing with external data 292

3.6.1 Bar Code Library 293

It provides the bar code reader functions. 294

3.6.2 OCR Library 295

It provides the OCR access reader functions. 296

3.6.3 Location Services 297

This provides access to the geographical location of the phone and events related to recognizing specific 298 locations, for phones equipped with the appropriate capabilities. 299

3.7 Connectivity Service 300

The OBEX (object exchange) module supports synchronization and sharing of information between 301 devices by exchange of data objects. It provides an interface that is used by OBEX to perform 302 communication processing based on request messages from application programs and to return processing 303 results to the application programs. It also provides an interface that is used by OBEX to convert objects to 304 canonical format for interchange. 305

3.8 Platform Management Service 306

The Platform Management monitors the activation of each task at the time of power on and the deactivation 307 of each task at the time of power off, as well as the charging and other statuses of the mobile terminal. 308

3.9 Driver API 309

The Driver API provides upper layer components (middleware and application programs) an abstract 310 interface to device drivers, so that device-independent components do not need to be aware of the particular 311 device drivers available on a specific handset. This avoids hardware dependencies, enabling development 312 of portable middleware and application programs for mobile phones. 313

Page 16: CE Linux Forum Technical Document Classification ...CE Linux Forum Technical Document Classification: Reference Architecture © 2005 CE Linux Forum. All rights reserved. 3 26 0. Introduction

CE Linux Forum Technical Document

Classification: Reference Architecture

© 2005 CE Linux Forum. All rights reserved. 16

4. Data Flows 314

This section describes data and control flow between components of the architecture in various domains. 315

4.1 Voice communication 316

Telephony application controls C-plane using the telephony service. 317

Voice data is decoded by a protocol-specific codec and sent to the appropriate audio output. 318

TAF

Common API

Telephony service

Linux Kernel

Device Driver A-Bridge

A-CPU

C-CPU

Mic

Speaker

ApplicationTelephony apps

APFrame-work

Driver API

C-Plane control

U-Plane (up)U-Plane (down)

U-Plane control

Mul

timed

iaSe

rvice

Dat

a Pr

oces

sing

Serv

ice

Equi

pmen

tSe

rvice

Middleware

319 320

Figure 6 Voice Communication 321

4.2 Video phone 322

Video phone application program controls C-Plane by telephony service. 323

Multimedia service provide decoding and encoding facilities to support video telephony, such as H.324. 324

Page 17: CE Linux Forum Technical Document Classification ...CE Linux Forum Technical Document Classification: Reference Architecture © 2005 CE Linux Forum. All rights reserved. 3 26 0. Introduction

CE Linux Forum Technical Document

Classification: Reference Architecture

© 2005 CE Linux Forum. All rights reserved. 17

TAF

Telephony service

Common API Driver API

A-Bridge

Linux Kernel

Device Driver

A-CPU

C-CPU

Mic

Speaker

Video phone app

Camera

LCD

Application

APFrame-work

Midleware

C-Plane controlU-Plane controlU-Plane (up)U-Plane (down)

Mul

timed

iaSe

rvic

e

Dat

a Pr

oces

sing

Serv

ice

Equi

pmen

tSe

rvic

e

325 Figure 7 Video Phone 326

4.3 Internet Application 327

Internet Application program controls C-Plane by telephony service. 328

Data from the Internet is transported by a protocol stacked based on TCP/IP using the Linux Kernel 329 networking capabilities. 330

Page 18: CE Linux Forum Technical Document Classification ...CE Linux Forum Technical Document Classification: Reference Architecture © 2005 CE Linux Forum. All rights reserved. 3 26 0. Introduction

CE Linux Forum Technical Document

Classification: Reference Architecture

© 2005 CE Linux Forum. All rights reserved. 18

Common API Driver API

Telephony Service

A-Bridge

Linux Kernel

Device Driver

A-CPU

C-CPU

ApplicationInternet App

TAF

APFrame-work

Middleware

C-Plane controlU-Plane controlU-Plane (up)U-Plane (down)

Mul

timed

iaSe

rvic

e

Dat

a Pr

oces

sing

Serv

ice

Equi

pmen

tSe

rvic

e

331 Figure 8 Internet Application 332

4.4 Dial-up Networking with External Devices 333

Applications program for dial-up networking controls C-Plane by telephony service. 334

Data are received and transmitted to an attached external device through USB or other communication bus 335 and device driver and routed back to the internet through the communications stack. 336

Page 19: CE Linux Forum Technical Document Classification ...CE Linux Forum Technical Document Classification: Reference Architecture © 2005 CE Linux Forum. All rights reserved. 3 26 0. Introduction

CE Linux Forum Technical Document

Classification: Reference Architecture

© 2005 CE Linux Forum. All rights reserved. 19

Common API

Linux Kernel

A-BridgeDevice Driver

A-CPU

C-CPU

ApplicationExternal Communication App

PC

Driver API

Telephony Service

TAF

APFrame-work

Middleware

C-Plane controlU-Plane controlU-Plane (up)U-Plane (down)

Mul

timed

iaSe

rvic

e

Dat

a Pr

oces

sing

Serv

ice

Equi

pmen

tSe

rvic

e

337 Figure 9 PPP Communication 338

4.5 SMS communication 339

Telephony Service SMS library controls C-Plane and U-Plane to send and receive short messages. 340

Page 20: CE Linux Forum Technical Document Classification ...CE Linux Forum Technical Document Classification: Reference Architecture © 2005 CE Linux Forum. All rights reserved. 3 26 0. Introduction

CE Linux Forum Technical Document

Classification: Reference Architecture

© 2005 CE Linux Forum. All rights reserved. 20

Driver API

TAF

Telephony Service

Common API

A-Bridge

Linux Kernel

Device Driver

A-CPU

C-CPU

Mailer Application

APFrame-work

Middleware

C-Plane controlU-Plane controlU-Plane (up)U-Plane (down)

Mul

timed

iaSe

rvic

e

Dat

a Pr

oces

sing

Serv

ice

Equi

pmen

tSe

rvic

e 341

Figure 10 SMS Communication 342

343

344

345