Apparatus and methods for managing time sensitive application privileges on a wireless device

Apparatus and methods for managing time sensitive application privileges on a wireless device include a computer platform operable to execute an application having a time sensitivity requirement. A time retrieval service resident on the computer platform is operable to retrieve a date/time result, which may be associated with a confidence factor. And, a date/time determination module resident on the computer platform is operable to determine whether or not to execute the application based on the date/time result and/or based on the confidence factor. Corresponding methods and computer readable media are also included.

FIELD OF THE INVENTION

The described embodiments generally relate to wireless communications devices and computer networks. More particularly, the described embodiments relate to apparatus and methods of managing time sensitive application privileges on a wireless device.

BACKGROUND

Wireless devices, such as cellular telephones, communicate packets including voice and data over a wireless network. Wireless devices are being manufactured with increased computing capabilities and are becoming tantamount to personal computers. These “smart” wireless devices, such as cellular telephones, have installed application programming interfaces (“APIs”) onto their local computer platform that allow software developers to create software applications that operate on the cellular telephone. The API sits between the wireless device system software and the software application, making the cellular telephone functionality available to the application without requiring the software developer to have the specific cellular telephone system source code.

The software applications can come pre-loaded at the time the cellular telephone is manufactured, or the user may later request that additional programs be downloaded over cellular telecommunication carrier networks, where the programs are executable on the wireless telephone. As a result, users of wireless telephones can customize their cellular telephones with programs, such as games, printed media, stock updates, news, or any other type of information or program available for download through the wireless network. Each of these software applications normally requires a license for the user to legally use the software on the wireless device.

If a license is meant to limit the use of the software application to a finite duration, such as a specific number of days of use, then once the license expires, a user of the wireless device must typically either download a new license to incorporate into the software application, or reinstall the entire software application if further use of the application is desired. The wireless device API normally checks the software either at the time execution is requested or at some other period to determine if the software is licensed for use on the platform. If the license has expired, then the wireless device will not execute the unlicensed software application. Thus, these types of licensing schemes rely on the wireless device having an accurate date/time setting in order to determine whether or not a license has expired.

In some networks, however, the date/time in the wireless device may not be established in a trustworthy fashion, thereby making time-based licensing decisions difficult or impossible. For example, some communication systems/protocols, such as GSM (Global System for Mobile Communications), TDMA (Time Division Multiple Access) and UMTS (Universal Mobile Telecommunications System), do not require time to be synchronized between the wireless device and the wireless network. As such, the date/time setting on the wireless device may be a setting input by a user of the device, or may be obtained from some other time service, such as NTP (Network Time Protocol). In any case, the API, or other logic on the wireless device responsible for determining the expiration of a time-based license, cannot verify the authenticity of the time/date setting on the wireless device in these systems.

Accordingly, it would be advantageous to provide a system that enables reliable time-based licensing decisions to be made on wireless devices operating on wireless networks that do not require time synchronization with the wireless device.

SUMMARY

To address one or more of the drawbacks of the prior art, the disclosed embodiments provide apparatus and methods for managing time sensitive application privileges on a wireless device. In one embodiment, the disclosed apparatus and methods determine whether or not to execute a time-sensitive application based on a given date/time result. In another embodiment, the disclosed apparatus and methods determine which one of a plurality of functional modes of an application to execute based on a given date/time result.

In one embodiment, a method of managing time sensitive application privileges on a wireless device comprises receiving a request to execute an application having a time sensitivity requirement and retrieving a date/time result. The method further includes determining execution of the application based on the date/time result.

In another embodiment, a computer-readable medium embodying means for managing time sensitive application privileges on a wireless device comprises at least one sequence of instructions, wherein execution of the instructions by a processor causes the processor to perform the acts of receiving a request to execute an application having a time sensitivity requirement and retrieving a date/time result. The acts further including associating a corresponding confidence factor with the date/time result, and determining execution of the application based on the confidence factor.

In yet another embodiment, a wireless device comprises a means for receiving a request to execute an application having a time sensitivity requirement and a means for retrieving a date/time result. Further, the wireless device includes a means for associating a corresponding confidence factor with the date/time result, and a means for determining execution of the application based on the confidence factor.

