Generic communications framework
First Claim
1. A method of communicating between a client and a server in a distributed processing system, said client executing a client application and said server executing a server application, said method comprising:
- creating a first communications object that supports a plurality of protocols enabling communication between the client and the server, said first communications object being protocol agnostic;
passing a uniform resource identifier (URI) from the client application to the first communications object, said URI identifying the server application with which the client application desires to communicate;
identifying a desired application layer protocol based on the URI from the client application, said desired application layer protocol being one of the plurality of protocols supported by the first communications object;
instantiating a second communications object based on the URI, said second communications object being protocol specific and corresponding to the identified application layer protocol, said second communications object specifying a desired transport layer protocol; and
implementing, by the instantiated second communications object, the application layer protocol to establish a connection between the client application and the server application, said instantiated second communications object implementing the application layer over the transport layer protocol.
2 Assignments
0 Petitions
Accused Products
Abstract
A system and method for communicating between a client and a server using a generic, extensible, high-speed framework that separates clients and servers from the application layer and transport layer protocols commonly used for network communications. An application (client or server) specifies a uniform resource identifier (URI) to identify an interface for transmitting or receiving one or more messages and to identify the desired protocol and transport for communication. The invention, executing on the client and/or server, instantiates an object based on the URI to implement the specified protocol and transport for communication between the client and the server.
106 Citations
50 Claims
-
1. A method of communicating between a client and a server in a distributed processing system, said client executing a client application and said server executing a server application, said method comprising:
-
creating a first communications object that supports a plurality of protocols enabling communication between the client and the server, said first communications object being protocol agnostic; passing a uniform resource identifier (URI) from the client application to the first communications object, said URI identifying the server application with which the client application desires to communicate; identifying a desired application layer protocol based on the URI from the client application, said desired application layer protocol being one of the plurality of protocols supported by the first communications object; instantiating a second communications object based on the URI, said second communications object being protocol specific and corresponding to the identified application layer protocol, said second communications object specifying a desired transport layer protocol; and implementing, by the instantiated second communications object, the application layer protocol to establish a connection between the client application and the server application, said instantiated second communications object implementing the application layer over the transport layer protocol. - View Dependent Claims (2, 3, 4, 7, 8, 47)
-
-
5. A method of communicating between a client and a server in a distributed processing system, said client executing a client application and said server executing a server application, said method comprising:
-
creating a first communications object that supports a plurality of protocols enabling communication between the client and the server, said first communications object being protocol agnostic; passing a uniform resource identifier (URI) from the client application to the first communications object, said URI identifying the server application with which the client application desires to communicate; identifying a desired application layer protocol based on the URI from the client application, said desired application layer protocol being one of the plurality of protocols supported by the first communications object; instantiating a second communications object based on the URI, said second communications object being protocol specific and corresponding to the identified application layer protocol, wherein said second communications object specifying a desired transport layer protocol, wherein the instantiated second communications object comprises a client object for use by the client application, said client application using the client object to send one or more requests to the server application; and implementing, by the instantiated second communications object, the application layer protocol to establish a connection between the client application and the server application, said instantiated second communications object implementing the application layer over the transport layer protocol. - View Dependent Claims (6, 46)
-
-
9. A method of communicating between a client and a server in a distributed processing system, said client executing a client application and said server executing a server application, said method comprising:
-
creating a first communications object that supports a plurality of protocols enabling communication between the client and the server, said first communications object being protocol agnostic; passing a uniform resource identifier (URI) from the client application to the first communications object, said URI identifying the server application with which the client application desires to communicate; identifying a desired application layer protocol based on the URI from the client application, said desired application layer protocol based one of the plurality of protocols supported by the first communications object; instantiating a second communications object based on a different URI identifying another server application with which the client application desires to communicate, said second communications object being protocol specific and corresponding to the identified application layer protocol; and implementing, by the instantiated second communications object, the application layer protocol to establish a connection between the client application and the server application.
-
-
10. One or more computer-readable media having computer-executable components comprising:
-
a client application component, said client application component providing a uniform resource identifier (URI) identifying a server application component with which the client application component desires to communicate; and a communications object component that supports a plurality of protocols enabling communication between the client and server application components, said communications object component identifying one of the supported plurality of protocols as a desired application layer protocol based on the URI, said communications object component instantiating a communications object based on the desired application layer protocol, said communications object component implementing the application layer protocol based on the instantiated communications object to establish a connection between the client application component and a server application component, wherein communication between the client and server application components is enabled according to a protocol stack having at least the application layer protocol and the transport layer protocol and wherein the communications object component separates at least one of the client and server application components from the application layer and transport layer protocols. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22)
-
-
18. One or more computer-readable media having computer-executable components comprising:
-
a client application component, said client application component providing a uniform resource identifier (URI) identifying a server application component with which the client application component desires to communicate; and a communications object component that supports a plurality of protocols enabling communication between the client and server application components, said communication object component identifying one of the supported plurality of protocols as a desired application layer protocol based on the URI, said communications object component instantiating a communications object based on the desired application layer protocol, said communications object component implementing the application layer protocol based on the instantiated communications object to establish a connection between the client application component and a server application component, wherein the communications object is protocol agnostic, and wherein the instantiated communications object is protocol specific. - View Dependent Claims (48, 49, 50)
-
-
23. A distributed processing system comprising:
-
a client executing a client application; a server executing a server application with which the client application desires to communicate; and a computer-readable medium having computer-executable instructions for implementing a first communications object, said first communications object supporting a plurality of protocols to enable communication between the client and server applications, said first communications object identifying one of the supported plurality of protocols as a desired application layer protocol based on a uniform resource identifier (URI) identifying the server application, a second communications object being instantiated based on the desired application layer protocol to implement the desired application layer protocol to establish a connection between the client application and the server application, said instantiated second communications object specifies a desired transport layer protocol and said instantiated second communications object implements the application layer over the transport layer protocol, said instantiated second communications object comprising a server object for use by the server application, said server application using the server object to receive one or more requests sent by the client application. - View Dependent Claims (24, 25, 26, 27, 28, 29, 30, 31, 32, 33)
-
-
34. A method of communicating between a first device and a second device via a communication component, said first device executing an application program, said method comprising:
-
conveying, from the application program to the communication component associated with the first device, a uniform resource identifier (URI) for specifying a protocol and transport from a plurality of protocols and transports supported by the communication component; and receiving, by the application program from the communication component, identification of a transmitting interface for transmitting, by the application program to the second device, at least one message, said receiving identification of the transmitting interface comprising passing from the communication component to the application program a pointer associated with the transmitting interface. - View Dependent Claims (35, 36, 37, 38, 39, 40, 41, 42, 43)
-
-
44. A method of communicating between a first device and a second device via a communication component, said first device executing an application program, said method comprising:
-
conveying, from the application program to the communication component associated with the first device, a uniform resource identifier (URI) for specifying a protocol and transport from a plurality of protocols and transports supported by the communication component; determining a receiving interface for receiving based on the URI; identifying, by the application program to the communication component, the determined receiving interface for receiving, by the application program from the communication component, at least one request message, said communication component implementing the specified protocol and transport to receive the request message from the second device for processing by the first device; and receiving, by the application program from the communication component, identification of a transmitting interface for transmitting, by the application program to the second device, at least one reply message in response to the request message, said reply message for processing by the second device.
-
-
45. A method of communicating between a first device and a second device via a communication component associated with the first device, said method comprising:
-
receiving, by the communication component from an application program executing on the first device, a uniform resource identifier (URI) for specifying a protocol and transport from a plurality of protocols and transports supported by the communication component; identifying an object based on the URI, said identified object corresponding to the specified protocol and transport; instantiating another object being accessible by the application program via a pointer associated therewith based on the identified object, said instantiated object being accessible by the application program for implementing the specified protocol and transport to transmit at least one message from the first device to the second device; and receiving, by the communication component from the application program, identification of a receiving interface for receiving, by the application program from the communication component, a second message in response to the first message, said second message for processing by the application program.
-
Specification