METHOD AND APPARATUS FOR CONGESTION CONTROL DURING A COMBINED REGISTRATION

A method, apparatus and computer program product are provided to facilitate the combined registration in both the PS domain and the CS domain. In response to an initial request for a combined registration for a PS domain and a CS domain, a method may receive an indication that the registration for one of the domains is successful but that the registration for the other domain is unsuccessful. The method may prevent, in response to the indication that the registration for one domain is successful but that the registration for the other domain is unsuccessful, another request for the combined registration for the PS domain and the CS domain for a predetermined period of time following the initial request. A corresponding apparatus and computer program product are also provided.

DETAILED DESCRIPTION

This definition of “circuitry” applies to all uses of this term in this application, including in any claims. As a further example, as used in this application, the term “circuitry” would also cover an implementation of merely a processor (or multiple processors) or portion of a processor and its (or their) accompanying software and/or firmware. The term “circuitry” would also cover, for example and if applicable to the particular claim element, a baseband integrated circuit or application specific integrated circuit for a mobile phone or a similar integrated circuit in server, a cellular network device, or other network device.

A method, apparatus and computer program product are provided in accordance with an example embodiment in order to provide for the combined registration in both the PS domain and the CS domain in a manner that does not unnecessarily increase the congestion in one of the domains in which the registration is successful in response to an indication that the registration was unsuccessful in the other domain. Although the method, apparatus and computer program product may be implemented in a variety of different system architectures, one example of a system that may be specifically configured in order to implement an example embodiment of the present invention is shown inFIG. 1.

Referring now toFIG. 1, a system that supports communications between a plurality of mobile terminals10(one of which is illustrated by way of example) and a network14, such as an 802.11 network, a Long Term Evolution (LTE) network, an LTE-Advanced (LTE-A) network, a Global Systems for Mobile communications (GSM) network, a Code Division Multiple Access (CDMA) network, e.g., a Wideband CDMA (WCDMA) network, a CDMA2000 network or the like, a General Packet Radio Service (GPRS) network or other type of network, via an access point12is shown. Various types of mobile terminals may be employed including, for example, mobile communication devices such as, for example, mobile telephones, smartphones, personal digital assistants (PDAs), pagers, laptop computers, tablet computers or any of numerous other hand held or portable communication devices, computation devices, content generation devices, content consumption devices, or combinations thereof. Regardless of the type of mobile terminal, the mobile terminal may communicate with the network via an access point, such as a base station, a Node B, an evolved Node B (eNB), a relay node or other type of access point.

The mobile terminal10and a network entity, such as the access point12, may each embody or otherwise be associated with an apparatus20that is generally depicted inFIG. 2and that may be configured to perform various operations in accordance with an example embodiment of the present invention as described below, such as in conjunction withFIG. 3from the perspective of the mobile terminal andFIG. 4from the perspective of a network entity, such as the access point. However, it should be noted that the components, devices or elements described below may not be mandatory and thus some may be omitted in certain embodiments. Additionally, some embodiments may include further or different components, devices or elements beyond those shown and described herein.

In an example embodiment, the processing circuitry22may include a processor24and memory26that may be in communication with or otherwise control a communication interface28and, in some cases in which the apparatus is embodied by the mobile terminal10, a user interface30. As such, the processing circuitry may be embodied as a circuit chip (e.g., an integrated circuit chip) configured (e.g., with hardware, software or a combination of hardware and software) to perform operations described herein. However, in some embodiments, the processing circuitry may be embodied as a portion of mobile terminal or the access point.

The user interface30(if implemented in embodiments of the apparatus20embodied by the mobile terminal10) may be in communication with the processing circuitry22to receive an indication of a user input at the user interface and/or to provide an audible, visual, mechanical or other output to the user. As such, the user interface may include, for example, a keyboard, a mouse, a joystick, a display, a touch screen, a microphone, a speaker, and/or other input/output mechanisms. In one embodiment, the user interface includes user interface circuitry configured to facilitate at least some functions of the station by receiving user input and providing output.

The communication interface28may include one or more interface mechanisms for enabling communication with other devices and/or networks. In some cases, the communication interface may be any means such as a device or circuitry embodied in either hardware, or a combination of hardware and software that is configured to receive and/or transmit data from/to a network14and/or any other device or module in communication with the processing circuitry22, such as between the mobile terminal10and the access point12. In this regard, the communication interface may include, for example, an antenna (or multiple antennas) and supporting hardware and/or software for enabling communications with a wireless communication network and/or a communication modem or other hardware/software for supporting communication via cable, digital subscriber line (DSL), universal serial bus (USB), Ethernet or other methods.

