Wireless Platforms

50 %
50 %
Information about Wireless Platforms
Education

Published on December 23, 2013

Author: DiggMee

Source: slideshare.net

Description

4.1 INTRODUCTION..........................................................................................................................4-3
4.2 LOCAL PLATFORM SERVICES FOR MOBILE DEVICES...............................................................4-5
4.2.1 Mobile Devices at a Glance.............................................................................................4-5
4.2.2 Operating Systems (OSs) for Mobile Devices.................................................................4-7
4.2.3 Mobile Database Management .....................................................................................4-11
4.2.4 Mobile Transaction Management .................................................................................4-12
4.2.5 Utilities for Mobile Devices ...........................................................................................4-13
4.3 WIRELESS MIDDLEWARE........................................................................................................4-13
4.3.1 What is Wireless Middleware? ......................................................................................4-13
4.3.2 Operational Issues in Supporting Mobile Computing Applications ............................4-15
4.3.3 Design and Development Issues in MobileComputing Applications..........................4-16
4.3.4 Wireless Middleware Services Needed for Mobile Computing Applications..............4-17
4.3.5 Example: Message-Oriented Middleware for Mobility................................................4-19
4.4 WIRELESS GATEWAYS AND MOBILE APPLICATION SERVERS...............................................4-21
4.4.1 What is a Wireless Gateway? ........................................................................................4-21
4.4.2 What is a Mobile Application Server?...........................................................................4-22
4.4.3 Examples of Mobile Application Servers ......................................................................4-24
4.5 THE WIRELESS APPLICATION PROTOCOL (WAP)..................................................................4-25
4.5.1 Overview .........................................................................................................................4-25
4.5.2 Why WAP is Needed.......................................................................................................4-27
4.5.3 The New WAP – WAP 2.0..............................................................................................4-29
4.5.4 Wireless Application Environment (WAE)....................................................................4-30
4.5.5 Wireless Markup Language (WML)..............................................................................4-30
4.5.6 WAP Microbrowsers......................................................................................................4-33

www.jntuworld.com www.jwjobs.net 4 Mobile Computing Platforms, Middleware, and Servers 4.1 INTRODUCTION ..........................................................................................................................4-3 4.2 LOCAL PLATFORM SERVICES FOR MOBILE DEVICES ...............................................................4-5 4.2.1 Mobile Devices at a Glance.............................................................................................4-5 4.2.2 Operating Systems (OSs) for Mobile Devices.................................................................4-7 4.2.3 Mobile Database Management .....................................................................................4-11 4.2.4 Mobile Transaction Management .................................................................................4-12 4.2.5 Utilities for Mobile Devices ...........................................................................................4-13 4.3 WIRELESS MIDDLEWARE ........................................................................................................4-13 4.3.1 What is Wireless Middleware?......................................................................................4-13 4.3.2 Operational Issues in Supporting Mobile Computing Applications............................4-15 4.3.3 Design and Development Issues in Mobile Computing Applications..........................4-16 4.3.4 Wireless Middleware Services Needed for Mobile Computing Applications..............4-17 4.3.5 Example: Message-Oriented Middleware for Mobility................................................4-19 4.4 WIRELESS GATEWAYS AND MOBILE APPLICATION SERVERS ...............................................4-21 4.4.1 What is a Wireless Gateway? ........................................................................................4-21 4.4.2 What is a Mobile Application Server?...........................................................................4-22 4.4.3 Examples of Mobile Application Servers ......................................................................4-24 4.5 THE WIRELESS APPLICATION PROTOCOL (WAP)..................................................................4-25 4.5.1 Overview.........................................................................................................................4-25 4.5.2 Why WAP is Needed.......................................................................................................4-27 4.5.3 The New WAP – WAP 2.0..............................................................................................4-29 4.5.4 Wireless Application Environment (WAE)....................................................................4-30 4.5.5 Wireless Markup Language (WML)..............................................................................4-30 4.5.6 WAP Microbrowsers......................................................................................................4-33 4.5.7 WMLScript......................................................................................................................4-34 4.5.8 Wireless Telephony Application (WTA)........................................................................4-34 4.5.9 WAP Push Model ...........................................................................................................4-35 4.5.10 The Role of WAP in SMS and MMS..............................................................................4-36 4.5.11 The Traditional WAP Protocol Stack............................................................................4-37 4.5.12 WAP Gateway ................................................................................................................4-41 4.5.13 WAP Security..................................................................................................................4-42 4.5.14 WAP Software Development Kit (SDK), Toolkits, and Infrastructure ........................4-42 4.5.15 WAP Applications ..........................................................................................................4-44 4.5.16 Example of WAP and Bluetooth Together ....................................................................4-45 4.5.17 WAP Summary ...............................................................................................................4-45 4.6 I-MODE, WIRELESS JAVA, MMIT, AND BREW......................................................................4-46 4.6.1 Overview.........................................................................................................................4-46 4.6.2 i-mode .............................................................................................................................4-47 4.6.3 Wireless Java and J2ME (Java 2 Micro Edition).........................................................4-49 4.6.4 Microsoft Mobile Internet Toolkit (MMIT)...................................................................4-52 4.6.5 QualComm’s Binary Runtime Environment for Wireless (BREW) .............................4-54 4.7 VOICE COMMUNICATIONS – VOICE BROWSERS AND VOICE XML.......................................4-55 4-1 © – AMJAD UMAR www.jntuworld.com

