Abstract: A method is operated at a coordinating entity to organize a set of hosts into a “synchronization” network. The coordinating entity maintains information that a particular host is online and available to be organized into the network. The coordinating entity assigns an identifier to each host that is online, and that identifier is unique within the particular network. The coordinating entity orders the node identifiers for the set of hosts. In one embodiment, the ordering organizes the synchronization network in a circle. Based on the ordering, the coordinating entity provides each host that is online with a list of K online hosts to enable each host to establish and maintain connections with K of its neighbor hosts. K is a value that is the same for all hosts within the synchronization network. For larger networks, crossover connections may be implemented to improve performance.
Abstract: A method and apparatus for facilitating communication between client computers is provided. The method provides for the use of ping probing by a server to determine the types of NAT devices and/or firewalls protecting the client computers. Once these are determined, the server can predict the response to communications from the client computers and instruct the client computers to contact each other. Once a session or tunnel is established it can be maintained through the use of a flag, even if contact with the server is lost.
Abstract: A file transfer application maintains a secure connection over the Internet with a file transfer gateway. A user selects a file and the file transfer application requests a unique ticket from the gateway. The ticket is stored in both the gateway and the file transfer application. Next, the ticket is then encoded in a URL that can be sent to potential recipients of the file via conventional methods. Upon entering the URL into a web browser, the recipient will navigate to the file transfer gateway. The gateway decodes the URL to recover the ticket and looks up the ticket in the database to determine the associated application instance and file description. The gateway will then request the application instance to start encrypting and streaming the contents of the file identified by the ticket to the gateway, which then retransmits the encrypted stream to the recipient's web browser.
Abstract: A network-accessible service enables participating end users to collaborate with one another over a network. End users have computing devices (e.g., computers, mobile phone, tablet devices, or the like) that include hardware and software to enable the device to access a network, such as the public Internet, a Wi-Fi network connected to the Internet, a 3G or higher wireless network connected to the Internet, a private network, or the like. The network-accessible service provides a publicly-available site (such as a Web site) or a local software application from which a first participating end user initiates a “meeting,” e.g., by selecting a “share” button. In response, the site or software application provides an HTTP link that includes a “meeting” code, which may be a one-time unique code. The first participating end user then shares the link with whomever he or she desires to collaborate. Upon receiving the link (e.g.
Abstract: A remote access session is established between client and host computers with the assistance of a gateway. The gateway requests the host computer to send a plurality of data packets to different external addresses and monitors the network ports used for these outgoing packets. The gateway then uses the network port information to predict which port the host will use to transmit future outgoing data packets. A similar process is performed on the client computer. The gateway then directs the client computer to send further data packets to the network address and the predicted port of the host computer. Similarly, the host computer is directed to send further data packets to the network address and predicted port of the client computer. The computers are then directly connected together so that further data communications bypass the gateway.
Abstract: A remote access session is established between client and host computers with the assistance of a gateway. The gateway requests the host computer to send a plurality of data packets to different external addresses and monitors the network ports used for these outgoing packets. The gateway then uses the network port information to predict which port the host will use to transmit future outgoing data packets. A similar process is performed on the client computer. The gateway then directs the client computer to send further data packets to the network address and the predicted port of the host computer. Similarly, the host computer is directed to send further data packets to the network address and predicted port of the client computer. The computers are then directly connected together so that further data communications bypass the gateway.
Abstract: A file transfer application maintains a secure connection over the Internet with a file transfer gateway. A user selects a file and the file transfer application requests a unique ticket from the gateway. The ticket is stored in both the gateway and the file transfer application. Next, the ticket is then encoded in a URL that can be sent to potential recipients of the file via conventional methods. Upon entering the URL into a web browser, the recipient will navigate to the file transfer gateway. The gateway decodes the URL to recover the ticket and looks up the ticket in the database to determine the associated application instance and file description. The gateway will then request the application instance to start encrypting and streaming the contents of the file identified by the ticket to the gateway, which then retransmits the encrypted stream to the recipient's web browser.
Abstract: A remote access session is established between client and host computers with the assistance of a gateway. The gateway requests the host computer to send a plurality of data packets to different external addresses and monitors the network ports used for these outgoing packets. The gateway then uses the network port information to predict which port the host will use to transmit future outgoing data packets. A similar process is performed on the client computer. The gateway then directs the client computer to send further data packets to the network address and the predicted port of the host computer. Similarly, the host computer is directed to send further data packets to the network address and predicted port of the client computer. The computers are then directly connected together so that further data communications bypass the gateway.