Re: [dispatch] A State Synchronization Working Group

Hesham ElBakoury <helbakoury@gmail.com> Wed, 25 October 2023 22:59 UTC

Return-Path: <helbakoury@gmail.com>
X-Original-To: dispatch@ietfa.amsl.com
Delivered-To: dispatch@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D1ED6C15154F for <dispatch@ietfa.amsl.com>; Wed, 25 Oct 2023 15:59:07 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.103
X-Spam-Level:
X-Spam-Status: No, score=-2.103 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_BLOCKED=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id WaL9sdYNtJA1 for <dispatch@ietfa.amsl.com>; Wed, 25 Oct 2023 15:59:03 -0700 (PDT)
Received: from mail-pg1-x530.google.com (mail-pg1-x530.google.com [IPv6:2607:f8b0:4864:20::530]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 8A2DFC180DF4 for <dispatch@ietf.org>; Wed, 25 Oct 2023 15:59:03 -0700 (PDT)
Received: by mail-pg1-x530.google.com with SMTP id 41be03b00d2f7-564b6276941so274692a12.3 for <dispatch@ietf.org>; Wed, 25 Oct 2023 15:59:03 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1698274743; x=1698879543; darn=ietf.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=HoNJftHK8xxGA+oqiPZU3sDWVtq6wbAGwAt726xf/UU=; b=WTCZojT4gw3KCP5TKqUzWPoontkTjkylIqKuLcCUF24WMz4X0yA41miOs2l6MLc9NW r2rdGgqGkiFvSX9PTadIUJtMrhZXZK9ZfojemcmO1anRWAn6TzNXr1k8illm6KcUiipL BVE622AUeF2Izom3/TakF8kqvBq/LgPKqIid/W0GTH8FJwkJChzOPFkC7Fpo34qhgdve Ll/3k/550dr15keuxKVUainMYie2HDoLkVX7QPvo1Bi1W/NVvnIqHn9iuv7QyG7+KhFK cuE6mpdVCnGBShPi2fCtb5BHeFwqgk+0TlNkJueWjvnNUGmxHok98Fh4DEgIQxBRo/Oe D/Gg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1698274743; x=1698879543; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=HoNJftHK8xxGA+oqiPZU3sDWVtq6wbAGwAt726xf/UU=; b=kYzzfeBnm2fLVHuqkI5uvMa78uGWkfK2bSgoRn7A5gTqQjMzYN1Oo4hlMxSrfoIsjA JJ9yU6MHj377F6Ql37S2w2QldSFN0WCwyvBptlyU80oC7Fv4Lico4vPWtTbVlAMxaLBq 8K9sZ20oSONXqdEqXvIXDN1mLxJiXxTSPOBjxG7A2QppxwlD2vHm4amI+gHPkb1IxMFv xTXtVnOksG/GzOKRKipvrkFHrMJPPWy8iUyLoRQop+dN2WHL+V21Mw0gC4ihMQEJOaSM DFL9fdu6o6/zCW7SlSumdTln3KG/hKlRNUCgWPtLUoYhRhdPhB1hqYuIj+ZKPmJqpEVx sPWw==
X-Gm-Message-State: AOJu0YzkemxkrPyHY3D1Y72SIVwzNIdTjq7xkI6z0imLN+9GC89ao8aU AR0CxLA9O9TE5Eo5iWbN9mgPtVi+80dCZkA4Sqk=
X-Google-Smtp-Source: AGHT+IHz7QltWJa9XCtkpwjWuQvRFvV3EpyWJti7vGskR/DP+zjw2tJcQcDXQdKif/2Lo2KB6nw26dQlTVB4KknNmVE=
X-Received: by 2002:a17:90b:1d09:b0:27d:48e1:d1e8 with SMTP id on9-20020a17090b1d0900b0027d48e1d1e8mr15595435pjb.13.1698274742535; Wed, 25 Oct 2023 15:59:02 -0700 (PDT)
MIME-Version: 1.0
References: <a301786e-c59d-f395-f752-bd2c94521e67@gmail.com>
In-Reply-To: <a301786e-c59d-f395-f752-bd2c94521e67@gmail.com>
From: Hesham ElBakoury <helbakoury@gmail.com>
Date: Wed, 25 Oct 2023 15:58:50 -0700
Message-ID: <CAFvDQ9pyDjGGSk6Q=HCP_g=Yh-2NUhJKakQ7oR1HMQWkOeJc7w@mail.gmail.com>
To: Michael Toomim <toomim@gmail.com>
Cc: dispatch@ietf.org
Content-Type: multipart/alternative; boundary="000000000000c28ad906089266d3"
Archived-At: <https://mailarchive.ietf.org/arch/msg/dispatch/ORch5R2a06jsqfUY42bOPAzXxVw>
Subject: Re: [dispatch] A State Synchronization Working Group
X-BeenThere: dispatch@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: DISPATCH Working Group Mail List <dispatch.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dispatch>, <mailto:dispatch-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/dispatch/>
List-Post: <mailto:dispatch@ietf.org>
List-Help: <mailto:dispatch-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dispatch>, <mailto:dispatch-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 25 Oct 2023 22:59:07 -0000

Hi Mike,
Will this new WG look into the following issues:

Time synchronization protocols. There are protocols that are newer than PTP
which may need to be considered. E.G.  HUYGENS from stanford [
https://www.usenix.org/system/files/conference/nsdi18/nsdi18-geng.pdf]

Consistency protocols. This is an on going area of research. On Oct 23 2023
EFPL researchers published the QuePaxa algorithm which is an asynchronous
consensus protocol that is on par with leader-based protocols [
https://dl.acm.org/doi/10.1145/3600006.3613150]

State replication protocols for things such as high speed packet processing
[https://arxiv.org/pdf/2309.14647]

Do you think we can start with IRTF before we go to IETF for
standardization?

Thanks
Hesham

On Wed, Oct 25, 2023, 3:05 PM Michael Toomim <toomim@gmail.com> wrote:

> I would like to dispatch the idea of forming a general State
> Synchronization Working Group, to coordinate duplicate efforts in defining
> various state synchronization protocols across existing IETF working groups.
>
> Many networking protocols implement some form of state synchronization.
> At the application layer, SCIM, SIP, COAP, ALTO, NETCONF, JMAP, CalDAV, and
> IPP all define state synchronization protocols over HTTP.  Many non-IETF
> protocols also implement sync-over-HTTP for specific uses, such as WebSub
> (to synchronize blogs), ActivityPub (to synchronize social feeds), and
> Matrix (to synchronize chat).  Outside of HTTP, we do state synchronization
> in DNS, IMAP, LDAP, NFS, RSYNC, and Git.  Dropping to the lower-level OSI
> layers, we have protocols to synchronize IP routing tables, network
> reachability, and header compression dictionaries like ROHC, OSPFv2, IS-IS,
> and BGP.  State synchronization also comes up in distributed systems and
> databases, with algorithms such as OT and CRDT, and each system defines its
> own distinct protocol.
>
> We design these as separate protocols because the *general* version of the
> State Synchronization Problem has seemed too challenging to tackle.
> However, the last decade of research has brought breakthroughs in general
> state synchronization algorithms that allow (a) multiple editors, (b)
> editing arbitrary data types, (c) over a distributed network, (d) of
> arbitrary network topology, (e) experiencing arbitrary network partitions
> and delays, (f) with arbitrary merge resolution semantics—all with
> reasonable (and improving) performance.  These general algorithms bring up
> the possibility of designing general *protocols* for state sync.
>
> If IETF working groups could rely on general standards for state sync,
> they could eliminate redundant consensus and specification work, as well as
> implementation work, because implementers could re-use common libraries and
> algorithms instead of writing their own algorithms.  Furthermore, general
> libraries could afford investment in advanced sync features such as
> peer-to-peer networking, offline modes, delta-compression, merge
> resolution, consistency guarantees, and fast-replay; which applications
> might not implement on their own, but now could benefit from for free.
> This would improve networking robustness across the board.  Finally,
> interoperability would improve.  Network sysadmins, for example, could
> inspect and debug the state and history of their routers, emails, web
> applications, email, and file systems with intercompatible tools over a
> general protocol.
>
> This new working group would integrate research with practice by working
> in symbiosis with existing IETF Working Groups.  Our new group would gather
> experts and researchers in state synchronization and interface with
> individual Working Groups.  It would learn the needs of individual working
> groups, and produce general knowledge, protocols, and libraries in return.
>
> We have had initial success with this model in the informal Braid.org
> group, which was roughly modeled on an IETF Working Group, and has produced
> the Braid-HTTP internet draft that is coming up for discussion in HTTPbis.
> The Braid group has met every two weeks for 2.5 years on zoom, with average
> attendance of 4 or 5 people, and has produced a number of research results
> in generalizing performant state synchronization:
>
>   - Diamond-Types <https://github.com/josephg/diamond-types>: World's
> fastest P2P text editing CRDT
>   - List-CRDTs <https://github.com/josephg/reference-crdts>: First text
> editing CRDT with general pluggable merge semantics (video presentation
> <https://braid.org/video/https://invisiblecollege.s3-us-west-1.amazonaws.com/braid-meeting-10.mp4#305>
> )
>   - Antimatter: World's first history-pruning P2P text editing CRDT (draft
> <https://braid.org/antimatter>) (implementation
> <https://www.npmjs.com/package/@braid.org/antimatter>)
>   - Sync9 <https://braid.org/sync9>: First true replace text CRDT
>   - Portals <https://braid.org/meeting-62/portals>: Generalized patch
> semantics for moves, replaces, splices
>   - Time Machines <https://braid.org/drafts/time-machines>:
> Generalization of OT & CRDT theory
>   - Braid-HTTP
> <https://datatracker.ietf.org/doc/html/draft-toomim-httpbis-braid-http>:
> Synchronization for HTTP
>
> We could imagine formalizing the Braid group into this State
> Synchronization group. It would look more broadly at synchronization than
> any individual application, and would produce specs that could be offered
> to other groups for standardization, similar to how the QUIC group seeded
> HTTP/3.
>
> I am very curious what the IETF thinks about this idea for a working
> group, and would be very grateful to hear thoughts and opinions from
> everyone.  Thank you very much!
>
> Michael
>
> [1] Relevant Braid-HTTP draft:
> https://datatracker.ietf.org/doc/html/draft-toomim-httpbis-braid-http
> _______________________________________________
> dispatch mailing list
> dispatch@ietf.org
> https://www.ietf.org/mailman/listinfo/dispatch
>