www.jntuworld.com www.jwjobs.net CHAPTER 4: MOBILE COMPUTING PLATFORMS, MIDDLEWARE, AND SERVERS 4.7.1 Overview.........................................................................................................................4-55 4.7.2 Voice Browsers...............................................................................................................4-55 4.7.3 VOICE XML ...................................................................................................................4-57 4.8 EXAMPLES AND CASE STUDIES ...............................................................................................4-61 4.8.1 Texas Instruments’ OMAP – Platform for Building 3G Applications.........................4-61 4.8.2 Example: Platforms and Middleware for Wireless Sensor Networks (WSNs)............4-63 4.8.3 AIRTIS Wireless Traffic and Weather Solution ............................................................4-65 4.8.4 City of Seattle Public Utilities Chooses Wireless Middleware ....................................4-65 4.8.5 M-Commerce: Nokia and Amazon.com Collaboration................................................4-67 4.8.6 Drexel University Wireless Network .............................................................................4-67 4.9 CONCLUDING COMMENTS.......................................................................................................4-68 4.10 SUGGESTED REVIEW QUESTIONS AND EXERCISES ................................................................4-69 4.11 REFERENCES ............................................................................................................................4-69 Example: What is Needed to Support Multimedia Messaging Service (MMS) A US-based company wanted to support MMS, mainly picture messaging, on its cellular phones. The first step was, of course, to identify the technologies needed to support this initiative. The following figure shows an architecture of MMS (we discussed this in Chapter 2). This company subdivided the technologies into two parts: a front end that deals with the mobile devices to the MMS server, and a back end that deals with connecting the MMS server to the various content providers. The following “front-end” technologies, under the general umbrella of “mobile computing platforms” needed for MMS, were the key candidates: Local platform services that resided on the handsets. These mainly consisted of a Symbian operating system with support for MPEG, JPEG, and digital cameras. In addition, several utilities to backup and synchronize the data on the handset are needed. Middleware services that interconnect the handset to the MMS server and then deliver the MMS services to the users. These services are needed by MMS phones to exchange messages including still pictures, animations and sounds. In addition, email and email protocol (e.g., POP) support is needed. For most of the MMS services, this company chose WAP (Wireless Application Protocol). MPEG-4, the standard for delivery of video and audio over the Internet, was also chosen. Network transport services that shuffle the messages over the cellular network. TCP/IP was chosen for this technology. Although MMS is supposed to be supported on 3G networks, this company chose MMS over 2.5G networks. The back-end technologies, not discussed here in detail, consist of typical Web and Internetbased middleware and network services (see [Umar 2004]). E-Mail Mobile Switching Center (MSC) Voice mail MMS Server Internet Web Pictures Other Content 4-2 www.jntuworld.com

www.jntuworld.com www.jwjobs.net 4.1 Introduction The mobile information space is packed with thousands of mobile devices that cooperate with other mobile or fixed devices to support mobile computing applications. Platforms to support these applications, called mobile computing platforms, provide interconnectivity services between partners and transfer information in a secure and efficient manner. These platforms, the focus of this chapter, enable the operation and, in many cases, development and deployment, of mobile computing applications such as mobile messaging, mobile commerce, mobile business, and many others discussed in Chapter 2. Figure 4-1 illustrates the position of mobile computing platforms relative to the mobile applications and physical wireless networks, and serves as a general framework for our discussion. As depicted in Figure 4-1, these platforms provide three types of services: Server (Web Server, eMail server, Mainframe) Mobile Device (Cell Phone, PDA, Pocket PC) Application Application Middleware Services Local Platform Services Network Transport Services Mobile Computing Platform Middleware Services Local Platform Services Network Transport Services Physical Wireless Network (Antennas, Transceivers, Base Stations, Cellular Networks, 802.11 LANs, Satellites) Figure 4-1: Platforms for Mobile Applications Local platform services that support the applications on the individual mobile devices. These services consist of operating systems (e.g., Symbian OS) needed to run the mobile devices, and also include local system software services such as database managers, transaction managers, and utilities for mobile devices (see Section 4.2). Middleware services that interconnect mobile users, databases and applications with each other. Simply stated, middleware is business/industry unaware software that provides interconnectivity between remotely located applications, databases and users. For example, wireless middleware provides remote access to a corporate database from a mobile phone and may also encrypt and compress the messages for security and performance. We will review the general features of middleware needed to support mobile applications in Section 4.3. An interesting trend at present is to package a variety of middleware services into “wireless gateways” and “mobile application servers” that can support the current and future breed of mobile applications (see Section 4.4). Examples of such packages are WAP (Wireless Application Protocol), i-mode and J2ME (Java2 Micro Edition), and Microsoft Mobile Internet Toolkit (see sections 4.5 and 4.6). The platforms to support voice applications (Voice XML) are discussed in Section 4.7. Network transport services that are responsible for shuffling the messages over, in this case wireless, networks. These services, mostly handled by TCP/IP, were discussed in the 4-3 © – AMJAD UMAR www.jntuworld.com

www.jntuworld.com www.jwjobs.net CHAPTER 4: MOBILE COMPUTING PLATFORMS, MIDDLEWARE, AND SERVERS previous chapter. The underlying physical communication networks are discussed at great length in the next part of this book (Chapters 5 to 10). Due to the central role played by wireless middleware, the bulk of this chapter is devoted to wireless middleware and its various packages that are commercially available at present. The chapter concludes by discussing a few short examples and case studies (Section 4.8). Chapter Highlights Mobile computing platforms support the development as well as operation of mobile applications such as mobile messaging, mobile commerce, mobile e-business, and others. Mobile computing platforms consist of the following: Local platform services that run on the mobile device (clients) and also on the servers Interconnectivity software (the wireless middleware) that interconnects the two Network transport services that transfer message over the wireless networks Wireless middleware itself can be subdivided into: Individual services such as compression and content conversion Wireless gateways that combine many individual services together to provide run-time support Mobile application servers that go beyond the gateways and include mobile application development, monitoring, and control features. Local services support the individual mobile devices. These services consist of operating systems, database managers, transaction managers, and utilities for mobile devices. Middleware services interconnect mobile users, databases and applications with each other. Mobile computing applications need this middleware to smooth over the mobile computing issues as much as possible, so that the same applications can run on wired as well as wireless networks. WAP (Wireless Application Protocol) is an open specification for mobile computing platforms. It supports a WAE (Wireless Application Environment) and uses WML (Wireless Markup Language). i-mode, developed by NTT DoCoMo, is a popular mobile computing platform in Japan and is currently gaining momentum in the US. It uses special phones capable of voice and packet transmission along with a browser installed. I-mode phones are specialized phones, with larger windows for multimedia, that display content in cHTML (compressed HTML) over packet-switching networks. Wireless Java is the general umbrella name under which Sun is supporting its Java platform for developing wireless applications. Java 2 Micro Edition (J2ME) is the core technology in wireless Java for writing applications that run on small hand-held devices. The Microsoft Mobile Internet Toolkit (MMIT) is an extension of the Microsoft .NET framework for building Wireless applications. MMIT has two interesting features: it automatically generates code (WML, cHTML, and HTML) for different types of mobile devices, and it is built around .NET and Visual Studio – popular platforms for application development at present. BREW, from QualComm, provides application developers with a platform in which to develop their products, and to incorporate the same features as J2ME, including crossdevice platform capabilities. BREW currently uses Microsoft .NET Visual Studio. VoiceXML is a markup language for voice browsers. It is designed for creating audio dialogs that feature synthesized speech, digitized audio, and recognition of spoken and digitized voice mail. Specialized platforms for systems such as wireless sensor networks are evolving. 4-4 www.jntuworld.com

www.jntuworld.com www.jwjobs.net The Agenda • Local Services and Wireless Middleware • WAP, i-mode, J2ME, MMIT, BREW • Voice XML, Examples and Case Studies 4.2 Local Platform Services for Mobile Devices Local platform services reside on mobile devices (laptops, pocket PCs, PDAs, cellular phones, and other handsets). These services consist of operating systems, database managers, transaction managers, and utility programs. These platform services are briefly discussed in this section. Although laptops are among the commonly used mobile devices, we will concentrate mainly on the handheld devices because they present unique challenges. 4.2.1 Mobile Devices at a Glance The current generation of mobile devices are expected to run more and more applications. For example, the cellular phones were initially targeted for voice applications only, but now are expected to support many more applications. In general, many applications will be supported by the mobile devices of today and tomorrow. These include, but are not limited to, telephone calls, email services, short message services, web browsing, multimedia message services, location services, and m-commerce. The main challenge for mobile devices is that each of these applications requires a collection of enabling technologies, shown in the following table. Table 4-1: Typical Applications and Enabling Technologies Mobile Device Applications Enabling Technologies Voice processing Speech recognition, voice recording, call forwarding Web browsing Microbrowsers, content display capabilities email and short messaging services email client, email protocol (e.g., POP) support Multimedia communications MPEG, JPEG, digital cameras Location-based services Speech recognition, GPS, JPEG M-Commerce MP3, MPEG, Encryption, transaction management, data management To support these applications and the underlying technologies, the mobile devices need numerous capabilities. Figure 4-2 shows typical hardware capabilities needed by the modern mobile devices. Of course there is a LCD/Touch screen for the data to be displayed and for the user to input data. At the input, there is usually an antenna or a microphone as a voice recognition device. There is also an output device such as an Infrared (I/R) port, Bluetooth connection or a speaker. The memory and the processor must be small yet powerful enough to run real-time applications. To support multimedia applications, for example, the processor 4-5 © – AMJAD UMAR www.jntuworld.com

www.jntuworld.com www.jwjobs.net CHAPTER 4: MOBILE COMPUTING PLATFORMS, MIDDLEWARE, AND SERVERS must be able to support digital signal processing algorithms that require high-speed mathematical processing, a large data array, and a fast interrupt response from multiple sources. The battery must be small but powerful to support sophisticated operations. Due to size limitations, many system components are typically reused and shared among different applications. For example, the larger LCD for the PDA can also be used as a digital camera viewer, display for web browsers, and cell phone screen display. The speaker or headphone can be used as a sound source during the telephone mode or used as the output for MP3 music in the consumer electronics mode. The built-in camera lens can be used during a digital camera mode or used for video mode. LCD/Touch Screen Antenna Microophone I/R Voice Recognition Mobile Device Text To Speech Camera Bluetooth Speaker Memory/Processor, Battery Figure 4-2: Conceptual View of Mobile Device Hardware Sophisticated operating systems are needed to handle all the devices and to allow the simultaneous use of various applications. For example, a user may want to listen to an MP3 music file on the device while using it to take a picture. Or a user may use the phone feature to talk while using the PDA feature to send the picture she just took with her friends. The combination of usages varies with different users and can be very complex with multiple applications running at the same time. Thus there is a need for a multitasking operating system (OS) with memory protection capability running on the mobile device. To handle multiple applications simultaneously, OSs like Symbian, WinCE, or Linux are typically used. We will review the OSs in Section 4.2.2. The users may need data management capabilities to access and manipulate information on the handset (see Section 4.2.3). In addition, transactional capabilities may be needed for m-commerce applications (see Section 4.2.4) and utilities may be needed to backup and synch information on the handset (see Section 4.2.5). A strong requirement in mobile devices is that a misbehaved application must not destroy data in other applications. The processor and the OS must support memory protection, and be able to support code written in high-level languages (HLL) such as C, C++, and Java. As the mobile device market grows, more features are being added into a single device such as a handset, and these features need to be invoked simultaneously. To address these challenges of running multiple applications on a handset, many companies are developing “integrated” solutions for the mobile devices. Examples of these companies are Texas Instruments (TI), Intel, Ericsson, Nokia, and Qualcomm. Each company has a slightly different approach to address the same set of challenges. At the hardware level, some use single processors while others, such as Texas Instruments, use dual processors. In the single processor approach, a single processor is expanded to increase its capabilities to support more features. But more features put demands on the battery; thus single processors have been 4-6 www.jntuworld.com

www.jntuworld.com www.jwjobs.net successful in the PDA market where a larger battery can be installed in the handset. Depending on the type of mobile device, the challenges also vary somewhat. For example, a cellular phone handset must meet a strict requirement for low power consumption so that it can use a smaller battery to fit in a smaller form factor. But a PDA can be larger size, with a larger touch-screen LCD, and can hold a larger battery. This section gives a broad overview of the key developments in mobile computing platform services. For additional detail, the websites of the key players (Texas Instruments, Intel, Ericsson, Nokia, and Qualcomm) should be consulted. As an illustrative example, Section 4.8.1 briefly discusses the Texas Instrument OMAP mobile computing platform. 4.2.2 Operating Systems (OSs) for Mobile Devices Many operating systems support the PDAs and smart phones. Main examples include Palm Inc.’s Palm OS, Microsoft’s Windows CE, and Symbian’s Symbian Platform. The operating system’s capabilities depend on the processing power of the handheld devices and consequently the type of applications that need to be supported on these devices. Processors used range from 16 MHz to 200 MHz or higher. Low processing power is adequate for the standard calendar and contact functionality, but greatly limits the more demanding applications such as word processors, spreadsheets, and games. Due to the device differences, no operating system dominates the market for handheld devices at this stage. The general principles of OSs are briefly reviewed before discussing the main players in this area. 4.2.2.1 What are Operating Systems? – A Quick Overview Simply stated, an operating system is the computer system’s chief manager. As shown in Figure 4-3, an operating system surrounds the computing hardware and controls all other software – applications and local system software such as database managers, middleware, application software, and the user interfaces. It decides which hardware resources will be used, which programs will be run, and the order in which activities will take place. Technically, an operating system is a program, or a collection of programs, which allocates computer resources (memory, CPU, I/O devices, files, etc.) to processes (user commands, application software, middleware services, database managers, other operating systems). An operating system also gives the users a command language with which to invoke the operating system facilities and to access the computing resources. This command language, also called control language in some systems, is used to access editors, compilers, utilities and other operating system resources. Many operating systems have been developed over the last thirty years. Examples of state-ofthe-market operating systems that are used in the laptops are briefly reviewed in the sidebar, “Examples of Laptop Operating Systems.” Typical functions performed by an operating system are: Handle User Commands. The operating system receives, parses and interprets the user commands. It also displays results of the user session with information about resource utilization, etc. Allocation and Assignment. The operating system allocates resources needed to execute the user commands and jobs, if the user is allowed to access the resources. It provides locations in primary memory for data and programs and controls the input and output devices such as printers, terminals, and telecommunication links. Scheduling. The operating system decides when to schedule the jobs and user requests that have been submitted. It also coordinates the scheduling in various areas of the computer so that as many things can be done in parallel as possible. The operating system 4-7 © – AMJAD UMAR www.jntuworld.com

www.jntuworld.com www.jwjobs.net CHAPTER 4: MOBILE COMPUTING PLATFORMS, MIDDLEWARE, AND SERVERS must schedule jobs according to organizational priorities. Online order processing may have priority over a job to generate mailing labels. Monitoring. The operating system monitors the activities of the computer system and the processes in the system. It keeps track of each computer job and may also keep track of who is using the system and what programs have been run, as well as generating any error messages. Security. The operating system authenticates the user request for proper authority and keeps track of any unauthorized attempts to access the system. APPLICATION SOFTWARE MIDDLRWARE Network NETWORK INTERFACES SYSTEM SOFTWARE OPERATING SYSTEM LOCAL USER INTERFACES HARDWARE Figure 4-3: Interrelationships Between Various IT Components Figure 4-4 shows a functional model of operating systems. The user command manager parses and executes the user commands. The memory manager allocates the main memory and the hardware registers to various processes. Most memory managers include the capabilities to manage virtual memory and translate between virtual to real memory. The CPU (central processing unit) manager allocates the CPU to the processes. A variety of CPU scheduling schemes (time-slicing, interrupt-driven) have been employed in the operating systems. The file managers manage the data resources in the system. This normally includes catalogs, file sharing, etc. The I/O (input/output) managers steward all the local and remote I/O activities. The network communication facilities may be included in some operating systems as I/O facilities. Operating System User Command Management Memory Management CPU Management Data Management I/O Management Figure 4-4: Centralized Operating System – Functional View Examples of Laptop Operating Systems Microsoft’s Windows 98 is a 32-bit operating system that can address data in 32-bit chunks and run programs that take up more than 640 kilobytes of memory. It features 4-8 www.jntuworld.com

www.jntuworld.com www.jwjobs.net multitasking, multithreading, and powerful networking capabilities, including the capability to integrate fax, email, and scheduling programs. Windows 95 was an earlier version of this operating system. Windows 98 also has support for additional hardware technologies such as MMX, digital video disk (DVD), videoconferencing cameras, scanners, TV tuneradapter cards, and joysticks. It also includes a group collaboration tool called NetMeeting and FrontPage Express, a tool for creating and storing Web pages. Windows Millennium Edition (Windows Me) is an improved version of Windows 98 and features tools to let users edit video recordings and put them up on the Web, and tools to simplify home networking of two or more PCs. A media player bundled with Windows Me can record, store, and play CDs, digital music downloaded from the Internet, and videos. Windows Me users can also import, store, and share photos. It also has improved capabilities for safeguarding critical files. Windows 2000 is another 32-bit operating system with features especially for applications in large networked organizations. Windows 2000 is used as an operating system for highperformance desktop and laptop computers and network servers. There are two basic versions of Windows 2000 – a Professional version for users of standalone or client desktop and laptop computers, and several server versions designed to run on network servers and provide network management functions, including tools for creating and operating websites and other Internet services. Windows 2000 shares the same graphical user interface as the other Windows operating systems, but it has more powerful networking, multitasking, and memory-management capabilities. Windows 2000 can support software written for Windows and it can provide mainframe-like computing power for new applications with massive memory and file requirements. It can even support multiprocessing with multiple CPUs. Windows XP (for eXPerience) combines strong features of Windows 2000 and Windows 98/Me. The Windows XP Home Edition is for home users and the Windows XP Professional Edition targets mobile and business users. Mac OS, the operating system for the Apple Macintosh computer, provides multitasking, powerful multimedia and networking capabilities, and a mouse-driven graphical user interface. New features of this operating system allow users to connect to, explore, and publish on the Internet and World Wide Web. It also allows users to use Java software and load different language fonts in Chinese, Japanese, Korean, Indian, Hebrew, and Arabic for use in Web browser software. Mac OS X, a newer Apple operating system, has a Unixbased foundation for additional features of reliability, graphics, and open-source software. Linux is a Unix-like operating system that runs on Intel, Motorola, Mips, and other processors. Linux is a competitor to Windows operating systems and can be downloaded from the Internet free of charge, or purchased for a small fee from companies that provide additional tools for the software. The source code for Linux is available along with the operating system software so that it can be modified by software developers to fit their particular needs. Linux is an example of open-source software, which provides all computer users with free access to its source code so that they can modify the code to fix errors or to make improvements. Open-source software such as Linux is not owned by any company or individual. Because it is free and reliable, it has become popular during the past few years among sophisticated computer users and businesses as an alternative to Unix and Windows 2000. Major application software vendors are starting to provide versions that can run on Linux. 4-9 © – AMJAD UMAR www.jntuworld.com

www.jntuworld.com www.jwjobs.net CHAPTER 4: MOBILE COMPUTING PLATFORMS, MIDDLEWARE, AND SERVERS 4.2.2.2 Palm OS Palm OS supports a very specific hardware platform designed exclusively by Palm Computing. Because of the popularity of Palm Pilot devices, Palm OS has a very large community of developers and many freeware applications for end users. The Palm Pilot has a 16-bit memory allocation scheme, thus it can only address 64K at a time.1 This requires software developers to address data in 64K chunks. The basic versions of Palm OS (e.g., Version 4.0), include password-based security and Short Message Service (SMS) support. In addition, native Universal Serial Bus (USB) support and expanded alarm and notification capabilities are included. Support for Address Book Dial Command and 65,000 colors is also provided. Newer versions, e.g., Palm OS release 5, support more powerful processors that allow new OS functionalities for new devices and new telephony features. 4.2.2.3 Microsoft Windows CE Windows CE is Microsoft’s embedded operating system for small-footprint and portable devices such as PDAs. Windows CE is a scaled-down version of Windows to run on small handheld computers, personal digital assistants, or wireless communication devices such as pagers and cellular phones. It is a portable and compact operating system requiring very little memory. Information appliances and consumer devices can use this operating system to share information with Windows-based PCs and to connect to the Internet. Stinger, Microsoft’s platform for smart phones, is based on a scaled-down version of Windows CE 3.0. Windows CE uses the OEM Adaptation Layer (OAL) between the kernel and microprocessor to facilitate adaptation to a specific platform. This architecture has made Windows CE portable to a large number of processors. In addition, CE support for the well known Win32 application programming interface (API) has encouraged independent software vendor (ISV) development for CE applications. Various releases of Windows CE over the years have appeared with enhancements to provide better embedded real-time capabilities ranging from car navigation systems to industrial controls. Real-time operating system (RTOS) is used to support these applications with multiple interrupt levels, efficient thread responses, and several task priorities. Enhancements have also included multimedia capabilities, integration with HTTP server and Internet Explorer for Web-based operations, support for multiple languages, and increased component support for providing modularity for developer use. Security features have been added by including Secure Socket Layer (SSL) and Kerberos in CE for client-side authentication of connections from devices to enterprise networks. Support for Bluetooth has also been added. 4.2.2.4 Symbian Platform Symbian Platform, earlier known as EPOC, is developed and licensed by the Symbian consortium, a joint venture between Ericsson, Nokia, and Motorola. The Symbian Platform is a 32-bit multitasking operating system, with communications support for remote dial-up and infrared. This includes a telephony API that enables clients to initiate, control, and terminate data, fax, and voice calls using the same methods for any hardware. The Platform is designed for real-time capabilities for voice and data applications over wireless networks. Like Windows CE and Palm OS, it also supports voice recording and has its own synchronization code that lets smart phones exchange data with PC applications. 1 16 Memory address for 16 bit address is 2 = 64K. 4-10 www.jntuworld.com

www.jntuworld.com www.jwjobs.net Over the years, Symbian has introduced several product categories. Some products are datacentric for data applications, while others are more phone-centric (voice-first) design. These products have the capability to execute applications locally and thus perform tasks offline. The Symbian Platform also supports mobile phone technology with email, SMS, WAP, and HTML. It also supports general packet radio service (GPRS) networks, 3G wireless, and Bluetooth. 4.2.3 Mobile Database Management Traditional database managers, also known as database management systems (DBMSs), provide access to databases for online and batch users. In a traditional database environment, different users can view, access and manipulate the data in a centrally located database. A traditional DBMS is designed to a) manage logical views of data so that different users can access and manipulate the data without having to know the physical representation of data, b) manage concurrent access to data by multiple users, enforcing logical isolation of transactions, c) enforce security to allow access to authorized users only, and provide integrity controls and backup/recovery of a database. Relational database managers such as DB2, Oracle, and Microsoft SQL Server are typically used in many contemporary applications. Older systems use hierarchical database managers such as IMS. Object-oriented databases are still in their infancy. Databases in a wireless world is an interesting area of work because as the computing migrates away from the desktops and mainframes towards mobile devices, it becomes necessary to manage data on numerous PDAs, cellular phones and other such devices. The problem is that data management in these environments requires storage, retrieval, update, and synchronization of information that is dispersed across multitudes of mobile as well as immobile computing devices – large and small. A brief overview of developments in this area is summarized here. Extensive discussion of these topics is beyond the scope of this book. See Data Management for Mobile Computing by E. Pitoura et al. (Kluwer Academic Publishers) for details. Many databases for mobile devices provide limited functionality that is suited for mobile devices. For example, Syware (www.syware.com) provides a database manager for Pocket PC, Windows CE, or Windows Mobile devices. These allow creation of mobile databases, printing of reports, and simple queries. This software is compatible with all Windows CE devices but is not a full-fledged DBMS. The main trend at present is to provide almost full-functional relational database management systems, as much as possible, on mobile devices. This is becoming possible because of the increase in the processing capabilities of mobile devices and the ability of software developers to build component-based software that can fit on small devices. For example, Upright Database Technology delivers the Mimer SQL Mobile database management system on the Symbian OS for mobile phones. Mimer SQL Mobile is a full-fledged DBMS server with support for data compression, multimedia data (e.g. MMS – Multimedia Message Services) and standard interface connectivity. The product supports full industry standard SQL with full transactional support, stored procedures and triggers. The product also includes features like multi-user database access. In short, it is a full-fledged DBMS that runs on cellular phones under the Symbian OS. Yet another trend is “downsizing” of large DBMSs to fit on small handheld devices. For example, IBM’s DB2 Everyplace software provides a suite of database services that can run on a wide range of computing devices – from mainframes to PDAs. The main advantage of such an approach is that the user gets the same look and feel across all devices and also gets 4-11 © – AMJAD UMAR www.jntuworld.com

www.jntuworld.com www.jwjobs.net CHAPTER 4: MOBILE COMPUTING PLATFORMS, MIDDLEWARE, AND SERVERS integration with other databases and applications. For example, DB2 Everyplace gives mobile workers the ability to query, retrieve, and modify information in real time from a wide variety of applications and data sources, including information stored in Oracle and Microsoft databases. It also provides support for the IBM WebSphere platform. DB2 Everyplace provides a Mobile Application Builder (MAB) that enables rapid application development for handheld devices based on the PalmOS and any device supporting Java. Oracle Corp has provided similar capabilities through Oracle9i Mobile.2 4.2.4 Mobile Transaction Management Traditional transaction managers (TMs), also known as transaction processing monitors (TP monitors), manage the execution of transactions (sequence of statements that must be executed as a unit). TMs specialize in managing transactions from their point of origin to their termination (planned or unplanned). Some TM facilities are integrated with the DBMS facilities to allow database queries from different transactions to access/update one or several data items (IBM’s IMS DB/DC is an example). However, some TMs only specialize in handling transactions only (CICS, Tuxedo and Encina are examples). The key issue in mobile distributed environments is how to extend the scope of local transaction management to managing the execution of transactions across multiple computing devices, mobile as well as immobile. In particular, mobile applications have to operate in disconnected mode due to economical factors or unavailable connectivity. Thus mobile users collect data in standalone mode and synchronize it periodically. The common synchronization approach is based on optimistic replication techniques in which shared data is replicated on mobile computers and users are allowed to continue their work while disconnected. Updates performed by disconnected users are logged and later propagated to servers. This approach is the foundation of “Replication Servers” that are used in many large scale systems. Replication servers are commercially available from IBM, Oracle, Praxis, and others. The optimistic synchronization works well for small populations of users who share data that is updated occasionally. In general mobile environments, several problems arise from such approaches because updates performed by different disconnected users may conflict with each other. In addition, it is not possible to determine the result of an update in the mobile device in case of a conflict. Mobile users may also wish to perform operations over data that is not locally replicated. Several approaches to overcome these limitations have been proposed. An example is the work by Preguica [2000] on the Mobisnap system (http://asc.di.fct.unl.pt/mobisnap). In this approach, mobile clients cache subsets of the database state and allow disconnected users to perform transactions independently. Transactions are specified as mobile transactional programs that are propagated and executed in the server, thus allowing the validation of transactions based on application-specific semantics. In this model, the final result of a transaction is only determined when the transaction is processed in the central server. The system implements a reservation mechanism in order to guarantee the results of transactions performed in disconnected computers. Other approaches, especially for transactions in mcommerce, have been presented by researchers such as Veijalainen1 [2001]. 2 Alan Yeung et al., Oracle9i Mobile (McGraw Hill, 2002). 4-12 www.jntuworld.com

www.jntuworld.com www.jwjobs.net 4.2.5 Utilities for Mobile Devices A wide range of utilities are available on mobile devices. These include file management utilities for access and manipulation of text documents, directories, diagrams, charts, and images. Other utility programs offer calendaring and sorting functions or serve as calculators and clocks. Examples of utility programs are Microsoft Accessories, consisting of Notepad, Clock, and a Calculator, among other things. Due to the popularity of handheld devices, there are hundreds of add-on utilities for Palm OS, Windows CE, and Symbian OS. These include alarm clocks to wake you up, travel trackers that keep track of travel arrangements and add flight times and other information automatically to calendars, and a bevy of organizers, note takers, and synchronizers. 4.3 Wireless Middleware 4.3.1 What is Wireless Middleware? Simply stated, wireless middleware interconnects mobile users, databases and applications across wireless networks. Wireless middleware, also known as mobile computing middleware, is a special class of general purpose middleware (see the sidebar, “What is Middleware?”) that smoothes over the mobile computing issues, as much as possible, so that the same applications can run on wired as well as wireless networks. The following common features of wireless middleware products are needed to support mobile computing applications [Umar 2004, Vichr 2001]: Connection and message delivery: Middleware helps establish connections between mobile clients and servers over wireless networks and delivers messages over the connection. It also stores and forwards messages if the user is disconnected from the network. Transformation: The middleware transforms data from one format to another (e.g., HTML to WML). The transformation may be intelligent enough to transform different types of data to different types of devices. For example, it can produce VXML or WML depending on the type of device. Detection and storage: Wireless middleware products can detect and store mobile device characteristics in a database. Upon detecting the type of mobile device or channel being used (e.g., GSM or 802.11 frequency range), the middleware can optimize the wireless data output according to device attributes. Optimization: Middleware products can compress data to minimize the amount of data being sent over a slow cellular wireless link. Security: Security features can be imbedded in wireless middleware to ensure end-to-end security. For example, digital certificates for handheld devices can be managed by a middleware service. Operation support: Middleware can offer network and systems management utilities and tools to allow monitoring and troubleshooting wireless devices and networks. We will discuss this topic in the “Management Platforms” section of Chapter 13. A variety of general-purpose middleware services have emerged over the years (see Umar [2004]). Example are CORBA, DCOM, MOMs (message-oriented middleware), and others. Many of these have been extended and specialized for wireless. For example, Wireless CORBA was specified by OMG as a specialization of CORBA. In the same vein, Sun’s 4-13 © – AMJAD UMAR www.jntuworld.com

www.jntuworld.com www.jwjobs.net CHAPTER 4: MOBILE COMPUTING PLATFORMS, MIDDLEWARE, AND SERVERS J2ME (Java 2 Micro Edition) has been specified as a family member of the Sun J2 EE (Java 2 Micro Edition) product line. In addition, common message-oriented middleware (MOM) has been extended for wireless situations (see the “Example: Message-Oriented Middleware for Mobility” in Section 4.3.5). Naturally not all these features are needed for every mobile computing application. It is thus important to review the characteristics of mobile computing environments that are unique and then discuss the categories of applications that place different demands on the underlying network and middleware. What is Middleware? Middleware is the connectivity software that allows applications and users to interact with each other across a network (see the figure below). We will use the following definition: Middleware is a set of common business-unaware services that enable applications and end users to interact with each other across a network. In essence, middleware is the software that resides above the network and below the business-aware application software – it denotes a reusable, expandable set of services and functions that benefit many applications in a networked environment in terms of scalability, performance, security and interoperability. User Interface Application User Data Middleware Middleware Middleware Network Network Network According to this definition, the key ingredients of middleware are: It provides common business-unaware services. It enables applications and end users to interact with each other across a network. It resides above the network and below the business-aware application software. It supports scalability, performance, security and interoperability of applications. These ingredients of our definition can be used to determine if a particular software package qualifies as middleware or not. According to our definition, the following software qualifies as middleware: Email (it is business unaware and interconnects users at different sites) Terminal emulators and file transfer packages (these business-unaware services connect users to resources) Web browsers (they are business unaware and support user access to resources on the Internet) As a matter of fact, as we will see in a later chapter, the World Wide Web is a collection of middleware services. Database drivers and gateways such as ODBC drivers and Sybase Omni Server (they provide access to remotely located databases). Object Management Group’s CORBA (Common Object Request Broker Architecture) because it provides services for distributed object applications. IBM’s MQSeries, a message-oriented middleware (MOM), because it provides store-andforward capabilities for applications residing on different machines. Here is a list of software systems that do not qualify as middleware, according to our definition: 4-14 www.jntuworld.com

www.jntuworld.com www.jwjobs.net Operating systems such as Windows, Unix, and Linux (they operate only on local resources) Airline reservation systems (they are business-aware) Network routers (they do not reside above the network – they are part of network services) For an extensive discussion of middleware, see A. Umar, e-Business and Distributed Systems Handbook: Middleware Module, 2nd ed., NGE Solutions, 2004. 4.3.2 Operational Issues in Supporting Mobile Computing Applications Mobile computing applications, residing fully or partially on mobile devices, typically use cellular networks to transmit information over wide areas, and wireless LANs over short distances. Technologies needed to support digital applications over cellular networks designed for human users is only one aspect of mobile computing. There are several other issues that arise in supporting applications over cellular networks. Examples of these issues are: Network quality-of-service (QoS) Cost of service Location of users Characteristics of end-systems Network QoS for cellular networks is much lower than the traditional fixed networks. While fixed LANs have been delivering data rates around 100 Mbps (million bits per second) since the mid 1990s, the wireless LANs have been struggling with data rates in the range of 11 Mbps (54 Mbps started around 2003). In wireless WANs, the data rates are typically around 19.6 Kbps, with plans for 112 Kbps and 2 Mbps. Another serious QoS issue is the error rate and the loss of packets in cellular networks. For example, TCP performance degrades significantly due to loss of packets in cellular networks. For this reason, specialized protocols that replace TCP have been proposed by WAP (Wireless Application Protocol). The costs of network access are very different for mobile users as compared to fixed network users. Most users of a cellular network are charged based on time of day, tariffs, connection time, user location (city versus rural areas), etc. Thus casual browsing through databases and documents can be very expensive for cellular users. This fact should be taken into account while designing an application for mobile computing. However, 2.5G and 3G wireless networks solve this problem due to the use of packet switching. The location of mobile computing users can change during an application session, thus impacting QoS and cost. It may be necessary for applications to check the location of users and the variations in QoS (for example, moving from a wireless LAN to wireless WAN range) continually during an application session. This is unheard of in fixed networks. The end systems in many mobile computing applications are handheld devices. These devices, although improving rapidly, still differ dramatically from desktop computers in screen sizes and I/O devices that can operate with batteries. Thus screen design that may look quite impressive on a large screen may be terribly busy and difficult to operate in mobile applications. This consideration must also be taken into account when designing mobile applications. 4-15 © – AMJAD UMAR www.jntuworld.com

www.jntuworld.com www.jwjobs.net CHAPTER 4: MOBILE COMPUTING PLATFORMS, MIDDLEWARE, AND SERVERS 4.3.3 Design and Development Issues in Mobile Computing Applications Designers and developers of mobile computing applications also face many unique challenges. First, wireless networks pose many problems that most commonly available fixed networks do not have. As stated previously, wireless networks are typically slower, get congested frequently, and are more error-prone and susceptible to outages. Thus mobile computing application designers should have some knowledge of the underlying communication network. For example, database queries over wireless networks should not attempt to send thousands of rows because the network may not be available that long. This somewhat contradicts the commonly used practice in building distributed applications where the underlying communication network details are hidden from the application designers by middleware. Besides wireless network weaknesses, the limitations of mobile devices also need to be considered. There is a potpourri of new mobile devices, such as cell phones, pagers, and personal digital assistants (PDAs). Developing applications for these devices is challenging for the following reasons: Different form factors for different devices. Existing mobile devices have varying numbers of display lines, horizontal or vertical screen orientation, and color or black-andwhite displays. Different browsers and markup languages. For example, HTML is used by laptops and PDAs, wireless markup language (WML) by wireless application protocol (WAP) cell phones, and compact HTML (cHTML) by Japanese i-mode phones. Different device capabilities. Some devices can display images, some can make phone calls, and some can receive notification messages. Finally, design of mobile computing applications depends on how extensively the applications use the underlying network. From this point of view, applications in mobile computing fall into the following three broad categories: Standalone applications Simple client/server (C/S) applications Advanced mobile applications Stand-alone applications run entirely on mobile computers in disconnect (detached) mode. Some of the data needed by these applications is located remotely, accessed through wireless networks and typically transferred to local disk. Download of pictures and audio clips to the handset is a common example. This approach works very well if most remote data accesses are retrievals and currency of data is not a big concern. These applications do not require extensive use of wireless networks and typically require simple middleware services (e.g., file transfer over wireless networks). Simple C/S applications are distributed between mobile computers as well as remote computers. Typically, client software runs on mobile computers and the database services are provided by remote sites. In these applications, there is a need to access remote “live” data interactively (as compared to the batch-extract method used by the standalone applications). Moreover, the amount of remote data accessed is small and must be current. Thus the connection time for C/S interactions is short. Common examples are Web browsing and mcommerce. These applications need more wireless network and wireless middleware support than standalone applications. Advanced mobile applications involve a combination of groupware and distributed multimedia over the wireless networks. These applications typically require peer-to-peer 4-16 www.jntuworld.com

www.jntuworld.com www.jwjobs.net group interactions that may use multimedia information. The information exchanged is timecritical (i.e., real-time) and the exchanged sessions may last for a long time. These applications demand a great deal of network and middleware services support. Two of the leading middleware platforms for delivering Internet content to mobile telephones and other wireless devices – the Wireless Application Protocol (WAP) and i-mode – were designed to take into account the constraints of wireless communications: limited bandwidth and end-system processing as well as a constrained user interface. Each platform defines a standard markup language that permits an application’s user interface to be specified independently of the end device. The delivery of these services is independent of the underlying networking technology, so applications can be used on different networks, just as Internet applications can. We discuss WAP in the Section (4.5). 4.3.4 Wireless Middleware Services Needed for Mobile Computing Applications Middleware for mobile computing applications appears to follow two approaches: Information hiding Information providing The “information hiding” wireless middleware attempts to smooth over the mobile computing issues, as much as possible, so that the same applications can run on wired as well as wireless networks. This is a conceptually desirable goal because application developers should not have to know the underlying network characteristics. This goal is met by the wireless middleware typically through specialized APIs that provide functionalities such as the following: Monitoring to determine whether a mobile device is powered on and within the range of wireless WAN coverage. The middleware provides this information to the applications as a status indicator and/or to end users as a screen icon. Optimization techniques to improve throughput by using a combination of data compression, intelligent restarts (i.e., restart at the point of disconnection and not from the beginning of session), pre-fetching, and data-caching (keeping data at local sites in case it needs to be accessed again) techniques. This middleware may also provide bundling of smaller packets to larger packets to save communication costs (most wireless systems charge by number of packets sent, reducing end-user costs). Monitor and limit the number of simultaneous wireless connections to be maintained by the applications. Provide agents that reside on the wireless servers. Agents can perform a variety of services such as bandwidth optimization, notifying the clients asynchronously if a special situation arises (e.g., a new customer arrives), automatically setting up sessions, contacting “dormant” users, and handling ad hoc queries. This type of middleware is suitable for standalone and simple C/S applications. An example of “information hiding” wireless middleware is WAP (Wireless Application Protocol). We will discuss WAP later on in this chapter. The “information providing” wireless middleware provides as much information about the underlying environment to the application as possible. In fact, this class of middleware exploits the network quality of service, cost, and location information for optimum performance. In particular: Network QoS can be used to modify application behavior. For example, the MOST project at Lancaster University uses a database application that determines the response to 4-17 © – AMJAD UMAR www.jntuworld.com

www.jntuworld.com www.jwjobs.net CHAPTER 4: MOBILE COMPUTING PLATFORMS, MIDDLEWARE, AND SERVERS be sent to the user based on number of matches and the network QoS. Thus, if the application has many matches (i.e., long response to a query) but the network is slow, then the application dynamically sends only few selected matches [MOST 1992]. Similarly, different compression techniques can be used for different network QoSs (i.e., use more compression for slower networks). Another example is the system described by [Friday 1996] that uses different color schemes on the screen to interact with different classes of users (i.e., red for slow). Cost information can be used by the middleware to modify application behavior. For example, if a user is being charged per second, then messages can be batched up before transmission. Location information can be used by the middleware to direct application behavior. For example, location information can be used to route information to the nearest printers, computers, and other devices. This is used commonly in wireless sensor networks discussed in later chapters. Location information is also used by positional commerce and other location-based services (see Chapter 5). End-system characteristics can also be exploited by the middleware. For example, specialized user-interfaces can be displayed for mobile users. This approach is used by Microrsoft Mobile Internet Toolkit (MMIT) which generates WML, cHTML or HTML by detecting the type of mobile device. The mobile device can be also put in a “sleep” mode to conserve batteries while it is waiting for chunks of data from remote sites. The basic philosophy of this class of middleware is to detect changes in the mobile environments and supply the change information to the applications so that they can modify their behavior changes in the mobile environments. In many real-life situations, information-hiding as well as information-providing middleware is used by mobile computing applications. See, for example, the middleware considerations for wireless sensor networks (Section 4.8.2). Table 4-2 shows the middleware characteristics needed for different classes of mobile applications. Table 4-2: Middleware Characteristics to Support Mobile Applications Application Application Characteristics Middleware Characteristics 1. Mobile computers run applications entirely on mobile computers in disconnect (standalone) mode. Requirements are minimal. . Type Standalone Applications 2. Need to access remote files through wireless networks. 3. Most data accesses are reads and currency of data is not big concern. Information-hiding middleware can do the job. Typical operation: 1. Cache copies of files at mobile computers over fixed networks and then disconnect. 2. Use the cached files in disconnect mode. 3. Reconnect to integrate the cached changes with master files. Simple Client/Server Applications 1. Client software runs on mobile computers. Require moderately sophisticated middleware 2. Need to access remote data interactively. Typical functions needed are: 3. Amount of data transferred is small and not time-critical. 4. Connection time is short. Advanced Mobile 1. Peer-to-peer group interactions Information-hiding is desirable. 1. Establish connection over wireless. 2. Support client/server interactions for a short duration. 3. Disconnect. Requires extensive middleware support. 4-18 www.jntuworld.com

www.jntuworld.com www.jwjobs.net Applications 2. Information is time-critical (i.e., real-time). Information-providing middleware is essential. 3. May use multimedia information. 4. Sessions may last for a long time. 4.3.5 Example: Message-Oriented Middleware for Mobility Message-oriented middleware (MOM) has been used to ensure the reliable transmission of information from one system to another. Users of MOM do not communicate directly with each other – instead they send messages through a message queue (see Figure 4-5). Basically, an application creates a message, labels it with destination information, and hands the message over to the MOM. The application is then relieved from the work of delivering the message to its destination. The receiver picks the message from the MOM service, processes it and hands the results back to the MOM service to be picked up later on. MOM thus provides asynchronous communication. Messaging middleware allows for loose coupling of software components and leads to greater flexibility – applications communicate with one another indirectly, by passing messages through a message service. MOMs can be valuable for developing sophisticated mobile applications because: MOM supports asynchronous processing and thus is suitable for disconnected operation; i.e., an application can send a message to another application, disconnect, and receive the answers later. MOM is recoverable from failures because the message queues on disks can be used to recover the system after failures. For example, once a message has been received and queued by MOM, these messages are not lost (the queues are used to restart applications, if needed). MOM can be used to link existing legacy applications with mobile clients easily without modifying any code at either side (i.e., it can redirect the output of application A to a disk queue and redirect the input of application B from the same disk queue). MOM supports both transactional interactions and real-time delivery of volatile information. MOM libraries can be very lightweight. Some MOMs such as Oracle in Motion and iBus//Mobile library described later require 50-100 kB of RAM and 70-100 kB of ROM. MOMs for mobile computing may also support features such as: message time-to-live, (to limit the lifetime of messages) and an open bearer model, allowing you to choose whether messages should be delivered by SMS, WAP, GPRS, etc. Server Client Logical Queue Figure 4-5: Conceptual Views of Message Oriented Middleware (MOM) Processing Traditional MOM models use message queuing. Message queuing works with queues of messages. Suppliers and consumers use the queues to exchange messages. Queues can be persistent (on a disk) or non-persistent (in core). Typically, message queuing is applied to ecommerce-style interactions, where a mobile-originated purchase request has to be delivered to an e-commerce server in a highly reliable manner. When the user presses the “Buy” button, 4-19 © – AMJAD UMAR www.jntuworld.com

www.jntuworld.com www.jwjobs.net CHAPTER 4: MOBILE COMPUTING PLATFORMS, MIDDLEWARE, AND SERVERS a message detailing the purchase request is put into the message queue and the MOM delivers the message to the e-commerce server. MOM at present also supports the publish/subscribe (P/S) model. The main difference between message queuing and publish/subscribe is that the former implements a one-to-one communication model (much like a postal system), while the latter provides a many-to-many communication model (similar to radio transmission). In the P/S model,

Add a comment

Related presentations

Related pages

Wireless Modules & Platforms - AIRETOS

AIRETOS is a global manufacturing brand for RF modular designs and wireless platforms, that provides: • Identification of key technologies and ...
Read more

Wireless Platforms - Surgeons : Stryker

Stryker leverages our broad base of innovative products and services to offer solutions with enduring value.
Read more

Wireless sensor network - Wikipedia, the free encyclopedia

Wireless sensor networks can be used to monitor the condition of civil infrastructure and related geo-physical processes close to real time, and over long ...
Read more

Wireless Connectivity Platforms | Wireless Products ...

Through our Wireless Connectivity Platforms, Murata is continuously innovating the how to connect and network devices, equipment, and processes.
Read more

Wireless Platforms - SYNK : Stryker

Stryker launches its second generation wireless platform, SYNK. With LED backlighting and integrated wireless technology, the new VisionPro SYNK Wireless ...
Read more

Connectivity - Network Platforms

At the eve of the IoT, embedded computers must be able to fulfill complex network infrastructure, mixing wired and wireless connectivity. Kontron relies on ...
Read more

Platforms for Advanced Wireless Research - us-ignite.org

Platforms for Advanced Wireless Research (PAWR) Platforms for Advanced Wireless Research (PAWR)
Read more

Wireless - Wikipedia, the free encyclopedia

Wireless communication is the transfer of information or power between two or more points that are not connected by an electrical conductor. The most ...
Read more

Wi-Fi Platforms | Qualcomm

Our Wi-Fi platforms are custom-built for the IoE, with low power, diverse features, and ease of development in mind.
Read more

Connectivity - Network Platforms

Kontron's connectivity network platforms provide scalable switching (L2) and routing (L3) features on different hardware platforms. Areas of Application
Read more