Patent ID: 9043386
Filing Date: 2015-05-26
Classification: G06F,G06Q,H04L

Abstract:
1. A process for collaboratively filling a collaborative form by two or more users each having their own respective web browser and input device comprising the steps of: a) providing to each of the two or more users access to at least one server system that includes i) at least one message bus server component; ii) at least one application server component; and iii) at least one plug-in server component wherein the two or more users includes a first user and one or more second users; b) delivering a first user's container from the at least one application server component to the web browser of the first user; c) delivering a second user's container from the at least one server component to the web browser of the one or more second users, wherein the first user's container and the second user's container are the same as or different from each other; d) receiving one or more requests from the first user for a first plug-in via the plug-in server component; e) delivering to the first user's container the first plug-in from the plug-in server component; f) notifying the second user of the one or more requests by delivering a notification through the message bus server component; g) delivering to the second user via the plug-in server component a second plug-in compatible with the first plug-in, so that the first and second user are each substantially simultaneously able to access compatible plug-ins and operate the first and second plug-ins in a coordinated substantially synchronized manner for modifying and/or observing a common file associated with the first and second plug-ins; and h) selecting a selected form to collaboratively fill by a form selector, wherein the form selector is one of the two or more users; i) sending the selected form to the application server component, or sending a request for the form to the application server component whereupon the application server component retrieves the selected form, wherein the selected form is the collaborative form or a non-collaborative form; j) converting the selected form into the collaborative form, with a proviso that the selected form is the non-collaborative form; k) delivering the collaborative form to the plug-in of the form selector, wherein the collaborative form has one or more editable fields; l) delivering the collaborative form to the plug-in of the two or more users other than the form selector; m) following one or more modifications of the collaborative form made by the first user, communicating to the second user the one or more modifications, wherein the communicating is substantially contemporaneously with the modification, wherein the communicating takes place by i) serializing the one or more modifications to form a serialized string in the first user's container and sending the serialized string using an HTTP protocol; ii) posting the serialized string to the message bus server; iii) cloning the serialized string for sending to the second users; iv) de-serializing the serialized string to the one or more modifications in the second user's container; and v) consuming the one or more modifications by the second plug-in of the second user; wherein the collaborative form is the common file; so that the one or more modifications are delivered to the second user without interference by a firewall.