This article needs additional citations for verification .(March 2022) |
Sideband computing is where a user connects to some normal network service, and a separate communication channel is opened through which a server distributes tasks to the clients. Through sideband computing method, any network server which has a lot of clients can form into a large-scale super-computing network. During this process, the resources in the clients could be utilized through the central server so long as the main channel is maintained. Sideband computing is related to the distributed computing and multiple communication channels. [1]
The task can be any task that is performed by individual client and used in the various distributed computing environment such as social computing, volunteer computing, and edge computing, grid computing, or utility computing. Collaborative task in social computing is one example.
Sideband computing is also a type of super computing where each client carries out some real computation tasks that could be the individually executed. With the server aggregating the results from each client, it effectively achieves the function of a real supercomputer.
Sideband computing maximizes the participation and involvement of clients who are connecting with the server so that every client could help to contribute. With little cost, the network server can act as a supercomputer.
Most other distributed computing requires each client to manually install client side software, proactively participate in the computing and the computation is the sole objective of such client side software.
With sideband computing, sideband service stays along with a regular network service, which allows the sideband services being served without much interrupting to the main network service that is less intrusive and more user-friendly to the end user.
On a different view, a client can be viewed as paying its “contributing” in exchange of the regular service it is served. This is similar to volunteer computing
Sideband computing requires a regular network service being performed beforehand. Without the main network service, it is not called sideband method.
Ajax and Web 2.0 are claimed to be one of the area where sideband method is used. It is said that Ajax is conducted through asynchronously though additional channel other than a browser-server's main HTTP channel.
Examples of sideband computing in this sense include collaborative filtering, online auctions, online ranking, mashing up, prediction markets, reputation systems, computational social choice, tagging, and verification games using Ajax.
A typical setup would involve that the server allows each client to do a small amount of work and the server coordinates and aggregates results every client to form a larger picture.
For instance, when sideband computing applies to the social computing based on each client creating or recreating social conventions and social contexts through the use of client's computing resource, software and technology.
Many social networking services, which utilize The Wisdom of Crowds, such as Wikis, social bookmaking, blogging, instant messaging, online bidding, and other kinds of electronic market or electronic negotiation platforms where people interact socially, could found the trace of sideband method.
Another application of the sideband computing method is P2P, where a peer could not only a client or a server, it also acts as other roles including routing, proxying, caching.
Other claimed area of the sideband computing method are grid computing, cloud computing, cluster computing and utility computing where a node could perform functions more than its primary duty through a sideband channel.
A Patent 6,418,462 is granted to the sideband computing method. It is filed on January 7, 1999, and granted on July 9, 2002. [2] Licensing and validity of the patent claims is unknown yet.
The client–server model is a distributed application structure that partitions tasks or workloads between the providers of a resource or service, called servers, and service requesters, called clients. Often clients and servers communicate over a computer network on separate hardware, but both client and server may reside in the same system. A server host runs one or more server programs, which share their resources with clients. A client usually does not share any of its resources, but it requests content or service from a server. Clients, therefore, initiate communication sessions with servers, which await incoming requests. Examples of computer applications that use the client–server model are email, network printing, and the World Wide Web.
Peer-to-peer (P2P) computing or networking is a distributed application architecture that partitions tasks or workloads between peers. Peers are equally privileged, equipotent participants in the network. This forms a peer-to-peer network of nodes.
In computer networking, a thin client is a simple (low-performance) computer that has been optimized for establishing a remote connection with a server-based computing environment. They are sometimes known as network computers, or in their simplest form as zero clients. The server does most of the work, which can include launching software programs, performing calculations, and storing data. This contrasts with a rich client or a conventional personal computer; the former is also intended for working in a client–server model but has significant local processing power, while the latter aims to perform its function mostly locally.
Grid computing is the use of widely distributed computer resources to reach a common goal. A computing grid can be thought of as a distributed system with non-interactive workloads that involve many 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 than cluster computers. Although a single grid can be dedicated to a particular application, commonly a grid is used for a variety of purposes. Grids are often constructed with general-purpose grid middleware software libraries. Grid sizes can be quite large.
In computing, load balancing is the process of distributing a set of tasks over a set of resources, with the aim of making their overall processing more efficient. Load balancing can optimize the response time and avoid unevenly overloading some compute nodes while other compute nodes are left idle.
An anonymous P2P communication system is a peer-to-peer distributed application in which the nodes, which are used to share resources, or participants are anonymous or pseudonymous. Anonymity of participants is usually achieved by special routing overlay networks that hide the physical location of each node from other participants.
A botnet is a group of Internet-connected devices, each of which runs one or more bots. Botnets can be used to perform Distributed Denial-of-Service (DDoS) attacks, steal data, send spam, and allow the attacker to access the device and its connection. The owner can control the botnet using command and control (C&C) software. The word "botnet" is a portmanteau of the words "robot" and "network". The term is usually used with a negative or malicious connotation.
In parallel computing, an embarrassingly parallel workload or problem is one where little or no effort is needed to separate the problem into a number of parallel tasks. This is often the case where there is little or no dependency or need for communication between those parallel tasks, or for results between them.
UNICORE (UNiform Interface to COmputing REsources) is a grid computing technology for resources such as supercomputers or cluster systems and information stored in databases. UNICORE was developed in two projects funded by the German ministry for education and research (BMBF). In European-funded projects UNICORE evolved to a middleware system used at several supercomputer centers. UNICORE served as a basis in other research projects. The UNICORE technology is open source under BSD licence and available at SourceForge.
Utility computing, or computer utility, is a service provisioning model in which a service provider makes computing resources and infrastructure management available to the customer as needed, and charges them for specific usage rather than a flat rate. Like other types of on-demand computing, the utility model seeks to maximize the efficient use of resources and/or minimize associated costs. Utility is the packaging of system resources, such as computation, storage and services, as a metered service. This model has the advantage of a low or no initial cost to acquire computer resources; instead, resources are essentially rented.
Volunteer computing is a type of distributed computing in which people donate their computers' unused resources to a research-oriented project, and sometimes in exchange for credit points. The fundamental idea behind it is that a modern desktop computer is sufficiently powerful to perform billions of operations a second, but for most users only between 10–15% of its capacity is used. Common tasks such as word processing or web browsing leave the computer mostly idle.
Distributed networking is a distributed computing network system where components of the program and data depend on multiple sources.
gridMathematica is a software product sold by Wolfram Research which extends the parallel processing capabilities of its main product Mathematica.
The Base One Foundation Component Library (BFC) is a rapid application development toolkit for building secure, fault-tolerant, database applications on Windows and ASP.NET. In conjunction with Microsoft's Visual Studio integrated development environment, BFC provides a general-purpose web application framework for working with databases from Microsoft, Oracle, IBM, Sybase, and MySQL, running under Windows, Linux/Unix, or IBM iSeries or z/OS. BFC includes facilities for distributed computing, batch processing, queuing, and database command scripting, and these run under Windows or Linux with Wine.
Xgrid is a proprietary grid computing program and protocol developed by the Advanced Computation Group subdivision of Apple Inc.
A computer cluster is a set of computers that work together so that they can be viewed as a single system. Unlike grid computers, computer clusters have each node set to perform the same task, controlled and scheduled by software.
DIET is a software for grid-computing. As middleware, DIET sits between the operating system and the application software. DIET was created in 2000. It was designed for high-performance computing. It is currently developed by INRIA, École Normale Supérieure de Lyon, CNRS, Claude Bernard University Lyon 1, SysFera. It is open-source software released under the CeCILL license.
Quasi-opportunistic supercomputing is a computational paradigm for supercomputing on a large number of geographically disperse computers. Quasi-opportunistic supercomputing aims to provide a higher quality of service than opportunistic resource sharing.
Computers can be classified, or typed, in many ways. Some common classifications of computers are given below.
Computation offloading is the transfer of resource intensive computational tasks to a separate processor, such as a hardware accelerator, or an external platform, such as a cluster, grid, or a cloud. Offloading to a coprocessor can be used to accelerate applications including: image rendering and mathematical calculations. Offloading computing to an external platform over a network can provide computing power and overcome hardware limitations of a device, such as limited computational power, storage, and energy.