TERMINAL AND METHOD TO PERFORM THE ADMINISTRATION OF DEVICES PROGRAMMED BASED ON THE THRESHOLDDESCRIPTION OF THE INVENTIONThe present invention relates to a terminal and method for performing device management programmed based on the threshold thereof. In general, device management (DM) technology refers to the sample (or indication), to a device management (DM) server (or other network entity), of the resources of a device management client (DM) (i.e., a terminal or other user device) as administration objects that exist in a device management (DM) tree (or other type of hierarchical structure or logical format that is used for device management) , allowing access to it, and leaving the DM server easily manage the terminal. In said DM technology, the DM server can instruct the terminal to process commands for device management, while the terminal that is administered, after immediately performing the corresponding command, can report the results thereof to the DM server. Also, the DM server can request the terminal, change, update, delete or otherwise process a particular function for device management. One aspect of the present invention is the recognition, by the inventors herein, of the following drawbacks in the DM technology of the related art. Mainly, in the related art, the terminal can request the DM server DM commands only when a value of the particular administration object exceeds a threshold and subsequently an error or malfunction occurs within the terminal. As such, the terminal diagnostic procedures of the related art become more expensive, and do not allow for the effective resolution of diagnostic problems, since such problems can not be anticipated or discovered before they occur. Thus, in order to address the above drawbacks, the present invention provides a terminal that receives, from the server, the programming context that includes the device management programmed based on the threshold and performs the device administration procedures. in accordance with the threshold. Also, the present invention provides a server that generates a programming context (or other type of programming information) that includes device management programmed based on a threshold to allow the terminal to perform more effective programming.
Figure 1 shows exemplary conceptual structures of a server and a terminal in accordance with the present invention. Figure 2 shows the programming context as an exemplary device management tree structure in accordance with the present invention. Figure 3 shows the programming context as another exemplary device management tree structure in accordance with the present invention. Figure 4 shows an exemplary flow chart of a method of installing the programming context in accordance with the present invention. Figure 5 shows a flow chart for an exemplary method for performing the device management programming in accordance with the present invention. Figure 6 shows an exemplary method for performing a device management programming procedure based on a threshold. Figure 7 shows another exemplary method for performing a trap-based device management programming procedure. The present invention provides a terminal with a first module (or other hardware, software, or combination thereof) that samples a value of a specified management object in the terminal and compares the sampled value with a specified threshold; and a second module (or other hardware, software or combination thereof) that executes a device management command for the administration object, if it is determined by the first module that the sampled value of the administration object has reached the threshold. The present invention also provides a terminal with a first module (or other hardware, software or combination thereof) that receives at least one or more programming contexts of a server, and installs at least one or more of the programming contexts, wherein each programming context includes a command and a threshold-based condition to execute the command; a second module (or other hardware, software or combination thereof) that samples a value of a specified management object in the terminal and compares the sampled value with a specified threshold; and a third module (or other hardware, software or combination thereof) that executes a device administration command for the administration object, if it is determined by the first module that the sampled value of the administration object has reached the threshold. The present invention also provides a server comprising a DM programming enabler that creates at least one or more programming contexts and requests an installation of at least one or more programming contexts to the terminal so that the terminal can perform the programming. administration of devices in accordance with at least one or more programming contexts, wherein each programming context includes a command and a threshold-based condition to execute the command. The present invention also provides a method for administration of a device, comprising sampling a value of a specified administration object; compare the sampled value with the specified threshold; and executing a device management command for the administration object, if it is determined that the value of the administration object has reached the threshold. Hereinafter, exemplary embodiments of the present invention will be described in more detail with reference to the accompanying drawings. It can be clearly understood that these embodiments are merely exemplary and are not intended to limit the present invention. Figure 1 shows exemplary conceptual structures of a server (ie, a DM server) and a terminal (i.e., a DM client) in accordance with the present invention, while Figure 2 shows the programming context as a structure of exemplary device management tree. Also, Figure 3 shows the programming context as another exemplary device management tree structure. With the explanation of Figure 1, Figures 2 and 3 will also be explained.
Figure 1 shows an exemplary DM server (100) and a terminal (100) in accordance with the present invention.1) Characteristics of the DM server The DM server (100) can include a DM programming enabler (110) or other similar hardware and software or any combination thereof. The DM programming enabler (110) may be comprised of a programming context management module (111) and a status report processing module (112) and / or other similar hardware types and software or any combination of the same. The programming context administration module (111) may have a unit (i.e., portion, element, etc. or combination thereof) that generates a programming context and requests the terminal (200) to install or execute the same . In more detail, the programming context management module (111) establishes a device management (DM) session (or some other type of communication term or period) with the terminal (200) in accordance with the relative standard ( such as the DM standard) and subsequently can request the terminal (200) to install the programming context by means of the established DM session. The programming context may include general information and one or more programming components as illustrated in Figure 2. Additional and / or alternative types of information, parameters and the like may also be included. Here, the general information may include one or more of the following: an identifier element of the programming context, a name element, a corresponding server element, and a period of validity element. The programming component may include one or more of the following: a Task element designating a DM command, and a Condition element designating a condition (s) (i.e., ratios, factors, parameters, etc.) ) to execute the DM command. However, it should be noted that the elements are not limited only to those named above, but that different additional elements or only some of the named elements can be used. Here, the command, for device management can be included in a message. In other words, the message may include at least one or more commands for device management. If the message is used, the task element designates the message. And, the above conditions can be based on the timer, based on traps or based on the threshold. The additional or alternative basis for the conditions can also be used. Meanwhile, one or more programming components may exist within the programming context and these programming components may have a logical linkage relationship between them. Mainly, the programming components can be working in common. For example, this common work can be mentioned when a module (or other entity) executes a command of a first programming component if a condition of a first program is satisfied and a command of a second programming component ends. This is particularly useful for threshold-based programming, whereby one or more components may respectively execute in an alternate manner based on a particular threshold value. This concept of common work can be applied to the programming context. That is, if a first programming context of at least one or more programming contexts is initiated, a second programming context of at least one or more programming contexts is stopped. The programming context can be revised (ie, corrected, adapted, modified, etc.) by means of the programming context administration module (111) as necessary, or said revision can be requested to the terminal (200). Also, the programming context administration module (111) may request the terminal (200) to clear the installed programming context. Additionally, when the programming context installed or reinstalled in the terminal (200) changes or when an error occurs or if the programming context status changes, the programming context management module (111) may receive a message (or other indication) of the terminal (200) and perform the appropriate processing thereof.
Previously, it has been described that the task element and the Condition element are included in the programming component. However, it should be noted that these elements can be included directly in the programming context, as illustrated in Figure 3.(2) Characteristics of the terminal The terminal (200) may comprise a DM programming enabler (210) and a DM enabler (220). Here, it can be understood that other hardware, similar software or any combination thereof may be used. The DM programming enabler (210) may be comprised of a programming context installation module (211), a condition selection module (212), a DM command execution module (213) and a programming module. status report (214). Here, it can be understood that other similar hardware, software or any combination thereof can also be used. The programming context installation module (211) is a unit (i.e., portion, element, etc., or combination thereof) that can receive a request for installation of programming context from the server (110) (is say, the DM programming enabler (110)) and perform the appropriate processing thereof. Here, the programming context can be received through the DM enabler (220), subsequently being supplied to the programming context installation module (211). The programming context installation module (211) uses the programming context to generate one or more nodes (or other types of hierarchy points) in a device management (DM) tree (or another type of hierarchy structure or logical format) that is used within the terminal (200). Here, the DM tree can be formed of general information nodes and one or more programming components (administration of programmed devices). Referring to Figure 2, the DM tree (i.e., the programming context installation format) will be explained in more detail. An exemplary DM tree is shown in Figure 2. In more detail, the general information nodes (as shown in Figure 2) can be comprised of an Id node indicating an identifier of the installed programming context, a node of Name that indicates a name of the programming context, a Valid node that indicates a valid period of the programming context, and a Server node that indicates the owner of the programming context. It can be clearly understood that the names and types of these nodes are merely exemplary. The programming component may be comprised of one or more of the following: a Task node indicating a DM command, and a Condition node designating a condition (or circumstance) to perform the DM command. Clearly, other types of additional or alternative nodes are possible.
Here, the DM command is included in a message. Also, the Task node can designate the message that includes the DM command. And, as described above, the condition can be based on a threshold.
Therefore, the Condition node includes a node of Th that specifies a condition based on threshold. The Th node, as illustrated in Figure 2, includes at least one Address node for specifying an address of the administration object, an Interval node for specifying a range for monitoring the value for the administration object, a node for Threshold to specify the threshold, a ThFormat node to specify which boolean format, boolean, character, integer, floating, date or time, a ThType node to specify whether a threshold type is an absolute value or delta value, a Address node to specify which threshold is elevation, fall and static, and a Hysteresis node to specify a margin for the threshold. Also, the Address node includes at least one of a URI node to specify a uniform resource identifier (URI) of the administration object, an MOI node to specify the admin object identifier (MOI) and an MOfilter node to specify additional information to distinguish the specified administration object from other administration objects due to the coexistence of the administration object with the same MOI if The MOI node is used. The URI node can specify a total address, if the MOI node is not present. However, if the MOI node is present, then the URI node can specify a relative address with the root of the management object. In particular, the MOlfilter node includes at least one of a URI node, a Value node and Format node. The URI node included in the MOlFilter node specifies a uniform resource identifier (URI) of the specified administration object, relative to the root of the administration object. The Value node included in the MOlfilter node specifies a value to be compared with a value of the specified administration object indicated by the URI node of the MOfilter node, in order to distinguish the specified administration object from other management objects in if there is more than one administration object with the same management object identifier (MOI). The value in the Value node can be compared with the URI value, if the URI node included in the MOfilter node is present. However, if the URI node included in the MOfilter node is not present, then the value in the Value node can be compared to the root name of the administration object. The Format node included in the MOfilter node specifies a format of the value in the Value node. The possible values are b64, bin, boolean, int, xml, date, time, or floating. If the Format node is not present, then the Value node format can be considered as a character.
Meanwhile, the Threshold node specifies the threshold, and a value of the Threshold node is the numeric text string that represents various formats of the threshold value. The current format of the threshold is determined by the ThFormato node. The sample statistics of the selected management object will be compared with the value of the Threshold node. However, if the value currently sampled is the first one (for example after the recirculation of energy, the Programming Operation has just started), and if there is no previous sample, the last sample is not taken into account. When this threshold is the elevation threshold, an individual condition selection occurs if the currently sampled value is greater than or equal to this threshold, and if the last sample was less than this threshold. When this threshold is the falling threshold, the condition selection occurs in the opposite direction. When this threshold is set at a static threshold, an individual condition selection event occurs when the current sample value is equal to this threshold regardless of the crossover, and if the last sample was not equal to this threshold. However, the logical state of the condition will be true as long as the sampled value equals this threshold. If the hysteresis is specified, after a threshold crossing event is generated, no other will be generated until the sampled value falls below or rises above this threshold by the margin specified by the hysteresis.
The ThFormato node specifies the actual threshold format and hysteresis. The possible values of the ThFormato node are Boolean, chr, int, date, time or floating. The ThFormato node specifies the type of threshold. The possible ones of the ThFormato node are absolute or delta. If the value is Absolute, the sampled value of the administration object will be directly compared to the threshold. If the value is Delta, the value sampled in the last sample will be eliminated from the currently sampled value, and the difference will be compared with the threshold. The Address node specifies the behavior of value changes as the threshold crossing event occurs. The possible values are elevation, fall or static. The static threshold means that the condition selection occurs when the sampled value is equal to the threshold regardless of the crossing direction. The Hysteresis node specifies a hysteresis value. The value of the Hysteresis node is the text string that represents several formats of the hysteresis value. The actual format of the hysteresis value is determined by the ThFormato node. The use of hysteresis prevents several threshold crossing events from being generated if the evaluated sample fluctuates around the threshold due to noise. For example, in case of a threshold in elevation, once the command is executed, it will not be executed again, unless the sampled value becomes lower than the threshold by the margin specified by this node.
Meanwhile, it is described above that the Task node, and the Condition node are included in the programming component. However, it should be noted that these elements can be included directly in the programming context, as illustrated in Figure 3. Before the programming context is installed due to instructions from the DM server (100), the installation module The programming context (211) can selectively check the validity (or authenticity) of the programming context, if necessary. The condition selection module (212) is a unit (i.e., portion, element, etc., or a combination thereof) that monitors or verifies if there is a selection of the threshold-based conditions in the programming component for execution. The condition based on the Threshold designates whether a value of a particular administration object within the terminal (200) reaches a previously set threshold value. Also, the condition selection module (212) monitors (or verifies) the value of the particular management object, compares it with the threshold value, and when the threshold value is reached, then it requests the DM command execution module (213) to execute the DM command corresponding to the condition to be performed. In the condition selection module (212) performing the above procedure, there is one or more programming components (i.e., a function or device management procedure that has been programmed), and if each respective programming component contains conditions to execute the procedure based on the threshold with respect to the same particular management entity, the conditions for executing the threshold-based procedure can be worked in common with respect to the particular management entity and can also be monitored. For example, it must be assumed that a first programming component (i.e., device management that has been programmed) and a second programming component (i.e., a device management that has been programmed) exist respectively within the programming context . Also, it must be assumed that the first programming component includes a first DM command and conditions for executing a first procedure based on the threshold with respect to a particular management entity, and the second programming component includes a second DM command and conditions for executing a second procedure based on the threshold with respect to the same particular administration entity. If done in this manner, when the value of the particular management entity satisfies the conditions for executing the first threshold-based procedure, the condition selection module (212) requests the DM command execution module (213). execute the first DM command. Also, when the value of the particular management identity satisfies the conditions for executing the second threshold-based procedure, the condition selection module (212) requests the DM command execution module (213) to execute the second command of DM.
The DM command execution module (213) is a unit (i.e., portion, element, etc., or a combination thereof) that cooperates with the DM enabler (220) to execute the DM command if it exists a selection of the conditions to execute the DM command. In other words, the DM command execution module (213) sends the DM command to the DM enabler (220), and receives a result obtained by executing the DM command of the DM enabler (220). The status report module (214) is a unit that reports to the DM server (100) about the status of the terminal (22) or about the results obtained from the execution of the command. The status report module (214) uses the DM command execution results (i.e., a Status message, a Result message or an Alert message) to generate a report message that can be sent to the server. DM (100). Here, the report message or the status of the terminal (200) can be transmitted to the DM server (100) by using a Generic Alert Message or by another message or indication type. Also, as explained above, the status report module (214) may report to the DM server (100) when the state of the programming context or the status of the programming component changes. The DM enable client (220) is a unit that cooperates with the command execution module (214) to execute the DM commands. In more detail, the DM enable client (220) executes a DM command received from the command execution module (214), and subsequently the results thereof are returned (ie, reported) to the command execution module (214) Heretofore, the constituent elements of the DM system of the present invention have been described with respect to the DM server (100) having a programming context management module (111) and a status report processing module (112). ), and a terminal (200) having a DM programming enabler (210) (containing a programming context installation module (211), a condition selection module (212), a command execution module of DM (213), and a status report module (214), and a DM enabler (220). However, these elements can also be implemented as any combination of the processor (not shown), a network interface (not shown), and a storage device (not shown).
Characteristics of the method according to the present invention The operation of the DM system of the present invention will be explained in more detail with reference to figures 4 and 5. It should be noted that although figures 4 and 5 do not show the details of all the elements , each procedure can be analyzed by several elements within the DM server (100) and the terminal (250) previously described. Fig. 4 is a flowchart showing a method of setting up programming context in accordance with the present invention, and Fig. 5 is a flowchart showing a method for performing a device management programmed in accordance with the present invention. As shown in Figure 4, in the installation procedure of the present invention, the DM server (100) establishes a DM session (or some other type of communication link) with the DM enabler (220), and the programming context is installed. An exemplary programming context installation procedure of the present invention will be explained in more detail below. 1) The DM server (100) (in particular, the administration module of the programming context (111) thereof) generates (or creates) a programming context. 2) The DM server (100) establishes a DM session with the terminal (200), and uses the DM protocol (or other appropriate communication protocol) to provide a request (or instruction) to install the generated programming context to the DM programming enabler (210) of the terminal (200). Here, the request can be delivered through the DM enabler (220) to the DM programming enabler client (210). 3) The DM programming enabler (210) of the terminal(200) (in particular, the programming context installation module (211) thereof) verifies the validity of the programming context.4) After completing the validity check, the DM programming enabler (210) of the terminal (200) (in particular, the programming context installation module (211) thereof) installs the programming context in the tree DM (or other type of hierarchy structure or logical format) of the terminal (200). Here, an example of the DM tree is shown in Figures 2 and 3 as described above. 5) When said installation is completed, the DM programming enabler (210) of the terminal (200) (in particular the programming context installation module (211) thereof) reports the results of the programming context installation to the DM server (100). Referring to Figure 5, a method of processing the exemplary program component of the present invention will be described. 1) The DM programming enabler (210) (in particular, the condition selection module (212) thereof) verifies the Condition mode in the DM tree representing a programming context installation, and monitors if there is a selection with the conditions for its execution. Here, these conditions can be based on the threshold. Other additional or alternative conditions are also possible. 2) In accordance with said monitoring, if it is confirmed that there is a selection of the condition for execution, the DM programming enabler (210) (in particular, the DM command execution module (213) thereof) cooperates with the DM enabler (220), to execute the DM command. 3) When the execution of the DM command is completed, the DM programming enabler (210) (in particular, the status report module (214) thereof) reports the execution results or the status of the terminal (200 ) to the DM server (100). Mainly, the report of the execution results can inform the DM server (100) about whether the DM command has been performed properly, or the reason (s) for which (s) an error occurred. error. Said report procedure can use the execution results to create a report message (or some other type of indication), which can then be sent to the DM server (100). 4) After receiving the status report, the DM server (100) (in particular, the status report processing module (120) thereof performs the analysis (or other processing) on the received status report. Figure 6 shows an exemplary method for performing the device management schedule based on the threshold, while Figure 7 shows an exemplary method for performing the device management programming based on the trap. As shown in Figure 6, the programming context can be comprised of two programming components. In more detail, the first programming component (ie the programmed device administration) of the programming context allows the execution of a DM command that changes the variable foo to bar, if the value of the particular management entity, for example , if the threshold value when the radio interface entity has a stable performance, which exceeds 1. Also, the second programming component of the programming context allows the execution of a DM command that changes the variable bar to foo, if the value of a particular management entity is returned to a stable state. Also, due to hysteresis, the first and second programming components can ignore situations where the performance of a particular radio interface exceeds threshold 1 but then again falls below threshold 1, if said difference is considered relatively small (that is, if it is within the hysteresis scale (allowed)). This is to exclude the causes for system instability due to the effects of noise (or other interference). An exemplary execution procedure of the first and second component will be described. 1) The first component and the second component change from an initial state to an active one (or enabled one) and they are executed. 2) If the performance of a particular (wireless) radio interface device exceeds threshold 1, the DM command of the first programming component is executed. 3) After performing the DM command, the variable foo changes to bar, the first programming component becomes inactive (or disabled), and the second programming component is executed.4) If the performance of a particular (wireless) radio interface device falls below threshold 2, the DM cod of the second programming component is executed. 5) After executing the DM cod, the bar variable changes to foo, the second programming component becomes inactive (or disabled), and the first programming component is executed. Figure 7 shows a programming context comprising two programming components (ie, administration of programmed devices). In greater detail, the first programming component of the programming context allows a terminal operation mode to be established for an emergency mode when a particular event 1 occurs, and executes a second programming component. The second programming component of the programming context periodically checks for an abnormal state, and if the abnormal state is removed (or resolved), the terminal is allowed to return to its normal mode from the emergency mode. An exemplary execution procedure of the first and second programming components is as follows. 1) When the programming context is installed, the second component changes from its initial state to an inactive (or disabled) state, the first programming component changes from its initial state to an active one or an enabled state and is executed.2) When the particular event 1 occurs, the DM cod of the first programming component is executed. 3) After execution of the DM cod, the terminal operation mode changes to emergency mode, the first programming component becomes inactive (or disabled), and the second programming component becomes active (or enabled). 4) When the second programming component changes to the active state and is executed, the second programming component checks whether the terminal state is normal, so this verification is performed in a periodic manner, such as every 10 minutes. 5) After periodic verification, if the state of the terminal is normal, the DM cod of the second component is executed. 6) When the DM cod is executed, the terminal operation mode switches from emergency mode to normal mode, the second programming component is disabled, and the first programming component is enabled. The method of the present invention can be implemented as software, hardware, or any combination thereof. For example, the method of the present invention can be implemented as codes or instructions within a software program that is stored in a storage medium (e.g., an internal memory of the terminal, a flash memory or a hard disk, etc.). ) and is executed by a processor (for example, a microprocessor inside the terminal, etc.).
As regards the effects of the present invention, by providing (ahead of time) to the terminal, the DM cods to be executed within the terminal and the threshold-based conditions (included within the programming context) to execute said DM cods, and when executing the terminal these DM cods in accordance with the conditions based on threshold, the result may be that the terminal recognizes said cods as if they were immediately provided from the DM server at any time the terminal requests a DM cod (s) from the DM server. Also, since the present invention allows DM cods to be executed in accordance with the particular threshold value, terminal errors can occur that can be effectively avoided (or at least minimized). Additionally, by allowing one or more programming contexts to be executed respectively in an alternate manner based on a particular threshold value, DM cods can be executed in a more systematic manner and thus be handled more effectively. It should be noted that the features and concepts of the present invention relate to various types of standards with respect to the administration of devices (DM) that are governed by certain corresponding standard organizations. As such, several corresponding standards and the concepts specified herein are also part of the present invention.
Although this specification specifies several names of commands, nodes, subnodes, etc. related to the administration of devices (DM), it can be clearly understood that said names and labels are merely exemplary. The features of the present invention are not limited, since other equivalent names or labels can be used, as long as they refer to the same function or equivalent functions and / or characteristics. Any reference in this specification to "one modality", "modality", "exemplary modality", etc. means that a particular aspect, structure or characteristic described in relation to the embodiment is included in at least one embodiment of the invention. Appearances of such phrases in various places in the specification do not necessarily refer to the same modality. Furthermore, when a particular aspect, structure or characteristic is described in connection with any modality, it is admitted that it is within the scope of one skilled in the art to effect said aspect, structure or characteristic in relation to others in the embodiments. Although embodiments have been described with reference to a number of illustrative embodiments thereof, it should be understood that numerous modifications and other embodiments may be contemplated by those skilled in the art that are within the spirit and scope of the principles of this disclosure. More particularly, many variations and modifications are possible in the component parts and / or arrangements of the combination arrangement in question within the scope of the description, drawings and appended claims. In addition to the variations and modifications in the component parts and / or arrangements, alternative uses will also be apparent to those skilled in the art.