A method is disclosed for carrying out network device provisioning and
configuration, and communication of other information to a network
device, automatically and in an assured manner. A configuration service
receives a request from a network device to provide configuration
information. The configuration service retrieves a template representing
the configuration from a storage location, e.g., a directory service. The
configuration service also retrieves one or more parameter values
specific to the device. Device-specific values are instantiated for the
generic parameters in the template, based on the retrieved values. The
resulting configuration is stored in XML format using XML tags to delimit
configuration commands, tested for well-formed-ness, and syntax checked.
A reliable transport protocol carries the configuration information to
the device. At the device, a configuration agent syntax checks the
embedded configuration information, and then applies the configuration
information to the device. As a result, automatic network provisioning
may be accomplished remotely, without requiring a skilled technician to
visit customer premises to carry out configuration. The process may be
integrated with an event service to enable multiple devices to
concurrently receive re-configuration without special synchronization
logic.