Programming mobile handheld devices.
|stuff you never thought you wanted to know.
Programming mobile handheld devices
written by Jon Berg <jon.berg|a|turtlemeat.com>
User involvement in selection of service with concerns to price and
In an environment where a mobile device is constantly changing position the
available services, the quality and service provider will be changing.
The term service is used to describe anything that a user would be interested
in using through the handheld mobile device. Examples of services are from the
basic network connection, to content like streaming movies. The concept of service
covers a wide range of possible products that are delivered as a service that
the consumer use or consume. The use or consummation of a service involves paying
a price. The price is often calculated from a how much the service is used.
 In the future of wireless network market the reality could be that instead
of big national providers, the market will be split into small fragments where
many providers compete. This will enable bigger competition and lowering the
barrier for smaller companies to get a chance to get into the market. For the
consumer this will hopefully result in better services and cheaper price. The
current situation is that network access is very constrained to a model where
a big provider do large scale deployment of network infrastructure, another
way to structure it could be to build it up from many smaller networks provided
by many individual smaller businesses.
Switching ISP or telephone operator is not very effective today. If you want
a different operator you have to manually call the company and get them to change
your subscription. The time it takes for your subscription to be changed is
also a considerable long time. It often takes days or weeks to get this done,
and this is probably because the process is not the most effective and automated.
For easy switching of services rapidly there is currently a lack in infrastructure
to make this possible.
With dynamic service selection some new questions arise for how this is going
handled by the application that uses the service. It would perhaps be smart
to have the application behave differently on different networks. An example
would be a web browser that would switch to text only if the network was a really
slow wireless network. This will require a tighter coupling between the various
levels of abstractions. This would mean that in the example the web browser
could inspect the information in the various abstraction levels of the network
Service selection infrastructure
To make it possible for any service to be delegated to many providers it will
require an infrastructure. This infrastructure must include discovery of available
services and the capabilities of these services. It must also give some methods
for authentications of users and billing.
Service selection on the portable device
For service switching to work the device has to control when the switching is
to take place. Two aspects that are important for the user is what Quality of
Service it gets and what price the user must pay. The system has to be smart
and figure out what applications the user would want to pay more for a better
service. For example the stock trading application the user wants a very high
performance on, and the news group read a very low prioritized performance on.
The entities that a portable device have to incorporate to do service switching
is a service evaluator, a service change controller, a service value predictor
and a user interface to interact with the service selection. These are the entities
used in the Personal Router project , but their functions are valid in any
more general service selection system also.
The service evaluator is going to evaluate the service in terms of quality
and cost. The service will advertise the quality and cost of the service, but
the actual perceived quality may not get as good as what is advertised. The
system will rely more on the input from the user.
Change Controller decides when to switch services and what services to select
based on the service evaluator and user input. The Change Controller wants to
keep the service that performs the best, and have to decide how much it wants
to explore for new services.
The Service Predictor tries to do predictions on the future values of quality/cost
ratio. In Personal Router project this is implemented with neural net.
In the Personal Router project  the user interface (Fig.1) is focused on
being as simple as possible. Figure 1 shows the user interface for the client
in the Personal Router project. When the user press better, the subsystem will
be notified and a network with better capacity will be chosen. The better network
will be more expensive and the pennies per minute indicator will increase.
Fig 1. Personal Router User Interface  (not included :-(
Conclusion on Service selection
Previous approaches to service selection have been static policies and manual
selection. In the future more advanced methods of service selection is required.
The service selection should be as simple as possible for the user. The system
should also be as smart as possible and adapt to the users preferences. Different
applications may experiences the service differently and by using the input
intelligent it should be possible to automatically select the services where
the user experiences best performance.
Setup Software Raid 1 with LVM
Setup Linux with Desktop
Manage your website ads with DFP
Google AdSense for Domains - not so great
Let Google Handle Email for your Domain Name
Page Rank banned by Google
Google's highest ranked web pages
SEO intelligent spam causes irrelevant search results
Google ranking factors
How to not give out page rank in web page links
Web Server Programming
Simple Java web server
Simple Python web server
Configuring Apache webserver with .htaccess file
Turn off the loginscreen in XP, after installing .NET .
Turn off xp login screen unread mail count
What is .NET
Introduction to Cascading style sheets (CSS)
The value of Alexa traffic rank
HTML META tag, not a search engine optimization tool
Create a maintainable webpage with modularization
The www prefix in your domain name
What is RSS and cool things RSS can be used for
MySql backup and restore with phpMyAdmin
Mix Computer related text
Doing business (making money) with Information Technology
Business with Computer Science
Research in Computer Science
Current and future possibilities of Medical Informatics
Tasks that make sense to have automated
Programming handheld mobile devices (overview)
Security tips for the web surfer
Price and Capacity in computer hardware
Java RMI Tutorial.
Page numbering in Word
Numbering headers or outlines in Word
Create a List of Figures
Turn off the default collapsing menus in Word
Turtlmeat.com 2004-2011 ©