System and method for supporting a selection service in a server environment
First Claim
Patent Images
1. A method for supporting socket programming in a middleware environment executing on one or more microprocessors, the method comprising:
- configuring a distributed in-memory data grid comprising a cluster of nodes in the middleware environment to support asynchronized message processing,wherein each cluster node includes a message processing thread, and a service thread having an associated service queue,wherein the service thread is configured to preprocess an incoming message, generate a first continuation data structure representing a control state for processing the incoming message, and transmit the processing of the incoming message along with the continuation data structure to the message processing thread, andwherein the message processing thread generates a second continuation data structure based on the first continuation data structure, wraps the second continuation data structure in a return message, and sends the return message to the service queue associated with the service thread for further processing by the service thread;
providing, in the distributed in-memory data grid, a selection service that implements a plurality of abstract methods of an interface on the distributed in-memory data grid, wherein the selection service is associated with a single physical port configured to be multiplexed into a plurality of sub-ports, and includes a registration method and an invocation method;
registering a plurality of server socket channels with the selection service using the registration method thereof, wherein each socket channel is configured to bind one of a plurality of server sockets to one of the plurality of sub-ports;
registering a socket handler for each server socket with the selection service using the registration method thereof, wherein the socket handler provides a callback for use by the selection service to invoke that socket handler to process incoming network streams at the corresponding server socket;
listening, on one of the plurality of server sockets, for one or more connection requests directed to an application on the distributed in-memory data grid; and
invoking, via the invocation method of the selection service, the callback provided by the socket handler corresponding to the server socket, to process the one or more connection requests.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method can support socket programming in a server environment, such as a distributed data grid. The server environment can include a selection service that operates to register a plurality of sockets, wherein each socket is associated with a handler in a plurality of handlers. Furthermore, the selection service can listen for one or more incoming connection requests on the plurality of sockets, and invoke a pluggable callback provided by a handler associated with a registered socket in the plurality of sockets, when registered socket receives an incoming connection request.
-
Citations
20 Claims
-
1. A method for supporting socket programming in a middleware environment executing on one or more microprocessors, the method comprising:
-
configuring a distributed in-memory data grid comprising a cluster of nodes in the middleware environment to support asynchronized message processing, wherein each cluster node includes a message processing thread, and a service thread having an associated service queue, wherein the service thread is configured to preprocess an incoming message, generate a first continuation data structure representing a control state for processing the incoming message, and transmit the processing of the incoming message along with the continuation data structure to the message processing thread, and wherein the message processing thread generates a second continuation data structure based on the first continuation data structure, wraps the second continuation data structure in a return message, and sends the return message to the service queue associated with the service thread for further processing by the service thread; providing, in the distributed in-memory data grid, a selection service that implements a plurality of abstract methods of an interface on the distributed in-memory data grid, wherein the selection service is associated with a single physical port configured to be multiplexed into a plurality of sub-ports, and includes a registration method and an invocation method; registering a plurality of server socket channels with the selection service using the registration method thereof, wherein each socket channel is configured to bind one of a plurality of server sockets to one of the plurality of sub-ports; registering a socket handler for each server socket with the selection service using the registration method thereof, wherein the socket handler provides a callback for use by the selection service to invoke that socket handler to process incoming network streams at the corresponding server socket; listening, on one of the plurality of server sockets, for one or more connection requests directed to an application on the distributed in-memory data grid; and invoking, via the invocation method of the selection service, the callback provided by the socket handler corresponding to the server socket, to process the one or more connection requests. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system for supporting socket programming, comprising:
-
one or more computers, each including an application server in a middleware environment executing on one or more microprocessors; a distributed in-memory data grid in a middleware environment executing on the one or more computers, wherein the distributed in-memory data grid comprises a cluster of nodes and is configured to support asynchronized message processing, wherein each cluster node includes a message processing thread, and a service thread having an associated service queue, wherein the service thread is configured to preprocess an incoming message, generate a first continuation data structure representing a control state for processing the incoming message, and transmit the processing of the incoming message along with the continuation data structure to the message processing thread, and wherein the message processing thread generates a second continuation data structure based on the first continuation data structure, wraps the second continuation data structure in a return message, and sends the return message to the service queue associated with the service thread for further processing by the service thread; and a selection service running on the distributed in-memory data grid, wherein the selection service implements a plurality of abstract methods of an interface on the distributed in-memory data grid, wherein the interface includes a registration method and an invocation method; wherein the selection service is associated with a single physical port configured to be multiplexed into a plurality of sub-ports, and operates to register a plurality of server socket channels with the selection service using the registration method thereof, wherein each socket channel is configured to bind one of a plurality of server sockets to one of the plurality of sub-ports, register a socket handler for each server socket with the selection service using the registration method thereof, wherein the socket handler provides a callback for use by the selection service to invoke that socket handler to process incoming network streams at the corresponding server socket, listen, on one of the plurality of server sockets, for one or more connection requests directed to an application on the distributed in-memory data grid, and invoke, using the invocation method of the selection service, the callback provided by the socket handler corresponding to a server socket, to process the one or more connection requests. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A non-transitory computer-readable storage medium having instructions stored thereon for supporting socket programming in a middleware environment, said instructions, when executed by one or more microprocessors, cause the one or more microprocessors to perform the steps comprising:
-
configuring a distributed in-memory data grid comprising a cluster of nodes in the middleware environment to support asynchronized message processing, wherein each cluster node includes a message processing thread, and a service thread having an associated service queue, wherein the service thread is configured to preprocess an incoming message, generate a first continuation data structure representing a control state for processing the incoming message, and transmit the processing of the incoming message along with the continuation data structure to the message processing thread, and wherein the message processing thread generates a second continuation data structure based on the first continuation data structure, wraps the second continuation data structure in a return message, and sends the return message to the service queue associated with the service thread for further processing by the service thread; providing, in the distributed in-memory data grid, a selection service that implements a plurality of abstract methods of an interface on the distributed in-memory data grid, wherein the selection service is associated with a single physical port configured to be multiplexed into a plurality of sub-ports, and includes a registration method and an invocation method; registering a plurality of server socket channels with the selection service using the registration method thereof, wherein each socket channel is configured to bind one of a plurality of server sockets to one of the plurality of sub-ports; registering a socket handler for each server socket with the selection service using the registration method thereof, wherein the socket handler provides a callback for use by the selection service to invoke that socket handler to process incoming network streams at the corresponding server socket; listening, on one of the plurality of server sockets, for one or more connection requests directed to an application on the distributed in-memory data grid; and invoking, via the invocation method of the selection service, the callback provided by the socket handler corresponding to the server socket, to process the one or more connection requests. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification