Object Update Distribution in Distributed Networks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed network systems, maintaining up-to-date object caches across multiple client devices is challenging, especially when users access web-based services from various terminals, as updates made on one device may not be promptly reflected on others, leading to stale data and requiring efficient methods to propagate changes across hundreds of millions of users and trillions of objects.

Innovation Solution

A computer-implemented method and system for distributing object update messages in a distributed network, involving receiving object update messages, updating records, and propagating the latest object versions to client devices, ensuring that clients with outdated objects receive the latest versions, even when disconnected, with features like incremental updates and guaranteed delivery to support high scalability and low latency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If object caching is used to reduce latency and support disconnected operations, then user experience is improved, but keeping objects cached at different terminals up-to-date becomes challenging

Engineering Contradiction:
ImprovelatencyVSAvoiddata consistency
Core Design Contradiction:
Loss of timeVSReliability

Solution Approach 1:

The system segments the distributed network into multiple terminals (desktop, laptop, tablet, smartphone) each maintaining local object caches. This segmentation allows each terminal to operate independently with low latency while the server coordinates updates across segments to maintain consistency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The server acts as an intermediary between multiple terminals, receiving object updates from application servers and propagating them to appropriate client devices. This intermediary mechanism ensures that cached objects across different terminals remain synchronized without requiring direct peer-to-peer communication between terminals.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If updates are propagated across hundreds of millions of users and trillions of objects, then data consistency is maintained, but system complexity increases

Engineering Contradiction:
Improvedata consistencyVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system introduces a new dimension of object-version-based routing. Instead of propagating updates to all possible terminals, the server uses object identifiers and version information to determine which specific client devices need updates, adding a dimensional filter that reduces complexity.

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

Solution Approach 2:

The system changes parameters by using object identifiers and version numbers as key routing parameters. When an object update is received, the server uses these parameters to efficiently determine which client devices have cached versions and need updates, avoiding exhaustive searches across all terminals.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If object update messages are sent to all client devices, then data consistency is ensured, but network traffic and processing overhead increase

Engineering Contradiction:
Improvedata consistencyVSAvoidnetwork traffic
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The system applies local quality by sending updates only to specific client devices that have cached the particular object being updated. Each client device receives updates tailored to its local cache state, rather than all devices receiving all updates, reducing unnecessary network traffic.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system uses partial action by propagating updates only to the subset of client devices that need them, determined by matching object identifiers and version information. This avoids the excessive action of sending updates to all possible client devices in the system.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS8745638B1Method and system for distributing object update messages in a distributed network system
Publication Date: 2014.06.03 GOOGLE LLC
  • US8745638B1 patent drawing
  • US8745638B1 patent drawing
  • US8745638B1 patent drawing

AI summary

A distributed network system includes at least one server having memory and one or more processors. The server performs the following operations in connection with propagating object updates to respective client devices: receiving a first object update message from an application server, the first object update message including a first object identifier and a first object version; updating an object update record that includes the first object identifier using the first object version, wherein the object update record includes a first client identifier; propagating the first object version from the object update record to a client-object registration record that includes the first client identifier; and sending a second object update message to a first client device associated with the first client identifier, wherein the second object update message includes the first object identifier and the first object version.