In still another embodiment, a wireless device comprises a computer platform operable to execute an application having a time sensitivity requirement. The wireless device further includes a time retrieval service resident on the computer platform and operable to retrieve a date/time result. Additionally, a date/time determination module is resident on the computer platform and is operable determine an execution of the application based on the date/time result.

DETAILED DESCRIPTION

The described embodiments include apparatus, methods and computer readable media for the management of time-based licensing privileges on a wireless device. These apparatus, methods and computer readable medium provide a wireless device with logic that enables the wireless device to determine an authenticity and/or level of confidence associated with a given date/time result. In turn, this logic provides the wireless device with the ability to make decisions regarding the expiration of a time-sensitive license for an application executable on the wireless device. In addition, or alternatively, the logic provides the wireless device with the ability to choose between functional modes of an application based on either the existence of a given date/time result or on a level of confidence associated with the given date/time result. The logic may be accessed at any time, such as when an application is initially executed or after the initial execution, for example, when an application reaches an operation, or mode, requiring a date/time result. Thus, the described embodiments advantageously provide apparatus, methods and computer readable media that allow for managing license privileges on wireless devices, especially on wireless networks that do not require time to be synchronized between the network and the device.

Referring toFIGS. 1-2, one embodiment of an application license management system10comprises a plurality of wireless devices12,14,16,18,20each having a computer platform22operable to store and execute a time-sensitive licensed application24. Licensed application24is associated with a licensing configuration26that includes a license28having a time sensitivity requirement30. For example, time sensitivity requirement30includes a time requirement32(FIG. 2), such as a time period or an expiration date and/or time, that indicates when the respective wireless device is licensed to execute application24. Further, time sensitivity requirement30includes a confidence requirement34, such as a minimum confidence factor or level/type of authentication that indicates a threshold of trustworthiness associated with time requirement32. As such, time sensitivity requirement30defines one or more levels of date/time authenticity and/or trustworthiness required to execute one or more modes36, or levels of functionality, of licensed application24. Additionally, each of the plurality of wireless devices12,14,16,18,20includes a date/time determination module38operable to retrieve a date/time result40having a confidence factor42indicating the accuracy, authenticity and/or trustworthiness of date/time result40. For example, confidence factor42may be based upon a source of date/time result40, where a trusted and/or authenticated source is associated with a higher confidence factor than an untrusted and/or unknown and/or unauthenticated source. Alternatively, confidence factor42may be based on the existence or absence of a date/time result40in the respective wireless device12,14,16,18,20. For example, the existence of date/time result40may imply or be associated with a predetermined confidence factor, such as a 100% confidence, whereas the absence of date/time result40may imply a different predetermined confidence factor, such as 0%. In one embodiment, the source of date/time result40may include one or more remote time systems44in communication with the respective wireless device12,14,16,18,20across a wireless network46, and a local time system45maintained on the respective wireless device. Thus, date/time determination module38is operable to compare date/time result40and confidence factor42with the corresponding time sensitivity requirement30in order to determine whether or not a license28for application24is in effect or is expired, and to determine whether or not to execute one or more modes36of licensed application24.

The wireless devices can include any type of computerized, wireless devices, such as cellular telephone12, personal digital assistant14, laptop computer16, two-way text pager18, and even a separate computer platform20that has a wireless communication portal, and which also may have a wired connection48to a network or the Internet. The wireless device can be a remote-slave, or other device that does not have an end-user thereof but simply communicates data across the wireless network46, such as a remote sensor, a diagnostic tool, a data relay, and the like. Thus, the apparatus, methods and computer readable media for the management of time-based licensing privileges on a wireless device can accordingly be performed on any form of wireless device or computer module including a wired or wireless communication portal, including without limitation, wireless modems, PCMCIA cards, access terminals, personal computers, telephones, asset tags, telemetry modules or any combination or sub-combination thereof.

