Computer system, program product and method of communicating internetworking data over a master-slave communication link
First Claim
1. A method of communicating internetworking data from a first computer to a second computer over a multi-drop master-slave communication link, wherein the second computer includes a network interface defined by an internetworking protocol, the method comprising:
- (a) initiating a communication session between the first and second computers, wherein said first computer is a host computer controlling said multi-drop master-slave communication link and communicating with a plurality of terminal computers attached to said multi-drop master-slave link using a respective hardware address associated with each terminal computer connected to said multi-drop master-slave communication link, and wherein said second computer is one of said plurality of terminal computers connected to said multi-drop master-slave communication link, said initiating step including mapping the hardware address for the second computer on the multi-drop master-slave communication link to a network address in a format defined by the internetworking protocol;
(b) transmitting an encapsulated data segment from the first computer to the second computer using the initiated communication session, including generating the encapsulated data segment from a first internetwork datagram that identifies the network address of the second computer by encapsulating the first internetwork datagram within a header native to the multi-drop master-slave communication link, the header identifying the hardware address of the second computer; and
(c) in a device driver in the second computer, receiving the encapsulated data segment and forwarding to the network interface in the second computer a second internetwork datagram, including generating the second internetwork datagram from the encapsulated data segment such that the second internetwork datagram is in a format defined by the internetworking protocol.
1 Assignment
0 Petitions
Accused Products
Abstract
A computer system, program product, and method of communicating internetworking data over a master-slave communication link utilize a device driver in a workstation coupled to a multi-drop master-slave communication link to forward internetwork datagrams to the network interface of the workstation in a format defined by an internetworking protocol in response to receipt thereof of data segments transmitted over the master-slave communication link that are encapsulated in a header native to the multi-drop master-slave communication link. A host computer coupled to the workstation over the multi-drop master-slave communication link maps the hardware address of the workstation to a network address consistent with the internetworking protocol, and initiates a communication session with the workstation using this mapped network address so that the network interface of the workstation can recognize the network address as its assigned address. Subsequently, data transmissions to the workstation from the host encapsulate an internetworking datagram that has as its destination the workstation within a header that is native to the protocol of the multi-drop master-slave communication link, and that specifies the hardware address of the workstation, so that the underlying link interface hardware and/or software can recognize the encapsulated data segment as destined for the workstation.
51 Citations
23 Claims
-
1. A method of communicating internetworking data from a first computer to a second computer over a multi-drop master-slave communication link, wherein the second computer includes a network interface defined by an internetworking protocol, the method comprising:
-
(a) initiating a communication session between the first and second computers, wherein said first computer is a host computer controlling said multi-drop master-slave communication link and communicating with a plurality of terminal computers attached to said multi-drop master-slave link using a respective hardware address associated with each terminal computer connected to said multi-drop master-slave communication link, and wherein said second computer is one of said plurality of terminal computers connected to said multi-drop master-slave communication link, said initiating step including mapping the hardware address for the second computer on the multi-drop master-slave communication link to a network address in a format defined by the internetworking protocol;
(b) transmitting an encapsulated data segment from the first computer to the second computer using the initiated communication session, including generating the encapsulated data segment from a first internetwork datagram that identifies the network address of the second computer by encapsulating the first internetwork datagram within a header native to the multi-drop master-slave communication link, the header identifying the hardware address of the second computer; and
(c) in a device driver in the second computer, receiving the encapsulated data segment and forwarding to the network interface in the second computer a second internetwork datagram, including generating the second internetwork datagram from the encapsulated data segment such that the second internetwork datagram is in a format defined by the internetworking protocol. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
(a) accessing an address table to locate a table entry for an unallocated network address from a pool of reserved network addresses stored in the address table; and
(b) storing the hardware address of the second computer in the table entry for the unallocated network address.
-
-
3. The method of claim 2, wherein mapping the hardware address to a networking address further includes indicating in each table entry whether a communication session is active for the network address associated therewith, wherein storing the hardware address of the second computer in the table entry further includes indicating an active communication session for the table entry for the unallocated network address, and wherein accessing the address table further includes accessing the address table to locate a table entry for an allocated network address that indicates that no communication session is active for the network address associated therewith if no table entry for an unallocated network address is found.
-
4. The method of claim 2, wherein initiating the communication session includes transmitting an initiate session packet to the second computer over the communication link, the initiate session packet identifying the network address mapped to the second computer.
-
5. The method of claim 4, wherein initiating the communication session further includes calculating a locally-administered hardware address for the second computer, and wherein the initiate session packet further includes the locally-administered hardware address.
-
6. The method of claim 1, wherein generating the encapsulated data segment includes stripping hardware to/from addressing information from the first internetwork datagram prior to encapsulating the first internetwork datagram within the header.
-
7. The method of claim 1, wherein generating the second internetwork datagram includes stripping the header from the encapsulated data segment.
-
8. The method of claim 1, further comprising:
-
(a) in the device driver of the second computer, transmitting a second encapsulated data segment from the second computer to the first computer using the initiated communication session, including generating a second encapsulated data segment from a third internetwork datagram received from the network interface of the second computer by encapsulating the third internetwork datagram within a header native to the multi-drop master-slave communication link; and
(b) receiving the second encapsulated data segment in the first computer and generating therefrom a fourth internetwork datagram formatted in a format defined by the internetworking protocol.
-
-
9. The method of claim 8, wherein the third internetwork datagram identifies a network address of a third computer, and wherein receiving the second encapsulated data segment in the first computer further includes forwarding the fourth internetwork datagram to the third computer.
-
10. The method of claim 8, wherein the third internetwork datagram identifies a broadcast network address that directs the third internetwork datagram to at least one additional computer coupled to the communication link, wherein generating the second encapsulated data segment further includes setting a broadcast flag in the second encapsulated data segment, and wherein receiving the second encapsulated data segment further includes, in response to detection of the broadcast flag being set in the second encapsulated data segment, generating a third encapsulated data segment for transmission to the additional computer coupled to the communication link.
-
11. The method of claim 1, further comprising, in the device driver of the second computer, forwarding an address resolution protocol (ARP) reply to the network interface of the second computer without forwarding the reply to the first computer in response to receipt of an ARP request from the network interface of the second computer.
-
12. The method of claim 11, wherein the ARP request specifies a network address other than that mapped to the second computer, and wherein forwarding the ARP reply to the network interface includes generating in the ARP reply a fictitious hardware address.
-
13. The method of claim 1, further comprising, in the device driver of the second computer, ignoring an ARP request from the network interface of the second computer that specifies the network address mapped to the second computer.
-
14. The method of claim 1, wherein the network interface is configured to communicate via a Transmission Control Protocol/Internet Protocol (TCP/IP) protocol, wherein the first and second internetwork datagrams are formatted in a format defined by the TCP/IP protocol, wherein the network address includes an Internet Protocol (IP) address, wherein the master-slave communication link is a Twinax interface, wherein the header of the encapsulated data segment is formatted in a format defined by the Twinax Data Link Control (TDLC) protocol, and wherein the hardware address is a logical unit (LU) address for the master-slave communication link.
-
15. A method of receiving internetworking data in a second computer, the internetworking data communicated by a first computer coupled to the second computer over a multi-drop master-slave communication link, wherein the second computer includes a network interface defined by an internetworking protocol, the method comprising:
-
(a) receiving a network address transmitted by the first computer, wherein said first computer is a host computer controlling said multi-drop master-slave communication link and communicating with a plurality of terminal computers attached to said multi-drop master-slave link using a respective hardware address associated with each terminal computer connected to said multi-drop master-slave communication link, and wherein said second computer is one of said plurality of terminal computers connected to said multi-drop master-slave communication link, the network address being mapped to the hardware address for the second computer, the network address in a format defined by the internetworking protocol;
(b) receiving in a device driver in the second computer an encapsulated data segment from the first computer, the encapsulated data segment generated from a first internetwork datagram that identifies the network address of the second computer through encapsulation of the first internetwork datagram within a header native to the multi-drop master-slave communication link, the header identifying the hardware address of the second computer; and
(c) forwarding to the network interface a second internetwork datagram, including generating the second internetwork datagram from the encapsulated data segment such that the second internetwork datagram is in a format defined by the internetworking protocol.
-
-
16. A computer system, comprising:
-
(a) a first computer and a second computer coupled to one another over a multi-drop master-slave communication link, wherein said first computer is a host computer controlling said multi-drop master-slave communication link and communicating with a plurality of terminal computers attached to said multi-drop master-slave link using a respective hardware address associated with each terminal computer connected to said multi-drop master-slave communication link, and wherein said second computer is one of said plurality of terminal computers connected to said multi-drop master-slave communication link;
(b) a first processor in the first computer, the first processor configured to initiate a communication session between the first and second computers with the hardware address for the second computer on the multi-drop master-slave communication link mapped to a network address in a format defined by an internetworking protocol, the first processor further configured to transmit an encapsulated data segment from the first computer to the second computer using the initiated communication session with the encapsulated data segment generated from a first internetwork datagram that identifies the network address of the second computer with the first internetwork datagram encapsulated within a header native to the multi-drop master-slave communication link, the header identifying the hardware address of the second computer; and
(c) a second processor in the second computer, the second processor configured to execute a device driver and a network interface, the device driver configured to receive the encapsulated data segment and forward the a network interface a second internetwork datagram that is generated from the encapsulated data segment with the second internetwork datagram in a format defined by the internetworking protocol.
-
-
17. A workstation configured to be coupled to a host computer over a multi-drop master-slave communication link, the workstation comprising:
-
(a) a master-slave link interface coupled to the multi-drop master-slave communication link for communicating with said host computer, wherein said master-slave link interface in said workstation is configured to be one of a plurality of master-slave link interfaces in respective workstations attached to said multi-drop master-slave communication link, each workstation being identified on said master-slave communication link by a respective hardware address;
(b) a network interface defined by an internetworking protocol; and
(c) a device driver configured to receive a network address transmitted by the host computer, the network address mapped to the hardware address for the workstation on the multi-drop master-slave communication link, and the network address in a format defined by the internetworking protocol;
to receive an encapsulated data segment from the host computer, the encapsulated data segment generated from a first internetwork datagram that identifies the network address of the workstation through encapsulation of the first internetwork datagram within a header native to the multi-drop master-slave communication link, the header identifying the hardware address of the workstation; and
to forward to the network interface a second internetwork datagram that is generated from the encapsulated data segment with the second internetwork datagram in a format defined by the internetworking protocol.
-
-
18. A program product, comprising:
-
(a) a program configured to perform a method of communicating internetworking data from a first computer to a second computer over a multi-drop master-slave communication link, wherein the second computer includes a network interface defined by an internetworking protocol, the method comprising;
(1) initiating a communication session between the first and second computers, wherein said first computer is a host computer controlling said multi-drop master-slave communication link and communicating with a plurality of terminal computers attached to said multi-drop master-slave link using a respective hardware address associated with each terminal computer connected to said multi-drop master-slave communication link, and wherein said second computer is one of said plurality of terminal computers connected to said multi-drop master-slave communication link, said initiating step including mapping the hardware address for the second computer on the multi-drop master-slave communication link to a network address in a format defined by the internetworking protocol;
(2) transmitting an encapsulated data segment from the first computer to the second computer using the initiated communication session, including generating the encapsulated data segment from a first internetwork datagram that identifies the network address of the second computer by encapsulating the first internetwork datagram within a header native to the multi-drop master-slave communication link, the header identifying the hardware address of the second computer; and
(3) in a device driver in the second computer, receiving the encapsulated data segment and forwarding to the network interface in the second computer a second internetwork datagram, including generating the second internetwork datagram from the encapsulated data segment such that the second internetwork datagram is in a format defined by the internetworking protocol; and
(b) a computer readable signal bearing media bearing the program. - View Dependent Claims (19, 20, 22, 23)
-
-
21. A program product, comprising:
-
(a) a device driver program configured to perform a method of receiving internetworking data in a second computer, the internetworking data communicated by a first computer coupled to the second computer over a multi-drop master-slave communication link, wherein the second computer includes a network interface defined by an internetworking protocol, the method comprising;
(1) receiving a network address transmitted by the first computer, wherein said first computer is a host computer controlling said multi-drop master-slave communication link and communicating with a plurality of terminal computers attached to said multi-drop master-slave link using a respective hardware address associated with each terminal computer connected to said multi-drop master-slave communication link, and wherein said second computer is one of said plurality of terminal computers connected to said multi-drop master-slave communication link, the network address being mapped to the hardware address for the second computer, the network address in a format defined by the internetworking protocol;
(2) receiving an encapsulated data segment from the first computer, the encapsulated data segment generated from a first internetwork datagram that identifies the network address of the second computer through encapsulation of the first internetwork datagram within a header native to the multi-drop master-slave communication link, the header identifying the hardware address of the second computer; and
(3) forwarding to the network interface a second internetwork datagram, including generating the second internetwork datagram from the encapsulated data segment such that the second internetwork datagram is in a format defined by the internetworking protocol; and
(b) a computer readable signal bearing media bearing the program.
-
Specification