A network monitoring system monitors a data network and enables
observation of the data network state in the present or any arbitrary
previous time. The system maintains an object-oriented network model that
mirrors the state of network devices. A network data repository stores
and maintains the network model. The network model retains a history of
network events, enabling the system to reconstruct the state of all or a
portion of the devices in the network at any previous time. The network
data repository detects network devices on the data network to be
monitored, communicates with network devices, monitors the state of
network devices, receives and records network events, provides device and
network state information to client applications, and manages data
storage. Client applications can rewind and replay the history of the
network model, allowing the observation of network devices and all of
their state data at any prior time.