Additionally referring toFIGS. 1-3, each wireless device12,14,16,18,20, such as cellular telephone12in this case, has computer platform22that can transmit data across wireless network46, and that can receive and execute software applications and display data transmitted from another computer device connected to wireless network46. Computer platform22also includes an application-specific integrated circuit (“ASIC”)50, or other chipset, processor, logic circuit, or other data processing device. ASIC50or other processor may execute an application programming interface (“API”) layer52that interfaces with any resident programs, such as licensed application24, in a memory54of the wireless device. API52is a runtime environment executing on the respective wireless device12,14,16,18,20. One such runtime environment is Binary Runtime Environment for Wireless® (BREW®) software developed by Qualcomm, Inc., of San Diego, Calif. Other runtime environments may be utilized that, for example, operate to control the execution of applications on wireless computing devices. Memory54may include read-only and/or random-access memory (RAM and ROM), EPROM, EEPROM, flash cards, or any memory common to computer platforms. Computer platform22also includes a local database56that can hold the software applications, files, or data not actively used in memory54. Local database56typically includes one or more flash memory cells, but can be any secondary or tertiary storage device, such as magnetic media, EPROM, EEPROM, optical media, tape, or soft or hard disk. Additionally, local database56can ultimately hold a resident copy of licensed application24. Further, computer platform22includes a communications module58that enables data communications between the various components of the respective wireless device12,14,16,18,20, as well as providing for data communications between the respective wireless device and wireless network46and other computer devices connected to the wireless network.

In one embodiment, memory54includes licensed application24and its corresponding licensing configuration26. Licensed application24may be any hardware, software/programs, firmware, logic and/or instructions executable by ASIC/processing engine50to perform some function on the respective wireless device. For example, licensed application24may include games, printed media, stock updates, news, word processing programs, data processing programs, graphics-related programs, media-related programs, communications-related programs, browser programs, or any other type of information or program operable on the respective wireless device. In one embodiment, referring toFIG. 1, application24is a software program received by the respective wireless device12,14,16,18,20from an application download server60located across wireless network46.

As noted above, licensing configuration26includes the respective license28corresponding to application24, as well as the associated time sensitivity requirements30. License28can be copied to the respective wireless device from server60with application24, or license28can be created on the respective wireless device as a file, key, or other resident object. Further, due to its limited timeframe, license28is associated with time sensitivity requirement30, which includes time requirement32and confidence requirement34. As noted above, time requirement32includes a time period or an expiration date and/or time, that indicates when the respective license28expires. Also, as noted above, confidence requirement34includes a minimum threshold of trustworthiness associated with time requirement32. It should be noted that, in some embodiments, application24may have a plurality of application modes36corresponding to varying levels of operational functionality. In this case, there may be a corresponding plurality of time sensitivity requirements30each having differing levels of time requirements32and/or confidence requirements34. For example, a basic application mode may provide for basic operational functionality of application24, while an advanced application mode may provide for additional operational functionality. In turn, the basic application mode may correspond to a first set of time sensitivity requirements, while the advanced application mode may correspond to a second set of time sensitivity requirements. For example, the first set of time sensitivity requirements may allow licensed execution of the application for a longer period of time and/or may require a lower level of confidence in a date/time result than the second set of time sensitivity requirements. In this case, the selected one of the plurality of application modes36may be launched upon an initial execution of application24based on date/time result40and/or confidence factor42. Alternatively, the selected one of the plurality of application modes36may be invoked based on date/time result40and/or confidence factor42retrieved after the initial execution of application24, for example, when application24reaches an operation having time sensitivity requirement30.

Additionally, licensing configuration26may also include user-defined parameters62and/or third party-defined parameters64that govern how date/time determination module38retrieves date/time result40. User-defined parameters62include predetermined or real-time settings input by a user of the respective wireless device, while third party-defined parameters64include predetermined settings established by some third party, such as a wireless network carrier66or application download server60, having some control over portions of the respective device and/or application24. For example, both user-defined parameters62and third party-defined parameters64may define one or more of a plurality of fetch parameters68that dictate how date/time determination module38retrieves a given date/time result40.

