Client-Server Software Compatibility Verification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current approaches require manual checks by administrators to ensure compatibility between client and server software versions during upgrades, leading to potential incompatibilities and requiring extensive knowledge about all associated clients and servers.

Innovation Solution

Implementing an automated system where client-side binaries detect software upgrades and communicate with a central compatibility database to verify compatibility with server versions, allowing for responsive actions to be taken if incompatibilities are found, and vice versa for server upgrades.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If manual compatibility checks are performed by administrators, then compatibility between client and server software can be verified, but administrative time and effort are significantly consumed

Engineering Contradiction:
Improvesoftware compatibilityVSAvoidadministrative time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system enables self-service by having client binaries automatically detect their own version information and initiate compatibility checks with the server without requiring administrator intervention. The server automatically responds with compatibility status, eliminating the need for administrators to manually perform compatibility verification.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent implements feedback mechanisms where client binaries report their version information to the server, and the server provides feedback regarding compatibility status. This automated feedback loop ensures compatibility verification occurs continuously without requiring administrator time for manual checks.

Inventive Principle:
Principle #23Feedback

2Reliability

If administrators manually check compatibility for all clients and servers, then compatibility issues can be identified, but extensive knowledge about the entire system is required

Engineering Contradiction:
Improvesoftware compatibilityVSAvoidoperational complexity
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

Client binaries automatically perform self-identification by reporting their version information to the server without requiring administrator knowledge or intervention. The server automatically processes this information and determines compatibility, eliminating the need for administrators to have extensive system knowledge.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The server acts as an intermediary that receives version information from clients, checks compatibility against known server versions, and provides compatibility determinations. This intermediary approach simplifies the process by centralizing compatibility logic on the server side, removing the burden of system-wide knowledge from administrators.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If automated compatibility checking is implemented, then administrative time is reduced, but system complexity increases

Engineering Contradiction:
Improveupgrade speedVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent extracts compatibility checking logic from the administrator's manual process and embeds it directly into the client binary and server system. The client binary contains version detection capabilities, and the server contains compatibility verification logic, automating the process and reducing administrative burden despite the added system components.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS9983866B1Upgrade compatibility checks in a client-server environment
Publication Date: 2018.05.29 EMC IP HLDG CO LLC
  • US9983866B1 patent drawing
  • US9983866B1 patent drawing
  • US9983866B1 patent drawing

AI summary

Techniques to automatically detect incompatibility between client software and server software with which the client software is associated are disclosed. In various embodiments, an indication is received that a client software version is associated with a client system comprising a plurality of client systems associated with a server system. A software compatibility data associated with the server system is accessed. The client software version is compared to at least a portion of the software compatibility data. A determination is made, based at least in part on the comparison, as to whether the client software version is compatible with a server software version associated with the server system.