Device capability determination for a mobile device

A device management (DM) technique wherein management objects (MOs) with device capability information are created and used for each feature domain or application. Each application installed in a mobile electronic device such as, for example, a cellular phone, a personal digital assistant, or a pager may provide device capability information that is stored as a management object or sub-node of a standard device management object, such as sub-nodes of the “DevDetail” management object in a DM tree in a mobile device compatible with the Open Mobile Alliance (OMA) Device Management (DM) specification, for example. The device capability information may be retrieved, for example, by a DM server or a customer care server in the form of extensible markup language (XML) data or an OMA UAProf-based device profile, to name only two possible forms.

FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT

BACKGROUND OF THE INVENTION

Electronic devices such as, for example, mobile phones and personal digital assistants (PDA's), often contain firmware and application software that are either provided by the manufacturers of the electronic devices, by telecommunication carriers, or by third parties. If firmware or firmware components are to be changed in such electronic devices, it is often very tricky to update the firmware or firmware components.

It is often difficult to determine what is wrong with an electronic device when a problem is encountered. Quite often, a customer care representative for a system operator does not have answers to a customer's problem and is not able to fix it. Determination of problems with a customer's mobile device is a big problem for system operators. Answering customer care calls is quite expensive. Especially so, if at the end of such a call, the customer care representative is unable to determine what is wrong with the electronic device.

Different electronic devices have different sets of resources, different sets of parameters, etc. Managing mobile devices in a heterogeneous communication network is a huge problem. Figuring out what parameters need to be set is also a problem.

Device profile evolution (DPE) techniques do not exist yet, although feeble attempts may have been made in the form of extending existing UAProf techniques to include some support for device parameter adjustments based on content to be delivered to a device. Recently, the Open Mobile Alliance (OMA), that supports the UAProf techniques, has begun exploring the need to support device profile evolution (DPE), and some use-cases have been discussed to determine its need.

However, since an electronic device can undergo a firmware update (or software update) and acquire new capabilities, a mechanism is needed that addresses the determination of new capabilities and the detection of new capabilities, from an external server as well as by a user of the electronic device. The OMA UAProf technique of sending user agent information to a wireless application protocol (WAP) server or WAP gateway does not seem to address that. UAProf and the proposed OMA DPE work address sending user agent properties to address temporary needs of an application or service being (or about to be) consumed. However, they do not support determination or communication of information on features added to the electronic device that have a long term impact such as, for example, that due to firmware updates, etc. DPE has been proposed (and is not yet a reality) to support device-specific rendering, and device-specific delivery of content, based on parameters related to some device capability. In addition DPE seems to support a narrow set of use-cases related to (mostly temporary) changes to electronic device settings in order to make it possible to consume a service.

UAProf and the proposed DPE do not provide any help regarding the support for an optional feature for an OMA enabler implementation. For example, if an electronic device supports firmware update capability, then it must be possible to determine whether the device is capable of that feature/enabler implementation. However, this determination is not possible with UAProf based technique and even the proposed work of DPE, which is likely to be delivered as a specification in 2007 or beyond.

The features (such as OMA enablers) supported by an electronic device need to be supported, and UAProf based technique currently does not support that. In addition, if however, an optional sub-feature such as, for example, client-initiated firmware update (e.g., for a feature called “firmware update”) is not supported by a device, this needs to be determined too (ideally). However, neither UAProf based technique nor the proposed DPE support such determination.

BRIEF SUMMARY OF THE INVENTION

A device, method and system supporting management of device capability information in a plurality of mobile electronic devices, substantially as shown in and/or described, in connection with at least one of the figures, as set forth more completely in the claims.

DETAILED DESCRIPTION OF THE INVENTION

Aspects of the present invention may be found in a method for remotely determining and configuring device management parameters in mobile electronic devices. More specifically, aspects of the present invention may be found in a method of managing device capability information in a mobile/handheld electronic device such as, for example, a mobile handset, a cellular phone, a personal digital assistant, a pager, a personal computer, or any of a number of other portable or handheld electronic devices with communication functionality. Device capability information may, for example, store indications of whether applications/features in a mobile electronic device are enabled/disabled, which and how much of the resources of the electronic device are used by an application/feature, and whether an application/feature is a standard application/feature. Although much of the following discussion relates to a mobile handset or mobile device such as a cellular phone, the teachings of the present invention also apply to any of a wide variety of electronic devices with wired or wireless communication functionality that provide subscriber access to communication services such as, for example, those named above, and other electronic devices having similar characteristics.

FIG. 1is a perspective block diagram of an exemplary mobile network105that supports the determination of device capability information of a mobile device107, in accordance with a representative embodiment of the present invention. The mobile device107ofFIG. 1may comprise, for example, a mobile handset or cellular phone that may support a wide variety of features. The mobile device107may, for example, permit applications to be downloaded and installed on the mobile device107, from a device such as, for example, the download server151. In one representative embodiment of the present invention, the mobile device107may be used by a customer to request customer care service via a customer care server157. Device capability information from the mobile device107may be one of the parameters provided. In a representative embodiment of the present invention, a customer service representative (CSR) may provide a service to the customer using the mobile device107, after device capability information is retrieved from the mobile device107. This retrieval of device capability information makes it unnecessary for a customer to provide such information to a CSR.

A mobile network in accordance with a representative embodiment of the present invention, such as the mobile network105ofFIG. 1, is capable of supporting customer care calls by the customer/subscriber of an electronic device such as the mobile device107, who may be having a problem with the mobile device107, and who needs help in diagnosing the problem and in finding an appropriate solution. In a representative embodiment of the present invention, diagnosis of a problem and determination of an appropriate solution in an electronic device such as, for example, the mobile device107ofFIG. 1, may be based on device capability information retrieved from the mobile device107.

A mobile network in accordance with the present invention such as, for example, the mobile network105shown in the illustration ofFIG. 1, may comprise the mobile device107, the customer care server157, a device management (DM) server109, a download server151, a provisioning server129, and a self-care website/portal167. Although these network elements are shown in the example ofFIG. 1as individual entities, this is for reasons of illustration and clarity, and does not represent a specific limitation of the present invention. Any or all of these network server elements may be co-resident, in any combination, on one or more servers without departing from the spirit and scope of the present invention.

As shown inFIG. 1, the mobile device107is communicatively linked to the customer care server157, the device management (DM) server109, the download server151, the provisioning server129, and the self-care website/portal167via respective communication links155,143,153,145, and169. The communication links155,143,153,145, and169may comprise any of a number of types of wired or wireless links such as, for example, a wireless cellular network, a wireless paging network, and wired networks such a public switched telephone network, a packet network, a private network, and the Internet. Although not shown inFIG. 1, one of skill in the art will recognize upon reading this disclosure that the individual communication links155,143,153,145, and169may, in fact, comprise a single wireless path supporting communication with the mobile device107.

In a representative embodiment of the present invention, the mobile device107may, for example, comprise a non-volatile memory111, and a random access memory (read/write memory) RAM165. The non-volatile memory111may, for example, comprise flash-type memory, and may contain application software127, a DM client163, a traps client125, a provisioning client123, a diagnostic client121, an operating system (OS)119, firmware117, update agent(s)115, and a boot loader113. In a representative embodiment of the present invention, a DM client such as the DM client163may received DM commands from a DM server such as the DM server109, and may interact with a provisioning client such as the provisioning client123to implement the received DM commands. The DM commands may be, for example, those in accordance with an Open Mobile Alliance (OMA) Device Management (DM) Version 1.2 or later protocol, as developed under the sponsorship of the Open Mobile Alliance, Ltd.

A representative embodiment of the present invention may comprise a traps client such as the traps client125, that may facilitate setting traps and retrieving collected information. Diagnostics firmware such as, for example, the diagnostic client121may act to facilitate remote diagnosis of the mobile device107. Update agent firmware such as the update agent(s)115may enable the updating of firmware, software and configuration information in the mobile device107, and may be employed to update, for example, application software127, operating system (OS)119, or firmware117in the mobile device107. The update agent(s)115may employ an update package delivered by, for example, the download server151, which is used to download firmware and software updates to mobile devices in the mobile network105. The mobile device107in a representative embodiment of the present invention is capable of applying the received updates using one or more update agents115that are each capable of processing update packages or subsets thereof.

A mobile device in accordance with the present invention may also receive provisioning information from, for example, a customer care server such as the customer care server157, or a provisioning server such as the provisioning server129. A provisioning client such as, for example, the provisioning client123may process the received provisioning information to correct configuration problems or to reconfigure software and hardware of the mobile device107. Device capability information stored in non-volatile memory111of the mobile device107may be modified as necessary when this occurs.

A representative embodiment of the present invention supports a device management (DM) approach wherein management objects (MOs) are created and used for each feature domain or application. In such an arrangement, the MOs comprise associated device capability information. Each application installed in the mobile device107may provide device capability information that is stored as a MO or as sub-nodes of a standards-defined management object. For example, in a representative embodiment of the present invention, device capability information may be stored as sub-nodes of the “DevDetail” MO in a DM tree in an electronic device such as the mobile device107ofFIG. 1. When stored in this manner, such device capability information may be retrieved by, for example, a device management server such as the DM server109or a customer care server such as the customer care server157, in the form of extensible markup language (XML) data, or an OMA UAProf based device profile, for example.

In a representative embodiment of the present invention, when an application is installed on the mobile device107by, for example, a user or server, an entry may be created for it in a device management tree under a device management object such as, for example, the OMA DM “DevDetail” management object. This entry in the DM tree may provide for optional features that may be enabled/disabled. If the electronic device (e.g., mobile device107) supports firmware updates and the firmware update management object (FUMO) features, software updates and the software component management object (SCOMO) features, or other types of device management features of a DM protocol such as the OMA DM protocol, then entries may be made (or sub-nodes may be provided) under a device management object such as the OMA “DevDetail” MO, to indicate the availability of the FUMO (firmware update management object) Capability, the SCOMO (Software Component management object) Capability, or other device capabilities, for example.

Through the use of a representative embodiment of the present invention, system operators/service providers of mobile networks such as, for example, the mobile network105may enable/disable device capabilities as needed. For example, even if the mobile device107is enabled to support all features of an installed application, the system operator may disable (e.g., either temporarily or permanently) some of the features, through the use of device capability management objects such as the exemplary device capability management objects described herein.

In a representative embodiment of the present invention, device capability information may be retrieved from an electronic device such as, for example, the mobile device107as extensible markup language (XML) formatted information, or as UAProf type formatted content. Although only two formats of retrieved device capability information are discussed herein, other formats are possible and are contemplated.

A management object (MO) in accordance with a representative embodiment of the present invention may be used to express device capability for a feature of an electronic device (e.g., mobile device107) such as, for example, a firmware update feature. Such a MO may be provided as an element or part of a standards-defined device management object such as, for example, the “DevDetail” management object of the OMA DM standard. Such a standards-defined object may be part of a DM tree that is maintained by a device management server, such as the DM server109, operating in cooperation with a device management client, such as the DM client163in the mobile device107in the exemplary mobile network105ofFIG. 1. The current state/value of such a MO may be queried from the remote DM server109through the DM client163. In a representative embodiment of the present invention, installed applications such as the installed applications127may provide their own MOs for device capabilities associated with the application127that may be incorporated into a management object such as the “DevDetail” management object of the OMA DM standard. In some representative embodiments of the present invention, such device capabilities may also be exported or retrieved as UAProf type formatted content.

FIG. 2is a perspective block diagram illustrating a section of an exemplary DM tree205that may be managed by a DM client such as, for example, the DM client163ofFIG. 1, in accordance with a representative embodiment of the present invention. As shown in the illustration ofFIG. 2, OMA DM compatible FUMOCapability information211is stored as an element or part of a standard OMA DM “DevDetail” management object207. In accordance with a representative embodiment of the present invention, the OMA DM compatible FUMOCapability information211may be manipulated as part of the DM tree205, that may be managed by a DM client such as the DM client163in the mobile device107ofFIG. 1, under the control of a DM server such as the DM server109ofFIG. 1.

As shown in the exemplary illustration ofFIG. 2, the FUMOCapability information211of the OMA “DevDetail” management object207may comprise a number of elements or parts including, for example', Alternate Download information213having a sub-node Secure Download information215, Large Object Download for FOTA (firmware over-the-air) information217, Client Initiated FOTA information219having a sub-node Enable information221, and Server Initiated FOTA information223having a sub-node Enable information225.

A representative embodiment of the present invention may provide support for the following exemplary features and information:determination of which features of an application are not supported,identification of optional features that are supported for applications and standard device feature domains,determination of which available alternatives are “preferred mechanisms” for a feature domain,determination of the resources employed by a feature domain such as, for example, firmware updates, andidentification of dependency on the presence of device drivers, if any, for applications, or services.

FIG. 3depicts an exemplary DM tree305under management of a DM client such as, for example, the DM client163of the mobile device107ofFIG. 1, in accordance with a representative embodiment of the present invention. As illustrated inFIG. 3, the DM tree305supports device capability information as part of a standard DM tree MO which, in the example ofFIG. 3represents the “DevDetail” management object of the OMA DM standard. A management object in accordance with a representative embodiment of the present invention may be used to express device capability for a feature domain. Such a management object may be provided as part of a standards-defined management object such as the “DevDetail” MO of the OMA DM standard, and may be able to be queried. Installed applications may provide their own MOs that are incorporated into such a standard management object such as, for example, the “DevDetail” MO of the OMA DM standard.

In a representative embodiment of the present invention, device capabilities may also be exported or retrieved as UAProf type formatted content. A system operator may manage optional features associated with a feature domain, such as software component management feature domain. An electronic device such as the mobile device107ofFIG. 1, for example, may have a device capability that the system operator (or, for example, an individual deployment) may decide not to use or enable. A representative embodiment of the present invention provides the system operator the ability to enable/disable a feature or device capability that the electronic device possesses by default. In this manner, the device capability information of an electronic device such as the mobile device107, for example, may be queried via the associated MOs. The ability to query device capability information either locally or remotely, such as via a DM server interacting with a DM client, permits device capabilities to be managed both locally and remotely.

In a representative embodiment of the present invention, an electronic device such as the mobile device107ofFIG. 1, for example, may support several user agents or applications. For example, user agents for firmware update over-the-air (FOTA), push-to-talk over cellular (PoC), instant messaging (IM), and web browsing, to name only a few, may be employed in an electronic device such as the mobile device107. Each of these user agents may be associated with their own management objects (or sub-nodes) containing device capability, information. In addition, in some representative embodiments of the present invention, device capability information may be supported for applications that are downloaded and installed in the mobile device107such as, for example, wirelessly over-the-air. In such instances, newly installed applications may provide their own capability information that is incorporated into an existing DM tree under the control of a DM server such as the DM server109ofFIG. 1, by a DM client such as the DM client163ofFIG. 1. Such added device capability information may also be subsequently retrieved or managed, as described above.

Although the above examples primarily address the use of the OMA DM “DevDetail” management object, illustrated inFIG. 3, as the node to which device capability management object sub-nodes for features (such as, for example, FUMO) and applications (such as, for example, Email) may be added, upon reading this disclosure one of skill in the art will recognize that this does not represent a specific limitation of the present invention, and that other standardized management objects may be used for similar purposes and in a similar fashion.

In a representative embodiment of the present invention, the FUMO related nodes are typically used to store FUMO-related device capabilities and options, the SCOMO related nodes are used to also provide SCOMO related device capabilities and options, and so forth. Thus, individual applications may each have their own MOs, and these MOs may be used to provide device capability information associated with those applications.

Aspects of the present invention may be found in a handheld electronic device comprising non-volatile memory having stored therein one or both of firmware and software, and at least one processor operably coupled to the non-volatile memory. The at least one processor may, during operation, at least wirelessly receive, from a remote server via a communication network, device capability information according to a device management protocol standard, and may store the device capability information as a sub-node of a standards-defined device management object in a device management tree in the non-volatile memory. The at least one processor may also enable or disable functionality of the handheld electronic device based upon the device capability information.

In a representative embodiment of the present invention, the handheld electronic device may comprise one of a mobile handset and a cellular phone, and may comprise one of a personal digital assistant and a personal computer. The received device capability information may be expressed as extensible markup language (XML). The device capability information may be stored as a sub-node or part of a device management object defined in the Open Mobile Alliance (OMA) Device Management (DM) Version 1.2 or later protocol specification. Storing the device capability information may comprise adding an application-related sub-node to a standards-defined device management object in the device management tree. The non-volatile memory may comprise flash type memory.

In a representative embodiment of the present invention, the at least one processor may, during operation, at least wirelessly send to a remote server via the communication network, device capability information from the device management tree. The at least one processor may also, during operation, at least wirelessly download update information used to update the one or both of firmware and software. The communication network may comprise a public communication network, and the device capability information may be accessible using an Open Mobile Alliance (OMA) UAProf based device profile, and enabling or disabling functionality of the handheld electronic device may comprise enabling or disabling functionality of a portion of the one or both of firmware and software. The management object set or modified by storing device capability information may be initially set by a manufacturer of the handheld electronic device.

Additional aspects of the present invention may be seen in a computer-readable storage comprising a plurality of code sections for operating a handheld electronic device in a device management network. The plurality of code sections may have stored therein instruction code executable by a processor for causing the processor to perform a method comprising wirelessly receiving, via the device management network, device capability information associated with functionality of the handheld electronic device, the device capability information encoded to be compatible with a device management protocol standard. Such a method may also comprise storing device capability information associated with the updated functionality in a non-standard sub-node of a standards-defined device management object of a device management tree in non-volatile memory of the handheld electronic device. In addition, the method may comprise enabling or disabling functionality of the handheld electronic device based upon the associated device capability information. The code sections may further comprise instruction code executable by the processor for causing the processor to wirelessly receive information for updating instruction code in the computer-readable storage to update functionality of the handheld electronic device.

In various representative embodiments of the present invention, the handheld electronic device may comprise one of a mobile handset and a cellular phone. The handheld electronic device may also comprise one of a personal digital assistant and a personal computer. The received device capability information may be communicated as extensible markup language (XML), and the device management protocol standard may be the device management protocol referred to as the Open Mobile Alliance (OMA) Device Management (DM) Version 1.2 or later protocol. The non-volatile memory may comprise flash type memory.

In a representative embodiment of the present invention, the code sections may further comprise instruction code executable by the processor for causing the processor to wirelessly send to a remote server via the device management network, device capability information from the device management tree. The code sections may also comprise instruction code executable by the processor for causing the processor to wirelessly download update information used to update the one or both of firmware and software. The device management network may comprise a public communication network, and the device capability information may be accessible using an Open Mobile Alliance (OMA) UAProf based device profile. Storing the device capability information may comprise adding an application-related non-standard sub-node from a standards-defined device management object in the device management tree.

Yet other aspects of the present invention may be observed in a system for managing device capability information in a plurality of handheld electronic devices. Such a system may comprise at least one server comprising at least one interface enabling communication with the plurality of handheld electronic devices via a wireless communication network, and at least one processor operably coupled to the at least one interface and at least one memory containing device capability information and information for updating executable code in the plurality of handheld electronic devices. The at least one processor may function during operation to, among other things, determine functionality for one of the plurality of handheld electronic devices, based upon input from a user, and store device capability information associated with the functionality for the one of the plurality of handheld electronic devices in the at least one memory. The at least one processor may also function to transmit, to the one of the plurality of handheld electronic devices via the wireless communication network in accordance with a device management protocol standard. The device capability information may be associated with the functionality for the one of the plurality of handheld electronic devices, and the transmitted device capability information may be arranged to cause updating of a non-standard sub-node of a standards-defined device management object in a device management tree in memory of the one of the plurality of handheld electronic devices.

In a representative embodiment of the present invention, the plurality of handheld electronic devices may comprise one of a mobile handset and a cellular phone, and may comprise one of a personal digital assistant and a personal computer. Transmitted device capability information may be communicated as extensible markup language (XML), and the device management protocol standard may be the device management protocol referred to as the Open Mobile Alliance (OMA) Device Management (DM) Version 1.2 or later protocol. The at least one processor may function during operation to, among other things, receive device capability information from the device management tree of the one of the plurality of handheld electronic devices. The at least one processor may also function during operation to, among other things, download update information used to update, one or both of firmware and software to the one of the plurality of handheld electronic devices. The communication network may comprise a public communication network, and the device capability information may be arranged according to an Open Mobile Alliance (OMA) UAProf based device profile. The transmitted device capability information may be arranged to cause adding of a non-standard sub-node of a standards-defined device management object in the device management tree in memory of the one of the plurality of handheld electronic devices.

Additional aspects of the present invention may be found in a handheld electronic device comprising at least one memory having stored therein one or both of firmware and software. Changes in functionality of the handheld electronic device may be enabled by remotely updating the one or both of firmware and software, and new device functionality may be enabled by remotely provisioning device capability information associated with the new device functionality as additional management objects in a standards-defined device management tree. The handheld electronic device may comprise a cellular phone, and the device management tree may be in accordance with a device management protocol referred to as the Open Mobile Alliance (OMA) Device Management (DM) Version 1.2 or later protocol.

Yet other aspects of the present invention may be observed in a system for managing device capability in mobile electronic devices. Such a system may comprise at least one server communicatively coupled to at least one mobile electronic device. Device capability information resident in memory in the at least one mobile electronic device may enable or disable functionality of the at least one mobile electronic device, and the device capability information may be initially provisioned and subsequently managed using management objects based on a device management protocol referred to as the Open Mobile Alliance (OMA) Device Management (DM) Version 1.2 or later protocol standard. The at least one mobile electronic device may comprise a cellular phone, and the initial provisioning of device capability information in the at least one mobile electronic device may be performed by a manufacturer of the at least one mobile electronic device. Functionality of the at least one mobile device may be enhanced by remotely updating, from the at least one server, one or both or firmware and software in the memory of the at least one mobile electronic device, and the enhanced functionality of the at least one mobile electronic device may be enabled by new management objects provisioned, by the at least one server, into a device management tree in the memory.