Vector Clock Message Ordering in Distributed Servers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Java Message Service (JMS) struggles to effectively specify the order of message transmission in distributed server environments, leading to increased processing load as the scale of the distributed server environment grows, and lacks technology to determine relative order of messages.

Innovation Solution

A method and server system using vector clocks to assign relative order to messages by incrementing and transmitting vector clocks across connected servers, ensuring messages are delivered in relative order based on their vector clock values.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If absolute order assignment is controlled by a central assigning part in distributed server environment, then message order can be ensured, but processing load of the assigning part increases as the scale of distribution server environment becomes larger

Engineering Contradiction:
Improvemessage order assuranceVSAvoidprocessing load of assigning part
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent divides the centralized order assignment function into distributed vector clock maintenance at each server node. Each server independently maintains its own vector clock and assigns relative orders to messages locally, eliminating the need for a single centralized assigning part that handles all messages. This segmentation distributes the processing load across multiple nodes while preserving message ordering guarantees through vector clock comparisons.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent combines multiple vector clocks from different servers into a unified ordering mechanism. When a server receives messages from other servers, it merges the received vector clocks with its local vector clock to determine the relative order of messages. This merging approach allows distributed servers to collaboratively establish message order without requiring a central coordinating entity, thus reducing the processing load on any single node.

Inventive Principle:
Principle #5Merging (Combining)

2Adaptability or versatility

If distributed server environment scale increases, then system capacity and coverage improve, but message transmission effectiveness and order specification capability deteriorate

Engineering Contradiction:
Improvedistributed environment scalabilityVSAvoidmessage order specification
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent transitions from one-dimensional sequential ordering to multi-dimensional vector clock ordering. Instead of using a single global counter that becomes a bottleneck at scale, the system uses vector clocks where each server maintains a dimension corresponding to its identity. This dimensional approach allows the system to scale to many servers while maintaining ordering capability through vector comparison operations that work efficiently in distributed environments.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Productivity

If relative order assignment using vector clock is implemented, then processing load is reduced and message transmission efficiency improves, but system complexity increases due to vector clock management and synchronization

Engineering Contradiction:
Improvemessage transmission efficiencyVSAvoidvector clock management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements self-service where each server autonomously maintains its own vector clock and uses it to assign relative orders to messages without requiring complex centralized management. Servers independently update their vector clocks when producing messages and use vector clock comparisons when consuming messages from other servers. This self-service approach reduces the need for complex coordination mechanisms while maintaining ordering guarantees.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent uses vector clock feedback mechanisms where servers continuously update and exchange vector clock information with each other. When a server receives a message, it compares the message's vector clock with its local vector clock to determine ordering. This feedback loop of vector clock updates and comparisons provides a simple yet effective mechanism for maintaining message order in distributed environments without requiring complex management overhead.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS9900403B2Method and server for assigning relative order to message by using vector clock and delivering the message based on the assigned relative order under distributed environment
Publication Date: 2018.02.20 TMAXSOFT
  • US9900403B2 patent drawing
  • US9900403B2 patent drawing
  • US9900403B2 patent drawing

AI summary

A method for assigning relative order to messages by using vector clocks under a distributed server environment is disclosed. The method includes the steps of: (a) a server assigning a vector clock to a message and storing the message to which the vector clock is assigned if the message required to be assigned relative order is acquired through a network; and (b) the server transmitting an increased vector clock to one or more other servers connected with itself through the network and supporting said other servers to update their vector clocks by referring to the increased vector clock.