METHOD AND SYSTEM RELATING TO MOBILE RADIO COMMUNICATIONS
Field of the invention
The present invention relates generally to the field of mobile radio communications, and more particularly to a method and system for handling mobile station phonebook contents in a mobile radio communication system.
Background
Mobile radio telephony has become an important part of today's society, and many people are in the possession of a mobile station. Several reasons may appear for a mobile radio telephony user to change his mobile station, either permanently or temporarily. One such reason could be that the mobile telephony user wishes to roam into a geographical area covered by a mobile radio network operating according to a standard for mobile telephony that his normal mobile station cannot handle. Other reasons for changing the mobile station could be e.g. that the subscriber would like to upgrade his mobile station to a newer model, or that his mobile station has been stolen.
Many users of mobile radio telephony keep their personal telephone books stored on their mobile station, in the mobile station phonebook. When a user wishes to change his mobile station, or when his mobile station has been stolen, there is today no easy way of transferring mobile station phonebook contents stored on the previously used mobile station to the new mobile station. European patent application EP 1 024 674 describes a method of transferring mobile station phonebook contents from one mobile station to another mobile station via Short Message Service (SMS).
Solutions also exist for transferring mobile station phonebook contents from a mobile station to a personal computer, and then from the computer to another mobile station. However, to retrieve the phonebook contents from a personal computer to the mobile station, the mobile station has to be in the physical vicinity of the personal computer. This often causes severe inconvenience to the user, especially when roaming. Furthermore, the copy of the mobile station phonebook stored in the personal computer cannot automatically
be brought up to date every time the mobile station phonebook contents are altered. Thus, if the user does not manually alter the contents of the copy of the mobile station phonebook every time the contents of the mobile station phonebook is changed, then the copy of the mobile station phonebook stored on the personal computer will inevitably not be up to date.
Summary
One object of the present invention is to make the mobile station phonebook contents accessible, at all times, to a subscriber of services in a mobile radio network, also when the mobile station used by the subscriber is not the mobile station into which the mobile station phonebook contents were entered.
Another object of the invention is to allow for the subscriber to roam into a mobile radio network which operates according to a standard for mobile radio communications, different to the standard for mobile radio communications that the subscriber's home mobile radio operates according to, while maintaining the possibility of accessing all of his mobile station phonebook contents.
Yet another object of the present invention is to allow for the subscriber to add, delete and modify entries in his mobile station phonebook contents, these additions, deletions and modifications of the mobile station phonebook contents being accessible to the subscriber at all times, also when the mobile station used by the subscriber is not the mobile station into which the additions, deletions and modifications were entered.
According to the invention, these objects are met by a method of handling mobile station phonebook contents stored on a mobile station and associated with a subscription to services in a mobile radio network, the mobile radio network being part of a mobile radio communication system. The subscription to services has the capability of being associated with different mobile stations at different times. In the inventive method, the mobile station phonebook contents are sent from the mobile station associated with the subscription to services to a server. The mobile station phonebook contents are stored in the server as server phonebook contents. When changes are being made to the mobile station phonebook contents, the server phonebook contents are altered in order to include those changes. The
server phonebook contents can then be retrieved to a mobile station associated with the subscription to services at the time of the retrieval.
In one embodiment of the inventive method, the mobile station comprises a Wireless Telephony Application (WTA) user agent, and the transfer of data between the mobile station and the server can be performed by use of the Wireless Application protocol (WAP). In this embodiment, the alteration of the server phonebook contents could be performed in response to the WTA user agent receiving a notification of addition, deletion or modification of the mobile station phonebook contents. Alternatively, the alteration of the server phonebook contents could be performed in response to detecting an instruction to add, delete or modify the mobile station phonebook contents when evaluating text entered via the man machine interface of the mobile station. Furthermore, the server phonebook contents could be altered in response to the user giving a positive answer to a question about whether information associated with a non-phonebook related event, such as e.g. a phone-number, an e-mail address or a name, should be added to the MS phonebook contents, the question being asked in response to the completion of said non- phonebook related event.
In one embodiment of the present invention the mobile station comprises a SIM-card and a mobile equipment, the SIM-card being associated with said subscription to services and having the possibility of being connected to different mobile equipments at different times. The SIM-card could be connected to mobile equipments operating at different radio frequencies. In this embodiment, the mobile station from which the mobile station phonebook contents are sent to the server is the mobile station which comprises said SIM- card at the time of sending, and the mobile station to which the server phonebook contents are retrieved is the mobile station comprising said SIM-card at the time of retrieval. In this embodiment, the mobile station phonebook contents stored as server phonebook contents could be the part of the MS phonebook contents which is stored on the mobile equipment.
In the embodiment where the mobile station comprises a SIM-card and a mobile equipment, one could store the identity of the mobile equipment to which the SIM-card is connected, and, upon mobile station power-up, perform a check as to whether the identity of the mobile equipment to which the SIM-card is connected has changed. If it has
changed, then one can load service programs into the mobile equipment, said service programs at least for data transfer between server and mobile station, and perform retrieval of the server phonebook to the mobile station. The identity of the mobile equipment could e.g. be stored at the SIM-card.
The objects of the invention are further met by a system for mobile radio communication in which a WAP/WTA enabled mobile station is communicating. The mobile station is associated with a subscription to services, said subscription having the possibility of being associated with different mobile stations at different times. The mobile station comprises a mobile station phonebook for storing mobile station phonebook contents, a WTA user agent and a repository. The inventive system for mobile radio communication comprises a first server section comprising a server phonebook for storing a copy of the mobile station phonebook contents, the first server section also for sending the phonebook contents stored in the server phonebook to a mobile station associated with said subscription. The inventive system further comprises a second server section for sending phonebook storage service programs to a mobile station with which said subscription to services is presently associated, the second server section further comprises storage for service loading programs to be used for loading said phonebook storage service programs into the mobile station and storage for phonebook storage service programs. In the inventive system, the repository comprises storage for phonebook storage service programs. The first server section and the second server section could be logically and/or physically co-located, or located at separate servers.
In an embodiment of the inventive system, the WTA user agent is capable of allowing programs stored in the repository to be run in response to addition, deletion or modification of the mobile station phonebook contents.
In another embodiment of the inventive system, the WTA user agent is capable of evaluating text entered via the mobile station man machine interface in order to detect instructions to add, delete or modify entries in the mobile station phonebook; and the WTA user agent is further capable of adding, deleting or modifying entries in both the mobile station phonebook and in the server phonebook when said instructions have been detected. In this embodiment, the WTA user agent could be capable of adding phonebook entries to
the mobile station phonebook and the server phonebook in response to the completion of non-phonebook related events, the events being associated with information that could be stored as phonebook entri(es).
In the inventive system, the mobile station could comprise storage for a universal resource locator pointing at the second server section's storage for service loading programs.
In one embodiment of the invention, in which the mobile station communicating in the system for mobile communication comprises a SIM-card and a mobile equipment, said SIM-card comprises storage for the mobile equipment identity of the mobile equipment to which the SIM-card is connected. In this embodiment, said SIM-card could be capable of performing, upon MS power-up, a comparison between the mobile equipment identity stored in the storage for the mobile equipment identity and the mobile equipment identity of the mobile equipment to which the SIM-card is presently connected.
In one embodiment of the inventive system said first server section comprises storage for an identity of a second mobile station, said second mobile station being authorised to access the contents of the server phonebook. The identity of a second mobile station could then be used by the first server section for authentication purposes.
Brief description of the drawings
The present invention will now be discussed in more detail with reference to preferred embodiments of the present invention, given only by way of example, and illustrated in the accompanying drawings, in which:
Fig. 1 schematically illustrates a mobile radio network in which a mobile station communicates.
Fig. 2 is a schematic drawing of a WAP enabled mobile station.
Fig. 3 is a high level flowchart schematically describing an example of the method of the invention.
Fig. 4 is an exemplary flowchart describing one embodiment of service loading.
Fig. 5 is an exemplary signaling diagram for phonebook entry deletion used in a first embodiment of the invention.
Fig. 6a is an exemplary network signaling diagram for sending of mobile equipment phonebook contents to the server and for storing the mobile equipment phonebook contents in the server phonebook.
Fig. 6b is an exemplary network signaling diagram for retrieval of phonebook contents from the server into the mobile equipment phonebook.
Fig. 7 is a flowchart describing one embodiment of mobile station power-up.
Fig. 8 is a flowchart relating to an exemplary call release event handler used in a second embodiment of the invention.
Fig. 9 is a flowchart describing a MMI driver application used in the second embodiment of the invention.
Detailed description
An exemplary mobile station (MS) 100 communicating in a mobile radio network 110 comprising at least one base station 115 is schematically shown in Fig. 1. The mobile radio network 110 and the MS 100 shown in Fig. 1 operate according to a standard for mobile radio communications, or more simply, standard, in which the MS 100 comprises two logically and physically separated entities: a Subscriber Identity Module (SIM) card 120 and a Mobile Equipment (ME) 130, such as the GSM (Global Systems for Mobile Communication) or UMTS (Universal Mobile Telephony Systems) standards. SIM-card 120 is associated with a subscription to services in mobile radio network 1 10 and holds subscription information corresponding to a subscription to services provided by mobile radio network 110. SIM-card 120 can be detached from ME 130 and attached to another
ME. SIM-card 120 and ME 130 can each have memory reserved for storing names, telephone numbers, e-mail addresses etc, the combination of the two memories in the
following referred to as MS phonebook, and the contents of the MS phonebook referred to as MS phonebook contents. In other standards for mobile radio communication such as PDC (Pacific Digital Cellular) and TDMA (Time Division Multiple Access), the MS 100 does not comprise a detachable SIM-card 120, and the subscription to services is associated with the entire MS 100.
The MS phonebook contents are often vital to a MS user. In order to assure that the MS phonebook contents are at all times accessible to a user of a subscription to services, a copy of the MS phonebook could be held at a server 160 connected to mobile radio network 1 10. The copy of the MS phonebook stored at server 160 would be associated with a subscription to services in mobile radio network 110, and could be retrieved to a MS 100 associated with the subscription to services at the time of retrieval. In the case of a user associated with the subscription to services performing international roaming between mobile radio networks operated according to a standard in which the MS 100 comprises a SIM-card 120 and a ME 130, but the two mobile radio networks transmit in different radio frequency bands, the user could bring his SIM-card from his home mobile radio network 110 and connect the SIM-card 120 into a ME 130 operable at the radio frequencies used in the roamed-in network. Upon retrieval, the copy of the mobile station phonebook stored at server 160 would then be sent to the MS 100 of which SIM-card 120 presently forms a part. In the case of the user associated with the subscription to services performing international roaming between mobile radio networks of different standards, between which a possible SIM-card 120 is not transferable, an identity of MS 100 used by the user in the roamed-in network could advantageously be stored in server 160 for authentication purposes. A special case of such roaming could be the roaming between two mobile radio networks 110 of different standards for mobile telephony, run by the same national operator.
In the following, the present invention will be discussed in terms of a MS 100 operating according to a standard in which the MS 100 comprises a SIM-card 120 and a ME 130. Furthermore, the present invention will be discussed in terms of the part of MS phonebook which is located on the ME 130, hereinafter referred to as ME phonebook 140, and its contents, referred to as ME phonebook contents 150. The invention could however, in an
analogous way, be applied to the part of MS phonebook which is stored on the SIM-card 120, or to a MS 100 in which no distinction between SIM-card 120 and ME 130 is made.
Server 160 could either be part of mobile radio network 110, part of another mobile radio network or located externally to any mobile radio network, e.g. at a company's premises.
Server 160 could advantageously be divided into sections, out of which one section could comprise the ME phonebook 140. ME phonebook contents 150, or part of ME phonebook contents 150, could be transferred to server 160 e.g. when changes has been made to ME phonebook contents 150, or on demand. The copy of the ME phonebook stored in server 160 will hereinafter be referred to as server phonebook 140', and its contents as server phonebook contents 150'. Server phonebook contents 150' could be retrieved to a ME phonebook 140, e.g. when the ME 130 to which SIM-card 120 is connected has been changed, or on demand.
The transfer of data between MS 100 and server 160 could for example be made using the
Wireless Application Protocol (WAP). Server 160 would then be a WAP server. A WAP- enabled mobile station 100 is schematically illustrated in Fig. 2, where the two entities SIM-card 120 and ME 130 are shown. ME 130 comprises inter alia a Wireless Telephony Application (WTA) user agent 200, ME phonebook 140 and a repository 210. The repository 210 is a persistent storage module that may be used to store content (data objects such as programs) in order to eliminate the need for network access when loading and executing service applications. The WTA user agent 200 can interact with mobile network functions (e.g. call set-up) and device specific features (e.g. phonebook 140). Further, the WTA user agent 200 can interpret content stored e.g. in the repository 210 or on server 160. More information on the WAP/WTA standard can e.g. be found in the standard specifications WAP-169-WTA and WAP-170-WTAI, Wireless Application Protocol Forum Ltd.
A high level flowchart schematically describing an example of the method of the invention is shown in Fig. 3. In step 300, the ME phonebook contents 150 of ME phonebook 140 are sent from ME 130 to server 160. In step 310, the ME phonebook contents 150 of ME phonebook 140 are stored as server phonebook contents 150' in server phonebook 140'. In step 320 it is checked whether server phonebook 140' should be altered, in order to keep
the server phonebook up to date. Altering of server phonebook 140' could e.g. be triggered by changes being made to ME phonebook contents 150, or by a user request for altering the server phonebook 140'. If so, step 330 is entered, where server phonebook contents 150' are altered. If the altering is triggered by changes being made to contents of ME phonebook 140, the ME phonebook 140 does not necessarily have to be the same ME phonebook 140 as in step 300, but it would be the ME phonebook 140 of the ME 130 to which SIM-card 120, associated with server phonebook 140', is presently connected. When the altering has been performed in step 330, step 360 is entered, where it is checked whether an instruction to switch off the MS 100 has been received. If so, the exit step 370 is entered. If not, step 320 is re-entered. If in step 320 it is found that the server phonebook 140' should not be altered, step 340 is entered, in which step it is checked whether retrieval of server phonebook contents 150' to a ME phonebook 140 has been requested. If retrieval has been requested, step 350 is entered, where server phonebook contents 150' are sent from server 160 to ME 130 and then stored in ME phonebook 140 as ME phonebook contents 150. Step 360 is then re-entered. If retrieval of server phonebook contents has not been requested, then step 360 is entered directly. The ME 130 and hence the ME phonebook 140 to which the server phonebook contents 150' are retrieved in step 350 could be the same ME 130 and ME phonebook 140 as in step 300, or different if the SIM-card 120 associated with the server phonebook 140' has been moved from one ME 130 to another ME 130 after step 300 has been performed but before entering step 340.
The flowchart presented in Fig. 3 could be modified in several ways without departing from the spirit of the invention. Examples of such modifications are given below. Step 340 may very well occur before step 320, and step 360 could be performed at any time. Step 320 could possibly be replaced by a step where it is checked whether sending of ME phonebook contents 150 to server phonebook 140' has been requested.
The steps 300 and 310 of Fig. 3 could e.g. be performed upon subscription to the phonebook storage service, or on demand. Subscription to the phonebook storage service, or more simply service, includes the creation of a server phonebook 140' associated with a
SIM-card 120 at server 160, such that phonebook entries can be entered, deleted or modified. Upon subscription to the phonebook storage service, a service loading program could be executed, by which phonebook storage service programs, or simply service
programs, pertaining to the service would be loaded from the network into MS 100 and stored there persistently. Such loading of service programs into MS 100 will in the following be referred to as service loading. The service loading program and the network copy of the service programs to be loaded into MS 100 could advantageously be stored in a section of server 160, but could also be stored in another server connected to mobile radio network 110. In the following, however, it will be assumed that the service programs will be stored in and loaded from server 160.
In Fig. 4, an exemplary algorithm that could be used for service loading is shown in a flowchart. In step 400, a service loading invocation is received by server 160. This service loading invocation could be sent by e.g. a subscription handler, if the service loading invocation is sent in connection to a subscription to the service, or by the MS 100. Upon reception of the service loading invocation, the server 160 makes a new service loading script in step 410. The contents of this service loading script corresponds to the service programs, which are used by MS 100 when executing the service. In step 420, the service loading script is sent to the MS 100. The service loading script is then executed in MS 100 in step 430, and the contents of the service loading script is stored in the MS 100. In case of using WAP for data transfer, the contents could be stored in the repository 210. Each service program could get its own Universal Resource Locator (URL) by which the service program could be invoked by a browser.
The WTA user agent 200 can detect events relating to mobile network functions and then allow for the running of WTA applications stored in the repository 210 in response to such events (see e.g. 169- WTA, Ch. 10, version 07-Jul-2000). Events relating to mobile network functions will hereinafter be referred to as non-phonebook related events and could e.g. be the completion of an incoming or an outgoing phone call, or the reception or sending of a text message. There is also a possibility to introduce phonebook related events, such as the addition, deletion or modification of entries in ME phonebook 140, as events which could trigger the WTA user agent 200 to run WTA applications stored in the repository 200. In one embodiment of the invention, phonebook related events are utilised as triggers for the
WTA user agent 200 to run WTA applications stored in the repository 210. The contents of the service loading script in Fig. 4 would in this embodiment comprise service progra
being made to ME phonebook contents 150. Such service programs could e.g. be a phonebook addition event handler, a phonebook deletion event handler and a phonebook modification event handler, each event handler being run in response to addition, deletion and modification of entries in ME phonebook 140, respectively. The phonebook addition event handler would write the added entry in ME phonebook 140 into server phonebook
140', the phonebook deletion event handler would perform the deletion of an entry in server phonebook 140' that has been deleted in ME phonebook 140, and the phonebook modification event handler would modify an entry in server phonebook 140' in accordance with modifications that has been performed on the corresponding entry in ME phonebook 140. A signalling diagram is shown in Fig. 5, describing an exemplary signalling sequence that could be used upon deletion of an entry in ME phonebook 140. WTA user agent 200 receives a notification that a deletion of an entry in ME phonebook 140 has occurred, see message 5A in Fig. 5. WTA user agent 200 then sends a message 5B to the repository 210 in order to fetch the phonebook deletion event handler. In message 5C, the repository 210 sends the phonebook deletion event handler to the WTA user agent 200. The phonebook deletion event handler is then executed in the WTA user agent, and a message 5D comprising an instruction to delete the relevant phonebook entry is sent from the WTA user agent 200 to the server 160. Similar signalling diagrams could be used to illustrate system function upon addition or modification of a phonebook entry.
The contents of the service loading script of Fig. 4 could further comprise a phonebook storage/retrieval program for sending the entire ME phonebook contents 150 to server 160 and storing said ME phonebook contents 150 in server phonebook 140', as well as for retrieving the entire phonebook contents from server 160 to a ME 130. The sending and storing of ME phonebook contents 150 could e.g. be performed directly after service loading in response to subscription to the service, or in response to a user request. The retrieval of the server phonebook contents 150' could e.g. be performed when the SIM-card 120 associated with the server phonebook 140' has been connected to a new ME 130, or in response to a user request. An exemplary signalling diagram for sending of ME phonebook contents 150 to server 160 and storing of ME phonebook contents 150 in server phonebook
140' is shown in Fig. 6a. An exemplary signalling diagram for retrieval of the server phonebook contents 150' to a ME phonebook 140 is shown in Fig. 6b. In the example presented in Fig 6a, the phonebook sending and storing is initiated by server 160. In
message 6a, a phonebook storing invocation is sent from server 160 to WTA user agent 200. In response to this invocation, WTA user agent 200 executes the storage/retrieval program and sends a read next phonebook entry instruction to ME phonebook 140, see message 6b. In response to this message, ME phonebook 140 sends a message 6c to the WTA user agent 200, containing the next phonebook entry. WTA user agent 200 then forwards this next phonebook entry to server 160 in message 6d, together with an instruction to write this next phonebook entry into server phonebook 140'. The messages 6b to 6d will be repeated until all phonebook entries in ME phonebook 140 has been stored in server phonebook 140'.
The signalling diagram for retrieval of the server phonebook contents 150' shown in Fig. 6b is analogous to the signalling diagram shown in Fig. 6a. In the example presented in Fig. 6b, however, the retrieval of server phonebook contents 150' has been requested by the user of MS 100 via the Man Machine Interface (MMI) 600 of MS 100. In response to the user request, MMI 600 sends a phonebook retrieval invocation to the WTA user agent 200, see message 6A in Fig. 6b. In response to message 6A, the WTA user agent 200 executes the phonebook storage/retrieval program and sends to server 160 an instruction to read next phonebook entry, see message 6B. Server 160 then sends the next phonebook entry in a message 6C to WTA user agent 200. WTA user agent 200 then sends this next phonebook entry in message 6D to ME phonebook 140 with an instruction to write the entry in ME phonebook 140. The messages 6B to 6D will be repeated until all phonebook entries in server phonebook 140' has been retrieved.
When WAP is used for the transfer of data between MS 100 and server 160, a browser could preferably be running in the MS 100 as a background task, the browser intercepting network and MMI events. In the example of retrieving the server phonebook contents 150' shown in Fig. 6b, the user request could advantageously be performed by use of the browser and a bookmark pointing at the storage/retrieval program in the repository 210. Such bookmark could e.g. be introduced via the service loading script of Fig. 4.
In Fig. 7, a flowchart describing service execution at power-up of MS 100 according to one embodiment of the invention is shown. In step 700, the MS 100 is powered up. In step 710, it is checked whether ME 130 is the same ME as the ME that SIM 120 was connected to
last time it was powered up. This check could be performed in a number of different ways. A simple way of performing the check could be that the user of MS 100 informs MS 100 that the ME 130 has changed. In a GSM (Global System for Mobile communication) or UMTS (Universal Mobile Telephony System) system, another way to perform the check in step 710 could be to use a toolkit referred to as "SIM application toolkit", which includes the possibility for a SIM 120 to ask for the International Mobile Equipment Identity number (IMEI) of the ME 130 to which it is connected. A comparison between the present IMEI and the last IMEI could then be made at the SIM 120. Another possibility could be to store the last IMEI in server 160. Several nodes in mobile radio network 1 10, e.g. the HLR (Home Location Register) store the current IMEI information, and this information could be transferred to server 160. A comparison between present IMEI and the last used IMEI could then be made at server 160.
If the outcome of the check in step 710 is that the ME identity has changed, then step 720 is entered, in which the browser is launched with a URL pointing at the service loading program in the server 160. When SIM application toolkit is available, the launch of the browser could advantageously be invoked by a launch browser command being sent from the SIM 120 to ME 130, the URL of the service loading program having previously been stored in the SIM 120. Alternatively, the browser could be launched by the user via the MMI. In step 730, the service loading program is then executed. Furthermore, in step 740, the server phonebook contents 150' is retrieved to ME phonebook 140 in ME 130, using e.g. a signalling scheme similar to that of Fig. 6b. The phonebook retrieval invocation would however in this case preferably be sent from server 160. When the server phonebook contents 150' have been retrieved, step 760 is entered, in which the MMI is executed. If in step 710 it is found that the ME identity has not changed since the last power-up, the browser is launched in step 750 and the MMI is executed in step 760.
Step 760 in which the MMI is executed could be performed at any stage of this power-up procedure. An alternative to performing the step 710 of Fig. 7 is to always perform the service download and phonebook contents retrieval of steps 730 and 740 upon MS power- up.
As an alternative to using phonebook related events as triggers for the WTA user agent 200 to run WTA applications for keeping a server phonebook 140' up to date, one could use a MMI driver application for intercepting MS MMI text input from the user in order to detect alterations to ME phonebook 140 initiated by the user. Furthermore, WTA applications for altering phonebooks 140 and 140' could be run in response to non-phonebook related events which has associated information that could be stored as an entry in phonebooks 140 and 140', such as e.g. an e-mail address, a name, or a phone-number of a calling or called party. Such WTA applications, or service programs, could e.g. be a call release event handler, an incoming text message event handler and an outgoing text message event handler, the event handlers being run by WTA user agent 200 in response to release of speech or data calls, the receipt of an incoming text message, and the receipt of a confirmation that an outgoing text message has been successfully sent, respectively.
A flowchart describing an algorithm used by an exemplary call release event handler is shown in Fig. 8. In this example, the information associated with the call release event that could be stored in the phonebooks 140 and 140' is a phone-number of the called or calling party. In step 800 the call release event handler is started, triggered by a call release event. When the call release event handler is started, the phone-number associated with the released call will be indicated to the call release event handler. In step 810, the associated phone-number is searched for in ME phonebook 140. If the phone-number is found, then the call release event handler is ended in step 850. If the phone-number is not found in ME phonebook 140, then it is checked whether the phone-number should be stored in the phone-book 140. This could e.g. be done by using the Man Machine Interface (MMI) to ask the user of MS 100 whether the phone-number should be stored or not. If the associated phone-number should be stored, step 830 is entered, where the associated phone-number is added to ME phonebook 140. An associated identifier, e.g. a name, as well as a position in ME phonebook 140, could be stored together with the phone-number. Step 840 is then entered, where the associated phone-number is transferred to server phonebook 140' and stored there. In step 850, the call release event handler is ended. The incoming and outgoing text message event handlers could function analogously.
When an MMI driver application is used for intercepting MS MMI text input from the user in order to detect alterations to ME phonebook 140 initiated by the user, the contents of the
service loading script of Fig. 4 would be at least an MMI driver application and a phonebook storage/retrieval program, and possibly also handlers for non-phonebook related events, such as the call release event handler described in Fig. 8. The MMI driver application as well as the other service programs would be stored in the repository 200 and associated with unique URLs. If it is not desired to store information associated with non- phonebook related events, then the handlers for non-phonebook related events could be omitted.
The MMI driver application would be used, inter alia, for presenting a menu-based MMI to the user of MS 100, and for interpreting text entered by the user of MS 100 via the MMI.
This could e.g. be done according to the teachings of the WAP-191-WML specification, Wireless Application Protocol Forum Ltd. The menu-based MMI could be used for handling the man-machine communication regarding all events going on via MS 100, such as the set-up of calls, the sending and reception of network text messages, the handling of supplementary services etc. The MMI driver application could then use WTA to actually set up calls, to send network text messages etc. The MMI driver application could further be used for manipulation of ME phonebook 140, whereby already existing WTA functions such as WTAPhonebook Write and WTAPhonebookRemove could be used (see WAP- 170- WTAI, Ch. 11, version 07- -2000). When the MMI driver application has performed addition, modification or deletion of an entry in ME phonebook 140, it could then alter server phonebook 140' accordingly. The MMI driver application could further be used for receiving, interpreting and executing instructions from the user of MS 100 to retrieve the contents of server phonebook 140' to ME phonebook 140, and for storing the contents of ME phonebook 140 to server phonebook 140'. Network signalling schemes according to Fig. 6 could be used for phonebook storing and retrieval. MMI 600 of Fig. 6 would then be supplemented by MMI driver application, as the native MMI will transfer control to the MMI driver application.
Preferably, the MMI driver application should be running constantly in the MS 100 whilst the MS 100 is powered. The flowchart presented in Fig. 7 relating to MS power-up would apply also to this embodiment. If in step 710 it has been found that the ME identity has been changed, then the browser would be launched with a URL pointing at the service loading program in server 160. If, however, the ME identity has not changed, then the
browser is launched with a URL pointing at the MMI driver application, and in step 750, the MMI driver application is executed.
In Fig. 9, a flowchart describing functionality of an exemplary MMI driver application is presented. In step 900, the MMI driver application is started. This step should preferably be performed upon MS power-up. In step 905, the MMI driver application receives MMI input from the user of MS 100. This step could have been preceded by the display of MMI menus to the user. In step 910, the MMI input received in step 905 is evaluated. If the MMI input received is not related to any phonebook events, then step 915 is entered where processes are started according to the MMI input. If the MMI input received is an instruction to store or retrieve phonebook contents, then step 920 is entered and a phonebook storage or retrieval invocation is sent to the WTA user agent 200, which then processes the invocation, e.g. according to the signalling diagrams of Fig. 6a or Fig. 6b, respectively.
If the MMI input received in step 905 is related to the ME phonebook 140, then step 925 is entered and phonebook entries of ME phonebook 140 is displayed to the user of MS 100. In step 930, user instructions are awaited and received, and an entry indicated by the user is selected by the MMI driver application. In step 935, it is checked whether the user has instructed to add the indicated entry to ME phonebook 140. If so, then the entry is added to
ME phonebook 140 in step 940. In step 945 the MMI driver application sends the indicated entry to the server 160, where it is stored in server phonebook 140'. If it is found in step 935 that the indicated entry should not be added to ME phonebook 140, then step 950 should be entered, where it is checked if the indicated entry should be deleted from ME phonebook 140. If so, then the steps 955 and 960 are entered, where the indicated entry is deleted from ME phonebook 140 and server phonebook 140', respectively. If the indicated entry should not be deleted, then step 965 is entered, where it is checked whether the indicated entry should be modified. If so, then in step 970 the indicated entry is first modified according to instructions from the user in ME phonebook 140. The indicated entry is then, in step 975, modified in server phonebook 140'. If the indicated entry should not be modified, then step 980 is entered, where it is checked whether an instruction to switch off the MS 100 has been received. If so, the exit step 985 is entered. If not, step 905 is re-entered.
Several modifications can be made to the flowchart of Fig. 9 without departing from the spirit of the invention. Examples of such modifications are given below. The order in which the steps 935, 950 and 965 are performed can be altered. The steps 925, 930, 935, 950 and 965 could be implemented in several different ways. In step 930, an evaluation of the instruction given by the user in step 925 could be made, and one of the steps 935, 950 and 965 could then be chosen depending on the outcome of the evaluation. An extra step taking care of the user wishing to perform searches in the ME phonebook 140 could be introduced. In step 930, a time interval for when user instructions should be received could be introduced, and the step 905 could be re-entered should the instructions not have been received within that time interval. The steps 980 and 985 could be performed prior to step 905 (step 980 rather than step 905 would then be re-entered when the steps 915, 920, 945, 960 and 975 are exited), or e.g. after the steps 905, 910, or 930.
One skilled in the art will appreciate that the present invention is not limited to the embodiments disclosed in the accompanying drawings and the foregoing detailed description, which are presented for purposes of illustration only, but it can be implemented in a number of different ways, and it is defined by the following claims.