- From: mark a. foltz <mfoltz@google.com>
- Date: Tue, 9 Jan 2018 10:43:42 -0800
- To: public-webscreens@w3.org
- Cc: public-secondscreen@w3.org
- Message-ID: <CALgg+HFK0eDO2J60DhCDnczeP9GVwKMmRoRzrF1_Vr-Y+dyf3Q@mail.gmail.com>
*Hello Webscreens,I hope everyone had a good holiday break. I wanted to kick off work in 2018 for the Open Screen Protocol.In my view, here are the next steps for the Open Screen Protocol coming out of discussions at TPAC, and a general direction for work in the first half of 2018.This outline is mostly focused on delivering a complete set of specs by the end of March, but I will cover future testing and implementation items at the end. My plan is to update the GitHub repository to align with this work plan; that means archiving existing documents and closing out issues that don't support it.My understanding is there is general interest and consensus on two different possible implementations for Open Screen.One assumes flexibility in implementation for both the controller and receiver, all the way to the network and security stack - we'll call this the "QUARTC Stack".The other is focused on interoperability with deployed standards like ATSC 3.0 and HbbTV 2.0. We'll call this the "WebSockets stack."Personally, I plan to make contributions focusing on the former before the latter, but ideally work will proceed in parallel with contributions by others. Note that I also plan to take the action items from the F2F [1] and update GitHub as well, and start to work on the ones assigned to me.QUARTC Stack- mDNS and/or SSDP for discovery- QUIC+RTCDataChannel (QUARTC) [2] for transport and message framingWork items for the QUARTC stack: 1. Share data on reliability of mDNS vs. SSDP and decide on which protocol(s) to require.2. Evaluate QUARTC and propose how to map application protocol(s) onto it.WebSocket Stack- DIAL for discovery (e.g., as used by ATSC 3.0/HbbTV 2.0)- WebSockets for transport and message framingWork items for the WebSocket stack: 1. Write up DIAL as an Open Screen discovery protocol (mostly referring to the existing spec, and based on the existing SSDP evaluation)2. Map application protocol onto WebSocketsApplication ProtocolFor the Application Protocol, at TPAC two alternatives were proposed to the binary format that is currently in GitHub.- CBOR [3]- Protocol Buffers (in conversation) [4]Work items: 1. Evaluate pros and cons of these alternatives, get consensus2. Revise application protocol to use chosen alternativeKey Exchange and AuthenticationThere is consensus that J-PAKE is sufficient to bootstrap authentication between the controller and receiver. I feel that an additional identity assertion should be available in the protocol as well (e.g. the provision of a long lived certificate associated with each device).Work items:- Extend application protocol to include J-PAKE for authentication- Extend application protocol to support identity assertion (key exchange and challenge-response)Benchmarking and Implementation After the protocol stacks have been updated, the benchmarking plan [5] should be updated to reflect the new proposals.Google plans to start an open source repository with a prototype implementation of the consensus stack later this quarter. Details to come.Let me know if you have any questions, concerns, or feedback; otherwise I will start aligning GitHub with this work plan.Cheers,m.[1] https://www.w3.org/2017/11/07-webscreens-minutes.html#ActionSummary <https://www.w3.org/2017/11/07-webscreens-minutes.html#ActionSummary>[2] https://docs.google.com/presentation/d/e/2PACX-1vSk0NcS8COhQ3vX3KdzEdufy72gaWONQeybRsFF843RheCusbUzj0l5XRmxiePiqTRKlE4SQbUpK_o8/pub?start=false&loop=false&delayms=3000&slide=id.g2a6f3cad35_19_30 <https://docs.google.com/presentation/d/e/2PACX-1vSk0NcS8COhQ3vX3KdzEdufy72gaWONQeybRsFF843RheCusbUzj0l5XRmxiePiqTRKlE4SQbUpK_o8/pub?start=false&loop=false&delayms=3000&slide=id.g2a6f3cad35_19_30>[3] https://github.com/webscreens/openscreenprotocol/issues/77 <https://github.com/webscreens/openscreenprotocol/issues/77>[4] https://developers.google.com/protocol-buffers/ <https://developers.google.com/protocol-buffers/>[5] https://github.com/webscreens/openscreenprotocol/blob/gh-pages/benchmarks/README.md <https://github.com/webscreens/openscreenprotocol/blob/gh-pages/benchmarks/README.md>*
Received on Tuesday, 9 January 2018 18:44:28 UTC