Grid computing

gridgridscomputing grid
Grid computing is the use of widely distributed computer resources to reach a common goal. The grid can be thought of as a distributed system with non-interactive workloads that involve a large number of files. Grid computing is distinguished from conventional high-performance computing systems such as cluster computing in that grid computers have each node set to perform a different task/application. Grid computers also tend to be more heterogeneous and geographically dispersed (thus not physically coupled) than cluster computers. Although a single grid can be dedicated to a particular application, commonly a grid is used for a variety of purposes.

Message passing

message-passingmessagesmessage
This of course is not possible for distributed systems since an (absolute) address – in the caller's address space – is normally meaningless to the remote program (however, a relative address might in fact be usable if the receiver had an exact copy of, at least some of, the sender's memory in advance). Web browsers and web servers are examples of processes that communicate by message passing. A URL is an example of a way of referencing resources that does not depend on exposing the internals of a process. A subroutine call or method invocation will not exit until the invoked computation has terminated.

Proof-of-stake

proof of stakeDPOS (Delegated Proof of Stake Algorithm)generates
Proof of stake (PoS) is a type of algorithm by which a cryptocurrency blockchain network aims to achieve distributed consensus. In PoS-based cryptocurrencies the creator of the next block is chosen via various combinations of random selection and wealth or age (i.e., the stake). In contrast, the algorithm of proof-of-work-based cryptocurrencies such as bitcoin uses mining; that is, the solving of computationally intensive puzzles to validate transactions and create new blocks. Proof of stake must have a way of defining the next valid block in any blockchain.

Backup

data backupback upbacked up
That configuration controls the backup server program via either an integrated GUI or a separate Administration Console. In some client-server backup applications, a "three-tier" configuration splits off the backup and restore functions of the server program to run on what are called media serverscomputers to which devices containing archive files are attached either locally or as Network-attached storage (NAS). In those applications the decision on which media server a script is to run on is controlled using another program called either a master server or an.

FreeBSD

*BSDFreeBSD ProjectLinux emulation
Some subscription services that are directly based on FreeBSD are: * WhatsApp processes 2 million concurrent TCP connections per server. Embedded devices and embedded device operating systems based on FreeBSD include: OpenServer 10 (server). TrueOS, previously known as PC-BSD (aimed at home users and workstations, but with a FreeNAS-like server version and TrueOS pico for ARM 32-bit embedded devices). DesktopBSD (desktop-oriented operating system, originally based on KDE). GhostBSD (MATE-based distribution, which also offers other desktop environments). FreeSBIE (live CD). Frenzy (live CD). mfsBSD runs entirely in RAM.

Overlay network

overlaynetwork overlayoverlaid network
For example, distributed systems such as peer-to-peer networks and client-server applications are overlay networks because their nodes run on top of the Internet. The Internet was originally built as an overlay upon the telephone network, while today (through the advent of VoIP), the telephone network is increasingly turning into an overlay network built on top of the Internet. Overlay networks are used in telecommunication because of the availability of digital circuit switching equipment and optical fiber.

Distributed hash table

DHTdistributeddistributed hash tables
CloudSNAP: a decentralized web application deployment platform. Codeen: web caching. Coral Content Distribution Network. FAROO: peer-to-peer Web search engine. Freenet: a censorship-resistant anonymous network. GlusterFS: a distributed file system used for storage virtualization. GNUnet: Freenet-like distribution network including a DHT implementation. I2P: An open-source anonymous peer-to-peer network. I2P-Bote: serverless secure anonymous e-mail. IPFS: A content-addressable, peer-to-peer hypermedia distribution protocol. JXTA: open-source P2P platform. LBRY: a free, open and community-run digital marketplace.

YaCy

YaCy (pronounced "ya see") is a free distributed search engine, built on principles of peer-to-peer (P2P) networks. Its core is a computer program written in Java distributed on several hundred computers, so-called YaCy-peers. Each YaCy-peer independently crawls through the Internet, analyzes and indexes found web pages, and stores indexing results in a common database (so called index) which is shared with other YaCy-peers using principles of P2P networks. It is a free search engine that everyone can use to build a search portal for their intranet and to help search the public internet clearly. Compared to semi-distributed search engines, the YaCy-network has a decentralised architecture.

CoopNet content distribution system

CoopNet (Cooperative Networking), a system for off-loading serving to peers who have recently downloaded content, is described in the paper “The Case for Cooperative Networking”, presented at the First International Workshop on Peer-to-Peer Systems (IPTPS) in 2002. The system was proposed by computer scientists Venkata N. Padmanabhan and Kunwadee Sripanidkulchai, working at Microsoft Research and Carnegie Mellon University. Basically when a server experiences an increase in load it redirects incoming peers to other peers who have agreed to mirror the content, thus off-loading balance from the server. All of the information is retained at the server.

Concurrency (computer science)

