The invention relates to selection of management method in a management system.
As different data processing devices, such as mobile stations, become more complex, the significance of device management becomes more pronounced. Devices require several different settings, such as settings related to Internet access points, and setting them manually by the user is arduous and difficult. To solve this problem, for instance, device management solutions have been developed so that the administrator of a company's information system or a teleoperator can set an appropriate configuration for a device. Device management generally refers to actions by which a person typically not using a device can change the configuration of the device; for instance change the settings used by the device. In addition to device-specific settings, it is also possible to transmit user-specific data, such as user profiles, logos, ringing tones, and menus with which the user can personally modify the settings of the device, or the modification takes place automatically in connection with device management.
One of the device management standards is OMA (Open Mobile Alliance) DM (Device management), which is partly based on the SyncML (Synchronization Markup Language) protocol. For instance, a personal computer (PC) can act as a device management server in a device management protocol and a mobile station as a device management client. In terms of device management, the device management client, possibly on the basis of a triggering message from the device management server, transmits information concerning itself in a session initiation message to the device management server, and the device management server replies by transmitting its own information and a server management command. The device management client replies to this command with status information, after which the server can end the session or transmit more server management commands. If the server transmits more server management commands, the client is to reply to them with status information. The server can always, after receiving status information, end the session or continue it by transmitting more server management commands. Device management can also be implemented by first transmitting queries to the user about what s/he wishes to update, and information on the user's selections is transmitted to the server. Next, the server can in the next packet transmit the updates/commands the user desires.
In current device management systems a management protocol such as the OMA DM protocol is applied, whereby a management command for implementing the desired management task and comprising all necessary management information is directly transmitted to the managed device and executed there. However, a need exists for more versatile management systems.
A method, a management system, data processing devices, computer programs, and data storage mediums are provided, which are characterized by what is stated in the independent claims. Some embodiments of the invention are described in the dependent claims.
According to the invention, management commands may be issued by at least two different management methods. The management method to be applied is defined in response to a need to arrange delivery of a managed asset for a managed device. The defined management method is then applied for arranging the delivery of the managed asset or a reference to the managed asset for the managed device.
The term managed asset is to be understood broadly to refer to any kind information that may be transferred by a management method to a managed device. The term management method refers generally to a management technique for arranging delivery of a managed asset for a managed device or for technique for informing the managed device on a managed asset to be obtained to the managed device. The definition of the management method may thus refer to selection of applied management protocol for arranging the transmission of the managed asset or reference to the managed asset and/or to selection of applied channel or transmission technique for arranging the transmission of the managed asset or reference to the managed asset to the managed device.
The invention makes it possible to apply multiple management methods in a management system such that an appropriate management method for current management context can be chosen.
The invention will now be described in greater detail by means of some embodiments and with reference to the attached drawings, in which
One embodiment of the invention will be described in the following in a system supporting OMA device management; it should, however, be noted that the invention can be applied to any device management system in which device management objects can also be organized in structures other than tree structures.
In the second example, the client TE communicates with the server S through a mobile network MNW. A terminal TE connected to the network MNW comprises a mobile station functionality for communicating wirelessly with the network MNW. There may also be other networks, such as a local area network LAN, between the mobile network MNW and the server S. The mobile network MNW can be any known wireless network, for instance a network supporting GSM services, a network supporting GPRS (General Packet Radio Service) services, a third-generation mobile network, such as a network according to the network specifications of 3GPP (3rd Generation Partnership Project), a wireless local area network WLAN, a private network, or a combination of several networks. One important service of the transport layer in many mobile networks is a WAP which comprises a WSP (Wireless Session Protocol) layer with which a transport service can be provided for a device management application layer in a client TE and a server S. The system then comprises at least one WAP gateway and possibly one or more WAP proxies. Other protocols can also be used for transporting device management messages. Another important transport technology that may be utilized is an HTTP (Hyper Text Transfer Protocol). The lower-layer transport techniques can be circuit- or packet-switched in accordance with the properties of an underlying mobile network MNW. In addition to the earlier examples, many other device management configurations are also possible, such as a management connection between terminals TE or a direct management connection between the terminal TE and server S by using a wireless or a wired connection without any other network elements.
In the present embodiment, management method selection is applied in a service management system utilizing OMA device management capabilities. These OMA device management capabilities may be specifically used for service management level purposes such that service management level commands are specified (between the managing device 200 and the managed device 100) by device management commands. The data processing device 100 serving as an OMA device management client comprises a DM (client) agent 120 that takes care of functions related to the device management session in the client. The DM (client) agent 120 may execute device management commands from a device management manager 220 (which may also be referred to as a device management server) for management objects in a management tree 140, deliver the DM commands to the SM agent 110, and/or perform the mapping between received DM commands and SM commands. The data processing device 200 serving as a device management server comprises a DM manager 220 managing the OMA DM management session which, in one embodiment, may perform mapping of SM commands from SM manager 210 to DM commands. A suitable transport protocol, such as HTTP, may be used for DM level communication.
Items managed in a device management client device are arranged as device management objects. The device management objects are entities that can be managed by management commands to the device management client. A device management object can for instance be a number or a large entity, such as a background image or a screensaver. At least some of the device management objects can be standardized entirely or partly. In OMA device management, the device management objects are arranged in a management tree 140. The management tree 140 is stored in the memory 130 in the data processing device 100, and information and/or device description thereof (240) can also be stored in the memory 230 of the data processing device 200. The management tree 140 is made up of nodes and defines at least one device management object formed of one or more nodes or at least one parameter of a node. The node can be an individual parameter, a sub-tree or a data collection.
The management structure comprising managed objects can be any structure containing manageable items, without being limited to the device management trees of OMA device management. Service management typically involves management of a particular software application providing the service, thus the service management may include application management and the term command refers to any management command or primitive on the basis of which the management action can be effected.
It is to be noted that the entities of
Mapping instructions for arranging mapping between service management commands and device management commands are stored in the data processing device 200. The SM manager 210 may be configured to establish a device management command or primitive on the basis of a service management command and the mapping instructions 250.
In an embodiment, mapping instructions for defining service management commands for received device management commands are stored in the memory 130 of the device 100 comprising the SM agent 110 functionality. This embodiment enables the conversion of received DM commands into required SM commands (which are to be understood broadly to include also primitives or SM operations in some other form), which may then be carried out by the SM agent 110. Alternatively an SM command is defined in the client device 100 on the basis of or in response to the execution of one or more DM commands.
It is to be noted that the mapping instructions may be directly implemented in the control logic of the SM manager 210 (or another entity performing the mapping between SM and DM commands, for instance the DM manager 220), whereby no separate file for mapping instructions 250 needs to be stored but the mapping instructions may be stored within the program code controlling the processor of the device (200), for instance.
The (client) data processing device 100 may further comprise a separate management tree module for modifying the management tree (140) on the basis of the DM commands from the DM agent (120) and the SM commands from the SM agent (110). The (client) data processing device 100 may also comprise information on dependencies between manageable objects.
The data processing devices 100, 200 further comprise a transceiver for arranging data transfer, and a processing unit comprising one or more processors. Computer program codes executed in the processing unit may be used for causing the data processing devices 100, 200 to implement the inventive means relating to usage of multiple management methods, some embodiments of which being illustrated later in association with
According to an aspect of the present application, at least two different management methods are available for the device functioning as the management server (200). The management server (200) may be configured to select an appropriate management method or a combination of management methods for managing the client device (100), more precisely for arranging delivery of managed assets to the first device.
It is to be noted that instead of
The definition of the management method to be applied in step 302 may be based on the currently available management methods, properties of the managed asset to be delivered, on the basis of the properties of the manageable device and/or some other decision criterion.
In one embodiment a first managed asset is delivered to the managed device (100) by direct delivery, i.e. by transmitting the command by a (DM and/or SM) management protocol from the managing device (200). The direct delivery is especially suitable for managed assets requiring high security level since the secure management session is used for delivery. For instance, the OMA DM security features may thus be used in direct delivery.
Indirect delivery may be applied for a second managed asset, whereby only a direct or indirect reference to the asset is first delivered to the managed device. This reference may be transmitted by a management protocol. The managed device may then retrieve the managed asset, for instance an automatically installing software update package, on the basis of the reference. The reference may be a URI to the location from which the managed asset is to be retrieved. The managed asset may be retrieved by some data transmission technology, for instance HTTP or FTP download. Thus a device management/service management session is not required for the retrieval (although the system could be configured to use device management/service management functions in step 406). The indirect delivery is especially suitable for delivering large managed assets and thus the amount of data transferred by management commands may be limited. The indirect delivery further enables that not all managed assets need to be stored in the managing device (200) but some managed assets may instead be stored elsewhere, for instance in a WWW (World Wide Web) server.
According to an embodiment, at least two different management channels are applied. The term “channel” herein refers generally to a particular delivery method for arranging the delivery of the management command to the managed device.
In one embodiment in step 302 one of the available transport alternatives is selected. For instance, a first transport channel enabling real-time transport and a second transport channel enabling non-real-time but very secure transport are available for transferring the managed asset to the managed device. The device 200 may be configured select the applied transport channel on the basis of the properties of the managed asset to be delivered. The device 200 may be configured to check one or more predetermined properties of the managed asset to be carried out and select a transport associated with the property in predetermined selection rules. For instance, if the managed asset is an installation file, the second transport providing more reliable transfer is selected.
In one embodiment the definition in step 302 is based on user input. This means that a user of the managing device 200 may define the management method to be applied.
It is to be noted that a managed asset may involve a plurality of sub-components, or a plurality of managed assets needs to be issued/transmitted in order to carry out a required management action in/for the managed client device 100. In this case the above illustrated different management methods may be used in combination. Thus the managing device (200) may define that multiple management method are utilized for carrying out a management task involving a plurality of managed assets. For instance, for managed asset A direct delivery is used, whereas for managed asset B (relating to the same management task as the asset A) indirect delivery is used. It is possible to select, for each managed asset or a sub-component, the applied management method as illustrated above in connection with
Further, it is even possible to apply more than one management method for a delivery of a single managed asset or a sub-component.
In one embodiment, referring to
As already mentioned, the agent (110 or 120) may retrieve the reference from the URI data stored in this node in response to an external or internal trigger, for instance an input from the user or an installation command from the managing device (200) or a command from a third device, for instance the device to which the URI refers to. The downloading of the asset may be activated in the embodiment of
It is possible to utilize at least some of the features of the OMA DM specifications in the present system; for a more detailed description of the OMA device management protocol and other commands, for instance, reference is made to the OMA specification “SyncML Device Management Protocol”, version 1.1.2, 12 Jun. 2003, 41 pages, and the OMA specification “SyncML Representation Protocol Device Management Usage”, version 1.1.2, 12 Jun. 2003, 39 pages. In chapter 6.5, the latter specification defines the different protocol operation elements with which the DM manager 220 and/or the SM agent 110 may define the DM commands to the management tree 140 of the managed client device 100. The OMA DM specification “SyncML Device Management Tree and Description”, version 1.1.2, chapter 9.3.4 describes the current management tree related features. In one scenario, conventional OMA DM procedures are applied between the DM manager 220 and the DM agent 120 for configuration management, i.e. for setting appropriate configuration parameters and the present SM procedures are applied for management of services, typically for management of entire applications or at least application portions, covering for instance installation and updates instead of merely setting appropriate settings.
The SM level entities (SM manager 210 and the SM client 110) may be configured to use at least some of the DM layer services, in the present embodiment the OMA DM services, specified in the OMA DM specifications. Besides the above-illustrated device management features, OMA DM security and session management features may be utilized, for instance.
The above-illustrated features may be applied for service management (SM) and/or device management (DM). In one embodiment in step 302 and in step 402 it is defined whether SM or DM management is applied. Since these management techniques are by their nature very different (SM is especially suitable for high level application and service management, whereas DM is very suitable for configurations settings management), this embodiment enables the selection of suitable management protocol. At least part of the already mentioned criteria may be applied when selecting between SM and DM in step 302. It is to be noted that the checking steps 303 and 403 are not necessary in this embodiment; for client device 100 it is enough that it defines whether SM or DM features are to be applied. It is to be noted that if SM level management is selected, the DM level services may be utilized for arranging the delivery of the SM level managed asset, as will be illustrated later.
In the following, service management features according to an embodiment are further illustrated, referring also to
In one embodiment, the service management manager 210 defines one or more DM commands on the basis of a SM level command (when SM has been selected as the management method) and forwards them to the DM manager 220 which communicates the DM command(s) using a DM protocol to the DM agent 120 in the managed device 100. In this embodiment the DM functions are used to serve the transmission of SM level commands. Thus, in protocol layer view, the DM layer is underneath the SM layer and uses transport services of an underlying transport protocol layer such as the HTTP. Alternatively the DM manager entity 120 may be configured to perform the mapping 402 between the SM and DM commands.
In one embodiment, the DM client 120 receives the DM message and defines a corresponding SM command for the received DM command. The DM client 120 may then forward the defined SM command or may indicate the required SM command to the service management agent 110. Thus the DM agent 120 may be configured to notify the SM agent 110 on the basis of the one or more received device management commands. The SM agent 110 may then carry out the one or more service management commands on the basis of the notification from the DM agent 120. The DM agent 120 may notice on the basis of the target node or an area in the management tree 140 identified in the received DM command that an SM command needs to be defined.
The DM agent 120 may perform the DM command to a node controlled by the SM agent 110 in the DM tree 140. In an embodiment the SM agent 110 is configured to detect a modification to the management tree 140 due to execution of one or more device management commands. The SM agent is thus triggered to initiate an action to carry out a SM level management action, see for instance the use of “Local Operations” node illustrated later. For instance, the SM agent 110 may be configured to follow one or more nodes of the management tree 140 and detect an execution command to such node, thereby identifying the required SM command.
The SM agent 110 may be configured to further modify the management tree 140 in accordance with the derived service management command. In a further embodiment, the received device management command comprises a plurality of sub-tasks and is mapped by the SM agent 110 into a plurality of service management commands.
In an alternative embodiment the DM agent 120 merely delivers the received DM command to the SM agent 110. The SM agent 110 may then define a corresponding SM command for the received DM command and carry out the required action.
The management system is configured to support a number of management commands in order to deliver and manage services, for instance native applications and/or application components. In one embodiment the following SM commands or primitives are supported: service and/or application inventory, delivery, installation, activation/deactivation (not necessary for all services/applications), update, and removal. These commands may be utilized in the above illustrated method features, but it is to be noted that the scope of the invention is not limited to any particular commands, and any forthcoming command types may also be used. In one embodiment the inventory of existing manageable items is made before any other SM management commands are defined by the SM manager 210.
In an embodiment, the service management system employs deployment components for controlling some of manageable items controlling a service in the client device 100. A deployment component is an abstraction model dedicated especially for SM level management functions, and it represents a group of manageable items of an application. This embodiment provides flexibility for service management operations, and closely-related manageable items may be gathered as a single deployment component.
For instance, a deployment component in the management tree 140 can be an executable, a library, a setting, a resource, a UI element, a certificate, or a license. A deployment component may be associated with a predetermined number of states. A current state of the deployment component may be changed by atomic state transfer primitives. The deployment component may be an independent file, an .SIS file, a .CAB file, a .JAR file, or a .ZIP file, for instance. At least some of the following metadata attributes can be determined in a management tree 140 for a deployment component, and also in a delivery package from the DM server 220 comprising one or more deployment components: Version, identifier, name (Displayable name for the component), type (If not part of the component content), size, and location. The deployment components may be bundled into a delivery package between the SM server 210 and the SM agent 110, optimised for delivery purposes (for instance compressing or DRM (Digital Rights Management)). The SM system keeps a record of deployment components and their status, in the present embodiment by the management tree 140. The service management SM commands from the SM server 210 to the SM agent 110 are thus addressed to one or more deployment components.
In one embodiment, at least one node is stored in the management tree 140 for a deployment component. These deployment component nodes may be modified using SM commands which may be defined (by the SM agent 110 or the DM agent 120) on the basis of received DM level commands. As already mentioned above, the service management agent 110 may be configured to maintain information on deployment components in the management tree 140.
At least some of the above illustrated management method definition features are in one embodiment applied for arranging delivery of service management deployment components. In one embodiment at least part of these features are implemented in the SM level by SM agent 110 and the SM manager 120. For instance, the SM level command for indirect delivery of a deployment component is mapped to a DM level ADD command to the “Download” node, the command comprising the reference information of the deployment component as illustrated in the sub-node of
According to an embodiment, the deployment component is associated in the management tree 140 with a state describing the current status of the deployment component. Thus, state information can be easily obtained for a deployment component from the same management tree 140. In a further embodiment, the management tree 140 comprises a node for at least some of the possible states such that the deployment component is stored under a node described the current state. For instance, suitable states could be “Active”, “Inactive”, and “Delivered”. This embodiment is illustrated in the exemplary management tree in
Further, the service management system may provide means for making an inventory of the existing deployment components. In one embodiment the inventory is carried out by the SM agent 110 and the results of the inventory, i.e. information indicating the existing deployment components in the device 100, are returned to the DM client 120 which forwards them by a DM message to the DM manager 120. The DM manager 120 forwards information on the existing deployment components to the SM manager 210. The inventory may be carried out by traversing through the management tree 140, searching for deployment components. In another embodiment, the management tree 140 comprises a specific inventory node for arranging an inventory of the deployment components. In one possible implementation scenario, nodes for each possible state are sub-nodes of an inventory node, as illustrated in
In one embodiment the management tree 140 comprises a node “Local Operations” for arranging (local) operations for the management tree 140.
As illustrated in the example of
For instance, a sub-node is arranged for an activation operation, (“Activate”). In response to execution command to this sub-node, at least one node comprising a deployment component or another manageable object is set to active state. Referring to the state embodiment also illustrated in FIG. 6, a deployment component under the “Inactive” node would then be moved under the “Active” node.
Other exemplary local operations shown in
It is to be noted that, instead of the example in
In the following, some service management uses cases are illustrated.
It is to be noted that instead of the above-illustrated corporate IM and service provider entities, other kinds of administrative entities may be in control of the management server device 200 and manage the client device 100 by the present SM and/or DM features. For instance, network operators or manufacturers could also be such administrative entities.
It should be noted that the embodiments described above could also be applied in any combination thereof. It is apparent to a person skilled in the art that as technology advances, the basic idea of the invention can be implemented in many different ways. The invention and its embodiments are thus not restricted to the examples described above but can vary within the scope of the claims.
This application claims the benefit of the U.S. Provisional Application No. 60/585,162, filed Jul. 1, 2004, the content of which is incorporated by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
60585162 | Jul 2004 | US |