Methods and systems for providing a virtual network are disclosed. At
least one layer of abstraction is created between network service
applications and conventional network protocols by inserting an adaptive
dispatcher between applications and network transport services on each
machine in a network. The message protocol in the virtual network is
extensible, allowing application programs to create new headers within
any message as needed. The adaptive dispatcher contains handlers that
route and dispatch messages within the virtual network based on arbitrary
content within each message, including any combination of headers and/or
data content. Each device on the virtual network has a virtual address to
which messages are directed, allowing devices to move within the network
without reconfiguring routing tables. Handlers may be automatically
created when an event meeting predefined criteria occurs, including the
non-occurrence of a condition, making the virtual network self-healing
and adaptive to reconfiguration.