In an example embodiment, the memory26may include one or more non-transitory memory devices such as, for example, volatile and/or non-volatile memory that may be either fixed or removable. The memory may be configured to store information, data, applications, instructions or the like for enabling the apparatus20to carry out various functions in accordance with example embodiments of the present invention. For example, the memory could be configured to buffer input data for processing by the processor24. Additionally or alternatively, the memory could be configured to store instructions for execution by the processor. As yet another alternative, the memory may include one of a plurality of databases that may store a variety of files, contents or data sets. Among the contents of the memory, applications may be stored for execution by the processor in order to carry out the functionality associated with each respective application. In some cases, the memory may be in communication with the processor via a bus for passing information among components of the apparatus.

The processor24may be embodied in a number of different ways. For example, the processor may be embodied as various processing means such as one or more of a microprocessor or other processing element, a coprocessor, a controller or various other computing or processing devices including integrated circuits such as, for example, an ASIC (application specific integrated circuit), an FPGA (field programmable gate array), or the like. In an example embodiment, the processor may be configured to execute instructions stored in the memory26or otherwise accessible to the processor. As such, whether configured by hardware or by a combination of hardware and software, the processor may represent an entity (e.g., physically embodied in circuitry—in the form of processing circuitry) capable of performing operations according to embodiments of the present invention while configured accordingly. Thus, for example, when the processor is embodied as an ASIC, FPGA or the like, the processor may be specifically configured hardware for conducting the operations described herein. Alternatively, as another example, when the processor is embodied as an executor of software instructions, the instructions may specifically configure the processor to perform the operations described herein.

As noted above,FIGS. 3 and 4are flowcharts illustrating the operations performed by a method, apparatus and computer program product, such as apparatus20ofFIG. 2, from the perspective of the mobile terminal10and a network entity, such as the access point12, respectively, in accordance with one embodiment of the present invention. It will be understood that each block of the flowcharts, and combinations of blocks in the flowcharts, may be implemented by various means, such as hardware, firmware, processor, circuitry and/or other device associated with execution of software including one or more computer program instructions. For example, one or more of the procedures described above may be embodied by computer program instructions. In this regard, the computer program instructions which embody the procedures described above may be stored by a memory26of an apparatus employing an embodiment of the present invention and executed by a processor24of the apparatus. As will be appreciated, any such computer program instructions may be loaded onto a computer or other programmable apparatus (e.g., hardware) to produce a machine, such that the resulting computer or other programmable apparatus provides for implementation of the functions specified in the flowchart blocks. These computer program instructions may also be stored in a non-transitory computer-readable storage memory that may direct a computer or other programmable apparatus to function in a particular manner, such that the instructions stored in the computer-readable storage memory produce an article of manufacture, the execution of which implements the function specified in the flowchart blocks. The computer program instructions may also be loaded onto a computer or other programmable apparatus to cause a series of operations to be performed on the computer or other programmable apparatus to produce a computer-implemented process such that the instructions which execute on the computer or other programmable apparatus provide operations for implementing the functions specified in the flowchart blocks. As such, the operations ofFIGS. 3 and 4, when executed, convert a computer or processing circuitry into a particular machine configured to perform an example embodiment of the present invention. Accordingly, the operations ofFIGS. 3 and 4define an algorithm for configuring a computer or processing circuitry22, e.g., processor, to perform an example embodiment. In some cases, a general purpose computer may be provided with an instance of the processor which performs the algorithm ofFIGS. 3 and 4to transform the general purpose computer into a particular machine configured to perform an example embodiment.

In some embodiments, certain ones of the operations above may be modified or further amplified as described below. Moreover, in some embodiments additional optional operations may also be included as shown, for example by the dashed lines inFIG. 3. It should be appreciated that each of the modifications, optional additions or amplifications below may be included with the operations above either alone or in combination with any others among the features described herein.

Referring now toFIG. 3, the operations performed by a method, apparatus and computer program product of an example embodiment are illustrated from the perspective of an apparatus20that may be embodied by or otherwise associated with a mobile terminal10. In an instance in which a mobile terminal desires to have access to and utilize both the PS domain and the CS domain, such as in conjunction with GMM or MM or in instances in which the PS domain is utilized to access CS services, e.g. short message service (SMS) or CS speech services, the apparatus may include means, such as the processing circuitry22, the processor24, the communications interface28or the like, for causing an initial request for a combined registration for both the PS domain and the CS domain to be issued to the network14, such as to the access point12with which the mobile terminal is in communication. See block40ofFIG. 3. In this regard, the initial request for a combined registration for the PS domain and the CS domain is a request that is initiated by the mobile terminal that is not in response to a prior request for a combined registration in the PS domain and the CS domain that has been successful, if at all, for only one of the domains, such as the PS domain, but not for the other domain, such as the CS domain. As such, the initial request for combined registration is not a regenerated registration request that follows an indication that a prior request for one of the domains, such as the PS domain, was successful, but that the registration for the other domain, such as the CS domain, was unsuccessful.