In one embodiment, plurality of fetch parameters68available for use by date/time determination module38include one or more of a confidence requirement parameter34, a retrieval duration parameter70, a retrieval cost parameter72, a retrieval performance parameter74, and additional fetch instructions76. As noted above, confidence requirement parameter34includes a predetermined confidence factor42, such as a minimum confidence factor, required to be associated with a given date/time result40. Retrieval duration parameter70includes a predetermined time, such as a maximum time, to utilize in retrieving a given date/time result40. Retrieval cost parameter72includes a predetermined monetary cost, such as a maximum cost, associated with retrieving a given date/time result40. Retrieval performance parameter74includes a predetermined performance level, such as a minimum performance level, associated with the operational capabilities of the respective wireless device during the retrieval of a given date/time result40. Additional fetch instructions76include any other parameters or guidelines to be followed by date/time determination module38in retrieving and/or determining a given date/time result40.

For example, for a user wishing to minimize the delay prior to execution of the application, user-defined parameters62may be configured to direct date/time determination module38to retrieve a date/time result40associated with the fastest responding source. In another example, for a user worried about cost, user-defined parameters62may be configured to direct date/time determination module38to retrieve a date/time result40associated with the least cost source, or with a source that will not exceed a given maximum cost. In yet another example, since some of the sources of date/time result40may require more wireless device processing power than other sources, for a user concerned about maintaining a given level of wireless device operational performance, user-defined parameters62may be configured to direct date/time determination module38to retrieve a date/time result40associated with the least processor-intensive source. Similarly, for a third party wishing to guarantee a minimum confidence level, third party-defined parameters64may be configured to direct date/time determination module38to retrieve a date/time result40associated with a source achieving the defined minimum confidence requirement. It should be understood that the above examples are not to be construed as limiting, and that user-defined parameters62and third party-defined parameters64may include any combination of the plurality of fetch parameters68, and such combinations may vary depending on the given situation.

Further, memory54may include a user/device identification (“ID”)78that provides a unique and/or authenticatable identifier and/or description associated with the respective wireless device and/or the user of the respective device. Examples of ID78include a mobile identification number (“MIN”), a phone number, a user name, a social security number, an Internet Protocol (“IP”) address, a subscriber identity module (“SIM”), a security identification module, any other type of tracking mechanism, and any combination thereof.

In one embodiment, some portion of third party-defined parameters64and/or time sensitivity requirements30may vary based on ID78. For example, if ID78is associated with a user having a high dollar account with carrier66, the carrier may set third-party defined parameters64in a manner to associate an increased confidence factor42with a user input date/time result40as compared to an ID78associated with a low dollar account. It should be understood that this is but one, non-limiting example and many other schemes may be utilized, depending on the given situation, whereby some portion of third party-defined parameters64and/or time sensitivity requirements30may vary based on ID78.

Additionally, ASIC/processing engine50includes various processing subsystems80embodied in hardware, firmware, software, and combinations thereof, that enable the functionality of the respective wireless device12,14,16,18,20and the operability of the respective device on wireless network46, such as for exchanging data/communications with other devices. For example, processing subsystems80may include one or any combination of subsystems such as: sound, non-volatile memory, file system, transmit, receive, searcher, physical layer, link layer, call processing layer, main control, remote procedure, handset, power management, diagnostic, digital signal processor, vocoder, messaging, call manager, Bluetooth®, Bluetooth® Location Position (“LPOS”), position determination, position engine, user interface, sleep, data services, security, authentication, USIM/SIM, voice services, graphics, universal serial bus (“USB”), camera/camcorder interface and associated display drivers, multimedia such as moving picture experts group (“MPEG”) standard, general packet radio service (“GPRS”) standard, etc.

In one embodiment, processing subsystems80include one or more time retrieval services82operable through communications module58to fetch a date/time result40from a remote or local source of time. For example, each time retrieval service82may be associated with a respective one of remotely-located time systems44or local time system45. Remotely-located time systems44include, for example, a carrier-based time system84, a trusted time server time system86and an unauthenticated time system88. Carrier-based time system84may be, for example, a time server associated with carrier66, such as the wireless network carrier that provides the respective wireless device12,14,16,18,20with access to all or portions of wireless network46for voice and/or data communications. Trusted time server time system86includes, for example, a time system associated with a trusted or authenticated third party. For example, trusted time server time system86may be a time source approved by the provider of the given application24as being a trustworthy provider of time. Unauthenticated time system88includes, for example, a source of time that is unapproved, unverified and/or unauthenticated, and therefore may have a lower level of trustworthiness when compared to carrier-based time system84and trusted time server time system86. Local time system45may include, for example, a time system set by a user input and maintained in memory54on the respective wireless device. Further, each of carrier-based time system84, a trusted time server time system86and unauthenticated time system88may provide a certificate90, along with a date/time result40, to indicate the source and/or authenticity of the time. For example, certificate90may include a digital signature, a hash, etc.

Additionally, as mentioned above, associated with each respective time retrieval service82is a date/time result40and a corresponding confidence factor42. It should be noted that confidence factor42may be associated with the respective date/time result40by date/time determination module38, by time retrieval service82, by another processing subsystem80, for example, based on the respective time system44or45supplying the respective date/time result or based on an associated certificate90indicating the authenticity and/or trustworthiness of the date/time result. Alternatively, confidence factor42may be supplied by the respective time system44or45. Further, each respective time retrieval service82may include a retrieval duration factor92, a retrieval cost factor94and a retrieval performance factor96. Retrieval duration factor92comprises an actual or estimated time required to retrieve the corresponding date/time result40. Retrieval cost factor94comprises an actual or estimated cost required to retrieve the corresponding date/time result40. Retrieval performance factor96comprises an actual or estimated affect on data processing performance of the respective wireless device during retrieval the corresponding date/time result40.

Date/time determination module38, which may be any combination of hardware, software, firmware and executable logic, includes a comparator98operable to match a given configuration of fetch parameters68with each of the factors42,92,94,96of the respective time retrieval services82in order to select one or more services and retrieve one or more date/time results40. Alternatively, date/time determination module38may present the various factors42,92,94,96in one of a plurality of user interface messages100, presented in a view102on a user interface104of the respective wireless device12,14,16,18,20. In this case, a user of the respective device may select one or more time retrieval service82, such as by providing an input through an input mechanism106, such as a keypad, touch display, voice recognition software, etc., on the device.

The plurality of user interface messages100may include any other information presentable to the user of the respective device during the operation of date/time determination module38. For example, the plurality of user interface messages100may further include any combination of: a request to connect to a network to obtain a date/time result; a listing of available time retrieval services for obtaining a date/time result; a retrieved date/time result; a confidence factor; a retrieval duration factor; a retrieval cost factor; a retrieval performance factor; an actual retrieval duration; an actual retrieval cost; an actual retrieval performance; a message indicating the date/time retrieval is in process; etc.

Date/time determination module38is included as a portion of API52. API52includes a class of software extensions that allow applications resident on computer platform22, such as application24, to access ASIC/processor50. These software extensions can communicate with processing subsystems80on the wireless device, which allows both data reads and commands. For example, this software extension can send commands, including register for log messages, on behalf of the applications that invoke it. Each resident application on wireless device can create an instance of this new software extension to communicate with the subsystems independently. The module can then forward the responses of the subsystems to the requesting application, or across wireless network46to another computer device. For example, this capability allows application download server60and/or carrier66, or any approved third party, to remotely monitor and/or control licensing privileges on the respective wireless device.

FIG. 3is a more detailed schematic diagram of a cellular telephone embodiment ofFIG. 1. The cellular wireless network and plurality of cellular telephones12ofFIG. 3are merely exemplary, and the disclosed embodiments can include any system whereby any remote modules, such as wireless devices12,14,16,17,18, communicate over-the-air between and among each other and/or between and among components of a wireless network, including, without limitation, wireless network carriers and/or servers.FIG. 3illustrates three main components, namely a wireless network area108, a network interface110, and a server environment112. In addition, computer platform22pertaining to exemplary cellular telephones12is illustrated.

