Various features of the embodiments can be more fully appreciated, as the same become better understood with reference to the following detailed description of the embodiments when considered in connection with the accompanying figures, in which:
For simplicity and illustrative purposes, the principles of the present invention are described by referring mainly to exemplary embodiments thereof. However, one of ordinary skill in the art would readily recognize that the same principles are equally applicable to, and can be implemented in, all types of communication systems, and that any such variations do not depart from the true spirit and scope of the present invention. Moreover, in the following detailed description, references are made to the accompanying figures, which illustrate specific embodiments. Electrical, mechanical, logical and structural changes may be made to the embodiments without departing from the spirit and scope of the present invention. The following detailed description is, therefore, not to be taken in a limiting sense and the scope of the present invention is defined by the appended claims and their equivalents.
Embodiments generally relate to an Internet messaging service (IMS) query client executing on a mobile terminal. More specifically, the query client may have an associated unique identification number. The query client may initially query a network for an IMS client supported by the network during a session establishment between the network and the mobile terminal. If the query client determines that the network IMS client is not the local IMS client executing on the mobile terminal, the query client may then retrieve the network IMS client. Alternatively, the mobile terminal may be configured to store multiple IMS clients from various networks. As part of the query, the query client may compare the stored IMS clients to see if any match the required network IMS client. If there is no match, the query client may be configured to retrieve the network IMS client and discard the stored IMS client with the longest period of inactivity.
In accordance with various embodiments, the query client may monitor whether the mobile terminal enters a non-home network. The query client may then determine whether the IMS client of the non-home network is the same as the current IMS client. If the current IMS client is not supported, the query client may retrieve the IMS client of the non-home network. Accordingly, the user of the mobile terminal may continue to text-message without the loss of service due to incompatible software.
As shown in
The processor 110 is configured to interface with the shared bus 130. The processor 110 implements the software that embodies the functionality of the mobile terminal 100, which may be stored in processor memory 135. The processor memory 135 may also or alternately be programmable read only memory, flash memory, or a similar type of high speed persistent storage. The processor 110 may be an application specific integrated circuit, programmable field gate array, a microprocessor, digital signal processor, or similar type of computing platform.
Storage 125 may be configured to store information for a user of the mobile terminal 100. For example, a contact list, music files, and/or digital images may be stored in storage 125. The storage 125 may be implemented using a persistent storage such as flash memory. In some embodiments, the storage function of the processor memory 135 may be provided by storage 125.
In this embodiment, user interface 115 is configured to interface with the shared bus 130. The user interface 115 facilitates interaction with a user. As such, the user interface 115 may include media input and output mechanisms. For example, to facilitate voice communications, these mechanisms may include a microphone (not shown) for receiving analog speech signals from a user and a speaker (not shown) for playing out analog speech signals to a user. Further, the mobile terminal 100 may include digital/analog media signals and digital representations of those signals, for example, a soft button on a keyless display.
The user interface 115 may also include a keypad (not shown). The keypad may be a Bell keypad, a QWERTY keyboard, or similar mechanisms. In some embodiments, the keypad may be emulated on the display 120. The user interface 115 may further include a mechanism or device to initiate services provided by the IMS core of a network.
In accordance with various embodiments, the processor 110 is configured to execute a query client 140. The query client 140 may be a computer program embodiment of functionality for updating the mobile terminal 100 with the network IMS client in accordance with various embodiments. More particularly, the query client 140 may be configured to query a network for the IMS client supported by the network during a session establishment between the network and the mobile terminal 100. If the query client 140 determines that the network IMS client is not the local IMS client executing on the mobile terminal 100, the query client 140 may then retrieve the network IMS client. Alternatively, the mobile terminal 100 may be configured to store multiple IMS clients from various networks in storage 125. As part of the query, the query client 140 may check the stored IMS clients to see if any match the required network IMS client. If there is no match, the query client 140 may be configured to retrieve the network IMS client and discard the stored IMS client with the longest period of inactivity.
In accordance with various embodiments, the query client 140 may monitor whether the mobile terminal enters a non-home network. The query client 140 may then determine whether the IMS client of the non-home network is the same as the current IMS client. If the current IMS client is not supported, the query client 140 may retrieve the IMS client of the non-home network. Accordingly, the user of the mobile terminal 100 may continue to use the application services of the IMS core without the loss of service due to incompatible software.
As shown in
Each access cell 205 includes an enhanced base transceiver station (“EBTS”) 220. The EBTS 220 is configured to transmit and receive voice packets from mobile terminals 100 within the coverage area of the EBTS 220. The EBTS 220 may also include a service integration module (not shown) that is configured to determine the current state of each mobile terminal in the coverage area of the EBTS 220.
The EBTS 220 interfaces with an interconnect call module 225 and a IP call module 230. The interconnect call module 225 includes a base site controller (“BSC”) 235 coupled with a mobile switching center (“MSC”) 240 for handling cellular and circuit switched calls. The MSC 240 may also be interfaced with a home location and visitor location registers (not shown) for providing mobility management as known in the art. The BSC 235 can provide control and concentration functions for one or more EBTS sites and their associated mobile terminals 100.
The IP call module 230 also includes a Serving GPRS Support Node (“SGSN”) 245 interfaced with a home subscriber server (“HSS”) 250 for processing IP calls and packet data. The HSS 250 may also be interfaced with home location and visitor location registers (not shown) for providing mobility management as known in the art. The HSS 250 may also be referred to as visitor location register or home location register. In the case of packet data, the SGSN 245 can route such packet data via a GPRS Gateway Support Node (“GGSN”) 255 to the IP network 215. The
The system 200 may further include a domain name server (“DNS”) 260 and an IMS server 265. The DNS 230 is configured to provide DNS services as known to those skilled in the art. The IMS server 265 is configured to provide the IMS core services for application services between the mobile terminals 100.
As shown in
The query client 140 may be configured to query the network 200 for the supported network IMS client, in step 315. More specifically, the query client 140 may query the IMS server 265 of the network 200 for the supported network IMS client.
In step 320, the query client 140 may then compare the current IMS client being executed by the mobile terminal 100 in response to receiving an answer to the query issued in step 315.
In various embodiments, the query client 140 may be configured to maintain a list of cached IMS clients. The number of cached IMS clients may be a user determined number or may be dependent on the amount of free memory space in storage 125. The query client 140 may be configured to compare the supported network IMS client against the list of cached IMS clients. This list may be generated as the mobile terminal roams through a geographic area supported by various vendors and/or infrastructure providers.
If there is match in the comparison of the current IMS client and the supported network IMS client, in step 325, the query client 140 may be configured to use the current IMS client currently being executed by the mobile terminal 100, in step 330. Subsequently, the query client 140 returns to the idle state of step 305.
Otherwise, the query client 140 may be configured to download or retrieve the supported network IMS client, in step 335, in response to a non-match between the current IMS client and the supported network IMS client.
The query client 140 may then cache the current IMS client and install the downloaded IMS client as the current IMS client, in step 340. Subsequently, the query client 140 returns to the idle state of step 305.
Certain embodiments may be performed as a computer program. The computer program may exist in a variety of forms both active and inactive. For example, the computer program can exist as software program(s) comprised of program instructions in source code, object code, executable code or other formats; firmware program(s); or hardware description language (HDL) files. Any of the above can be embodied on a computer readable medium, which include storage devices and signals, in compressed or uncompressed form. Exemplary computer readable storage devices include conventional computer system RAM (random access memory), ROM (read-only memory), EPROM (erasable, programmable ROM), EEPROM (electrically erasable, programmable ROM), and magnetic or optical disks or tapes. Exemplary computer readable signals, whether modulated using a carrier or not, are signals that a computer system hosting or running the present invention can be configured to access, including signals downloaded through the Internet or other networks. Concrete examples of the foregoing include distribution of executable software program(s) of the computer program on a CD-ROM or via Internet download. In a sense, the Internet itself, as an abstract entity, is a computer readable medium. The same is true of computer networks in general.
While the invention has been described with reference to the exemplary embodiments thereof, those skilled in the art will be able to make various modifications to the described embodiments without departing from the true spirit and scope. The terms and descriptions used herein are set forth by way of illustration only and are not meant as limitations. In particular, although the method has been described by examples, the steps of the method may be performed in a different order than illustrated or simultaneously. Those skilled in the art will recognize that these and other variations are possible within the spirit and scope as defined in the following claims and their equivalents.