Embodiments of the present invention relate to cellular devices. More specifically, embodiments of the present invention relate to reducing a number of registration termination messages in a network for cellular devices.
A network of cellular devices can include, among other things, a server and a plurality of Call Session Control Functions (CSCFs). When a cellular device is turned on, it establishes communication with a CSCF that serves the cellular device. The CSCF allocates resources in order to provide a service that the cellular device has requested. The server has information pertaining to which CSCF the cellular device is communicating with because the CSCFs send messages to the server when the cellular device initiates communication with the CSCFs.
The accompanying drawings, which are incorporated in and form a part of this specification, illustrate embodiments of the invention and, together with the description, serve to explain the principles of the invention:
The drawings referred to in this description should not be understood as being drawn to scale except if specifically noted.
Reference will now be made in detail to various embodiments of the invention, examples of which are illustrated in the accompanying drawings. While the invention will be described in conjunction with these embodiments, it will be understood that they are not intended to limit the invention to these embodiments. On the contrary, the invention is intended to cover alternatives, modifications and equivalents, which may be included within the spirit and scope of the invention as defined by the appended claims. Furthermore, in the following description of various embodiments of the present invention, numerous specific details are set forth in order to provide a thorough understanding of the present invention. In other instances, well-known methods, procedures, components, and circuits have not been described in detail as not to unnecessarily obscure aspects of the present invention.
When, for example, a cellular device is turned on, the cellular device establishes communication with a CSCF that is in cellular device's home network that provides service based on the user's subscription. The CSCF allocates resources in order to provide a service that the cellular device has requested. The Third Generation Partnership Project Technical Specification 29.228 version 6.13.0 states in the second paragraph of section 8.1.1 that it is possible for a new CSCF to be selected to provide service for the cellular device. When a new CSCF is selected, the server may initiate a termination request to the previous CSCF that was serving the cellular device. This can happen for example when a new CSCF is selected due to a failure in re-registration if the previously assigned CSCF does not respond to other network elements after a timeout. There are other error conditions or reconfiguration scenarios that may trigger the selection of a new CSCF. When, for example, the server encounters registration from a new CSCF, the cellular device is put into communication with the second CSCF. The second CSCF allocates resources in order to continue providing the service to the cellular device. The server has information pertaining to which CSCF the cellular device is communicating with because CSCFs exchange messages with the server.
The prior art requires a server to send termination messages to either all of the CSCFs or none of the CSCFs that it communicates with when a cellular device is assigned a new CSCF. Some CSCFs may not release resources unless they receive a termination message. Other CSCFs may not require the termination message to be sent to them. However, sending termination messages to CSCFs that do not require the notification significantly reduces the bandwidth of the network and therefore significantly reduces the number of services that the network can provide, for example, during peak hours.
According to one embodiment, a registration termination message can be sent to one CSCF that communicates with a server without requiring the server to send a registration termination message to another CSCF that communicates with the server. For example, referring to
The server 110 according to one embodiment is a Hewlett Packard™ (HP™) Home Subscriber Server. A network 110 can include more than one server 110. Each of the servers 110 can communicate with a plurality of CSCFs 122-128.
The cellular devices can be any type of electronic device that is capable of providing a service, for example, using a server and one or more CSCFs. A cellular device, according to one embodiment, is any type of device capable of providing a service using cellular communications. Examples of cellular devices include but are not limited to cell phones, personal device assistants (PDAs), and computers.
The CSCFs 122-128 may be provided by companies such as Cingular™ or Verizon™ and be made by various manufacturers such as Ericsson™ and Nokia™. A CSCF is an example of a network entity.
Some CSCFs, such as newer types of CSCFs, may have logic that enables them to release resources in the event that a cellular device's assignment is switched to a different CSCF. However, other types of CSCFs, such as older CSCFs, may not release resources unless they receive a registration termination message. A conventional server would either always send out termination messages or never send out termination messages. Therefore, with a conventional server, CSCF that do not require a termination message would receive them anyway or CSCF that do require a termination message would not receive them.
According to one embodiment, if one CSCF requires a registration termination message when a cellular device's assignment is switched to a different CSCF but another CSCF does not require a registration termination message, then logic associated with the server 110 can determine to send a registration termination message to the CSCF that requires a registration termination message and determine to not send a registration termination message to the CSCF that does not require a registration termination message, as will become more evident.
Examples of a service that can be provided include phone calls, connecting to a network or the Internet, and accessing a service on a network or the Internet. A service can be any type of service that a cellular device is capable of providing, for example, over a network 100. According to one embodiment, a network 100 can use phone calls as a part of providing any type of service to a cellular device, such as accessing a network or the Internet.
The system 200 includes a new CSCF detector 210 (also referred to herein as a “detector”) and a termination message per CSCF that communicates with the server determiner 220 (also referred to herein as a “determiner”). The system 200, according to one embodiment, resides at a server 110. The detector 210, according to one embodiment, is configured for determining at a server 110 that a new CSCF 124 associated with the network 100 is providing a service to a cellular device because, for example, the cellular device's assignment has been switched to a new CSCF. The determiner 220, according to one embodiment, is configured for determining whether to send a registration termination message to the previous CSCF 122. The determiner 220 enables the server 110 to send a registration termination message to one of a plurality of CSCFs 122-128 that communicate with the server 110 without requiring the server 110 to send a registration termination message to another of the plurality of CSCFs.
According to one embodiment, a server 110 has access to a database that includes various types of information. The database may be local to the server 110 or remote with respect to the server 110. The database can include server records, for example, for each server associated with a network. A server record can include a server identifier, such as an information technology (IT) address or a universal resource locator (URL), which uniquely identifies the server 110. The database can include CSCF records, for example, for each of the CSCFs in a network. The CSCF records can be used to determine which entities the server 110 interacts with to provide services. A CSCF record can include an identifier, such as a URL or an equipment identifier (ID), which uniquely identifies a CSCF. The CSCF record may include information that identifies the company that manufactured the equipment. The record may also include information indicating where the CSCF is geographically located. The database can also include information about cellular devices. The records for cellular devices can be used for example to determine which cellular devices are allowed to receive a service.
The determiner 220, according to one embodiment,,uses one or more parameters as a part of determining whether to send a registration termination message. Examples of these parameters include, but are not limited to, a CSCF identifier, a geographical location of a CSCF, the type of CSCF, and various date attributes. Examples of a CSCF identifier include but are not limited to a URL or equipment ID. The type of CSCF can indicate the company that made, sold, or that owns the CSCF. The type of CSCF can indicate a make or model of the CSCF.
The determiner can analyze the parameters based on rules. A rule can use any type of Boolean logic to analyze any one or more parameters. For example, assume that Cingular™ CSCFs made by company A after 2005 may be capable of releasing resources without receiving a termination message. In this case, an example of a rule is do not send termination messages to Cingular™ CSCFs that are made by company A after 2005. The database, according to one embodiment, can be accessed to initialize one or more values of the parameters, for example, as a part of analyzing the parameters based on the rules. For example, one of the parameters may be a date which is set to the value of 2005. In another example, one of the parameters may be type of CSCF which is set to a value of Cingular™. Another parameter may be the company that made the CSCF which can be set to the value company A.
According to one embodiment, the rules can use wild carding (where for example one or more characters are replaced with a wild card character such as “*”) to specify a set or a range of CSCFs. For example, wild carding can be used to specify the CSCFs located in a particular geographical area. In another example, wild carding could be used to specify CSCFs associated with a particular company, such as Cingular™. A range of CSCFs is considered to be one example of a set of CSCFs.
Various methods can be used for installing, configuring, and modifying the system 200 depicted in
A tape that includes the system 200 or a general user interface (GUI) can be used to install the system 200 on a server 110 or to configure the system 200 on a server 110. In another example, the server 110 may include a GUI that enables the server 110 to be accessed remotely, for example, over a network or the Internet. The GUI can be accessed remotely and used to install the system 200 on a server 110 or to configure the system 200 on a server 110.
Examples of installing include but are not limited to installing the system 200, such as software instructions that provide the functionality of the detector 210 or the determiner 220, or a combination thereof. Installing may also include installing rules. Examples of configuring include but are not limited to initially installing rules or modifying rules that were already installed on a server 110.
All of, or a portion of, the embodiments described by flowchart 300 can be implemented using computer-readable and computer-executable instructions which reside, for example, in computer-usable media of a computer system or like device. As described above, certain processes and steps of the present invention are realized, in an embodiment, as a series of instructions (e.g., software program) that reside within computer readable memory of a computer system and are executed by the of the computer system. When executed, the instructions cause the computer system to implement the functionality of the present invention as described below.
The following discussion of flowchart 300 shall refer to
In step 310, the method begins.
In step 320, information is received at a server indicating that a first CSCF associated with the network is providing a service to a cellular device. For example, assume that cellular device A is served by CSCF 122 and that cellular device B is served by CSCF 128. Cellular device A is turned on and cellular device B is turned on. The cellular devices A and B send messages to their respective CSCFs 122 and 128 requesting a service. The CSCFs 122 and 128 perform validation and communicate information pertaining to the validation to the server 110. The server 110 may either grant or deny the services requested by the cellular devices A and B. Assume that the server 110 grants the cellular device's (A and B) requests for their respective services. Connections are made to the cellular devices A and B and information pertaining to the cellular devices A and B is tracked.
In step 330, information is received at the server indicating that a second CSCF associated with the network is providing the service to the cellular device. For example, CSCF 128 and CSCF 122 may have failed for some reason. According to one embodiment, the new CSCF detector 210 (
In step 340, logic associated with the server is executed to determine whether to send a registration termination message to the first CSCF. According to one embodiment, system 200 is an example of logic that, according to one embodiment, enables the server 110 to send a registration termination message to one 122 of a plurality of CSCFs 122-128 that communicate with the server 110 without requiring the server 110 to send a registration termination message to another 128 of the plurality of CSCFs 122-128. For example, the determiner 220 (
In step 350, the method ends.
Although the discussion above of flowchart 300 described various embodiments in the context of a network that included one server, various embodiments are just as well suited for a network that includes more than one server. For example, assume that the network 300 includes another server B that also includes a system 200. Further, assume that the server communicates with CSCFs E-G. The logic associated with server B can enable it to send a registration termination message for example to CSCF E while not requiring server B to send a registration termination message to CSCF F.
When a company, such as HP™, sells a server, the company frequently guarantees that the server is capable of handling a certain number of services, such as phone calls, during peak hours. If the server can not handle that number of transactions, typically the company gives the customer enough servers so that the customer can meet the promised number of transactions. However, even giving servers away may not satisfy the customer's requirements because the customer may not have enough physical space to put the servers. Therefore, the ability for a server to provide as many calls during peak hours as possible significantly increases the probability that the company that sold the server will experience commercial success. Reducing the number of messages that the server has to handle increases the number of transactions the server can provide. Further, reducing the messages that the server has to handle increases the scalability of a network since, for example, less space would be used for the servers.
In densely populated areas, such as some areas of Los Angeles or New York City, resources for providing services to a cellular device may be scarce. Therefore, releasing resources when a cellular device's assignment is switched from a first CSCF to a second CSCF enables the first CSCF to reallocate those resources to another cellular device as quickly as possible, thus, reducing the likelihood that a cellular phone will be prevented from obtaining a service.
By reducing the number of registration termination messages, a user of a cellular device will more frequently be able to make a connection when initiating a phone call, will experience fewer dropped phone calls, and will experience a higher quality of service, among other things.
There has been a long felt need to reduce the number of registration termination messages in order to experience commercial success, to provide scalability, to provide better service in densely populated areas, and to improve a cellular device user's experience. However, despite this long felt need, others have failed to recognize the source of the problem and to solve the problem.
Various embodiments have been described in various combinations. However, any two or more embodiments may be combined. Further, any embodiment may be used separately from other embodiments.
Embodiments of the present invention are thus described. While the present invention has been described in particular embodiments, it should be appreciated that the present invention should not be construed as limited by such embodiments, but rather construed according to the following claims.