One you have a prototype push link up and running; server and client able to reach each other on demand, the rest is just a simple matter of user authentication, managing timestamps, and maintaining consistency between the server side data-structure modeling the shared "object" being collaberated on, and the disparate views the users have of it in their clients.
This stuff can't be trivially made into a framework, because "collaboration" is not a particular problem, but a whole class of same-same but different problems (as Thais would say.)