2. Introduction

intranet.cs.aau.dk

2. Introduction

Mobile Software Technologies(SW8)Background andPlatform-Independent IssuesHua LuDepartment of Computer ScienceAalborg UniversitySpring 2009


Mobile Computing Years AgoWelcome to a world of Fun, Frustration, and Future!2


Early Mobile Phones• The first mobile phone: Motorola DynaTAC 8000X• Inventor: Dr. Martin Cooper• Prototype demonstrated in 1973• Weight: ~ 0.9kg,• Speaking time: 0.5hr• Commercial approval obtained in 1983• Price: USD$3995.00• Until the early 1990s, most mobilephones were too large to be carriedin a jacket pocket, so they weretypically installed in vehicles as carphones.4


Agenda• Mobile and Wireless Environment• Mobile Development Platforms• Mobile Software Development• Corporate Wireless Applications• Wireless Communication7


Definition of Mobile and Wireless• Mobile• The ability to be on the move• Mobile applications are any applications that can be used when onthe move: PDAs, laptops, mobile phones• Wireless• The transmission of voice or data over radio waves• Wireless devices are those that send or receive data wirelessly• Mobile, but not wireless• Stand-alone applications• Wireless, but not mobile• Stationary using wirelesscommunicationApplication examples?“Mobile and Wireless Design Essentials” (Mallick 2003)8


Mobile/Wireless Application Options• Wireless Internet (online only)• Online access to Web content• Typically used for consumer applications• Limited user interface and capabilities• Smart Client• Incorporates mobile database technology for persistent datastorage• Updates to data can be synchronized to enterprise systems• Allows for offline access to important data• Works best in ‘occasionally connected’ environment• Messaging• Store and forward delivery of data• Text and multimedia messaging are very popular today• Can be used on its own, or in addition to other architectures9


Variability of The Mobile Environment• A 3D coordinate system model• As a mobile software designer or developer, you need to• Position your applications in this coordinate system.• Find suitable platforms and technologies for the development.Mobility• stationary• nomadic (pedestrian speed)• mobile (vehicular speed)• roaming (mobile across networks)Mobile Device Capability• form factor• GUI• multimedia• real-time multimediaConnectivity• connected• semi-connected(asymmetric)• disconnected10


Roles in Mobile Environment• Wireless operators and service providers• Device manufacturers• Hardware vendors• Software infrastructure providers• Independent software vendors• System integrators• As software engineers• Probably you will act as one of the last 3 roles.• But knowing about the overall picture is still beneficial.11


Agenda• Mobile and Wireless Environment• Mobile Development Platforms• Mobile Software Development• Corporate Wireless Applications• Wireless Communication12


Hardware Platforms• Laptops• Programmable hand-held devices• SmartphonesMobile phones that are more powerful than normal mobile phonesToday, it’s increasingly hard to differentiate them• Pocket PCs• iPhone• Google Phone• Many other embedded platforms, where technologiescovered in this course may also be applicable• Sensors• Intelligent electric appliance13


Software Architecture3 rd Party ApplicationsWhere we willwork most ofthe time.Interpreters/Virtual MachinesNative ApplicationsGUISDKs/APIsSoftware FrameworkEmbedded Operating System14


Underlying Operating SystemsSymbian (72.4%)Linux (13.3%)Windows Mobile (6.1%)Most mobilephonesAndroid forGoogle phonePocket PCsRIM BlackBerry (5.3%)Palm (1.6%)OS X (1.3%)iPhone• Data from Canalys report “Worldwide smart mobiledevice market, Canalys Q2 2007”15


Typical Mobile Development Platforms• Java Micro Edition• A.K.A J2ME most of the time• Ideal for portable solution• Supported by many Symbian OS based mobile phones• Symbian• General, powerful but hard to grasp• Based on preliminary C++• .NET Compact Framework, Pocket PC• Easier to learn if you are familiar with Windows and Visual Studio• Python• Script based, more GUI oriented• Easy making of fancy stuff• Hard to create real software16


Capabilities and BreadthSymbian J2ME .NET CF Pocket PCGraphicalInterface2D, 3D 2D, 3D 2D,visualGUI builderFunctionality No restrictions Varies bydevicesLimitedaudio access2D, 3D,visual GUIbuilderNo restrictionsDevice DataAccessFullVaries bydevicesFullFullRuntimeSpeedBest (Compiledlanguage)Average due toJava bytecodeAverage due to.NET architectureBest (Compiledlanguage)DeveloperSupportMarketpenetrationExtensive Extensive MSDN MSDNDeployed on alarge numberof high enddevicesExtensive Average Extensive withinEurope and agrowing marketwithin the US.A more comprehensive comparison can be found at http://en.wikipedia.org/wiki/Mobile_development17


A Comparison w.r.t. DevelopmentLearningCurveDebuggersavailableEmulatoravailableIDEavailableCross-PlatformDeploymentInstallerPackagingOptionsDev.Tool CostSymbian(C++)Difficult(unusualC++ APIs)Good onlatestversionFreeEmulatorManychoicesCompileper targetSIS filesfree toolsavailJ2ME(Java)Average Excellent FreeEmulatorEclipse,NetBeansMobilityPackAverageJad/JarpackagingFree.NET CF(C#,VB.NET)Average Excellent Bundledwith IDEMS VS2005,2003OnlyWindowsMobileCAB filesonly basictools arefreePocketPC(C, C++)Average(excellentfor Win32developer)ExcellentBundledwith IDEMS VS2005 orMS eVC4.0 (free)OnlyWindowsMobileCAB filesMS VSStandardor better,or MSeVC 4.0(free)A more comprehensive comparison can be found at http://en.wikipedia.org/wiki/Mobile_development18


Agenda• Mobile and Wireless Environment• Mobile Development Platforms• Mobile Software Development• Corporate Wireless Applications• Wireless Communication19


Mobile Software Architecture• Standalone• E.g., a simple game on your mobile phone• Client-Server (C/S)• Web based, or micro-browser based• WWAN basedE.g., accessing remote data server via 3G connection on your mobilephone• WLAN based• Peer-to-Peer (P2P)• Devices are connected by short-range wireless communicationmeans like Wi-Fi, Bluetooth• Hybrid• Automatic choosing C/S or P2P channels for data and/or service20


WLAN Based C/S Architecture• Wireless LAN with Access PointsGatewayInternet“Mobile and Wireless Design Essentials” (Mallick 2003), with some addition.22


Peer-to-Peer Architecture• No dedicated servers• Any device can be the data/service provider• Data/service access may be relayed by some intermediatedevices• A device and join and depart at any time“Mobile and Wireless Design Essentials” (Mallick 2003)23


Hybrid ArchitectureWireless Service ServerWireless C/S ChannelWireless P2P ChannelAutomaticchoosing C/S orP2P channels fordata and/orserviceMobile Devices24


Challenges• Different operating systems• Even many versions on the same OS• Different hardware architectures• Most hand-held devices are ARM-based.• Limited computing capabilities• Small memory• Reduced API libraries• Different screen size• Have to live with that in your codes• Different input methods• Reduce/Ease user input• Special input, e.g., GPS signalsWe needdifferentemulators.Real dailychallengesfor mobiledevelopmentNot onlyinvolves GUIdesign!25


General Good Practices• Use suitable data type• E.g., if byte is enough, don’t use integer, float or even double• Fixed point operations• Balance between accuracy and speed• Simplify algorithms if possible• Balance between accuracy and speed• Consider data compression• Compression needs more time then.• Store pre-computed results• Balance between space and speed• Code optimization• Reduce (concurrent) resource use26


Flash Memory• Flash memory is widely adopted on hand-held devices• It is non-volatile• It offers fast reads (between PC main memory and hard-disks)• It is more shock-resistant than PC hard-disks• Fast reads but slow writes• Flash memory can be read or programmed a byte or a word at atime in a random access fashion• It must be erased a "block" at a time. (all bits are set to 1)• Possible solutions• Use validity flags.• Reduce arbitrary random-access rewrite or erase operations .• Delay updates. Write a new copy of the changed data over to afresh block, remap the file pointers, then erase the old block later. Flash file system principle27


Storage Scheme for Limited Space• Consider to store some large relations in a mobile device.• Flat Storage (FS)• Sequential tuples with original values• Domain Storage (DS)• Ring Storage (RS)• ID Based Storage (IS)


Domain Storage (DS)• Store unique values in domain(s).• Use pointers to domain values instead of original values inrelation.


Ring Storage (RS)• A ring is formed by all pointers on a single dimension andits domain.• Inter-tuple pointers• Tupe-value pointer• Value-tuple pointer• Value fetch is NOT convenient


ID Based Storage (IS)• Identifiers correspond to domain values.• Store identifiers instead of pointers.• If domain is small, identifiers can be represented in e.g.,bytes. Therefore more space is save compared to usingtuple-value pointers


Mobile System Development ProcessWirelessDomain Analysis•Network Infrastructure Analysis•Business Workflow Analysis•Mobile User & Data Analysis•Domain Function AnalysisSystem Analysis•Communication Analysis•Data, Function Analysis•Mobile System Behavior Analysis•Technology & Technical AnalysisSystem Design•Comm. & Architecture Design•Wireless Data & Function Design•Dynamic Behavior Design•Technical Solution DesignSystemImplementation•Wireless/Fixed Protocol Coding•Wireless Application Server Coding•Mobile Client Coding•Facilitating Function CodingSystem Integrationand Testing•Mobile Client-Server Integration•Wireless & Fixed Network Integration•Wireless Function and System Testing•Performance & Deployment TestingCopyright@2004. Jerry Gao, Ph.DSystemDeployment•Network & Service Deployment•System Function Deployment•Mobile Device Deployment•Customer Technical Support32


BREAK?33


Agenda• Mobile and Wireless Environment• Mobile Development Platforms• Mobile Software Development• Corporate Mobile/Wireless Applications• Wireless Communication34


Access to Corporate Infrastructure• Web based, and WWAN basedFirewallfor DMZDial-upConnectionsAccessNetworkGSMConnectionsMobileNetworkWAPPDAClientsCorporate WAN(Intranet)EVO CommsServerWAP GatewayIMAP/SMTP ProxyHTTP ProxyRadiusServerMS MobileExchangeServiceWAP/xHTMLPortalServiceMulti-channelInformationServiceExistingServices35


Fit into 3-Tier Architecture• Decide the mobile client size w.r.t.• Implementation of exiting services and applications• Working environment• Budget limitation• …DatabasesLegacy SystemsThinClientExternalApplicationsFatClient36


Consumer vs EnterpriseConsumer• Standard Internet Applications• Web browsing• Gaming• Music download• E-commerce• Mobility based applications• Location-based services• Micro-payment• Mobile ticketing• M-commerce• Wide range of devices• Performance is key• Price sensitiveEnterprise• Standard Business Applications• e-mail, calendar, voucher,• Vendor payment, documentsharing• M-office• Customer relations info• Mobility based applications• Data entry in the field• Field service info• Transportation and logistics• More uniform high end devices• Security is a key• Performance is also important• Willing to pay more37


Value Chains38


Revenues for Service Providers?• Service providers expect to charge for• Mobile Internet Access (3% revenue 2010)• Service fee, airtime• Mobile Intranet/Extranet Access (15% revenue 2010)• Service fee, airtime, roaming, value added (security)• Personalized Infotainment (28% revenue 2010)• Service fee, revenue sharing with content provider/portals• Multimedia Message Service (15% revenue 2010)• Messaging• Location Based Services (3% of revenue 2010)• Service fee, revenue sharing with contentprovider/applications• Rich Voice (34% revenue 2010)• Service fee, airtime, roaming39


Agenda• Mobile and Wireless Environment• Mobile Development Platforms• Mobile Software Development• Corporate Wireless Applications• Wireless Communication40


Wireless Networks• WWAN• Wireless WAN• Cellular systems• 1G -> 2G -> 3G• WLAN• Wireless LAN• WPAN• WirelessPersonalAreaNetworksSatellite41


Wireless Wide Area Networks• Main characteristics:• Long-range communication (national coverage)• Data rates from 9.6 kbps to 2 Mbps• Service agreement required; fee for airtime/datatransfer• Operate over licensed radio spectrum (which operatorshave to pay to use!)• Cellular communication systems are typicalWWANs• A radio network is made up of a number of radio cells.• Each cell is served by a fixed transceiver, a.k.a. basestation.• Base stations are connected by fixed networks.42


Brief History of Cellular Systems• The first commercial cellular network was launched in Japan by NTTin 1979.• The first fully automatic mobile phone system was the Nordic MobileTelephone (NMT) system introduced in 1981. The 1G (first generation)networks then used analog radio signals.• The first “modern” network technology on digital 2G (secondgeneration) cellular technology was launched in 1991 in Finland onthe GSM standard.• The first commercial launch of 3G (third generation) was again inJapan by NTT DoCoMo on the WCDMA standard.• Network issues• Increased bandwidth• Always-on capability• Lower costs• Enhanced services• Interoperability and roaming43


Evolution of Cellular Systems“Mobile and Wireless Design Essentials” (Mallick 2003)44


GSM• Global System for Mobile communications• The most popular standard for mobile phones in the world• A 82% global market share (GSM Association 2007)• Services: SMS, MMS, WAP, GPRS, etc.http://shsc.info/CellPhoneNetworks45


WWANs: From Voice to Data• WWANs were initially implemented for voicecommunication, but data communication is a key focuswith the latest offerings.• For voice and data, different switching technologies are used.• Circuit Switched• Need to establish a physical connection between twocommunicating parties (i.e. telephone)• Usage charges based on time of connection• Connections cannot be shared• Work well for voice communication; not so well for data• Packet Switched• Dedicated connection not required for communication• Data transferred using packets that contain destination address• Many users can share a single connection• Usage charges based on amount of data transferred46


GPRS vs 3G• GPRS = General Packet Ratio Service• 3G• A mobile data service available to GSM users• Lets mobile phones send and receive data over an Internet-Protocol (IP) network• Always on, wherever you are• Operates at the same speed as a standard dial up phone line171.2kbps• Also packet-switched and always on, but faster!384kbps and even higher with new technologies• GPRS is seen as the first step toward 3G networks. Somepeople even think GPRS is more revolutionary than 3G,which reuses ideas and infrastructure of GPRS47


GPRS Coverage in The UShttp://www.waysystems.com/48


GPRS Coverage by 200549


3G in Denmark• Current 3G coverage in Denmark• News fromwww.investindk.comon 2008.01.09• “Denmark's three largesttelecompanies plansubstantial investmentsin turbo 3G mobilebroadband.”•• TDC: DKK 2bn• Sonofon: DKK 1bn• Telia: ~ a large multimillion sumhttp://www.3.dk50


Doubts Over 3G• Opinions• The demand for wireless Internet services is questionable.Such demand mainly comes from personal consumers Corporate usage is often focused on smart client synchronization andPIM and email access• 3G licenses in some countries, plus the infrastructure constructioncosts, are too expensive for the operators to make profits in a shortterm.• GPRS is enough for many mobile users.• Other alternatives exist for mobile users to get connected.• What about other alternatives besides GPRS?• Wireless LAN with Access Points51


WLAN Infrastructure Configuration• Wireless LAN with Access PointsGatewayInternet“Mobile and Wireless Design Essentials” (Mallick 2003), with some addition.52


WLAN Applications• WLANs are used throughout the business worldfor wireless access to corporate networks• Warehouse environments for inventory tracking• Hospitals and clinics for patient care• Corporate campuses for Internet/Intranet access• WLAN technology is used in “hotspots” to provideconvenient Internet access• Check corporate email• Synchronize smart client applications• Download latest updates in offline Web applications53


Wi-Fi• Wi-Fi: Wireless Fidelity• A wireless technology brand owned by the Wi-Fi Alliance• Intended to improve the interoperability of WLAN products basedon the IEEE 802.11 standards."Wi-Fi Certified" products• Several generations since 1997.• Supported in MS Windows, Apple Mac OS X, Unix, Linux• Wi-Fi use mode• Access points, a.k.a. hotspotsCity wide Wi-Fi• Wi-Fi routers: a cable modem + a Wi-Fi access pointWidely used in homes• Peer-to-peer mode without access points54


WLAN Ad-Hoc ConfigurationPeer to Peer Wireless LAN“Mobile and Wireless Design Essentials” (Mallick 2003)55


Pros and Cons of Wi-Fi• Advantages• LAN deployment without cable Reducing the costs of network deployment and expansion Suitable for spaces where cables cannot be run• Cheap chipsets Therefore Wi-Fi is quite popular in current laptops and PDAs• Global set of standards for interoperability "Wi-Fi Certified" products are backwards inter-operable• Disadvantage• High power consumption• Limited range• Default open mode, i.e., encryption-free mode Free wireless networking for your neighbors Open for monitoring data transmitted• Congestion on certain channels56


Wi-Fi Hotspots in The UK• Statistics by 200557


Wi-Fi Hotspots Finder• As long as you have a Wi-Fi device, don’t worry about thisbecause your device will automatically detect the Wi-Fihotspot around you.• If you want to check Wi-Fi availability of a place before yougo there, you can try this website• http://www.wi-fihotspotlist.com/• 104 hotspots found in Denmark• 40 hotspots found, within 1 mile of center of New York• You can submit/report hotspot information into this website• Another site to search for free Wi-Fi hotspots• http://www.wififreespot.com/• A local one• http://openwifi.dk/58


Wi-Fi Hotspots in Denmark• http://openwifi.dk/• 2127 hotspots registered• Offered by different operators59


Wireless Personal Area Networks• A wireless network for devices close to you• Those devices may or may not belong to you• Typical range is limited by a few meters• Technologies for WPANs• IrDA: Infrared Data Association• Bluetooth• UWB: Ultra-wideband• ZigBee60


IrDA: Infrared Data Association• The Infrared Data Association, often referred to as IrDA, isa nonprofit organization whose goal is to develop globallyadopted specifications for infrared wirelesscommunication.• Global acceptance and use of these specifications isparamount to the success of IrDA and its members.• IrDA is a secure, low-cost, convenient cable replacementtechnology• Remote control• Data sending61


Bluetooth• An industrial specification for WPAN developed andlicensed by the Bluetooth Special Interest Group.• A way to connect and exchange information between(mobile or/and stationary) devices over a secure, globallyunlicensed short-range radio frequency.• Some applications• Wireless control and communication Bluetooth headset• Wireless networking between PCs via Bluetooth• Replacement of traditional wired serial communications Bluetooth GPS receivers• Transfer files between Bluetooth devices, or between PDA and PC• Advertising via Bluetooth62


Bluetooth vs. Wi-Fi in networking• They have slightly different applications today, working onthe same frequency range but with different multiplexingschemes.• Bluetooth is thought of as wireless USB• Is a cable replacement for a variety of applications and peripherals• Exists in many products, such as phones, printers, modems andheadsets• Simplifies the discovery and setup of services between devices Bluetooth devices advertise all of the services they provide• Wi-Fi is thought of as wireless Ethernet• Is a cable replacement only for LAN access• Provides higher throughput and covers greater distances• Requires configuration for setup Stronger and securer connection63


Bluetooth Networking ExampleBluetooth-IPRouter“Mobile and Wireless Design Essentials” (Mallick 2003)64


A Complex Example• Both Bluetooth and Wi-Fi can be involved65


Bluetooth MP3 Snowboarding Jacket• Infineon Technologies andO'Neill Europe unveiled theresult of a joint productdevelopment project on 14Jan 2005: their first “wearableelectronics” snowboard jacketwith functions such as anMP3 player and mobiletelephony by Bluetooth.66


Too Many Remote Controls?SecurityHVACAMRLighting ControlAccess ControlBUILDINGAUTOMATIONCONSUMERELECTRONICSTVVCRDVD/CDRF RemotesPatientmonitoringFitnessmonitoringPERSONALHEALTH CAREPC &PERIPHERALSAsset MgtProcessControlEnvironmentalEnergy MgtINDUSTRIALCONTROLRESIDENTIAL/LIGHTCOMMERCIALCONTROLSecurityHVACLighting ControlAccess ControlLawn & GardenIrrigationChart Copyright ZigBee Alliance 200467


ZigBee• A specification for wireless personal networks• Built on the IEEE 802.15.4 standard• Reliability through meshed connectivity• Designed for low power applications• Very long battery life• Low data rate• 20-250Kbps (depending on band)• Very secure• AES-128 encryption available• Self configuring• Allows ad hoc networks• Ease of installation and configuration68


Network SummaryType ofNetworkWirelessPersonalAreaNetworks(WPAN)WirelessLocal AreaNetworks(WLAN)WirelessWide AreaNetworks(WWAN)SatelliteNetworksCoverageAreapersonaloperatingspace,typically 10metersIn buildingsor campuses,typically 100metersCoverageprovided onnational basisfrom multiplecarriersglobalcoverageFunctioncablereplacementtechnology,personalnetworksExtension oralternative towired LANExtension ofLANExtension ofLANAssociatedcostTypicalThroughputStandardsvery low 0.1 – 4 Mbps IrDA,Bluetooth,802.15low -mediummedium -high1 – 54 Mbps 802.11a, b, g,HomeRF,HyperLAN/28 kbps – 2Mbpsvery high 2 kbps to 19.2kbpsGSM, TDMA,CDMA, GPRS,EDGE, WCMAWirelessMatrix69


Data Rate100 Mbit/sec10 Mbit/sec802.11g802.11bUWB802.11a1 Mbit/sec 3GBluetooth100 kbits/secZigBeeZigBee10 kbits/sec UWB0 GHz 1GHz 2 GHz 3 GHz 4 GHz 5 GHz 6 GHz70


Range10 km1 km3G100 m802.11b,g802.11a10 m ZigBee BluetoothZigBeeUWBUWB1 m0 GHz 1GHz 2 GHz 3 GHz 4 GHz 5 GHz 6 GHz71


Power Dissipation10 W1 W3G802.11bg802.11a100 mWBluetoothUWB10 mWZigBeeZigBeeUWB1 mW0 GHz 1GHz 2 GHz 3 GHz 4 GHz 5 GHz 6 GHz72


Infrastructure Cost$10003G$100802.11b,g802.11a$10$1UWBBluetoothUWBZigBee ZigBee$ .100 GHz 1GHz 2 GHz 3 GHz 4 GHz 5 GHz 6 GHz73


Summary• 3D Mobile Environment Model• Device Operating Systems• Typical Mobile Development Platforms• Mobile Software Development Process74

More magazines by this user
Similar magazines