stuff you never thought you wanted to know.


Programming mobile handheld devices.

Programming mobile handheld devices
written by Jon Berg <jon.berg|a|turtlemeat.com>

User involvement in selection of service with concerns to price and quality
Service selection
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.

[16] 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 to be
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 stack.

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 [17], 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 [16] 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 [16] (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.


Programming mobile handheld devices
Sections in the article
Introduction to programming mobile handheld devices
Handling of temporally lack of network
Locating devices
Discovery of Services
Effective use of limited resources
Location-Based Services
User involvement in selection of service with concerns to price and quality



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 Sandbox
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

Web (webmastering)
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.

Microsoft Word
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 ©