Electrical computers and digital processing systems: multicomput – Multicomputer data transferring via shared memory
Reexamination Certificate
1999-12-29
2004-07-20
Jean, Frantz B. (Department: 2155)
Electrical computers and digital processing systems: multicomput
Multicomputer data transferring via shared memory
C709S238000, C709S239000, C709S241000, C710S038000, C710S039000
Reexamination Certificate
active
06766359
ABSTRACT:
FIELD OF THE INVENTION
The present invention is directed to a method and apparatus for employing multiple paths (e.g., for load balancing and/or fault tolerance reasons) in connection with a utility for transferring information between processes on different computers through the use of an intermediate data storage system.
DESCRIPTION OF THE RELATED ART
A file transfer utility employing an intermediate data storage system is described in commonly assigned U.S. patent application Ser. No. 08/723,137, entitled A FILE TRANSFER UTILITY WHICH EMPLOYS AN INTERMEDIATE DATA STORAGE SYSTEM, filed Sep. 30, 1996, (hereafter “the FTS application”) which is hereby incorporated herein by reference.
Referring to
FIG. 1
, the File Transfer System (FTS) described in the FTS application performs a file transfer operation between two or more host processors
12
that each is coupled to a common data storage system
14
including a shared memory
15
that is accessible to the two or more host processors. According to FTS, a file that is available to only one of the host processors
12
can be copied or transferred, through the shared memory
15
, to another storage location wherein it is available to a different one of the host processors
12
. Thus, the file transfer occurs through the data storage system
14
, which acts as a staging buffer and transport medium for the data. The source and destination for the transferred data each can be located within the data storage system
14
. Alternatively, either or both of the source and destination for the transferred data can be located in any other storage medium. Details of how FTS can be implemented are discussed in the FTS application, significant portions of which are reproduced below.
While only a single connection
16
is shown in
FIG. 1
between each of the host processors
12
and the data storage system
14
, it should be understood that multiple connections can be provided between each processor and the data storage system. Multiple communication paths are typically provided in a computer system for one of two reasons. First, multiple communication paths provide some fault tolerance in the event that one of the communication paths between a host processor
12
and the data storage system
14
experiences a failure. Thus, in some computer systems, only a single communication path is operational at any particular time, but at least one additional path is provided and becomes operational if the primary path experiences a failure. Second, in other computer systems, multiple communication paths are provided to enhance system performance. In such systems, the multiple communication paths are operated simultaneously, so that multiple communication operations between a host processor
12
and the data storage system
14
can be performed simultaneously to enhance system performance.
As described below, the particular manner in which FTS has been implemented precludes it from taking advantage of multiple communication paths provided between any of the host processors
12
and the data storage system
14
in a multi-path computer system. It is an object of one aspect of the present invention to provide such multi-path capability to a file transfer utility (such as FTS) employing an intermediate data storage system.
SUMMARY OF THE INVENTION
One illustrative embodiment of the invention is directed to a method of transferring information between a first process running on a first computer and a second process running on a second computer, each of the first and second computers being coupled to a data storage system, the first computer being coupled to the data storage system through multiple paths. The method comprises computer-implemented steps of: (A) selecting at least one of the multiple paths through which to transfer the information between the first process and the data storage system; (B) transferring the information between the first process and the data storage system through the at least one of the multiple paths; and (C) transferring the information between the second process and the data storage system.
Another illustrative embodiment of the invention is directed to a computer system comprising a first computer to support a first process running thereon; a second computer to support a second process running thereon; and a data storage system coupled to each of the first and second computers to enable information to be transferred between the first and second processes, the first computer being coupled to the data storage system through multiple paths. The first computer includes a first controller to select at least one of the multiple paths through which to transfer the information between the first process and the data storage system, and to transfer the information through the at least one of the multiple paths. The second computer includes a second controller to transfer the information between the second process and the data storage system.
A further illustrative embodiment of the invention is directed to a method of operating a first computer in a computer system that includes the first computer, a second computer and a data storage system coupled to each of the first and second computers and including a shared storage region shared by the first and second computers, the data storage system being coupled to the first computer through multiple paths. The method comprises computer-implemented steps of: (A) requesting a connection through the shared storage region from a first process running on the first computer to a second process running on the second computer; (B) selecting, from the multiple paths, at least one path through which to transfer information between the first process and the shared storage region; and (C) using the connection, through the shared storage region and the at least one path, to communicate with the second process by transferring the information between the first process and the shared storage region.
Another illustrative embodiment of the invention is directed to a method of operating a first computer in a computer system including the first computer, a second computer and a data storage system coupled to each of the first and second computers and including a shared storage region shared by the first and second computers, the data storage system being coupled to the first computer through multiple paths. The method comprises computer-implemented steps of: (A) detecting that a connection through the shared storage region is being requested, by a second process running on the second computer, to a first process running on the first computer; (B) selecting, from the multiple paths, at least one path through which to transfer information between the first process and the shared storage region; and (C) using the connection, through the shared storage region and the at least one path, to communicate with the second process by transferring the information between the first process and the shared storage region.
Another illustrative embodiment of the invention is directed to a computer readable medium encoded with a program for execution on a computer system including a first computer, a second computer and a data storage system coupled to each of the first and second computers and including a shared storage region shared by the first and second computers, the data storage system being coupled to the first computer through multiple paths. The program, when executed on the computer system, performs a method comprising steps of: (A) requesting a connection through the shared storage region from a first process running on the first computer to a second process running on the second computer; (B) selecting, from the multiple paths, at least one path through which to transfer information between the first process and the shared storage region; and (C) using the connection, through the shared storage region and the at least one path, to communicate with the second process by transferring the information between the first process and the shared storage region.
A further illustrative embodiment of the invention is direct
D'Errico Matthew J.
Oliveira Fred
Rodgers Kevin
EMC Corporation
Jean Frantz B.
LandOfFree
Method and apparatus for utilizing multiple paths in a file... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Method and apparatus for utilizing multiple paths in a file..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and apparatus for utilizing multiple paths in a file... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3211132