Reliability (computer networking)
In computer networking, a reliable protocol is one that ensures reliability properties with respect to the delivery of
datato the intended recipient(s), as opposed to an unreliable protocol, which does not guarantee that data will be delivered intact, or that it will be delivered at all.
reliable multicastprotocol may ensure reliability on a per-recipient basis, as well as provide properties that relate the delivery of data to different recipients, such as e.g. total order, atomicity, or virtual synchrony.
Reliable protocols typically incur more overhead than unreliable protocols, and as a result, are slower and less scalable. This often isn't an issue for
unicastprotocols, but it may be a problem for multicastprotocols.
TCP, the main protocol used in the
Internettoday, is a reliable unicast protocol. UDP, often used in computer gamesor other situations where speed is an issue and the loss of a little data is not, is an unreliable protocol.
Often, a reliable unicast protocol is also
connection-oriented. For example, the TCP/IPprotocol is connection-oriented, with the virtual circuitID consisting of source and destination IP addresses and port numbers. Some unreliable protocols are connection-oriented as well. These include ATM and Frame Relay, on which a substantial part of all Internet traffic is passed.
In the context of distributed protocols, reliability properties specify the guarantees that the protocol provides with respect to the delivery of messages to the intended recipient(s).
An example of a reliability property for a
unicastprotocol is "at least once", i.e. at least one copy of the message is guaranteed to be delivered to the recipient.
Reliability properties for
multicastprotocols can be expressed on a per-recipient basis (simple reliability properties), or they may relate the fact of delivery or the order of delivery among the different recipients (strong reliability properties).
In the context of multicast protocols, strong reliability properties express the guarantees that the protocol provides with respect to the delivery of messages to different recipients.
An example of a strong reliability property is "last copy recall", meaning that as long as at least a single copy of a message remains available at any of the recipients, every other recipient that does not fail eventually also receives a copy. Strong reliability properties such as this one typically require that messages are retransmitted or forwarded among the recipients.
An example of a reliability property stronger than "last copy recall" is
atomicity. The property states that if at least a single copy of a message has been delivered to a recipient, all other recipients will eventually receive a copy of the message. In other words, each message is always delivered to either all or none of the recipients.
One of the most complex strong reliability properties is
Strong reliability properties are offered by
group communication systems (GCS) such as ISIS, Appia framework, Spread, JGroupsor QuickSilver Scalable Multicast. The QuickSilver Properties Frameworkis a flexible platform that allows strong reliability properties to be expressed in a purely declarative manner, using a simple rule-based language, and automatically translated into a hierarchical protocol.
Wikimedia Foundation. 2010.
Look at other dictionaries:
Flooding (computer networking) — Flooding is a simple routing algorithm in which every incoming packet is sent through every outgoing link. Advantages* If a packet can be delivered, it will (probably multiple times). * Since flooding naturally utilizes every path through the… … Wikipedia
Computer ethics — is a branch of practical philosophy which deals with how computing professionals should make decisions regarding professional and social conduct. Margaret Anne Pierce, a professor in the Department of Mathematics and Computers at Georgia… … Wikipedia
Reliability — In general, reliability (systemic def.) is the ability of a person or system to perform and maintain its functions in routine circumstances, as well as hostile or unexpected circumstances.The IEEE defines it as . . . the ability of a system or… … Wikipedia
computer science — computer scientist. the science that deals with the theory and methods of processing information in digital computers, the design of computer hardware and software, and the applications of computers. [1970 75] * * * Study of computers, their… … Universalium
Computer science — or computing science (abbreviated CS) is the study of the theoretical foundations of information and computation and of practical techniques for their implementation and application in computer systems. Computer scientists invent algorithmic… … Wikipedia
Computer — For other uses, see Computer (disambiguation). Computer technology redirects here. For the company, see Computer Technology Limited. Computer … Wikipedia
Computer programming — Programming redirects here. For other uses, see Programming (disambiguation). Software development process Activities and steps … Wikipedia
Computer-assisted language learning — (CALL) is succinctly defined in a seminal work by Levy (1997: p. 1) as the search for and study of applications of the computer in language teaching and learning . CALL embraces a wide range of ICT applications and approaches to teaching… … Wikipedia
computer — computerlike, adj. /keuhm pyooh teuhr/, n. 1. Also called processor. an electronic device designed to accept data, perform prescribed mathematical and logical operations at high speed, and display the results of these operations. Cf. analog… … Universalium
Computer hardware — Typical PC hardware= A typical personal computer consists of a case or chassis in a tower shape (desktop) and the following parts:Motherboard* Motherboard It is the body or mainframe of the computer, through which all other components interface.… … Wikipedia