US 7,571,440 B2
System and method for emulating network communications between partitions of a computer system
Bruce Alan Vessey, Downingtown, Pa. (US); Michael G. Dobbins, Audubon, Pa. (US); David Lapin, West Chester, Pa. (US); Sue Lapin, legal representative; Ted W. Hinaman, Boyertown, Pa. (US); Hans C. Mikkelsen, Afton, Minn. (US); and Charles R. Caldarale, Minneapolis, Minn. (US)
Assigned to Unisys Corporation, Blue Bell, Pa. (US)
Filed on Aug. 06, 2001, as Appl. No. 9/923,175.
Application 09/923175 is a division of application No. 09/215424, filed on Dec. 18, 1998, granted, now 6,314,501.
Application 09/215424 is a continuation in part of application No. 09/215424, filed on Dec. 18, 1998, granted, now 6,314,501.
Application 09/215424 is a continuation in part of application No. 09/120797, filed on Jul. 23, 1998, abandoned.
Claims priority of provisional application 60/223654, filed on Aug. 07, 2000.
Prior Publication US 2003/0037178 A1, Feb. 20, 2003
Int. Cl. G06F 9/44 (2006.01); G06F 15/167 (2006.01)
U.S. Cl. 719—312  [709/213] 34 Claims
OG exemplary drawing
 
1. A method for communicating between first and second applications executing on respective first and second independent partitions of a partitionable computer system, wherein each of said first and second partitions operates under the control of a separate operating system, and wherein said first and second applications are configured to communicate with each other via a physical network using standard network interfaces without the need for providing an external network connection therebetween; said method comprising:
receiving a request made by said first application for establishing a network connection with said second application for sending a message thereto; and
in response to said request, establishing an emulated network connection between said first and said second applications through a shared memory region of the computer system shared by said first and said second partitions, wherein said establishing communication between said first and second applications includes:
creating a data structure in said shared memory region comprising a plurality of data segments for use in sending a message from said first application to said second application, wherein the data structure comprises:
a plurality of data segments, each of the plurality of data segments for storing network message data to be sent from a sending shared memory service provider to a receiving shared memory service provider;
a control segment for controlling reading and writing of data in the plurality of data segments, the control, segment comprising:
a first portion comprising:
a first field for storing an indication of the data segment containing the most recently written network message data; and
a second field for storing an indication of the data segment containing the earliest written, but not read, network message data; and
a plurality of second portions, each Second portion corresponding to one of the plurality of data segments for control of the data segment, each second portion comprising:
a first field for storing an indication of the beginning of network message data within the data segment; and
a second field for storing an indication of the end of network message data within the data segment;
said establishing being such that said emulated network connection permits said first and second applications to communicate with each other via said emulated network connection using standard network interfaces even though there is no physical network therebetween;
said establishing also being such that the receiving of a message by said second application from said first application via said emulated network connection appears to said second application as having been sent via an external physical network even though there is no external physical network, wherein said emulated network connection requested by said first application comprises a network socket connection, and wherein the step of establishing a connection through the shared memory region comprises establishing a connection through the shared memory region that emulates a network socket connection.