← Back to Patent Explorer
US5949975A Expired / Lapsed US ⏱️ 0.0 years remaining

Method and system for negotiating capabilities when sharing an application program with multiple computer systems

Assignee: Polycom LLC
•
Filing: 1997-03-12
•
Granted: 1999-09-07
•
Expires: 2017-03-12
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method and system for sharing application programs between multiple computer systems. In one embodiment, the present invention comprises a multipoint application sharing (MAS) system that resides at each computer system (i.e., node) in a network of computer systems. The MAS system at each computer system communicates with each MAS system at each other computer system by sending messages over the network. The MAS system enables a user at each computer system to share one or more application programs with each user at each other computer system. To share an application program, a user at a host computer system invokes the application program. Then, the user requests the MAS system to share the invoked application program with users at other computer systems. Each computer that is sharing the application, can view the output of the application and can, under certain circumstances, take control of the application so that it can send remote keyboard and pointing device information to the application.

Inventors

  • 👤 John P. Batty
  • 👤 Anthony M. Downes
  • 👤 Kenneth P. Hughes
  • 👤 Roderick F. MacFarquhar
  • 👤 Christopher J. Mairs
  • 👤 Alex J. Pollitt

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-01 06:28
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/50; G06F9/5061; G06F9/5066

Claims Analysis