In response to the initial request for the combined registration for the PS domain and the CS domain, the apparatus20embodied by the mobile terminal10may include means, such as the processing circuitry22, the processor24, the communications interface28or the like, for receiving an indication that the registration for one of the domains, such as the PS domain, is successful but that the registration for the other domain, such as the CS domain, is unsuccessful. See block42ofFIG. 3. In other words, the apparatus embodied by the mobile terminal may receive an indication that the registration is successful for only one of the domains, e.g., the PS domain registration is successful and the CS domain registration is unsuccessful. The indication that the registration for one of the domains, e.g., the PS domain, is successful may be provided via an accept message, e.g. ATTACH ACCEPT, RAU ACCEPT, TAU ACCEPT, etc. In this regard, the mobile terminal may receive the indication that the registration for one domain is successful, but that the registration for the other domain is unsuccessful from the network14, such as from the access point12with which the mobile terminal is in communication. The registration for one of the domains, such as the CS domain, may be unsuccessful due to congestion within the respective domain. In this regard, requests that are considered to be of a lower priority by the network may more frequently be unsuccessful as a result of the network congestion due to the network's servicing of other requests that are considered to be a higher priority.

In addition to receiving the indication that the registration for one domain, such as the PS domain, is successful but that the registration for the other domain, such as the CS domain, is unsuccessful, the apparatus20embodied by the mobile terminal10of one embodiment may include means, such as the processing circuitry22, the processor24, the communications interface28or the like, for also receiving an indication as to the cause of the unsuccessful registration, such as by receiving an indication that the registration for one of the domains, such as the CS domain, is unsuccessful as a result of congestion within the respective domain. Thus, the indication that is received by the mobile terminal may not only indicate that the registration for one of the domains is unsuccessful, but may provide a cause for the unsuccessful registration which, in some instances, may be attributable to the congestion in the respective domain.

As shown in block46ofFIG. 3, the apparatus20embodied by the mobile terminal10may also include means, such as the processing circuitry22, the processor24, the communications interface28or the like, for preventing another request for the combined registration for the PS domain and the CS domain for a predetermined period of time following the initial request in an instance in which an indication is received by the mobile terminal that the registration for one of the domains is successful but that the registration for the other domain is unsuccessful. By preventing another request for the combined registration for the PS domain and the CS domain for a predetermined period of time following the receipt of an indication, triggered by the initial request, that the registration for one domain is successful, but that the registration for the other domain is unsuccessful, the mobile terminal may be prevented from consuming additional resources within the domain in which the registration was successful in an effort to successfully register with the other domain for which the registration was unsuccessful.

The apparatus20embodied by the mobile terminal10may measure the predetermined period of time during which another request is prevented in various manners including, for example, with a timer. In this regard, the processing circuitry22, the processor24or the like, may include a timer that is configured to measure the predetermined period of time. In this embodiment, the apparatus embodied by the mobile terminal may prevent another request by including means, such as the processing circuitry, the processor, the communications interface28or the like, for actuating the timer that measures the predetermined period of time in response to the receipt of the indication that the registration for one of the domains is successful but that the registration for the other domain is unsuccessful. In one embodiment, the apparatus embodied by the mobile terminal may also include means, such as the processing circuitry, the processor, the communications interface or the like, for receiving an indication, such as a T3246 information element (IE) from the network10and, more particularly, from a network entity, such as the access point12, that the timer is to be actuated. See block44ofFIG. 3. In response to the receipt of the indication that the timer is to be actuated, the apparatus embodied by the mobile terminal, such as the processing circuitry, the processor or the like, may actuate the timer to measure the predetermined period of time during which the request for the combined registration for the PS domain and the CS domain is prevented.

In one embodiment, the indication that the timer is to be actuated may be received in conjunction with the indication that the registration for one of the domains is successful but that the registration for the other domain is unsuccessful. In this regard, the mobile terminal10may receive a message that includes both the indication that the registration for one of the domains is successful but that the registration for the other domain is unsuccessful as well as an indication that the timer is to be actuated. In one embodiment, the indication that the timer is to be actuated also includes a value for the timer that defines the predetermined period of time. As such, the network14, such as a network entity, e.g., the access point12, may define the period of time during which the mobile terminal is prevented from issuing another request for the combined registration for the PS domain and the CS domain. The message that includes the indication that the registration for one of the domains is successful but that the registration for the other domain is unsuccessful as well as the indication that the timer is to be actuated may also include an indication as to the cause for the unsuccessful registration, such as an indication that the registration for one of the domains is unsuccessful as a result of congestion within the respective domain.