Wireless network area108is illustrated to include a plurality of cellular telephones12. In addition, wireless network area108includes wireless network46, as previously described with respect toFIG. 1. Here, wireless network46includes multiple base stations (“BTS”)114and a mobile switching center (“MSC”)116.

MSC116may be connected to network interface110, specifically its component carrier network118, through either a wired or wireline connection network120. For example, network120may comprise a data services network, a switched voice services network, often referred to as POTS (“plain old telephone service”), and/or a combination of both, including for example an Internet portion of a network for data information transfer and a POTS portion of a network for voice information transfer. For example, typically, in network120, network or Internet portions transfers data, and the POTS portion transfers voice information transfer.

MSC116may also be connected to the multiple BTS's114by another network122. Network122may carry data and/or switched voice information. For example, network122may comprise carry a data network, a voice network, and/or a combination of both, including for example an Internet portion of a network for data transfer and a POTS portion of a network for voice information transfer.

BTS114are wirelessly connected to exemplary cellular telephones12in wireless network area108. For example, BTS114may ultimately broadcast messages wirelessly to cellular telephones12or receive messages wirelessly from cellular telephones12, via switched voice services, data transfer services (including short messaging service (“SMS”)), or other over-the-air methods.

As noted, the second main component ofFIG. 3is network interface110. Specifically, network interface110is shown to include carrier network118, data link124and local area network (“LAN”)126. The features and functions associated with data link124and LAN126are described below with reference to server environment112.

Carrier network118is any regional, national or international network offering switched voice communication and/or data communication services. As such, carrier network118may include switched voice or data service provider communications facilities and lines, including data and/or switched voice information, or any combination of both, including for example an Internet portion of a network for data transfer and a POTS portion of a network for voice information transfer. In one embodiment, carrier network118controls messages, generally in the form of data packets, sent to or received from mobile switching center (“MSC”)116.

The third main component ofFIG. 3is server environment112. In one embodiment, server environment112is the environment wherein the above described application download server60functions. As illustrated, server environment112may further include a separate data repository128, and a data management server130.

Application download server60can be in communication over LAN network126(of network interface110) with separate data repository128for storing applications24and/or licensing configurations26to download to wireless devices. Further, data management server130may be in communication with application download server60to provide post-processing capabilities, data flow control, etc. Data management server130may be a network carrier server, for example, a server that manages user account information or a server that provides trustworthy date/time results. Application download server60, data repository128and data management server130may be present on the illustrated network with any other network components that are needed to provide cellular telecommunication services. Application download server60, data repository128and/or data management server130communicate with carrier network118through a data link124(of network interface110) such as the Internet, a secure LAN, WAN, or other network.

In operation, referring toFIG. 4, one embodiment of a method for managing time sensitive application privileges on a wireless device includes receiving a request to execute an application having a time sensitivity requirement (Block150). For example, API52may control the launching of applications on the respective wireless device. When licensed application24is requested for launching, date/time determination module38receives the request to execute and application, and also receives or accesses the associated licensing configuration26.

Based on licensing configuration26, date/time determination module38then retrieves a date/time result40(Block152). Date/time determination module38may utilize any of the factors associated with licensing configuration26to determine which time retrieval service82is utilized to fetch a date/time result40. For example, comparator98may review the given configuration of fetch parameters68, as well as the available time retrieval services82, in order to find a service that matches the fetch configuration. In one embodiment, for example, date/time determination module38and the respective licensed application24communicate and automatically fetch a date/time result that complies with the given license28and time sensitivity requirements30. In another embodiment, date/time determination module38automatically fetches a given date/time result40based on a user-defined parameter62or a third party-defined parameter64. In another embodiment, date/time determination module38present the user of the respective wireless device with the available time retrieval services82, along with their associated factors42,92,94,96, and then retrieves one or more date/time results40based on a selection input by the user.

Further, the method includes associating a corresponding confidence factor42with date/time result40(Block154). As mentioned above, in one embodiment, this association may be performed by date/time determination module38based on a source, i.e. the respective time system44or45, providing the given date/time result40. Alternatively, the association may be based on a certificate90indicating a level of authenticity and/or trustworthiness of the given date/time result40. It should be understood, however, that these examples are to be construed as non-limiting, and any scheme may be utilized to associate a given date/time40with a confidence factor42.

