



Besser lernen dank der zahlreichen Ressourcen auf Docsity
Heimse Punkte ein, indem du anderen Studierenden hilfst oder erwirb Punkte mit einem Premium-Abo
Prüfungen vorbereiten
Besser lernen dank der zahlreichen Ressourcen auf Docsity
Download-Punkte bekommen.
Heimse Punkte ein, indem du anderen Studierenden hilfst oder erwirb Punkte mit einem Premium-Abo
These notes describe about the Distributed Applications and what are the types of distributed applications are. About how we can scale in or scale out
Art: Mitschriften
1 / 7
Diese Seite wird in der Vorschau nicht angezeigt
Lass dir nichts Wichtiges entgehen!




❖ Types of distributed systems ➢ There are 3 types of Distributed Systems: distributed computing systems, distributed information systems, and pervasive systems ➢ High performance distributed computing ▪ In cluster computing the underlying hardware consists of a collection of similar workstations or PCs, closely connected by means of a high-speed local-area network. In addition, each node runs the same operating system. ▪ The situation becomes very different in the case of grid computing. This subgroup consists of distributed systems that are often constructed as a federation of computer systems, where each system may fall under a different administrative domain and may be very different when it comes to hardware, software, and deployed network technology. ▪ From the perspective of grid computing, a next logical step is to simply outsource the entire infrastructure that is needed for compute-intensive applications. In essence, this is what cloud computing is all about ➢ Cluster computing ▪ It became financially and technically attractive to build a supercomputer using off-the- shelf technology by simply hooking up a collection of relatively simple computers in a high-speed network (Diagram 1.7) ▪ However, several modern cluster computers have been moving away from these symmetric architectures to more hybrid solutions in which the middleware is functionally partitioned across different nodes ➢ Grid computing ▪ In Grid Computing no assumptions are made concerning similarity of hardware, operating systems, networks, administrative domains, security policies, etc. ▪ The architecture consists of four layers. The lowest fabric layer provides interfaces to local resources at a specific site. The connectivity layer consists of communication protocols for supporting grid transactions that span the usage of multiple resources and it also performs authentication. ▪ The resource layer is responsible for managing a single resource. The resource layer is thus seen to be responsible for access control, and hence will rely on the authentication performed as part of the connectivity layer. ▪ Collective layer deals with handling access to multiple resources and typically consists of services for resource discovery, allocation and scheduling of tasks onto multiple resources, data replication, and so on. ▪ Application layer consists of the applications that operate within a virtual organization, and which make use of the grid computing environment. (Diagram 1.8) ▪ Typically, the collective, connectivity, and resource layer form the heart of what could be called a grid middleware layer. ➢ Cloud computing ▪ Concept of utility computing by which a customer could upload tasks to a data centre and be charged on a per-resource basis. ▪ Utility computing formed the basis for what is now called cloud computing. ▪ In practice, clouds are organized into four layers, ▪ Hardware: The lowest layer is formed by the means to manage the necessary hardware: processors, routers, but also power and cooling systems.
▪ Infrastructure: It deploys virtualization techniques to provide customers an infrastructure consisting of virtual storage and computing resources. Indeed, nothing is what it seems: cloud computing evolves around allocating and managing virtual storage devices and virtual servers. ▪ Platform: platform layer provides to a cloud computing customer what an operating system provides to application developers in practice, an application developer is offered a vendor-specific API, which includes calls to uploading and executing a program in that vendor’s cloud. ▪ Application: Actual applications run in this layer and are offered to users for further customization. ▪ Cloud-computing providers offer these layers to their customers through various leading to three different types of services:
▪ Remote procedure call: Sometimes small changes should trigger many applications to take actions. In such cases, it is not really the change of data that is important, but the execution of a series of actions. RPC allows an application A to make use of the information available only to application B, without giving A direct access to that information. Disadvantage is that caller and callee must be up and running for the call to succeed. ▪ Messaging: The messaging system ensures that eventually the request is delivered, and if needed, that a response is eventually returned as well, and it works even if caller and callee are not running at same time. Drawbacks: it also introduces problems concerning data formatting and layout, it requires an application to know where to send a message to, there need to be scenarios for dealing with lost messages ➢ Pervasive systems ➢ The distributed systems discussed so far are largely characterized by their stability: nodes are fixed and have a permanent and high-quality connection to a network. To a certain extent, this stability is realized through the various techniques for achieving distribution transparency. ➢ However, matters have changed since the introduction of mobile and embedded computing devices, leading to what are generally referred to as pervasive systems. ➢ Pervasive systems are intended to naturally blend into our environment. They are naturally also distributed systems, and certainly meet the characterization of distributed system. ➢ What makes them unique in comparison to the computing and information systems described so far, is that the separation between users and system components is much more blurred. ➢ There is often no single dedicated interface, such as a screen/keyboard combination. Instead, a pervasive system is often equipped with many sensors that pick up various aspects of a user’s behaviour. ➢ Many devices in pervasive systems are characterized by being small, battery-powered, mobile, and having only a wireless connection, although not all these characteristics apply to all devices. Their role in what is now coined as the Internet of Things (IoT). ➢ Three different types of pervasive systems: ubiquitous computing systems, mobile systems, and sensor networks. ➢ Ubiquitous computing systems: In a ubiquitous computing system means: the system is pervasive and continuously present. The latter means that a user will be continuously interacting with the system, often not even being aware that interaction is taking place. ➢ Requirements for a ubiquitous computing system roughly as follows: ▪ a) Distribution, b) Interaction, c) Context awareness, d) Autonomy, e) Intelligence. ▪ Distribution - As mentioned, a ubiquitous computing system is an example of a distributed system: the devices and other computers forming the nodes of a system are simply networked and work together to form the illusion of a single coherent system. ▪ Interaction - For ubiquitous computing systems, much of the interaction by humans will be implicit, with an implicit action being defined as one “that is not primarily aimed to interact with a computerized system but which such a system understands as input” (Ex
▪ Therefore, the system should be able to act autonomously, and automatically react to changes. There are some techniques using which autonomy is brought as in instance Address allocation (Addresses can be allocated automatically using protocols like the Dynamic Host Configuration Protocol - DHCP), Adding devices (A step towards automatic configuration is realized by the Universal Plug and Play protocol - UPnP), Automatic updates (Devices can automatically check for updates through the internet and if available component will be updated and it will ideally continue where they left of) ▪ Intelligence - In many cases a wide range of advanced algorithms and models need to be deployed to handle incomplete input, quickly react to a changing environment, handle unexpected events, and so on. Unfortunately, distributed solutions for many problems in the field of artificial intelligence are yet to be found ➢ Mobile computing systems: Many aspects of pervasive systems also apply to mobile computing. There are several issues that set mobile computing aside to pervasive systems in general. ▪ First, the devices that form part of a (distributed) mobile system may vary widely. ▪ Second, in mobile computing the location of a device is assumed to change over time.
//2. Create a purchase order for a specific supplier app.post('/suppliers/createOrder/:id', (req, res) => { Orders.push({ id: req.params.id, order: "newOrder" }) console.log(Orders); res.send("Order Placed Successfully"); }); //3. Delete a supplier app.delete('/suppliers/DeleteSupplier/:id', (req, res) => { let filteredSuppliers = suppliers.filter((item) => item.id != req.params.id); suppliers = filteredSuppliers; console.log(suppliers) res.send("Supplier Deleted"); }); //4. Retrieve all data of a specific supplier app.get('/suppliers/getSupplier/:id', (req, res) => { suppliers.find( (data, i) => { if (data.id == req.params.id) res.send(data); }); }); //5. Retrieve all suppliers with a minimum turnover in a time period. app.get('/suppliers/getSuppliersByTurnover', (req, res) => { let filteredSuppliers = suppliers.filter( (item) => item.turnOver >= req.query.turnOver && item.year >= req.query.year); res.send(filteredSuppliers); }); app.listen('4000', () => { console.log("Server started"); });