1. A method for defining a network bus between a plurality of hardware devices connected to each other over a data network by network interface circuitry (NIC) without the need for network stack processing, at least one of said plurality of hardware devices being a processor node having processing capability, the method comprising: providing, on each processor node, a network bus driver, a bus adapter driver and a NIC, said network bus driver configured to control exchange of network messages by accessing said NIC through said bus adapter driver, said bus adapter driver controlling said NIC; registering on each processor node, an NIC driver for each of said plurality of hardware devices to permit said network bus driver on that processor node to effect communications with respective NICs for said hardware devices via said data network; providing, on each processor node, a device driver for each of said plurality of hardware devices for controlling respective hardware devices through said network bus driver; and creating on each processor node, a software abstraction layer of the network bus for communicating between said plurality of hardware devices by registering said bus adapter driver with said network bus driver instead of an operating system (OS) on said processor node as a network provider thus bypassing network stack processing, and having said bus adapter driver forward received messages to said network bus driver; wherein said software abstraction layer permits said plurality of hardware devices to be seen as physical resources available to each processor node and configures said hardware devices to communicate as if over a bus to share resources at a network bus level removing need for said network stack processing.