Additionally, the method includes determining execution of the application based on the confidence factor42(Block156). For example, date/time determination module38automatically initiates execution of licensed application24upon receipt of date/time result40that achieves the given fetch parameter configuration. In one embodiment, in order to determine whether or not to execute licensed application24, date/time determination module38compares licensing configuration26with the retrieved date/time result40and its confidence factor42to ensure that the licensing configuration is achieved. In another embodiment, date/time determination module38passes the retrieved date/time result40and its associated confidence factor42to licensed application24, which ensures that licensing configuration is achieved, and then sends an “execute” or “do not execute” command to date/time determination module38or API52to either execute the application or to provide user with a message indicating that the application is not executable based on the retrieved date/time result.

Referring toFIG. 5, in another specific example of the operation of the described embodiments, a user132of the respective wireless device12,14,16,18,20provides an input to input mechanism106(FIG. 2) that generates a launch application request message170. Launch application request message170references a given licensed application24, and hence the corresponding licensing configuration26. As such, date/time determination module38ultimately receives this request, or receives an associated request for a date/time, and generates a date/time request message172that is received by ASIC/processor50or an associated operating system component of the respective wireless device. ASIC/processor50then supplies an initial reply message174to date/time determination module38.

Initial reply message174may be any one of a plurality of messages relating to the current state of time maintained by the respective wireless device. For example, initial reply message174may be a message indicating that ASIC/processor50does not have any time. In this case, date/time determination module38sends user132an initial status message176. For example, initial status message176is one of the plurality of user interface messages100in a view102that relays the fact that no time is currently available, and that requests permission to retrieve a date/time result40from a remote time system44. In another embodiment, initial reply message174may be a list of available time retrieval services83and their associated factors42,92,94and96. In this case, date/time determination module38generates initial status message176, which is one of the plurality of user interface messages100in a view102, indicating the available time retrieval services83and their associated factors42,92,94and96, and prompts user132for a selection.

Upon receiving initial status message176, user132may then provide a user selection message178indicating a choice of the user as to how to proceed. Continuing with the above-listed examples, user selection message178may indicate a permission to utilize a remote time system44in the retrieval of date/time result40, or may indicate a selected time retrieval service82based on a user's desired confidence factor, retrieval duration, retrieval cost, and/or retrieval performance. For example, if user132only desires to utilize a basic functional mode36of application24, the user may select one of a plurality of time retrieval services82having a relatively low confidence factor42compared to other services that have higher confidence factors that meet a higher threshold corresponding to a more advanced function mode36.

In any case, date/time determination module38then generates a date/time request message180based on the received user selection message178. The respective wireless device processes this date/time request message180and transmits it across wireless network46to a corresponding remote time system44. In turn, the respective remote time system44returns a date/time response message182, which includes at least date/time result40, and may also include confidence factor42, certificate90and/or any other associated factor relating to the retrieval of the date/time result. If the received date/time result40and the associated confidence factor42meet the licensing configuration26, then date/time determination module38executes licensed application24(message184). If the received date/time result40and the associated confidence factor42do not meet the licensing configuration26, or if no date/time result40and/or confidence factor42is received, then date/time determination module38sends a status message186to user132. In this case, status message186, which is one of the plurality of user interface messages100in a view102, indicating, for example, that licensed application24cannot be executed.

It should be understood that the above message sequence is but one of a plurality of message sequence scenarios, and that many alternatives exist depending on the given situation. For example, rather than initially communicating with user132(i.e. messages176and178), date/time determination module38may automatically retrieve a date/time result40based on an associated licensing configuration26.

While the various disclosed embodiments have been illustrated and described, it will be clear that the subject matter of this document is not limited to these embodiments only. Numerous other modifications, changes, variations, substitutions and equivalents will be apparent to those skilled in the art without departing from the spirit and scope of the disclosed embodiments as described in the claims.