with reference to the drawings , fig2 - 10 depict the preferred embodiment of the client / server data delivery and retrieval system 10 and method 100 of the instant invention . the instant invention 10 and 100 accomplishes direct data transfer between i / o devices by novel peer i / o operations and solutions . the instant invention generally comprises a planar board 20 having main cpu ( s ) 24 and main dynamic memory 22 , and i / o devices 30 . the i / o devices 30 include a network i / o device 40 ( as shown in fig4 ) having a plurality of network controllers 42 and local data buffers 44 , and a storage i / o device 50 comprising a host interface 52 , local data buffers 54 and at least one storage disk 56 . fig2 and 3 illustrate the preferred server solution of the instant invention using peer i / o direct data transfer techniques . with the architecture and methods of the instant invention 10 , 100 data is moved from a storage bus i / o device 50 ( source device ) to the network i / o device 40 ( destination device ) along path 10a as it is transferred directly from data buffers 54 local to storage i / o device 50 to data buffers 44 local to network i / o device 40 . one of two adapters , preferably the network i / o device 40 , acts as a slave , while the other , such as the storage i / o device 50 , acts a bus master . thus , a single data transfer across the i / o bus 16 between peer i / o devices , such as the network i / o device 40 and the storage i / o device 50 , is achieved . the peer i / o operations of the invention are characterized by a single data transfer between source and destination i / o devices 30 , which is accomplished with minimal burden to the cpu ( s ) 24 , except for initial setup , and main cpu dynamic memory 22 , to be discussed more fully herein . regarding hardware enablement , at lest one of the i / o devices 40 or 50 capable of peer i / o communication must be able to act as a bus master and the other as a slave . devices capable of peer i / o communication must contain local memory and be able to map a portion of that memory onto the system &# 39 ; s i / o bus address space 16 . the ability of one i / o device , 50 and 40 , to issue a direct interrupt to a peer i / o device , 50 or 40 ( over a standard i / o bus 16 ) is not a requirement for peer i / o , however , this feature merits mention because it is key to reducing latency in peer i / o operations . the following discussion addresses preferred server implementation . with reference to peer data transfers between storage i / o device 50 and network i / o device 40 ( via i / o bus 16 ) as seen in fig3 and 4 , the instant invention comprises a peer i / o server solution based upon a key software component referred to throughout as the peer i / o manager . fig3 illustrates the basic data flow of this product across path 10a , whereby , data preferably only flows once across the system bus 16 . furthermore , intensive network protocol and packet transmission processing that normally burdens the planar - board cpu is offloaded to a high - performance risc processor on - board each network i / o device 40 . in contrast , fig1 illustrates the old flow of data in a traditional file server . the preferred implementation is a high - performance data delivery mechanism for peer i / o &# 39 ; s , designed to optimize file server 20 throughout . this preferred implementation is comprised of the following major components as shown in fig3 . referring to fig3 a basic block diagram of the preferred implementation server solution 20 of the invention is shown . the basic components include an intelligent network i / o device 40 and a storage i / o device 50 ( both capable of peer i / o ), software extensions 21 to the traditional network i / o device driver 23 , and a software component called peer i / o manager . the various components serve the following basic functions discussed below with reference to an intelligent network i / o device 40 , the storage i / o device 50 , peer i / o manager software 26 , the network i / o device driver extensions 23 and network attached client software extensions . the intelligent network i / o device 40 components provide buffering for raw data accepted from the storage i / o device 50 through peer i / o data transfers . the network device 40 also provides sufficient processing power to perform network protocol processing of the raw data from network protocols 25 and distribution of the processed data to the network attached clients 12 . it should be noted that one , or more , network or storage i / o devices may simultaneously participate in the preferred implementation without departing from the scope and spirit of the instant invention . the storage i / o device 50 provides permanent storage of program and data files used by the planar - board cpu ( s ) 24 and network attached clients 12 . again , one , or more , storage i / o devices 50 may simultaneously participate in the preferred implementation functionality . the peer i / o manager software component 26 provides the program control necessary to co - ordinate and initiate peer i / o data transfers from the storage i / o device 50 to the network i / o device 40 . the peer i / o manager software component is able to simultaneously control one , or more , storage and network i / o devices . the network i / o device driver extensions 21 provide a message passing interface between software components on the network i / o device 40 and the peer i / o manager software 26 component . in addition to the above mentioned software and hardware components that reside on a file server , the network attached client includes software redirector extensions . the client redirector extension and peer i / o manager are communication peers . the purpose of client redirector extension is to differentiate and expedite requests to be processed by the peer i / o manager function in the file server 10 of the invention . to permit the above mentioned components to inter - operate , the preferred embodiment utilitizes basic software interfaces , such as network protocols 46 , data interface 47 , command interface 48 , network device driver extension interface 21 and a direct file system interface 28 . the network protocols 46 is an efficient network protocol that permits high - performance data transfers between the intelligent network i / o device 50 and network attached clients 12 . the command interface 48 is an interface to permit control messages to be passed between the intelligent network i / o device 40 and the network i / o device driver 23 as it executes on the planar - board cpu 24 . the data interface 47 is an interface to permit data to be passed from the intelligent network i / o device 40 to the network i / o device driver 23 . the network device driver extension interface 21 is an interface to permit control messages to be passed from the network i / o device driver to the peer i / o manager software component . the direct file system interface permits control messages to be passed from the peer i / o manager software component to the direct file system 28 ( dfs ). with reference to fig4 there is shown a block diagram view of the basic hardware components that comprise the network i / o device architecture 40 . the main components of the network i / o device 40 of primary interest contributing to its ability to act as a peer i / o device include a dram 45a , sram 44 , a processor 45 and a direct memory access ( dma ) controller . the sram 44 is an acronym for static random access memory as is well known in the art . it provides for local memory on the network i / o device . the sram 44 component provides high performance memory used to buffer data received during data transfer from the i / o bus or ethernet network controllers , such as 82596 chips . throughout this disclosure the sram 44b component is also referred to as the network i / o device local memory 44 . dram 45a is an acronym for dynamic random access memory as is well known in the art . the dram 45a provides high performance memory used as program and data storage for the processor 45 . the processor preferably comprises the intel 960cf risc processor or similar processors . the processor 45 provides the processing power that enables the network i / o device 40 to off load functions traditionally performed by the planar - board cpu 24 . the dma 41 is a high - performance pci bus interface controller as is well known in the art , and may include a 9060 plx . the dma 41 provides slave / master dma access to the sram 44 component . it also enables peer i / o devices to directly interrupt the processor 45 . these two functions are the key hardware enablers of peer i / o functionality . the other components in the network i / o device may also include ethernet controllers , on - board timers , and non - volatile flash memory . the preferred implementation defined herein is based upon , but not restricted to , a four port , bus master , ethernet network i / o device , illustrated in fig4 . peer i / o manager uses low level file system primitives such as the netware ™ direct file system ( dfs ) 28 to issue direct read requests to the storage i / o device 50 . file read memory buffers 44 are local to the network i / o device 40 , so that peer i / o data transfers are accomplished via planar - board cpu 24 control . the network protocol 46 software component on the network i / o device 40 is responsible for creating network layer data packets using the raw file data and sends the data to network attached clients 12 . with reference to fig9 the basic flow of data through the file server is as follows : a . a file read request is received by the network i / o device . b . the read request is passed to the network i / o device driver . c . the device driver passes the request to the network layer protocol ( ipx ). e . peer i / o manager passes the request to the storage i / o device driver via the direct file system ( dfs ). f . the storage i / o device reads the data into local data buffer . g . the storage i / o device moves the data into local data buffers on the network i / o device . k . peer i / o manager informs the network i / o device that data is buffered locally for transmission . l . the network i / o device creates network data packets using the locally buffered data . m . the network i / o device transmits the data packet from local memory to the network attached client . n . the network i / o device posts completion status to peer i / o manager . o . peer i / o manager reclaims the data buffers associated with the transfer . in contrast to the preferred implementation , the flow of data through a traditional netware ™ file serve would be as follows : a . a file read request is received by the network i / o device . b . the read request is passed to the network i / o device driver . d . ipx passes the request to the application layer protocol ( netware ™ core protocol ( ncp )). e . ncp passes the request to the storage i / o device driver via the traditional file system . f . the storage i / o device reads the data into local data buffers . g . the storage i / o device moves the data into the planar - board memory . j . ncp retrieves the data from the file cache and passes it to ipx . k . ipx creates network layer data packets out of the data and passes it to the network i / o device driver . l . the network i / o device driver passes the transmit request to the network i / o device . m . the network i / o device retrieves the data from planar - board memory into local memory . n . the network i / o device transmits the data packet from local memory to the network attached client . o . the network i / o device posts completion status to the network i / o device driver . p . the network i / o device driver posts completion status to ipx . accordingly , the data path taken crosses the i / o bus 16 more than once and burdens the server cpu ( s ) 5 . the initial implementation of peer i / o manager 26 is designed to expedite file read operations , because it is believed that read operations are perceived as more time critical than write operations . this is true for applications such as video playback . however , the basic preferred implementation is fully capable of performing file write operations through peer i / o . networked attached client extensions are also present in the instant invention . the block diagram in fig6 includes the software layers present on a network attached client and required for communicating with the peer i / o manager 26 in the file server . the client redirector extension 12c is preferred for the current preferred implementation . this layer of software 12c interacts with application software 12a running on the client station 12 and with the peer i / o manager 26 -- via a streaming protocol . the client redirector extension 12c permits a client station user to create a logical drive and map that drive to a volume controlled by the peer i / o manager 26 . the client redirector extension is implemented as a terminate and stay resident ( tsr ) executable under dos and windows 3 . 1x . dynamic link library ( dll ) versions of client redirector extension are also implementable for 32 bit operating systems , such as windows nt , windows 95 and os / 2 . these extensions intercept all requests to the standard redirector interrupt ( int 2fh ) and shares it with a standard requester , such as the netware ™ requester ( netx . com or vlm . exe ). requests for the logical drive controlled by peer i / o manager 26 are passed to the streaming protocol in 12c and all other requests are passed to the standard requester , and processed by protocols such as the netware ™ core protocol ( ncp ). note that it is possible to provide peer i / o solutions in a file server without client extensions such as the client redirector extension . the client redirector extension provides a streaming protocol that makes it easy for software layers in the file server to determine when to provide peer i / o data transfers . the peer i / o manager software could , however , dynamically decide to perform peer i / o based upon an observation of file read patterns being issued by standard requestors . the client redirector extension is invoked with the command line parameters : a . mandatory : the logical drive letter to be associated with peer i / o manager . b . mandatory : the physical volume on the server to map the services to . c . optional : a flag to enable local read - ahead and data caching . if enabled , the client redirector extension will request data from the peer i / o manager in advance of being requested to do so by higher layer software applications . d . optional : a byte count to specify the size of read - ahead requests sent to the peer i / o manager . a default read size shall be sued if this argument is not present . e . optional : a byte count to specify the size of read - ahead buffers . a default buffer size shall be used if this argument is not present . during initialization , the client redirector extension performs ncp registration of the client station with the server . this process consists of : e . volume check once registered , the client redirector extension is ready to accept transfer requests . file i / o requests issued to the drive letter registered with the peer i / o manager 26 are passed to the streaming protocol . the streaming protocol translates these requests into protocol transactions with the peer i / o manager in the server as defined in the following section referenced as &# 34 ; client redirector extension to peer i / o manager frame formats &# 34 ;. fig7 illustrates the fields that comprise a data packet that is sent between a netware ™ client and a file server . the packet is comprised of a media access control ( mac ) header , an ipx header , and a data section . these fields are subdivided as follows : ______________________________________da this acronym stands for destination address . this 6 byte field is part of the media access control header . it specifies an ethernet address of the intended end station ( s ). this is the first field of the data packet to be sent onto the ethernet . sa this acronym stands for source address . this 6 byte field is part of the media access control header . it specifies an eternet address of the initiating station . t / l this acronym stands for type / length . this 16 bit field is part of the media access control header . if the value in this field is greater than or equai to 2000 , then this field indicates the byte count of the data packet , else the value specifies the protocol type of the remaining packet . ipx . sub .-- chksum this is the ipx checksum . this 16 bit field is part ot the ipx header . this field is currently set to a value of 0xffff . the current implementation of ipx does not support software checksums . ipx . sub .-- len this is the ipx length . this 16 bit field is part of the ipx header . the value in this field contains the length of the ipx . sub .-- data field . ipx . sub .-- tc this is the ipx transport control . this one byte field is part of the ipx header . this field is used by routers to log the number of times that a packet has been forwarded . ipx . sub .-- pt this is the ipx packet type . this one byte field is part ot the ipx header . this field indicates the type of service that a packet will use (( ipx / spx / ncp ). ipx . sub .-- da this is the ipx destination address . this field is part of the ipx header . this field is comprised of three sub - fields that define the address of the destination station as follows : destination network : 4 byte field . destination node : 6 byte field . destination socket : 2 byte field . ipx . sub .-- sa this is the ipx destination address . this field is part of the ipx header . this field is comprised of three sub - fields that define the address of the source station as follows : source network : 4 byte field . source node : 6 byte field . source socket : 2 byte field . ipx . sub .-- data this is the ipx data . this variable length field contains data that is being delivered by the ipx protocol . the data shall be delivered to the application ( s ) that accept data from the destination socket on the destination network / node . typically , this field contains data for the higher layer protocols , such as ncp . ______________________________________ the ipx -- data field is variable in length and contains data passed by the ipx protocol layer to the next higher software layer . this data is formatted by the next higher layer protocol . the ipx protocol processing layer is designed to provide simultaneous support to multiple higher layer protocols . the ipx software layer acts much like a mailman . it delivers packets to higher layer protocols through a post office box - like scheme . the ipx layer uses the destination socket in the ipx header field of each incoming packet as the postal address that associates incoming data packets with specific higher layer protocols . protocols register with ipx to receive packets addressed to specific socket ids . fig7 illustrates the netware ™ core protocol ( ncp ) as a software layer above ipx . ipx delivers data packets addressed to socket number 451 to ncp . traditionally , netware ™ client - based redirectors send file requests to the ncp socket id in the file server . the peer i / o manager , like ncp , is a protocol layer that accepts data packets addressed to its own unique socket id in a file server . the client redirector extension is a client - based software protocol layer that addresses file requests to the peer i / o manager socket id in the file server . peer i / o manager and client redirector extension software layers co - exist with ncp software layers in a file servers and network attached clients . thus , peer i / o manager services co - exist with traditional file server functions the ncp protocol facilitates file open / close / read / write operations between traditional network attached clients and file servers . ncp facilitates file read / write requests through planar - board centric i / o data transfers , i . e . all data moves through the file cache in planar - board memory . peer i / o manager , however , facilitates file read / write requests through peer i / o data transfers , i . e ., all data moves directly from storage i / o device local memory to network i / o device local memory . the peer i / o manager and client redirector extension communication protocol layer is placed into the ipx -- data field of data packets and is formatted as follows : ______________________________________filed name size description______________________________________functioncode 1 byte this field , filled in by the client redirector extension , describes the function of the function of the packet as follows : 00 = reserved ; 01 = file open ; 02 = file read ; 03 = file close ; 04 = read retryfilename 150 bytes this field , filled in by the client redirector extension , provides the name of the file associated with the requested function . this field is meaningful only on file open requests . serverreadahead 1 byte this field , filled in by the client redirector extension , requests the peer i / o manager 26 to double buffer file read data on the network i / o device . client redirector extension may dynamically alter the state of this flag while reading from an opened file . 00 = read file data only as requested ; 02 = read file data ahead of actual requestsfilehandle index 32 bit this field , filled in by the client redirector extension for an open request , provides the peer i / o manager with open modes associated with the open operation . for a full description of file open modes , refer to the dos technical manual - interrupts 21 and 6c . actioncode 16 bit this field , filled in by the client redirector extension for an open request , provides the peer i / o manager with action codes associated with the open operation . for a full description of action codes , refer to the dos technical manual - interrupts 21 and 6c . attributes 16 bit this field , filled in by the client redirector extension for an open request , provides the peer i / o manager with open attributes associated with the open operation . for a full description of file attributes , refer to the dos technical manual - interrupts 21 and 6c . connectionid 32 bit each peer i / o manager - based server must have a connecticn id unique to each network attached client redirectcr extension client . this value remains constant as long as the client remains attached to the file server . this field , filled by the client redirector extension for all requests , provides peer i / o manager with unique connection id . originalfilesize 32 bit this field , filled by peer i / o manager in response to open . request &# 39 ; s provides the client redirector extension - based client with the original size of a file being opened . readoffset 32 bit this field , filled in by the client redirector extension for read requests , provides the peer i / 0 manager with a file position for the start of the requested read operation . the starting position is expressed as a byte offset , from byte zero of the specified file . bytestoread 16 bit this field , filled in by the client redirector extension for read requests , provides the peer i / o manager with a byte count of data to be read from the specified file , starting at the readoffset into the file . retryslot 16 bit this field , filled in by the client redirector extension for read retry requests , provides the peer i / o manager with the socketid associated with the original data read request . returncode 32 bit this field , filled in by peer i / o manager in response to open and close requests , provides the client redirector extension - based client with completion status and confirmation of the requested operation . ______________________________________ in response to file read requests , the peer i / o manager transmits file data to the client redirector extension - based clients via raw ipx data packets . this means that no higher layer protocol information is contained in the ipx -- data field . the client redirector extension relies upon the socketid in the ipx header to properly assemble and process the received data . the client redirector extension does not specifically acknowledge received data , however , retry packets serve the function of a non - acknowledgement or reject , and a successive read acts as an implied acknowledgement of all previously sent data . fig8 illustrates the basic flow of command and file information through the various interfaces that comprise the peer i / o solution called the peer i / o manager and client redirector extension . the various interfaces are listed at the top of the diagram . fig7 illustrates a block diagram view of the routines that process requests and replies at these interfaces . the following is a brief description of the interfaces and associated processing routines : ______________________________________interface description______________________________________direct file system the direct file system is object code provided by novell that links directly to the peer i / o manager . thus , the peer i / o manager is able to make direct procedure calls to dfs functions . the netware ™ kernal permits the peer i / o manager to place calls to dfs and sleep until the requested operation completes . this is accompolished via semaphore / signal functions of netware ™. dfs returns control to a peer i / o manager callback routine , when a requested function completes . peer i / o manager ipx the ipx socket interface is basically asocket semiphore / signal . a software layer , such as peer i / o manager , posts a request to ipx for incoming packets that are addressed to a particular destination socket id . the software then goes to sleep and is re - awakened when an incoming packet is available for processing . peer i / o manager ioctl the peer i / o manager ioctl interface is basically a semiphore / signal . a peer i / o manager posts a request for incoming mailbox messages to the network driver . a peer i / o manager then goes to sleep and is re - awakened when an incoming message is available for processing . network driver mailbox the mailbox is actually located in a portion of network i / o device local data buffer that is readily accessible to both the planar - board and the network i / o device on - board cpus . when either processor places a messge into the mailbox , an interrupt is issued to signal the event to the other processor . planar - board cpu interrupts are fielded by the network i / o driver . the network i / o device interrupts are fielded by a layer of software called the host api , and control is then passed to mailbox processing interface routine . adapter mailbox the network i / o device has a set of routines that process messages placed into the shared memory mailbox . collectively , these routines are called the &# 39 ; command interface &# 39 ; in fig7 . client redirector the peer i / o manager 26 and clientextension ipx sockets redirector extension exchange ipx - based streaming data protocol packets . the format of these packets are defined in the section referenced as , client redirector extension to the peer i / o manager 26 frame formats . routines that initiate and process data packets associated with this protocol reside within peer i / o manager on the server and client redirector extension on a network attached client . ______________________________________ fig8 illustrates the basic steps of opening , reading and closing a file from a client redirector extension - based client . arrows represent the flow of command messages and file data across the various interfaces . the caption on each arrow indicates the message type . the following table briefly describes the steps illustrated in fig8 . ______________________________________step number description______________________________________1 ncp initialization : this process involves multiple steps . during this process , the client redirector extension - based client performs all initialization that is required by ncp . the packets generated by client redirector extension are sent to the standard ncp socket in the file server . the following ncp initialization takes place ( it unnecessary to describe these steps for the purpose of this patent ). ( a ) login to the server ( if not already done ) ( b ) security checking ( c ) directory service ( if netware ™ 4 . x server ) ( d ) locale check ( e ) volume check2 ncp initialization response : ncp in the file server responds to each process listed in step 1 above . 3 file open request : on behalf of a request from higher software layers , the client redirector extension builds a file open request packet and sends this packet to the peer i / o manager socket in the file server . the format of this packet is described in the section entitled &# 34 ; client redirector extension to peer i / o manager frame formats &# 34 ;. 4 dfs open : in response to the file open request , peer i / o manager issues a file open request to the direct file system ( dfs ). the syntax of this request is described in the novell netware ™ nlm sdk . 5 dfs open response : in response to the dfs file open request , dfs opens the requested file and issues a response to peer i / o manager . the syntax of this response is described in the novell netware ™ nlm sdk . 6 connection initialization : in response to the dfs file open response , peer i / o manager builds a connection initialization message and passes the message to the network driver . the network driver , in turn , places this message in the shared memory mailbox and interrupts the network i / o devices processor . the mailbox message contains a session id and information required by the network i / o device firmware to build ipx headers and transmit the packets to the client redirector extension - based client . the session id is a numeric handle used to identify a specific file transfer session on subsequent transmit request and connection terminate commands . 7 connection initialization response : in response to the connection initialization request , the network i / o device firmware initialized the requested session and builds a connection initialization response message . the message is placed into the shared memory mailbox and the network driver is interrupted . the network driver , in turn , passes the message to the peer i / o manager 26 . the mailbox message contains a session id to identify the appropriate session . 8 file open response : in response to the connection initialization response , the peer i / o manager 26 builds a file open response packet and sends this packet to the client redirector extension command ipx socket in the file server . the format of this packet is described in the section entitled &# 34 ; client redirector extension to peer i / o manager 26 frame formats &# 34 ;. 9 file read request : on behalf of a request from higher software layers , the client redirector extension builds a file read request packet and sends this packet to the peer i / o manager socket in the file server . the format of this packet is described in the section entitled &# 34 ; client redirector extensions to peer i / o manager frame formats &# 34 ;. 10 dfs read : in response to the file read request , the peer i / o manager 26 issues a file read request to the direct file system ( dfs ). the syntax of this request is described in the novell netware ™ nlm sdk . the destination buffer for the requested read operation is local memory on the network i / o device adapter . this read operation is the basis of the peer i / o data movement . 11 dfs open response : in response to the dfs file read request , dfs reads the request file data to the peerswitch adapter buffers and issues a response to peer i / o manager . the syntax of this response is described in the novell netware ™ nlm sdk . 12 tx request : in response to the dfs file read response , the peer i / o manager builds a transmit request message and passes the message to the network driver . the network driver , in turn , places this message in the shared memory mailbox and interrupts the network i / o device processor . the mailbox message contains a session id and information required by the network i / o device firmware to build ipx headers and transmit the packets to the client redirector extension - base client . 13 file read data : in response to the tx request , the network i / o device firmware uses the file data provided by dfs read to build ipx data packets for transmission to the client redirector extension - based client . the packets are then transmitted to the client . 14 tx complete : when each of the ipx packets have been sent to the client redirector extension - based client , the network i / o device firmware builds a tx complete message . the message is placed into the shared memory mailbox and the network driver is interrupted . the network driver , in turn , passes the message to peer i / o manager . the mailbox message contains a session id to identify the appropriate session . 15 repeat till eof : steps 9 through 14 will repeat until the end of file ( eof ) is reached or the process is terminated for some other reason . 16 file close request : on behalf of a request from higher software layers , client redirector extension builds a file close request packet and sends this packet to the peer i / o manager socket in the file server . the format of this packet is described in the section entitled &# 34 ; the client redirector extension and peer i / o manager frame formats &# 34 ;. 17 dfs close : in response to the file close request , peer i / o manager issues a file close request to the direct file system ( dfs ). the syntax at this request is described in the novell netware ™ nlm sdk . 18 dfs close response : in response to the dfs file open request , dfs closes the requested file and issues a response to peer i / o manager . the syntax of this response is described in the novell netware ™ nlm sdk . 19 connection terminate request : in response to the dfs file close response , peer i / o manager builds a connection terminate request message and passes the message to the network driver . the network driver , in turn , places this message in the shared memory mailbox and interrupts the network i / o device adapter processor . the mailbox message contains session id to specify the terminated session . 20 connection terminate response : in response to the connection terminate request , the network i / o device firmware terminates the requested session and builds a connection terminate response message . the message is placed into the shared memory mailbox and the network driver is interrupted . the network driver , in turn , passes the message to peer i / o manager . the mailbox message contains a session id to identity the appropriate session . 21 file close response : in response to the connection terminate response , peer i / o manager builds a file close response packet and sends this packet to the client redirector extension command and ipx socket in the file server . the format of this packet is described in the section referenced as &# 34 ; client redirector extension to peer i / o manager frame formats &# 34 ;. ______________________________________ peer i / o may also be employed as the basis of a preferred solution based upon direct data transfers among any number of peer network i / o devices . fig2 illustrates a simple example of this preferred solution . two network attached clients ( a and b ) each reside on separate networks ( 1 and 2 ). network traffic from client a to client b follows the following basic path : ( a ) client a on network 1 transmits a network packet addressed to client b . ( b ) network i / o device 1 receives the data packet into a local buffer . ( c ) network i / o device 1 interrogates the destination address ( da ) of the data packet and searches a data base in local memory for an entry with a matching da . ( d ) network i / o device 1 finds an entry with a matching da in the data base . the entry indicates that the destination device is located on network 2 . ( e ) network i / o device 1 using a dma device copies the data packet into data buffers that are local to network i / o device 2 and signals network i / o device 2 that a data packet has been copied to its memory and is waiting for transmission on network 2 . this signal process may be accomplished via a peer interrupt . ( f ) network i / o device 2 , in response to the signal , initiates the transmission of the data packet from local data buffers to network 2 . ( g ) client b copies the data packet from network 2 into its own memory . ( h ) return traffic follows the same basic flow in the opposite direction . the prior art solution to the forwarding traffic among clients on separate networks is based upon planar - board data buffers as follows : ( a ) client a on network 1 transmits a network packet addressed to client b . ( b ) network i / o device 1 receives the data packet into a local data buffer . ( c ) network i / o device 1 forward the data packet to planar - board receive buffers and signals the network i / o device driver that data is available . ( d ) the network i / o device driver , processing on the planar board cpu , forwards the received packet to a network layer protocol , such as ipx . ( e ) the network layer protocol interrogates the destination address ( da ) of the data packet and searches a data base for an entry with a matching da . ( f ) the network layer protocol finds an entry with a matching da in the data base . the entry indicates that the device is located on network 2 . ( g ) the network layer protocol forwards the data packet to the network i / o device driver that controls the network i / o device attached to network 2 . ( h ) the network i / o device driver signals to network i / o device 2 that a data packet is ready for transmission onto network 2 . ( i ) network i / o device 2 using a dma device copies the data packet from planar - board data buffers into local data buffers . ( j ) network i / o device 2 initiates the transmission of the data packet from local data buffers to network 2 . ( k ) client b copies the data packet from network 2 into its own memory . ( l ) network i / o device 2 signals to the network i / o device driver that the planar - board data buffers are now free for re - use . ( m ) return traffic follows the same basic flow in the opposite direction . the invention may be implemented as a computer program product for distribution to an existing computer system . such implementation may comprise a series of computer instructions either fixed on a tangible medium , such as a computer readable media , e . g . diskette , cd - rom - 91 ; rom - 93 or fixed disk 94 ( fig2 ), or transmittable to a computer system , via a modem or other interface device , such as communications controller 95 to the network , over a medium which can be either a tangible medium , including but not limited to optical or analog communications lines , or use wireless techniques , including but not limited to microwave , infared or other transmission techniques . the series of computer instructions embodies all or part of the functionality previously described herein with respect to the invention . those skilled in the art will appreciate that such computer instructions can be written in a number of programming languages for use with many computer architectures or operating systems . further , such instructions may be stored using any memory technology , present or future , including , but not limited to , semiconductor , magnetic , optical or other memory devices , or transmitted using any communications technology , present or future , including but not limited to optical , infrared , microwave or other transmission technologies . it is contemplated that such a computer program product may be distributed as a removable media with accompanying printed or documentation , e . g ., shrink wrapped software ; preloaded with a computer system , e . g ., on system rom or fixed disk , or distributed from a server or electronic bulletin board over a network , e . g ., the internet or world wide web . the instant invention has been shown and described herein in what is considered to be the most practical and preferred embodiment . it is recognized , however , that departures may be made therefrom within the scope of the invention and that obvious modifications will occur to a person skilled in the art .