Project

General

Profile

Actions

Feature #67

open

RR Data Storage Topology of Concern to Rules Data Published by RM, and Rules Data Received by RT

Added by Joseph Potvin about 2 years ago. Updated about 2 years ago.

Status:
Feedback
Priority:
High
Assignee:
Start date:
03/10/2022
Due date:
% Done:

0%

Estimated time:

Description

The DWDS 1.0.0 specification (Section 6.2) describes the data storage topology of RuleReserve service as follows:

The RuleReserve network performs three functions: storage, sifting, and messaging:
• Distributed storage of [rule.dwd] records on a [rulereserve.dwd] n x m table, one record per row, maintained online via the decentralized IPFS (Benet, 2014);
• Efficient sifting to reduce [rulereserve.dwd] to a set of [rule.dwd] rows that are deemed by their authors to be ‘in effect’ and ‘applicable’;
• High-speed on-demand messaging that receives [is.dwd] requests, and sends [ought1.dwd] responses;
...
All [rule.dwd] and [lookup.dwd] data is stored and addressed on the participating RuleReserve nodes across a distributed and deliberately redundant [m x n] matrix (i.e. m rows x n columns), referred to as [rulereserve.dwd]. The data of each indexed row is arranged like a long telex tape on which every [rule.dwd] and [lookup.dwd] record is splayed out horizontally. The sifting process may seem to be an enormous task, but it is done in massive parallel fashion across the large decentralized [rulereserve.dwd] array that is distributed on the IPFS network. The [is.dwd] message is pre-configured to function as a [sieve1.dwd] upon the [rulereserve.dwd] collection.

Further, Section 5.4.6.4 describes the "Horizontal Tape Topology":

The DWDS uses a horizontal tape topology for storage and retrieval with a large distributed table of [rule.dwd] and [lookup.dwd] records. This is essentially a virtual telex tape variant of Alan Turing’s horizontally-splayed table, which he first described as follows:
“Computing is normally done by writing certain symbols on paper. We may suppose this paper is divided into squares like a child's arithmetic book. In elementary arithmetic the two-dimensional character of the paper is sometimes used. But such a use is always avoidable, and I think that it will be agreed that the two-dimensional character of paper is no essential of computation. I assume then that the computation is carried out on one-dimensional paper, i.e. on a tape divided into squares. I shall also suppose that the number of symbols which may be printed is finite. (Turing, 1937, p. 249)”
Current-generation ‘wide-column’ data fabrics employ this topology for distributed storage and querying of structured data (Chang et al., 2008) (Carpenter & Hewitt, 2016) (Mahgoub et al., 2017). These are virtual manifestations of an unlimited number of physical Turing tapes laid out side-to-side. ... This is not easy to illustrate, but that’s to be expected because this topology is optimized for machine storage efficiency and processing speed. ...
This Horizontal Tape Topology enables compact storage, fast discovery and high-volume processing. It is optimized for machines, while the other two topologies discussed above trade off machine performance for human readability. Information was defined earlier as data with context. The [rule.dwd] and [lookup.dwd] records are stored in a [rulereserve.dwd] table, across a decentralized, distributed network of RuleReserve (RR) nodes, one row per record. An [is.dwd] message is also pre-formatted horizontally, so that it can be used directly as a sieve, with no need for reconfiguration during run-time.
Signals representing elements of a context can be recognized though primitive signal-matching. Data sifting can proceed immediately upon arrival of each [is.dwd] record. An [is.dwd] message contains (GIVEN) context data, which is used by an RR node to sift out all the rows from a consolidated [m x n] matrix of DWDS structured data which contain the signals of rules that are ‘in effect’ for that jurisdiction, time/date, and identity. Once sifting for context is completed, the (WHEN) particulars data from the same [is.dwd] message is used to sift for rows that contain signals that are ‘applicable’.

Efficiently placing any number of logic gates of diverse dimensions into the single wide-column RR database requires that the column headers have a generic and automatically-extensible naming structure. Shown below are suggested 'input condition' and 'output assertion' segments from a draft spreadsheet mock-up https://docs.google.com/spreadsheets/d/1V76YYPWhiNy71pvgQsdJP5yaZoFArx_3vSSlTuCasOg/edit#gid=916651765 ( See sheet entitled: Database-ALL-Examples ).

Sample section of "conditions" columns for logic gate data in the RR table (using the letter 'c'):

c.3.parameter   c.3.value   c3.notes                        c.3.1   c.3.2   c.3.3   c.3.4   c.3.5   c.3.6   ... 
buyer_profile   Sgc-n       Singapore Citizen, Addtl Prpty  00      00      00      00      00      00

Sample section of "assertions" columns for logic gate data in the RR table (using the letter 'a'):

a.3.parameter   a.3.value   a.3.notes                       a.3.1   a.3.2   a.3.3   a.3.4   a.3.5   a.3.6 ...
absd_rate       0.1*(price) Price from purchase order       00      00      01      00      00      00
Actions

Also available in: Atom PDF