diff --git a/FURPS.md b/FURPS.md index ddf6f1c..f1989bd 100644 --- a/FURPS.md +++ b/FURPS.md @@ -4,7 +4,7 @@ - (Vac-DST): Simulations to verify this property - (Vac-QA): Additional test coverage by Vac-QA to verify this property -## Core +## Core Protocols ### Light Push @@ -77,4 +77,34 @@ 1. Linux amd64 CLI as service node 2. PostgreSQL as database engine. -3. Browser support as client. \ No newline at end of file +3. Browser support as client. + +## Application Protocols + +### P2P Reliability + +#### Functionality + +1. Improves probability of message propagation through redundant publishing and receiving. +2. Enables detection and remedy of message losses between peers using Store or Filter based reliability strategies. +3. Enhances Lightpush reliability through service node pooling, redundant publishing, and failure detection. +4. Improves Filter reliability through redundant subscriptions and subscription health monitoring. + +#### Usability + +1. Provides feedback on message delivery status leveraging store protocol. +2. Automatically handles reconnection and retransmission when failures are detected. + +#### Reliability + +TBD + +#### Performance + +TBD + +#### Supportability + +1. 🏗️ Within browser environments (edge node mode) +2. Integrated in Status applications + diff --git a/ROADMAP.md b/ROADMAP.md index 8ecccda..21054c1 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -12,7 +12,7 @@ Testing out new format, once approved: Last remains of *Direct Message Reliability* milestone. -Once delivered, the the reliability of the Waku protocols will be maximised when used with decentralised light push and filter service nodes; +Once delivered, the reliability of the Waku protocols will be maximised when used with decentralised light push and filter service nodes; in mostly offline or frequently disconnected environments (mobile, laptop). This may include some bandwidth overhead that can later be optimized when rolling out enhanced end-to-end reliability strategies. @@ -28,7 +28,7 @@ Limited effort will be spent on store performance as its relevance is expected t **Owner**: nwaku -**Feature**: Light Push +**Feature**: [Light Push](./FURPS.md#light-push) **FURPS**: - F4. Supports comprehensive error codes for various failure scenarios. @@ -39,11 +39,17 @@ Limited effort will be spent on store performance as its relevance is expected t For S1. Linux amd64 CLI as service node Includes spec delivery +**Checklist**: +- [ ] Specs: link to specs +- [ ] Code: link to GitHub issues/PRs/Epic +- [ ] Dogfood: link to dogfooding session/artefact +- [ ] Docs: links to README.md or docs.waku.org (TBD) + #### Implement Light Push Error codes in The Browser **Owner**: js-waku -**Feature**: Light Push +**Feature**: [Light Push](./FURPS.md#light-push) **FURPS**: - F4. Supports comprehensive error codes for various failure scenarios. @@ -53,11 +59,17 @@ Includes spec delivery For S2. Browser as client Spec delivery not included. +**Checklist**: +- [ ] Specs: link to specs +- [ ] Code: link to GitHub issues/PRs/Epic +- [ ] Dogfood: link to dogfooding session/artefact +- [ ] Docs: links to README.md or docs.waku.org (TBD) + #### PostgreSQL Optimisation Phase 1 **Owner**: nwaku -**Feature**: Store +**Feature**: [Store](./FURPS.md#store) **FURPS**: - F6. Industry practices are applied to PostgreSQL setup to reach appropriate performance @@ -67,7 +79,32 @@ Spec delivery not included. For - S1. Linux amd64 CLI as service node; and - S2. PostgreSQL as database engine. + +**Checklist**: +- [ ] Specs: link to specs +- [ ] Code: link to GitHub issues/PRs/Epic +- [ ] Dogfood: link to dogfooding session/artefact +- [ ] Docs: links to README.md or docs.waku.org (TBD) #### P2P Reliability Implementation in the Browser -TBD \ No newline at end of file +**Owner**: js-waku + +**Feature**: [P2P Reliability](./FURPS.md#p2p-reliability) + +**FURPS**: +- F1. Improves probability of message propagation through redundant publishing and receiving. +- F2. Enables detection and remedy of message losses between peers using Store or Filter based reliability strategies. +- F3. Enhances Lightpush reliability through service node pooling, redundant publishing, and failure detection. +- F4. Improves Filter reliability through redundant subscriptions and subscription health monitoring. +- U1. Provides feedback on message delivery status leveraging store protocol. +- U2. Automatically handles reconnection and retransmission when failures are detected. + +For +- S1. Within browser environments (edge node mode) + +**Checklist**: +- [ ] Specs: link to specs +- [ ] Code: link to GitHub issues/PRs/Epic +- [ ] Dogfood: link to dogfooding session/artefact +- [ ] Docs: links to README.md or docs.waku.org (TBD) \ No newline at end of file