Object-oriented remote procedure call networking system
First Claim
1. A system for implementing remote procedure call services over a computer network having a plurality of alternate communication links, each of the plurality of alternate communication links having a different network protocol, the system comprising:
- (a) a client node having a source network address;
(b) a server node having a task application program executing therein to provide services;
(c) a memory in the client node with a system address space and a process address space having an application program executing therein for generating a service request;
(d) a first dynamically-configurable protocol stack in the system address space configurable for connecting the client node to one of the plurality of alternate communication links by packaging data according to the network protocol of the one communication link;
(e) means responsive to the service request for providing a service object to the application program, the service object containing information for configuring the first dynamically-configurable protocol stack and destination network address of the task application program;
(f) means responsive to the service request for instantiating an API object in the client node, which API object establishes a stream extending from the application program in the process address space to the first dynamically-configurable protocol stack in system address space and inserts the service object into the data stream to configure the first dynamically-configurable protocol stack;
(g) means responsive to the configuration of the dynamically-configurable protocol stack for instantiating a first RPC object in the client node which creates a service request packet containing the service request, the source network address and the destination network address;
(h) a second dynamically-configurable protocol stack in the server node configured to connect the server node to the one alternate communication link by unpackaging data according to the network protocol of the one communication link; and
(i) interface means in the server node for receiving the service request packet and providing the service request packet to the task application program.
3 Assignments
0 Petitions
Accused Products
Abstract
A client-server facility (CSF) interface and networking service facility (NSF) interface implement communication between application programs residing in client and server nodes of a distributed services network. The CSF interface includes remote procedure call (RPC) objects for invoking and responding to service requests at the nodes, and application programming interface (API) objects for transporting those requests between the nodes. However, the API objects only provide communication transports within a node. Accordingly, the API and RPC objects interact with dynamically-configurable protocol stacks within the NSF interfaces to complete the transport mechanism needed by an application program on the client node when accessing services on a remote server node.
596 Citations
46 Claims
-
1. A system for implementing remote procedure call services over a computer network having a plurality of alternate communication links, each of the plurality of alternate communication links having a different network protocol, the system comprising:
-
(a) a client node having a source network address; (b) a server node having a task application program executing therein to provide services; (c) a memory in the client node with a system address space and a process address space having an application program executing therein for generating a service request; (d) a first dynamically-configurable protocol stack in the system address space configurable for connecting the client node to one of the plurality of alternate communication links by packaging data according to the network protocol of the one communication link; (e) means responsive to the service request for providing a service object to the application program, the service object containing information for configuring the first dynamically-configurable protocol stack and destination network address of the task application program; (f) means responsive to the service request for instantiating an API object in the client node, which API object establishes a stream extending from the application program in the process address space to the first dynamically-configurable protocol stack in system address space and inserts the service object into the data stream to configure the first dynamically-configurable protocol stack; (g) means responsive to the configuration of the dynamically-configurable protocol stack for instantiating a first RPC object in the client node which creates a service request packet containing the service request, the source network address and the destination network address; (h) a second dynamically-configurable protocol stack in the server node configured to connect the server node to the one alternate communication link by unpackaging data according to the network protocol of the one communication link; and (i) interface means in the server node for receiving the service request packet and providing the service request packet to the task application program. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A client node for use in a client-server system having a network with a plurality of alternate communication links, each of the plurality of alternate communication links using a different network protocol and a server node coupled to the network containing a task application program, the client node having a source network address and comprising:
-
(a) a memory with a system address space and a process address space having a client application program executing in the process address space for generating a service request; (b) a dynamically-configurable protocol stack in the system address space configurable for connecting the client node to one of the plurality of alternate communication links by packaging data according to the network protocol of the one communication link; (c) means responsive to the service request for providing a service object to the application program, the service object containing information for configuring the dynamically-configurable protocol stack and destination network address of the task application program; (d) means responsive to the service request for instantiating an API object in the client node, which API object establishes a data stream extending from the application program in the process address space to the dynamically-configurable protocol stack in system address space and inserts the service object into the data stream to configure the dynamically-configurable protocol stack; (e) means responsive to the configuration of the dynamically-configurable protocol stack for instantiating an RPC object in the client node which creates a service request packet containing the service request, the source network address and the destination network address; and (f) means for placing the service request packet on the data stream - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23, 31, 32)
-
-
24. A server node for use in a client-server system having a network with a plurality of alternate communication links, each of the plurality of alternate communication links having a different network protocol and a client node coupled to the network, the server node comprising:
-
(a) a memory having a system address space and it process address space having a task application program stored therein, the task application program being responsive to a service request packet from the client node for providing services to the client node; (b) a dynamically-configurable protocol stack configured to connect the server node to the one alternate communication link by unpackaging data according to the network protocol of the one communication link; (c) an RPC object in the server node for receiving the service request packet and processing the service request to locate and invoke the task application program; (d) an API object in the server node for establishing a data path from the dynamically-configurable protocol stack to the RPC object; and (e) means responsive to a creation of the task application program for instantiating a service object containing information for configuring a dynamically-configurable protocol stack in the client node and a destination network address of the task application program - View Dependent Claims (25, 26, 27, 28, 29, 30)
-
-
33. A method for configuring a data path within a node of a client-server system prior to invoking remote procedure call communication over a network having a plurality of alternate communication links, each of the alternate communication links using a different network protocol, the node including a processor and a memory, the memory having an operating system and an application program stored therein, the operating system and application program for controlling the operations of the processor, the operating system including a dynamically-configurable protocol stack, the method comprising the steps of:
-
(a) acquiring, in the application program, a service object from a directory service of the node, the service object including a remote service address and configuration data for one of the plurality of alternate communication links; (b) creating a remote stream object for opening a data stream between the application program and the dynamically-configurable protocol stack; (c) inserting the service object onto the data stream at the application program as an argument of the remote stream object; (d) extracting the service object from the data stream at the dynamically-configurable protocol stack; and (e) configuring the protocol stack in accordance with the configuration data in the service object to connect the application program to one of the plurality of alternate communication links using a network protocol appropriate for the one alternate communication link. - View Dependent Claims (34, 35, 36, 37)
-
-
38. A method for invoking, and responding to, a remote procedure call service request at client and sewer nodes of a computer network, the client and server nodes coupled to a communications network having a plurality of alternate communication links each of the plurality of alternate communication links using a different network protocol, each of the client and server nodes including a processor and a memory, the memory having an operating system and an application program stored therein for controlling the operations of the processor, each of the operating systems including a dynamically-configured protocol stack, the method comprising the steps of:
-
(a) issuing a service request at a client application of the client node, the service request including an access point address of a client dynamically-configured protocol stack; (b) creating a caller object to invoke a remote procedure call protocol in response to the service request; (c) creating a first remote stream object for opening a first data stream between the client application and the client dynamically-configured protocol stack; (d) inserting the service request onto the first data stream at the client application; (e) appending a remote address to the service request at the client dynamically-configured protocol stack and transmitting the service request over the communications network to the sewer node; (f) opening a second data stream from a second remote stream object, the second data stream passing the service request between a server dynamically-configured protocol stack and a server application of the sewer node; and (g) extracting the service request from the second data stream using a dispatcher object and passing the service request to the server application in accordance with the remote address for execution of the service request. - View Dependent Claims (39, 40, 41, 42, 43, 44, 45, 46)
-
Specification