1. Field of the Invention
The present invention relates to a method used in a service system, and more particularly, to a method of defining a condition scenario in software and application control management object for a service system.
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 provide 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 restriction 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 GSM, EDGE or GPRS, or a third generation (3G) and beyond mobile system such as UMTS, LTE or LTE-Advanced. Further, the mobile services can be executed on an operation system such as Windows, Android or Linux operated on various mobile devices. Therefore, industries providing 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 devices or the mobile services supporting the OMA specifications can also have a better experience due to the interoperability of the mobile services.
A device management (DM) protocol conforming to the OMA specifications is designed for management of mobile devices such as mobile phones, PDAs and palm top computers. The device management is intended to support the following typical uses: configuration of device for allowing changes to settings and parameters of the device, software upgrades for providing new software (e.g. applications and system software) and/or bug fixes to be loaded on the device, and fault management for reporting errors from the device, and/or querying about status of the device. In addition, the DM protocol defines a way according to which a DM client (e.g. mobile device) communicates with a DM server (e.g. network), and thereby the DM client can feedback a command, a status or a report to the DM server. Further, the DM server manages the DM client through a set of management objects in the DM client. The management object is conformed to a Software and Application Control Management Object (SACMO) specification, which aims to enable remote operations for software and application control in the device. SACMO specifications will provide capabilities of processing management actions such as workflow, processing or on device management of software and applications utilizing existing management objects. The SACMO architecture has to support DM operations to be applied according to workflow scripts in the device, whereby any combination of operations on existing Management Objects can be applied and conditionally executed, with just the combined result being reported back to the DM server.
The goal of SACMO is to enable DM operations to be applied according to workflow scripts in the device, whereby any combination of operations on existing Management Objects can be applied and conditionally executed, with just the combined result being reported back to the DM server. This avoids a series of individual client-server interactions, thereby optimizing the network traffic and reducing the workflow execution time.
Please refer to
In current design in SACMO, a SACMO Client checks a Condition node under a NextStep sub-tree to decide whether to execute this NextStep or not. A SACMO Server uses text in the Condition node to describe in what scenario a NextStep should be executed. However, using a text to describe in what scenario a NextStep should be executed is not interoperable.
The disclosure therefore provides a method of defining a condition scenario in a management object in a service system.
A method of defining a condition scenario in a management object in a service system is disclosed. The MO comprises a step sub-tree and a condition node under the step sub-tree. The method comprises: creating at least two nodes under the condition node of the step sub-tree, wherein the at least two nodes comprise a first node and a second node; defining a comparison requirement for the first node and defining a comparison value for the second node; comparing the comparison value with a specific value and generating a comparison result; and executing a next step when the comparison result meets the comparison requirement.
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
A SACMO management object (MO) tree is defined and used for setting up parameters and operational functions necessary for executing a workflow without indications from the SACMO server. The SACMO server sends the management object tree to the SACMO client for setting up a workflow. Then, the SACMO client executes the workflow according to the management object tree until the workflow is completed or an error occurs.
Please note that the service system 20 is just an example according to the present disclosure. The service system 20 can be composed of other servers and clients, which are conformed to other specifications than SACMO, thus not limited herein.
Please refer to
Please refer to
Step 400: Start.
Step 402: Create multiple nodes under a condition node of a Step sub-tree.
Step 404: Define a comparison requirement for one of the nodes and definite a comparison value for the others.
Step 406: Compare the comparison value with a specific value and generating a comparison result.
Step 408: Execute a next step when the comparison result meets the comparison requirement.
Step 410: End.
According to the process 40, the SACMO client creates at least two nodes under the condition node of the Step sub-tree. One of the nodes can be used to specify a comparison requirement. One or more nodes can be used to specify one or more comparison values. The SACMO client compares the comparison value with a specific value and generates the comparison result. The SACMO client executes a next step when the comparison result meets the comparison requirement. Therefore, no more non-interoperable text is used in a condition node to describe the condition scenario. The SACMO client can determine whether to execute the next step by checking the comparison requirement and the comparison value. In some examples, there is only one node for the comparison value. In some examples, there are more nodes defined for different comparison values.
In some examples, the specific value can be a process result or a result code of a process. If the specific value is the process result, the comparison requirement comprises at least one of the followings: the process result is equal to the comparison value; the process result is not equal to the comparison value; the process result is greater than the comparison value; the process result is smaller than the comparison value; the process result is greater than or equal to the comparison value; the process result is smaller than or equal to the comparison value; the process result is not greater than the comparison value; and the process result is not smaller than the comparison value.
After executing a Process of a Step, the SACMO client compares the process result with the comparison value to decide whether to execute the next step or not. If the comparison result fulfills the comparison requirement, the SACMO client executes the next step. For example, a Process of a Step is executed to retrieve the value of current available amount of runtime memory resource which is expressed in kilobytes. The comparison requirement is “the process result is greater than the comparison value” and the comparison value is 4. Then if the value of current available amount of runtime memory is greater than 4 kilobytes, the SACMO client executes the corresponding next step.
If the specific value is the result code, the comparison requirement comprises at least one of the followings: the result code is equal to the comparison value; the result code is not equal to the comparison value; the result code is greater than the comparison value; the result code is smaller than the comparison value; the result code is greater than or equal to the comparison value; the result code is smaller than or equal to the comparison value; the result code is not greater than the comparison value; the result code is not smaller than the comparison value. Preferably, the result code is stored in a StepResult node under the same Step sub-tree.
After executing a Process of a Step, the SACMO client compares the result code with the comparison value to decide whether to execute the next step or not. If the comparison result fulfills the comparison requirement, the SACMO client executes the next step. For example, the comparison requirement is “the result code is equal to the comparison value” and the comparison value is 1200. Then if the result code stored in the StepResult node is equal to 1200, the SACMO client executes the corresponding next step.
In some examples, the SACMO client compares the comparison value with more than one specific value to decide whether to execute the next step or not. Namely, the SACMO client compares the comparison value with the process result as well as the result code of the process. When both of the comparison results meet the comparison requirements, the SACMO client executes the next step.
Please note that the aforementioned Step sub-tree is a sub-tree defined in SACMO, the aforementioned next step refers to a next Step sub-tree in SACMO, and the aforementioned StepResult node is a result node defined in SACMO. In other management object, a sub-tree and a result node can be defined as any specific names, thus not limited herein.
Please refer to Table 1, which illustrates result codes. The result code of the operation is sent as an integer value in Item/Data element of the Generic Alert message or in response to an Exec command in case of synchronous execution.
In addition, the comparison requirement can be interpreted as multiple integers. For example, an integer 2 represents “the process result is equal to the comparison value”; an integer 3 represents “the process result is not equal to the comparison value”; an integer 4 represents “the process result is greater than the comparison value” and so on.
Please refer to
Please note that, 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 30.
To sum up, the SACMO client creates at least two nodes under the Step sub-tree. One of the nodes can be used to specify a comparison requirement. One or more nodes can be used to specify one or more comparison values. The SACMO client compares the comparison value with the specific value and generates the comparison result. The SACMO client executes a next step when the comparison result meets the comparison requirement. Therefore, no more non-interoperable text is used in a condition node to describe the condition scenario.
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 Ser. No. 61/477,621, filed on Apr. 21, 2011 and entitled “Method of defining condition in Software and Application control Management Object”, the contents of which are incorporated herein in their entirety.
Number | Date | Country | |
---|---|---|---|
61477621 | Apr 2011 | US |