US20050080598A1 - Consistency checking mechanism for configuration parameters in embedded systems - Google Patents
Consistency checking mechanism for configuration parameters in embedded systems Download PDFInfo
- Publication number
- US20050080598A1 US20050080598A1 US11/001,938 US193804A US2005080598A1 US 20050080598 A1 US20050080598 A1 US 20050080598A1 US 193804 A US193804 A US 193804A US 2005080598 A1 US2005080598 A1 US 2005080598A1
- Authority
- US
- United States
- Prior art keywords
- configuration
- parameter
- module
- embedded
- consistent
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0866—Checking the configuration
- H04L41/0869—Validating the configuration within one network element
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/084—Configuration by using pre-existing information, e.g. using templates or copying from other elements
- H04L41/0846—Configuration by using pre-existing information, e.g. using templates or copying from other elements based on copy from other elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/085—Retrieval of network configuration; Tracking network configuration history
- H04L41/0853—Retrieval of network configuration; Tracking network configuration history by actively collecting configuration information or by backing up configuration information
- H04L41/0856—Retrieval of network configuration; Tracking network configuration history by actively collecting configuration information or by backing up configuration information by backing up or archiving configuration information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/085—Retrieval of network configuration; Tracking network configuration history
- H04L41/0859—Retrieval of network configuration; Tracking network configuration history by keeping history of different configuration generations or by rolling back to previous configuration versions
- H04L41/0863—Retrieval of network configuration; Tracking network configuration history by keeping history of different configuration generations or by rolling back to previous configuration versions by rolling back to previous configuration versions
Definitions
- aspects of the present invention relate to embedded systems. Other aspects of the present invention relate to configuration of embedded systems.
- An embedded system may comprise a plurality of loosely-coupled modules each of which may be configurable and may perform a specific function. Each individual module in such an embedded system may be configured through a number of configuration parameters. Different modules may also be configured to work together through configuration parameters.
- modules depend on each other to some extent. The dependency may be defined with respect to configurable parameters. However, such dependency relationships are preferably defined loosely so that a missing or a malfunctioning piece may cause merely insignificant system performance degradation instead of overall system malfunction.
- Configurable parameters in an embedded system may be accessed and configured through setting their values from a management station.
- Configurable parameters may have their counterparts corresponding to run-time variables used in individual modules.
- the values of run-time variables associated with the parameters are set according to the values of the corresponding configurable parameters.
- the run-time behavior of an individual module can be controlled by setting the values of their associated configurable parameters.
- the collection of such parameters across an embedded system forms a current configuration database that determines the overall behavior of the entire system. Whenever the current configuration database is changed, the corresponding system behavior changes accordingly.
- the relationships among different configurable parameters have to remain valid or consistent. That is, the values of configurable parameters need to be set in such a way that the underlying dependency relationships remain consistent.
- the value of parameter A is set to 2
- the value of parameter B should accordingly be set to 5 in order for the configuration to be consistent.
- module X has the responsibility to change the value of B to 5 whenever the value of parameter A is set to 2.
- module X needs to also make sure that module Y has to change the value of C accordingly.
- FIG. 1 depicts a high level architecture of embodiments of the present invention and the environment in which it operates;
- FIG. 2 is a high level functional block diagram of an embodiment of the present invention, in which a consistency assurance mechanism interacts with embedded modules and a configuration database;
- FIG. 3 shows two exemplary ways of defining a dependency relationship
- FIG. 4 is an exemplary flowchart of a registration process, in which a dependency relationship between two embedded modules is registered
- FIG. 5 is an exemplary flowchart of a process, in which consistent parameter configuration is performed
- FIG. 6 is an exemplary flowchart of a process, in which consistency check is performed.
- FIG. 7 is an exemplary flowchart of a process to properly end a transaction according to consistency check outcome.
- a general-purpose computer alone or in connection with a special purpose computer. Such processing may be performed by a single platform or by a distributed processing platform.
- processing and functionality can be implemented in the form of special purpose hardware or in the form of software being run by a general-purpose computer.
- Any data handled in such processing or created as a result of such processing can be stored in any memory as is conventional in the art.
- such data may be stored in a temporary memory, such as in the RAM of a given computer system or subsystem.
- such data may be stored in longer-term storage devices, for example, magnetic disks, rewritable optical disks, and so on.
- a computer-readable media may comprise any form of data storage mechanism, including such existing memory technologies as well as hardware or circuit representations of such structures and of such data.
- FIG. 1 shows a high-level system architecture 100 of embodiments of the present invention, in which a consistent parameter configuration mechanism ensures the consistency of the configuration parameters across all the embedded modules in an embedded system.
- an embedded system 110 has a set of embedded modules 140 and a consistent parameter configuration mechanism 120 that receives a set of configuration requests 160 and that ensures a consistent parameter configuration to be performed on the embedded system 110 according to the set of configuration requests 160 .
- Parameter configuration is controlled by a consistency assurance mechanism 130 and is executed via the embedded modules 140 .
- the resultant consistent parameter configuration is stored in a configuration database 150 .
- the configuration requests 160 may be sent to the embedded system 110 to request a configuration on the embedded system 110 in a desired way.
- the configuration may involve setting the values of certain configurable parameters used by the embedded modules.
- the configuration requests 160 may be sent using some protocol via a network.
- SNMP Simple Network Management Protocol
- SNMP is defined in Request For Comments 1157, Network Working Group, Category: Standard STD0015, March 1991.
- a client (not shown in FIG. 1 ) may configure and monitor the embedded system 110 across network.
- the embedded modules 140 may represent a set of loosely-coupled modules. Each embedded module may be associated with zero or more configuration parameters. For example, module X may be associated with a configuration parameter A and module Y may be associated with configuration parameters B and C. All the configuration parameters across the entire embedded system 110 form a configuration of the embedded system. That is, a particular set of values of the configuration parameters corresponds to a specific configuration. When the values of the configuration parameters change, the configuration of the embedded system 110 changes. The value of a configuration parameter may be updated from a management station or through the configuration requests 160 .
- a configuration parameter may have its counterpart in a corresponding embedded module as a run-time variable. Through such run-time variables, configuration parameters determine the behavior of individual embedded modules.
- the overall configuration of the embedded system 110 specifies the overall run-time behavior of the embedded system 110 .
- an overall configuration for the embedded system 110 is stored in the configuration database 150 . Whenever the configuration is updated, the updated configuration (or current configuration) replaces the originally saved configuration in 150 .
- the consistency of the configuration is ensured by the consistent parameter configuration mechanism 120 .
- the consistency may be defined prior to parameter configuration and may be specified as having valid values with respect to various dependency relationships.
- Such dependency relationships may include the dependencies among parameters within a single module and the dependencies among parameters in different embedded modules.
- the consistency assurance mechanism 130 receives the configuration requests 160 , executes the requested configurations via the embedded modules 140 , and ensures that the configurations performed yield consistent parameter setting across all involved embedded modules before storing the current parameter configuration into the configuration database 150 .
- the configuration database 150 is updated only when the consistency assurance mechanism 130 determines that the configuration is consistent.
- FIG. 2 illustrates an embodiment of the present invention, which describes how the consistency assurance mechanism 130 interacts with the embedded modules 140 and the configuration database.
- the consistency assurance mechanism 130 comprises a management client 210 , a configuration manager 215 , a module registration mechanism 262 connected to a module database 265 , and a dependency registration mechanism 260 connected to a dependency database 270 .
- the management client 210 receives the configuration requests 160 from outside of the embedded system 110 . For example, it may receive SNMP packets from an outside SNMP management station.
- the received configuration requests 160 correspond to a transaction that executes a set of configuration parameter changes.
- the management client 210 may also receive commands from a console terminal requesting changes to be made to the configuration stored in the configuration database.
- the management client 210 controls parameter configuration via the configuration manager 215 by requesting appropriate embedded modules to execute the configuration.
- the embedded modules may be registered through the module registration mechanism 262 and the registration information may be stored in the module database 265 .
- the configuration manager 215 comprises a relay mechanism 220 , a temporary configuration database 230 , and a validation mechanism 240 with a parameter change signaling mechanism (PCS) 250 .
- the temporary configuration database 230 is created whenever the management client 210 informs the configuration manager 215 that a new transaction starts.
- the temporary configuration database 230 is first created as a copy of the configuration database 150 and then to be used to host the changes made to the configuration parameters by the appropriate modules based on the received configuration requests 160 . This yields a new configuration for the embedded system 110 , which is temporarily stored in the temporary configuration database 230 . Such a new configuration may not be transferred (or copied) back to the configuration database 150 until they are validated by the validation mechanism 240 as consistent.
- the relay mechanism 220 controls different acts performed by the configuration manager 215 . For example, it may trigger an appropriate embedded module to perform a parameter configuration based on a configuration request sent by the management client 210 . It may also activate the validation mechanism 240 to perform consistency checking. When the configuration parameters in the temporary configuration database are validated (consistent), the relay mechanism 220 may also activate the transfer of the validated configuration parameters from the temporary configuration database 230 to the configuration database 150 .
- the relay mechanism 220 receives the request and identifies the appropriate module before relaying the request to the identified module.
- the appropriate module may be identified based on the registered modules stored in the module database 265 . For example, if a parameter configuration request instructs to set parameter A in module X to 2 , the relay mechanism 220 analyzes the request and verifies that module A is registered by looking up the module database 265 .
- the configuration manager 215 enforces consistent parameter configuration via the validation mechanism 240 .
- Configuration consistency may be defined with respect to certain dependency relationships among different configuration parameters. There may be different ways to define such dependency relationships.
- FIG. 3 illustrates two exemplary ways to define a dependency 310 .
- One is to define through a hard coded dependency 320 and the other is to define a registered dependency 330 .
- the former ( 320 ) refers to a dependency relationship that is hard coded in the modules involved.
- the dependency between A and B may be hard coded in module X and the consistency may be enforced through both module X and the configuration manager. This is discussed later in reference to FIG. 5 and FIG. 6 .
- a dependency may also be defined explicitly by registering the dependency relationship 330 with the configuration manager 215 via the dependency registration mechanism 260 . Such registered dependency relationships are stored in the dependency database 270 .
- a registered dependency may involve the dependency among different configuration parameters across modules. A registered dependency is therefore usually defined with respect to two modules, one being independent and the other being dependent. For example, if the value of parameter B in module Y depends on the value of parameter A in module X, module Y is defined as the dependent module.
- Once the dependency relationship is registered and stored, a change to the value of parameter A in module X will trigger the PCS 250 in the validation mechanism 240 to notify module Y to perform a change to parameter B accordingly so that the dependency is maintained properly.
- module Y may refuse to change the value of B. In this case, the change made to parameter A may also be rejected to maintain the consistency. For this reason, both A and B may have to be changed within a single transaction.
- An exemplary dependency registration process is described in FIG. 4 .
- An independent parameter e.g., parameter A
- the associated independent module e.g., module X
- the corresponding dependent parameter e.g., parameter B
- a dependent module e.g., module Y
- the independent parameter/module and the dependent parameter/module form a dependency relationship.
- the type of the relationship may be specified further at act 440 . For example, when A is changed to 2, module Y should be notified.
- the registered dependency relationship is then stored in the dependency database at act 450 .
- the validation mechanism 240 may enforce the consistency of configuration parameters by enforcing the dependency relationships specified among different configuration parameters of embedded modules.
- the validation mechanism 240 When the value of parameter A in module X is changed from value 2 to value 3, the validation mechanism 240 notifies module Y to change its value accordingly. That is, the validation mechanism 240 monitors the changes made to configuration parameters, identifies the dependents of these parameters, and informs the dependent modules to make changes accordingly so that the consistency (or the dependency relationship) is maintained.
- the embedded module may determine how to make the change to the dependent configuration parameter. That is, the task performed by the validation mechanism 240 may be limited to merely informing the dependent module to make a change to a particular parameter (but not how to change). It may also be possible to implement the validation mechanism 240 in such a way that it controls directly how to change the value of a dependent configuration parameter.
- an embedded module When an embedded module sets the value of a configuration parameter, it may return a status code to the validation mechanism 240 .
- Different values of the returned status code may represent different outcomes.
- the status code may be “OK”, representing the outcome that the request is performed without any problem.
- the status code may also be “ERROR”, indicating that an error has occurred during the execution of a configuration request. An error may be due to an inconsistent parameter configuration. For example, if a configuration parameter is only allowed to be set to value 2 or 3 but a configuration request instructs the underlying module to set the parameter value to 5.
- Status code may represent an message that informs the validation mechanism 240 that the underlying module has a hard coded dependency relationship that can not be verified as consistent at the time being.
- the validation mechanism 240 may react accordingly. For example, an error code may be forwarded back to the relay mechanism 220 and subsequently sent to the management client so that an undo operation may be performed.
- An undo operation may be implemented by simply ignoring all the parameter configurations performed in the temporary configuration database up to this point. That is, the temporary configuration database 230 will not be copied to the configuration database 150 . This yields an identical effect as undo.
- the validation mechanism 240 may automatically proceed to enforce registered dependency relationships.
- the validation mechanism 240 may carry out an iterative validation process to enforce a registered dependency. For example, if parameter B in module Y depends on parameter A in module X and when a request to module X is made to change parameter A, the validation mechanism 240 identifies the corresponding registered dependency from the dependency database 270 and notifies module Y to revise the value of parameter B. The notification may be triggered by an “OK” status code returned by module X after module X changes the value of parameter A. In this way, the registered dependencies are automatically enforced.
- the validation mechanism 240 may inform the relay mechanism 220 that the validation is complete. In this case, the relay mechanism notifies the management client 210 of the completion of a request. The management client 210 may then issue next request to the configuration manager 215 .
- the management client 210 first sends a request, via the configuration manager 215 , to module X to change value of A to 3, the return status code from module X after A is set to 3 may be a “REPEAT CALL”.
- the “REPEAT CALL” indicates that the consistency can not be checked at this point (because module X does not know whether there will be a future request in the same transaction that instructs module X to change the value of B to 5).
- the validation mechanism 240 may not start the validation after all the configuration requests in the same transaction have been processed. But the validation mechanism 240 records these outstanding requests whose validity need to be checked at the end of the transaction.
- the management client 210 When the management client 210 detects that all the configuration requests 160 are processed in the temporary configuration database 230 , it sends a command to the configuration manager 215 to perform a consistency check.
- the relay mechanism 220 activates the validation mechanism 240 .
- the validation mechanism 240 carries out the consistency check on all the outstanding requests and informs the management client 210 , via the relay mechanism 220 , the outcome. If the outcome represents a consistent configuration, the management client 210 sends command to the relay mechanism to commit the configuration. To commit the configuration, the configuration parameters stored in the temporary database 230 are copied or transferred to the configuration database 150 . If the outcome indicates an inconsistent configuration, the management client 210 sends an undo command to the relay mechanism 220 . To undo the configuration, the configuration parameters stored in the temporary database 230 are ignored.
- FIG. 5 is an exemplary flowchart of a process, in which consistent parameter configuration is performed.
- embedded modules 140 and some of the dependency relationships are registered at act 510 . This may be performed prior to the deployment of the embedded system 110 .
- a set of configuration requests is received at act 515 and these configuration requests correspond to one single transaction.
- the management client 210 informs the configuration manager to start a new transaction.
- the configuration manager 215 creates, at act 520 , the temporary configuration database 230 .
- the management client 210 then sends a request to the configuration manager 215 and the configuration manager 215 relay the request, at act 525 , to an appropriate embedded module to perform the requested parameter configuration.
- the appropriate module executes, at act 530 , the requested configuration and returns a status code at act 535 .
- the updates to the current configuration are performed first in the temporary configuration database 230 .
- the configuration manager 215 examines the return status code at act 540 to see whether it is an error. If it is an error code, the process proceeds to finish the transaction (will be described in reference to FIG. 7 ). When the status code does not indicate an error, the configuration manager 215 proceeds to check the consistency against registered dependencies.
- the validation mechanism 240 notifies the dependent module that there has been a change made to its independent parameter in the independent module. For example, if parameter B in module Y depends on parameter A in module X, the configuration manager 215 notifies module Y if the current configuration request involves a change to the value of parameter A in module X. Once notified, module Y may configure its dependent parameter B at act 530 . As described earlier, module Y may refuse to configure parameter B.
- the process of enforcing a registered dependency relationship may be iterative. For instance, there may be another parameter C in module Z that is dependent on parameter B of module Y. In this case, the validation mechanism 240 further notifies module Z to change parameter C. The process loops through the acts between act 530 and 555 until all the registered nesting dependencies associated with the current configuration request are enforced.
- the returned status code may also indicate that there is a hard coded dependency.
- the status code may be “REPEAT CALL”, determined at act 560 , indicating that at least some dependent parameter has not been accordingly configured.
- the consistency associated with the hard coded dependency relationship can not be checked until all the configuration requests in a transaction are processed.
- the validation mechanism 240 postpones such consistency check before the end of the transaction and record current configuration request as an outstanding request at act 565 . To allow the transaction to move forward, the validation mechanism 240 may also simply inform the management client 210 an “OK” status at this point so that the management client 210 will proceed to send the remaining configuration requests.
- the acts between 525 and 570 repeat until the end of the transaction.
- the management client 210 ends the transaction and request the validation mechanism 240 to proceed to check, at act 575 , the consistency of the configurations performed in the transaction.
- the details of the consistency check are discussed later with reference to FIG. 6 .
- the configuration manager 215 informs the management client 210 about the status of the check and the management client 210 ends the transaction at act 580 based on the consistency check outcome.
- FIG. 6 is an exemplary flowchart that describes the process of consistency checking at the end of a transaction.
- the management client 210 sends a request at the end of a transaction, at act 610 , to the configuration manager 215 to perform consistency check. Since the consistency defined through registered dependencies has been validated or enforced while the configuration requests are processed, the consistency check at the end of a transaction may involve only validating the outstanding hard coded dependencies. What needs to be validated at this point includes the outstanding requests recorded by the configuration manager 215 . If there is no outstanding request, determined at act 620 , the configuration manager 215 may simply return an “OK” status at act 630 to the management client 210 as the outcome of consistency check.
- the relay mechanism 220 triggers the validation mechanism 240 to start a consistency check.
- the validation mechanism 240 sends, at act 640 , the original configuration request to the associated module.
- the original configuration request instructs the associated module to change the independent parameter in the hard coded dependency. For example, assume parameter B depends on parameter A in module X. When an original request to configure parameter A in module X is made, module X sets the value of parameter A and then return a status code “REPEAT CALL” if the value of parameter B is not consistent with the new value of parameter A. This is to indicate that it is not possible at this point to validate the consistency.
- the validation mechanism 240 postpones the consistency check and records the original request to change parameter A in module X as an outstanding request.
- the validation mechanism 240 revisits the original request and requests, for the second time, module X to configure parameter A.
- module X will return an OK status code. If not, module X will again return a “REPEAT CALL” status code.
- the configuration manager 215 proceed to handle the next outstanding request (back to act 620 ). If the module returns another “REPEAT CALL” status code for the second time, the validation mechanism 240 examines whether the number of outstanding requests is decreased. If the number of outstanding request is not decreased, determined at act 660 , the validation mechanism 240 sends an “ERROR” back to the management client 210 to indicate a failure in consistency check. If the number of outstanding requests is reducing, the validation mechanism 240 proceeds to handle the next outstanding request (back to act 620 ).
- FIG. 7 is an exemplary flowchart of a process, in which the management client 210 reacts to different outcomes of a consistent check process and completes a transaction accordingly.
- consistency check There are two possible outcomes from consistency check: consistent configuration and inconsistent configuration.
- the management client 210 sends an “UNDO” command at act 720 to the configuration manager 215 .
- the configuration manager 215 Up on receiving the “UNDO” command, the configuration manager 215 deletes, at act 730 , the temporary configuration database 230 without changing the current configuration stored in the configuration database 150 .
- the management client 210 When the management client 210 receives an outcome that indicates a consistent configuration after the consistency check, it sends a “COMMIT” command at act 740 to the configuration manager 215 . Up on receiving the “COMMIT” command, the configuration manager 215 copy, at act 750 , the new configuration stored in the temporary configuration database 230 to the configuration database 150 to generate a new current configuration of the embedded system 110 . Based on the new current configuration, corresponding changes are introduced, at act 760 , to run-time variables. The temporary configuration database 230 is then deleted at act 770 .
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
An arrangement is provided for consistent parameter configuration in an embedded system. A consistent parameter configuration mechanism comprises a management client and a configuration manager. When the management client receives a set of configuration requests, it notifies the configuration manager to start a transaction, during which the configuration manager requests relevant embedded modules to perform parameter configurations according to the configuration requests, to manage hard coded dependencies, and to enforce registered dependencies. Any detected inconsistency during parameter configuration causes the consistent parameter configuration mechanism to undo the parameter configuration.
Description
- This application is a continuation of U.S. patent application Ser. No. 09/878,431, (Attorney Docket No. P279176/P 11279), entitled “Consistency Checking Mechanism For Configuration Parameters In Embedded Systems),” filed on Jun. 12, 2001 by Iwanojko et al., assigned to a common assignee, the entire subject matter which is herein incorporated by reference.
- This patent document contains information subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent, as it appears in the U.S. Patent and Trademark Office files or records but otherwise reserves all copyright rights whatsoever.
- Aspects of the present invention relate to embedded systems. Other aspects of the present invention relate to configuration of embedded systems.
- More and more hardware and software products are nowadays developed as embedded systems. They are turnkey products that are often deployed on an “as-is” basis. For example, in networking application domain, various routers are embedded systems. To enable an embedded system to function in different application environments, an embedded system is often built in a modular fashion, as in a flexible and lightweight operating system and services (FLOSS) environment.
- An embedded system may comprise a plurality of loosely-coupled modules each of which may be configurable and may perform a specific function. Each individual module in such an embedded system may be configured through a number of configuration parameters. Different modules may also be configured to work together through configuration parameters. In a FLOSS environment, modules depend on each other to some extent. The dependency may be defined with respect to configurable parameters. However, such dependency relationships are preferably defined loosely so that a missing or a malfunctioning piece may cause merely insignificant system performance degradation instead of overall system malfunction.
- Configurable parameters in an embedded system may be accessed and configured through setting their values from a management station. Configurable parameters may have their counterparts corresponding to run-time variables used in individual modules. The values of run-time variables associated with the parameters are set according to the values of the corresponding configurable parameters. The run-time behavior of an individual module can be controlled by setting the values of their associated configurable parameters. The collection of such parameters across an embedded system forms a current configuration database that determines the overall behavior of the entire system. Whenever the current configuration database is changed, the corresponding system behavior changes accordingly.
- Configurable parameters may relate to each other. Two parameters may relate to each other through a dependency relationship. For instance, the value of one parameter may depend on the value of another parameter (e.g., if parameter A=2, then parameter B=5). When an embedded system is configured, the relationships among different configurable parameters have to remain valid or consistent. That is, the values of configurable parameters need to be set in such a way that the underlying dependency relationships remain consistent. Using the above example, when the value of parameter A is set to 2, the value of parameter B should accordingly be set to 5 in order for the configuration to be consistent.
- Traditionally, configuration consistency of an embedded system is enforced through individual modules. For example, if parameter B in module X depends on parameter A in the same module (e.g., A=2, then B=5), module X has the responsibility to change the value of B to 5 whenever the value of parameter A is set to 2. In addition, if parameter C in module Y further depends on parameter B in module X, module X needs to also make sure that module Y has to change the value of C accordingly. Such an operating method imposes many burdens on individual modules, making them less flexible, tightly coupled, less modular, and hard to implement.
- The present invention is further described in terms of exemplary embodiments which will be described in detail with reference to the drawings. These embodiments are non-limiting exemplary embodiments, in which like reference numerals represent similar parts throughout the several views of the drawings, and wherein:
-
FIG. 1 depicts a high level architecture of embodiments of the present invention and the environment in which it operates; -
FIG. 2 is a high level functional block diagram of an embodiment of the present invention, in which a consistency assurance mechanism interacts with embedded modules and a configuration database; -
FIG. 3 shows two exemplary ways of defining a dependency relationship; -
FIG. 4 is an exemplary flowchart of a registration process, in which a dependency relationship between two embedded modules is registered; -
FIG. 5 is an exemplary flowchart of a process, in which consistent parameter configuration is performed; -
FIG. 6 is an exemplary flowchart of a process, in which consistency check is performed; and -
FIG. 7 is an exemplary flowchart of a process to properly end a transaction according to consistency check outcome. - The invention is described below, with reference to detailed illustrative embodiments. It will be apparent that the invention to be embodied in a wide variety of forms, some of which may be quite different from those of the disclosed embodiments. Consequently, the specific structural and functional detail is disclosed herein are merely representative and do not limit the scope of the invention.
- The processing described below may be performed by a general-purpose computer alone or in connection with a special purpose computer. Such processing may be performed by a single platform or by a distributed processing platform. In addition, such processing and functionality can be implemented in the form of special purpose hardware or in the form of software being run by a general-purpose computer. Any data handled in such processing or created as a result of such processing can be stored in any memory as is conventional in the art. By way of example, such data may be stored in a temporary memory, such as in the RAM of a given computer system or subsystem. In addition, or in the alternative, such data may be stored in longer-term storage devices, for example, magnetic disks, rewritable optical disks, and so on. For purposes of the disclosure herein, a computer-readable media may comprise any form of data storage mechanism, including such existing memory technologies as well as hardware or circuit representations of such structures and of such data.
- The present invention addresses automatically establishing consistent configuration parameters in embedded systems.
FIG. 1 shows a high-level system architecture 100 of embodiments of the present invention, in which a consistent parameter configuration mechanism ensures the consistency of the configuration parameters across all the embedded modules in an embedded system. In thesystem architecture 100 shown inFIG. 1 , an embeddedsystem 110 has a set of embeddedmodules 140 and a consistent parameter configuration mechanism 120 that receives a set of configuration requests 160 and that ensures a consistent parameter configuration to be performed on the embeddedsystem 110 according to the set of configuration requests 160. Parameter configuration is controlled by aconsistency assurance mechanism 130 and is executed via the embeddedmodules 140. The resultant consistent parameter configuration is stored in aconfiguration database 150. - The configuration requests 160 may be sent to the embedded
system 110 to request a configuration on the embeddedsystem 110 in a desired way. The configuration may involve setting the values of certain configurable parameters used by the embedded modules. The configuration requests 160 may be sent using some protocol via a network. For example, the Simple Network Management Protocol (SNMP) may be employed to send the configuration requests 160 (SNMP is defined in Request For Comments 1157, Network Working Group, Category: Standard STD0015, March 1991.). Using the SNMP, a client (not shown inFIG. 1 ) may configure and monitor the embeddedsystem 110 across network. - The embedded
modules 140 may represent a set of loosely-coupled modules. Each embedded module may be associated with zero or more configuration parameters. For example, module X may be associated with a configuration parameter A and module Y may be associated with configuration parameters B and C. All the configuration parameters across the entire embeddedsystem 110 form a configuration of the embedded system. That is, a particular set of values of the configuration parameters corresponds to a specific configuration. When the values of the configuration parameters change, the configuration of the embeddedsystem 110 changes. The value of a configuration parameter may be updated from a management station or through the configuration requests 160. - A configuration parameter may have its counterpart in a corresponding embedded module as a run-time variable. Through such run-time variables, configuration parameters determine the behavior of individual embedded modules. The overall configuration of the embedded
system 110 specifies the overall run-time behavior of the embeddedsystem 110. In the illustrated embodiments shown inFIG. 1 , an overall configuration for the embeddedsystem 110 is stored in theconfiguration database 150. Whenever the configuration is updated, the updated configuration (or current configuration) replaces the originally saved configuration in 150. - At anytime, the configuration of the embedded
system 110 remains consistent. In the present invention, the consistency of the configuration is ensured by the consistent parameter configuration mechanism 120. The consistency may be defined prior to parameter configuration and may be specified as having valid values with respect to various dependency relationships. Such dependency relationships may include the dependencies among parameters within a single module and the dependencies among parameters in different embedded modules. - In the exemplary embodiments shown in
FIG. 1 , theconsistency assurance mechanism 130 receives the configuration requests 160, executes the requested configurations via the embeddedmodules 140, and ensures that the configurations performed yield consistent parameter setting across all involved embedded modules before storing the current parameter configuration into theconfiguration database 150. Theconfiguration database 150 is updated only when theconsistency assurance mechanism 130 determines that the configuration is consistent. -
FIG. 2 illustrates an embodiment of the present invention, which describes how theconsistency assurance mechanism 130 interacts with the embeddedmodules 140 and the configuration database. InFIG. 2 , theconsistency assurance mechanism 130 comprises amanagement client 210, a configuration manager 215, amodule registration mechanism 262 connected to amodule database 265, and adependency registration mechanism 260 connected to adependency database 270. - The
management client 210 receives the configuration requests 160 from outside of the embeddedsystem 110. For example, it may receive SNMP packets from an outside SNMP management station. The received configuration requests 160 correspond to a transaction that executes a set of configuration parameter changes. Themanagement client 210 may also receive commands from a console terminal requesting changes to be made to the configuration stored in the configuration database. - The
management client 210 controls parameter configuration via the configuration manager 215 by requesting appropriate embedded modules to execute the configuration. To enable the configuration manager 215 to access the embeddedmodules 140, the embedded modules may be registered through themodule registration mechanism 262 and the registration information may be stored in themodule database 265. - In
FIG. 2 , the configuration manager 215 comprises arelay mechanism 220, atemporary configuration database 230, and avalidation mechanism 240 with a parameter change signaling mechanism (PCS) 250. Thetemporary configuration database 230 is created whenever themanagement client 210 informs the configuration manager 215 that a new transaction starts. Thetemporary configuration database 230 is first created as a copy of theconfiguration database 150 and then to be used to host the changes made to the configuration parameters by the appropriate modules based on the received configuration requests 160. This yields a new configuration for the embeddedsystem 110, which is temporarily stored in thetemporary configuration database 230. Such a new configuration may not be transferred (or copied) back to theconfiguration database 150 until they are validated by thevalidation mechanism 240 as consistent. - The
relay mechanism 220 controls different acts performed by the configuration manager 215. For example, it may trigger an appropriate embedded module to perform a parameter configuration based on a configuration request sent by themanagement client 210. It may also activate thevalidation mechanism 240 to perform consistency checking. When the configuration parameters in the temporary configuration database are validated (consistent), therelay mechanism 220 may also activate the transfer of the validated configuration parameters from thetemporary configuration database 230 to theconfiguration database 150. - When the
management client 210 sends a parameter configuration request to the configuration manager 215, therelay mechanism 220 receives the request and identifies the appropriate module before relaying the request to the identified module. The appropriate module may be identified based on the registered modules stored in themodule database 265. For example, if a parameter configuration request instructs to set parameter A in module X to 2, therelay mechanism 220 analyzes the request and verifies that module A is registered by looking up themodule database 265. - The configuration manager 215 enforces consistent parameter configuration via the
validation mechanism 240. Configuration consistency may be defined with respect to certain dependency relationships among different configuration parameters. There may be different ways to define such dependency relationships.FIG. 3 illustrates two exemplary ways to define adependency 310. One is to define through a hard codeddependency 320 and the other is to define a registereddependency 330. The former (320) refers to a dependency relationship that is hard coded in the modules involved. A hard coded dependency may involve the dependency among different configuration parameters within the same module. For example, if the value of parameter B in module X depends on the value of parameter A in module X (e.g., A=2, then B=3), parameter A and B form a dependency relationship. The dependency between A and B may be hard coded in module X and the consistency may be enforced through both module X and the configuration manager. This is discussed later in reference toFIG. 5 andFIG. 6 . - A dependency may also be defined explicitly by registering the
dependency relationship 330 with the configuration manager 215 via thedependency registration mechanism 260. Such registered dependency relationships are stored in thedependency database 270. A registered dependency may involve the dependency among different configuration parameters across modules. A registered dependency is therefore usually defined with respect to two modules, one being independent and the other being dependent. For example, if the value of parameter B in module Y depends on the value of parameter A in module X, module Y is defined as the dependent module. Once the dependency relationship is registered and stored, a change to the value of parameter A in module X will trigger thePCS 250 in thevalidation mechanism 240 to notify module Y to perform a change to parameter B accordingly so that the dependency is maintained properly. Optionally, module Y may refuse to change the value of B. In this case, the change made to parameter A may also be rejected to maintain the consistency. For this reason, both A and B may have to be changed within a single transaction. - An exemplary dependency registration process is described in
FIG. 4 . An independent parameter (e.g., parameter A) in the associated independent module (e.g., module X) is first specified and registered atact 420. Then the corresponding dependent parameter (e.g., parameter B) in a dependent module (e.g., module Y) is specified and registered atact 430. The independent parameter/module and the dependent parameter/module form a dependency relationship. The type of the relationship may be specified further atact 440. For example, when A is changed to 2, module Y should be notified. The registered dependency relationship is then stored in the dependency database atact 450. - Referring back to
FIG. 2 , thevalidation mechanism 240 may enforce the consistency of configuration parameters by enforcing the dependency relationships specified among different configuration parameters of embedded modules. To enforce a registered dependency relationship, thePCS 250 associated with thevalidation mechanism 240 may notify an embedded module about a change to a configuration parameter, which a different configuration parameter in a different embedded module depends on. For example, assume a configuration parameter B in embedded module Y depends on a configuration parameter A in embedded module X (e.g., if A=2, then B=3. If A=3, B=5.) and such a dependency relationship is registered with thedependency registration mechanism 260 and stored in thedependency database 270. When the value of parameter A in module X is changed fromvalue 2 to value 3, thevalidation mechanism 240 notifies module Y to change its value accordingly. That is, thevalidation mechanism 240 monitors the changes made to configuration parameters, identifies the dependents of these parameters, and informs the dependent modules to make changes accordingly so that the consistency (or the dependency relationship) is maintained. - When an embedded module is notified of a change and is requested to change the value of a dependent configuration parameter, the embedded module may determine how to make the change to the dependent configuration parameter. That is, the task performed by the
validation mechanism 240 may be limited to merely informing the dependent module to make a change to a particular parameter (but not how to change). It may also be possible to implement thevalidation mechanism 240 in such a way that it controls directly how to change the value of a dependent configuration parameter. - When an embedded module sets the value of a configuration parameter, it may return a status code to the
validation mechanism 240. Different values of the returned status code may represent different outcomes. For example, the status code may be “OK”, representing the outcome that the request is performed without any problem. The status code may also be “ERROR”, indicating that an error has occurred during the execution of a configuration request. An error may be due to an inconsistent parameter configuration. For example, if a configuration parameter is only allowed to be set tovalue 2 or 3 but a configuration request instructs the underlying module to set the parameter value to 5. Status code may represent an message that informs thevalidation mechanism 240 that the underlying module has a hard coded dependency relationship that can not be verified as consistent at the time being. - Depending on the status code returned from an underlying module, the
validation mechanism 240 may react accordingly. For example, an error code may be forwarded back to therelay mechanism 220 and subsequently sent to the management client so that an undo operation may be performed. An undo operation may be implemented by simply ignoring all the parameter configurations performed in the temporary configuration database up to this point. That is, thetemporary configuration database 230 will not be copied to theconfiguration database 150. This yields an identical effect as undo. - Whenever the return status code reports an “OK” status, the
validation mechanism 240 may automatically proceed to enforce registered dependency relationships. Thevalidation mechanism 240 may carry out an iterative validation process to enforce a registered dependency. For example, if parameter B in module Y depends on parameter A in module X and when a request to module X is made to change parameter A, thevalidation mechanism 240 identifies the corresponding registered dependency from thedependency database 270 and notifies module Y to revise the value of parameter B. The notification may be triggered by an “OK” status code returned by module X after module X changes the value of parameter A. In this way, the registered dependencies are automatically enforced. - When an “OK” status is received at the end of an iterative validation process, the
validation mechanism 240 may inform therelay mechanism 220 that the validation is complete. In this case, the relay mechanism notifies themanagement client 210 of the completion of a request. Themanagement client 210 may then issue next request to the configuration manager 215. - When the status code indicates using, for example, “REPEAT CALL”, that there exists a hard coded dependency relationship with respect to the current request, the
validation mechanism 240 may postpone the validation process until the end of the transaction. For example, assume parameters A and B in module X have a dependency relationship (A=2, then B=3. A=3, then B=5) hard coded in module X. When themanagement client 210 first sends a request, via the configuration manager 215, to module X to change value of A to 3, the return status code from module X after A is set to 3 may be a “REPEAT CALL”. The “REPEAT CALL” indicates that the consistency can not be checked at this point (because module X does not know whether there will be a future request in the same transaction that instructs module X to change the value of B to 5). In this case, thevalidation mechanism 240 may not start the validation after all the configuration requests in the same transaction have been processed. But thevalidation mechanism 240 records these outstanding requests whose validity need to be checked at the end of the transaction. - When the
management client 210 detects that all the configuration requests 160 are processed in thetemporary configuration database 230, it sends a command to the configuration manager 215 to perform a consistency check. Therelay mechanism 220 activates thevalidation mechanism 240. Thevalidation mechanism 240 carries out the consistency check on all the outstanding requests and informs themanagement client 210, via therelay mechanism 220, the outcome. If the outcome represents a consistent configuration, themanagement client 210 sends command to the relay mechanism to commit the configuration. To commit the configuration, the configuration parameters stored in thetemporary database 230 are copied or transferred to theconfiguration database 150. If the outcome indicates an inconsistent configuration, themanagement client 210 sends an undo command to therelay mechanism 220. To undo the configuration, the configuration parameters stored in thetemporary database 230 are ignored. -
FIG. 5 is an exemplary flowchart of a process, in which consistent parameter configuration is performed. Prior to the execution of consistent parameter configuration, embeddedmodules 140 and some of the dependency relationships are registered atact 510. This may be performed prior to the deployment of the embeddedsystem 110. To configure the embeddedsystem 110, a set of configuration requests is received atact 515 and these configuration requests correspond to one single transaction. Upon receiving the configuration requests, themanagement client 210 informs the configuration manager to start a new transaction. The configuration manager 215 creates, atact 520, thetemporary configuration database 230. Themanagement client 210 then sends a request to the configuration manager 215 and the configuration manager 215 relay the request, atact 525, to an appropriate embedded module to perform the requested parameter configuration. The appropriate module executes, atact 530, the requested configuration and returns a status code atact 535. The updates to the current configuration are performed first in thetemporary configuration database 230. The configuration manager 215 examines the return status code atact 540 to see whether it is an error. If it is an error code, the process proceeds to finish the transaction (will be described in reference toFIG. 7 ). When the status code does not indicate an error, the configuration manager 215 proceeds to check the consistency against registered dependencies. - If there is any registered dependency associated with the current configuration request, determined at
act 550 by, for example, consulting with thedependency database 270, thevalidation mechanism 240 notifies the dependent module that there has been a change made to its independent parameter in the independent module. For example, if parameter B in module Y depends on parameter A in module X, the configuration manager 215 notifies module Y if the current configuration request involves a change to the value of parameter A in module X. Once notified, module Y may configure its dependent parameter B atact 530. As described earlier, module Y may refuse to configure parameter B. - The process of enforcing a registered dependency relationship may be iterative. For instance, there may be another parameter C in module Z that is dependent on parameter B of module Y. In this case, the
validation mechanism 240 further notifies module Z to change parameter C. The process loops through the acts betweenact - The returned status code may also indicate that there is a hard coded dependency. For example, the status code may be “REPEAT CALL”, determined at
act 560, indicating that at least some dependent parameter has not been accordingly configured. In this case, the consistency associated with the hard coded dependency relationship can not be checked until all the configuration requests in a transaction are processed. In the exemplary flowchart shown inFIG. 5 , thevalidation mechanism 240 postpones such consistency check before the end of the transaction and record current configuration request as an outstanding request atact 565. To allow the transaction to move forward, thevalidation mechanism 240 may also simply inform themanagement client 210 an “OK” status at this point so that themanagement client 210 will proceed to send the remaining configuration requests. The acts between 525 and 570 repeat until the end of the transaction. - At the end of the transaction, determined at
act 570, themanagement client 210 ends the transaction and request thevalidation mechanism 240 to proceed to check, atact 575, the consistency of the configurations performed in the transaction. The details of the consistency check are discussed later with reference toFIG. 6 . After the consistency check, the configuration manager 215 informs themanagement client 210 about the status of the check and themanagement client 210 ends the transaction atact 580 based on the consistency check outcome. - As discussed earlier, the configuration manager 215 may postpone the consistency check associated with hard coded dependencies until all the configuration requests in a transaction have been processed.
FIG. 6 is an exemplary flowchart that describes the process of consistency checking at the end of a transaction. InFIG. 6 , themanagement client 210 sends a request at the end of a transaction, at act 610, to the configuration manager 215 to perform consistency check. Since the consistency defined through registered dependencies has been validated or enforced while the configuration requests are processed, the consistency check at the end of a transaction may involve only validating the outstanding hard coded dependencies. What needs to be validated at this point includes the outstanding requests recorded by the configuration manager 215. If there is no outstanding request, determined at act 620, the configuration manager 215 may simply return an “OK” status at act 630 to themanagement client 210 as the outcome of consistency check. - If there is any outstanding request, the
relay mechanism 220 triggers thevalidation mechanism 240 to start a consistency check. For each outstanding request, thevalidation mechanism 240 sends, at act 640, the original configuration request to the associated module. The original configuration request instructs the associated module to change the independent parameter in the hard coded dependency. For example, assume parameter B depends on parameter A in module X. When an original request to configure parameter A in module X is made, module X sets the value of parameter A and then return a status code “REPEAT CALL” if the value of parameter B is not consistent with the new value of parameter A. This is to indicate that it is not possible at this point to validate the consistency. Thevalidation mechanism 240 postpones the consistency check and records the original request to change parameter A in module X as an outstanding request. When the consistency check is performed at the end of the underlying transaction, thevalidation mechanism 240 revisits the original request and requests, for the second time, module X to configure parameter A. At this point, if there has been a request in the same transaction made to module X to configure parameter B (after the original request to configure A in module X and prior to the end of transaction), the configuration may now be consistent and module X will return an OK status code. If not, module X will again return a “REPEAT CALL” status code. - When a module with a hard coded dependency returns an “OK” status code in the second round, determined at act 650, the configuration manager 215 proceed to handle the next outstanding request (back to act 620). If the module returns another “REPEAT CALL” status code for the second time, the
validation mechanism 240 examines whether the number of outstanding requests is decreased. If the number of outstanding request is not decreased, determined at act 660, thevalidation mechanism 240 sends an “ERROR” back to themanagement client 210 to indicate a failure in consistency check. If the number of outstanding requests is reducing, thevalidation mechanism 240 proceeds to handle the next outstanding request (back to act 620). -
FIG. 7 is an exemplary flowchart of a process, in which themanagement client 210 reacts to different outcomes of a consistent check process and completes a transaction accordingly. There are two possible outcomes from consistency check: consistent configuration and inconsistent configuration. When the outcome indicates an inconsistent configuration, determined atact 710, themanagement client 210 sends an “UNDO” command atact 720 to the configuration manager 215. Up on receiving the “UNDO” command, the configuration manager 215 deletes, atact 730, thetemporary configuration database 230 without changing the current configuration stored in theconfiguration database 150. - When the
management client 210 receives an outcome that indicates a consistent configuration after the consistency check, it sends a “COMMIT” command atact 740 to the configuration manager 215. Up on receiving the “COMMIT” command, the configuration manager 215 copy, atact 750, the new configuration stored in thetemporary configuration database 230 to theconfiguration database 150 to generate a new current configuration of the embeddedsystem 110. Based on the new current configuration, corresponding changes are introduced, atact 760, to run-time variables. Thetemporary configuration database 230 is then deleted atact 770. - While the invention has been described with reference to the certain illustrated embodiments, the words that have been used herein are words of description, rather than words of limitation. Changes may be made, within the purview of the appended claims, without departing from the scope and spirit of the invention in its aspects. Although the invention has been described herein with reference to particular structures, acts, and materials, the invention is not to be limited to the particulars disclosed, but rather extends to all equivalent structures, acts, and, materials, such as are within the scope of the appended claims.
Claims (3)
1. A system, comprising:
at least one embedded module in an embedded system; and
a consistent parameter configuration mechanism in said embedded system, communicating with said at least one embedded module to manage configuration parameters in a consistent fashion wherein configuration parameters are configurable parameters associated with at least one embedded module and said consistent parameter configuration mechanism maintains configuration parameter dependency relationships associated with said at least one embedded module.
2. The system according to claim 1 , wherein said consistent parameter configuration mechanism comprises:
a configuration database to store a set of configuration parameters of said embedded system, said set of configuration parameters having run-time counterpart variables in said at least one embedded module, said configuration database additionally to determine the behavior of said at least one embedded module and said embedded system; and
a consistency assurance mechanism to ensure that said set of configuration parameters stored in said configuration database is consistent.
3. The system according to claim 2 , wherein said consistency assurance mechanism comprises:
a management client to receive a set of configuration requests to configure at least one configuration parameter from said set of configuration parameters and to manage the execution of said set of configuration requests; and
a configuration manager to manage the consistent configuration of said at least one configuration parameter according to said set of configuration requests, said configuration manager communicating with both said management client and said at least one embedded module to execute said set of configuration requests in a consistent fashion.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/001,938 US20050080598A1 (en) | 2001-06-12 | 2004-12-01 | Consistency checking mechanism for configuration parameters in embedded systems |
US11/583,412 US20070038788A1 (en) | 2001-06-12 | 2006-10-18 | Consistency checking mechanism for configuration parameters in embedded systems |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/878,431 US6877051B2 (en) | 2001-06-12 | 2001-06-12 | Consistency checking mechanism for configuration parameters in embedded systems |
US11/001,938 US20050080598A1 (en) | 2001-06-12 | 2004-12-01 | Consistency checking mechanism for configuration parameters in embedded systems |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/878,431 Continuation US6877051B2 (en) | 2001-06-12 | 2001-06-12 | Consistency checking mechanism for configuration parameters in embedded systems |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/583,412 Division US20070038788A1 (en) | 2001-06-12 | 2006-10-18 | Consistency checking mechanism for configuration parameters in embedded systems |
Publications (1)
Publication Number | Publication Date |
---|---|
US20050080598A1 true US20050080598A1 (en) | 2005-04-14 |
Family
ID=25372013
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/878,431 Expired - Fee Related US6877051B2 (en) | 2001-06-12 | 2001-06-12 | Consistency checking mechanism for configuration parameters in embedded systems |
US11/001,938 Abandoned US20050080598A1 (en) | 2001-06-12 | 2004-12-01 | Consistency checking mechanism for configuration parameters in embedded systems |
US11/583,412 Abandoned US20070038788A1 (en) | 2001-06-12 | 2006-10-18 | Consistency checking mechanism for configuration parameters in embedded systems |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/878,431 Expired - Fee Related US6877051B2 (en) | 2001-06-12 | 2001-06-12 | Consistency checking mechanism for configuration parameters in embedded systems |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/583,412 Abandoned US20070038788A1 (en) | 2001-06-12 | 2006-10-18 | Consistency checking mechanism for configuration parameters in embedded systems |
Country Status (1)
Country | Link |
---|---|
US (3) | US6877051B2 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7024548B1 (en) * | 2003-03-10 | 2006-04-04 | Cisco Technology, Inc. | Methods and apparatus for auditing and tracking changes to an existing configuration of a computerized device |
US20080126957A1 (en) * | 2006-08-31 | 2008-05-29 | Research In Motion Limited | System and method for providing a parameter for an application operating on an electronic device |
EP2413534A1 (en) * | 2010-07-30 | 2012-02-01 | Brother Kogyo Kabushiki Kaisha | A communication device suitable for communicating an error message associated with a plurality of interrelated configuration parameters |
US10171301B2 (en) | 2015-07-27 | 2019-01-01 | International Business Machines Corporation | Identifying hardcoded IP addresses |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7093010B2 (en) * | 2002-05-20 | 2006-08-15 | Telefonaktiebolaget Lm Ericsson (Publ) | Operator-defined consistency checking in a network management system |
CN1283063C (en) | 2003-05-20 | 2006-11-01 | 华为技术有限公司 | Method and apparatus for layout data in communication equipment |
US7299450B2 (en) * | 2003-06-17 | 2007-11-20 | Microsoft Corporation | Undoing changes in a software configuration management system |
EP1621945B1 (en) * | 2004-07-30 | 2017-03-29 | Siemens Aktiengesellschaft | Ensuring data consistency in an automation system |
US20060242277A1 (en) | 2005-03-31 | 2006-10-26 | Tripwire, Inc. | Automated change approval |
US8301750B2 (en) * | 2005-06-10 | 2012-10-30 | International Business Machines Corporation | Apparatus, system, and method for facilitating communication between an enterprise information system and a client |
DE102007006184B3 (en) * | 2007-02-07 | 2008-06-19 | Nokia Siemens Networks Gmbh & Co.Kg | Method for computer-aided operation of technical network, involves characterizing network at each time by network condition that comprises multiple of parameters in network |
EP2109323B1 (en) * | 2008-04-08 | 2010-11-24 | Tieto Oyj | Dynamic fault analysis for a centrally managed network element in a telecommunications system |
CN101697518B (en) * | 2009-09-24 | 2012-04-25 | 华为技术有限公司 | Telecommunication equipment collocating method and system as well as telecommunication equipment |
US8504888B2 (en) * | 2010-05-04 | 2013-08-06 | Lantiq Deutschland Gmbh | Communication devices and methods with online parameter change |
US9542357B2 (en) * | 2010-07-15 | 2017-01-10 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatus for updating a user terminal |
US10466977B2 (en) * | 2015-10-11 | 2019-11-05 | Renesas Electronics America Inc. | Data driven embedded application building and configuration |
US9811347B2 (en) * | 2015-12-14 | 2017-11-07 | Dell Products, L.P. | Managing dependencies for human interface infrastructure (HII) devices |
RU2666645C1 (en) * | 2017-08-10 | 2018-09-11 | Акционерное общество "Лаборатория Касперского" | System and method for providing safe system configuration change |
WO2019048905A1 (en) * | 2017-09-07 | 2019-03-14 | Pismo Labs Technology Limited | Configuration rollback based on the failure to satisfy predefined conditions |
US11966479B2 (en) | 2022-01-24 | 2024-04-23 | Bank Of America Corporation | Systems and methods for evaluating, validating, and implementing change requests to a system environment based on artificial intelligence input |
US20240340658A1 (en) * | 2023-04-05 | 2024-10-10 | Microsoft Technology Licensing, Llc | Updating network functions in a telecommunications network utilizing atomic configuration snapshots |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5617514A (en) * | 1994-07-13 | 1997-04-01 | Unisys Corporation | Generalized configurator using multiple interacting packers and declaratively defined constraint expressions |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4979107A (en) * | 1985-02-21 | 1990-12-18 | International Business Machines Corporation | Modification of device configuration wherein the system specifies and prompts the user with only parameters required to be changed |
US5175800A (en) * | 1987-03-23 | 1992-12-29 | Case Group Plc | Expert and data base system and method for communications network |
US6363417B1 (en) * | 2000-03-31 | 2002-03-26 | Emware, Inc. | Device interfaces for networking a computer and an embedded device |
US6601086B1 (en) * | 2000-06-06 | 2003-07-29 | Emware, Inc. | Service provider for providing data, applications and services to embedded devices and for facilitating control and monitoring of embedded devices |
-
2001
- 2001-06-12 US US09/878,431 patent/US6877051B2/en not_active Expired - Fee Related
-
2004
- 2004-12-01 US US11/001,938 patent/US20050080598A1/en not_active Abandoned
-
2006
- 2006-10-18 US US11/583,412 patent/US20070038788A1/en not_active Abandoned
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5617514A (en) * | 1994-07-13 | 1997-04-01 | Unisys Corporation | Generalized configurator using multiple interacting packers and declaratively defined constraint expressions |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7024548B1 (en) * | 2003-03-10 | 2006-04-04 | Cisco Technology, Inc. | Methods and apparatus for auditing and tracking changes to an existing configuration of a computerized device |
US20080126957A1 (en) * | 2006-08-31 | 2008-05-29 | Research In Motion Limited | System and method for providing a parameter for an application operating on an electronic device |
US7797679B2 (en) * | 2006-08-31 | 2010-09-14 | Research In Motion Limited | System and method for providing a parameter for an application operating on an electronic device |
US20100287533A1 (en) * | 2006-08-31 | 2010-11-11 | Research In Motion Limited | System and method for providing a parameter for an application operating on an electronic device |
US8365146B2 (en) | 2006-08-31 | 2013-01-29 | Research In Motion Limited | System and method for providing a parameter for an application operating on an electronic device |
US8893085B2 (en) | 2006-08-31 | 2014-11-18 | Blackberry Limited | System and method for providing a parameter for an application operating on an electronic device |
EP2413534A1 (en) * | 2010-07-30 | 2012-02-01 | Brother Kogyo Kabushiki Kaisha | A communication device suitable for communicating an error message associated with a plurality of interrelated configuration parameters |
US9106534B2 (en) | 2010-07-30 | 2015-08-11 | Brother Kogyo Kabushiki Kaisha | Communication device |
US10015131B2 (en) | 2010-07-30 | 2018-07-03 | Brother Kogyo Kabushiki Kaisha | Communication device recording input values for subnet mask setting item, IP address setting item, and gateway setting item |
US10171301B2 (en) | 2015-07-27 | 2019-01-01 | International Business Machines Corporation | Identifying hardcoded IP addresses |
Also Published As
Publication number | Publication date |
---|---|
US6877051B2 (en) | 2005-04-05 |
US20020188778A1 (en) | 2002-12-12 |
US20070038788A1 (en) | 2007-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20070038788A1 (en) | Consistency checking mechanism for configuration parameters in embedded systems | |
EP1410566B1 (en) | Improved event database management method and system for network event reporting system | |
CN100479575C (en) | Method and apparatus for realizing scheduled operation in equipment management | |
US7024450B1 (en) | Method and apparatus for deploying service modules among service nodes distributed in an intelligent network | |
AU760777B2 (en) | Method and apparatus for deploying service modules among service nodes distributed in an intelligent network | |
US8671226B2 (en) | Transaction control arrangement for device management system | |
US20040015940A1 (en) | Intelligent device upgrade engine | |
US20150052509A1 (en) | Associated plug-in management method, device and system | |
US20020087734A1 (en) | System and method for managing dependencies in a component-based system | |
CN101730099B (en) | Terminal management method based on authority control and device | |
US20050210081A1 (en) | Data synchronization method | |
US5895472A (en) | Change and accounting log for object-oriented systems | |
US8788710B2 (en) | Managed object member architecture for software defined radio | |
CN118283100A (en) | Micro-service system for realizing elastic deployment and deployment method | |
CN114020368A (en) | Information processing method and device based on state machine and storage medium | |
US20130297755A1 (en) | Network element configuration management | |
US20030212919A1 (en) | Updateable event forwarding discriminator incorporating a runtime modifiable filter | |
US5966713A (en) | Method for determining the contents of a restoration log | |
US20030101252A1 (en) | System and method for supporting SNMP managed networks | |
CN102111783A (en) | Primary subcommand rollback method and terminal | |
KR100471497B1 (en) | Upgrade method of image file in network system | |
CN114513501B (en) | Target distribution method and system | |
US20030131080A1 (en) | Method for updating a database | |
de Fombelle et al. | Finding a path to model consistency | |
KR101404449B1 (en) | Method of defining condition scenario in management object |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |