1. Field of the Invention
The present invention relates to a method used in a service system and related communication device, and more particularly, to a method of handling access control information and related communication device.
2. Description of the Prior Art
Open Mobile Alliance (OMA) is founded to develop OMA specifications for mobile services to meet users' needs. Furthermore, the OMA specifications aim to facilitate providing of the mobile services which are interoperable across geographic areas (e.g. countries), operators, service providers, networks, operation systems and mobile devices. In detail, the mobile services conforming to the OMA specifications can be used by the users without being restricted to particular operators and service providers. The mobile services conforming to the OMA specifications are also bearer agnostic, i.e., the bearer that carries the mobile services can be a second generation (2G) mobile system such as Global System for Mobile Communications (GSM), Enhanced Data rates for GSM Evolution (EDGE) or General Packet Radio Service (GPRS), or a third generation (3G) and beyond mobile system such as Universal Mobile Telecommunications System (UMTS), Long Term Evolution (LTE) or LTE-Advanced (LTE-A). Further, the mobile services conforming to the OMA specifications can be executed on various operation systems such as Windows, Android or Linux operated on various mobile devices. Therefore, industries providing the mobile devices or the mobile services supporting the OMA specifications can benefit from a largely growing market enabled by interoperability of the mobile services. Besides, the users use the mobile devices or the mobile services supporting the OMA specifications can also have a better experience due to the interoperability of the mobile services.
In OMA Device Management (DM) requirement, a DM server is defined as an authorized legal entity which can manage one or more DM clients (e.g. mobile devices) by using a DM protocol (e.g., DM protocol 1.x, DM protocol 2.0, or later versions) conforming to the OMA specifications. In detail, the DM protocol defines a way according to which a packet, a message and/or a package (i.e., a combination of multiple messages transmitted in a same direction) is exchanged between the DM server and the DM client. The DM protocol also defines a way according to which the DM client can feedback a command, a status or a report to the DM server. Further, when using the DM protocol, the DM server manages the DM client through a set of management objects (MOs) in the DM client, wherein each management object may include one or more nodes. A management object may be small as an integer or large as a picture. Besides, the management object may conform to the DM protocol such as a Software Component Management Object (SCOMO), a Software and Application Control Management Object (SACMO) or a Firmware Update Management Object (FUMO).
In the DM protocol 1.x, an access control list (ACL) of a node (e.g., an interior node or a leaf node) is used for listing DM servers having one or more access rights of the node. In detail, there are five access rights: Add, Delete, Replace, Exec and Get which correspond to an Add command, a Delete command, a Replace command, an Exec command and a Get command (i.e., DM commands), respectively. For example, a DM server having an access right of Get for a node can retrieve (i.e., get) content of the node. The content of the node can be data (e.g., value) of the node when the node is a leaf node, or can be a child list of the node when the node is an interior node. In certain situations, except the content of the node, a DM server with the access right of Get may also retrieve the ACL of the node. A method according to which the DM server retrieves the ACL is similar to the above description, and is not narrated herein. Thus, a node-level ACL can be provided by the DM protocol 1.x.
However, the DM protocol 2.0 is developed to provide a MO-level ACL. In detail, if a DM server has an access right for a management object, the DM server has the access right for all nodes in the management object. When a new management object is added in a DM client conforming to the DM protocol 2.0, only the MO-level ACL can be added for the management object. Besides, when a DM client conforming to the DM protocol 1.x is (or to be) upgraded to the DM client conforming to the DM protocol 2.0, the DM client can not keep (i.e., maintain) original ACLs in the DM client due to inconsistency between the node-level ACL and the MO-level ACL. As a result, the original ACLs may be ignored or deleted, and the management object including the nodes therein can not be properly managed or controlled. Thus, converting original access control information created according to the DM protocol 1.x to new access control information conforming to the DM protocol 2.0 (i.e., generating the new access control information according to the original access control information) is a topic to discussed and addressed.
The present invention therefore provides a method and related communication device for handling access control information to solve the abovementioned problem.
A method of handling access control information of a management object in a device management (DM) client of a service system is disclosed. The method comprises creating a management tree for storing the access control information of the management object; arranging a first node in the management tree, for storing an identifier of the management object; arranging a second node in the management tree, for storing an identifier of a DM server of the service system; arranging a third node in the management tree, for storing a path of a node in the management object; and arranging a fourth node in the management tree, for storing access right of the DM server related to the node.
These and other objectives of the present invention will no doubt become obvious to those of ordinary skill in the art after reading the following detailed description of the preferred embodiment that is illustrated in the various figures and drawings.
Please refer to
In
Please refer to
Please refer to
Step 300: Start.
Step 302: Create a management tree for storing the access control information of the management object.
Step 304: Arranging a first node in the management tree, for storing an identifier of the management object.
Step 306: Arranging a second node in the management tree, for storing an identifier of the DM server.
Step 308: Arranging a third node in the management tree, for storing a path of a node in the management object.
Step 310: Arranging a fourth node in the management tree, for storing access right of the DM server related to the node.
Step 312: End.
According to the process 30, after a management tree is created for storing the access control information of the management object, a first node is arranged (i.e., created) in the management tree for storing an identifier of the management object, a second node is arranged in the management tree for storing an identifier of the DM server, a third node is created in the management tree for storing a path of anode in the management object, and a fourth node is created in the management tree for storing access right of the DM server related to the node. In other words, even though the DM protocol of the DM client may be upgraded from 1.x to 2.0, original access control information created according to the DM protocol 1.x can be kept (i.e., converted) via adding two nodes for the path and the access right. That is, the management tree is created according to the DM protocol 2.0 or later versions, for storing the access control information created according to the DM protocol 1.x. Thus, the original access control information is kept, and the management object including the nodes therein can be properly managed.
Please note that, a method according to which the DM client uses the management tree is not limited. For example, after receiving a message transmitted by a DM server (e.g., the DM server with/without the access right) of the service system, the DM client determines whether a path in the message is valid according the path in the third node (e.g., point to the same node). If the DM client determines that the path in the message is not valid (e.g., point to different nodes), the DM client can discard or reject the message. Alternatively, if the DM client determines that the path in the message is valid (e.g., point to the same node), the DM client continues to determine whether to grant a DM command in the message according to the access right in the fourth node. That is, the DM client determines whether to grant the DM command by checking the DM command and the access right in the fourth node. If behavior of the DM command is the same as the access right in the fourth node (e.g., Get command and read access right), the DM client allows the DM command in the message to be executed on the node. Otherwise, the DM client can reject the message. Thus, the DM client can grant the DM command to the DM server, after the above checks are completed successfully. The access right is a control right related to a DM command. For example, when the access right includes the DM command and an identifier of the DM server with the access right, e.g., “Get=DM server ID”, the DM client grants the DM command in the message. In another example, when the access right includes the DM command, e.g., “Get”, the DM client grants the DM command in the message. Alternatively, when the access right is related to the DM command, e.g., “Read”, the DM client grants the DM command to read in the message.
In another example, after receiving a message transmitted by a DM server (e.g., the DM server with/without the access right) of the service system, the DM client determines whether an identifier of a management object (which may not be the management object described by the management tree) corresponding to (i.e., indicated by) a path in the message is valid according the identifier in the first node (e.g., whether the identifiers of the management objects are the same). If the DM client determines that the identifier of the management object indicated by the path in the message is not valid (e.g., the identifiers are different), the DM client can discard or reject the message. Alternatively, if the DM client determines that the identifier of the management object indicated by the path in the message is valid (e.g., the identifiers are the same), the DM client continues to determine whether an identifier of the DM server transmitting the message is valid according to the identifier in the second node (e.g., whether the identifiers of the DM servers are the same). If the DM client determines that the identifier of the DM server transmitting the message is not valid (e.g., the identifiers are different), the DM client can discard or reject the message. Alternatively, if the DM client determines that the identifier of the DM server transmitting the message is valid (e.g., the identifiers are the same), the DM client continues to determine whether a path in the message is valid according the path in the third node (e.g., point to the same node). If the DM client determines that the path in the message is not valid (e.g., point to different nodes), the DM client can discard or reject the message. Alternatively, if the DM client determines that the path in the message is valid (e.g., point to the same node), the DM client continues to determine whether to grant a DM command in the message according to the access right in the fourth node. That is, the DM client determines whether to grant the DM command by checking the DM command and the access right in the fourth node. If behavior of the DM command is the same as the access right in the fourth node (e.g., Get command and read access right), the DM client allows the DM command in the message to be executed on the node. Otherwise, the DM client can reject the message. Thus, the DM client can grant the DM command to the DM server, after the above checks are completed successfully.
Please note that, in the above examples, the message is rejected after determining one of the checks is not valid. However, this is not a restriction, and the DM client can check the message according to a MO-level ACL described according to the DM protocol 2.0 after determining one of the checks is not valid, to see if the message is valid according to the MO-level ACL. That is, the DM client still grants the DM command to the DM server, after determining that the message is valid according to the MO-level ACL. The DM client discards or rejects the message, after determining that the message is not valid according to the MO-level ACL. Alternatively, the DM client can check the message according to the MO-level ACL, before checking the message according to a node-level ACL, i.e., before proceeding the above examples (i.e., checking the four nodes). In other words, the DM client proceeds the above examples (i.e., checking the four nodes), after determining the message is not valid according to the MO-level ACL. The DM client does not proceed the above examples and grants the DM command to the DM server, after determining the message is valid according to the MO-level ACL.
On the other hand, a time at which the management tree and the nodes therein (i.e., the four nodes) are created is not limited. For example, the management tree and the nodes therein can be created, when the DM client is upgraded from the DM protocol 1.x to the DM protocol 2.0. Besides, the management tree and the nodes therein can be first created by a DM server (e.g., the DM server with the access right), and is then transmitted to the DM client. Alternatively, the management tree and the nodes therein can be created by the DM client itself.
Please refer to
Those skilled in the art should readily make combinations, modifications and/or alterations on the abovementioned examples. The abovementioned steps of the processes including suggested steps can be realized by means that could be a hardware, a firmware known as a combination of a hardware device and computer instructions and data that reside as read-only software on the hardware device, or an electronic system. Examples of hardware can include analog, digital and mixed circuits known as microcircuit, microchip, or silicon chip. Examples of the electronic system can include a system on chip (SOC), system in package (SiP), a computer on module (COM), and the communication device 20.
To sum up, the present invention provides a method for handling access control information for a management object in a DM client. According to the present invention, original access control information created for the management object (and/or nodes therein) according to the DM protocol 1.x can be converted to new access control information conforming to the DM protocol 2.0. As a result, the original access control information is kept, and the management object and the nodes therein can be properly managed after the DM protocol of the DM client is upgraded from 1.x to 2.0.
Those skilled in the art will readily observe that numerous modifications and alterations of the device and method may be made while retaining the teachings of the invention. Accordingly, the above disclosure should be construed as limited only by the metes and bounds of the appended claims.
This application claims the benefit of U.S. Provisional Application No. 61/577,674, filed on Dec. 20, 2011 and entitled “Converting method for access control system in OMA Device Management”, the contents of which are incorporated herein in their entirety.
Number | Date | Country | |
---|---|---|---|
61577674 | Dec 2011 | US |