[IPP] Fwd: [dispatch] A State Synchronization Working Group

Ira McDonald via ipp <ipp@pwg.org> Thu, 26 October 2023 19:51 UTC

Return-Path: <ipp-bounces@pwg.org>
X-Original-To: ietfarch-ipp-archive@ietfa.amsl.com
Delivered-To: ietfarch-ipp-archive@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 98425C17060C for <ietfarch-ipp-archive@ietfa.amsl.com>; Thu, 26 Oct 2023 12:51:50 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.106
X-Spam-Level:
X-Spam-Status: No, score=-3.106 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, HTML_MESSAGE=0.001, MAILING_LIST_MULTI=-1, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_FAIL=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, 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 (1024-bit key) header.d=pwg.org header.b="RRXicta8"; dkim=pass (1024-bit key) header.d=pwg.org header.b="lVE/PZ37"; dkim=fail (2048-bit key) reason="fail (message has been altered)" header.d=gmail.com header.b="nNf3iNJL"
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 Gpvhf0JKtuHn for <ietfarch-ipp-archive@ietfa.amsl.com>; Thu, 26 Oct 2023 12:51:46 -0700 (PDT)
Received: from mail.pwg.org (mail.pwg.org [172.104.19.21]) by ietfa.amsl.com (Postfix) with ESMTP id 3F798C17060E for <ipp-archive2@ietf.org>; Thu, 26 Oct 2023 12:51:45 -0700 (PDT)
Received: by mail.pwg.org (Postfix, from userid 1002) id A3069C68A; Thu, 26 Oct 2023 19:51:44 +0000 (UTC)
DKIM-Filter: OpenDKIM Filter v2.11.0 mail.pwg.org A3069C68A
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=pwg.org; s=default; t=1698349904; bh=w2Gm8buRsvd6DjA/c4dYTup65DjZhxFjykITgSq4q0w=; h=References:In-Reply-To:Date:To:Subject:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=RRXicta823WwbngS+Jhal400hvsq7sxx3QZnzqdrhBxJx/CU/yQHP6VsWAATjatbm d1plfqVkfPCBmEi2ybU48A997SnAk2gDCQFPCx39zE7JngRwS9DCx9yHsvGx/2k5R8 mLYhb66YC66KaK5juHdE5qbIM/cwi2M+yynmv8Zs=
Received: from mail.pwg.org (localhost [IPv6:::1]) by mail.pwg.org (Postfix) with ESMTP id 4E3EE2634; Thu, 26 Oct 2023 19:51:41 +0000 (UTC)
DKIM-Filter: OpenDKIM Filter v2.11.0 mail.pwg.org 4E3EE2634
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=pwg.org; s=default; t=1698349901; bh=w2Gm8buRsvd6DjA/c4dYTup65DjZhxFjykITgSq4q0w=; h=References:In-Reply-To:Date:To:Subject:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=lVE/PZ377zNUrTsynx15oegNoiptaoHIyiN9PNhyF0fbuo9mwP04w6GkFja8GaolR 5/XtiU/K3+u3MRe03B1vwm+CGkPrXB0tcqchN2vq3WVmHLqefGX1UBYFvaPy/ace4a miVu76fd7uj1u2WK2PwfIMfZzuiEA2Bo41B6SkSg=
X-Original-To: ipp@pwg.org
Delivered-To: ipp@pwg.org
Received: by mail.pwg.org (Postfix, from userid 1002) id 81C4F3A8F; Thu, 26 Oct 2023 19:51:40 +0000 (UTC)
DKIM-Filter: OpenDKIM Filter v2.11.0 mail.pwg.org 81C4F3A8F
Authentication-Results: mail.pwg.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="nNf3iNJL"
Received: from mail-vk1-xa36.google.com (mail-vk1-xa36.google.com [IPv6:2607:f8b0:4864:20::a36]) by mail.pwg.org (Postfix) with ESMTPS id 7D2DFC5C for <ipp@pwg.org>; Thu, 26 Oct 2023 19:51:38 +0000 (UTC)
DKIM-Filter: OpenDKIM Filter v2.11.0 mail.pwg.org 7D2DFC5C
Received: by mail-vk1-xa36.google.com with SMTP id 71dfb90a1353d-49dc95be8c3so618322e0c.0 for <ipp@pwg.org>; Thu, 26 Oct 2023 12:51:38 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1698349897; x=1698954697; darn=pwg.org; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :from:to:cc:subject:date:message-id:reply-to; bh=5VzVDVEgPb98Ic906S5C8CammkMWVhy8sL9GnZhglQA=; b=nNf3iNJL2AJ53kDmIf7828MQyC9LuWnJUr4TG1W9J6C78Sj6IgbdFFVQGNYIy7e22B 9nI+wlk6Dx+HofKhVYvVXXIJu7+Sgz+GFXf36Vj14Xs9t66SKwIz04zgfZ5txc3pVH4g Dz/ZLOI74OaD8FLWf28aIkEw6NFb9LOdYU02kxtQgbhQtb+ZfaykGedhP5HFH1vIJ4rV QJ5TEQNAwqAPFfdOTZbDmLkG27ztJulG7bXiP87mtnzFH2VDJTIEPpeS+WgUVGYtemVU uHs9rj5zOo3v/KxUNs+5Z6r1ozkTRmz3RFdna4TRvw+ywWcPtVd18jXbwrFIpxWgHf9r ySZg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1698349897; x=1698954697; h=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=5VzVDVEgPb98Ic906S5C8CammkMWVhy8sL9GnZhglQA=; b=utlZ6WiaeuJEDUOeG4EJGUmgAmWZYNlsnkyhDMN7kku7XeksVBFWjr9Cdgi918TIi8 dJw1UcRUhDLGAvMb+OAzcodZv2zzPIkCfR7+RTB5aDCMO2v79GQVj3MKhfwJyBAKMMzH /9DsU8TyCbNWqtO0fd1rFGmgOlqMbUarEgXCHpgfCbVRa9E7Os+D39iOR8SCXyDz3qmU 7jKgqax0qiHVpbyibaoZqJiLgCcf0bbKjnuA4QYAQQrR8Be6MPrPcFBfzlUd1I9J7VNx Wb8M1SaSbDxaxwblGFM5RoyvIRp74ZceD5/uzthsJars3FGMAUgGRbo/MiMqMtUFU+0f F4yA==
X-Gm-Message-State: AOJu0Yyox8rYS9+ZiA/a99XE+duSon9CkInxhEiZg9QLfyMVPpIanFdQ 0rhXojXDv9tYOQMzMOadZXJD6RZlyd+TlDy2KrpB6BxHa5M=
X-Google-Smtp-Source: AGHT+IFp3Suc697uhVNIkoaOPdC+xpc/TnX+FnYXhXJXQtMlOIbo9KK/YGjFWw6YdsmAMJM2ZjkQ2GA1ipQ2VlfUBqc=
X-Received: by 2002:a1f:2ac5:0:b0:493:7df9:bcc4 with SMTP id q188-20020a1f2ac5000000b004937df9bcc4mr981778vkq.4.1698349896826; Thu, 26 Oct 2023 12:51:36 -0700 (PDT)
MIME-Version: 1.0
References: <a301786e-c59d-f395-f752-bd2c94521e67@gmail.com>
In-Reply-To: <a301786e-c59d-f395-f752-bd2c94521e67@gmail.com>
Date: Thu, 26 Oct 2023 15:51:21 -0400
Message-ID: <CAN40gSuOeMAD+Kwj36iUK+K-B=x9Q0s1+6TGCr6Pc1LDR2a1fA@mail.gmail.com>
To: "ipp@pwg.org" <ipp@pwg.org>, Ira McDonald <blueroofmusic@gmail.com>
Subject: [IPP] Fwd: [dispatch] A State Synchronization Working Group
X-BeenThere: ipp@pwg.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: ISTO-PWG Internet Printing Protocol workgroup discussion forum <ipp.pwg.org>
List-Unsubscribe: <https://www.pwg.org/mailman/options/ipp>, <mailto:ipp-request@pwg.org?subject=unsubscribe>
List-Archive: <http://www.pwg.org/pipermail/ipp/>
List-Post: <mailto:ipp@pwg.org>
List-Help: <mailto:ipp-request@pwg.org?subject=help>
List-Subscribe: <https://www.pwg.org/mailman/listinfo/ipp>, <mailto:ipp-request@pwg.org?subject=subscribe>
From: Ira McDonald via ipp <ipp@pwg.org>
Reply-To: ISTO-PWG Internet Printing Protocol workgroup discussion forum <ipp@pwg.org>
Cc: Ira McDonald <blueroofmusic@gmail.com>
Content-Type: multipart/mixed; boundary="===============2777954776778221567=="
Errors-To: ipp-bounces@pwg.org
Sender: ipp <ipp-bounces@pwg.org>

Hi,

From the mailing list for IETF Dispatch - where they review new work
proposals and send them to
one or another IETF Application Area existing WG or (rarely) decide to
create a new IETF WG.

Note the example in the second paragraph that mentions IPP in a list of
existing application layer
State Synchronization Protocols over HTTP.

Their target area is CRDT (Conflict-free Replicated Data Type) systems
(e.g., collaborative edits).

With a Printer state machine that has been stable for over 25 years, IPP
Logical and Physical
Printers are perhaps not suitable candidates to adopt a new generalized
State Synchronization
Protocol (smile).

Cheers,
- Ira

---------- Forwarded message ---------
From: Michael Toomim <toomim@gmail.com>
Date: Wed, Oct 25, 2023 at 6:05 PM
Subject: [dispatch] A State Synchronization Working Group
To: dispatch@ietf.org <dispatch@ietf.org>


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
_______________________________________________
ipp mailing list
ipp@pwg.org
https://www.pwg.org/mailman/listinfo/ipp