IP Library Granted Patent US 7,046,134
Granted Patent B2
US 7,046,134 · App. 10/609,009 · Granted May 16, 2006

Screen sharing

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,046,134
App. No.
10/609,009
Granted
May 16, 2006
Kind
B2
Abstract

A screen sharing system includes receiving an indication of a screen sharing condition from a remote device, receiving data from a viewing device, and hosting a screen sharing session between the remote device and the viewing device. Hosting may include making a session key available to the remote device and to the viewing device, the session key providing access to the screen sharing session, receiving session keys from both the remote device and the viewing device, and establishing the screen sharing session in response to receiving the session keys.

Claims (160)

1. A method comprising:

receiving an indication of a screen sharing condition from a remote device;

receiving data from a viewing device; and

hosting a screen sharing session between the remote device and the viewing device, wherein capabilities associated with the screen sharing session are based on the screen sharing condition;

wherein hosting the screen sharing session comprises:

making a session key available to the remote device and to the viewing device,

the session key providing access to the screen sharing session;

receiving session keys from both the remote device and the viewing device; and

establishing the screen sharing session in response to receiving the session keys.

2. The method of claim 1 , wherein the indication comprises an indication of an alarm condition in the remote device.

3. The method of claim 2 , wherein the alarm condition comprises a problem with the remote device.

4. The method of claim 1 , wherein the indication comprises timing data.

5. The method of claim 1 , wherein the indication is received as a series of pings output by the remote device.

6. The method of claim 5 , wherein the pings decrease in frequency over time.

7. The method of claim 1 , wherein the data received from the viewing device identifies the viewing device and the remote device.

8. The method of claim 1 , wherein hosting comprises determining an extent to which the viewing device is permitted to share a screen of the remote device based on one or more predetermined rules.

9. The method of claim 1 , wherein:

the indication of a screen sharing condition comprises a state of the remote device; and

hosting comprises determining an extent to which the viewing device is permitted to share a screen of the remote device based on the state of the remote device.

10. The method of claim 1 , wherein hosting comprises transmitting information associated with the screen sharing session between the remote device and the viewing device.

11. The method of claim 1 , wherein hosting comprises transferring a file between the remote device and the viewing device.

12. The method of claim 10 , wherein information associated with the screen sharing session is transmitted using HTTP.

13. The method of claim 12 , wherein the information is encrypted.

14. The method of claim 1 , wherein hosting comprises transmitting graphics changes between the remote device and the viewing device, the graphics changes comprising only portions of graphics on the remote device that are changed.

15. The method of claim 1 , wherein hosting comprises storing, in an audit log, information relating to the screen sharing session.

16. The method of claim 1 , wherein the session keys are made available by providing the session keys directly to the remote device and to the viewing device.

17. The method of claim 1 , wherein the session keys are made available by posting the session keys on a Web page.

18. The method of claim 1 , wherein hosting comprises changing capabilities associated with the screen sharing session dynamically in response to a change in the screen sharing condition.

19. The method of claim 18 , wherein changing comprises terminating the screen sharing session or reducing an amount of control over the remove device provided via the screen sharing session.

20. The method of claim 1 , further comprising generating a report relating to the screen sharing session.

21. The method of claim 1 , wherein hosting comprises directing communications transmitted during the screen sharing session to one of multiple hosts.

22. A method comprising:

outputting an indication to a host device that a screen sharing condition has occurred; and

establishing a screen sharing session via the host device, the screen sharing session comprising:

receiving user inputs via the host device; and

providing graphics changes to the host device;

wherein the screen sharing session is established by:

obtaining a session key made available by the host device; and

providing the session key to the host device.

23. The method of claim 22 , wherein the indication comprises an alarm condition indicative of a problem.

24. The method of claim 22 , wherein the indication comprises time data.

25. The method of claim 22 , wherein information relating to the screen sharing session is transmitted via the host device using HTTP.

26. The method of claim 22 , wherein the user inputs comprise mouse data and keyboard data and the graphics changes comprise updates that occurred since transmitting a previous graphics change.

27. A method comprising:

receiving an indication from a remote device that a screen sharing condition has occurred; and

