Global Production Rules for Distributed Data Coordination

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current production rule systems cannot perform global computations on distributed data across multiple machines, as they lack a mechanism for global operation over distributed data stores, despite systems like distributed databases and MapReduce enabling global computations, they do not utilize a production rule language.

Innovation Solution

A method and system for running global production rules on data distributed across multiple machines by receiving and deploying local production rules on each machine, allowing communication and coordination between machines to synchronize local computations, using a rules engine to execute the rules and manage global computations, with mechanisms like bulk-synchronous, pipelined, or asynchronous coordination.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If production rule systems operate over local data stores without distribution, then system complexity is reduced and ease of operation is improved, but the ability to perform global computations on distributed data is lost

Engineering Contradiction:
Improveease of operationVSAvoidglobal computation capability
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The patent segments the global production rule system into multiple local production rule instances, each running on different machines in a distributed data store. Each local instance processes data locally while a global coordinator manages cross-machine communication and rule deployment, enabling global computation capabilities while maintaining local operational simplicity.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If distributed databases or MapReduce are used to specify global computations over distributed data, then global computation capability is improved, but the inability to use production rule language reduces adaptability

Engineering Contradiction:
Improveproduction rule language supportVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent creates a universal production rule engine that can operate both locally on individual machines and globally across distributed data stores. The same production rule language and engine architecture used for local rule processing are extended to handle distributed computations, allowing a single system to serve multiple functions without requiring separate specialized tools.

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

3Adaptability or versatility

If local production rules are deployed to each machine in a distributed system, then global computation capability is improved, but communication and coordination overhead increases system complexity

Engineering Contradiction:
Improveglobal computation capabilityVSAvoidcoordination complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces a global coordinator as an intermediary component that manages communication between local production rule instances across different machines. The coordinator handles rule deployment, collects intermediate results, manages synchronization, and coordinates cross-machine data exchange, thereby reducing the complexity burden on individual local instances while enabling global computation.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10171283B2Global production rules for distributed data
Publication Date: 2019.01.01 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10171283B2 patent drawing
  • US10171283B2 patent drawing
  • US10171283B2 patent drawing

AI summary

Running a global production rule on data distributed over a plurality of machines may comprise receiving a local production rule that can run on each of the plurality of machines to jointly accomplish a global computation specified by the global production rule. The local production rule may be deployed to each of the plurality of machines, each of which stores a portion of the data and runs an instance of a rules engine that can run the local production rule. The plurality of machines are enabled to communicate intermediate data produced by the instance of the rules engine running the local production rule on said each of the machines. Coordinating between the plurality of machines is enabled to synchronize one or more local computations performed locally according to the local production rule on said each machine.