The Symbian OS (779886), страница 47
Текст из файла (страница 47)
See Figures 9.2 and 9.3.Telephony ServicesThe Telephony Services are based on the ETel Telephony Server (andits extensions) that provides support for 2G, 2.5G and 3G mobilephone networks, including GSM/GPRS/EDGE/UTMS (2G/2.5G/3G) andCDMA/CDMA2000 (2G/2.5G/3G North America).GPRS and EDGE are the incremental packet data and ‘go faster’increments to GSM; UMTS and CDMA2000 are the respective GSM andCDMA evolutions to 3G. See Figure 9.4.Networking ServicesNetworking Services provides packet-based network services withEthernet emulation and includes the TCP/IP stack implementation, securePURPOSE203Telephony UtilitiesTelephony ServerSMS Protocol PluginsTelephony ServerPluginsSMS UtilitiesTelephonyReference PlatformTelephony ServicesFigure 9.4 Telephony Services sub-blockTCP/IP SecurityESock APIExtensionsTCP/IPUtilitiesWAP StackSubconnectionInterfaceNetworkingServicesNetwork Protocol PluginsNetworking PluginsLink Layer ControlFigure 9.5 Networking Services sub-block204THE COMMS SERVICES BLOCKnetworking extensions including TLS/SSL and IPSec, which support securebrowsing and VPN gateways, together with a variety of application-levelInternet services including FTP and HTTP.
(FTP does not expose public APIs.) All networking services are designed to be virtualized overtelephony, serial or short-link bearers.Support for Wi-Fi appears for the first time in Symbian OS v9(although licensees have introduced Wi-Fi-enabled phones based onearlier releases). See Figure 9.5.Short-link ServicesShort-link services provides USB, Bluetooth and infrared services including support for the OBEX binary object protocol, USB class support thatenables a Symbian OS phone both to use and serve as a USB host,and full implementations of the IrDA and Bluetooth protocol stacks.
SeeFigure 9.6.OBEXUSBManagerShort LinkShort Link ProtocolSerial Comms ServerPluginsShort Link ServicesFigure 9.6Short-link services sub-block9.3 Design GoalsA phone is an extreme case of a mobile, connected device, which was theoriginal design point for Symbian OS. While the ER5 release was explicitlytargeted at PDA-style devices, even as the first Symbian OS devicesreached market, convergence with mobile telephony was beginning toDESIGN GOALS205drive the company strategy.
Symbian OS has been a leader in the trendwhich has seen PDA functions largely absorbed into mobile phones.Compared with the original Symbian OS devices, current mobilephones (even low-end ones) make vastly greater demands on communications support. On the Psion Series 5, for example, the communicationshardware consisted of a single UART, which could be switched betweenthe serial port and the infrared port but could not be used by bothsimultaneously.
Despite the simple hardware, a full set of integratedcommunications applications was envisaged, from email and web clientsto network news readers and multiplayer games (network Doom, forexample) and, of course, including infrared printing and beaming.By the time the Series 5 came to market, communications support in theoperating system had already been extended to include basic telephony.However, following the logic of the simple communications hardwaredesign of the Series 5, the early networking and telephony use casesenvisaged a Symbian OS device as one half of a two-box solution, using aconventional serial modem or a GSM mobile phone as a dial-up modemto connect to an ISP for network access (including Internet) or driving aGSM mobile phone (sending AT commands over a serial link), for exampleto dial directly from a phonebook on the Symbian OS device or writingand sending SMS messages from the Symbian OS device via a GSMphone.
In each case the physical link was serial (either cable or infrared).Even when Symbian OS migrated onto devices with onboard phonehardware (even before the release of the Series 5 in July 1997, phoneprojects were underway with licensees), the connection between thephone-side hardware (a dedicated second processor running a GSMstack) and Symbian OS was serial. Thus even true telephony functions,such as setting up lines and answering and making calls, ultimately wentthrough the serial server and a serial port.Each subsequent release of Symbian OS has taken it a further stepaway from this early legacy to support the evolving reality of dataenabled phones capable not just of full network access (browsing oremail, for example, over a VPN tunnel into a company network) but alsoof running real-time communications applications, for example, videoconferencing which requires two-way, real-time video streaming.As Symbian OS has evolved, it has become capable of real-time processing and thus capable of directly hosting the telephony baseband stack,making single-core phone designs possible.
(The real-time kernel firstappears as an option in Symbian OS v8 and is standard in Symbian OS v9.)In Symbian OS v8 and Symbian OS v9, Comms Services has evolvedsignificantly. In particular, the Root Server was introduced as the primarycommunications server, responsible for starting and stopping the dedicated communications servers on demand and providing the commoncontext within which all communications servers run. (In earlier releases,the C32 serial server provided this service.) The goal is to support more206THE COMMS SERVICES BLOCKseamless interoperability between services and the faster data throughputrequired by new high-data-rate services.In another significant change, from Symbian OS v9 the CommsDatabase has been integrated into the Central Repository, which provides a single point of storage for all system settings and a single commoninterface to all settings and service configuration.
(The legacy CommDBinterface is retained as a ‘shim’ layer providing backwards compatibilityfor existing applications.)9.4 OverviewSymbian OS is designed for devices that typically do not have permanentor predictable connections (unlike a networked desktop computer, forexample) and which have also typically not had even transient Ethernetconnections (although this is beginning to change as Wi-Fi starts to appearon phones).
The key requirement for communications services is thereforethe ability to virtualize almost any service required at the application levelover whatever transient connections are available at the time.The hallmark of Symbian’s communications implementation is thehigh degree of integration between the services at application level andthe high degree of interoperability of technologies at a system level.Logically, Comms Services is divided into sub-blocks, based on technologies. Each sub-block is organized around one or more primaryservers and frameworks. Each server exposes client interfaces through itsclient-side APIs; implements system-level services by providing appropriate protocol implementations as Socket Server plug-ins; and defines ahardware adaptation interface through a framework for which it providesimplementation plug-ins, while also enabling extension by licensees andpartners (who can write their own plug-ins to support bespoke hardware).9.5 ArchitectureServers and frameworks, characteristically for Symbian OS, provide theunifying architectural patterns for Comms Services.The servers collaborate to provide the necessary level of interoperability essential for mobile devices which, by definition, rely on transientconnections of varying kinds, depending on availability, rather than beinga permanent part of a known, fixed infrastructure.Each server exposes a client-side API.
Each server is implemented asa framework. The frameworks supply the mechanisms for extensibility,which is designed in at a number of levels (see Figure 9.7):• new protocols can be added to the system by server extensions• new hardware types at the lower level can be supported by addingARCHITECTURE207ClientsClient APIsOther servicesSockets interfaceSystem interfacesSocket server plug-inmodulesHardware adaptationplug-in modulesHardware adaptationFigure 9.7 Logical layering of Comms Servicessupplier module extensions (plug-ins which provide the hardwareabstraction).The architecture has proved its flexibility and adaptability over time,as it has evolved to support technologies such as Bluetooth and USB, aswell as almost continuous evolution in telephony.The Comms Server ModelIn Symbian OS, each dedicated communications service is organizedaround a principal server and a protocol implementation. The serversinclude the ETel Telephony Server that provides telephony services, theC32 Serial Server that provides data communications services (typicallyvirtualized over short-link connections), Internet extensions to the ESockSocket Server that provides networking services, and Bluetooth and USBmanagers that provide short-link services.In the original communications architecture, all communications services were virtualized over a simple serial connection, supported by ahardware architecture which provided a single UART switchable between208THE COMMS SERVICES BLOCKa cable serial port and an infrared port.
The C32 Serial Server was therefore the primary service provider, accessed directly by clients using itsclient-side APIs. The Serial Server also provided the framework whichdefined the low-level abstract API for communications modules (CSYfiles) which were implemented as plug-ins supporting the available serialhardware (the serial port and IrDA).Networking services were designed around a server that provided aBerkeley-style Sockets API and a TCP/IP stack implementation, whichwas loaded as a server plug-in.
At a lower level, however, all networkingservices were virtualized over serial connections (for example, an IrDAlink to a network-connected computer).When telephony services were introduced to the operating system,the design was quite closely modeled on the serial services architecture,with a primary server, the ETel telephony server, providing the client-sideAPIs and the abstract framework for hardware-facing telephony modules(TSY files), which were analogous to C32 Serial Server CSY communications modules.