establishing a screen sharing session with the remote device via a host device;

wherein all communications with the remote device associated with the screen sharing session are via the host device; and

wherein the screen sharing session is established by:

obtaining a session key made available by the host device; and

providing the session key to the host device.

28. The method of claim 27 , wherein the indication comprises an alarm condition indicative of a problem.

29. The method of claim 27 , wherein the indication comprises time data.

30. A machine-readable medium that stores executable instructions that cause a machine to:

receive an indication of a screen sharing condition from a remote device;

receive data from a viewing device; and

host a screen sharing session between the remote device and the viewing device, wherein capabilities associated with the screen sharing session are based on the screen sharing condition;

wherein hosting the screen sharing session comprises:

making a session key available to the remote device and to the viewing device, the session key providing access to the screen sharing session;

receiving session keys from both the remote device and the viewing device; and

establishing the screen sharing session in response to receiving the session keys.

31. The machine-readable medium of claim 30 , wherein the indication comprises an indication of an alarm condition in the remote device.

32. The machine-readable medium of claim 31 , wherein the alarm condition comprises a problem with the remote device.

33. The machine-readable medium of claim 30 , wherein the indication comprises timing data.

34. The machine-readable medium of claim 30 , wherein the indication is received as a series of pings output by the remote device.

35. The machine-readable medium of claim 34 , wherein the pings decrease in frequency over time.

36. The machine-readable medium of claim 30 , wherein the data received from the viewing device identifies the viewing device and the remote device.

37. The machine-readable medium of claim 30 , wherein hosting comprises determining an extent to which the viewing device is permitted to share a screen of the remote device based on one or more predetermined rules.

38. The machine-readable medium of claim 30 , wherein:

the indication of a screen sharing condition comprises a state of the remote device; and

hosting comprises determining an extent to which the viewing device is permitted to share a screen of the remote device based on the state of the remote device.

39. The machine-readable medium of claim 30 , wherein hosting comprises transmitting information associated with the screen sharing session between the remote device and the viewing device.

40. The machine-readable medium of claim 30 , wherein hosting comprises transferring a file between the remote device and the viewing device.

41. The machine-readable medium of claim 30 , wherein information associated with the screen sharing session is transmitted using HTTP.

42. The machine-readable medium of claim 41 , wherein the information is encrypted.

43. The machine-readable medium of claim 30 , wherein hosting comprises transmitting graphics changes between the remote device and the viewing device, the graphics changes comprising only portions of graphics on the remote device that are changed.

44. The machine-readable medium of claim 30 , wherein hosting comprises storing, in an audit log, information relating to the screen sharing session.

45. The machine-readable medium of claim 30 , wherein the session keys are made available by providing the session keys directly to the remote device and to the viewing device.

46. The machine-readable medium of claim 30 , wherein the session keys are made available by posting the session keys on a Web page.

47. The machine-readable medium of claim 30 , wherein hosting comprises directing communications transmitted during the screen sharing session to one of multiple hosts.

48. The machine-readable medium of claim 30 , wherein hosting comprises changing capabilities associated with the screen sharing session dynamically in response to a change in the screen sharing condition.

49. The machine-readable medium of claim 48 , wherein changing comprises terminating the screen sharing session or reducing an amount of control over the remove device provided via the screen sharing session.

50. The machine-readable medium of claim 30 , further comprising executable instructions to generate a report relating to the screen sharing session.

51. A machine-readable medium that stores executable instructions that cause a machine to:

output an indication to a host device that a screen sharing condition has occurred; and

establish a screen sharing session via the host device, the screen sharing session comprising:

receiving user inputs via the host device; and

providing graphics changes to the host device;

wherein the screen sharing session is established by:

obtaining a session key made available by the host device; and

providing the session key to the host device.

52. The machine-readable medium of claim 51 , wherein the indication comprises an alarm condition indicative of a problem.

53. The machine-readable medium of claim 51 , wherein the indication comprises time data.

54. The machine-readable medium of claim 51 , wherein information relating to the screen sharing session is transmitted via the host device using HTTP.

55. The machine-readable medium of claim 51 , wherein the user inputs comprise mouse data and keyboard data and the graphics changes comprise updates that occurred since transmitting a previous graphics change.

