Google Wave Federation Protocol

It is designed for near real-time communication between the computer supported cooperative work wave servers.

For instance, organizations can operate as wave providers for their members, an individual can run a private wave server for a single user or family members, and an Internet service provider can run a wave service as another Internet service for its users as a supplement to email, IM, FTP, etc.

[4][5] Java source code for the "Google Wave Federation Prototype Server" was released in a Mercurial repository in July 2009 under the Apache License 2.0.

[6][7] Some features of Extensible Messaging and Presence Protocol inherited by the wave federation protocol are the discovery of IP addresses and port numbers, using Domain Name System (DNS) SRV records, and TLS authentication and encryption of connections.

The protocol requires each participant to sign its user's operations with its own certificate.

This is to stop malicious hosts from altering or spoofing the contents of the messages from the user of other services.

All the signatures and verifications are done by the wave providers, not the client software of the end users.

A wave view can contain both local and remote wavelet copies simultaneously.

When a local participant submits a wavelet operation to a remote wavelet, the wave server forwards the operation to the wave server of the hosting provider.