Abstract:
Techniques described herein perform network address translator (NAT) traversal using a peer of a peer-to-peer architecture in lieu of a server. A first peer maintains a list of public domain peers that are not hidden behind a NAT or a firewall and have previously been connected with the first peer. The first peer distributes the list to other peers via a gossip-based protocol. When a second peer desires to connect with the first peer, the second peer initiates a connection with the first peer and sends a request to a public domain peer of the list, requesting that the public domain peer instruct the first peer to initiate a connection with the second peer. By leveraging a public domain peer to establish a connection between the first and second peers, these techniques lessen the burden on the server of the architecture. Furthermore, because different peers may make requests to different public domain peers, the techniques allow for better scalability of the architecture.
Abstract:
This document describes a directed graph model using a peer-to-peer overlay structure and a gossip-based protocol to maintain the distributed membership. A protocol suite for peers to join the live streaming session, form the P2P streaming overlay, and exchange video packets with others has also been presented. The different capabilities of the heterogeneous peers are well depicted using an adaptive out-degree mechanism. The performance of the whole system is maintained by a contribution-aware mechanism, which ensures that the peers with large contribution will get more chance to be served than those with small or no contribution.
Abstract:
Data for performing help document animated visualization is obtained by generating operation records from a text-based help document of an application. Each of the operation records may include data for animating an operation action that is performed on a user interface (UI) element of the application. The help document is further enhanced to include controls that load the operation records. The enhanced help documents and the operation records are distributed for use.
Abstract:
This document describes a directed graph model using a peer-to-peer overlay structure and a gossip-based protocol to maintain the distributed membership. A protocol suite for peers to join the live streaming session, form the P2P streaming overlay, and exchange video packets with others has also been presented. The different capabilities of the heterogeneous peers are well depicted using an adaptive out-degree mechanism. The performance of the whole system is maintained by a contribution-aware mechanism, which ensures that the peers with large contribution will get more chance to be served than those with small or no contribution.
Abstract:
An end-to-end lecture broadcast system (LBS) is described. The LBS system typically comprises three modules: a schedule module, a capture module and a transmission module. The schedule module is comprised of a scheduler that is implemented as a software add-on on the lecture host's computing device, a schedule server, and a schedule agent component in the uploading peer to provide for channel based management. The capture module is comprised of a video camera for capturing video content, one or more microphones for capturing audio content, and a VGA signal capture for capturing presentation materials. The transmission module is comprised of an uploading peer and a web server. The uploading peer is responsible for transmitting video/audio content to the Internet/intranet using peer-to-peer (P2P) streaming technology. The web server is responsible for the delivery of captured presentation materials and for ensuring the synchronous play back of video/audio content and presentation materials.
Abstract:
Predicted input data is obtained by initially acquiring a set of operations that are performed on non-editable user interface elements of a user interface prior to a subsequent data input into an editable user interface of the user interface. The set of operations is then classified into a pattern class based on the operations in the set and the subsequent data input that corresponds to the set. Subsequently, a pattern type for the pattern class is generated that describes a relationship between the set of operations and the subsequent data input. Accordingly, when a new set of operations is received, input data is predicted for the new set by applying the pattern type to the new set.
Abstract:
This document describes a directed graph model using a peer-to-peer overlay structure and a gossip-based protocol to maintain the distributed membership. A protocol suite for peers to join the live streaming session, form the P2P streaming overlay, and exchange video packets with others has also been presented. The different capabilities of the heterogeneous peers are well depicted using an adaptive out-degree mechanism. The performance of the whole system is maintained by a contribution-aware mechanism, which ensures that the peers with large contribution will get more chance to be served than those with small or no contribution.
Abstract:
Techniques described herein enable peers to determine each peer's NAT type much more efficiently and quickly than when compared with existing techniques. To do so, a peer simultaneously sends multiple test messages to a server. The peer then waits to either receive a response for each of the multiple test messages or may store an indication that no response has been received after a predetermined timeout period. The peer then analyzes the received responses and/or the stored timeout indications to determine the peer's NAT type or to determine that the peer is operating free from concealment by a NAT/firewall device. By simultaneously sending the multiple test messages, the peer may determine the NAT type within a maximum time defined by the predetermined timeout period or a roundtrip time period that is required for communication between the peer and the server. As such, the tools allow for efficient NAT-type detection.
Abstract:
Data for performing help document animated visualization is obtained by generating operation records from a text-based help document of an application. Each of the operation records may include data for animating an operation action that is performed on a user interface (UI) element of the application. The help document is further enhanced to include controls that load the operation records. The enhanced help documents and the operation records are distributed for use.