Method and apparatus for enabling communication between dissimilar protocol stacks
AssigneeInternational Business Machines Corporation
InventorJerry Wayne Stevens
Life of this patent
Estimating the term…
Abstract
The invention interconnects stacks executing different protocols in the same node by means of a software implemented input/output device, thereby eliminating the need for physical resources otherwise required for data communication between the stacks. First and second connection objects are built in the virtual device in association with the lower layers of the first and second stacks, respectively. An association is also built between the first and second connection objects, thereby enabling communication between the stacks via the first and second connection objects.
Claims15
Apparatus for interconnecting two protocol stacks executing different protocols in a single processing node for data communication between a first of the stacks and a second of the stacks, comprising
- a virtual input/output device implemented in software, the virtual input/output device further comprising
- means for building a first connection object for transmitting and receiving data packets with a bottom layer of the first stack,
- means for building a second connection object for transmitting and receiving data packets with a bottom layer of the second stack, and
- means for associating the first and second connection objects with each other, thereby establishing a logical end-to-end connection between the bottom layers of the first and second stacks.
Apparatus for interconnecting two protocol stacks executing different protocols in a single processing node for data communication between the stacks, comprising
- a virtual input/output device implemented in software,
- means for establishing a first connection object as part of the virtual input/output device representing part of an end-to-end connection to a first one of the stacks,
- means for establishing a second connection object as part of the virtual input/output device representing another part of the end-to-end connection to a second one of the stacks,
- means for establishing in a lower layer of the first stack a third connection object,
- means for establishing in a lower layer of the second stack a fourth connection object,
- means in the first stack for associating the third connection object with the first connection object,
- means in the virtual input/output device for associating the first connection object with the third connection object,
- means in the virtual input/output device for associating the first connection object with the second connection object,
- means in the virtual input/output device for associating the second connection object with the fourth connection object, and
- means in the second stack for associating the fourth connection object with the second connection object,
- thereby establishing a complete virtual data communications path between lower layers of the first and second stacks via the first, second, third and fourth connection objects.
A method of interconnecting multiple protocol stacks executing different protocols in a single processing node for data communication between a first of the stacks and a second of the stacks, comprising steps of
- activating a virtual input/output device implemented in software,
- establishing a first connection object in the virtual input/output device in association with a lower layer of the first stack,
- establishing a second connection object in the virtual input/output device in association with a lower layer of the second stack,
- establishing an association in the virtual input/output device between the first connection object and the second connection object, and
- transmitting data packets between the lower layers of the first and second stacks via the first connection object and the second connection object.
A computer program embodied on a computer-readable medium for enabling data communication between two protocol stacks of a single processing node in which both a first of the stacks and a second of the stacks are executing different protocols comprising,
- a first code segment comprising code for activating a virtual input/output device implemented in software,
- a second code segment for establishing a first connection object in the virtual input/output device in association with a lower layer of the first stack,
- a third code segment for establishing a second connection object in the virtual input/output device in association with a lower layer of the second stack,
- a fourth code segment for establishing an association in the virtual input/output device between the first connection object and the second connection object, and
- a fifth code segment for transmitting data packets from the first stack to the second stack via the first connection object and the second connection object.
A computer data signal embodied in a carrier wave for enabling data communication between two protocol stacks of a single processing node in which both a first of the stacks and a second of the stacks are executing different protocols, comprising
- a first code segment comprising code for activating a virtual input/output device implemented in software,
- a second code segment for establishing a first connection object in the virtual input/output device in association with a lower layer of the first stack,
- a third code segment for establishing a second connection object in the virtual input/output device in association with a lower layer of the second stack,
- a fourth code segment for establishing an association in the virtual input/output device between the first connection object and the second connection object, and
- a fifth code segment for transmitting data packets from the first stack to the second stack via the first connection object and the second connection object.
A method of enabling communication between two protocol stacks of in which both a first of the protocol stacks and a second of the protocol stacks are executing different protocols, comprising steps of:
- storing, by a virtual input/output device implemented in software, information about the first protocol stack and the second protocol stack,
- generating, by the virtual input/output device, a plurality of tokens to identify the stored information,
- passing selected ones of the generated tokens from the virtual input/output device to the first and second protocol stacks, for use in subsequent messages, and
- establishing, upon receiving a connection request message from the first protocol stack, a logical end-to-end connection between the first protocol stack and the second protocol stack, wherein a first selected one of the passed tokens is returned to the virtual input/output device with the connection request message, and wherein receipt of the connection request message causes the virtual input/output device to send a second selected one of the generated tokens to the second protocol stack along with a connection notification message, the second selected one of the generated tokens being associated with the returned token.
Dependencies are inferred from the claim text.