Plaque It!
Sponsored by: Flash of Genius |
[0001] The present invention relates generally to the management of data link resources in a wireless communication device operating in a cellular communication network and, more particularly, to managing the data link resource needs of multiple client applications including the creation and sharing of data link resources.
[0002] Wireless communication devices, like cell phones, are becoming increasingly sophisticated, including the types of functions they perform and the types of communication resources required to support the increasingly sophisticated functions being performed. For example several current communication devices, not only support the transmission and receipt of electronic messages, but are increasingly incorporating web browsing capabilities. Other examples of other more recent types of client applications, that require communication resources, include audio and video streaming, as well as java and video gaming applications.
[0003] In some instances the communication requirements needed to support the client applications are non-continuous, in that the data is transferred in bursts, as necessary, which is often dictated by the user's activity level. In other instances the communication requirements are more constant. Examples, where the information transferred is more sporadic, includes interactive type services including E-mail and web browsing, where communications with the network occur when there is a message to be transferred or received, and/or when a user selects a link, while browsing the web, and downloads for display a new page of information. Examples, where the information transferred is more constant, includes streaming type services like audio or video download and playback.
[0004] Previously, data links for similar types of services have been largely supported by land based wired communication resources. Historically, these communication resources have consisted of a single link, which was of relatively fixed performance. The link was generally static in nature, and was billed based upon a connection time or a fixed fee.
[0005] Wireless data links are generally different. There are a multitude of competing connection points, that can be associated with different signaling methods, cost structures and services. Billing is often proportional to the number of bytes transferred and the maximum bandwidth that must be available. Moreover the requirements of the data link can be modified while in use. In other instances, specific types of data links may only be some times available. In these instances, this may be a function of geography and may correspond to the area of coverage provided by the network provider. In other instances, a particular type of data link may not be supported by the existing network equipment.
[0006] The multiple client applications, which requires communication resources and which are being executed by a wireless communication device, are not always aware of one another. The multiple client applications often seek to independently create and maintain data link resources, that satisfy their respective communication resource requirements. This can result in the creation and maintenance of additional resources, that are above and beyond what is minimally necessary, in terms of overall bandwidth and connection requirements.
[0007] Consequently, it would be beneficial to manage the creation and management of the data link resources, including the ability to create and share, new and existing resources between client applications that are aware, as well as unaware, of one another. It would be further beneficial, in addition to being capable of creating and maintaining a primary context data link resource, to be able to create and maintain a secondary context data link resource, and/or to be able to modify the quality of service of an existing data link resource, in a cost effective manner.
[0008] The present invention provides a method for managing the usage of data link resources, which communicatively couple a wireless communication device and a wireless network, and are used by one or more applications that operate in association with the wireless communication device. The method includes receiving a request for data link resources from an application and comparing the requested data link resources with the available resources associated with already established data links. A determination is then made whether the request for data link resources can be accommodated by the already established data link resources.
[0009] If the requested data link resources can be accommodated by the already established data link resources, then one or more of the already established data link resources is shared with the application making the request. If the requested data link resources can not be accommodated by the already established data link resources, then the data link resources are upgraded to accommodate the additional requirements of the received request.
[0010] In at least one embodiment, upgrading the data link resources to accommodate the additional requirements includes one or more of establishing a new primary context data link, establishing a new secondary context data link in association with an already existing primary context data link, and/or increasing the quality of service of an already established data link.
[0011] In at least a further embodiment, determining whether the request for data link resources can be accommodated by an already established data link includes determining whether the requested data link resources is for the same access point of an existing data link and determining whether the requested data link resources is for the same user of an existing data link. A determination is then made as to whether the application that already uses the existing data link, and the application that is requesting data link resources are willing to share a data link. A determination is then made as to whether the quality of service of the existing data link can support both the data link resource requirements of the applications that is already using the data link and the data link resource requirements of the application that is requesting the data link resources.
[0012] The present invention further provides a data link resource manager, which includes a processor and a storage unit coupled to said processor for storing one or more sets of prestored instructions for execution by the processor. The one or more sets of prestored instructions includes prestored instructions for receiving a request for data link resources from an application and comparing the requested data link resources with the available resources associated with the already established data links.
[0013] The one or more sets of prestored instructions further include prestored instructions for determining whether the request for data link resources can be accommodated by the already established data link resources, and if the requested data link resources can be accommodated by the already established data link resources, then sharing one or more of the already established data link resources with the application making the request, otherwise if the requested data link resources can not be accommodated by the already established data link resources, then upgrading the data link resources to accommodate the additional requirements of the received request.
[0014] In at least one of the embodiments, the processor unit is incorporated as part of a wireless communication device. In some of the embodiments, the application requesting resources is an application operating in the wireless communication device. In some of the same and other embodiments, the application requesting resources is an application operating in a separate external device, which is communicatively coupled to the wireless communication device.
[0015] The present invention further provides a data link resource manager, which includes a data session event handler coupled to one or more client application for receiving a request for data link resources. The data link resource manager further includes a proxy manager coupled to the data session event handler for creating a proxy instance. The proxy instance includes signaling contexts and protocol stacks for maintaining a data session. The data link resource manager still further includes a link manager coupled to the proxy manager for creating a link instance, which includes an interface for controlling the signaling context and a link protocol.
[0016] These and other features, and advantages of this invention are evident from the following description of one or more preferred embodiments of this invention, with reference to the accompanying drawings.
[0017]
[0018]
[0019]
[0020]
[0021]
[0022]
[0023]
[0024]
[0025]
[0026]
[0027] While the present invention is susceptible of embodiment in various forms, there is shown in the drawings and will hereinafter be described presently preferred embodiments with the understanding that the present disclosure is to be considered an exemplification of the invention and is not intended to limit the invention to the specific embodiments illustrated.
[0028]
[0029] In addition to being coupled to wireless communication devices
[0030] The network
[0031]
[0032] The data link resource manager
[0033] The one or more internal applications
[0034] As each of the internal applications
[0035] In at least one embodiment, at least four types of data links are available, including background, interactive, streaming or conversational type data links. A conversational type data link corresponds to a traditional voice switched circuit, which generally represents a dedicated wireless channel. Because the data link resources are reserved for the wireless communication device for this type of data link, regardless of the volume of data being transmitted via the data link, a conversational type data link is often one of the more expensive data link connections, cost wise. As a result, a conversational type data link is often the least desirable type of data link connection, and is sometimes treated as a last resort option. Because of the higher costs associated with this type of link, it is possible to set a flag in the data link resource manager to require user approval before connecting via this type of a link. The same type of flag could also be used with any of the other types of data links.
[0036] The remaining three types of data link connections associated with the disclosed embodiment include packet data protocols, which provide different levels of bit rates, error rates, error ratios and transfer delays. The background type of data link is generally a low data rate connection, that in at least some embodiments, is initiated when the wireless communication device is activated. Sometimes the background type of data link is referred to as “always on”. The background or “always on” type of data connection allows some data communications requests to be met, without experiencing any of the delay associated with initially establishing a data link connection. One of the advantages of an “always on” type of connection, is that it allows for messages to be “pushed” to the wireless communication device
[0037] An interactive type of data link connections supports data communications that are more discontinuous, and/or they occur in bursts. The interactive type of data link can support different levels of data throughput. In at least one embodiment, interactive levels of each of low, medium and high, are supported. Generally for applications in which an interactive type of data link has been identified as being sufficient or suitable, the presence of transfer delays and/or a more consistent data throughput rate may be of less importance.
[0038] Where transfer delays or largely varying throughput rates would negatively impact the quality of the data transmission, for example in some audio or video streaming applications, it may be preferable to establish a streaming type data link connection. Similar to interactive type data link connections, it is possible to define multiple levels of streaming type data link communications. In at least one embodiment, low, medium and high are similarly supported. In some instances, the further distinction of real time and non-real time is further possible. A real time streaming data link connection will generally have a smaller transfer delay requirement.
[0039] The data link resource manager, in addition to including the general data transfer characteristics of each type of data link, will also sometimes include a monetary cost associated with creating and maintaining each type of data link. By including a cost comparison in the decision making process, the data link resource manager can create and maintain a more financially optimum combination of data link resources, while maintaining an expected level of performance. In some instances, the cost may vary, based upon time of day and/or the location of the wireless communication device within the network.
[0040] One skilled in the art will readily appreciate that in some instances, different combinations and/or different types of data link connections may be possible, than the specific combination of data link connections described in association with the illustrated embodiment, without departing from the teachings of the present invention. It may be further desirable to define a greater number of granulations than the low, medium and high for interactive and streaming, described in connection with the at least one embodiment. Furthermore one or more flags can be associated with any combination of the different types of data link connections, which would require that the user be prompted before establishing a corresponding type of data link connection.
[0041] In addition to there being the possibility of several types of data links, dependent upon the network it may be possible to establish both primary context data links and secondary context data links. A primary context data link corresponds to a first data link connection corresponding to a particular access point and a particular destination address/user identity. Any subsequent connection sharing the same access point and destination address/user identity will generally be a secondary context data link. Otherwise a secondary context data link and a primary context data link, are generally the same. In fact a secondary context data link can become a primary context data link, if the primary context data link is released, while a corresponding secondary context data link is maintained.
[0042] In some instances or areas the network may not support a secondary context data link. In these instances it may be necessary or more desirable to request a higher quality of service, in order to support an additional data link resource request.
[0043]
[0044] In the illustrated embodiment at least five data link connections are illustrated. The five data link connections couple the wireless communication device
[0045] The fourth data link connection
[0046]
[0047]
[0048]
[0049] If both the access point and the destination address/user identity is the same
[0050] While the data link resource manager can be used to dynamically increase or upgrade the data link resources being used, the data link resource manager additionally monitors usage levels, and if appropriate downgrades or decreases the acquired data link resources. In at least one embodiment, the data link resource manager uses a down link counter specific to a particular socket when determining whether to release or downgrade an existing data link resource. Each client application that shares a data link resource maintains a separate socket and corresponding count down timer. Correspondingly, the decision to adjust the count down timer is based upon any data transmission activity, or lack thereof, associated with a specific socket.
[0051]
[0052] After the data link resources associated with the socket have been released, then the data link resources are evaluated to determine whether they can be down graded
[0053] One of the benefits associated with the present invention, where the data link resources are managed by a data link resource manager includes the ability to support non-signaling aware clients. In some instances, a particular client may not be aware of the specific data link and/or the associated information necessary for establishing a connection with the data link. In these instances a default set of parameters, stored in association with the data link resource manager, is provided. Use of some or all of the parameters associated with a default data link will allow for a data link connection to be established for a client application that does not specify some or all of the data link parameters. This may be particularly useful in instances where a non-wireless external device is coupled to the network, via the wireless communication device
[0054] Additionally, this may make it possible for non-signaling aware applications to share a data link. Furthermore, while a default set of parameters may be initially provided, the user can establish one or more alternative default parameters, as well as define the conditions in which each set of default parameters apply. A default set of parameters additionally safeguards against a non-signaling aware client from inadvertently attempting to establish a connection, which may be specific to other services, applications, or billing methods.
[0055] A list of examples of possible parameters used in establishing a data link includes a user name and a password, an identification of the bearer type associated with the link (GPRS, GSM Circuit Switched Data, etc.), the phone number of the access point, the data rate to use when establishing a circuit switched data connection, the line type (modem, ISDN, etc.) to use when establishing a circuit switched data connection, the time in seconds to wait before deactivating an idle data link, and/or a flag to indicate if the user should be notified before this type of data link is established as well as identifying to the user any corresponding charges.
[0056]
[0057] The proxy instance
[0058] The proxy instances
[0059]
[0060]
[0061] In the preferred embodiment, the microprocessor
[0062] Control of the user audio, including the microphone
[0063] While the preferred embodiments of the invention have been illustrated and described, it is to be understood that the invention is not so limited. Numerous modifications, changes, variations, substitutions and equivalents will occur to those skilled in the art without departing from the spirit and scope of the present invention as defined by the appended claims.