Access and control system for network-enabled devices
First Claim
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 saidpublicly 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.
14 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods for remote access of network-enabled devices that provide seamless, firewall-compliant connectivity between multiple users and multiple devices, that allow collaborative operations by multiple users of remote devices, that allow point to multipoint control of multiple devices and which allow rapid, secure transmission of data between remote users and devices. In general terms, the system includes at least one connection server, and at least two computers operatively coupled to the connection server via a public or global network. In an example where at least one client computer is operatively connected to at least one network-enabled device through a connection sever via the public or global network, the connection server is configured to route control instructions from the client to the network-enabled device, and route data from the network-enabled device to the client.
-
Citations
18 Claims
-
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. - View Dependent Claims (2)
-
-
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. - View Dependent Claims (4, 5, 6, 7, 8, 9, 10, 11)
-
-
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. - View Dependent Claims (13, 14, 15, 16, 17, 18)
-
Specification