56. A machine-readable medium that stores executable instructions that cause a machine to:

receive an indication from a remote device that a screen sharing condition has occurred; and

establish a screen sharing session with the remote device via the host device;

wherein all communications with the remote device associated with the screen sharing session are via the host device; and

wherein the screen sharing session is established by:

obtaining a session key made available by the host device; and

providing the session key to the host device.

57. The machine-readable medium of claim 56 , wherein the indication comprises an alarm condition indicative of a problem.

58. The machine-readable medium of claim 56 , wherein the indication comprises time data.

59. An apparatus comprising circuitry to:

receive an indication of a screen sharing condition from a remote device;

receive data from a viewing device; and

host a screen sharing session between the remote device and the viewing device, wherein capabilities associated with the screen sharing session are based on the screen sharing condition;

wherein hosting the screen sharing session comprises:

making a session key available to the remote device and to the viewing device, the session key providing access to the screen sharing session;

receiving session keys from both the remote device and the viewing device; and

establishing the screen sharing session in response to receiving the session keys.

60. The apparatus of claim 59 , wherein the indication comprises an indication of an alarm condition in the remote device.

61. The apparatus of claim 60 , wherein the alarm condition comprises a problem with the remote device.

62. The apparatus of claim 59 , wherein the indication comprises timing data.

63. The apparatus of claim 59 , wherein the indication is received as a series of pings output by the remote device.

64. The apparatus of claim 63 , wherein the pings decrease in frequency over time.

65. The apparatus of claim 59 , wherein the data received from the viewing device identifies the viewing device and the remote device.

66. The apparatus of claim 59 , wherein hosting comprises determining an extent to which the viewing device is permitted to share a screen of the remote device based on one or more predetermined rules.

67. The apparatus of claim 59 , wherein:

the indication of a screen sharing condition comprises a state of the remote device; and

hosting comprises determining an extent to which the viewing device is permitted to share a screen of the remote device based on the state of the remote device.

68. The apparatus of claim 59 , wherein hosting comprises transmitting information associated with the screen sharing session between the remote device and the viewing device.

69. The apparatus of claim 59 , wherein hosting comprises transferring a file between the remote device and the viewing device.

70. The apparatus of claim 59 , wherein information associated with the screen sharing session is transmitted using HTTP.

71. The apparatus of claim 70 , wherein the information is encrypted.

72. The apparatus of claim 59 , wherein hosting comprises transmitting graphics changes between the remote device and the viewing device, the graphics changes comprising only portions of graphics on the remote device that are changed.

73. The apparatus of claim 59 , wherein hosting comprises storing, in an audit log, information relating to the screen sharing session.

74. The apparatus of claim 59 , wherein the session keys are made available by providing the session keys directly to the remote device and to the viewing device.

75. The apparatus of claim 59 , wherein the session keys are made available by posting the session keys on a Web page.

76. The apparatus of claim 59 , wherein hosting comprises directing communications transmitted during the screen sharing session to one of multiple hosts.

77. The apparatus of claim 59 , wherein hosting comprises changing capabilities associated with the screen sharing session dynamically in response to a change in the screen sharing condition.

78. The apparatus of claim 77 , wherein changing comprises terminating the screen sharing session or reducing an amount of control over the remove device provided via the screen sharing session.

79. The apparatus of claim 59 , wherein the circuitry generates a report relating to the screen sharing session.

80. The apparatus of claim 59 , wherein the circuitry comprises at least one of programmable logic, a processor, a memory, and logic gates.

81. An apparatus comprising circuitry to:

output an indication to a host device that a screen sharing condition has occurred; and

establish a screen sharing session via the host device, the screen sharing session comprising:

receiving user inputs via the host device; and

providing graphics changes to the host device;

wherein the screen sharing session is established by:

obtaining a session key made available by the host device; and

providing the session key to the host device.

82. The apparatus of claim 81 , wherein the indication comprises an alarm condition indicative of a problem.

83. The apparatus of claim 81 , wherein the indication comprises time data.

84. The apparatus of claim 81 , wherein information relating to the screen sharing session is transmitted via the host device using HTTP.

