Legal claims defining the scope of protection, as filed with the USPTO.
1. A method of load balancing communications among a plurality of connection servers networked in a publicly addressable distributed control infrastructure which multiple computers within multiple private networks may access for establishing communications over a public network, said method comprising: determining a user type of each computer to be connected by communications through said publicly addressable distributed control infrastructure in a particular session; determining a session type of the particular session to be established; comparing user type and session type determinations with server type information stored in at least one database connected to said distributed control infrastructure; selecting a connection server characterized by server type information that indicates the connection server is capable of handling the determined user types and session type; determining if the selected server is active; determining whether or not the selected server, if active, has adequate Power to handle the connections that will be required to establish the communications for the session; and if the selected server is active and has adequate Power, determining whether the selected server has the best available Power level for carrying out the session, based upon a calculated average Power expected for the session and Utilization Ratios of each capable, active connection server which has adequate Power.
2. The method of claim 1 , further comprising assigning the selected server determined to active and to have the best available Power level to establish connections between the computers to be included in the session.
3. A method of persistent, secure transfer of data between at least two computers over a public network, wherein the computers have separate privately addressed, firewall protected locations, said method comprising: accessing a connection server operably connected to the public network by addressing a request from a first computer to a public address of the connection server; establishing a secure connection between the first computer and the connection server, the connection server establishing a secure connection between the connection server and at least a second computer according to instructions received from the first computer, the first computer including a first data control process, the at least a second computer including a second data control process and the connection server including a third data control process; setting a polling frequency corresponding to a polling time period; setting a maximum waiting time period between communications with the connection server, the maximum waiting time period longer than the polling time period; during the maximum waiting time period, polling a first sending buffer in the first computer at the polling frequency to determine whether any data to be communicated is contained in the first sending buffer; if data is found during the polling, sending the data from the first sending buffer in the first computer to the connection server; and if no data is found during the polling, sending a communication from the first computer to the connection server without data from the first sending buffer upon expiration of the maximum waiting time period; wherein secure, full-duplex, persistent communications are established through the connection server without the computers providing a private address of the computers between which the communications take place.
4. The method of claim 3 , wherein the first data control process sends a request to the connection server along with the data or along with the communication without data.
5. The method of claim 4 , wherein the third data control process adaptively polls the first computer to determine whether the request has been sent; and upon receiving the request, the third data process reads the request and buffers any data that is included with the request, in a connection server sending buffer associated with the third data control process; the third data control process additionally adaptively polls the connection server sending buffer to determine whether any data to be sent to the first computer is contained in the connection server sending buffer; and when data to be sent to the first computer is present, the third data control process sends the data along with a response to the request.
6. The method of claim 5 , wherein the first data control process reads the response, buffers any data that is contained with the response, and notifies the first computer that data has been received.
7. The method of claim 6 , wherein the process steps are iteratively repeated to maintain persistent communications.
8. The method of claim 5 , wherein the third data control process adaptively polls the connection server sending buffer to determine whether any data to be sent to the at least a second computer is contained in the connection server sending buffer; and when data to be sent to the at least a second computer is present, the third data control process sends the data along with a response to the at least a second computer.
9. The method of claim 5 , wherein the third data control process adaptively polls the at least a second computer to determine whether a request has been sent; and upon receiving the request from the at least a second computer, the third data process reads the request and buffers any data that is included with the request, in the connection server sending buffer; the third data control process additionally adaptively polls the connection server sending buffer to determine whether any data to be sent to the at least a second computer is contained in the connection server sending buffer; and when data to be sent to the at least a second computer is present, the third data control process sends the data along with a response to the request.
10. The method of claim 9 , wherein the second data control process reads the response, buffers any data that is contained with the response, and notifies the at least a second computer that data has been received.
11. The method of claim 9 , wherein the process steps are iteratively repeated to maintain persistent communications.
12. A method of persistent, secure transfer of data between at least two computers over a public network, wherein the computers have separate privately addressed, firewall protected locations, said method comprising: accessing a connection server operably connected to the public network by addressing a request from a first computer to a public address of the connection server; and establishing a secure connection between the first computer and the connection server, the connection server establishing a secure connection between the connection server and at least a second computer according to instructions received from the first computer, the first computer including a first data control process, the at least a second computer including a second data control process and the connection server including a third data control process; wherein secure, full-duplex, persistent communications are established through the connection server without the computers providing a private address of the computers between which the communications take place, and the first data control process adaptively polls a first sending buffer to determine whether any data to be communicated is contained in the first sending buffer; wherein the first data control process sends the data, and a request to the connection server when the data is contained in the first sending buffer; and wherein the third data control process adaptively polls the first computer to determine whether a request has been sent; upon receiving the request, the third data process reads the request and buffers any data that is included with the request, in a connection server sending buffer associated with the third data control process; the third data control process additionally adaptively polls the connection server sending buffer to determine whether any data to be sent to the first computer is contained in the connection server sending buffer; and when data to be sent to the first computer is present, the third data control process sends the data along with a response to the request.
13. The method of claim 12 , wherein the first data control process reads the response, buffers any data that is contained with the response, and notifies the first computer that data has been received.
14. The method of claim 13 , wherein the process steps are iteratively repeated to maintain persistent communications.
15. The method of claim 12 , wherein the third data control process adaptively polls the connection server sending buffer to determine whether any data to be sent to the at least a second computer is contained in the connection server sending buffer; and when data to be sent to the at least a second computer is present, the third data control process sends the data along with a response to the at least a second computer.
16. The method of claim 12 , wherein the third data control process adaptively polls the at least a second computer to determine whether a request has been sent; and upon receiving the request from the at least a second computer, the third data process reads the request and buffers any data that is included with the request, in the connection server sending buffer; the third data control process additionally adaptively polls the connection server sending buffer to determine whether any data to be sent to the at least a second computer is contained in the connection server sending buffer; and when data to be sent to the at least a second computer is present, the third data control process sends the data along with a response to the request.
17. The method of claim 16 , wherein the second data control process reads the response, buffers any data that is contained with the response, and notifies the at least a second computer that data has been received.
18. The method of claim 16 , wherein the process steps are iteratively repeated to maintain persistent communications.
Unknown
October 6, 2009
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.