Total Claims: 28
Claim 1
Independent Claim 296 words
A method for coordinating the exchange of data of computer systems that are sharing an application, each computer system having a local share identifier, the method comprising: when a computer system is inactive in the sharing of the application, setting the local share identifier to invalid; when a computer system is to become active in the sharing of the application, generating a share identifier for the computer system; setting the local share identifier to the generated share identifier; and sending the generated share identifier along with a demand to become active; when a computer system receives a demand to become active, when the local share identifier is invalid, setting the local share identifier to the share identifier received with the demand to become active; and when the local share identifier is valid, setting the local share identifier to the greater of the local share identifier and the share identifier received with the demand to become active; when a computer system is to confirm a demand to become active, sending the local share identifier along with a confirmation to become active; when a computer system receives a confirmation to become active, when the local share identifier is invalid, setting the local share identifier to the share identifier received with the confirmation to become active; and when the local share identifier is valid, setting the local share identifier to the greater of the local share identifier and the share identifier received with the confirmation to become active; when a computer system sends data to another computer system, sending the local share identifier along with the data; and when a computer system receives data sent from another computer system, disregarding the data when the local share identifier does not match the share identifier that is sent with the data.
Claim 2
Independent Claim 296 words
A method for coordinating the exchange of data of computer systems that are sharing an application, each computer system having a local share identifier, the method comprising: when a computer system is inactive in the sharing of the application, setting the local share identifier to invalid; when a computer system is to become active in the sharing of the application, generating a share identifier for the computer system; setting the local share identifier to the generated share identifier; and sending the generated share identifier along with a demand to become active; when a computer system receives a demand to become active, when the local share identifier is invalid, setting the local share identifier to the share identifier received with the demand to become active; and when the local share identifier is valid, setting the local share identifier to the greater of the local share identifier and the share identifier received with the demand to become active; when a computer system is to confirm a demand to become active, sending the local share identifier along with a confirmation to become active; when a computer system receives a confirmation to become active, when the local share identifier is invalid, setting the local share identifier to the share identifier received with the confirmation to become active; and when the local share identifier is valid, setting the local share identifier to the greater of the local share identifier and the share identifier received with the confirmation to become active; when a computer system sends data to another computer system, sending the local share identifier along with the data; and when a computer system receives data sent from another computer system, disregarding the data when the local share identifier does not match the share identifier that is sent with the data.
Claim 3
Dependent Claim 27 words
The method of claim 1 wherein the share identifier contains a combination of an identification of the computer system that generates the share identifier and a counter.
Claim 4
Dependent Claim 26 words
The method of claim 2 wherein a computer system generates a share identifier by incrementing the counter portion of the last share identifier that it generated.
Claim 5
Independent Claim 103 words
A method for coordinating activation of computer systems in the sharing of an application program, the method comprising: when a computer system is to become active, sending a demand to become active to each other computer system; and when a computer system receives a demand to become active, when the computer system is active, sending a confirmation to become active to each other computer system; and when the computer system is not active, determining whether the computer system is to become active; and when the computer system has determined to become active, sending a confirmation to become active to each other computer system.
Claim 6
Independent Claim 103 words
A method for coordinating activation of computer systems in the sharing of an application program, the method comprising: when a computer system is to become active, sending a demand to become active to each other computer system; and when a computer system receives a demand to become active, when the computer system is active, sending a confirmation to become active to each other computer system; and when the computer system is not active, determining whether the computer system is to become active; and when the computer system has determined to become active, sending a confirmation to become active to each other computer system.
Claim 7
Dependent Claim 21 words
The method of claim 4 wherein each demand and confirmation to become active includes the capabilities of the sending computer system.
Claim 8
Dependent Claim 57 words
The method of claim 4 including when a computer system is to become active, sending a request to become active to each other computer system before sending the demand to become active; and when a computer system that is active receives a request to become active, sending a confirm to become active to each other computer system.
Claim 9
Dependent Claim 22 words
The method of claim 6 wherein each demand, request, and confirmation to become active includes the capabilities of the sending computer system.
Claim 10
Independent Claim 153 words
A method for coordinating control of input to an application shared by a plurality of computer systems, the method comprising: selecting one of the computer systems as having control of the input and providing to each computer system a control identifier indicating that the selected computer system is in control; when a computer system wishes to take control, sending a request for control along with the identification of the requesting computer system to all computer systems; when the computer system that is currently in control receives the request for control, sending a grant of control along with the identification of the requesting computer system and the control identifier to all computer systems; when a computer system that is not currently in control receives the request for control, discarding the request; and when a computer system receives the grant of control, recording that the identification of the requesting computer system and the control identifier.
Claim 11
Independent Claim 153 words
A method for coordinating control of input to an application shared by a plurality of computer systems, the method comprising: selecting one of the computer systems as having control of the input and providing to each computer system a control identifier indicating that the selected computer system is in control; when a computer system wishes to take control, sending a request for control along with the identification of the requesting computer system to all computer systems; when the computer system that is currently in control receives the request for control, sending a grant of control along with the identification of the requesting computer system and the control identifier to all computer systems; when a computer system that is not currently in control receives the request for control, discarding the request; and when a computer system receives the grant of control, recording that the identification of the requesting computer system and the control identifier.
Claim 12
Dependent Claim 103 words
The method of claim 8 including: when a computer system detects that the computer system currently in control becomes inactive, incrementing the control identifier by the identifier of the computer system; and sending a grant of control along with the identification of the computer system and the control identifier to all computer systems; and when a computer system receives a grant of control, when the control identifier in the grant of control is higher than its current control identifier, saving the identification of the computer system and the higher control identifier so that it is aware of which computer system is in control.
Claim 13
Dependent Claim 37 words
The method of claim 8 including when a computer system becomes active, the computer system currently in control sends to the computer system that is becoming active a grant of control identifying itself as being in control.
Claim 14
Independent Claim 140 words
A method for coordinating the exchange of data of a plurality of computer systems that are sharing a computer program, the method comprising: when a computer system is to become active, generating a local share identifier based on a previous share identifier; sending the local share identifier to the other computer systems; receiving a share identifier from another computer system; and setting the local share identifier to the greater of the generated local share identifier and the received share identifier; receiving data from another computer system, the data including a share identifier; and when the local share identifier does not match a share identifier received with the data, disregarding the received data so that a unique share identifier is generated for unique sets of active computer systems and so that when multiple computer systems become active, synchronization problems are avoided.
Claim 15
Independent Claim 140 words
A method for coordinating the exchange of data of a plurality of computer systems that are sharing a computer program, the method comprising: when a computer system is to become active, generating a local share identifier based on a previous share identifier; sending the local share identifier to the other computer systems; receiving a share identifier from another computer system; and setting the local share identifier to the greater of the generated local share identifier and the received share identifier; receiving data from another computer system, the data including a share identifier; and when the local share identifier does not match a share identifier received with the data, disregarding the received data so that a unique share identifier is generated for unique sets of active computer systems and so that when multiple computer systems become active, synchronization problems are avoided.
Claim 16
Dependent Claim 28 words
The method of claim 11 wherein a share identifier includes a counter and the generating of the local share identifier increments the counter of the previous share identifier.
Claim 17
Dependent Claim 24 words
The method of claim 11 wherein a share identifier includes a counter and an identifier of the computer system that generated the share identifier.
Claim 18
Dependent Claim 29 words
The method of claim 13 wherein when the counters of the share identifiers are equal selecting the share identifier with the identifier of the computer system that is greater.
Claim 19
Dependent Claim 41 words
The method of claim 11 wherein when the computer system receives a share identifier from another computer system that is to become active, setting the local share identifier to the greater of the local share identifier and the received share identifier.
Claim 20
Dependent Claim 33 words
The method of claim 11 wherein when the computer system receives a share identifier from another computer system that is to become active, setting the local share identifier to the received share identifier.
Claim 21
Dependent Claim 17 words
The method of claim 11 wherein the plurality of computer systems includes at least three computer systems.
Claim 22
Dependent Claim 109 words
A computer-readable medium for coordinating the exchange of data of a plurality of computer systems that are sharing a computer program, by: for each computer system, when the computer system is to become active, generating a local share identifier; sending the local share identifier to the other computer systems; receiving a share identifier from another computer system; and setting the local share identifier to the greater of the generated local share identifier and the received share identifier; receiving data from another computer system, the data including a share identifier; and when the local share identifier does not match a share identifier received with the data, disregarding the received data.
Claim 23
Dependent Claim 109 words
A computer-readable medium for coordinating the exchange of data of a plurality of computer systems that are sharing a computer program, by: for each computer system, when the computer system is to become active, generating a local share identifier; sending the local share identifier to the other computer systems; receiving a share identifier from another computer system; and setting the local share identifier to the greater of the generated local share identifier and the received share identifier; receiving data from another computer system, the data including a share identifier; and when the local share identifier does not match a share identifier received with the data, disregarding the received data.
Claim 24
Dependent Claim 29 words
The computer-readable medium of claim 18 wherein a share identifier includes a counter and the generating of the local share identifier increments the counter of the previous share identifier.
Claim 25
Dependent Claim 25 words
The computer-readable medium of claim 18 wherein a share identifier includes a counter and an identifier of the computer system that generated the share identifier.
Claim 26
Dependent Claim 30 words
The computer-readable medium of claim 20 wherein when the counters of the share identifiers are equal selecting the share identifier with the identifier of the computer system that is greater.
Claim 27
Dependent Claim 42 words
The computer-readable medium of claim 18 wherein when the computer system receives a share identifier from another computer system that is to become active, setting the local share identifier to the greater of the local share identifier and the received share identifier.
Claim 28
Dependent Claim 34 words
The computer-readable medium of claim 18 wherein when the computer system receives a share identifier from another computer system that is to become active, setting the local share identifier to the received share identifier.

References Cited (Backward Citations)

US4882687A Cited
US5255361A Cited
US5557798A Cited
US5206934A Cited
US5210825A Cited
US5408600A Cited
US5673394A Cited
US5644715A Cited
US5548727A Cited
US5565886A Cited
US5621894A Cited
US5583993A Cited
US5680549A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2002-09-06 2003-03-08 2003-09-07 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2006-09-06 2007-03-08 2007-09-07 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2010-09-06 2011-03-08 2011-09-07 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag