The Symbian OS (779886), страница 46
Текст из файла (страница 46)
The RemoteFile Server provides an interface, via the Service Broker, to the devicefile system for a host-side client. Similarly, the Software Install Serverenables a host-side client to interact with the device Application Installerto install SIS, JAR and JAD files over TCP/IP or OBEX. Similarly also, theSecure Backup Server enables a host-side client to interact with the SecureBackup Engine, which performs the interaction with the device-side filesystem and other processes to back up data from the device to the host.Framework and Transport AbstractionsThe Service Broker framework is the core of the Connectivity Servicesimplementation, allowing device-side services to register a port numberCONNECTIVITY SERVICES BLOCK195Service ProvidersPLPVariantRemoteFileServerSoftwareInstallServerSecureBackupEngineSecureBackupSocketServerFigure 8.16 Service Providers componentsfor use by host-side clients, allowing host-side services to be started.
TheService Broker protocol requires a TCP/IP connection to the host, forwhich it relies on the Bearer Abstraction Layer (BAL). Named services(supplied by the connectivity component) use the Service Broker. Portnumber registration is based on XML-defined configuration files.The Bearer Abstraction Layer (introduced in Symbian OS v9) provides abearer-abstraction framework and a connection-management API to PClink-type applications, allowing selection and configuration of connectionbearers. Typically, the link application is provided by a licensee as partof a connectivity suite for a particular product. The framework supportsplug-ins that encapsulate actual bearers (for example, m-Router).Server Socket is a helper library that allows TCP/IP services basedon port numbers to be created for use by the Service Broker, which issimpler and more ROM-efficient than creating bespoke named servicesfrom scratch.ArchitectureThe Connectivity Services block provides device-side support for connectivity services.
Services are organized around a central Service Frameworkcomponent, the Service Broker, with named services, which are clientsof the framework and use it to propagate service port numbers to remoteclients, and bearer services, which are used by the framework to provideTCP/IP-based services over a variety of available bearer technologies.The Bearer Abstraction Layer provides a common platform on top ofthe m-Router TCP/IP-based transport, independently of the actual bearer.Bearer support is provided to the Bearer Abstraction Layer as a plug-in,interfacing to a networking Sockets Server socket connection.Component CollectionsService Providers CollectionThese components provide named services which run on the device sideto provide service interfaces to remote (host-side) clients.
All use theService Broker as an intermediary to propagate their port numbers to theremote client.196THE OS SERVICES LAYERTable 8.8 Service Providers ComponentsComponent NameDevelopment NameRemote File ServerREMOTEFILESERVERSoftware Install ServerSWINSTALLSERVERSecure Backup Socket ServerSBSERVERSecure Backup EngineSECUREBACKUPENGINEPLP VariantPLPVARIANT, PLP, BRDCST• The Remote File Server component provides on-device filemanagement functions to a remote client over TCP/IP, includingaccess to backup and restore functions provided by other systemcomponents.• The Software Install Server component interacts with the softwareinstallation components on the device to enable remote installationof SIS, JAR and JAD files over TCP/IP or OBEX.
Installation eventscan propagate to a connected host, passing progress information anderrors and allowing user interaction.• The Secure Backup Socket Server component provides backup/restorefunctions to a remote client over TCP/IP.• The Secure Backup Engine component manages backup and restoreof device-side data, including private data and installed software,as controlled by the Secure Backup Socket Server. This componentexposes an API and can be used by other components to carry outa remote backup and restore (for example, to a connected PC) or alocal backup and restore (for example, to a removable memory card).• The PLP Variant is a deprecated legacy component that returns fixeddevice information, for example the device ID and required freememory, to applications running on other devices or connected hosts.It is retained only for compatibility with third-party components thatuse some of its APIs.
It is implemented as a DLL to which applicationslink, not as a plug-in.Service Framework CollectionThis service based on configuration files and port registration enablesdevice-side services to register a port number for use by PC-side clients,which can query for and start device-side services. The configuration fileshave an XML-based format.CONNECTIVITY SERVICES BLOCK197ServiceFrameworkServiceBrokerFigure 8.17 Service Framework componentsTable 8.9 Service Framework ComponentsComponent NameDevelopment NameService BrokerSERVICEBROKERDevice ConnectionMRouterBearerAbstractionLayerServerSocketFigure 8.18 Device Connection componentsTable 8.10 Device Connection ComponentsComponent NameDevelopment NameBearer Abstraction LayerMROUTER-PLUG-INServer SocketSERVERSOCKETm-RouterMROUTERSECUREDevice Connection CollectionThis is the lowest (bearer-level) layer of the phone’s Connectivity Services.• The Bearer Abstraction Layer component is a framework for plug-ins,which encapsulates actual bearers (for example m-Router), providinga connection-management API to PC link-type applications.• The Server Socket component is a helper library that supports creating(new, unnamed) port-number-based TCP/IP services for use by theService Broker for device–host communications, for example with aPC.
It communicates service port numbers and manages messagesand commands.• m-Router is a licensed, PPP-like data-communications protocol andframework, which provides a TCP/IP-based connection between two198THE OS SERVICES LAYERdevices (typically, a Symbian OS device and a desktop computer;it runs on both sides of the connection). The connection may runover Bluetooth, infrared, USB, or serial cable connections.
m-Routerprovides a proprietary framework for loading custom services.9The Comms Services Block9.1 IntroductionThe system model represents Comms Services as a major, self-containedblock within the OS Services layer of Symbian OS.‘Comms’ (or communications), in this context, really means ‘data communications’ – the art, science and technology of moving data betweendifferent devices over direct connections or networks. See Figure 9.1.What connections are available depends both on the hardware architecture of a given device and on what services happen to be accessiblethrough the hardware at any particular time. A typical modern mobilephone includes a data cable connector of some kind for connectingto a desktop computer (typically for data synchronization and backup),infrared or Bluetooth radio or both for more transient connections (to otherphones or devices such as printers) and, of course, the telephone radiohardware itself.
Typically the data connector is proprietary but, increasingly, mini-USB ports have begun to appear on phones. On devices suchas PDAs they are standard, as they are on other digital devices such ascameras and music players. Most recently, Wi-Fi has begun to appear onhigh-end phones.OSServicesGeneric OSServicesFigure 9.1Comms ServicesMultimedia & GraphicsServicesConnectivityServicesThe Comms Services block within the OS Services layer200THE COMMS SERVICES BLOCKWhatever the physical connections and whatever their purpose, theissues from a communications perspective are essentially the same.• Two-way communications requires protocols; to successfullyexchange data requires a surprisingly complex set of sharedassumptions between two parties: getting the other party’s attention,agreeing who speaks when, agreeing what counts as ‘data’, keepingup with each other, and so on.• As well as protocols to manage the conversation between the endparties, protocols are required to relay or transport data betweenthem, if the two parties are not directly connected to each other.• Finding a route that connects the parties can also be complex; evenwhere the parties are directly physically connected, an appropriateinterface to the connection must be selected and configured (theremay be multiple interfaces available, even for the same physicalconnection) and where there is no direct connection, a network routemust be found.• Specialized hardware requires appropriate drivers, to push datathrough and manage the hardware state (powering hardware downwhen not in use is especially important in a low-powered or batterypowered device, for example).• In a multitasking system, contention for hardware between multipleclients is likely so that hardware needs to be shared (for example, iftwo applications are trying to use a serial port at the same time).• Finally, at the application level, settings may need to be saved, shared,updated and managed.Communications is complex because the task is complex.
Communications also continues to evolve at an explosive rate, not least becauseit is also where computing and telephony converge, where wired andradio technologies converge and where personal and enterprise usagesconverge. For all these reasons it is usually considered to be at thetechnological leading edge.Symbian OS supports a wide range of communications technologiesincluding conventional serial communications, short link technologiessuch as USB, Bluetooth and infrared, as well as networking technologies,from standard Internet protocols to newer protocols such as SIP (whichare designed to support services from VoIP to the latest packet-based dataservices) and, of course, telephony voice, data and messaging services for2G, 2.5G and 3G networks, whether GSM/UMTS or CDMA/CDMA2000.Symbian’s communications support has evolved not just to track newtechnologies but also in response to their rapid convergence and, inparticular, in response to the increasing importance of packet-basedtechnologies for 2.5G and 3G telephony services.PURPOSE2019.2 PurposeComms Services in Symbian OS provides the support for a wide varietyof communications protocols and services:• Serial protocols including RS232, IrDA and USB• Bluetooth radio• Networking protocols including TCP/IP (both IPv4 and IPv6), networksecurity (TLS and IPSec) and dial-up protocols (PPP and SLIP)• Wi-Fi• 2G, 2.5G and 3G mobile telephony voice, data (including fax) andmessaging services for GSM/UMTS and CDMA/CDMA2000 networks.These protocols in turn enable the infrastructure for higher-level services including:• networking including browsing and VPN support• SIP session support• email, SMS, MMS, WAP and OBEX messaging• SyncML data synchronization• WAP browsing• Fax.These services are supported over physical hardware including cableserial ports, infrared, USB connectors, Bluetooth radio and GSM/UMTSor CDMA/CDMA2000 phone–air interface.The system model divides the Comms Services block into four distinctsub-blocks: the Comms Framework, which provides the overall supporting infrastructure for data communications, and Telephony, Short Linkand Networking sub-blocks, each of which defines the dedicated servicesrequired for its respective technology.OSServicesCommsFrameworkTelephonyServicesShort LinkServicesNetworkingServicesComms ServicesFigure 9.2 The Comms Services sub-blocks202THE COMMS SERVICES BLOCKCommsProcess &SettingsCommsConfig.Data Comms ServerCommsFrameworkBasebandAbstractionComms FrameworkFigure 9.3 Comms Framework sub-blockComms FrameworkThe Comms Framework provides the generic infrastructure that supportsall communications services.Most importantly, it includes the Comms Root Server, which is the‘meta’ process server for all communications services and the ESockSocket Server which provides the generic, sockets-style interface used toaccess all communications services.