IP Library Granted Patent US 8,209,430
Granted Patent B2
US 8,209,430 · App. 12/484,124 · Granted Jun 26, 2012

Apparatus and method for remote communication and bandwidth adjustments

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 8,209,430
App. No.
12/484,124
Granted
Jun 26, 2012
Kind
B2
Abstract

A communication apparatus for remote communication may include a local communication proxy module configured to receive streams from a local communication application module. The streams may be in a form utilizing a first transmission protocol and destined to a remote destination. The local communication proxy module may be configured to facilitate sending, utilizing a second transmission protocol, the streams in real-time over a network to a remote communication proxy module. The local communication proxy module may be also configured to adjust an amount of bandwidth used by the streams. A machine-readable medium and a method are also disclosed.

Claims (83)

1. A communication apparatus for remote communication, comprising:

one or more first computers including a local communication proxy module configured to receive streams from a local communication application module, on a determination that a connection has been established between the local communication proxy module and a remote destination, the streams in a form utilizing a first transmission protocol and destined to the remote destination, the local communication proxy module configured, on the determination, to facilitate sending the streams in real-time over a network to the remote destination utilizing a second transmission protocol, wherein the second transmission protocol is different from the first transmission protocol, the local communication proxy module configured, in connection with facilitating sending the streams to the remote destination, to adjust an amount of bandwidth used by the streams.

2. A non-transitory machine-readable storage medium encoded with instructions for remote communication, the instructions comprising code for:

receiving streams from a local communication application module, on a determination that a connection has been established between a local communication proxy module and a remote destination, the streams in a form utilizing a first transmission protocol and destined to the remote destination;

facilitating, on the determination, sending the streams in real-time over a network to the remote destination utilizing a second transmission protocol, the second transmission protocol being different from the first transmission protocol; and

adjusting, in connection with facilitating sending the streams, an amount of bandwidth used by the streams.

3. The non-transitory machine-readable storage medium of claim 2 , wherein the adjusting comprises:

determining a window size for the streams to be sent to a remote communication proxy module located at the remote destination; and

adjusting the window size based on one or more network conditions.

4. The non-transitory machine-readable storage medium of claim 2 , wherein the adjusting comprises:

dynamically determining a window size for the streams to be sent to a remote communication proxy module located at the remote destination; and

dynamically adjusting the window size based on one or more real-time network conditions that are variable.

5. The non-transitory machine-readable storage medium of claim 2 , wherein the adjusting comprises:

adjusting a window size for the streams based on a round-trip time (RTT) and a bandwidth of a connection between the local communication proxy module and a remote communication proxy module located at the remote destination.

6. The non-transitory machine-readable storage medium of claim 2 , wherein the instructions comprise code for:

controlling congestion in a connection between the local communication proxy module and a remote communication proxy module located at the remote destination, based on recovery of lost data and based on lost data retransmitted.

7. The non-transitory machine-readable storage medium of claim 2 , wherein the adjusting comprises:

adjusting a window size for the streams based on the number or rate of lost data retransmitted by the local communication proxy module, based on the number or rate of lost data recovered by a remote communication proxy module located at the remote destination, and based on data successfully transmitted and acknowledged.

8. The non-transitory machine-readable storage medium of claim 2 , wherein the instructions comprise code for:

determining periodically a round-trip time (RTT) based on a signal sent to a remote communication proxy module located at the remote destination and a signal received from the remote communication proxy module.

9. The non-transitory machine-readable storage medium of claim 2 , wherein the instructions comprise code for:

determining periodically a bandwidth of a connection between the local communication proxy module and a remote communication proxy module located at the remote destination.

10. The non-transitory machine-readable medium of claim 2 , wherein the adjusting comprises:

limiting an amount of bandwidth used to send and receive streams between the local communication proxy module and a remote communication proxy module located at the remote destination, based on one or more of the following: latency, data loss, and as processing capabilities of a machine on which the local communication proxy module is located.

11. The non-transitory machine-readable storage medium of claim 2 , wherein the instructions comprise code for: setting constraints on the amount of bandwidth used by the streams.

12. The non-transitory machine-readable storage medium of claim 2 , wherein the instructions comprise code for: receiving the streams from the local communication application module based on a determination as to whether to accelerate the streams.

