Computer having a remote procedure call mechanism or an...

Electrical computers and digital processing systems: multicomput – Computer-to-computer data routing – Least weight routing

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C709S246000, C709S232000, C709S241000, C709S201000

Reexamination Certificate

active

06697878

ABSTRACT:

BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates broadly to a distributed computing environment (DCE), and particularly to a computer having a remote procedure call (RPC) mechanism or an object request broker (ORB) mechanism. More specifically, it relates to a computer for use in a system which has a system area network (SAN) as the physical communication channel between computers, and in which the data in a storage area of a physical memory of the transmission side computer can be directly transferred to a storage area of a physical memory of the reception side computer by utilizing a remote direct memory access (RDMA) mechanism included in the SAN.
2. Description of the Related Art
The ORB or RPC is a mechanism for invoking methods and functions among computers, namely, nodes in a distributed computing environment. The ORB is employed in, for example, one of the standards of those communication channels among distributed objects which are collectively called “CORBA (common object request broker architecture)”. The standard is a business standard established by the Object Management Group (OMG), and is extensively adopted by various vendors such as Sun Microsystems Inc., International Business Machines Corp., Digital Equipment Corp., and Netscape Communications Corp.
The ORB acts between a client and an object in such a manner that the request of the client is conveyed to the object so as to execute an operation, and that, if necessary, the object sends any result back to the client.
FIG. 1
is a diagram showing a prior-art example of the scheme of the ORB or RPC. In the prior art, nodes which use the ORB or RPC are connected to a packet type communication network. With the network, a request for remote invocation is sent after being divided or disassembled into packets which conform to, for example, the UDP (user datagram protocol) or the TCP/IP (transmission control protocol/internet protocol) being the standard protocol(s) of the Internet. For this reason, processing for the division into the packets and the restructuring or reassembling of the request and processing for hardware interruption are executed by a TCP/IP processing unit which is included in an operating system (OS). In a case where the RPC employs the UDP, similar processing items are executed by an RPC library. A network interface card (NIC) and a switching mechanism can be simplified by dividing the request into the packets as stated above. Accordingly, the ORB and RPC can be favorably utilized in networks which range from a LAN (local area network) to a WAN (wide area network) extensively.
With the ORB or RPC, data to be sent out to the network are converted into a standard data representation format, for example, the XDR (external data representation) format of the SunRPC or the CDR (common data representation) format of the CORBA in order that functions can be invoked even among the nodes of different internal data representation formats and among different languages.
In recent years, hardware called the “system area network (SAN)” has come into use instead of the network employing the packets. The SAN has the feature that the node of a transmission side can write data directly into the physical memory of the destination node, and the feature that the reliable transmission and reception of data are guaranteed in hardware processing. A SAN program transmits data by storing the data to-be-transmitted in physical main storage, and giving the network interface card (NIC) a transmission start instruction which designates the location of the transmission data and the location of a reception buffer existing on the physical main storage of the receiving node. Accordingly, high-speed processing is realized.
With the SAN, the reliabilities of fiber and wire being network media are enhanced by imposing geographical restrictions, for example, the maximum transmission path length and “one floor”, on a system area, and the NIC is made intelligent, whereby high-speed data transfer is realized. In the data transfer, the NIC operates as a DMA (direct memory access) controller. More specifically, the CPU (central processing unit) of the transmission node issues a data transfer instruction to the NIC by designating the addresses of the transfer source and destination, whereby a remote direct memory access (RDMA) operation is executed. The point of difference of the RDMA from the ordinary DMA is that the identifier of the node is contained in the address. If the identifier of the node indicates the particular transmission node itself, the action of the DMA going out of the particular node and coming back to the same is performed, and the NIC operates simply as a DMA controller.
Heretofore, the SAN has been used as a message passing interface (MPI), the data stream (one pipe through which data flows) model of a parallel virtual machine (PVM) or the like, or a shared memory. Such an element is chiefly employed in the field of scientific and technological computations.
Here will be explained a prior-art example of remote call processing in the CORBA, and so forth.
FIGS. 2 and 3
are diagrams for explaining the flow of the remote call processing. Referring to
FIG. 2
, on a transmission side, a proxy function is invoked by a program. A transmission side proxy creates the header and body of a request and converts them into the CDR format, and it sends the request from a socket to a TCP/IP stack. This stack divides the message of the request into packets, and sends out the packets to a network.
On a reception side, the packets are restructured or reassembled into the message by a TCP/IP stack. A reception side skeleton specifies an object to-be-invoked and inverts the CDR format into arguments. Besides, it searches for a function to-be-invoked. Further, it invokes a thread for executing the function and delivers the values of the arguments necessary for the execution of the function, to the thread.
Referring to
FIG. 3
, the function (arithmetic operation) is executed by a reception side program. In the presence of a reply message to the request transmission side, for example, the result of the execution of the function, the reception side skeleton creates the header and body of the reply and sends the message from a socket to the reception side TCP/IP stack, which divides the message into packets and sends out the packets to the network.
In the transmission side TCP/IP stack, the packets are restructured into the message. Subsequently, a transmission-side reply allotting thread specifies a standing-by thread and activates the thread. The transmission side proxy inverts the CDR format into arguments, and the transmission side program invokes the result by the use of the arguments.
FIG. 4
is a diagram for explaining a prior-art example of a method for acquiring a CDR area. The structure of a CDR management area and the pseudo-code of the CDR are illustrated in the figure.
FIG. 5
is a diagram showing the structure of a request message. A “big-endian” and a “little-endian” for an offset value of 6 (six) as indicated in the figure will be explained later.
FIG. 6
is a diagram showing the structure of an object key. The name of a host in which an object exists, a TCP port number which accepts a service, etc. are illustrated in the figure.
As explained above, a computer having the ORB mechanism or RPC mechanism employs the packet mode in the communications between the nodes, and it has therefore involved the problem that a long time is expended on the processing for the division of the data into the packets and the restructuring of the packets into the data. Further, a hardware interrupt is required on the reception side at the arrival of every packet, so that the packet division/restructuring processing, the interrupt processing, the processing for conversion into a standard data format, etc. occupy a larger proportion in the overall delay of the data transfer, as the transmission speed of the network further increases. This has led to the problem that, even when only the network media are contrive

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Computer having a remote procedure call mechanism or an... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Computer having a remote procedure call mechanism or an..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Computer having a remote procedure call mechanism or an... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3344706

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.