Fredrik [email protected] Henrik [email protected] Fredrik [email protected] Mikko [email protected] Project webpagehttp://www.iki.fi/feje/ga
..global
Assistant
.. ...
wherever.
whenever.
technical
specification
...
...
...
...
1 Contents
Contents
. . . 2
Background . . . 3
Idea
. . . 3
Basic service . . . 3
Client components . . . 4
Calendar . . . 4
Map & Positioning . . . 4
Advertisements . . . 5
Phone . . . 5
E-mail client . . . 5
Future modules . . . 5
Infrastructure . . . 6
Multicast
. . . 7
Communication protocol . . . 7
Client hardware . . . 8
contact
. . . 8
2 Background
This technical specification is a preliminary final paper describing the technical details of the new product proposal that was designed and partially implemented as a part of the “Telecommunications Systems” course, spring 1999 at the Royal Institute of Technology, Stockholm, Sweden.
3 Idea
Being mobile is supposed to make life easier. In fact, the variety of present systems and platforms hides the real advantages by confusing the end-user. We want to integrate existing environments and services into onesmart infrastructure, in order to make the user’s life as easy as possible. One single application can take care of many everyday services, such as tracing and communicating with friends/collegues, scheduling and making appointments and positioning that provides the user with location dependent information.
TheglobalAssistant solution presents an infrastructure consisting of a client-server model in combining an easy and intuitive application suite with a smart infrastructure.
4 Basic service
TheglobalAssistant is in its final release a Personal Digital Assistant (PDA), containing the client software which in the current version has been developed in the Java program-ming language and prototyped on a Windows compatible notebook. The user will be able to use hisglobalAssistant by clicking on a touch-sensible TFT-display and access the cli-ent componcli-ents, which all are self-explaining and highly compatible to eachother.
5 Client components
Calendar
The users have a partially shared calendar in their per-sonal globalassistant terminal. It consists of both a pri-vate and a public part. In the pripri-vate part, the user may plan in a conventional manner, so that the information feeded in the calendar is not distributed any further. In the public part of the calendar, the user may communi-cate the other users his current “status”. He may, for example, indicate that in this afternoon he is busy, and thus cannot accept any calls. This allows the other users, who want to contact him, make the decision to send an email or a short message instead.
Map & Positioning
With the positioning feature, the globalAssistant users may locate selected users in the system, get informa-tion about the surroudings, see own (and others) posi-tion on a map, provided by the map applicaposi-tion, and get location dependent information multicasted (see later) to the globalAssistant terminal.
A good example of the usage of this feature is the fol-lowing case: AglobalAssistant user, a mobile person, visits a country where he has not been for a while. He has friends in this country, as he spent an exchange year there. Thus he still have a lot of friends in this place. When his plane has landed, he turns on his glo-balAssistant. His friends, alsoglobalAssistant users, immediately see that he is nearby, and will then contact him.
Advertisements
Companies can use this feature for a smart targeted communication. We can sell advertisements to cover whole countries, or we can target it to be very location dependent. This means that when a users is near to a service for example, he gets an advertisement on the screen of hisglobalAssistant. This is more precise tar-geting than what the Internet advertising at the moment is.
Phone
With this module the user can make a call directly to another person selecting him directly from his contacts or by dialing the number manually. The implementation of the packet switched telephony will be provided by the mobile network we use.
cli-ent
The mail client will offer classic mail sending and receiving functionalities. We will imple-ment an intelligent IMAP server performing content-based transcoding according to Qual-ity of Service (QoS) parametres on the global-Assistantserver side.
Future modules
• webbrowser
• electronic commerce support • media player
• video camera support
6 Infrastructure
TheglobalAssistantclientis connected to the Internet through a mobile packet switched network (UMTS/GPRS). Furthermore, it will receive GPS broadcast signal but might even use the mobile network’s cellinfo for positioning.
The main parts of the infrastructure on the fixed network side consist in:
• globalAssistantserver
• globalAssistantlocationserver
GSM GPRS
UMTS
..global
.. ...
Assistant
server..global
Assistant
.. ...
client GPS..global
Assistant
.. ...
locationserver Internet ..globalAssistant .. ... locationserver ..globalAssistant .. ... locationserver ..globalAssistant .. ... locationserver...
...
global
Assistant
server
This server part is mainly responsible for storing and organizing the user data, like pro-file, public part of the calendar and is the globalAssistantclient’s gateway for communi-cation coordinating and controling the information exchange. Even this part is developed in Java.
global
Assistant
locationserver
This part is responsible for storing map data and especially other location dependent information that can be provided to the user.globalAssistantlocationservers should be placed and accessed by theglobalAssistantserver according to a top-down hierarchy similiar to that one of the Domain Name System (DNS). If the country the user currently is in has a globalAssistantlocationserver, he will get information accordingly. If the cur-rent city has such a server as well, the user will even get this more detailed and relevant information.
7 Multicast
We use multicast for this purpose, having multiple clients to join a multicast group. Each globalAssistantlocationservers is thus being assigned one multicast group address. As this is a bijection, multicast group addresses used within our solution may thus represent a geographic, physical area, theglobalAssistantlocationserver covers. As one client may be covered by multiple globalAssistantlocationservers simultaneously, it will be able to join multiple multicast groups.
Companies, cities, shops, restaurants, banks, tourist informations who acquire a possibil-ity to publish, present or even advertise themselves to the user by installing a global
As-sistantlocationserver, will thus be the owner of one multicast group address each.
8 Communication protocol
The intercommunication between our three parties, the globalAssistantlocationserver, theglobalAssistantserver, and theglobalAssistantclientis completely based on the Internet Protocol (IP). Our current prototype uses UDP-packets, with the motivation of small independent messages being sent out, which no special demands on security. Future implementations will though use both TCP and UDP, depending on the context. Our UDP traffic is going through well-defined port numbers, and our packets contain an own header distinguishingglobalAssistant packets from other ones. The server is listen-ing to one well-known port, and clients register to the server with dynamically assigned arbitrary port numbers.
9 Client hardware
TheglobalAssistantclientdevice will in future implementations change from the current Java software prototype to a handheld computer with the following features:
• min. 16 MByte random access memory • min. 64 MByte resistent memory
• min. 16 MByte read-only memory (for the operating system and kernel) • processing speed at least comparable to Pentium 200 MHz
• GPS built-in receiver
• GPRS/UMTS built-in adaptor and antenna
• Lithium ion battery with min. 6 hours active and 12 hours stand-by time • Full color reflective TFT color LCD
10 contact
For additional information, contact:
Fredrik Andersson<[email protected]> Fredrik Hacklin <[email protected]>
Henrik Jaakkola<[email protected]> Mikko Viitanen<[email protected]>
Fredrik [email protected] Henrik [email protected] Fredrik [email protected] Mikko [email protected] Project webpagehttp://www.iki.fi/feje/ga
..global
Assistant
.. ...
wherever.
whenever.
technical
specification
...
...
...
...
1 Contents
Contents
. . . 2
Background . . . 3
Idea
. . . 3
Basic service . . . 3
Client components . . . 4
Calendar . . . 4
Map & Positioning . . . 4
Advertisements . . . 5
Phone . . . 5
E-mail client . . . 5
Future modules . . . 5
Infrastructure . . . 6
Multicast
. . . 7
Communication protocol . . . 7
Client hardware . . . 8
contact
. . . 8
2 Background
This technical specification is a preliminary final paper describing the technical details of the new product proposal that was designed and partially implemented as a part of the “Telecommunications Systems” course, spring 1999 at the Royal Institute of Technology, Stockholm, Sweden.
3 Idea
Being mobile is supposed to make life easier. In fact, the variety of present systems and platforms hides the real advantages by confusing the end-user. We want to integrate existing environments and services into onesmart infrastructure, in order to make the user’s life as easy as possible. One single application can take care of many everyday services, such as tracing and communicating with friends/collegues, scheduling and making appointments and positioning that provides the user with location dependent information.
TheglobalAssistant solution presents an infrastructure consisting of a client-server model in combining an easy and intuitive application suite with a smart infrastructure.
4 Basic service
TheglobalAssistant is in its final release a Personal Digital Assistant (PDA), containing the client software which in the current version has been developed in the Java program-ming language and prototyped on a Windows compatible notebook. The user will be able to use hisglobalAssistant by clicking on a touch-sensible TFT-display and access the cli-ent componcli-ents, which all are self-explaining and highly compatible to eachother.
5 Client components
Calendar
The users have a partially shared calendar in their per-sonal globalassistant terminal. It consists of both a pri-vate and a public part. In the pripri-vate part, the user may plan in a conventional manner, so that the information feeded in the calendar is not distributed any further. In the public part of the calendar, the user may communi-cate the other users his current “status”. He may, for example, indicate that in this afternoon he is busy, and thus cannot accept any calls. This allows the other users, who want to contact him, make the decision to send an email or a short message instead.
Map & Positioning
With the positioning feature, the globalAssistant users may locate selected users in the system, get informa-tion about the surroudings, see own (and others) posi-tion on a map, provided by the map applicaposi-tion, and get location dependent information multicasted (see later) to the globalAssistant terminal.
A good example of the usage of this feature is the fol-lowing case: AglobalAssistant user, a mobile person, visits a country where he has not been for a while. He has friends in this country, as he spent an exchange year there. Thus he still have a lot of friends in this place. When his plane has landed, he turns on his glo-balAssistant. His friends, alsoglobalAssistant users, immediately see that he is nearby, and will then contact him.
Advertisements
Companies can use this feature for a smart targeted communication. We can sell advertisements to cover whole countries, or we can target it to be very location dependent. This means that when a users is near to a service for example, he gets an advertisement on the screen of hisglobalAssistant. This is more precise tar-geting than what the Internet advertising at the moment is.
Phone
With this module the user can make a call directly to another person selecting him directly from his contacts or by dialing the number manually. The implementation of the packet switched telephony will be provided by the mobile network we use.
cli-ent
The mail client will offer classic mail sending and receiving functionalities. We will imple-ment an intelligent IMAP server performing content-based transcoding according to Qual-ity of Service (QoS) parametres on the global-Assistantserver side.
Future modules
• webbrowser
• electronic commerce support • media player
• video camera support
6 Infrastructure
TheglobalAssistantclientis connected to the Internet through a mobile packet switched network (UMTS/GPRS). Furthermore, it will receive GPS broadcast signal but might even use the mobile network’s cellinfo for positioning.
The main parts of the infrastructure on the fixed network side consist in:
• globalAssistantserver
• globalAssistantlocationserver
GSM GPRS
UMTS
..global
.. ...
Assistant
server..global
Assistant
.. ...
client GPS..global
Assistant
.. ...
locationserver Internet ..globalAssistant .. ... locationserver ..globalAssistant .. ... locationserver ..globalAssistant .. ... locationserver...
...
global
Assistant
server
This server part is mainly responsible for storing and organizing the user data, like pro-file, public part of the calendar and is the globalAssistantclient’s gateway for communi-cation coordinating and controling the information exchange. Even this part is developed in Java.
global
Assistant
locationserver
This part is responsible for storing map data and especially other location dependent information that can be provided to the user.globalAssistantlocationservers should be placed and accessed by theglobalAssistantserver according to a top-down hierarchy similiar to that one of the Domain Name System (DNS). If the country the user currently is in has a globalAssistantlocationserver, he will get information accordingly. If the cur-rent city has such a server as well, the user will even get this more detailed and relevant information.
7 Multicast
We use multicast for this purpose, having multiple clients to join a multicast group. Each globalAssistantlocationservers is thus being assigned one multicast group address. As this is a bijection, multicast group addresses used within our solution may thus represent a geographic, physical area, theglobalAssistantlocationserver covers. As one client may be covered by multiple globalAssistantlocationservers simultaneously, it will be able to join multiple multicast groups.
Companies, cities, shops, restaurants, banks, tourist informations who acquire a possibil-ity to publish, present or even advertise themselves to the user by installing a global
As-sistantlocationserver, will thus be the owner of one multicast group address each.
8 Communication protocol
The intercommunication between our three parties, the globalAssistantlocationserver, theglobalAssistantserver, and theglobalAssistantclientis completely based on the Internet Protocol (IP). Our current prototype uses UDP-packets, with the motivation of small independent messages being sent out, which no special demands on security. Future implementations will though use both TCP and UDP, depending on the context. Our UDP traffic is going through well-defined port numbers, and our packets contain an own header distinguishingglobalAssistant packets from other ones. The server is listen-ing to one well-known port, and clients register to the server with dynamically assigned arbitrary port numbers.
9 Client hardware
TheglobalAssistantclientdevice will in future implementations change from the current Java software prototype to a handheld computer with the following features:
• min. 16 MByte random access memory • min. 64 MByte resistent memory
• min. 16 MByte read-only memory (for the operating system and kernel) • processing speed at least comparable to Pentium 200 MHz
• GPS built-in receiver
• GPRS/UMTS built-in adaptor and antenna
• Lithium ion battery with min. 6 hours active and 12 hours stand-by time • Full color reflective TFT color LCD
10 contact
For additional information, contact:
Fredrik Andersson<[email protected]> Fredrik Hacklin <[email protected]>
Henrik Jaakkola<[email protected]> Mikko Viitanen<[email protected]>