Abstract:
Methods of operating a first endpoint device (ED) facilitate the making of a peer-to-peer (P2P) connection between the first ED and a second ED despite intervening network address translators (NATs) at both ends. The P2P connection extends across a system compliant with the internet protocol (IP) whose architecture that includes a first network (having at least the first ED and a first NAT), a second network (having at least the second ED and a second NAT) and a third network. The first ED connects to the third network via the first NAT while the second ED connects to the third network via the second NAT. A first such method includes: providing the second ED with the first IP-address/port pair; and providing the second ED with first type-information regarding the type of the first NAT.
Abstract:
Handling of multiple connections during NAT traversal for a node behind a symmetric NAT is disclosed. The likelihood of connection failure during symmetric NAT traversal may be reduced by serializing critical time windows after port prediction. Once port prediction has begun for a first connection, port prediction for a subsequent connection may be delayed until a connectivity check has begun for the first connection. This process may be repeated to handle NAT traversal for multiple simultaneous connections to different nodes.
Abstract:
Disclosed are systems and methods for peer-to-peer communication over a network between a first node behind a first network address translator (NAT) and a second node behind a second NAT, despite the first NAT and the second NAT intervening between the first and second nodes. The first NAT is a Symmetric NAT. A port prediction is performed wherein the first node constructs a list of predicted transport addresses on the first NAT. A message containing the list of predicted transport addresses is sent from the first node to the second node. A connectivity check is performed with the second node using the predicted transport addresses.
Abstract:
A user interface enables the input of text and other complicated inputs by identifying entities having an increased likelihood of being selected and decreasing the precision needed to select these entities. The user interface displays a set of entities in a radial pattern. The user manipulates a pointer with a joystick or other input device to select entities. The entities having a higher selection probabilities are allocated more space in the pattern than the other entities. The entities having a higher selection probabilities may also be emphasized with visual cues. Selection probabilities may be determined by comparing a sequence of entities previously selected, such as a partially input word, with a set of commonly selected sequences of entities, such as a set of words commonly used by users. The user interface can display a list of words corresponding with a sequence of selected entities, including characters from different writing systems.
Abstract:
Network Address Translator (NAT) traversal is performed for a host located behind the NAT running a server, e.g., an HTTP server, using a relay server and a redirect server. The host (of the HTTP server) located behind the NAT uses a NAT-discovery process to determine the presence of the interposed NAT. Seamless IP communication over the IP network is provided using a Dynamic DNS (DDNS) server that is updated using a user registration database, which contains information about the presence or absence of a NAT relative to the HTTP server.
Abstract:
A broadcast message may be initiated or received at a peer node. The node obtains an uplink bandwidth available for broadcasting the message over the network and a number of copies that can be broadcast based on the available bandwidth. The node determines a range of key values for finger nodes that should receive copies of the broadcast message from a finger table. The finger table entries include references to finger nodes and key values associated with the finger nodes. The node determines which other nodes should receive copies of the broadcast message from range of key values and the number of copies. The node also determines an End ID for each recipient node. A copy of the broadcast message and corresponding End ID is sent to a finger node if the finger node's key value is within a range of key values specified by the End ID.
Abstract:
Methods and apparatus for facilitating traversal of a network address translator (NAT) are disclosed. For example, a node configured to communicate with one or more other nodes over a network may facilitate NAT traversal by a) determining information regarding the behavior of one or more NATs with the node; and storing the information in such a way that the information is retrievable by one or more other nodes; or b) retrieving information regarding behavior of one or more NATs obtained by one or more other nodes and using the information to traverse one or more of the NATs.
Abstract:
PROBLEM TO BE SOLVED: To provide an input/storage/output device capable of dynamically changing an input item, structuring inputted medical treatment information for each user and quickly and easily managing it. SOLUTION: In a medical treatment recording device 101 for forming this device, a storage means 142 stores conversion information for converting item change information for dynamically changing the input item and the medical treatment information to a natural language, an input means 111 instructs the operation of inputting the medical treatment information and an information editing means 132 refers to the item change information corresponding to the operation instruction and generates input display control information for reconstructing and editing an input display pattern. A display means 121 dynamically changes and displays the input item corresponding to the information, control means 131 converts the inputted medical treatment information to the natural language based on the conversion information and the storage means 141 temporarily stores it. The input means 111 instructs the operation of registering the converted medical treatment information after correcting it as needed and the storage means 141 stores the registered medical treatment information to be outputted.
Abstract:
PROBLEM TO BE SOLVED: To provide a problem-oriented medical chart preparing device with an inheritance function which divides medical chart contents into detailed medical chart items and is effective to medical support that can be treated in a problem unit. SOLUTION: In this medical chart preparing device, an input means 41 inputs medical chart detailed items constituting a medical chart, an input means 42 inputs a problem (including different contents) assumed therefrom and they are stored in a storage means 12. A retrieving means 21 acquires the current transition problem as the result of retrieving the problem and its inheritance information, makes them stored in the means 12, and an output means 31 outputs the current transition problem and the inheritance information. An associating means 43 inputs related information indicating the relationship between the medical chart detailed item and the current transition problem, based on the inheritance information and stores it in a storage means 13. A retrieval means 22 retrieves the medical chart detailed item related to the current transition problem, based on the related information, and an output means 32 outputs the medical chart detailed item related to the current transition problem time sequentially.