As computer’s capability of computation advances and network develops with a high speed, there are emerging quite a lot of diverse types of computation/ communication devices. By them a person can access any data on the network at anytime, anywhere and with option of multiple ways. So he/she can be served by a computing system anytime and anywhere as long as there are such devices available and they are integrated into a whole system. It forms the concept of ubiquitous computing.
Our Mobile Audio (MobiAudio) is intended to address some general problems shown in such a system. It assumes the person, called user, has a handheld device with him/her. (HP Jornada is used in our experiment.) The user is listening to some music or other audio information at beginning. Then wherever he/she goes, he/she can continuously listen to the audio stream as long as the network works well.
In the example scenario, the user first listens to music from a remote server using the desktop in his office A. When the user leaves the place A, the audio playing is seamlessly transferred from the old host to his/her handheld device. Then on his/her way to the destination (place B), he/she continues to listen to the music, almost the same as he was in place A, except that the quality of the audio may be degraded. On his/her arrival of the new location, the audio playing is transferred seamlessly again from the handheld device to a desktop in place B, which is connected to an audio device with better quality.
There are many other scenarios for MobiAudio. For example, here the scenario shows that on the user’s way the audio stream is directly served by the remote server. When the server is very far from the user, the desktop in place A may become a proxy which forwards the audio to the handheld device if the wireless network does not cover the server and the handheld device at the same time. Also, if the user likes, he/she can stop the audio playing when he/she is on the way, and whenever he/she will, the audio can be begun just at the previous stopped point.
From the scenario above, you can see that MobiAudio is a user-centric application. So the user mobility is the first challenge. It is comprised of the detection of the user’s movements, the user’s identification, registration and the maintenance of each user’s private data. Now the first version of MobiAudio just has the user explicitly click buttons and provide user name to simulate the former three tasks, and the private data, including the previous stop point of the audio stream, is maintained by the user proxy. In any existing ubiquitous system discovery service and registration service will solve these three tasks quite well.
Continuity is the second challenge. It concerns problems in several aspects, such as the handoff between processes, the maintenance of the pointer of the audio stream, synchronization between server and clients, and so on. For example, the pointer of the audio stream should be forwarded from the previous client to the new one in a transfer, and since the user can stop the audio playing as he/she likes, the pointer should be stored in the user proxy at that time. From the comparison of it to our MobiMan project you can see that, MobiAudio’s continuity is more rigorous. It allows the user to listen to the audio when the user is on the way. That is because the bandwidth requirement of audio data is not so large as that of video, and in some cases audio may carry more important information, for example, in a network conference.
Heterogeneity is also a problem for it. Because the handheld device has some difference from a desktop, such as the computing capability, and the wireless network’s condition may not be the same as the wired one, heterogeneity is considered in the project.