85. The apparatus of claim 81 , wherein the user inputs comprise mouse data and keyboard data and the graphics changes comprise updates that occurred since transmitting a previous graphics change.

86. The apparatus of claim 81 , wherein the circuitry comprises at least one of programmable logic, a processor, a memory, and logic gates.

87. The apparatus of claim 81 , wherein the circuitry comprises at least one of programmable logic, a processor, a memory, and logic gates.

88. A method, performed by a remote device, of controlling a screen sharing session with a viewing device, the method comprising:

receiving information from the viewing device; and

determining if the viewing device is permitted to enter into a screen sharing session with the remote device;

wherein, if the viewing device is permitted to enter into a screen sharing session with the remote device, the method further comprises controlling the screen sharing session between the remote device and the viewing device based on a state of the remote device.

89. A machine-readable medium that stores executable instructions to control a screen sharing session between a remote device a viewing device, the instructions causing the remote device to:

receive information from the viewing device;

determine if the viewing device is permitted to enter into a screen sharing session with the remote device; and

control the screen sharing session between the remote device and the viewing device based on a state of the remote device if the viewing device is permitted to enter into a screen sharing session with the remote device.

90. An apparatus to control a screen sharing session with a viewing device, the apparatus comprising circuitry to:

receive information from the viewing device;

determine if the viewing device is permitted to enter into a screen sharing session with the apparatus; and

control the screen sharing session between the apparatus and the viewing device based on a state of the apparatus if the viewing device is permitted to enter into a screen sharing session with the apparatus.

Assignments (13)
SECURITY INTEREST Recorded Sep 13, 2018
From: PTC INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 047480/0888 →
SECURITY INTEREST Recorded Nov 4, 2015
From: PTC INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 037046/0930 →
MERGER Recorded Sep 2, 2015
From: AXEDA CORPORATION
To: PTC INC.
Reel/Frame 036480/0407 →
RELEASE OF SECURITY INTEREST Recorded Aug 25, 2014
From: COMERICA BANK
To: AXEDA CORPORATION
Reel/Frame 033608/0704 →
SECURITY AGREEMENT Recorded Jul 24, 2012
From: AXEDA CORPORATION
To: COMERICA BANK
Reel/Frame 028629/0538 →
RELEASE OF SECURITY INTEREST Recorded Jul 17, 2012
From: MMV CAPITAL PARTNERS INC.
To: AXEDA CORPORATION
Reel/Frame 028563/0446 →
RELEASE OF SECURITY INTEREST Recorded Jul 16, 2012
From: SILICON VALLEY BANK
To: AXEDA CORPORATION
Reel/Frame 028558/0744 →
SECURITY AGREEMENT Recorded Oct 24, 2006
From: AXEDA CORPORATION
To: SILICON VALLEY BANK
Reel/Frame 018420/0790 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2005
From: AXEDA SYSTEMS OPERATING COMPANY, INC.
To: AXEDA CORPORATION
Reel/Frame 016875/0827 →
RELEASE OF SECURITY INTEREST IN TRADEMARKS AND PATENTS Recorded Dec 8, 2005
From: LAURUS MATER FUND, LTD.
To: AXEDA SYSTEMS OPERATING COMPANY, INC.; AXEDA IP, INC.; AXEDA SYSTEMS INC.
Reel/Frame 016871/0043 →
SECURITY AGREEMENT Recorded Sep 19, 2005
From: AXEDA SYSTEMS OPERATING COMPANY, INC.
To: LAURUS MASTER FUND, LTD.
Reel/Frame 016551/0813 →
GRANT OF SECURITY INTEREST IN PATENTS AND TRADEMARKS Recorded Jul 19, 2005
From: AXEDA SYSTEMS, INC.; AXEDA SYSTEMS OPERATING COMPANY, INC.; AXEDA IP, INC.
To: JMI EQUITY FUND V, L.P.; JMI EQUITY FUND V (AI), L.P.
Reel/Frame 016274/0846 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 26, 2003
From: HANSEN, JAMES R.
To: AXEDA SYSTEMS OPERATING COMPANY, INC.
Reel/Frame 014745/0617 →