Socket Reference Passing for Seamless Web Server Maintenance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Web servers face performance disruptions and service quality issues when taken out of service for maintenance, as incoming connection requests are either dropped or not serviced during the switchover period, leading to unresponsive websites.

Innovation Solution

A method to pass a reference to a first socket from a first process to a second process within a computing environment, where the first process opens a second socket represented by a file in its file system, and the second process maps its file system to include this file, allowing the second process to reference and service the first socket, ensuring continuous request handling during process upgrades.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of repair

If the web server is taken out of service for maintenance by stopping the first process, then the first process can be updated or maintained, but incoming connection requests are dropped and service continuity is disrupted

Engineering Contradiction:
Improveability to perform maintenanceVSAvoidservice continuity
Core Design Contradiction:
Ease of repairVSReliability

Solution Approach 1:

The patent creates a second process in advance that will take over socket handling before the first process is stopped. The second process is prepared with the necessary socket references and file system mappings beforehand, so that when maintenance is needed, the transition is seamless and no requests are dropped.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses a socket file as an intermediary mechanism to transfer connection handling from the first process to the second process. The socket file acts as a mediator that allows the second process to inherit and continue handling connections that were originally established by the first process, ensuring no interruption in service.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of repair

If a switchover is performed from the first web server to the second web server, then maintenance can be conducted on the first server, but connection requests received during the switchover period may not be received by either server

Engineering Contradiction:
Improveability to perform maintenanceVSAvoidservice disruption time
Core Design Contradiction:
Ease of repairVSLoss of time

Solution Approach 1:

The patent ensures continuous connection handling by having the second process immediately take over the socket file from the first process without interruption. The socket file maintains the connection state continuously, and the second process picks up where the first process left off, ensuring no requests are lost during the transition period.

Inventive Principle:
Principle #20Continuity of useful action

Solution Approach 2:

The second process is prepared in advance with the socket file reference and file system mappings before the first process is stopped. This preliminary setup ensures that when the switchover occurs, the second process is ready to immediately handle connections without any gap in service.

Inventive Principle:
Principle #10Preliminary action

3Ease of repair

If the second web server encounters an error upon startup, then the switchover fails and the web site experiences service disruption

Engineering Contradiction:
Improveability to perform maintenanceVSAvoidservice availability
Core Design Contradiction:
Ease of repairVSReliability

Solution Approach 1:

The second process independently manages its own startup and socket inheritance without requiring manual configuration or intervention. It automatically reads the socket file, establishes the necessary file system mappings, and begins handling connections, reducing the risk of startup errors that could occur with manual setup.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The socket file and file system mappings are prepared in advance before the second process starts. This preliminary preparation ensures that when the second process launches, it can immediately inherit the socket without encountering configuration errors, as all necessary infrastructure is already in place.

Inventive Principle:
Principle #10Preliminary action

4Ease of repair

If connection requests are dropped when the first web server is taken out of service, then maintenance can proceed, but the quality of service deteriorates

Engineering Contradiction:
Improveability to perform maintenanceVSAvoidquality of service
Core Design Contradiction:
Ease of repairVSProductivity

Solution Approach 1:

The socket file serves as an intermediary that preserves connection state during the transition from the first process to the second process. Instead of dropping connections when the first process stops, the socket file allows the second process to inherit and continue handling the same connections, maintaining service quality throughout the maintenance operation.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The second process is prepared in advance to immediately take over socket handling, ensuring that no connections are dropped during the maintenance transition. The file system mappings and socket references are set up beforehand, so the handover is seamless and maintains the same level of service quality.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10506072B2Passing listener sockets between web server processes
Publication Date: 2019.12.10 F5 NETWORKS INC
  • US10506072B2 patent drawing
  • US10506072B2 patent drawing
  • US10506072B2 patent drawing

AI summary

Passing a reference to a first socket from a first process to a second process within a computing environment includes opening, by the first process, a second socket within the computing environment. The second socket is represented by a file in a first file system of the first process. The first process transmits a reference to the first socket to the second socket. A second file system of the second process is mapped to include the file representing the second socket. The second process reads the reference to the first socket from the file representing the second socket mapped to the second file system. The second process references the first socket using the reference to the first socket read from the file.