DYNAMIC DATA/CONTENT BROWSING
FIELD OF THE INVENTION
This invention relates to wireless communication between a mobile communication device such as a mobile telephone and a communications network such as the internet. In particular, the invention relates to a method of dynamic wireless browsing.
BACKGROUND TO THE INVENTION
The most commonly used standard for mobile telephone communications is GSM (Global System for Mobile communications), which makes provision for the capability in mobile telephones to use so-called short message service (SMS) and also for the capability to use so-called unstructured supplementary service data (USSD), among other communication methods.
SMS messages can be sent between mobile telephones or other communication devices via a telephone network. When a user sends an SMS message, a request is created in the sender device and is sent via the network to an SMS gateway where the message is stored in an SMS centre. The SMS centre queries a home location register to find out whether the intended destination communication device is available on the network and if so, the SMS message is transmitted to the destination device. If the destination device is not available for delivery of the message, it is stored in the SMS centre for a validity period (typically one day). If the destination device becomes available within the validity period, the message is delivered. Otherwise it is deleted at the end of the period. SMS handling is thus a "store-and-forward" operation and the transmission of SMS messages is typically very slow, as a result, but SMS messaging is fairly cost effective.
The first generation of USSD (called "USSD Phase 1 ", "MAP 1 ", or simply "USSD1 ") is a capability of GSM communications networks to provide services from a service provider to a mobile communications device in real time. In USSD 1
communication, a mobile communications device transmits a message via the network to a service provider in a predetermined format and the service provider replies by transmitting a message via the network to the mobile communications device. Communication takes place in single directional bursts and there is no "session" between the mobile device and the service provider, i.e. there is no dedicated communication link that is kept active while two-way communication between the mobile device and the service provider takes place.
USSD1 communication does not require storage of messages and it is significantly faster than SMS communication and like SMS, USSD1 communication is also very cost effective, since no session needs to be maintained. (It is in fact even less expensive than SMS.) However, the absence of session management on USSD1 , limits the complexity of communication that can be hosted using USSD1 and USSD1 is typically only used for supplementary services that requires only a reply to a mobile-initiated request, such as a balance enquiry.
The next generation of USSD (called "USSD Phase 2", "MAP 2" or simply "USSD2") is similar to USSD1 , but it allows for a session to be maintained between the mobile device and a service provider. The complexity of communication that can be hosted using USSD2 is thus significantly wider. Further, USSD2 allows a mobile device to connect via the network (using USSD2) and via a USSD gate, to the internet.
However, the maintenance of a session during USSD2 communication makes it significantly more costly than USSD1 .
A variation on USSD2, called "N1 USSD" or "USSD Push" has also been established under GSM, which allows network initiated ("push") communication in addition to the mobile initiated ("pull") communication of USSD1 and 2. However, this still suffers either the limiting simplicity of communication of USSD1 or the cost of USSD2.
USSD communication is driven by menus that are displayed on the mobile device and from which the user makes a selection. The USSD message is generated by the mobile device, based on the choice of the user and is transmitted as described
above. These menus for USSD communication are not stored on the identification (SIM) card used in a mobile communication device, i.e. it does not form part of the Sim Toolkit (STK), but are stored on the communication device itself.
Some applications such as wireless internet browsers (WIB) are supplied in the STK and appear on the mobile device as menus for a range of services. The WIB communicates with a server on the GSM communications network that connects it to other servers offering services. However, the communication bearer used for communication via the GSM network is SMS, which is very slow and unsatisfactory for many users.
The WIB menus in the STK do not change readily. If activation or updates to the WIB menus are required, this can be done by replacing the SIM cards, but is typically done by sending updated menus to the mobile device over-the-air (OTA) using SMS as bearer. This can be done at the request of the user, but is typically done in an OTA campaign from service providers. These OTA menu updates suffer the disadvantages inherent to SMS, that the menu updates do not necessarily reach the intended recipients (e.g. if a target mobile devices is not on the network during the validity period of the SMS message), that the updates are slow and are costly.
The present invention seeks to provide communication between a mobile
communication device and a communication network which includes updates of browser software, parameters and/or menus in real time and in a convenient and cost effective manner.
SUMMARY OF THE INVENTION
According to one aspect of the present invention there is provided a method of wireless communication between a mobile communication device such as a mobile telephone and a server, said method including:
retrieving a menu from an STK of the mobile communication device;
selecting options from the menu on the mobile communication device;
transmitting messages corresponding to said menu options selected, via a
wireless communication network between the mobile communication device and the server using USSD1 as bearer;
generating a menu update message on the server; and
transmitting said menu update message from the server to the mobile
communication device using USSD1 as bearer;
Those skilled in the art would realise that the menus are not necessarily literally stored in the memory of the identification module, but what is stored are instructions and/or data, which, when executed in a communication device, would provide menus. Likewise, the term "retrieving" refers to the execution of the instructions and/or date to provide the menus.
The term "server" is used here to refer to an electronic communications device or devices that serve the purpose of hosting the services of a service provider, which can include the service of allowing communication to a communication network such as the internet. It can therefore refer to multiple devices and/or to devices that may still be developed to perform the task of hosting such services.
Further, the term "menu" can refer to a single menu, a plurality of menus, or a menu which includes sub-menus.
The menu may be stored in a cache memory on an identification module (such as a SIM card) of the mobile communication device.
The server may communicate with a communication network such as the internet during the transmission of messages between the mobile communication device and the server, so that the user effectively browses the internet from the mobile communication device, via the wireless communication network and the server using USSD1 as bearer.
A virtual session may be maintained on the mobile communication device for the
duration of the communication and the menu update message may be transmitted from the server to the mobile communication device during the virtual session using USSD1 as bearer. A virtual session may be maintained in the server,
simultaneously with the virtual session maintained in the mobile communication device using USSD1 as bearer.
The invention extends to instructions loadable onto the memory of a server and onto the memory of an identification module such as a SIM card, said instructions, when executed on the server and sent to a mobile communication device loaded with the identification module using USSD1 as bearer, allowing for implementing the method as described hereinabove.
DETAIL DESCRIPTION OF EXAMPLE
For a better understanding of the present invention, and to show how the same may be carried into effect, the invention will now be described by way of non-limiting example.
Application browser software is loaded onto identification modules in the form of SIM cards that are provided to users for use on wireless communication networks, such as mobile telephone networks. The application software is stored as part of the STK carried on the SIM card (referred to herein as the "STK application software"). The users fit the SIM cards loaded with the STK application software in their mobile communication devices, e.g. mobile telephones. For the sake of simplicity, this example will be described further with reference to wireless communication devices only in the form of mobile telephones - even though the use of this invention is not restricted to a particular type of wireless communication device.
Further application software (referred to herein as the "server application software") is loaded onto one or more servers that are connected to a communication network such as the internet or data/content providers, which the users are to access from their mobile telephones. For the sake of simplicity, this example will be described
further with reference to communication networks only in the form of the internet - even though the use of this invention is not restricted to a particular type of communication network.
The STK application software on a SIM card is accessed when the mobile telephone fitted with the SIM card is used and includes instructions for providing menus that are displayed on the display screen of the telephone, from which the user can select options. The menus that the user accesses are stored in a cache memory on the SIM card. When a user wants to make use of the services offered, he accesses the menus and selects an option from the menus. The STK application software initiates a virtual session using USSD1 as bearer on the mobile telephone when the user accesses the menu or selects the first option on a menu. This means that the STK application software runs continuously on the mobile telephone and keeps the application active on the mobile telephone user interface, even though there is no real session, i.e. no real continuous communication via the telephone network.
When the virtual session is initiated on the mobile telephone, the STK application software running on the mobile telephone causes an initiation message to be created in the appropriate format for USSD1 and for the initiation message to be transmitted via the telephone network using USSD1 as bearer, from the mobile telephone to a server loaded with the server application software. The virtual session on the mobile telephone remains open.
Those skilled in the art will appreciate that the steps of displaying a menu and selection of a menu option by the user using USSD1 as bearer, can be replaced by prompting the user to provide an entry and for the user to provide an entry other than a menu selection, e.g. a user can be prompted to enter a username, password, amounts, - or any other entry by the user.
When the initiation message is received by the server, the server application software initiates a virtual session on the server, performs an operation in
accordance with the menu selection of the user, creates a message in USSD1
format and transmits the message from the server to the mobile telephone via the telephone network, using USSD1 as bearer. The virtual session on the server remains open.
When the USSD1 message from the server is received on the mobile telephone, the STK application software uses the message to display information and/or menu options to the user and/or prompts the user. The user provides an input, which is used by the STK application software to create a further USSD1 message that is transmitted to the server via the network, while the virtual session on the mobile telephone remains open.
The communication between the user and the server continues with reciprocal messages created by the application software and transmitted with USSD1 as bearer. The communication thus takes place in short bursts of communication with the advantages of USSD1 of very low cost and real time communication and the benefits of maintaining a session (as would be available with USSD2) are provided to the user, by running the virtual session on the mobile telephone.
During the course of the communication, the server communicates with any source of data or content, (such as the internet) and thus allows the user to access
("browse") the data/content. While the user is browsing the data/content, updates are created on the server, for the menus that form part of the STK application software - and thus forms part of the browser software. The menu updates are converted into menu update messages and are transmitted from the server via the wireless communication network to the mobile telephone with USSD1 as bearer. In the mobile telephone, the USSD1 menu update message is received and the menus in the STK application software are updated according to the message and are cached on the SIM card. The menus (and thus the browser software) are thus updated continually and the user experiences "dynamic" browsing.
When the communication is no longer required by the user, he selects a menu option or provides other input to the mobile telephone, which is used by the STK
application software to terminate the virtual session on the mobile telephone and to create a termination message in USSD1 format and transmit it to the server via the telephone network, using USSD1 as bearer. Upon receipt of the termination message in the server, the server application software terminates the virtual session in the server.
When the user wants to access data/content from the server again from his mobile telephone, the updated menus are retrieved from the cache and the user accesses the data/content as described above, but using the updated menus.
In the example described, a virtual session is maintained in the server using USSD1 , simultaneously with the virtual session on the mobile telephone. However, it is not essential that a virtual session is maintained on the server, depending on the operation or configuration of the server application software. However, it is essential that the virtual session on the mobile telephone is maintained.
USSD1 was established very early during the establishment of GSM and as a result, practically all GSM mobile telephones in use today are enabled to use USSD1 . The present invention can thus be implemented on any GSM telephone network without any additional equipment or modification of existing equipment. All that is required is the provision of SIM cards with the STK application software loaded onto the SIM cards' memories. The invention can thus be implemented at minimal cost and is very suitable for developing communities.
The invention holds particular advantages to developing communities where communication systems such as the internet and/or services such as financial services are not readily available, but where basic GSM telephones are used on large scale, as is the case in very large parts of the developing world. In effect, communities which may be geographically isolated, but have wireless telephone network coverage can have access to services such as financial services, at the low cost of SIM cards and the minimal cost of USSD1 communication.
The updating of menus while the user is browsing data/content can take place without the user's knowledge and ensures that the menus available to the user are optimised to include the menu options most relevant to the user. In this regard, it is important to note that the memory available on the SIM card is limited and the user interfaces of some mobile telephones are small or have a low resolution, so it holds great advantages for the user if the menus can be kept optimised in size and relevance.
Further, the ability to update the menus while the user is browsing data/content, means that there need not be any restriction on the menu options that can be added. E.g. the user need not be limited to use only menu options from certain service providers. The browsing can be limited by the server application software, if desired, but the browsing need not be limited and is not inherently limited by static menu options on the STK application software.
The use of USSD1 as bearer for the menu updates, means that they take place in real time, with minimal cost and the menus can be updated frequently - thus amounting to dynamic browsing of data/content and ensuring convenience for the user.