Selection Service Socket Multiplexing for Server Scalability

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern computing systems face challenges in managing high demand from millions of users accessing applications simultaneously, leading to increased transaction calls that exceed the capacity of databases and metadata stores, necessitating efficient socket programming in server environments.

Innovation Solution

The implementation of a selection service in a server environment that registers sockets with associated handlers, listens for incoming connections, and invokes pluggable callbacks to manage socket operations, supporting asynchronous I/O and multiplexing, thereby alleviating bottlenecks and enhancing scalability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If databases and metadata stores are used to handle transaction calls from millions of users, then data storage and retrieval functions are provided, but the system capacity is exceeded and performance degrades under high demand

Engineering Contradiction:
Improvesystem throughputVSAvoidsystem capacity
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments the monolithic database access model into multiple socket handlers distributed across a network. Each socket can independently handle connection requests and forward them to appropriate handlers, dividing the transaction processing load across multiple network endpoints rather than concentrating all traffic through a single database system.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces socket handlers as intermediary components between client connections and the database system. These handlers act as mediators that can pre-process, filter, and distribute connection requests, reducing the direct burden on databases and metadata stores while maintaining system reliability under high demand.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If multiple sockets are registered with a selection service to handle incoming connections, then connection handling capability is improved, but system complexity increases

Engineering Contradiction:
Improveconnection handling capacityVSAvoidsystem architecture complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements a universal selection service that can manage multiple socket types and handler configurations through a single standardized interface. This multi-functional service handles registration, monitoring, and callback invocation for various socket handlers without requiring separate management mechanisms for each socket type, thereby improving connection handling capacity while controlling system complexity.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Speed

If pluggable callbacks are invoked for each incoming connection request on registered sockets, then response time to connection requests is improved, but processing overhead increases

Engineering Contradiction:
Improveconnection response timeVSAvoidprocessing overhead
Core Design Contradiction:
SpeedVSUse of energy by moving object

Solution Approach 1:

The patent implements preliminary action by pre-registering sockets with the selection service and establishing callback mechanisms before connection requests arrive. This allows the system to immediately invoke appropriate handlers when connections are received, improving response time without the overhead of dynamic decision-making during connection handling.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10050857B2System and method for supporting a selection service in a server environment
Publication Date: 2018.08.14 ORACLE INT CORP
  • US10050857B2 patent drawing
  • US10050857B2 patent drawing
  • US10050857B2 patent drawing

AI summary

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 said 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 said handler associated with a registered socket in the plurality of sockets, when said registered socket receives an incoming connection request.