Distributed Computing for Internet of Things (IoT)

Distributed Computing for Internet of Things (IoT)

Dharmendra Trikamlal Patel (Smt. Chandaben Mohanbhai Patel Institute of Computer Applications, India)
Copyright: © 2019 |Pages: 26
DOI: 10.4018/978-1-5225-7955-7.ch004


In recent years, internet of things (IoT) has expanded due to very good internet infrastructure everywhere. IoT has the ability to create a network of physical things that use embedded technologies in order to sense, converse, cooperate, and team up with other things. IoT-based applications require scalability and fault tolerance, which is very difficult to implement in centralized systems and computing environments. Distributed computing is an ideal solution to implement IoT-based applications. The chapter starts with the basics of distributed computing where difference with centralized computing, challenges, and types of distributed computing applications are discussed. The chapter deals with the role of distributed computing for IoT based on advantages, issues, and related IoT-based applications. The chapter discusses the recent topic of distributed computing—FOG computing—in connection with IoT-based applications. At last, the chapter addresses research and interest trends about distributed computing and IoT.
Chapter Preview

Introduction To Distributed Computing

Over the past several years, computing has undergone a series of changes from platform and environmental aspects. Due to the invention of the Internet, centralized computing became obsolete and new computing paradigm, in the form of distributed was introduced. Distributed computing is a field of computer science and engineering that solves computational problems of distributed systems. Distributed computing divides problem in many tasks and each one is solved by one or more computational entities. Distributed computing involves several things: (a) Several autonomous computational entities with local memory (b) Communication among computational entities through message passing (c) Fault tolerance in each computing entity (d) Each computing element has limited view of the entire system. Distributed computing is essential in applications where data produced in one physical location and required by another location. Enigma@Home(Enima Website) project is the real application of distributed computing in cryptography. Enigma@Home is a wrapper between BOINC and Stefan Krah's M4 Project. The M4 Project is an effort to break 3 original Enigma messages with the help of distributed computing.

Distributed computing is the process of aggregating the power of several computing entities, which are logically distributed and may even be geologically distributed, to collaboratively run a single computational task in a transparent and coherent way, so that they appear as a single, centralized system. (Cao,2005)

Client -Server was the simplest model of distributed computing in the early days. The computing was distributed among the presentation layer and application layer. This kind of architecture has been widely used in the several applications such as ERP, billing and inventory applications. The main limitations of the Client-Server model are:

  • Need of robust client systems as complex business processing done on client.

  • It is very vulnerable to security breaches as logic depends on the client.

  • Scalability Restrictions

  • Difficulty in the maintenance and upgradation of client applications.

Object Management Group(OMG) has developed the next category of distributed computing architecture known as “ Common Object Request Broker Architecture(CORBA”). It provides an object oriented solution. With the help of this architecture, the applications can run on any hardware platform anywhere on the network. Interface Definition Language (IDL) is designed to deal with methods of a remote object. It suffers from the following limitations:

  • There is no CORBA standard is available to bind the Request Broker and its clients. We have to rely on vendor specific options.

  • The interfaces of CORBA are very complex in comparison of traditional client-server architecture.

  • Shipping of live objects are not feasible.

  • Lacking in the implementation of CORBA services

JAVA RMI was another popular distributed architecture that was developed by the Sun Microsystems. It uses the lightweight object persistent techniques that makes the transaction among different components very efficiently. Like CORBA, it also uses the object oriented distributed computing. It supports the live shipping of the objects. However, it suffers from several drawbacks:

  • It is specific to JAVA code

  • Hard to implement callback methods over the Internet

  • Security sometimes compromised, particularly when using dynamic class loading

Microsoft DCOM distributed architecture designed by the Microsoft specifically for the windows operating systems based software components. It is successful in providing distributed supports on windows platform. It has the following limitations:

  • It is specifically for Microsoft languages

  • Scalability issues

  • Issues in session management

Key Terms in this Chapter

Openness: The degree to which the system exhibits its own strategy.

Multicast: It is a communication method where packet of information is sent from one or more senders to set of receivers.

Fault Tolerance: It is an attribute of the system that enables it to carry on operating despite of the failures of some system components.

Multi Hop Network: It is a network that consists of two or more hops to send packets from source to destination.

Scalability: It is the capacity of the system to handle increasing amount work without affecting existing system.

Internet of Things (IoT): It is a networking of physical devices embedded with intenet, electronics, sensors, software, actuators that enable devices to store and send the data.

Mutual Exclusion: It is the requirement of the system according to which only one process is able to access the shared resource at a time.

Broadcast: It is a communication method where packet of information is sent from one sender to all receivers.

Synchronization: Process of coordinating two or more activities in time.

Shortest Time Scheduling: It is a scheduling algorithm in which the process with the smallest amount of time remaining for the completion is chosen for the next execution.

Message Passing: It is the form of communication among entities of the network. Generally, it is used in interprocess communication and parallel computing.

RFID: It is a technology that automatically tracks tags attached to any object.

Complete Chapter List

Search this Book: