CS710 – MOBILE AND PERVASIVE COMPUTING
ASSIGNMENT # 2
Required
Critically analyze following aspects of Android and Symbian operating systems: Software Platform, Portability, Operating System Security, GPS, and Supported Network Technologies. You are required to provide conclusions on the basis of the critical analysis. Your points must be supported by strong arguments and/or references.
Introduction
Mobile devices have revolutionized the present era with advanced technology in the field of operating system (OS) in a very short span of time. There are number of mobile OS like Android, Symbian, BlackBerry, iOS, Firefox, Ubuntu Mobile, Windows Mobiles and Phones, Bada, Palm, MeeGo etc. Among them few are obsolete and discontinued platforms like Symbian, Windows Mobile, Palm and MeeGo. Here the requirement is to analyze two famous OS; Android and Symbian in detail and deduce the facts that which one is better in different fields of operations. In the subsequent paragraphs both the OS will be analyzed critically and difference will be highlighted:-
1. Software Platform
a. Android OS. It is developed by Google, inc. and later Open Handset Alliance for mobile devices which is based on Linux Kernel. An open source project includes OS, middleware and applications. It works in a virus free environment. It is basically designed for touchscreen mobile devices like smartphone, tablets, Android TV, Android Auto, Android Wear etc. It uses Linux for device drivers, memory and process management and for networking as well. There are number of layers which run the system smoothly, these are:-
i. Application Framework Layer. The uppermost layer carries the core applications like web browser, calendar, maps, email and SMS program written in Java. A simultaneous running of different application is possible like reading a SMS and listening music at one time.
ii. Libraries. Written in C/ C++ languages and called through Java interfaces which are Surface Manager, 2D/ 3D graphics, Media Codecs, SQLite and browsers.
iii. Android Runtime. Includes core libraries set which carries the Java programming language functionalities.
iv. Dalvik Virtual Machine (DVM). This allows running of different applications virtually. It is a register-based architecture which runs Java applications and transformed in .dex format optimized for reduced memory footprint.
v. Linux Kernel. The security, memory and process management, networking and driver handling is dependent on the Linux Kernel which is between the hardware and software stack in the system.
b. Symbian OS. It is developed by Symbian Ltd and maintained by Accenture for mobile devices runs on ARM processors. Old version was closed-source but current version is an open-source platform. One of the most popular and in use smartphone OS till 2010 but Android has just crashed it due its own properties. It is written in C++ language. It uses Linux for device drivers, memory and process management and for networking as well. There are number of layers which run the system smoothly these are:-
i. User Interface (UI) Framework Layer. The uppermost layer carries frameworks and libraries which construct the UI also includes the basic class hierarchies for the controls of UI.
ii. Java J2ME MIDP. The application services layer and UI framework resides here which provide a platform for graphical and networked applications.
iii. Application Services. It supports the applications without any UI framework help.
iv. Middleware Layer. Provides services like generic, common (communication framework, telephony, short link and networking) multimedia and graphic and connectivity.
v. Base Services. Include the user library and file server with plug-in framework, DBMS, cryptographic services and functional port.
vi. Kernel Services and Hardware (HW) Interface. Provides other HW abstraction with physical and logical device. Also cater for creating/ managing the OS kernel abstractions.
c. Better One – Android OS. The above description of both the OSs clearly indicate that Android OS has much more to offer as compare to the Symbian OS. The DVM and Java programming allow android to operate at any platform.
2. Portability. It can be defined as a program’s capability to run on multiple machine types easily. It is very important to have such quality because an OS has to run on different devices manufactured by different companies so the compatibility of OS is a must.
a. Android OS. Following are the details:-
i. Among all mobile OSs, there are only two systems namely Android OS and Windows Phones OS which offer feature of portability.
ii. Android OS is highly portable because the platform is Linux and Java based which permits it to be run on any system.
iii. The kernel and DVM make possible as there are two layers of abstraction; layer between kernel and user space and layer between kernel and HW.
b. Symbian OS. It does not support the portability. In fact Nokia Company has developed it for their manufactured mobile devices hardware.
c. Better One – Android OS. There is no need of comparison as Symbian OS lacks portability.
3. OS Security. The security of mobile OS is more important as mobile devices are in use as never before. Since mobile devices used to get application from the play stores therefore malware threat is confirmed. Details of Android and Symbian are as under:-
a. Android OS. Being modern and latest mobile platform faces lot of security threats because of its popularity among the masses. A robust and rigorous security architecture is required to safeguard this aspect. There are three aspects which are to be secured; kernel, user and applications security. Details are as under:-
i. Linux Kernel Security. Linux kernel ensures that one user can’t reach to other’s files, memory, resources, devices (GPS, Bluetooth, telephony) etc. Thus provide a user-based protection along with running of application in isolation. Following are the ways through which its security is achieved:-
1) Application Sandbox.
2) System Partition and Safe Mode
3) Filesystem Permission
4) Security-Enhanced Linux
5) Cryptography
6) Rooting of Devices
ii. User Security Features
1) Filesystem Encryption
2) Password Protection
3) Device Administration
iii. Application Security. Application written in Java programming language and running environment is DVM require protection. Following are the ways to provide security:-
1) Accessing Protected APIs. Only the trusted application can be operated in it. These protected APIs are location area, camera, bluetooth, telephony, SMS, network functions.
2) Inter-Process Communication (IPC). Without the permission of Linux no process can communicate with other process.
3) SIM Card Access. Third-party applications can’t access to the SIM card.
4) Android OS Permission Check. No application can reach to the personal information, sensitive input devices and device metadata without the permission.
5) Digital Rights Management (DRM) Framework. It allow the applications according to their license constraints.
6) Application Verification. User has the capability to verify any application before installation.
7) Updating Facility. Over the air (OTA) and side-loaded are two ways of updating the security system. OTA is on-line updating system at once and side-loaded is a zip file can be downloaded and used in near future.
8) Security Enhancements. With every new release of android version security enhancements are added to protect the devices.
b. Symbian OS. Symbian OS security is based on following three trust tiers model:-
i. Trust Computing Base (TCB). The most important tier which keep all those elements which are responsible for security of OS. It has OS kernel, file server (F32) and software installer. Kernel manages all processes assign required privileges to them whereas file server loads for process running and software installer installs the applications from packages. It is also known as Gatekeeper of mobile device.
ii. Trust Computing Environment (TCE). There are number of system servers which run with different privileges. UI platform provider, mobile device manufacturer and few other trusted software resides at TCE. Since system servers are less trusted therefore have limited privileges, Symbian ensures that failure of one server should not be a threat to another server security.
iii. Applications. These are not highly trusted therefore can only access the services which do not pose any security threat. There are two types of application; signed and unsigned. Signed one can use a service after prior approval of TCE which runs the service for it and unsigned one can perform some operations without TCE permission because they can perform those operations which are not security concerned.
c. Better One – Symbian OS. Android OS has lot of vulnerabilities as compared to Symbian OS which do not allow any interference from outside and all applications work with permission grants.
4. Global Positioning System (GPS). It is a system which gives out the location and time of user through number of satellites placed in the outer space of planet Earth. There are 24 satellites in the Earth’s orbit which do this task. It was primarily used by military purpose but now very famous in automobiles and smartphones. The mobiles devices uses GPS or Assisted-GPS (AGPS), GPS gives information directly through at least 4 satellites and in AGPS cell phones share GPS receiver component with cellular component. AGPS gets information from Cell Phone Company, switch from cellular to GPS receiver get raw data then switch back and send data to phone company. Company process the data and send location to phone. Symbian and Android also enjoy this facility, details are as under:-
a. Android OS. There are number of navigation application available in the Google play store of android like GPS Essentials, GPS Navigation BE-ON-ROAD, Google Maps and so on.
b. Symbian OS. There are number of navigation application available in the Nokia play store of Symbian like ForAnn GPS, NDrive Navigation, Map Vivo, Birkett Phonelocator and so on.
c. Better One Both have almost the same capability once comparison is drawn in this field. Both have a variety of applications available which keep them at par.
5. Supported Network Technologies. The network is basically the connectivity of mobile devices to the internet that may be wired or wireless. Since mobiles devices are not static therefore usually wireless fidelity (Wi-Fi) is the mode of connectivity. There are other means as well like Bluetooth, virtual private network (VPN) etc.
a. Android OS.
i. It has got standard Java network package which is utilized to access network resources.
ii. Internet is accessed after android permission and there are number of open source libraries available like Volley and OkHttp which perform network operations on android.
iii. To access the resources over a net, Java provides a lightweight HTTP client API via HTTP / HTTPS.
iv. To check the availability of network access network state permission is required.
v. It has the features of GSM telephony, Bluetooth, GPRS, EDGE and Wi-Fi.
b. Symbian OS.
i. All Nokia mobile devices (Symbian OS) have in-built wireless networking.
ii. The function of connectivity is almost the same like Android with some variations.
iii. It has the features of GSM telephony, Infrared, Bluetooth and Wi-Fi.
c. Better One. Both have almost the same capability once comparison is drawn in this field. Both have the capability of connectivity with some variations which make them at par.
6. Popularity Graph. Apart from above discussion one can see the people’s choice as an indicator towards the selection of Android over Symbian. As of the survey carried out by comScore, Inc. (US survey company), Android ranked as top smartphone platform in July 2014 with 52.5% of market share as compared to Symbian with just 0.2%[1] . Google play store is a storage of over 1 million applications and people downloaded over 50 billion application till July 2013[2].
7. Conclusions. After having gone through the details of both the OSs following have been concluded:-
a. Upgrading of OS is possible in android and not in Symbian
b. Appearance wise android have attractive looks, drop down options. But Symbian has the same old menu styles, phone book, music library etc.
c. Symbian is better in energy consumption as android applications remain active even at idle position.
d. Privacy an important factor, Symbian platform is used without disclosing its private information but Android provides normal applications of company.
e. Processors of Android provide much better performance like 3 to 4 times better than Symbian.
f. There are a lot of Android applications available at Google play store as compared to Nokia play store.
g. Both are at par in the fields of GPS and networking matters.
h. Symbian OS is a better option once security and privacy aspects are considered.
i. Java programming language and DVM made Android OS must better and like by the masses.
Conclusion. Nexus to above, it is observed that at some places Symbian still have an upper edge over Android operating system but Android has taken the lead over it in terms of software development and portability. The carried out surveys also indicate the liking of people all over the world.
Mobile and Pervasive Computing - Assignment(1)_Fall_2014
CS710 – MOBILE AND PERVASIVE COMPUTING
ASSIGNMENT # 1
Question No. 1 15
Distributed computing is the major area whose concepts are inherited to the mobile and pervasive computing. Justify by giving details of some of these concepts. How these concepts are used in mobile and pervasive computing?
Answer to Question No. 1
Networking, wired or wireless, can be defined as two or more than two nodes communicate among each other. Example of a graph can explain it more precisely where computing components and communication means can be presented as nodes and edges respectively. These terms “Distributed Computing”, “Mobile Computing” and “Pervasive Computing” are inter-related and share some common properties. These can be further elaborated as under:-
1. Distributed Computing
a. It is a static system where components are connected with wire.
b. Base stations are the nodes and wire is the source of communication among each other.
c. If one station breaks down then the network may get non- operational for a while temporarily in that region only.
d. The LAN and WLAN leads to the distributed system.
e. Internet, intranet, ATM machines (bank), etc are few examples of distributed computing.
f. There are three major characteristics upon which its structure is standing and these are:-
i. Concurrency
ii. No global clock
iii. Independent failures
g. Concept of “client server” where all resources are managed centrally at server side and it is the hallmark of this system.
h. There are number of benefits of this system like resource sharing, scalability, fault tolerance and 24/7 availability and above all the high speed performance.
i. All components have access to the base stations all the time without any major hindrance.
j. The servers hold the data which is made available to all the clients.
k. Since the system is wired so security is also an aspect which has to be taken care of.
2. Mobile Computing
a. It is an upgraded version of distributed computing but not static. The system is further miniaturized and addition of wireless networking leads to the mobile computing.
b. Mobile units are connected wirelessly with the base stations and among each other. The communication is via spectrum on some frequency.
c. Since all or some components are on move all the time so there is a requirement of a dedicated software which takes care of certain problem areas.
d. Wireless connectivity is done at short range like infrared data association (IrDA), Bluetooth, WLAN (IEEE 802.11.a,n) and long rage like 3G, EDGE, 4G etc.
e. Implementation of the concept of “any time”, “anywhere” and “with anyone” in a befitting manner.
f. Got limitations of computing power, battery power, memory, storage space, bandwidth and latency, interface elements like screen size or input model.
3. Pervasive Computing
a. It is an upgraded version of mobile computing and added its own properties to it.
b. It can be explained as the absence of the “Presence of Computing”.
c. In other words all the computing is done in the back ground and nothing is visible to the users. They do use it as a routine life activity and don’t know about what happens once they push a button of any appliance under their use. They just get the work done that may be getting some service physically or virtually. So it is also known as invisible computing.
d. The concept of smart space is integrated where all places around us are connected through sensors (wifi) which can be accessed by all users.
e. Due to the smart space environment a huge number of users is obvious so problems like bandwidth congestion, energy crisis and distraction is not new thing. This aspect invites the scalability problem which is addressed by localizing it.
4. Keeping in view the above discussion, it is evident that mobile and pervasive computing are conceptually based upon distributed system. The concepts of distributed systems which are used by mobile and pervasive computing are as under:-
a. Remote Communication. As of distributed computing nodes are at some distant places from each other connected with wire. Mobile and pervasive computing are also at some distant places from each other but are wirelessly connected.
b. Fault Tolerance. This property is held by all as if one or some components face failure due to any reasons then it has no effect on the communications of others.
c. High Availability. Since all the stored data is replicated therefore data is available all the time from any source. The data is accessible all the time. A system of recovery of data is present so the concept of high availability with distributed computing is enjoyed by the mobile and pervasive computing as well.
d. Distributed Security. This is very important aspect as wires and components can be secured from any attacks but it is quite difficult to secure data which is in the air. Mobile and pervasive computing faced this problem but it is addressed amicably. The famous “AAA” lines of defense (Authentication, Authorization and Auditing) considerably reduced the danger.
Question No. 2 15
A website has different views when viewed through desktop and mobile devices. Give the basic parameters considered while developing the sites for mobile devices.
Answer to Question No. 2
The websites give two different looks, one for desktop computers and other for mobile devices. It is observed with concern that there is a huge number of users interacting with internet through their mobile devices like mobile phones, smart phones, PDAs, tablets, pagers, digital still cameras, digital camcorder etc. In the subsequent paragraphs the parameters are highlighted which should be considered once such sites are developed:-
1. The Markup Language. Since mobiles devices are developed by different companies with different operating systems so some devices browsers support XHTML (extensible hypertext markup language) and some WML (wireless markup language) etc. So it has to cater for that any device interacting with websites should not face language problem.
2. Device Screen Size and Resolution. All the mobile devices are in different shape and sizes so they differ in display like blackberry, android and Symbian devices support 320x320, 320x480 and 480x360 resolution, whereas linux window mobiles 6 and window 7 phone devices support only 480x800. So the websites should have a mechanism which adjust automatically for such devices.
3. Keep Pertinent Information. As the mobile devices have very reduced place to display therefore Keep only relevant information on the pages.
4. Link and Font Sizes. Since the touch screen devices are at increase so the links and font size should be about 32 pixels which is comfortable and easy with the fingertip touch.
5. Legible Text Size. Since the screen is too small so the user has to concentrate while reading the text. The size of the text should be legible, recommended size is around 32 pixels.
6. User Interface (UI) Size. UI size should be designed at much larger scale than normal for the mobile device. Users normally tab and drag the icons which should be accommodated comfortably.
7. Removal of Un-necessary Items. Animations and images should be removed from the pages which reduce the speed of opening up the pages. By doing so websites loading time would be enhanced considerably.
8. Header and Footer. There are number of links and useable items which at time are not required but once needed should be handy. Like a calculator, contacts, message box, setting, browser etc may be required at any time so header and footer can be utilized to serve the purpose. Icons of such links should be present at header and footer for easy access.
9. Mobile Web Applications. Should be lightweight so that user should not hang with speed. Should give quick response and cater for the mobile device’s capabilities as well as constraints.
10. Mobile – Friendly Forms and Images. There is a need once user has to fill up some forms so the form filling application should be lightweight and all boxes should have enough space for writing. Combo box should keep the required information handy. User just scroll down the box and click on the data. Like filling up of date, month etc.
11. Single Page Applications (SPA). It is best suited with mobile devices, as full page is not downloaded and just the assets showed up to the users.
12. Online Emulators. The websites should be tested before launch. There are number on online emulators available for testing the new born websites for mobile devices.
In a nutshell, all above observations should be catered for in order to develop a healthy and reliable websites for mobile devices.
Question No. 3 20
Virtual university is launching a project using mobile and pervasive computing platform. You have to make decision to choose an environment from desktop, laptop and cell phones. Which one will you choose? Why the other platforms were dropped? Keep the cost, battery timings, mobility and computing speed parameters in mind.
Answer to Question No. 3
1. A project of mobile and pervasive computing platform is to be launched by the VU and environment is to be selected from three namely desktop, laptop and cell phones. The selection should be based on number of pre-requites like cost effect, battery timings, mobility, computing speed, utility, usefulness, accessibility, productivity, reliability and durability etc. It is very hard to come to some conclusion without any thorough analysis. Since the operating systems among these three environments are not that relevant in terms of usage, cost effect and somewhat are almost alike, therefore software does not matters and area of emphasis should be the container which hold it.
2. By carrying out the analysis the picture will be clearer and a decision will be easy to take. Following are the details:-
a. Desktop
i. Merit. It provides the best working atmosphere as it is static and stable and a set place to work. It is cost effective, reliable, available, no battery issue and durable. Replacement of any item is very easy and not costly like monitor, keyboard, mouse and CPU. High speed at the lowest cost can be achieved. It’s handy which means can be carried along easily.
ii. Demerit. The foremost and ultimate problem which is the worst one is the immobility. It can’t move and requires a fixed place where it can operate. Another problem is in case of electric failure it has no backup. Although UPS can give some support but not reliable.
b. Laptop
i. Merit. Laptops are portable, durable and easy to handle. The handling is easy as everything like monitor, keyboard, mouse and CPU are at one place. Laptops can be used as desktop by just placing it at the table. High speed at reasonable cost can be achieved. At present windows 8 laptops have the touch screen capability which makes it more attractive. Have the capability of wifi, WLAN and Bluetooth capability.
ii. Demerit. They are costly than desktop, not durable and delicate / fragile also. Since a handy item therefore chances of steeling/ theft or lost is there. Difficult for the people to play with integrated keyboard and mouse as they were used to with desktop. Issue of battery life is another aspect which is catered for with additional battery as backup.
c. Cell Phones
i. Merit. These are very handy and easy to handle. Reliable, cost effective, portable and useful. High speed can be achieved with good processor. Very useful to maintain calendar management, reminders and alarms. A good monitoring device for workflow, tasks and emails. Besides these benefits telephone facility is additional charm. Smartphones and android system put the cell phones to another level.
ii. Demerit. They are very small in size so small screens are not at all suitable to work. The applications face compatibility issue once dealing with other devices. Very delicate and handy item therefore chances of steeling/ theft or lost is there. Small keyboard and buttons are another are very difficult to handle. Battery life is very important issue which is limited. Not a durable and reliable item.
3. Nexus to above it is observed that cell phones are out from the race of selection. Now competition is among the desktop and laptop. Although desktops enjoy more computing speed with no battery issues in a very less price but static and immovable. On the other hand, laptops enjoy more computing speed with limited battery power at reasonable price but portable and easy to carry along anywhere and everywhere. By doing some trade-off, laptops are better option keeping in view the VU requirement of a mobile and pervasive platform.
4. Recommendation. Keeping in view the above discussion, I will opt for Laptops to be incorporated in the VU project of mobile and pervasive platform.