Thus, the mobile terminal10of one embodiment may avoid consumption of resources in a domain in which registration was successful in an effort to successfully register in another domain in which the registration was initially unsuccessful, such as due to congestion. In this regard, in response to a request for the combined registration in the PS domain and the CS domain, the mobile terminal may receive an indication that the registration in one domain, such as the PS domain, is successful, but that the registration in the other domain, such as the CS domain, is unsuccessful and, in some embodiments, may receive an indication as to the cause of the unsuccessful registration and/or an indication that a timer is to be actuated. In response to receipt of the indication that the registration in one domain, such as the PS domain, is successful, but that the registration in the other domain, such as the CS domain, is unsuccessful, the mobile terminal may prevent another request for the combined registration for the PS domain and the CS domain, following the initial request, for a predetermined period of time, such as measured by the timer. As such, the mobile terminal may prevent consumption of additional resources and an increase in the congestion in the domain in which the registration was successful in an effort to register in the other domain for which the registration was initially unsuccessful due to, for example, congestion.

Referring now toFIG. 4from the perspective of a network entity, such as the access point12, with which the mobile terminal10is in communication, the apparatus20embodied by the network entity, such as the access point, may include means, such as the processing circuitry22, the processor24, the communications interface28or the like, for receiving an initial request for a combined registration for the PS domain and the CS domain. See block50ofFIG. 4. The apparatus embodied by the network entity, such as the access point, may also include means for determining that the registration for one of the domains, such as the PS domain, is successful, but that the registration in the other domain, such as the CS domain, is unsuccessful. See block52. In this regard, the network entity, such as the access point, may make this determination based upon its consideration of the congestion of the PS domain and the CS domain as well as, in some embodiments, the relative priority of the request that has been provided by the mobile terminal. In other embodiments, the network entity, such as the access point, may transmit the request for the combined registration to another entity within the network14and may receive, in response, an indication as to whether the registration for the PS domain and the CS domain is successful for both domains, for one domain or for neither domain. In this embodiment, the receipt and the interpretation of response from another network entity as to whether the request for a combined registration for the PS domain and the CS domain and, in one embodiment, the determination that the registration for one of the domains, such as the PS domain, is successful, but that the registration for the other domain, such as the CS domain, is unsuccessful comprises a determination as set forth in block52ofFIG. 4.

The apparatus20embodied by the network entity, such as the access point12, may also include means, such as a the processing circuitry22, the processor24, the communications interface28or the like, for causing an indication to be provided to the mobile terminal10that the registration for one of the domains, such as the PS domain, is successful but that the registration for the other domain, such as the CS domain, is unsuccessful. See block54ofFIG. 4. In other words, the apparatus embodied by the network entity, such as the access point, may cause an indication to be provided that the registration is successful for only one of the domains, e.g., the PS domain registration is successful and the CS domain registration is unsuccessful. The indication provided by the network entity, such as the access point, such as a T3246 IE, may also indicate that a timer is to be actuated so as to prevent another request for the combined registration for the PS domain and the CS domain for a predetermined period to time following the initial request. In this regard, the predetermined period of time may be defined by the timer. Indeed, the indication that the timer is to be actuated that is provided by the network entity, such as the access point, may include a value for the timer that defines the predetermined period of time. While the value of the timer may be predefined, the value of the timer may depend, for example, upon the level of congestion within the domain, such as the CS domain, for which the registration was unsuccessful with greater levels of congestion causing the value of the timer to be greater and lower levels of congestion causing the value of the timer to be less, e.g., the value of the timer may be proportional or otherwise vary directly in regards to the level of congestion within the respective domain.

In addition to indicating that the registration for one of the domains, such as the PS domain, is successful and that the registration for the other domain, such as the CS domain, is unsuccessful and indicating that a timer is to be actuated to measure the predetermined period of time for which another request for the combined registration for the PS domain and the CS domain is to be prevented following the initial request, the indication that is provided by the network entity, such as the access point12, may also indicate the reason for the unsuccessful registration, such as by providing an indication that the registration for one of the domains, such as the CS domain, was unsuccessful as a result of congestion within the respective domain. Based upon the indication provided by the network entity, such as the access point, in an instance in which an initial request for a combined registration for the PS domain and the CS domain leads to the registration of one domain, such as the PS domain, being successful but the registration for the other domain, such as the CS domain, being unsuccessful, the mobile terminal10may be prevented from issuing another request for the combined registration for the PS domain and the CS domain for the predetermined period of time, such as defined by the timer, following the initial request. As such, the mobile terminal and the network, such as the access point, may cooperate so as to avoid repeated requests for the combined registration for the PS domain and the CS domain in an instance in which the registration for one of the domains, such as the PS domain, is successful but the registration for the other domain, such as the CS domain, is unsuccessful which would otherwise undesirably consume resources, such as signaling resources, in the domain for which the registration was successful in an effort to successfully register in the domain that was at least initially unsuccessful.