Computer systems, in general, are used to store and maintain programs and data. A computer operates by executing a program, or a sequence of instructions, to carry out one or more tasks. Tasks, when executed, frequently serve to modify the stored data. Examples of modifications include altering the data value, moving data from one storage location in the computer to another, or deleting the data entirely from the system.
Data manipulation and management is a relatively easy task when isolated to a single computing platform. In the instance of a single computer, an executable program or application only needs to obtain write access rights to the data of interest in order to preserve modifications brought about as a result of execution. Advancements in technology, particularly the advent of networked computing, brought about a multitude of new challenges as it relates to data maintenance. Networked computing topologies provide an efficient basis to enable users to access and share vast amounts of data, but this enhancement is accompanied by added complexity with respect to ensuring that data remains consistent between the terminals that reside on the network.
In an effort to resolve the issue of potential data inconsistency, software has been engineered to provide for a synchronization process, wherein discrepancies or modifications between data objects are identified and ultimately reconciled. Prior methods of synchronization have entailed requiring an application to register its configuration information with a central service in order to allow other applications to invoke it. Such methods prove to be burdensome, however, because they require the allocation and maintenance of resources to serve as a centralized store for such registration information. Furthermore, when synchronization is no longer required, the additional step of de-registration is required, or the registration entry will continue to consume resources within the registry. As such, a system and method are desired that enable saving the configuration details for a synchronization operation without the need of a registration mechanism. Furthermore, it is desirable that other applications will easily be able to discover the configuration details associated with an application.