13. The non-transitory machine-readable storage medium of claim 2 , wherein the adjusting comprises cycling between two modes, wherein a first one of the two modes comprises adjusting bandwidth usage, and a second one of the two modes comprises maintaining bandwidth usage.

14. A method for remote communication, comprising:

receiving streams from a local communication application module located on one or more first computers, on a determination that a connection has been established between a local communication proxy module and one or more second computers, the streams in a form utilizing a first transmission protocol and destined to the one or more second computers;

facilitating, on the determination, sending the streams in real-time over a network to the one or more second computers utilizing a second transmission protocol, the second transmission protocol being different from the first transmission protocol; and

adjusting, in connection with facilitating sending the streams, an amount of bandwidth used by the streams.

15. A communication apparatus for remote communication, comprising:

means for receiving streams from a local communication application module, on a determination that a connection has been established between a local communication proxy module and a remote destination, the streams in a form utilizing a first transmission protocol and destined to the remote destination;

means for facilitating, on the determination, sending the streams in real-time over a network to the remote destination utilizing a second transmission protocol, the second transmission protocol being different from the first transmission protocol; and

means for, in connection with facilitating sending the streams, adjusting an amount of bandwidth used by the streams.

16. The communication apparatus of claim 1 , wherein the local communication proxy module is configured to dynamically determine a window size for the streams to be sent to a remote communication proxy module located at the remote destination, and configured to dynamically adjust the window size based on one or more real-time network conditions that are variable,

wherein the one or more first computers comprise one or more displays and one or more processing systems.

17. The communication apparatus of claim 1 , wherein the local communication proxy module is configured to adjust a window size for the streams based on a round-trip time (RTT) and a bandwidth of a connection between the local communication proxy module and a remote communication proxy module located at the remote destination.

18. The communication apparatus of claim 1 , wherein the local communication proxy module is configured to adjust a window size for the streams based on the number or rate of lost data retransmitted by the local communication proxy module, based on the number or rate of lost data recovered by a remote communication proxy module located at the remote destination, and based on data successfully transmitted and acknowledged.

19. The communication apparatus of claim 1 , wherein the local communication proxy module is configured to limit an amount of bandwidth used to send and receive streams between the local communication proxy module and a remote communication proxy module located at the remote destination, based on one or more of the following: latency, data loss, and processing capabilities of a machine on which the local communication proxy module is located.

20. The communication apparatus of claim 1 , wherein the local communication proxy module is configured to determine periodically a round-trip time (RTT) based on a signal sent to a remote communication proxy module located at the remote destination and a signal received from the remote communication proxy module,

wherein the local communication proxy module is configured to set constraints on the amount of bandwidth used by the streams,

wherein the local communication proxy module is configured to receive the streams from the local communication application module based on a determination as to whether to accelerate the streams.

21. The communication apparatus of claim 1 , wherein the local communication proxy module is configured to adjust the amount of bandwidth by cycling between two modes, wherein in a first one of the two modes, the local communication proxy module is configured to adjust bandwidth usage, and in a second one of the two modes, the local communication proxy module is configured to maintain bandwidth usage.

22. The method of claim 14 , wherein the adjusting comprises:

determining a window size for the streams to be sent to a remote communication proxy module located at the one or more second computers; and

adjusting the window size based on one or more network conditions.

23. The method of claim 14 , wherein the adjusting comprises:

dynamically determining a window size for the streams to be sent to a remote communication proxy module located at the one or more second computers; and

dynamically adjusting the window size based on one or more real-time network conditions that are variable.

24. The method of claim 14 , wherein the adjusting comprises:

adjusting a window size for the streams based on a round-trip time (RTT) and a bandwidth of a connection between the local communication proxy module and a remote communication proxy module located at the one or more second computers.

25. The method of claim 14 , comprising:

controlling congestion in a connection between the local communication proxy module and a remote communication proxy module located at the one or more second computers, based on recovery of lost data and based on lost data retransmitted.

26. The method of claim 14 , wherein the adjusting comprises:

adjusting a window size for the streams based on the number or rate of lost data retransmitted by the local communication proxy module, based on the number or rate of lost data recovered by a remote communication proxy module located at the one or more second computers, and based on data successfully transmitted and acknowledged.

27. The method of claim 14 , comprising:

determining periodically a round-trip time (RTT) based on a signal sent to a remote communication proxy module, located at the one or more second computers, and a signal received from the remote communication proxy module.

28. The method of claim 14 , comprising:

determining periodically a bandwidth of a connection between the local communication proxy module and a remote communication proxy module located at the one or more second computers.

29. The method of claim 14 , wherein the adjusting comprises:

limiting an amount of bandwidth used to send and receive streams between the local communication proxy module and a remote communication proxy module located at the one or more second computers, based on one or more of the following: latency, data loss, and as processing capabilities of a machine on which the local communication proxy module is located.

30. The method of claim 14 , comprising: setting constraints on the amount of bandwidth used by the streams.

31. The method of claim 14 , comprising: receiving the streams from the local communication application module based on a determination as to whether to accelerate the streams.

32. The method of claim 14 , wherein the adjusting comprises cycling between two modes, wherein a first one of the two modes comprises adjusting bandwidth usage, and a second one of the two modes comprises maintaining bandwidth usage.

33. The communication apparatus of claim 15 , wherein the means for adjusting comprises:

means for dynamically determining a window size for the streams to be sent to a remote communication proxy module located at the remote destination; and

means for dynamically adjusting the window size based on one or more real-time network conditions that are variable,

wherein the communication apparatus comprises one or more computers, wherein the one or more computers comprise: means for displaying information and means for processing information,

wherein the means for processing information comprises the means for receiving; the means for facilitating; and the means for adjusting.

34. The communication apparatus of claim 15 , wherein the means for adjusting comprises:

means for adjusting a window size for the streams based on a round-trip time (RTT) and a bandwidth of a connection between the local communication proxy module and a remote communication proxy module located at the remote destination.

35. The communication apparatus of claim 15 , wherein the means for adjusting comprises:

means for adjusting a window size for the streams based on the number or rate of lost data retransmitted by the local communication proxy module, based on the number or rate of lost data recovered by a remote communication proxy module located at the remote destination, and based on data successfully transmitted and acknowledged.

36. The communication apparatus of claim 15 , comprising:

means for determining periodically a bandwidth of a connection between the local communication proxy module and a remote communication proxy module located at the remote destination.

37. The communication apparatus of claim 15 , wherein the means for adjusting comprises:

means for limiting an amount of bandwidth used to send and receive streams between the local communication proxy module and a remote communication proxy module located at the remote destination, based on one or more of the following: latency, data loss, and as processing capabilities of a machine on which the local communication proxy module is located.

38. The communication apparatus of claim 15 , comprising:

means for determining periodically a round-trip time (RTT) based on a signal sent to a remote communication proxy module, located at the remote destination, and a signal received from the remote communication proxy module;

means for setting constraints on the amount of bandwidth used by the streams;

means for receiving the streams from the local communication application module based on a determination as to whether to accelerate the streams.

39. The communication apparatus of claim 15 , wherein the means for adjusting comprises means for cycling between two modes, wherein a first one of the two modes comprises means for adjusting bandwidth usage, and a second one of the two modes comprises means for maintaining bandwidth usage.

Assignments (16)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
MERGER Recorded May 13, 2022
From: WYSE TECHNOLOGY L.L.C.
To: DELL MARKETING CORPORATION
Reel/Frame 060064/0586 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061324/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 3, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL, L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058216/0001 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 14, 2016
From: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040065/0618 →
RELEASE OF SECURITY INTEREST Recorded Sep 14, 2016
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040040/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 13, 2016
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLANT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040065/0216 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Jan 2, 2014
From: APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS FIRST LIEN COLLATERAL AGENT
Reel/Frame 031897/0348 →
PATENT SECURITY AGREEMENT (ABL) Recorded Jan 2, 2014
From: DELL INC.; APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 031898/0001 →
PATENT SECURITY AGREEMENT (TERM LOAN) Recorded Jan 2, 2014
From: DELL INC.; APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 031899/0261 →
CHANGE OF NAME Recorded Nov 15, 2013
From: WYSE TECHNOLOGY INC.
To: WYSE TECHNOLOGY L.L.C.
Reel/Frame 031645/0051 →