Method, apparatus, system, medium, and signals for supporting pointer display in a multiple-party communication
DCFirst Claim
1. A method for supporting multiple-party communications in a computer network including a server and at least one client computer, the method comprising:
- receiving a first cursor message at the server from the client computer, said first cursor message representing a change in a position of a first cursor associated with the client computer in response to user input received from a user of the client computer;
producing a first pointer message in response to said first cursor message, said first pointer message representing said change in said position of said first cursor provided by said first cursor message and being operable to cause display of a pointer on the client computer; and
transmitting said first pointer message to said client computer.
3 Assignments
Litigations
0 Petitions
Accused Products
Abstract
Systems, apparatus and methods related to multiple-party communications conducted between client computers in a computer network. For example, a system for supporting multiple-party communications on a client computer in communication with a server in a computer network is disclosed. The system includes a client processor circuit operably configured to transmit a first cursor message to the server to elicit a first pointer message from the server, the first cursor message representing a change in a position of a first cursor associated with the client computer in response to user input received from a user of the client computer. The system also includes a server processor circuit operably configured to receive the first cursor message from the client computer, transmit the first pointer message to the client computer in response to the first cursor message, the first pointer message representing the change in the position of the first cursor provided by the first cursor message. The client processor circuit is operably configured to receive the first pointer message from the server and to cause a corresponding change in a position of a first pointer associated with the first cursor and displayed on a display area of the client computer, in response to the first pointer message.
430 Citations
150 Claims
-
1. A method for supporting multiple-party communications in a computer network including a server and at least one client computer, the method comprising:
-
receiving a first cursor message at the server from the client computer, said first cursor message representing a change in a position of a first cursor associated with the client computer in response to user input received from a user of the client computer; producing a first pointer message in response to said first cursor message, said first pointer message representing said change in said position of said first cursor provided by said first cursor message and being operable to cause display of a pointer on the client computer; and transmitting said first pointer message to said client computer. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34)
-
2. The method of claim 1 wherein the server is operably configured to host a plurality of multiple-party communications and further comprising locating a multiple-party communication associated with a user identifier, said user identifier being associated with said cursor message.
-
3. The method of claim 2 wherein locating said multiple-party communication associated with said user identifier comprises locating a multiple-party communication associated with at least one of:
-
a user identifier included in a payload of said cursor message; a port identifier associated with the client computer; and an internet protocol (IP) address associated with the client computer.
-
-
4. The method of claim 1 wherein producing said first pointer message comprises storing said first cursor message in a shared buffer associated with the associated multiple-party communication.
-
5. The method of claim 4 wherein transmitting said first pointer message comprises copying said first cursor message into a transmit buffer associated with said user identifier, to facilitate said transmitting.
-
6. The method of claim 4 further comprising:
-
receiving a message from the client computer representing a request by the client computer to clear content displayed on a display area of the client computer; and transmitting a clear screen message to the client computer, said clear screen message being operable to cause content associated with messages previously transmitted to the client computer to be deleted on said display area of the client computer.
-
-
7. The method of claim 4 further comprising:
-
receiving a save message from the client computer, said save message representing a request by the user of the client computer to save content displayed on a display area of the client computer; and causing pointer messages in said shared buffer to be saved to persistent storage.
-
-
8. The method of claim 4 further comprising:
-
receiving an open message from the client computer, said open message representing a request by the user of the client computer to load content previously saved during the multiple-party communication; saving pointer messages in said shared buffer to a persistent memory; transmitting a clear screen message to the client computer, said clear screen message being operable to cause content associated with pointer messages previously transmitted to the client computer to be deleted on a display area of the client computer; loading a plurality of previously saved pointer messages into said shared buffer from said persistent memory; and transmitting said plurality of previously saved pointer messages to the client computer.
-
-
9. The method of claim 4 further comprising:
-
receiving a page change message from the client computer said page change message representing a request by the user of the client computer to change content displayed on a display area of the client computer; saving pointer messages in said shared buffer to a persistent memory store; and transmitting a clear screen message to the client computer, said clear screen message being operable to cause content associated with pointer messages previously transmitted to the client computer to be deleted on said display area of the client computer.
-
-
10. The method of claim 9 further comprising loading a plurality of previously saved pointer messages into said shared buffer from said persistent memory and transmitting said previously saved messages to the client computer.
-
11. The method of claim 10 further comprising determining a message type associated with said pointer message and wherein transmitting said previously saved pointer messages comprises transmitting only pointer messages of a persistent message type to the client computer.
-
12. The method of claim 1 further comprising establishing a multiple-party communication in response to a signal received from the client computer.
-
13. The method of claim 12 wherein establishing said multiple-party communication comprises creating a shared buffer and associating a communication identifier with said shared buffer.
-
14. The method of claim 13 wherein creating said shared buffer comprises:
-
allocating a plurality of memory stores to said multiple-party communication; associating a start data pointer with said plurality of memory stores, said start data pointer representing a location of a store in which a first message associated with the multiple-party communication is stored; associating a current data pointer with said plurality of memory stores, said current data pointer representing a location of a store in which a last message associated with the multiple-party communication is stored; and associating a client sent pointer with said plurality of memory stores, said client sent pointer being associated with the client computer and representing a location of a store in which a last message sent to the associated client computer is stored.
-
-
15. The method of claim 12 further comprising associating a client table with a communication identifier identifying said multiple-party communication.
-
16. The method of claim 15 further comprising storing an identification of the client computer in the client table.
-
17. The method of claim 16 further comprising associating a receive buffer and a transmit buffer with the client identifier, said receive buffer being operably configured to store cursor messages received from the client computer and said transmit buffer being operably configured to store pointer messages to be transmitted to the client computer.
-
18. The method of claim 16 further comprising:
-
receiving a disconnect message from the client computer, said disconnect message representing a request by the user of the client computer to disconnect from the multiple-party communication; and deleting said identification of the client computer in the client table.
-
-
19. The method of claim 18 further comprising causing the multiple-party communication to be discontinued when said identification of the client computer is an only client computer in the client table and wherein said disconnect message includes a request by said user of the client computer to discontinue the multiple-party communication after disconnecting the client computer.
-
20. The method of claim 18 further comprising causing the multiple-party communication to continue running when at least one of:
-
the client computer is not an only client computer in the client table; and said disconnect message does not include a request to discontinue the multiple-party communication after disconnecting the client computer; and said disconnect message includes a request to keep the multiple-party communication running after disconnecting the client computer.
-
-
21. The method of claim 1 wherein said client computer is a first client computer in a multiple-party communication, and further comprising:
-
receiving a second cursor message at the server, said second cursor message representing a change in a position of a second cursor displayed on a second client computer in the computer network; and transmitting a second pointer message to said first and second client computers, said second pointer message representing said change in said position of said second cursor provided by said second cursor message.
-
-
22. The method of claim 21 further comprising associating a time of receipt of said first cursor message at the server with said first cursor message and associating a time of receipt of said second cursor message at the server with said second cursor message, and wherein transmitting said first pointer message and transmitting said second pointer message comprises transmitting said respective pointer messages in a time order corresponding to said time of receipt of each corresponding cursor message.
-
23. The method of claim 21 further comprising:
-
receiving an input message from said first client computer, said input message including a uniform resource locator identifying web page content associated with a web site accessible over the computer network and being operable to identify meeting content displayed on said first client computer; producing an output message including said uniform resource locator; transmitting said output message to said second client computer, said output message being operable to cause said web page content to be displayed on said second client computer.
-
-
24. The method of claim 1 wherein receiving said first cursor message comprises receiving a plurality of cursor messages, each of said plurality of cursor messages representing a subsequent change in said position of said first cursor, and wherein producing said first pointer message comprises producing a plurality of pointer messages representing said subsequent changes in said position of said first cursor.
-
25. The method of claim 1 wherein the at least one client computer comprises a first client computer in a plurality of client computers and further comprising transmitting said first pointer message to client computers in said plurality of client computers other than said first client computer.
-
26. The method of claim 25 wherein transmitting said first pointer message to client computers in said plurality of client computers other than said first client computer comprises:
-
determining a message type associated with said first cursor message; transmitting said first pointer message to; a) each of the plurality of client computers when said first cursor message has a message type associated with user input that is operable to produce a persistent change to multiple-party communication content; and b) ones of the plurality of client computers that meet a criterion when said first cursor message has a message type associated with user input that produces a cursor movement at said one of said plurality of client computers and wherein said cursor movement does not produce a persistent change to the multiple-party communication content.
-
-
27. The method of claim 26 wherein transmitting said first pointer message to said ones of the plurality of client computers that meet said criterion comprises transmitting said first pointer message to said ones of the plurality of client computers when all previously received messages of said persistent message type have been transmitted to said ones of the plurality of client computers during the multiple-party communication.
-
28. The method of claim 1 wherein said client computer has meeting content displayed on an associated display area, and wherein said meeting content comprises web page content associated with a web site accessible over the computer network, and wherein said transmitting comprises transmitting said first pointer message to said client computer to cause display of a pointer within said meeting content on said display area on said client computer.
-
29. The method of claim 28 wherein said client computer is a first client computer in a multiple-party communication and further comprising a second client computer having the web page content displayed on an associated display area of the second client computer, the method further comprising:
-
receiving an input message at the server from the first client computer, said input message representing user input of a character at the first client computer; producing an output message representing said character provided by said input message; transmitting said output message to each of the first client computer and a second client computer to facilitate display of the character within said meeting content on said display area on each of said first and second client computers in response to receiving said output message.
-
-
30. The method of claim 29 wherein receiving said input message comprises receiving an input message at the server representing user input of a plurality of characters at the first client computer, and wherein producing said output message comprises producing an output message representing said plurality of characters provided by said input message.
-
31. The method of claim 29 wherein receiving said input message comprises receiving an input message including a coordinate position identifying a position within said meeting content where said character is to be displayed and wherein producing said output message comprises producing an output message including said coordinate position to facilitate display of the character at said coordinate position within said meeting content on each of said first and second client computers.
-
32. The method of claim 1 wherein said client computer is a first client computer in a multiple-party communication and further comprising a second client computer in the multiple-party communication, the method further comprising:
-
receiving an input message at the server from the first client computer, said input message representing user input of a character at the first client computer; producing an output message representing said character provided by said input message; transmitting said output message to each of the first client computer and a second client computer to facilitate display of the character on each of said first and second client computers in response to receiving said output message.
-
-
33. The method of claim 32 wherein receiving said input message comprises receiving an input message at the server representing user input of a plurality of characters at the first client computer, and wherein producing said output message comprises producing an output message representing said plurality of characters provided by said input message.
-
34. The method of claim 32 wherein receiving said input message comprises receiving an input message including a coordinate position identifying a position where said character is to be displayed and wherein producing said output message comprises producing an output message including said coordinate position to facilitate display of the character at said coordinate position on each of said first and second client computers in response to receiving said output message.
-
2. The method of claim 1 wherein the server is operably configured to host a plurality of multiple-party communications and further comprising locating a multiple-party communication associated with a user identifier, said user identifier being associated with said cursor message.
-
-
35. An apparatus for supporting multiple-party communications in a computer network including a server and at least one client computer, the apparatus comprising:
-
means for receiving a first cursor message at the server from the client computer, said first cursor message representing a change in a position of a first cursor associated with the client computer in response to user input received from a user of the client computer; means for producing a first pointer message in response to said first cursor message, said first pointer message representing said change in said position of said first cursor provided by said first cursor message and being operable to cause display of a pointer on the client computer, and means for transmitting said first pointer message to said first client computer. - View Dependent Claims (36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68)
-
36. The apparatus of claim 35 wherein the server is operably configured to host a plurality of multiple-party communications and further comprising means for locating a multiple-party communication associated with a user identifier, said user identifier being associated with said cursor message.
-
37. The apparatus of claim 36 wherein said means for locating said multiple-party communication associated with said user identifier comprises locating a multiple-party communication associated with at least one of:
-
a user identifier included in a payload of said cursor message; a port identifier associated with the client computer; and an internet protocol (IP) address associated with the client computer.
-
-
38. The apparatus of claim 35 wherein said means for producing said first pointer message comprises means for storing said first cursor message in a shared buffer associated with the associated multiple-party communication.
-
39. The apparatus of claim 38 wherein said means for transmitting said first pointer message comprises means for copying said first cursor message into a transmit buffer associated with said user identifier, to facilitate said transmitting.
-
40. The apparatus of claim 38 further comprising:
-
means for receiving a message from the client computer representing a request by the client computer to clear content displayed on a display area of the client computer; and means for transmitting a clear screen message to the client computer, said clear screen message being operable to cause content associated with messages previously transmitted to the client computer to be deleted on said display area of the client computer.
-
-
41. The apparatus of claim 38 further comprising:
-
means for receiving a save message from the client computer, said save message representing a request by the user of the client computer to save content displayed on a display area of the client computer; and means for causing pointer messages in said shared buffer to be saved to persistent storage.
-
-
42. The apparatus of claim 38 further comprising:
-
means for receiving an open message from the client computer, said open message representing a request by the user of the client computer to load content previously saved during the multiple-party communication; means for saving pointer messages in said shared buffer to a persistent memory; means for transmitting a clear screen message to the client computer, said clear screen message being operable to cause content associated with pointer messages previously transmitted to the client computer to be deleted on a display area of the client computer; means for loading a plurality of previously saved pointer messages into said shared buffer from said persistent memory; and means for transmitting said plurality of previously saved pointer messages to the client computer.
-
-
43. The apparatus of claim 38 further comprising:
-
means for receiving a page change message from the client computer said page change message representing a request by the user of the client computer to change content displayed on a display area of the client computer; means for saving messages in said shared buffer to a persistent memory; and means for transmitting a clear screen message to the client computer, said clear screen message being operable to cause content associated with pointer messages previously transmitted to the client computer to be deleted on said display area of the client computer.
-
-
44. The apparatus of claim 43 further comprising means for loading a plurality of previously saved pointer messages into said shared buffer from said persistent memory and means for transmitting said previously saved messages to the client computer.
-
45. The apparatus of claim 44 further comprising means for determining a message type associated with said pointer message and wherein said means for transmitting said previously saved pointer messages comprises means for transmitting only pointer messages of a persistent message type to the client computer.
-
46. The apparatus of claim 35 further comprising means for establishing a multiple-party communication in response to a signal received from the client computer.
-
47. The apparatus of claim 46 wherein said means for establishing said multiple-party communication comprises creating a shared buffer and associating a communication identifier with said shared buffer.
-
48. The apparatus of claim 47 wherein said means for creating said shared buffer comprises:
-
means for allocating a plurality of memory stores to said multiple-party communication; means for associating a start data pointer with said plurality of memory stores, said start data pointer representing a location of a store in which a first message associated with the multiple-party communication is stored; means for associating a current data pointer with said plurality of memory stores, said current data pointer representing a location of a store in which a last message associated with the multiple-party communication is stored; and means for associating a client sent pointer with said plurality of memory stores, said client sent pointer being associated with the client computer and representing a location of a store in which a last message sent to the associated client computer is stored.
-
-
49. The apparatus of claim 46 further comprising means for associating a client table with a communication identifier identifying said multiple-party communication.
-
50. The apparatus of claim 49 further comprising means for storing an identification of the client computer in the client table.
-
51. The apparatus of claim 50 further comprising means for associating a receive buffer and a transmit buffer with the client identifier, said receive buffer being operably configured to store cursor messages received from the client computer and said transmit buffer being operably configured to store pointer messages to be transmitted to the client computer.
-
52. The apparatus of claim 50 further comprising:
-
means for receiving a disconnect message from the client computer, said disconnect message representing a request by the user of the client computer to disconnect from the multiple-party communication; and means for deleting said identification of the client computer in the client table.
-
-
53. The apparatus of claim 52 further comprising means for causing the multiple-party communication to be discontinued when said identification of the client computer is an only client computer in the client table and wherein said disconnect message includes a request by said user of the client computer to discontinue the multiple-party communication after disconnecting the client computer.
-
54. The apparatus of claim 52 further comprising means for causing the multiple-party communication to continue running when at least one of:
-
the client computer is not an only client computer in the client table; and said disconnect message does not include a request to discontinue the multiple-party communication after disconnecting the client computer; and said disconnect message includes a request to keep the multiple-party communication running after disconnecting the client computer.
-
-
55. The apparatus of claim 35 wherein said client computer is a first client computer in a multiple-party communication, and further comprising:
-
means for receiving a second cursor message at the server, said second cursor message representing a change in a position of a second cursor displayed on a second client computer in the computer network; and means for transmitting a second pointer message to said first and second client computers, said second pointer message representing said change in said position of said second cursor provided by said second cursor message.
-
-
56. The apparatus of claim 55 further comprising means for associating a time of receipt of said first cursor message at the server with said first cursor message and means for associating a time of receipt of said second cursor message at the server with said second cursor message, and wherein said means for transmitting said first pointer message and said means for transmitting said second pointer message comprises means for transmitting said respective pointer messages in a time order corresponding to said time of receipt of each corresponding cursor message.
-
57. The apparatus of claim 55 further comprising:
-
means for receiving an input message from said first client computer, said input message including a uniform resource locator identifying web page content associated with a web site accessible over the computer network and being operable to identify meeting content displayed on said first client computer; means for producing an output message including said uniform resource locator; means for transmitting said output message to said second client computer, said output message being operable to cause said web page content to be displayed on said second client computer.
-
-
58. The apparatus of claim 35 wherein said means for receiving said first cursor message comprises means for receiving a plurality of cursor messages, each of said plurality of cursor messages representing a subsequent change in said position of said first cursor, and wherein said means for producing said first pointer message comprises means for producing a plurality of pointer messages representing said subsequent changes in said position of said first cursor.
-
59. The apparatus of claim 35 wherein the at least one client computer comprises a first client computer in a plurality of client computers and further comprising means for transmitting said first pointer message to client computers in said plurality of client computers other than said first client computer.
-
60. The apparatus of claim 59 wherein said means for transmitting said first pointer message to client computers in said plurality of client computers other than said first client computer comprises:
-
means for determining a message type associated with said first cursor message; means for transmitting said first pointer message to; a) each of the plurality of client computers when said first cursor message has a message type associated with user input that is operable to produce a persistent change to multiple-party communication content; and b) ones of the plurality of client computers that meet a criterion when said first cursor message has a message type associated with user input that produces a cursor movement at said one of said plurality of client computers and wherein said cursor movement does not produce a persistent change to the multiple-party communication content.
-
-
61. The apparatus of claim 60 wherein said means for transmitting said first pointer message to said ones of the plurality of client computers that meet said criterion comprises means for transmitting said first pointer message to said ones of the plurality of client computers when all previously received messages of said persistent message type have been transmitted to said ones of the plurality of client computers during the multiple-party communication.
-
62. The apparatus of claim 35 wherein said client computer has meeting content displayed on an associated display area, and wherein said meeting content comprises web page content associated with a web site accessible over the computer network, and wherein said means for transmitting comprises means for transmitting said first pointer message to said client computer to cause display of a pointer within said meeting content on said display area on said client computer.
-
63. The apparatus of claim 62 wherein said client computer is a first client computer in a multiple-party communication and further comprising a second client computer having the web page content displayed on an associated display area of the second client computer, the apparatus further comprising:
-
means for receiving an input message at the server from the first client computer, said input message representing user input of a character at the first client computer; means for producing an output message representing said character provided by said input message; means for transmitting said output message to each of the first client computer and a second client computer to facilitate display of the character within said meeting content on said display area on each of said first and second client computers in response to receiving said output message.
-
-
64. The apparatus of claim 63 wherein said means for receiving said input message comprises means for receiving an input message at the server representing user input of a plurality of characters at the first client computer, and wherein said means for producing said output message comprises means for producing an output message representing said plurality of characters provided by said input message.
-
65. The apparatus of claim 63 wherein said means for receiving said input message comprises means for receiving an input message including a coordinate position identifying a position within said meeting content where said character is to be displayed and wherein said means for producing said output message comprises means for producing an output message including said coordinate position to facilitate display of the character at said coordinate position within said meeting content on each of said first and second client computers.
-
66. The apparatus of claim 35 wherein said client computer is a first client computer in a multiple-party communication and further comprising a second client computer in the multiple-party communication, the apparatus further comprising:
-
means for receiving an input message at the server from the first client computer, said input message representing user input of a character at the first client computer; means for producing an output message representing said character provided by said input message; means for transmitting said output message to each of the first client computer and a second client computer to facilitate display of the character on each of said first and second client computers in response to receiving said output message.
-
-
67. The apparatus of claim 66 wherein said means for receiving said input message comprises means for receiving an input message at the server representing user input of a plurality of characters at the first client computer, and wherein said means for producing said output message comprises means for producing an output message representing said plurality of characters provided by said input message.
-
68. The apparatus of claim 66 wherein said means for receiving said input message comprises means for receiving an input message including a coordinate position identifying a position where said character is to be displayed and wherein said means for producing said output message comprises means for producing an output message including said coordinate position to facilitate display of the character at said coordinate position on each of said first and second client computers in response to receiving said output message.
-
36. The apparatus of claim 35 wherein the server is operably configured to host a plurality of multiple-party communications and further comprising means for locating a multiple-party communication associated with a user identifier, said user identifier being associated with said cursor message.
-
-
69. An apparatus for supporting multiple-party communications in a computer network including a server and at least one client computer, the apparatus comprising a processor circuit operably configured to:
-
receive a first cursor message at the server from the client computer, said first cursor message representing a change in a position of a first cursor associated with the client computer in response to user input received from a user of the client computer, produce a first pointer message in response to said first cursor message, said first pointer message representing said change in said position of said first cursor provided by said first cursor message and being operable to cause display of a pointer on the client computer; and transmit said first pointer message to said first client computer. - View Dependent Claims (70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102)
-
70. The apparatus of claim 69 wherein said processor circuit is operably configured to host a plurality of multiple-party communications and said processor circuit is operably configured to locate a multiple-party communication associated with a user identifier, said user identifier being associated with said cursor message.
-
71. The apparatus of claim 70 wherein said processor circuit is operably configured to locate a multiple-party communication associated with at least one of:
-
a user identifier included in a payload of said cursor message; a port identifier associated with the client computer; and an internet protocol (IP) address associated with the client computer.
-
-
72. The apparatus of claim 69 wherein said processor circuit is operably configured to produce said first pointer message by storing said first cursor message in a shared buffer associated with the associated multiple-party communication.
-
73. The apparatus of claim 72 wherein said processor circuit is operably configured facilitate transmitting said first pointer message by copying said first cursor message into a transmit buffer associated with said user identifier.
-
74. The apparatus of claim 72 said processor circuit is operably configured to:
-
receive a message from the client computer representing a request by the client computer to clear content displayed on a display area of the client computer; and transmit a clear screen message to the client computer, said clear screen message being operable to cause content associated with messages previously transmitted to the client computer to be deleted on said display area of the client computer.
-
-
75. The apparatus of claim 72 wherein said processor circuit is operably configured to:
-
receive a save message from the client computer, said save message representing a request by the user of the client computer to save content displayed on a display area of the client computer; and cause pointer messages in said shared buffer to be saved to persistent storage.
-
-
76. The apparatus of claim 69 wherein said processor circuit is operably configured to establish a multiple-party communication in response to a signal received from the client computer.
-
77. The apparatus of claim 76 wherein said processor circuit is operably configured to create a shared buffer and associate a communication identifier with said shared buffer.
-
78. The apparatus of claim 77 wherein said processor circuit is operably configured to create said shared buffer by:
-
allocating a plurality of memory stores to said multiple-party communication; associate a start data pointer with said plurality of memory stores, said start data pointer representing a location of a store in which a first message associated with the multiple-party communication is stored; associate a current data pointer with said plurality of memory stores, said current data pointer representing a location of a store in which a last message associated with the multiple-party communication is stored; and associate a client sent pointer with said plurality of memory stores, said client sent pointer being associated with the client computer and representing a location of a store in which a last message sent to the associated client computer is stored.
-
-
79. The apparatus of claim 77 wherein said processor circuit is operably configured to:
-
receive an open message from the client computer, said open message representing a request by the user of the client computer to load content previously saved during the multiple-party communication; save pointer messages in said shared buffer to a persistent memory; delete said pointer messages in said shared buffer; transmit a clear screen message to the client computer, said clear screen message being operable to cause content associated with pointer messages previously transmitted to the client computer to be deleted on a display area of the client computer; load a plurality of previously saved pointer messages into said shared buffer from said persistent memory; and transmit said plurality of previously saved pointer messages to the client computer.
-
-
80. The apparatus of claim 77 wherein said processor circuit is operably configured to:
-
receive a page change message from the client computer said page change message representing a request by the user of the client computer to change content displayed on a display area of the client computer; save pointer messages in said shared buffer to a persistent memory; delete said pointer messages in said shared buffer; and transmit a clear screen message to the client computer, said clear screen message being operable to cause content associated with pointer messages previously transmitted to the client computer to be deleted on said display area of the client computer.
-
-
81. The apparatus of claim 80 wherein said processor circuit is operably configured to load a plurality of previously saved messages into said shared buffer from said persistent memory and to transmit said previously saved messages to the client computer.
-
82. The apparatus of claim 81 wherein said processor circuit is operably configured to determine a message type associated with said pointer message and wherein said processor circuit is operably configured to transmit said previously saved pointer messages by transmitting only pointer messages of a persistent message type to the client computer.
-
83. The apparatus of claim 76 said processor circuit is operably configured to associate a client table with a communication identifier identifying said multiple-party communication.
-
84. The apparatus of claim 83 wherein said processor circuit is operably configured to store an identification of the client computer in the client table.
-
85. The apparatus of claim 84 wherein said processor circuit is operably configured to associate a receive buffer and a transmit buffer with the client identifier, said receive buffer being operably configured to store cursor messages received from the client computer and said transmit buffer being operably configured to store pointer messages to be transmitted to the client computer.
-
86. The apparatus of claim 84 wherein said processor circuit is operably configured to:
-
receive a disconnect message from the client computer, said disconnect message representing a request by the user of the client computer to disconnect from the multiple-party communication; and delete said identification of the client computer in the client table.
-
-
87. The apparatus of claim 86 wherein said processor circuit is operably configured to cause the multiple-party communication to be discontinued when said identification of the client computer is an only client computer in the client table and wherein said disconnect message includes a request by said user of the client computer to discontinue the multiple-party communication after disconnecting the client computer.
-
88. The apparatus of claim 86 wherein said processor circuit is operably configured to cause the multiple-party communication to continue running when at least one of:
-
the client computer is not an only client computer in the client table; and said disconnect message does not include a request to discontinue the multiple-party communication after disconnecting the client computer; and said disconnect message includes a request to keep the multiple-party communication running after disconnecting the client computer.
-
-
89. The apparatus of claim 69 wherein said client computer is a first client computer in a multiple-party communication, and wherein said processor circuit is operably configured to:
-
receive a second cursor message at the server, said second cursor message representing a change in a position of a second cursor displayed on a second client computer in the computer network; and transmit a second pointer message to said first and second client computers, said second pointer message representing said change in said position of said second cursor provided by said second cursor message.
-
-
90. The apparatus of claim 89 wherein said processor circuit is operably configured to associate a time of receipt of said first cursor message at the server with said first cursor message and to associate a time of receipt of said second cursor message at the server with said second cursor message, and wherein said processor circuit is operably configured to transmit said first pointer message and to transmit said second pointer message in a time order corresponding to said time of receipt of each corresponding cursor message.
-
91. The apparatus of claim 89 wherein said processor circuit is further operably configured to:
-
receive an input message from said first client computer, said input message including a uniform resource locator identifying web page content associated with a web site accessible over the computer network and being operable to identify meeting content displayed on said first client computer; produce an output message including said uniform resource locator; transmit said output message to said second client computer, said output message being operable to cause said web page content to be displayed on said second client computer.
-
-
92. The apparatus of claim 69 wherein said processor circuit is operably configured to receive said first cursor message by receiving a plurality of cursor messages, each of said plurality of cursor messages representing a subsequent change in said position of said first cursor, and wherein said processor circuit is operably configured to produce said first pointer message by producing a plurality of pointer messages representing said subsequent changes in said position of said first cursor.
-
93. The apparatus of claim 69 wherein the at least one client computer comprises a first client computer in a plurality of client computers and wherein said processor circuit is operably configured to transmit said first pointer message to client computers in said plurality of client computers other than said first client computer.
-
94. The apparatus of claim 93 wherein said processor circuit is operably configured to transmit said first pointer message to client computers in said plurality of client computers other than said first client computer by:
-
determining a message type associated with said first cursor message; transmitting said first pointer message to; a) each of the plurality of client computers when said first cursor message has a message type associated with user input that is operable to produce a persistent change to multiple-party communication content; and b) ones of the plurality of client computers that meet a criterion when said first cursor message has a message type associated with user input that produces a cursor movement at said one of said plurality of client computers and wherein said cursor movement does not produce a persistent change to the multiple-party communication content.
-
-
95. The apparatus of claim 94 wherein said processor circuit is operably configured to transmit said first pointer message to said ones of the plurality of client computers that meet said criterion by transmitting said first pointer message to said ones of the plurality of client computers when all previously received messages of said persistent message type have been transmitted to said ones of the plurality of client computers during the multiple-party communication.
-
96. The apparatus of claim 69 wherein said client computer has meeting content displayed on an associated display area, and wherein said meeting content comprises web page content associated with a web site accessible over the computer network, and wherein said processor circuit is operably configured to transmit said first pointer message by transmitting a pointer message to said client computer to cause display of a pointer within said meeting content on said display area on said client computer.
-
97. The apparatus of claim 96 wherein said client computer is a first client computer in a multiple-party communication and further comprising a second client computer having the web page content displayed on an associated display area of the second client computer, the apparatus further comprising a processor circuit operably configured to:
-
receive an input message at the server from the first client computer, said input message representing user input of a character at the first client computer; produce an output message representing said character provided by said input message; transmit said output message to each of the first client computer and a second client computer to facilitate display of the character within said meeting content on said display area on each of said first and second client computers in response to receiving said output message.
-
-
98. The apparatus of claim 97 wherein said processor circuit is operably configured to receive said input message by receiving an input message at the server representing user input of a plurality of characters at the first client computer, and wherein said processor circuit is operably configured to produce said output message by producing an output message representing said plurality of characters provided by said input message.
-
99. The apparatus of claim 97 wherein said processor circuit is operably configured to receive said input message by receiving an input message including a coordinate position identifying a position within said meeting content where said character is to be displayed and wherein said processor circuit is operably configured to produce said output message by producing an output message including said coordinate position to facilitate display of the character at said coordinate position within said meeting content on each of said first and second client computers.
-
100. The apparatus of claim 69 wherein said client computer is a first client computer in a multiple-party communication and further comprising a second client computer in the multiple-party communication, the apparatus further comprising a processor circuit operably configured to:
-
receive an input message at the server from the first client computer, said input message representing user input of a character at the first client computer; produce an output message representing said character provided by said input message; transmit said output message to each of the first client computer and a second client computer to facilitate display of the character on each of said first and second client computers in response to receiving said output message.
-
-
101. The apparatus of claim 100 wherein said processor circuit is operably configured to receive said input message by receiving an input message at the server representing user input of a plurality of characters at the first client computer, and wherein said processor circuit is operably configured to produce said output message by producing an output message representing said plurality of characters provided by said input message.
-
102. The apparatus of claim 100 wherein said processor circuit is operably configured to receive said input message by receiving an input message including a coordinate position identifying a position where said character is to be displayed and wherein said processor circuit is operably configured to produce said output message by producing an output message including said coordinate position to facilitate display of the character at said coordinate position on each of said first and second client computers in response to receiving said output message.
-
70. The apparatus of claim 69 wherein said processor circuit is operably configured to host a plurality of multiple-party communications and said processor circuit is operably configured to locate a multiple-party communication associated with a user identifier, said user identifier being associated with said cursor message.
-
-
103. A computer readable medium encoded with codes for directing a server processor circuit to support multiple-party communications in a computer network including the server and at least one client computer, said codes directing the server processor circuit to:
-
receive a first cursor message at the server from the client computer, said first cursor message representing a change in a position of a first cursor associated with the client computer in response to user input received from a user of the client computer; produce a first pointer message in response to said first cursor message, said first pointer message representing said change in said position of said first cursor provided by said first cursor message and being operable to cause display of a pointer on the client computer, and transmit said first pointer message to said first client computer. - View Dependent Claims (104, 105)
-
104. The computer readable medium of claim 103 wherein said client computer has meeting content displayed on an associated display area, and wherein said meeting content comprises web page content associated with a web site accessible over the computer network, and wherein said codes are operable to direct said processor circuit to transmit said first pointer message by transmitting a pointer message to said client computer to cause display of a pointer within said meeting content on said display area on said client computer.
-
105. The computer readable medium of claim 103 wherein said client computer is a first client computer in a multiple-party communication, and wherein said codes further direct said processor circuit to:
-
receive a second cursor message at the server, said second cursor message representing a change in a position of a second cursor displayed on a second client computer in the computer network; and transmit a second pointer message to said first and second client computers, said second pointer message representing said change in said position of said second cursor provided by said second cursor message; receive an input message from said first client computer, said input message including a uniform resource locator identifying web page content associated with a web site accessible over the computer network and being operable to identify meeting content displayed on said first client computer; produce an output message including said uniform resource locator; transmit said output message to said second client computer, said output message being operable to cause said web page content to be displayed on said second client computer.
-
-
104. The computer readable medium of claim 103 wherein said client computer has meeting content displayed on an associated display area, and wherein said meeting content comprises web page content associated with a web site accessible over the computer network, and wherein said codes are operable to direct said processor circuit to transmit said first pointer message by transmitting a pointer message to said client computer to cause display of a pointer within said meeting content on said display area on said client computer.
-
-
106. A system for supporting multiple-party communications on a client computer in communication with a server in a computer network, the system comprising:
-
a client processor circuit operably configured to; transmit a first cursor message to the server to elicit a first pointer message from the server, said first cursor message representing a change in a position of a first cursor associated with the client computer in response to user input received from a user of the client computer; a server processor circuit operably configured to; receive said first cursor message from the client processor circuit; produce a first pointer message in response to said first cursor message, said first pointer message representing said change in said position of said first cursor provided by said first cursor message and being operable to cause display of a pointer on the client computer; transmit said first pointer message to the client processor circuit; and said client processor circuit being operably configured to receive said first pointer message from the server and to cause a corresponding change in a position of a first pointer associated with said first cursor and displayed on a display area of the client computer, in response to said first pointer message. - View Dependent Claims (107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150)
-
107. The system of claim 106 further comprising a communications network through which communications are conducted between the server and the client computer.
-
108. The system of claim 106 wherein said server processor circuit is operably configured to host a plurality of multiple-party communications and said processor circuit is operably configured to locate a multiple-party communication associated with a user identifier, said user identifier being associated with said cursor message.
-
109. The system of claim 108 wherein said server processor circuit is operably configured to locate a multiple-party communication associated with at least one of:
-
a user identifier included in a payload of said cursor message; a port identifier associated with the client computer; and an internet protocol (IP) address associated with the client computer.
-
-
110. The system of claim 106 wherein said server processor circuit is operably configured to produce said first pointer message by storing said first cursor message in a shared buffer associated with the associated multiple-party communication.
-
111. The system of claim 110 wherein said server processor circuit is operably configured facilitate transmitting said first pointer message by copying said first cursor message into a transmit buffer associated with said user identifier.
-
112. The system of claim 110 said server processor circuit is operably configured to:
-
receive a message from the client computer representing a request by the client computer to clear content displayed on a display area of the client computer; and transmit a clear screen message to the client computer, said clear screen message being operable to cause content associated with messages previously transmitted to the client computer to be deleted on said display area of the client computer.
-
-
113. The system of claim 110 wherein said server processor circuit is operably configured to:
-
receive a save message from the client computer, said save message representing a request by the user of the client computer to save content displayed on a display area of the client computer; and cause pointer messages in said shared buffer to be saved to persistent storage.
-
-
114. The system of claim 106 wherein said server processor circuit is operably configured to establish a multiple-party communication in response to a signal received from the client computer.
-
115. The system of claim 114 wherein said server processor circuit is operably configured to create a shared buffer and associate a communication identifier with said shared buffer.
-
116. The system of claim 115 wherein said server processor circuit is operably configured to create said shared buffer by:
-
allocating a plurality of memory stores to said multiple-party communication; associate a start data pointer with said plurality of memory stores, said start data pointer representing a location of a store in which a first message associated with the multiple-party communication is stored; associate a current data pointer with said plurality of memory stores, said current data pointer representing a location of a store in which a last message associated with the multiple-party communication is stored; and associate a client sent pointer with said plurality of memory stores, said client sent pointer being associated with the client computer and representing a location of a store in which a last message sent to the associated client computer is stored.
-
-
117. The system of claim 115 wherein said server processor circuit is operably configured to:
-
receive an open message from the client computer, said open message representing a request by the user of the client computer to load content previously saved during the multiple-party communication; save pointer messages in said shared buffer to a persistent memory; delete said pointer messages in said shared buffer; transmit a clear screen message to the client computer, said clear screen message being operable to cause content associated with pointer messages previously transmitted to the client computer to be deleted on a display area of the client computer; load a plurality of previously saved pointer messages into said shared buffer from said persistent memory; and transmit said plurality of previously saved pointer messages to the client computer.
-
-
118. The system of claim 115 wherein said server processor circuit is operably configured to:
-
receive a page change message from the client computer said page change message representing a request by the user of the client computer to change content displayed on a display area of the client computer; save pointer messages in said shared buffer to a persistent memory; delete said pointer messages in said shared buffer; and transmit a clear screen message to the client computer, said clear screen message being operable to cause content associated with pointer messages previously transmitted to the client computer to be deleted on said display area of the client computer.
-
-
119. The system of claim 118 wherein said server processor circuit is operably configured to load a plurality of previously saved messages into said shared buffer from said persistent memory and to transmit said previously saved messages to the client computer.
-
120. The system of claim 119 wherein said server processor circuit is operably configured to determine a message type associated with said pointer message and wherein said processor circuit is operably configured to transmit said previously saved pointer messages by transmitting only pointer messages of a persistent message type to the client computer.
-
121. The system of claim 114 said server processor circuit is operably configured to associate a client table with a communication identifier identifying said multiple-party communication.
-
122. The system of claim 121 wherein said server processor circuit is operably configured to store an identification of the client computer in the client table.
-
123. The system of claim 122 wherein said server processor circuit is operably configured to associate a receive buffer and a transmit buffer with the client identifier, said receive buffer being operably configured to store cursor messages received from the client computer and said transmit buffer being operably configured to store pointer messages to be transmitted to the client computer.
-
124. The system of claim 122 wherein said server processor circuit is operably configured to:
-
receive a disconnect message from the client computer, said disconnect message representing a request by the user of the client computer to disconnect from the multiple-party communication; and delete said identification of the client computer in the client table.
-
-
125. The system of claim 124 wherein said server processor circuit is operably configured to cause the multiple-party communication to be discontinued when said identification of the client computer is an only client computer in the client table and wherein said disconnect message includes a request by said user of the client computer to discontinue the multiple-party communication after disconnecting the client computer.
-
126. The system of claim 124 wherein said server processor circuit is operably configured to cause the multiple-party communication to continue running when at least one of:
-
the client computer is not an only client computer in the client table; and said disconnect message does not include a request to discontinue the multiple-party communication after disconnecting the client computer; and said disconnect message includes a request to keep the multiple-party communication running after disconnecting the client computer.
-
-
127. The system of claim 106 wherein said client computer is a first client computer in a multiple-party communication, and wherein said server processor circuit is operably configured to:
-
receive a second cursor message at the server, said second cursor message representing a change in a position of a second cursor displayed on a second client computer in the computer network; and transmit a second pointer message to said first and second client computers, said second pointer message representing said change in said position of said second cursor provided by said second cursor message.
-
-
128. The system of claim 127 wherein said server processor circuit is operably configured to associate a time of receipt of said first cursor message at the server with said first cursor message and to associate a time of receipt of said second cursor message at the server with said second cursor message, and wherein said server processor circuit is operably configured to transmit said first pointer message and to transmit said second pointer message in a time order corresponding to said time of receipt of each corresponding cursor message.
-
129. The system of claim 106 wherein said client processor circuit is operably configured to transmit a first cursor message to the server, said first cursor message representing a change in a position of one of:
-
a first cursor displayed on a display area of the client computer; and a stylus tip in contact with a touch screen display area of the client computer.
-
-
130. The system of claim 106 wherein said client processor circuit is operably configured to produce said first cursor message.
-
131. The system of claim 130 wherein said client processor circuit is operably configured to produce a cursor message comprising a message identifier, a user identifier associated with the client computer, and position coordinates of a current position of said first cursor.
-
132. The system of claim 130 wherein said client processor circuit is operably configured to produce at least one of:
-
a persistent message that represents a track of said first cursor in arriving at said current position of said cursor; and a non-persistent message representing said current position of said first cursor.
-
-
133. The system of claim 130 wherein said client processor circuit is operably configured to:
-
receive interrupt event signals from an operating system of the client computer; determine whether at least one of said interrupt event signals represents receipt of user input from a user input device in communication with the client computer; cause data representing said user input to be received from said operating system of the client computer and extracting change of position data from said data representing said user input; and produce payload data for said first cursor message in response to said change of position data.
-
-
134. The system of claim 106 wherein said first pointer message comprises a copy of said first cursor message transmitted to the server.
-
135. The system of claim 106 wherein said first pointer message comprises a message identifier and position coordinates representing a position of said first cursor.
-
136. The system of claim 135 wherein said client processor circuit is operably configured to cause said first pointer to be deleted and redisplayed at said position coordinates representing said position of said first cursor.
-
137. The system of claim 106 wherein said client processor circuit is operably configured to:
-
receive a second pointer message from the server, said second pointer message representing a change in a position of a second cursor associated with another client computer in the computer network; and cause a corresponding change in a position of a second pointer displayed on said display area of the client computer in response to said second pointer message, said second pointer being associated with said second cursor.
-
-
138. The system of claim 137 wherein said second pointer message comprises a message identifier, a user identifier associated with the other client computer, and position coordinates representing a position of said second cursor.
-
139. The system of claim 138 wherein said client processor circuit is operably configured to:
-
determine whether said user identifier corresponds to a displayed pointer on said display area; cause said pointer to be deleted and then redisplayed at said position coordinates on said display area when said user identifier corresponds to said displayed pointer; and cause a new pointer to be displayed at said position coordinates on said display area when said user identifier does not correspond to a pointer already displayed on said display area.
-
-
140. The system of claim 106 wherein said client computer has meeting content displayed on an associated display area, and wherein said meeting content comprises web page content associated with a web site accessible over the computer network, and wherein said server processor circuit is operably configured to transmit said first pointer message by transmitting a pointer message to said client computer to cause display of a pointer within said meeting content on said display area on said client computer.
-
141. The system of claim 140 wherein said client computer is a first client computer in a multiple-party communication and further comprising a second client computer having the web page content displayed on an associated display area of the second client computer, and wherein said server processor circuit is operably configured to:
-
receive an input message at the server from the first client computer, said input message representing user input of a character at the first client computer; produce an output message representing said character provided by said input message; transmit said output message to each of the first client computer and a second client computer to facilitate display of the character within said meeting content on said display area on each of said first and second client computers in response to receiving said output message.
-
-
142. The system of claim 141 wherein said server processor circuit is operably configured to receive said input message by receiving an input message at the server representing user input of a plurality of characters at the first client computer, and wherein said server processor circuit is operably configured to produce said output message by producing an output message representing said plurality of characters provided by said input message.
-
143. The system of claim 141 wherein said server processor circuit is operably configured to receive said input message by receiving an input message including a coordinate position identifying a position within said meeting content where said character is to be displayed and wherein said server processor circuit is operably configured to produce said output message by producing an output message including said coordinate position to facilitate display of the character at said coordinate position within said meeting content on each of said first and second client computers.
-
144. The system of claim 140 wherein said client processor circuit of said client computer is operably configured to:
-
receive user input of a user input signal representing a character; produce a message representing said character; and transmit said message to the server.
-
-
145. The system of claim 144 wherein said user input signal represents a plurality of characters and wherein said client processor circuit is operably configured to produce a message representing said plurality of characters.
-
146. The system of claim 144 wherein said client processor circuit is operably configured to receive user input of said user input signal representing the character in response to receiving user input of a character entry function invocation signal.
-
147. The system of claim 146 wherein said client processor circuit is operably configured to receive said character entry function invocation signal by receiving an actuator button signal produced by a pointing device associated with the client processor circuit.
-
148. The system of claim 147 wherein said client processor circuit is operably configured to determine a character entry position in response to a cursor movement signal produced by said pointing device and wherein said client processor circuit is operably configured to produce said message representing said character by producing a message including said character entry position.
-
149. The system of claim 144 wherein said client computer is a first client computer in the multiple-party communication and further comprising a second client computer having the web page content displayed on an associated display area of the second client computer, and wherein:
-
said first client processor circuit is operably configured to receive said message representing said character from the server processor circuit and to display the character within said meeting content on said display area on the first client computer in response to receiving said message; and a second client processor circuit of the second client computer is operably configured to receive said message representing said character from the server processor circuit and to display the character within said meeting content on an associated display area on the second client computer in response to receiving said message.
-
-
150. The system of claim 106 wherein said client computer is a first client computer in a multiple-party communication, and wherein said server processor circuit is operably configured to:
-
receive a second cursor message at the server, said second cursor message representing a change in a position of a second cursor displayed on a second client computer in the computer network; and transmit a second pointer message to said first and second client computers, said second pointer message representing said change in said position of said second cursor provided by said second cursor message; receive an input message from said first client computer, said input message including a uniform resource locator identifying web page content associated with a web site accessible over the computer network and being operable to identify meeting content displayed on said first client computer; produce an output message including said uniform resource locator; transmit said output message to said second client computer, said output message being operable to cause said web page content to be displayed on said second client computer.
-
-
107. The system of claim 106 further comprising a communications network through which communications are conducted between the server and the client computer.
-
Specification
- Resources
-
Current AssigneeAK Meeting IP LLC (Pueblo Nuevo LLC)
-
Original AssigneeUranus International Limited
-
InventorsKropivny, Alexander
-
Primary Examiner(s)VU, THANH T
-
Application NumberUS11/694,817Publication NumberTime in Patent Office2,475 DaysField of Search715/751, 715/753, 715/754US Class Current715/754CPC Class CodesH04L 12/1827 Network arrangements for co...