Method and apparatus for sharing asymmetric information and services in simultaneously viewed documents on a communication system
First Claim
1. A method for use in a user device including a browser for obtaining information from a communication system, the browser causing a document to be displayed including at least one document element for containing a prescribed data value, the method comprising the steps of:
- creating a surrogate in said user device;
said surrogate including the steps of obtaining an indication of a change in said prescribed data value of said at least one document element;
supplying a representation of an indicated change in said prescribed data value of said at least one document element along with at least one name associated with said at least one form element as a browser input;
determining whether said at least one name associated with said at least one form element is available at the surrogate;
in response to said at least one name being available, processing said browser input to generate a prescribed output; and
supplying said generated prescribed output as an output to said communication system.
4 Assignments
0 Petitions
Accused Products
Abstract
An arrangement for realizing asymmetric collaboration utilizes a “shared Web-top”, i.e., a work space, in which different in-document applications can run and be shared. Specifically, in one embodiment of the invention employed in asymmetric collaboration, documents to be collaborated on at different users'"'"' terminals are logically identical but structurally different. Indeed, one of the collaborators, for example, a customer service agent, may have access to information that should not be made available to others of the collaborators. This asymmetric collaboration is realized by assigning a unique logical name to each information entity. Then, changes in the entity captured by some detection technique, for example, the use of document polling or event handlers, are propagated along with the name of the entity to the collaborators, where they are processed only if the relevant named entity exists. If the entity exists the logical name of the entity is mapped into its physical name which, therefore, allows asymmetric collaboration. Consequently, the name-based technique allows the collaborators, e.g., customer and agent, to share changes in the logically common portions of documents, which are structurally different.
-
Citations
94 Claims
-
1. A method for use in a user device including a browser for obtaining information from a communication system, the browser causing a document to be displayed including at least one document element for containing a prescribed data value, the method comprising the steps of:
-
creating a surrogate in said user device;
said surrogate including the steps of obtaining an indication of a change in said prescribed data value of said at least one document element;
supplying a representation of an indicated change in said prescribed data value of said at least one document element along with at least one name associated with said at least one form element as a browser input;
determining whether said at least one name associated with said at least one form element is available at the surrogate;
in response to said at least one name being available, processing said browser input to generate a prescribed output; and
supplying said generated prescribed output as an output to said communication system. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
and the at least one name is a HTML code as follows < - FORM>
<
INPUT TYPE=TEXT NAME=myXXXX><
FORM>where XXXX is a form field, i.e., element, and the name XXXX is supplied along with the XXXX form element data value change.
-
-
7. The method as defined in claim 1 wherein said document element includes at least one form having at least one form element for containing a prescribed data value, and said step of obtaining includes utilizing at least one event handler to indicate said change in said prescribed data value of said at least one form element.
-
8. The method as defined in claim 7 wherein a plurality of event handlers are associated on a one-to-one basis with a corresponding plurality of form elements in the document.
-
9. The method as defined in claim 7 wherein the at least one event handler is a HTML/JavaScript code as follows
< - FORM>
<
INPUT TYPE=TEXT ONCHANGE=“
XXXXChangeHandler( )”
><
FORM>where XXXX is a form field, i.e., element, and the JavaScript function “
ChangeHandler”
is invoked every time the XXXX form element data value changes.
- FORM>
-
10. The method as defined in claim 7 wherein said at least one event handler is inserted in said document using JavaScript code in said surrogate as follows
document.forms[w].elements[y].onChange=changeHandler, where “ - w”
is a form number and “
y”
is an element number in a form,to specify that the JavaScript function “
XXXXChangeHandler( )”
be invoked every time the data value of the “
XXXX”
field, i.e., element, of the form changes.
- w”
-
11. The method as defined in claim 1 wherein said step of obtaining includes polling said browser to detect any change in said prescribed data value of said at least one document element.
-
12. The method as defined in claim 11 wherein said document element includes at least one form having at least one form element for containing a prescribed data value, and said step of polling includes (a) storing an initial data value of said at least one form element, (b) determining whether said data value of said at least one form element has changed from its initial data value, if the result in step (b) is YES, (c) generating a form element change event for said data value of said at least one form element, and (d) supplying said form element data value change event as said browser input.
-
13. The method as defined in claim 12 wherein said step of polling further includes, if the result in step (b) is NO, (e) determining if the at least one form element is the last element in the at least one form, if the result of step (e) is NO, (f) going to a next form element in said at least one form and repeating appropriate ones of steps (b) through (f).
-
14. The method as defined in claim 13 wherein said step of polling further includes (g) determining whether said change in said data value of said at least one form element is the last change in a data value of a form element in said at least one form, if the result in step (g) is NO, repeating appropriate ones of steps (b) through (g).
-
15. The method as defined in claim 14 wherein, if the result in step (e) is YES, (h) determining if said at least on form is the last form of the document, if the result of step (h) is NO, (i) going to a next form in the document and repeating appropriate ones of steps (b) through (i).
-
16. The method as defined in claim 15 wherein, if the result in step (h) is YES, (j) terminating the polling step.
-
17. The method as defined in claim 15 wherein, if the result in step (g) is YES, repeating appropriate ones of steps (b) through (i).
-
18. The method as defined in claim 17 wherein, if the result in step (h) is YES, (j) terminating the polling step.
-
19. A method for use in a server system that provides communication in synchrony among user devices in a session via a communication system, at least a first user device and an at least second user device being in said session, each user device including a browser for obtaining information from said server system, each browser causing a document to be displayed at each user device including at least one document element for containing a prescribed data value, the method comprising the steps of:
-
creating a surrogate in each of said user devices;
said surrogate including the steps of obtaining an indication of a change in said prescribed data value of said at least one document element;
supplying a representation of an indicated change in said prescribed data value of said at least one document element along with at least one name associated with said at least one document element as a browser input;
determining whether said at least one name associated with said at least one document element is available at the surrogate;
in response to said at least one name being available, processing said browser input to generate a prescribed output; and
supplying said generated prescribed output as an output to said communication system to be supplied to at least one other of said surrogates in at least one other of said user devices, whereby a plurality of users can collaboratively make changes in said at least one document element data value if said name associated with said at least one document element is available to a surrogate in the user device so that asymmetric collaboration is realized. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36)
< - FORM>
<
INPUT TYPE=TEXT NAME=myXXXX><
FORM>where XXXX is a form field, i.e., element, and the name XXXX is supplied along with the XXXX form element data value change.
-
-
25. The method as defined in claim 19 wherein said document element includes at least one form having at least one form element for containing a prescribed data value, and said step of obtaining includes utilizing at least one event handler to indicate said change in said prescribed data value of said at least one form element.
-
26. The method as defined in claim 25 wherein a plurality of event handlers are associated on a one-to-one basis with a corresponding plurality of form elements in the document.
-
27. The method as defined in claim 25 wherein the at least one event handler is a HTML/JavaScript code as follows
< - FORM>
<
INPUT TYPE=TEXT ONCHANGE=“
XXXXChangeHandler( )”
><
FORM>where XXXX is a form field, i.e., element, and the JavaScript function “
XXXXChangeHandler”
is invoked every time the XXXX form element data value changes.
- FORM>
-
28. The method as defined in claim 25 wherein said at least one event handler is inserted in said document using JavaScript code in said surrogate as follows
document.forms[w].elements[y].onChange=changeHandler, where “ - w”
is a form number and “
y”
is an element number in a form,to specify that the JavaScript function “
XXXXChangeHandler( )”
be invoked every time the data value of the “
XXXX”
field, i.e., element, of the form changes.
- w”
-
29. The method as defined in claim 19 wherein said step of obtaining includes polling said browser to detect any change in said prescribed data value of said at least one document element.
-
30. The method as defined in claim 29 wherein said document element includes at least one form having at least one form element for containing a prescribed data value, and said step of polling includes (a) storing an initial data value of said at least one form element, (b) determining whether said data value of said at least one form element has changed from its initial data value, if the result in step (b) is YES, (c) generating a form element change event for said data value of said at least one form element, and (d) supplying said form element data value change event as said browser input.
-
31. The method as defined in claim 30 wherein said step of polling further includes, if the result in step (b) is NO, (e) determining if the at least one form element is the last element in the at least one form, if the result of step (e) is NO, (f) going to a next form element in said at least one form and repeating appropriate ones of steps (b) through (f).
-
32. The method as defined in claim 31 wherein said step of polling further includes (g) determining whether said change in said data value of said at least one form element is the last change in a data value of a form element in said at least one form, if the result in step (g) is NO, repeating appropriate ones of steps (b) through (g).
-
33. The method as defined in claim 32 wherein, if the result in step (e) is YES, (h) determining if said at least on form is the last form of the document, if the result of step (h) is NO, (i) going to a next form in the document and repeating appropriate ones of steps (b) through (i).
-
34. The method as defined in claim 33 wherein, if the result in step (h) is YES, (j) terminating the polling step.
-
35. The method as defined in claim 33 wherein, if the result in step (g) is YES, repeating appropriate ones of steps (b) through (i).
-
36. The method as defined in claim 35 wherein, if the result in step (h) is YES, (j) terminating the polling step.
-
37. Apparatus for use in a user device including a browser for obtaining information from a communication system, the browser causing a document to be displayed including at least one document element for containing a prescribed data value, the user device comprising:
-
a first processor responsive to supplied programming code for creating a surrogate in said user device;
said surrogate including a change detector for obtaining an indication of a change in said prescribed data value of said at least one document element;
a first supplier for supplying a representation of an indicated change in said prescribed data value of said at least one document element along with at least one name associated with said at least one document element as a browser input;
a tester for determining whether said at least one name associated with said at least one document element is available at the surrogate;
a second supplier responsive to said name associated with said at least one document element being available for supplying said browser input to a generator;
said generator being responsive to said browser input for generating a prescribed output; and
an outputter for supplying as an output to said communication system said generated prescribed output. - View Dependent Claims (38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51)
< - FORM>
<
INPUT TYPE=TEXT NAME=myXXXX><
FORM>where XXXX is a form field, i.e., element, and the name XXXX is supplied along with the XXXX form element data value change.
-
-
43. The apparatus as defined in claim 37 wherein said change detector utilizes at least one event handler to indicate said change in said prescribed data value of said at least one document element.
-
44. The apparatus as defined in claim 43 wherein a plurality of event handlers are associated on a one-to-one basis with a corresponding plurality of said document elements.
-
45. The apparatus as defined in claim 43 wherein said document element includes at least one form having at least one form element for containing a prescribed data value, and the at least one event handler is a HTML/JavaScript code as follows
< - FORM>
<
INPUT TYPE=TEXT ONCHANGE=“
XXXXChangeHandler( )”
><
FORM>where XXXX is a form field, i.e., element, and the JavaScript function “
XXXXChangeHandler”
is invoked every time the XXXX form element data value changes.
- FORM>
-
46. The apparatus as defined in claim 43 wherein said document element includes at least one form having at least one form element for containing a prescribed data value, and said at least one event handler is inserted in said document using JavaScript code in said surrogate as follows
document.forms[w].elements[y].onChange=changeHandler, where “ - w”
is a form number and “
y”
is an element number in a form,to specify that the JavaScript function “
XXXXChangeHandler( )”
be invoked every time the data value of the “
XXXX”
field, i.e., element, of the form changes.
- w”
-
47. The apparatus as defined in claim 37 wherein said change detector includes a poller for polling said browser to detect any change in said prescribed data value of said at least one document element.
-
48. The apparatus as defined in claim 47 wherein said document element includes at least one form having at least one form element for containing a prescribed data value, and said poller includes a storage unit for storing an initial data value of said at least one form element, a first tester for determining whether said data value of said at least one form element has changed from its initial data value, a second processor, responsive to a YES result from said first tester, for generating a form element change event for said data value of said at least one form element, and a second supplier for supplying said form element data value change event as said browser input.
-
49. The apparatus as defined in claim 48 wherein said poller further includes, a second tester, responsive to a NO result from said first tester, for determining if the at least one form element is the last element in the at least one form, a first router, responsive to a NO result from said second tester, for going to a next form element in said at least one form.
-
50. The apparatus as defined in claim 49 wherein said poller further includes a third tester for determining whether said change in said data value of said at least one form element is the last change in a data value of a form element in said at least one form, a second router, responsive to a NO result from said third tester, for going to a next form element in said at least one form.
-
51. The apparatus as defined in claim 50 wherein said poller further includes a fourth tester, responsive to a YES result from said third tester, for determining if said at least one form is the last form of the document, a third router, responsive to a NO result from said fourth router, for going to the next form in the document.
-
52. Apparatus for use in a server system that provides communication in synchrony among user devices in a session via a communication system, at least a first user device and an at least second user device being in said session, each user device including a browser for obtaining information from said server system, each browser causing a document to be displayed at each user device including at least one document element for containing a prescribed data value, each of the user devices comprising:
-
a first processor responsive to supplied programming code for creating a surrogate in said user device;
said surrogate including a change detector for obtaining an indication of a change in said prescribed data value of said at least one document element;
a first supplier for supplying a representation of an indicated change in said prescribed data value of said at least one document element along with at least one name associated with said at least one document element as a browser input;
a tester for determining whether said at least one name associated with said at least one document element is available at the surrogate;
a second supplier responsive to said name associated with said at least one document element being available for supplying said browser input to a generator;
said generator being responsive to said browser input for generating a prescribed output; and
an outputter for supplying as an output to said communication system said generated prescribed output to be supplied to at least one other of said surrogates in at least one other of said user devices, whereby a plurality of users can collaboratively make changes in said at least one document element data value if said name associated with said at least one document element is available to a surrogate in the user device so that asymmetric collaboration is realized. - View Dependent Claims (53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65)
< - FORM>
<
INPUT TYPE=TEXT NAME=myXXXX><
FORM>where XXXX is a form field, i.e., element, and the name XXXX is supplied along with the XXXX form element data value change.
-
-
58. The apparatus as defined in claim 52 wherein said change detector utilizes at least one event handler to indicate said change in said prescribed data value of said at least one document element.
-
59. The apparatus as defined in claim 58 wherein said document element includes at least one form having at least one form element for containing a prescribed data value, and the at least one event handler is a HTML/JavaScript code as follows
< - FORM>
<
INPUT TYPE=TEXT ONCHANGE=“
XXXXChangeHandler( )”
><
FORM>where XXXX is a form field, i.e., element, and the JavaScript function “
XXXXChangeHandler”
is invoked every time the XXXX form element data value changes.
- FORM>
-
60. The apparatus as defined in claim 58 wherein said document element includes at least one form having at least one form element for containing a prescribed data value, and said at least one event handler is inserted in said document using JavaScript code in said surrogate as follows
document.forms[w].elements[y].onChange=changeHandler, where “ - w”
is a form number and “
y”
is an element number in a form,to specify that the JavaScript function “
XXXXChangeHandler( )”
be invoked every time the data value of the “
XXXX”
field, i.e., element, of the form changes.
- w”
-
61. The apparatus as defined in claim 52 wherein said change detector includes a poller for polling said browser to detect any change in said prescribed data value of said at least one document element.
-
62. The apparatus as defined in claim 61 wherein said document element includes at least one form having at least one form element for containing a prescribed data value, and said poller includes a storage unit for storing an initial data value of said at least one form element, a first tester for determining whether said data value of said at least one form element has changed from its initial data value, a second processor, responsive to a YES result from said first tester, for generating a form element change event for said data value of said at least one form element, and a second supplier for supplying said form element data value change event as said browser input.
-
63. The apparatus as defined in claim 62 wherein said poller further includes, a second tester, responsive to a NO result from said first tester, for determining if the at least one form element is the last element in the at least one form, a first router, responsive to a NO result from said second tester, for going to a next form element in said at least one form.
-
64. The apparatus as defined in claim 63 wherein said poller further includes a third tester for determining whether said change in said data value of said at least one form element is the last change in a data value of a form element in said at least one form, a second router, responsive to a NO result from said third tester, for going to a next form element in said at least one form.
-
65. The apparatus as defined in claim 64 wherein said poller further includes a fourth tester, responsive to a YES result from said third tester, for determining if said at least one form is the last form of the document, a third router, responsive to a NO result from said fourth router, for going to the next form in the document.
-
66. Apparatus for use in a user device including a browser for obtaining information from a communication system, the browser causing a document to be displayed including at least one document element for containing a prescribed data value, the user device comprising:
-
means responsive to supplied programming code for creating a surrogate in said user device;
said surrogate including means for obtaining an indication of a change in said prescribed data value of said at least one document element;
first means for supplying a representation of an indicated change in said prescribed data value of said at least one document element along with at least one name associated with said at least one document element as a browser input;
means for determining whether said at least one name associated with said at least one document element is available at the surrogate;
second means responsive to said name associated with said at least one document element being available for supplying said browser input to a means for generating;
means responsive to said browser input for generating a prescribed output; and
means for supplying as an output to said communication system said generated prescribed output. - View Dependent Claims (67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81)
< - FORM>
<
INPUT TYPE=TEXT NAME=myXXXX><
FORM>where XXXX is a form field, i.e., element, and the name XXXX is supplied along with the XXXX form element data value change.
-
-
72. The invention as defined in claim 66 wherein said means for obtaining includes means for utilizing at least one event handler to indicate said change in said prescribed data value of said at least one document element.
-
73. The invention as defined in claim 72 wherein a plurality of event handlers are associated on a one-to-one basis with a corresponding plurality of said document elements.
-
74. The invention as defined in claim 72 wherein said document element includes at least one form having at least one form element for containing a prescribed data value, and the at least one event handler is a HTML/JavaScript code as follows
< - FORM>
<
INPUT TYPE=TEXT ONCHANGE=“
XXXXChangeHandler( )”
><
FORM>where XXXX is a form field, i.e., element, and the JavaScript function “
XXXXChangeHandler”
is invoked every time the XXXX form element data value changes.
- FORM>
-
75. The invention as defined in claim 72 wherein said document element includes at least one form having at least one form element for containing a prescribed data value, and said at least one event handler is inserted in said document using JavaScript code in said surrogate as follows
document.forms[w].elements[y].onChange=changeHandler, where “ - w”
is a form number and “
y”
is an element number in a form,to specify that the JavaScript function “
XXXXChangeHandler( )”
be invoked every time the data value of the “
XXXX”
field, i.e., element, of the form changes.
- w”
-
76. The invention as defined in claim 66 wherein said means for obtaining includes means for polling said browser to detect any change in said prescribed data value of said at least one document element.
-
77. The invention as defined in claim 76 wherein said document element includes at least one form having at least one form element for containing a prescribed data value, and said prescribed output is a representation of a changed data value for said at least one form element.
-
78. The invention as defined in claim 77 wherein said means for polling includes means for storing an initial data value of said at least one form element, first means for determining whether said data value of said at least one form element has changed from its initial data value, means, responsive to a YES result from said first means, for generating a form element change event for said data value of said at least one form element, and means for supplying said form element data value change event as said browser input.
-
79. The invention as defined in claim 78 wherein said means for polling further includes, second means, responsive to a NO result from said first means, for determining if the at least one form element is the last element in the at least one form, first router means, responsive to a NO result from said second means, for going to a next form element in said at least one form.
-
80. The invention as defined in claim 79 wherein said means for polling further includes third means for determining whether said change in said data value of said at least one form element is the last change in a data value of a form element in said at least one form, second router means, responsive to a NO result from said third means, for going to a next form element in said at least one form.
-
81. The invention as defined in claim 80 wherein said means for polling further includes a fourth means, responsive to a YES result from said third means, for determining if said at least one form is the last form of the document, third router means, responsive to a NO result from said fourth means, for going to a next form in the document.
-
82. A server system that provides communication in synchrony among user devices in a session via a communication system, comprising:
-
a first user device;
an at least second user device, said first user device and said at least second user device being used in said session and each user device including a browser for obtaining information from said server system, each browser causing a document to be displayed at each user device including at least one document element for containing a prescribed data value;
each of said user devices further including a first processor responsive to supplied programming code for creating a surrogate in said user device;
said surrogate including a change detector for obtaining an indication of a change in said prescribed data value of said at least one document element;
a first supplier for supplying a representation of an indicated change in said prescribed data value of said at least one document element along with at least one name associated with said at least one document element as a browser input;
a tester for determining whether said at least one name associated with said at least one document element is available at the surrogate;
a second supplier responsive to said name associated with said at least one document element being available for supplying said browser input to a generator;
said generator being responsive to said browser input for generating a prescribed output; and
an outputter for supplying as an output to said communication system said generated prescribed output to be supplied to others of said surrogates in others of said user devices, whereby a plurality of users can collaboratively make changes in said at least one document element data value if said name associated with said at least one document element is available to a surrogate in the user device so that asymmetric collaboration is realized. - View Dependent Claims (83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94)
< - FORM>
<
INPUT TYPE=TEXT NAME=myXXXX><
FORM>where XXXX is a form field, i.e., element, and the name XXXX is supplied along with the XXXX form element data value change.
-
-
88. The invention as defined in claim 82 wherein said change detector utilizes at least one event handler to indicate said change in said prescribed data value of said at least one document element.
-
89. The invention as defined in claim 88 wherein said document element includes at least one form having at least one form element for containing a prescribed data value, and the at least one event handler is a HTML/JavaScript code as follows
< - FORM>
<
INPUT TYPE=TEXT ONCHANGE=“
XXXXChangeHandler( )”
><
FORM>where XXXX is a form field, i.e., element, and the JavaScript function “
XXXXChangeHandler”
is invoked every time the XXXX form element data value changes.
- FORM>
-
90. The invention as defined in claim 88 wherein said document element includes at least one form having at least one form element for containing a prescribed data value, and said at least one event handler is inserted in said document using JavaScript code in said surrogate as follows
document.forms[w].elements[y].onChange=changeHandler, where “ - w”
is a form number and “
y”
is an element number in a form,to specify that the JavaScript function “
XXXXChangeHandler( )”
be invoked every time the data value of the “
XXXX”
field, i.e., element, of the form changes.
- w”
-
91. The invention as defined in claim 82 wherein said change detector includes a poller for polling said browser to detect any change in said prescribed data value of said at least one document element.
-
92. The invention as defined in claim 91 wherein said document element includes at least one form having at least one form element for containing a prescribed data value, and said poller includes a storage unit for storing an initial data value of said at least one form element, a first tester for determining whether said data value of said at least one form element has changed from its initial data value, a second processor, responsive to a YES result from said first tester, for generating a form element change event for said data value of said at least one form element, and a second supplier for supplying said form element data value change event as said browser input.
-
93. The invention as defined in claim 92 wherein said poller further includes, a second tester, responsive to a NO result from said first tester, for determining if the at least one form element is the last element in the at least one form, a first router, responsive to a NO result from said second tester, for going to a next form element in said at least one form.
-
94. The invention as defined in claim 93 wherein said poller further includes a third tester for determining whether said change in said data value of said at least one form element is the last change in a data value of a form element in said at least one form, a second router, responsive to a NO result from said third tester, for going to a next form element in said at least one form.
Specification