concurrencyconcurrentconcurrent systems
Client–server network nodes. Clojure. Cluster nodes. Concurrency control. Concurrent computing. Concurrent object-oriented programming. Concurrency pattern. Chu space. Distributed systemnodes. Go (programming language). Rust (programming language). Elixir (programming language). Gordon Pask. Opening. open korg. tMP. Parallel computing. Partitioned global address space. Processes. Ptolemy Project. Sheaf (mathematics). Threads. X10 (programming language). Distefano, S., & Bruneo, D. (2015). Quantitative assessments of distributed systems: Methodologies and techniques (1st ed.). Somerset: John Wiley & Sons Inc.ISBN: 9781119131144. Bhattacharyya, S. S. (2013;2014;).

Merkle tree

hash treeMerkle hash treeTiger Tree Hash
They can help ensure that data blocks received from other peers in a peer-to-peer network are received undamaged and unaltered, and even to check that the other peers do not lie and send fake blocks. Hash trees are used in hash-based cryptography. Hash trees are also used in the IPFS, Btrfs and ZFS file systems (to counter data degradation ); Dat protocol; Apache Wave protocol ; Git and Mercurial distributed revision control systems; the Tahoe-LAFS backup system; Zeronet; the Bitcoin and Ethereum peer-to-peer networks ; the Certificate Transparency framework; and a number of NoSQL systems such as Apache Cassandra, Riak, and Dynamo.

Theoretical computer science

theoretical computer scientisttheoreticalcomputer science
Distributed computing studies distributed systems. A distributed system is a software system in which components located on networked computers communicate and coordinate their actions by passing messages. The components interact with each other in order to achieve a common goal. Three significant characteristics of distributed systems are: concurrency of components, lack of a global clock, and independent failure of components. Examples of distributed systems vary from SOA-based systems to massively multiplayer online games to peer-to-peer applications.

Netsukuku

Netsukuku is the name of an experimental peer-to-peer routing system, developed by the FreakNet MediaLab in 2005, created to build up a distributed network, anonymous and censorship-free, fully independent but not necessarily separated from the Internet, without the support of any server, ISP and no central authority. Netsukuku is designed to handle up to 2 128 nodes without any servers or central systems, with minimal CPU and memory resources. This mesh network can be built using existing network infrastructure components such as Wi-Fi. The project has been in slow development since 2005, never abandoning a beta state. It has also never been tested on large scale.

Volunteer computing

volunteervolunteer-basedvolunteer computing projects
List of distributed computing projects. Peer-to-peer. Swarm intelligence. Virtual volunteering. BOINC. Wanted: Your computer's spare time Physics.org, September 2009. The Strongest Supercomputer on Earth Still Needs Your Laptop to Cure Cancer Inverse.com, December 2015.

Comparison of BitTorrent clients

BitTorrent clienttorrent clientclient
The following is a general comparison of BitTorrent clients, which are computer programs designed for peer-to-peer file sharing using the BitTorrent protocol. The BitTorrent protocol coordinates segmented file transfer among peers connected in a swarm. A BitTorrent client enables a user to exchange data as a peer in one or more swarms. Because BitTorrent is a peer-to-peer communications protocol that does not need a server, the BitTorrent definition of client differs from the conventional meaning expressed in the client–server model. Bram Cohen, author of the BitTorrent protocol, made the first BitTorrent client, which he also called BitTorrent, and published it in July 2001.

FAROO

FAROO is a universal web search engine based on peer-to-peer technology. It uses a distributed crawler that stores search data on users' computers instead of a central server. Whenever a user visits a website, it is automatically indexed and distributed to the network. Ranking is done by comparing usage statistics of users, such as web pages visited, amount of time spent on each page, and whether the pages were bookmarked or printed. * faroo.com FAROO takes user behavior into account when calculating a website's rank, resulting in more relevant search results than traditional search engines can provide (see filter bubble).

Spotify

Spotify.comPlay.Spotify.comSpotify Velocity
In April 2014, Spotify moved away from the peer-to-peer (P2P) system they had used to distribute music to users. Previously, a desktop user would listen to music from one of three sources: a cached file on the computer, one of Spotify’s servers, or from other subscribers through the P2P system. P2P, a well-established Internet distribution system, served as an alternative that reduced Spotify's server resources and costs. However, Spotify ended the P2P setup in 2014, with Spotify's Alison Bonny telling TorrentFreak: "We’re gradually phasing out the use of our desktop P2P technology which has helped our users enjoy their music both speedily and seamlessly.

Digital currency

electronic moneydigital currencieselectronic purse
A cryptocurrency is a type of digital asset that relies on cryptography for chaining together digital signatures of asset transfers, peer-to-peer networking and decentralization. In some cases a proof-of-work or proof-of-stake scheme is used to create and manage the currency. Cryptocurrencies allow electronic money systems to be decentralized. The first and most popular system is bitcoin, a peer-to-peer electronic monetary system based on cryptography.

ZeroNet

Peer-to-peer web hosting. Self-certifying File System.

Redox (operating system)

RedoxRedox OS
Redox is a Unix-like microkernel operating system written in the programming language Rust, a language with focus on safety and high performance. Redox aims to be secure, usable, and free. Redox is inspired by prior kernels and operating systems, such as SeL4, MINIX, Plan 9, and BSD. It is similar to the GNU or BSD ecosystem, but in a memory-safe language and with modern technology. It is free and open-source software distributed under an MIT License.