The invention relates to specifying nodes of a management structure used in device management in a device management system.
The significance of device management is emphasized as the different data processing devices, such as mobile stations, become more complex. Various settings are required in the devices, such as settings associated with Internet access points, which are laborious and difficult to set manually by the user. Device management solutions have been developed for instance to solve this problem, by means of which for instance an administrator of a company's data system or a teleoperator is able to configure a device suitably. Usually device management refers to measures by which parties external to the device are able to change the configuration of the device, for instance change the settings or even some protocol used by the device. Not only settings associated with the device, but also user-specific data, such as user profiles, logos, ringing tunes and menus can be sent, allowing the user to modify the settings of the device into personal or the modification to take place automatically in association with device management.
One device management standard is SyncML device management (Synchronization Markup Language) of the OMA (Open Mobile Alliance), which is partly based on the SyncML protocol. For instance, a PC (Personal Computer) may serve as a device management server and a mobile station as a device management client. The client device acting as client from the point of view of device management sends information about itself to a management server performing device management in a session initiation message, to which the management server responds by sending its own information and server management commands. The client device responds by status information, after which the server can end the session or send more server management commands. If the server sends more management commands, the client device should respond to these by status information. Having received status information, the server is always able to end the session or continue it by sending more device management commands. The device management may also be implemented such that inquiries are first sent to the user about what he wants to update, and information about the user's selections is sent to the server. The server can then send the updates/operations requested by the user in the next packet.
In the client device, the matters to be managed are arranged as management objects. Management objects are entities in the client device and are manageable by the management server's management commands. The management object may be for instance an integer or a large entity, such as a background picture or a screensaver. At least some management objects can be standardized; the SyncML device management standards presently include three standardized management objects.
In SyncML device management, management objects are arranged in the form of a tree as a management tree, illustrated in
According to the SyncML DM specification of the OMA “SyncML Device Management Tree and Description”, version 1.1.1, 2 Oct. 2002, 48 pages, chapter 8, different device manufacturers can form a device description containing device-specific property information for the management server by using a standardised DTD (Document Type Description) of a device description framework (DDF). The DTD model of the device description defines the XML elements in which the device manufacturer can specify the properties of the device type, thus forming a device description. On the basis of the device description, the management server is able to send management commands to various devices serving as device management clients. The device description can specify particularly the internal software structure of a client device as to the objects to be managed. Property information may include, node-specifically, information whether the device (more specifically, the node to be specified) supports the use of a time stamp (when the node was last changed) or which MIME types the node supports. The description specifies only the element Occurrence, which can define how many times the node occurs in the management tree. With this element, the management tree can be extended in the width direction by adding several parallel nodes, if it is specified in the element Occurrence that the node can occur in the management tree more than once (e.g. the node ‘Operator’ parallel to the node ‘Vendor’). A problem with the device description according to this specification is that it is cumbersome to extend the management tree in the depth direction (e.g. child node ‘Screen saver’ for the node ‘Vendor’), since for each node, all child nodes underlying a node must be predefined in the device description. For this reason, device descriptions may become large. If a node serves as a child node for several nodes, it must be described in the device description of each node, or separate device descriptions must be used.
A method, a device management system, a data processing device, a computer program product and a data structure are provided, which are characterized by what is stated in the independent claims. Some preferred embodiments of the invention are described in the dependent claims.
In accordance with the invention, the device description comprises, for at least one node, recursion information concerning the starting point for recursion, whereby the node is repeated according to the recursion information in the management structure.
The node generally refers to an entity that is associated with device management and can be configured by a third party, e.g. to the settings of an Internet access point, without restriction to the nodes of SyncML device management. Correspondingly, the management structure can be a structure having any shape and containing nodes, without restriction to device management trees of the SyncML device management having the shape of a tree. Node repetition means that a node which is in accordance with the information substantially specified for the node in device description, e.g. in the element Node of the DDF description of the SyncML device management, can be added to several points in the management structure (i.e. in addition to the upper node specified for the node, under at least one node defined in the recursion information); naturally, information to be stored in various nodes can be different. Recursion information refers generally to information of any type, which indicates the repeatability of the node and defines at least the starting point for/of repetition (the starting point can also be defined by the position of the recursion information).
The invention enhances and improves the modelling of devices. The solution of the invention provides the advantage that device descriptions can indicate that nodes can be repeated especially in the depth direction. The device management server can thus repeat nodes which are defined in the recursion information as repeatable nodes, and a corresponding node can be added anywhere in the management structure. Hence, nodes can be specified in a much more versatile manner and not every child object of the node need be specified in the device description. Thus, the size of device descriptions becomes smaller and fewer resources are needed to store and transfer them.
According to an embodiment of the invention, recursion information also comprises information on the number of recursions, whereby the node is repeated in the management structure by restricting the number of recursions as defined by the information on the number of recursions. The number of node repetitions can thus be restricted in the management server.
In the following, preferred embodiments of the invention will be described in greater detail with reference to the accompanying drawings, in which
In the following, an embodiment of the invention will be described in a system supporting SyncML device management, but is should be noted, however, that the invention is applicable to any device management system enabling the organization of device management objects also in other ways than as a tree structure.
In the second example, the client device TE communicates with the server S via a mobile network MNW. The terminal TE, connected to the network MNW, comprises a mobile station functionality for wireless communication with the network MNW. Other networks may also exist between the mobile network MNW and the server S, such as a local area network LAN. The mobile network MNW may be any known wireless network, e.g. a network supporting the GSM service, a network supporting the GPRS service (General Packet Radio Service), a third generation mobile network, such as a network according to the network specifications of the 3GPP (3rd Generation Partnership Project), a wireless local area network WLAN, a private network or a combination of networks. An important service in the transport layer in several mobile networks is the WAP, the WSP layer (Wireless Session Protocol) comprised by which is used to provide transport service to the device management application layer in the client device TE and the server S. In this case, the system comprises at least one WAP gateway and optionally one or more WAP proxy servers. The WAP also supports other transfer techniques, such as the HTTP or OBEX standards. Lower-level transfer techniques can be used such as circuit or packet-switched data transfer or SMS-based transfer in accordance with the properties of the underlying mobile network MNW. In addition to the preceding examples, other device management configurations are also feasible, such as a management connection between the terminals TE or a direct management connection between the terminal TE and the server S by using a wired or wireless connection without other network elements.
As
According to an embodiment, device descriptions are documents based on the XML language. For XML-based documents, a document type definition DTD is specified, which in the XML language specifies the tags used, the structural relations of the elements (!ELEMENT) between the tags, and other usable specifications of the XML documents. As is well known in the XML language, a data element begins with an initial identifier (e.g. <section>) and ends in an end identification (</section>), and it may include text or other elements. The DTD is present in all documents sent or a reference is made therein to a known DTD. In accordance with an embodiment, a device description is specified on the basis of the DTD model of the device description defined in the SyncML device management specification. The DTD model and the device description formed by using the DTD model specify particularly elements for identifying the device manufacturer and the device type as well as properties of the nodes that can be specified for the device. Node-specific information specifies, for instance, the name of the node, a path to the node, run-time properties of the node and stable node information for the management server. In addition to the above description, the invention is also applicable to other types of device descriptions, for instance other description frameworks can be used, such as RDF (Resource Description Framework), CC/PP (Composite Capability/Preference Profiles), CIM (Common Information Model), GUP (Generic User Profile), XML Schema and UML (Unified Modelling Language).
Device descriptions are typically formed for each device type specifically, and they can be defined 401 by the manufacturer already during manufacture. After the device description is defined, it can be stored in the memory SMEM of the device management server S, for example. According to an embodiment, the device description can also be created or modified 401 in the terminal TE. For instance, when a software update is performed in the terminal TE or a new software component is added thereto, also the device description can be defined 401 in the terminal TE and stored in the memory MEM of at least the TE.
According to an embodiment of the invention, in the device description recursion information, i.e. information about the repeatability of the node, is specified for at least one node. In this case, the DTD of the device description document can comprise one or more elements or fields for defining at least the starting point for recursion. Other recursion information can also be defined in the DTD of the device description documents and thus in the device description documents. Different embodiments of defining recursion information in the device description documents are illustrated in more detail later.
Device descriptions must be available to the management server for device management. When nodes are to be specified 402 for the device to be managed, i.e. at least when new nodes are to be formed or the existing nodes are to be modified, the server retrieves 403 the device description on the basis of a device identifier, such as a manufacturer identifier and a device type identifier. Device descriptions can be maintained in the memory SMEM of the server S, or the server S can retrieve the device description from an external device, e.g. over the Internet from a server maintained by the device manufacturer. According to an embodiment, the device description can also be obtained from the terminal TE by requesting it in the beginning of the device management session, for instance.
In step 404, the content of one or more nodes to be added to the management tree or of at least one node to be modified is defined by processing the data structure including the device description. The new node can be of any object type, such as an internal node or a leaf node.
According to an embodiment, the new node or the node to be modified is repeated 404 in the management tree. In this case the node, which is defined as a repeatable node in the device description, can be repeated in the management tree. According to an embodiment, recursion information which contains at least the information on the starting point for recursion is specified for the repeatable node in the device description. The node can thus be repeated at the starting point defined in the recursion information, possibly considering other settings defined in the recursion information, such as the number of repetitions. Any child node of the node in question can be defined as the starting point, which means that the node can be repeated in the depth direction in the management tree. Some other node in the management tree, which may also be defined in some other device description, can also be defined as the starting point. In this embodiment, the node can be repeated anywhere in the management tree. On the basis of the recursion information, the management server S knows which nodes can be repeated and where these nodes can be repeated.
According to an alternative embodiment, the recursion information is defined in the information of the node under which the repeatable node is repeated. In this case, the starting point for recursion is implicitly defined on the basis of the location where the recursion information is defined. Thus, the recursion information also comprises the identifier or address of the repeatable node, on the basis of which the repeatable node is achieved. The repeatable node can be any node of the same or different device description. With reference to
Again, with reference to
According to an example, a bookmark node specified in the device description for bookmarks is repeated. Since the bookmarks typically form folder structures, a bookmark node can be repeated on the basis of the recursion information for a bookmark node in the device description and thus the folder structures can be added for the bookmarks as child nodes and/or leaves of the management tree.
According to another example, nodes specified for software management can be repeated in the management tree. Folder structures can easily be specified for software by using only one node description comprising the recursion information in the device description. It is often necessary that, e.g. for reasons of information security, several long directory paths must be created for software, and repeating of nodes according to an embodiment of the invention on the basis of the recursion information of the device description is especially useful when directories of this type are created.
According to an embodiment, the recursion information also comprises information on the number of recursions. In this case, the management server S is arranged to repeat the node 404 in the management tree by restricting the number of repetitions according to the information on the number of recursions. The information on the number of recursions can, for instance, define the maximum number of repetitions, not allowing the management server to repeat the node more than the maximum number of times in the management tree. The information on the number of recursions can also specify that the number of repetitions should be, for instance, zero or more, at least one, n, zero to n, one to n, zero to ∞, or n to ∞. In this embodiment, the number of node repetitions in the management tree can be restricted device-specifically.
The number of repetitions can be set to be the same for all repeatable nodes. Nodes can thus be repeated in any management tree. Another alternative is that the client device (TE) limits the number or repetitions, i.e. does not add the repeatable nodes the number of which exceeds the maximum number to the management tree.
According to an embodiment, the recursion information also comprises information on the end point for recursion. The repetition of the node in the management tree is thus ended in step 404 at the end point. The recursion information may specify, for instance, that the end point for recursion is one of the node's child nodes after which the nodes specified in the node description will no longer be repeated (in the node to be added to the starting point). By means of this embodiment it is possible to define that only a part of the node should be repeated.
According to an embodiment, the recursion information also comprises name information or a recursion identifier of another type. In this way, different types of recursion information can be named and distinguished from each other easily. In this embodiment, a name can be specified for a repeatable node in the device description, which name can be different from that of the node according to whose specifications the repeatable node is formed. According to an alternative embodiment, the name information can identify the repeatable node.
It is to be noted that the above embodiments can also be applied as a combination thereof. The recursion information can be specified in at least one element which is specified for the device description document. According to an embodiment, this information is specified in the run-time properties of the node, i.e. in the node-specific element RTProperties of the device description of the SyncML device management. According to a further embodiment, the recursion information is specified in the element Type specifying whether the node in question supports the use of the property Type. The starting point for recursion, but also other above-mentioned information, such as information on the number of repetitions, can be specified as values in the element Type. In the device description, e.g. the URI identifier and the information on the number of repetitions, separated from the URI identifier by semi-colon, can be specified in the element Type. In the internal nodes and leaf nodes, the element Type may include different information. Since, according to an embodiment, the location of the recursion information can indicate the starting point for recursion, the element Type may only comprise an indication about the recursion and the identifier of the repeatable node. The element Type may also include other information, such as scripts or command lines.
According to an embodiment, the device description comprises at least one new element for specifying recursion information. This information can be defined, for instance, in a property element DFProperties specifying static information of the node. The element DFProperties of the DTD, containing the above recursion information, is described below by way of example.
The elements Start Point for specifying the starting point for recursion, RecName for specifying the name of the recursion, R-tag for specifying the number of repetitions and End Point for specifying the end point for repetitions have thus been added to the DTD. In the device description document, the specifications according to which the node can be repeated 404 in the management tree can thus be specified in step 401 in these recursion elements for the nodes repeatable in the management tree.
As illustrated below, according to another example a new recursion element (RecProperties) is specified for the element DFProperties of the DTD, and at least part of the above recursion information is specified as subelements or values of this recursion element.
It is to be noted that it is not necessary to specify all recursion information described above in the DTD or device description for repeating the nodes.
It is obvious to a person skilled in the art that as technology advances, the basic idea of the invention can be implemented in various ways. The invention and its embodiments are thus not restricted to the above examples but may be modified within the scope of the claims.
Number | Date | Country | Kind |
---|---|---|---|
20031061 | Jul 2003 | FI | national |