WebAPI/Push/Requirements

From MozillaWiki
< WebAPI‎ | Push
Revision as of 05:10, 8 November 2012 by Dougt (talk | contribs) (Created page with " == Push Project Requirements == * No open TCP sockets ** In order to reduce network load, clients should not be required to hold a TCP socket open in order to receive notificat...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Push Project Requirements

  • No open TCP sockets
    • In order to reduce network load, clients should not be required to hold a TCP socket open in order to receive notifications.
    • Network operators should be able to use UDP broadcast to 'wake up' client who then can establish a TCP connection to Push Server.
  • Multiple connections (signal verses signal+data)
    • Push system should not require a second TCP connection for data/notification fetching
      • Mozilla believe that this may be a premature optimization.
  • Easy-to-use API
    • A design goal for *all* web apis.
    • Default should be safe, and ensures end to end privacy of data
    • Must not require applications to do their own crypto
  • Guaranteed delivery
    • Push system should guaranteed a timely delivery of notification
    • Push system should be able to recover from data center loss
  • Data privacy
    • Push server should not be able to inspect application private data
  • Push system scalability
    • Push system must be able to be scaled to tens of millions.
      • Order of mag smaller than apple or android's system.
    • System must be allowed to support multiple push servers