Date post: | 05-Dec-2014 |
Category: |
Technology |
Upload: | ecommconf |
View: | 3,157 times |
Download: | 0 times |
2 0 0 9 | W e s t e r g a s f a b r i e k | A m s t e r d a m | http://eComm.ec
Wave Federation
Building An Open Network
(by David Wang)
Google Wave is a productWave is a technology
wave is to Google Waveemail is to Gmail
What is Wave Federation?
Enables independent wave providers to interoperateDraft Federation Protocol Spec: http://waveprotocol.org/The spec is iterating: it's developing in the open
Why Wave Federation?
Encourage adoption of wave and ensure users have a choice in their wave provider
The internet is built on open APIs and standard protocolsWe don't want wave to be a silo'ed communication toolPick a solution based on price or features or ....
Avoid different organisations building Wave like systems that don't interoperate
Any organisation can be a wave provider
Similar to how anyone can put up an SMTP server and host their own email today
Some technical background...
Wave Data Model
Wavecollection of wavelets
Waveletcollection of participants and documentsunit of concurrencyunit of wave federation
Wave Federation: Sharing Wavelets
Wave servers run OT/CC
Wave servers share updates to wavelets
Still only one server owns a wavelet
The wavelet id determines which domain owns itdomain: “initech-corp.com"id: "conv+3sG7”
When to Federate?
An AddParticpant operation contains an address from another wave provider
e.g address [email protected], [email protected]
A participant’s domain determines where to send ops
Example: Bob on Acmewave wants to talk to Milton at Initech Corp.
Bob's client sends AddParticipant(“[email protected]”)
acmewave.com looks up initech-corp.com's waveserveracmewave.com pushes the AddParticipant operationinitech-corp.com requests the wavelet historyFor future ops on that wavelet, acmewave.com will:
accepts ops from initech-corp.comtransmits ops to initech-corp.com
initech-corp.com "passively" accepts ops from acmewave
The result: Bob and Milton are happily waving each other
Wave Federation Architecture -Delta Flow
Data stays in your network
On-premise solution
If you don't add anyone from the outside the data stays in your network
Scenario: confidential chat between colleagues in a company
Where we've come so far...
Published the (draft) protocol specGoogle Wave Federation ProtocolGoogle Wave Conversation Model (incl. Blip model)
Open sourced ~40K lines of codehttp://code.google.com/p/wave-protocol/Java, Apache 2.0
Effectively 2 Components:Wave Model + Operational TransformationFedOne: Basic Prototype Client/Server
With an early crypto library
FedOne
Executable spec for the wire protocol
NOT the beginning of a reference impl
Hello, World “simple” implementation
FedOne
What we're doing now...
Opening up a federation port on WaveSandbox.comThis port is still highly experimental
Updating the FedOne client/serverThe client does a better job displaying OTThe server understands the new protocol manifest
Published a Google Wave Contributors Licensing Agreement
Encourages community-based development for open source patches
Demo
Where we're headed...
Iterating towards a reasonable stable set of specifications
Gain more experience running an open federation port
Ship an open federation port on wave.google.com
Open source the lion's share of Google's client & server
Develop a production quality reference implementationGoogle can't do this alone!
Bottom Line
We’d like to work with you.
http://www.waveprotocol.org/
http://groups.google.com/group/wave-protocol/
Q & A
2 0 0 9 | W e s t e r g a s f a b r i e k | A m s t e r d a m | http://eComm.ec
Headline Sponsor
Platinum Sponsors
Gold Sponsors