22618_Emerging_Trends_in_Computer_Engineering_&_Information_Technology_120421.pdf
Document Details
Uploaded by CooperativeClarinet5547
2018
MSBTE
Tags
Related
Full Transcript
A Learning Material for Emerging Trends in Computer Engineering and Information Technology (22618) Semester - VI (CO, CM, CW, IF) Maharashtra State Board of Technical Education, Mumbai (Autonomous)(ISO:9001:2015) (ISO/I...
A Learning Material for Emerging Trends in Computer Engineering and Information Technology (22618) Semester - VI (CO, CM, CW, IF) Maharashtra State Board of Technical Education, Mumbai (Autonomous)(ISO:9001:2015) (ISO/IEC 27001:2013) Maharashtra State Board of Technical Education, Mumbai (Autonomous) (ISO:9001:2015) (ISO/IEC 27001:2013) 4th Floor, Government Polytechnic Building, 49, Kherwadi, Bandra (East), Mumbai -400051. (Printed on May, 2018) Maharashtra State Board of Technical Education Certificate This is to certify that Mr. / Ms. …………………………………. Roll No……………………….of ………… Semester of Diploma in……...……………………..………………………….of Institute…………………………………….………(Code……… ………..) has attained pre-defined practical outcomes(PROs) satisfactorily in courseEmerging Trends in CO and IT(22618)for the academic year 20…….to 20…..... as prescribed in the curriculum. Place ………………. Enrollment No…………………… Date:…..................... Exam Seat No. ………………...... Course Teacher Head of the Department Principal Seal of the Institute Emerging Trends in CO and IT (22618) Preface The primary focus of any engineering work in the technical education system is to develop the much needed industry relevant competency & skills. With this in view, MSBTE embarked on innovative “I” scheme curricula for engineering diploma programmes with outcome based education through continuous inputs from socio economic sectors. The industry experts during the consultation while preparing the Perspective Plan for diploma level technical education categorically mentioned that the curriculum, which is revised and implemented normally further revised after 4-5 years. The technological advancements being envisaged and faced by the industry in the present era are rapid and curriculum needs to be revised by taking care of such advancements and therefore should have a provision of accommodating continual changes. These views of industry experts were well taken & further discussed in the academic committee of MSBTE, wherein it was decided to have a dynamism in curriculum for imparting the latest technological advancements in the respective field of engineering. In order to provide an opportunity to students to learn the technological advancements, a course with a nomenclature of “Emerging Trends in Computer Engineering & Information Technology” is introduced in the 6th semester of Computer Engineering & Information Technology Group. The technological advancements to be depicted in the course called emerging trends was a challenging task and therefore it was decided to prepare a learning material with the involvement of industrial and academic experts for its uniformity in the aspect of delivery, implementation and evaluation. Advancements and applications of Computer Engineering and Information Technology are ever changing. Emerging trends aims at creating awareness about major trends that will define technological disruption in the upcoming years in the field of Computer Engineering and Information Technology. IoT, Digital Forensics and Hacking are some emerging areas which are covered in this course and are expected to generate increasing demand as IT professionals and open avenues of entrepreneurship. Considering the necessity of Artificial intelligence (AI) which is an area of computer science that emphasizes the creation of intelligent machines that work and react like humans, it is important for Diploma to be aware of AI concept. This learning manual is designed to help all stakeholders, especially the students and teachers and to develop in the student the pre-determined outcomes. It is expected to explore further by both students and teachers, on the various topics mentioned in learning manual to keep updated themselves about the advancements in related technology. MSBTE wishes to thank the Learning Manual development team, specifically Mr. Nareshumar Harale, Chairman of the Course Committee, Industry Experts, Smt. M.U. Kokate Coordinator of the Computer Engineering & Mr. J. R. Nikhade, Coordinator of the Information Technology and academic experts for their intensive efforts to formulate the learning material on “Emerging Trends in Computer Engineering & Information Technology”. Being emerging trend and with the provision of dynamism in the curricula, any suggestions towards enrichment of the topic and thereby course will be highly appreciated. (Dr. Vinod M.Mohitkar) Director MSBTE, Mumbai Maharashtra State Board of Technical Education i Emerging Trends in CO and IT (22618) COURSE OUTCOMES (COs) achieved through this course Describe Artificial Intelligence, Machine learning and deep learning Interpret IoT concepts Compare Models of Digital Forensic Investigation. Describe Evidence Handling procedures. Describe Ethical Hacking process. Detect Network, Operating System and applications vulnerabilities Maharashtra State Board of Technical Education ii Emerging Trends in CO and IT (22618) Emerging Trendsin Computer Engineering and Information Technology Index Unit Unit/ Topic Page No. No. 1. Artificial Intelligence 01 1.1 Introduction of AI 01 Concept 02 Scope of AI 02 Components of AI 04 Types of AI 07 Application of AI 08 1.2 Concept of machine learning and deep learning. 09 2. Internet of Things 13 2.1 Embedded Systems: 13 Embedded system concepts, 13 Purpose of embedded systems 13 Architecture of embedded systems, 14 Embedded processors-PIC, ARM, AVR, ASIC 16 2.2 IoT: Definition and characteristics of IoT 19 Physical design of IoT, 21 o Things of IoT, 21 o IoT Protocols 23 Logical design of IoT, 26 o IoT functional blocks, 26 o IoT Communication models, 27 o IoT Communication APIs, 29 IoT Enabling Technologies, 32 IoT levels and deployment templates, 34 IoT Issues and Challenges, Applications 37 IoT Devices and its features: Arduino, Uno, Raspberry Pi, Nodeµ 40 Case study on IoT Applications using various Sensors and actuators 44 3 Basics of Digital Forensic 52 3.1 Digital forensics 52 Introduction to digital forensic 52 History of forensic 52 Rules of digital forensic 53 Definition of digital forensic 53 Digital forensics investigation and its goal 53 3.2 Models of Digital Forensic Investigation 54 Road map for Digital Forensic Research(RMDFR) 54 Investigative Model Abstract Digital Forensics Model (ADFM) 55 Integrated Digital Investigation Process (IDIP) 56 End to End digital investigation process (EEDIP) 57 An extended model for cybercrime investigation 58 UML modeling of digital forensic process model (UMDFPM) 59 Maharashtra State Board of Technical Education iii Emerging Trends in CO and IT (22618) Unit Unit/ Topic Page No. No. 3.3 Ethical issues in digital forensic 60 General ethical norms for investigators 60 Unethical norms for investigation 60 4 Digital Evidences 62 4.1 3.1 Digital Evidences 62 Definition of Digital Evidence 62 Best Evidence Rule 64 Original Evidence 64 4.2 Rules of Digital Evidence 65 4.3 Characteristics of Digital Evidence 66 Locard’s Exchange Principle 66 Digital Stream of bits 67 4.4 Types of evidence 67 Illustrative, Electronics, Documented, Explainable, Substantial, 67 Testimonial 4.5 Challenges in evidence handling 68 Authentication of evidence 68 Chain of custody 68 Evidence validation 71 4.6 Volatile evidence 72 5 Basics of Hacking 80 5.1 Ethical Hacking 80 How Hackers Beget Ethical Hackers 82 Defining hacker, Malicious users 85 5.2 Understanding the need to hack your own systems 87 5.3 Understanding the dangers your systems face 88 Nontechnical attacks 88 Network-infrastructure attacks 89 Operating-system attacks 89 Application and other specialized attacks 89 5.4 Obeying the Ethical hacking Principles 90 Working ethically 90 Respecting privacy 90 Not crashing your systems 90 5.5 The Ethical hacking Process 90 Formulating your plan 90 Selecting tools 92 Executing the plan 93 Evaluating results 94 Moving on 94 5.6 Cracking the Hacker Mind-set 94 What You’re Up Against? 94 Who breaks in to computer systems? 96 Maharashtra State Board of Technical Education iv Emerging Trends in CO and IT (22618) Unit Unit/ Topic Page No. No. Why they do it? 97 Planning and Performing Attacks 99 Maintaining Anonymity 100 6 Types of Hacking 107 6.1 Network Hacking 107 Network Infrastructure 108 Network Infrastructure Vulnerabilities 108 Scanning-Ports 109 Ping sweeping 112 Scanning SNMP 113 Grabbing Banners 113 Analysing Network Data and Network Analyzer 114 MAC-daddy attack 115 Wireless LANs: 117 Implications of Wireless Network Vulnerabilities, 117 Wireless Network Attacks 117 6.2 Operating System Hacking 119 Introduction ofWindows and LinuxVulnerabilities 119 6.3 Applications Hacking 121 Messaging Systems 121 Vulnerabilities, 121 E-Mail Attacks- E-Mail Bombs, 122 Banners, 124 Best practices for minimizing e-mail security risks 124 Web Applications: 125 Web Vulnerabilities, 125 Directories Traversal and Countermeasures, 126 Database system 127 Database Vulnerabilities 127 Best practices for minimizing database security risks 128 Maharashtra State Board of Technical Education v Emerging Trends in CO and IT (22618) Unit-1 Artificial Intelligence Content 1.1 Introduction of AI o Concept o Scope of AI o Components of AI o Types of AI o Application of AI 1.2 Concept of machine learning and deep learning. 1.1 Introduction of AI A branch of Computer Science named Artificial Intelligence (AI)pursues creating the computers / machines as intelligent as human beings. John McCarthy the father of Artificial Intelligence described AI as, “The science and engineering of making intelligent machines, especially intelligent computer programs”. Artificial Intelligence (AI) is a branch of Science which deals with helping machines find solutions to complex problems in a more human-like fashion. Artificial is defined in different approaches by various researchers during its evolution, such as “Artificial Intelligence is the study of how to make computers do things which at the moment, people do better.” There are other possible definitions “like AI is a collection of hard problems which can be solved by humans and other living things, but for which we don’t have good algorithms for solving.” e. g., understanding spoken natural language, medical diagnosis, circuit design, learning, self-adaptation, reasoning, chess playing, proving math theories, etc. Data: Data is defined as symbols that represent properties of objects events and their environment. Information: Information is a message that contains relevant meaning, implication, or input for decision and/or action. Knowledge: It is the (1) cognition or recognition (know-what), (2) capacity to act(know-how), and(3)understanding (know-why)that resides or is contained within the mind or in the brain. Maharashtra State Board of Technical Education 1 Emerging Trends in CO and IT (22618) Intelligence: It requires ability to sense the environment, to make decisions, and to control action. 1.1.1 Concept: Artificial Intelligence is one of the emerging technologies that try to simulate human reasoning in AI systems The art and science of bringing learning, adaptation and self- organization to the machine is the art of Artificial Intelligence. Artificial Intelligence is the ability of a computer program to learn and think.Artificial intelligence (AI) is an area of computer science that emphasizes the creation of intelligent machines that work and reacts like humans. AI is built on these three important concepts Machine learning: When you command your smartphone to call someone, or when you chat with a customer service chatbot, you are interacting with software that runs on AI. But this type of software actually is limited to what it has been programmed to do. However, we expect to soon have systems that can learn new tasks without humans having to guide them. The idea is to give them a large amount of examples for any given chore, and they should be able to process each one and learn how to do it by the end of the activity. Deep learning: The machine learning example I provided above is limited by the fact that humans still need to direct the AI’s development. In deep learning, the goal is for the software to use what it has learned in one area to solve problems in other areas. For example, a program that has learned how to distinguish images in a photograph might be able to use this learning to seek out patterns in complex graphs. Neural networks: These consist of computer programs that mimic the way the human brain processes information. They specialize in clustering information and recognizing complex patterns, giving computers the ability to use more sophisticated processes to analyze data. 1.1.2 Scope of AI: The ultimate goal of artificial intelligence is to create computer programs that can solve problems and achieve goals like humans would. There is scope in developing machines in robotics, computer vision, language detection machine, game playing, expert systems, speech recognition machine and much more. The following factors characterize a career in artificial intelligence: Automation Robotics The use of sophisticated computer software Individuals considering pursuing a career in this field require specific education based on the foundations of math, technology, logic and engineering perspectives. Apart from these, good communication skills (written and verbal) are imperative to convey how AI services and tools will help when employed within industry settings. AI Approach: The difference between machine and human intelligence is that the human think / act rationally compare to machine. Historically, all four approaches to AI have been followed, each by different people with different methods. Maharashtra State Board of Technical Education 2 Emerging Trends in CO and IT (22618) Fig 1.1 AI Approaches Think Well: Develop formal models of knowledge representation, reasoning, learning, memory, problem solving thatcan be rendered in algorithms. There is often an emphasis on a systems that are provably correct, and guarantee finding an optimal solution. Act Well: For a given set of inputs, generate an appropriate output that is not necessarily correct but gets the job done. A heuristic (heuristic rule, heuristic method) is a rule of thumb, strategy, trick, simplification, or any other kind of device which drastically limits search for solutions in large problem spaces. Heuristics do not guarantee optimal solutions; in fact, they do not guarantee any solution at all: all that can be said for a useful heuristic is that it offers solutions which are good enough most of the time Think like humans: Cognitive science approach. Focus not just on behavior and I/O but also look at reasoning process. The Computational model should reflect “how” results were obtained. Provide a new language forexpressing cognitive theories and new mechanisms for evaluating them. GPS (General Problem Solver): Goal not just to produce humanlike behavior (like ELIZA), but to produce a sequence of steps of the reasoning process that was similar to the steps followed by a person in solving the same task. Act like humans: Behaviorist approach-Not interested in how you get results, just the similarity to what human results are. Example: ELIZA: A program that simulated a psychotherapist interacting with a patient and successfully passed the Turing Test. It was coded at MIT during 1964-1966 by Joel Weizenbaum. First script was DOCTOR. The script was a simple collection of syntactic patterns not unlike regular expressions. Each pattern had an associated reply which might Maharashtra State Board of Technical Education 3 Emerging Trends in CO and IT (22618) include bits of the input (after simple transformations (my →your) Weizenbaum was shocked at reactions: Psychiatrists thought it had potential. People unequivocally anthropomorphized. 1.1.3 Components of AI The core components and constituents of AI are derived from the concept of logic, cognition and computation; and the compound components, built-up through core components are knowledge, reasoning, search, natural language processing, vision etc. Level Core Compound Coarse components Logic Induction Knowledge Knowledge based Proposition Reasoning systems Tautology Control Model Logic Search Heuristic Search Theorem Proving Cognition Temporal Learning Belief Multi Agent system Adaptation Desire Co-operation Self-organization Intention Co-ordination AI Programming Functional Memory Vision Perception Utterance Natural Language Speech Processing The core entities are inseparable constituents of AI in that these concepts are fused at atomic level. The concepts derived from logic are propositional logic, tautology, predicate calculus, model and temporal logic. The concepts of cognitive science are of two types: one is functional which includes learning, adaptation and self-organization, and the other is memory and perception which are physical entities. The physical entities generate some functions to make the compound components The compound components are made of some combination of the logic and cognition stream. These are knowledge, reasoning and control generated from constituents of logic such as predicate calculus, induction and tautology and some from cognition (such as learning and adaptation). Similarly, belief, desire and intention are models of mental states that are predominantly based on cognitive components but less on logic. Vision, utterance (vocal) and expression (written) are combined effect of memory and perceiving organs or body sensors such as ear, eyes and vocal. The gross level contains the constituents at the third level which are knowledge-based systems (KBS), heuristic search, automatic theorem proving, multi- agent systems, Al languages such as PROLOG and LISP, Natural language processing (NLP). Speech processing and vision are based mainly on the principle of pattern recognition. AI Dimension: The philosophy of Al in three-dimensional representations consists in logic, cognition and computation in the x-direction, knowledge, reasoning and interface in the y- direction. The x-y plane is the foundation of AI. The z-direction consists of correlated systems of physical origin such as language, vision and perception as shown in Figure.1.1 Maharashtra State Board of Technical Education 4 Emerging Trends in CO and IT (22618) Fig. 1.2 Three dimensional model of AI The First Dimension (Core) The theory of logic, cognition and computation constitutes the fusion factors for the formation of one of the foundations on coordinate x-axis. Philosophy from its very inception of origin covered all the facts, directions and dimensions of human thinking output. Aristotle's theory of syllogism, Descartes and Kant's critic of pure reasoning and contribution of many other philosophers made knowledge-based on logic. It were Charles Babbage and Boole who demonstrated the power of computation logic. Although the modern philosophers such as Bertrand Russell correlated logic with mathematics but it was Turing who developed the theory of computation for mechanization. In the 1960s, Marvin Minsky pushed the logical formalism to integrate reasoning with knowledge. Cognition: Computers has became so popular in a short span of time due to the simple reason that they adapted and projected the information processing paradigm (IPP) of human beings: sensing organs as input, mechanical movement organs as output and the central nervous system (CNS) in brain as control and computing devices, short-term and long-term memory were not distinguished by computer scientists but, as a whole, it was in conjunction, termed memory. In further deepening level, the interaction of stimuli with the stored information to produce new information requires the process of learning, adaptation and self-organization. These functionalities in the information processing at a certain level of abstraction of brain activities demonstrate a state of mind which exhibits certain specific behaviour to qualify as intelligence. Computational models were developed and incorporated in machines which mimicked the functionalities of human origin. The creation of such traits of human beings in the computing devices and processes originated the concept of intelligence in machine as virtual mechanism. These virtual machines were termed in due course of time artificial intelligent machines. Maharashtra State Board of Technical Education 5 Emerging Trends in CO and IT (22618) Computation The theory of computation developed by Turing-finite state automation—was a turning point in mathematical model to logical computational. Chomsky's linguistic computational theory generated a model for syntactic analysis through a regular grammar. The Second Dimension The second dimension contains knowledge, reasoning and interface which are the components of knowledge-based system (KBS). Knowledge can be logical, it may be processed as information which is subject to further computation. This means that any item on the y-axis is correlated with any item on the x-axis to make the foundation of any item on the z-axis. Knowledge and reasoning are difficult to prioritize, which occurs first: whether knowledge is formed first and then reasoning is performed or as reasoning is present, knowledge is formed. Interface is a means of communication between one domain to another. Here, it connotes a different concept then the user's interface. The formation of a permeable membrane or transparent solid structure between two domains of different permittivity is termed interface. For example, in the industrial domain, the robot is an interface. A robot exhibits all traits of human intelligence in its course of action to perform mechanical work. In the KBS, the user's interface is an example of the interface between computing machine and the user. Similarly, a program is an interface between the machine and the user. The interface may be between human and human, i.e. experts in one domain to experts in another domain. Human-to- machine is program and machine-to-machine is hardware. These interfaces are in the context of computation and AI methodology. The Third Dimension The third dimension leads to the orbital or peripheral entities, which are built on the foundation of x-y plane and revolve around these for development. The entities include an information system. NLP, for example, is formed on the basis of the linguistic computation theory of Chomsky and concepts of interface and knowledge on y-direction. Similarly, vision has its basis on some computational model such as clustering, pattern recognition computing models and image processing algorithms on the x-direction and knowledge of the domain on the y-direction. The third dimension is basically the application domain. Here, if the entities are near the origin, more and more concepts are required from the x-y plane. For example, consider information and automation, these are far away from entities on z-direction, but contain some of the concepts of cognition and computation model respectively on x-direction and concepts of knowledge (data), reasoning and interface on the y-direction. In general, any quantity in any dimension is correlated with some entities on the other dimension. The implementation of the logical formalism was accelerated by the rapid growth in electronic technology, in general and multiprocessing parallelism in particular. Maharashtra State Board of Technical Education 6 Emerging Trends in CO and IT (22618) 1.1.4 Types of AI Artificial Intelligence can be divided in various types, there are mainly two types of main categorization which are based on capabilities and based on functionally of AI. Following is flow diagram which explain the types of AI. Fig 1.3 Types of AI AI type-1: Based on Capabilities 1. Weak AI or Narrow AI: Narrow AI is a type of AI which is able to perform a dedicated task with intelligence. The most common and currently available AI is Narrow AI in the world of Artificial Intelligence. Narrow AI cannot perform beyond its field or limitations, as it is only trained for one specific task. Hence it is also termed as weak AI. Narrow AI can fail in unpredictable ways if it goes beyond its limits. Apple Siriis a good example of Narrow AI, but it operates with a limited pre-defined range of functions. IBM's Watson supercomputer also comes under Narrow AI, as it uses an Expert system approach combined with Machine learning and natural language processing. Some Examples of Narrow AI are playing chess, purchasing suggestions on e- commerce site, self-driving cars, speech recognition, and image recognition. 2. General AI: General AI is a type of intelligence which could perform any intellectual task with efficiency like a human. The idea behind the general AI to make such a system which could be smarter and think like a human by its own. Currently, there is no such system exist which could come under general AI and can perform any task as perfect as a human. The worldwide researchers are now focused on developing machines with General AI. As systems with general AI are still under research, and it will take lots of efforts and time to develop such systems. Maharashtra State Board of Technical Education 7 Emerging Trends in CO and IT (22618) 3. Super AI: Super AI is a level of Intelligence of Systems at which machines could surpass human intelligence, and can perform any task better than human with cognitive properties. It is an outcome of general AI. Some key characteristics of strong AI include capability include the ability to think, to reason, solve the puzzle, make judgments, plan, learn, and communicate by its own. Super AI is still a hypothetical concept of Artificial Intelligence. Development of such systems in real is still world changing task. Artificial Intelligence type-2: Based on functionality 1. Reactive Machines Purely reactive machines are the most basic types of Artificial Intelligence. Such AI systems do not store memories or past experiences for future actions. These machines only focus on current scenarios and react on it as per possible best action. IBM's Deep Blue system is an example of reactive machines. Google's AlphaGo is also an example of reactive machines. 2. Limited Memory Limited memory machines can store past experiences or some data for a short period of time. These machines can use stored data for a limited time period only. Self-driving cars are one of the best examples of Limited Memory systems. These cars can store recent speed of nearby cars, the distance of other cars, speed limit, and other information to navigate the road. 3. Theory of Mind Theory of Mind AI should understand the human emotions, people, beliefs, and be able to interact socially like humans. This type of AI machines are still not developed, but researchers are making lots of efforts and improvement for developing such AI machines. 4. Self-Awareness Self-awareness AI is the future of Artificial Intelligence. These machines will be super intelligent, and will have their own consciousness, sentiments, and self-awareness. These machines will be smarter than human mind. Self-Awareness AI does not exist in reality still and it is a hypothetical concept. 1.1.5 Application of AI AI has been dominant in various fields such as − Gaming: AI plays crucial role in strategic games such as chess, poker, tic-tac-toe, etc., where machine can think of large number of possible positions based on heuristic knowledge. Maharashtra State Board of Technical Education 8 Emerging Trends in CO and IT (22618) Natural Language Processing: It is possible to interact with the computer that understands natural language spoken by humans. Expert Systems: There are some applications which integrate machine, software, and special information to impart reasoning and advising. They provide explanation and advice to the users. Vision Systems: These systems understand, interpret, and comprehend visual input on the computer. For example, o A spying aeroplane takes photographs, which are used to figure out spatial information or map of the areas. o Doctors use clinical expert system to diagnose the patient. o Police use computer software that can recognize the face of criminal with the stored portrait made by forensic artist. Speech Recognition: Some intelligent systems are capable of hearing and comprehending the language in terms of sentences and their meanings while a human talks to it. It can handle different accents, slang words, noise in the background, change in human’s noise due to cold, etc. Handwriting Recognition: The handwriting recognition software reads the text written on paper by a pen or on screen by a stylus. It can recognize the shapes of the letters and convert it into editable text. Intelligent Robots: Robots are able to perform the tasks given by a human. They have sensors to detect physical data from the real world such as light, heat, temperature, movement, sound, bump, and pressure. They have efficient processors, multiple sensors and huge memory, to exhibit intelligence. In addition, they are capable of learning from their mistakes and they can adapt to the new environment. 1.2 Concept of machine learning and deep learning 1.2.1 Machine Learning: Machine learning is a branch of science that deals with programming the systems in such a way that they automatically learn and improve with experience. Here, learning means recognizing and understanding the input data and making wise decisions based on the supplied data. It is very difficult to cater to all the decisions based on all possible inputs. To tackle this problem, algorithms are developed. These algorithms build knowledge from specific data and past experience with the principles of statistics, probability theory, logic, combinatorial optimization, search, reinforcement learning, and control theory. The developed algorithms form the basis of various applications such as: Vision processing Language processing Forecasting (e.g., stock market trends) Pattern recognition Games Data mining Expert systems Maharashtra State Board of Technical Education 9 Emerging Trends in CO and IT (22618) Robotics Machine learning is a vast area and it is quite beyond the scope of this tutorial to cover all its features. There are several ways to implement machine learning techniques, however the most commonly used ones are supervised and unsupervised learning. Supervised Learning: Supervised learning deals with learning a function from available training data. A supervised learning algorithm analyzes the training data and produces an inferred function, which can be used for mapping new examples. Common examples of supervised learning include: classifying e-mails as spam, labeling webpages based on their content, and voice recognition. There are many supervised learning algorithms such as neural networks, Support Vector Machines (SVMs), and Naive Bayes classifiers. Mahout implements Naive Bayes classifier. Unsupervised Learning: Unsupervised learning makes sense of unlabeled data without having any predefined dataset for its training. Unsupervised learning is an extremely powerful tool for analyzing available data and look for patterns and trends. It is most commonly used for clustering similar input into logical groups. Common approaches to unsupervised learning include: k-means self-organizing maps, and hierarchical clustering 1.2.2 Deep Learning Deep learning is a subfield of machine learning where concerned algorithms are inspired by the structure and function of the brain called artificial neural networks. All the value today of deep learning is through supervised learning or learning from labelled data and algorithms. Each algorithm in deep learning goes through the same process. It includes a hierarchy of nonlinear transformation of input that can be used to generate a statistical model as output. Consider the following steps that define the Machine Learning process Identifies relevant data sets and prepares them for analysis. Chooses the type of algorithm to use Builds an analytical model based on the algorithm used. Trains the model on test data sets, revising it as needed. Runs the model to generate test scores. Deep learning has evolved hand-in-hand with the digital era, which has brought about an explosion of data in all forms and from every region of the world. This data, known simply as big data, is drawn from sources like social media, internet search engines, e-commerce platforms, and online cinemas, among others. This enormous amount of data is readily accessible and can be shared through fintech applications like cloud computing. Maharashtra State Board of Technical Education 10 Emerging Trends in CO and IT (22618) However, the data, which normally is unstructured, is so vast that it could take decades for humans to comprehend it and extract relevant information. Companies realize the incredible potential that can result from unraveling this wealth of information and are increasingly adapting to AI systems for automated support. Applications of Machine Learning and Deep Learning Computer vision which is used for facial recognition and attendance mark through fingerprints or vehicle identification through number plate. Information Retrieval from search engines like text search for image search. Automated email marketing with specified target identification. Medical diagnosis of cancer tumors or anomaly identification of any chronic disease. Natural language processing for applications like photo tagging. The best example to explain this scenario is used in Facebook. Online Advertising. References: https://www.tutorialspoint.com/artificial_intelligence/artificial_intelligence_overview. htm https://www.javatpoint.com/introduction-to-artificial-intelligence https://www.tutorialspoint.com/tensorflow/tensorflow_machine_learning_deep_learni ng.htm Sample Multiple Choice Questions 1. __________________is a branch of Science which deals with helping machines find solutions to complex problems in a more human-like fashion a. Artificial Intelligence b. Internet of Things c. Embedded System d. Cyber Security 2. In ______________ the goal is for the software to use what it has learned in one area to solve problems in other areas. a. Machine learning b. Deep learning c. Neural networks d. None of these 3. Computer programs that mimic the way the human brain processes information is called as a. Machine learning b. Deep learning c. Neural networks d. None of these Maharashtra State Board of Technical Education 11 Emerging Trends in CO and IT (22618) 4. The core components and constituents of AI are derived from a. concept of logic b. cognition c. computation d. All of above 5. Chomsky's linguistic computational theory generated a model for syntactic analysis through a. regular grammar b. regular expression c. regular word d. none of these` 6. These machines only focus on current scenarios and react on it as per possible best action a. Reactive Machines b. Limited Memory c. Theory of Mind d. Self-Awareness Maharashtra State Board of Technical Education 12 Emerging Trends in CO and IT (22618) Unit-2 Internet of Things Content 2.1 Embedded Systems: Embedded system concepts, purpose of embedded systems, Architecture of embedded systems, embedded processors-PIC, ARM, AVR,ASIC 2.2 IoT: Definition and characteristics of IoT Physical design of IoT, o Things of IoT, o IoT Protocols Logical design of IoT, o IoT functional blocks, o IoT Communication models, o IoT Communication APIs, IoT Enabling Technologies, IoT levels and deployment templates, IoT Issues and Challenges, Applications IoT Devices and its features: Arduino, Uno, Raspberry Pi, Nodeµ Case study on IoT Applications using various Sensors and actuators 2.1 Embedded Systems: Definition: An embedded system is a microcontroller or microprocessor based system which is designed to perform a specific task. OR An embedded system is a combination of computer hardware and software, either fixed in capability or programmable, designed for a specific function or functions within a larger system. 2.1.1 Embedded system concepts An embedded system can be defined as a microprocessor or microcontroller-based, software- driven, reliable, real-time control system, designed to perform a specific task. An embedded system may be either an independent system or a part of a large system. Embedded System consists of Input Device, Microcontroller (The Brain) and Output Device. There is a main difference between the embedded system and general purpose system is the computing device like a microprocessor has external peripherals i.e. Real-time Clock, USB, Ethernet, WiFi, Bluetooth, ports etc.) connected to it and are visible outside. But an embedded device contains few or all the peripherals inside the module which is called as SOC (System On Chip). 2.1.2 Purpose of embedded systems: The embedded system is used in many domain areas such as consumer electronics, home automation, telecommunication, automotive industries, healthcare, control and instrumentation, banking application, military application etc. According to application usage, Maharashtra State Board of Technical Education 13 Emerging Trends in CO and IT (22618) the embedded system may have the different functionalities. Every embedded system is designed to accomplished the purpose of any one or a combination of following task. Data collection/storage/Representation: Data is collected from the outside world using various sensors for storage, analysis, manipulation and transmission. The data may be information such as voice, text, image, graphics, video, electrical signals or other measurable quantities. The Collected data may be stored or transmitted to other device or processed by the embedded system for meaningful representation. Data communication in embedded system:The data can be transmitted either through wireless media or wired media. The data can be an analog or digital. The data transmission can be done through wireless media such as Bluetooth, ZigBee, Wi-FI, GPRS, Edge etc or wired media such as RS232C, USB, TCP/IP, PC2, Firewire port, SPI, CAN, I2C etc. Data processing:The data which may in the form of Voice, Image, Video, electrical signal or any other measurable quantities is collected by an embedded system and used for various kind of processing depending on the application Monitoring the performance/operation of embedded system:The embedded systems mostly used for monitoring purpose. For example, ECG (Electro cardiogram) machine is used to monitor the heartbeat of the patient. Control the embedded system:The embedded system having control functionalities executes control over some variables as per the input variable. The embedded system having control functionalities contains both sensor and actuator. Sensors are connected as input to the ports of the system to capture the change in measuring variable and actuator are connected to output port as a final control element to control the system as per change in input variables within the specified range. For example, air conditioning system at home is used to control the room temperature as per the specified limit. Application specific user’s interface: Most of the embedded system comes with Application specific user’s interface such as switches, buttons, display, light, bell, keypad etc. For example, mobile phone comes with user interface such as Keyboard, LCD or LED display, Speaker, vibration alert etc. 2.1.3 Architecture of Embedded System: Fig.2.1: Basic Structure of an Embedded System Maharashtra State Board of Technical Education 14 Emerging Trends in CO and IT (22618) Sensor – Sensor is used to measure the physical quantity and converts it to an electrical signal which can be read by any electronic device like an A-D converter. A-D Converter − An analog-to-digital converter converts the analog signal given by the sensor into a digital signal. Processor & ASICs − Processors process the data to measure the output and store it to the memory. D-A Converter − A digital-to-analog converter converts the digital data given by the processor to analog data. Actuator − An actuator compares the output given by the D-A Converter to generates the actual or expected output. An embedded system has three main components: Embedded system hardware: An embedded system uses a hardware platform to execute the operation. Hardware of the embedded system consist of Power Supply, Reset, Oscillator Circuit, Memory i.e. Program and data, Processor (Microcontroller, ARM, PIC, ASIC), Timers, Input/Output circuits, Serial communication ports, SASC (System application specific circuits), Interrupt Controller, Parallel ports. Normally, an embedded system includes the following hardware as shown in Fig. 2.2. Fig. 2.2: Embedded System Hardware Embedded system software: The software of an embedded system is written to execute a particular function. The software used in the embedded system is set of instructions i.e. program. The microprocessors or microcontrollers used in the hardware circuits of embedded systems are programmed to perform specific tasks by following the set of instructions. These programs are mainly written using any programming software like Proteus or Lab-view using any programming languages such as C or C++ or embedded C. Then, the program is stored into the microprocessors or microcontrollers memory that are used in the embedded system circuits. Maharashtra State Board of Technical Education 15 Emerging Trends in CO and IT (22618) Embedded Operating system: An embedded operating system (OS) is a dedicated operating system designed to perform a specific task for a device. The main job of an embedded operating system is to run the code that allows the device to perform its job. The embedded OS also allow the device’s hardware accessible to the software that is running on top of the OS. Embedded operating systems are also known as real-time operating systems (RTOS). The most common examples of embedded operating system around us include Windows Mobile/CE (handheld Personal Data Assistants), Symbian (cell phones) and Linux, Palm OS, iOS - Subset of Mac OS X, used in Apple’s mobile devices 2.1.4 Embedded processors PIC, ARM, AVR, ASIC Embedded Processor consists of Control Unit (CU), Execution unit (EU), inbuilt Program and Data Memory, Timer, Interrupts, Serial communication port, Parallel ports, Input and Output Driver Circuits, Power supply, Reset and Oscillator Circuits, System Application Specific Circuits such as ADC, DAC etc. (a) PIC (Programmable/Peripheral Interface Controllers) PIC microcontrollers are the smallest microcontrollers which can be programmed to perform a large range of tasks. PIC microcontrollers are used in many electronic devices such as phones, computer control systems, alarm systems, embedded systems, etc PIC microcontroller architecture consists of RAM, ROM, CPU, timers, counters, A/D converter, Ports, Flash memory, general purpose register (GPR), special purpose register (SPR), Stack, Interrupt and supports the protocols such as SPI, CAN, and UART for interfacing with other peripherals. Features of PIC RISC (reduced instruction set computer) architecture. On chip program ROM in the form of flash memory. On Chip RAM (random access memory) On Chip Data EEPROM Include Timers. Include ADC (Analog to Digital converter). Include USART protocol for PC communication. Contains I/O ports and I/O port register are bit accessible and port accessible both. Include CAN, SPI and I2C PROTOCOL for serial communication. Support n-stage pipelining Provide interrupts Application of PIC: 1. Motor Control, Digital Power & Lighting Motor Control Digital Power Lighting Automotive Home Appliance High Temperature for 150C Maharashtra State Board of Technical Education 16 Emerging Trends in CO and IT (22618) 2. Human Interface Graphics Solutions Segmented LCD Touch Sensing Solutions Audio and Speech 3. Connectivity Wireless USB Ethernet CAN (b) AVR (Alf-EgilBogenVegardWollan RISC microcontroller or Advanced Virtual RISC) AVR was developed in the year 1996 by Atmel Corporation and the architecture of AVR was designerd by Alf-EgilBogen and VegardWollan. AVR and stands for Alf- EgilBogenVegardWollanRISC microcontroller, also known as Advanced Virtual RISC. AVR microcontroller executes most of the instructions in single execution cycle. AVRs are about four times faster than PICs and consumes less power. AVRs can be operated in different power saving modes. Features of AVR AVRs provides a wide range of features: Internal, self-programmable instruction flash memory up to 256 KB In-system programmable (ISP) using serial/parallel low-voltage proprietary interfaces andOn-chip debugging support through JTAG Internal data EEPROM up to 4 KB and SRAM up to 16 KB External 64 KB little endian data space in some models of AVR 8-bit and 16-bit timers PWM output, Analog comparator 10 or 12-bit A/D converters, with multiplex of up to 16 channels 12-bit D/A converters Synchronous/asynchronous serial peripherals (UART/USART), Serial Peripheral Interface Bus (SPI), I2C Multiple power-saving sleep modes Lighting and motor control (PWM) controller models CAN, USB. Ethernet, LCD, DMA controller support Low-operating voltage devices i.e.1.8 V Applications of AVR Signal sensing and Data acquisition Motion control and Interface motors Displays on LCD Interface any type of sensors and transducers Interface GSM and GPS Maharashtra State Board of Technical Education 17 Emerging Trends in CO and IT (22618) Control and automation of industrial plants, mechanical & electrical systems Automation of heavy machineries Developments for UAVs (Unmanned Aerial Vehicles) Light sensing,Temperature sensing & controlling devices Fire detection & safety devices Industrial instrumentation devices Process control devices (c) ARM microcontroller The ARM (Advanced RISC machine) is a 32-bit Reduced Instructions Set Computer (RISC) microcontroller and introduced by the Acron computers’ organization in 1987.The ARM architecture uses a ‘Harvard architecture’ which support separate data and instruction buses for communicating with the ROM and RAM memories.The ARM microcontrollers support for both low-level and high-level programming languages. Features of ARM microcontroller Load/store RISC architecture. An ARM and Thumb instruction sets i.e. 32-bit instructions can be freely intermixed with 16-bit instructions in a program. Efficient multi-core processing and easier coding for developers. Support multi-processing Enhanced power-saving design. 64 and 32-bit execution states for scalable high performance. Supports Memory Management Unit (MMU) and the Memory Protection Unit (MPU). Support for Digital Signal Processing (DSP) algorithms. Smaller size, reduced complexity and lower power consumption. Floating-point support Applications of ARM microcontroller Smartphones Multimedia players 3dshandheld game consoles Digital cameras Tablet computers Industrial instrument control systems Wireless networking and sensors Automotive body system Robotics Consumer electronics Set-top boxes Digital television Smart watches Wireless lan, 802.11, Bluetooth Maharashtra State Board of Technical Education 18 Emerging Trends in CO and IT (22618) (d) ASIC (Application-specific integrated circuit) An ASIC (application-specific integrated circuit) is a microchip designed for a special application, such as a particular kind of transmission protocol or a hand-held computer. You might contrast it with general integrated circuits, such as the microprocessor and the random access memory chips in your PC. ASICs are used in a wide-range of applications, including auto emission control, environmental monitoring, and personal digital assistants (PDAs). An ASIC can be pre-manufactured for a special application or it can be custom manufactured (typically using components from a "building block" library of components) for a particular customer application. The advantages of ASIC include the following. o The small size of ASIC makes it a high choice for sophisticated larger systems. o As a large number of circuits built over a single chip, this causes high-speed applications. o ASIC has low power consumption. o As they are the system on the chip, circuits are present side by side. So, very minimal routing is needed to connect various circuits. o ASIC has no timing issues and post-production configuration. The disadvantages of ASIC include the following. o As these are customized chips they provide low flexibility for programming. o As these chips have to be designed from the root level they are of high cost per unit. o ASIC have larger time to market margin. 2.2 IoT Definition: The internet of things (IoT) is a computing concept that describes the idea of everyday physical objects being connected to the internet and being able to identify themselves to other devices. Internet of Things (IoT) refers to physical and virtual objects that have unique identities and are connected to the internet to facilitate intelligent applications that make energy, logistics, industrial control, retail, agriculture and many other domains "smarter". Internet of things (IoT) is a new revolution in which endpoints connected to the internet and driven by the advancements in sensor networks, mobile devices, wireless communications, networking and cloud technologies. Characteristics of IoT: Dynamic &Self-Adapting:IoT devices and systems may have the capability to dynamically adapt with the changing contexts and take actions based on their operating conditions, user's context, or sensed environment.For example, the surveillance cameras can adapt their modes (to normal or infra-red night modes) based on whether it is day or night. Self-Configuring:IoT devices may have self-configuring capability, allowing a large number of devices to work together to provide certain functionality (such as weather monitoring). Maharashtra State Board of Technical Education 19 Emerging Trends in CO and IT (22618) Interoperable Communication Protocols:IoT devices may support a number of interoperable communication protocols and can communicate with other devices and also with the infrastructure. Unique Identity: Each IoT device has a unique identity and a unique identifier (such as an IP address or a URI). IoT device interfaces allow users to query the devices, monitor their status, and control them remotely, in association with the control, configuration and managementinfrastructure. Integrated into Information Network: IoT devices are usually integrated into the information network that allows them to communicate and exchange data with other devices and systems. Enormous scale: The number of devices that need to be managed and that communicate with each other will be at least an order of magnitude larger than the devices connected to the current Internet. Features of IoT: Connectivity: Connectivity refers to establish a proper connection between all the things of IoT to IoT platform it may be server or cloud. Analyzing: After connecting all the relevant things, it comes to real-time analyzing the data collected and use them to build effective business intelligence. Integrating: IoT integrating the various models to improve the user experience as well. Artificial Intelligence: IoT makes things smart and enhances life through the use of data. Sensing: The sensor devices used in IoT technologies detect and measure any change in the environment and report on their status. Active Engagement: IoT makes the connected technology, product, or services to active engagement between each other. Endpoint Management: It is important to be the endpoint management of all the IoT system otherwise; it makes the complete failure of the system. Advantages and Disadvantages ofIoT: Advantages of IoT Efficient resource utilization: If we know the functionality and the way that how each device work we definitely increase the efficient resource utilization as well as monitor natural resources. Minimize human effort: As the devices of IoT interact and communicate with each other and do lot of task for us, then they minimize the human effort. Save time: As it reduces the human effort then it definitely saves out time. Time is the primary factor which can save through IoT platform. Improve security: Now, if we have a system that all these things are interconnected then we can make the system more secure and efficient. Maharashtra State Board of Technical Education 20 Emerging Trends in CO and IT (22618) Reduced Waste: IoT makes areas of improvement clear. Current analytics give us superficial insight, but IoT provides real-world information leading to more effective management of resources. Enhanced Data Collection: Modern data collection suffers from its limitations and its design for passive use. IoT breaks it out of those spaces, and places it exactly where humans really want to go to analyze our world. It allows an accurate picture of everything. Disadvantages of IoT Security: As the IoT systems are interconnected and communicate over networks. The system offers little control despite any security measures, and it can be lead the various kinds of network attacks. Privacy: Even without the active participation on the user, the IoT system provides substantial personal data in maximum detail. Complexity: The designing, developing, and maintaining and enabling the large technology to IoT system is quite complicated. Flexibility: Many are concerned about the flexibility of an IoT system to integrate easily with another. They worry about finding themselves with several conflicting or locked systems. Compliance: IoT, like any other technology in the realm of business, must comply with regulations. Its complexity makes the issue of compliance seem incredibly challenging when many consider standard software compliance a battle. 2.2.1 Physical design of IoT: Things of IoT: The "Things" in IoT usually refers to IoT devices which have unique identities and can perform remote sensing, actuating and monitoring capabilities. IoT devices can exchange data with other connected devices and applications (directly or indirectly), or collect data from other devices and process the data either locally or send the data to centralized servers or cloud-based application back-ends for processing the data, or perform some tasks locally and other tasks within the IoT infrastructure, based on temporal and space constraints (i.e., memory, processing capabilities, communication latencies and speeds, and deadlines). Maharashtra State Board of Technical Education 21 Emerging Trends in CO and IT (22618) Fig2.3 Generic Bock Diagram of an IoT Device An IoT device may consist of several interfaces for connections to other devices, both wired and wireless. These include (i) I/O interfaces for sensors, (ii) interfaces for Internet connectivity, (iii) memory and storage interfaces and (iv) audio/video interfaces. An IoT device can collect various types of data from the on-board or attached sensors, such as temperature, humidity, light intensity. The sensed data can be communicated either to other devices or cloud-based servers/storage. IoT devices can be connected to actuators that allow them to interact with other physical entities (including non-IoT devices and systems) in the vicinity of the device. For example, a relay switch connected to an IoT device can turn an appliance on/off based on the commands sent to the IoT device over the Internet. IoT devices can also be of varied types, for instance, wearable sensors, smart watches, LED lights, automobiles and industrial machines. Almost all IoT devices generate data in some form or the other which when processed by data analytics systems leads to useful information to guide further actions locally or remotely. For instance, sensor data generated by a soil moisture monitoring device in a garden, when processed can help in determining the optimum watering schedules. Following Figure shows different types of IoT devices. Maharashtra State Board of Technical Education 22 Emerging Trends in CO and IT (22618) IoT Protocols Fig. 2.4IoT Protocols Link Layer Protocols: Link layer protocols determine how the data is physically sent over the network's physical layer or medium (e.g., copper wire, coaxial cable, or a radio wave). Link layer determines how the packets are coded and signaled by the hardware device over the medium to which the host is attached (such as a coaxial cable). 802.3-Ethernet: IEEE 802.3 is a collection of wired Ethernet standards for the link layer. For example, 802.3 is the standard for 10BASE5 Ethernet that uses coaxial cable as a shared medium, 802.3.i is the standard for 10BASE-T Ethernet over copper twisted-pair connections, 802.3.j is the standard for 10BASE-F Ethernet over fiber optic connections, 802.3ae is the standard for 10 Gbit/s Ethernet over fiber, and so on. 802.11- WiFi: IEEE 802.11 is a collection of wireless local area network (WLAN) communication standards, including extensive description of the link layer. 802.11a operates in the 5 GHz band, 802.11b and 802.11g operate in the 2.4 GHz band, 802.11n operates in the 2.4/5 GHz bands, 802.11ac operates in the 5 GHz band and 802.11ad operates in the 60 GHz band. These standards provide data rates from 1 Mb/s to upto 6.75 Gb/s. 802.16-WiMax: IEEE 802.16 is a collection of wireless broadband standards, including extensive descriptions for the link layer (also called WiMax). WiMaxstandards provide data rates from 1.5 Mb/s to 1 Gb/s. The recent update (802.16m) provides data rates of 100 Mbit/s for mobile stations and 1 Gbit/s for fixed stations. 802.15.4-LR-WPAN: IEEE 802.15.4 is a collection of standards for low-rate wireless personal area networks (LR-WPANs). These standards form the basis of specifications for high level communication protocols such as ZigBee. LR-WPAN standards provide data rates from 40 Kb/s 250 Kb/s. These standards provide low-cost and low-speed communication for power constrained devices. Maharashtra State Board of Technical Education 23 Emerging Trends in CO and IT (22618) 2G/3G/4G - Mobile Communication: There are different generations of mobilecommunication standards including second generation (2G including GSM and CDMA), third generation (3G - including UMTS and CDMA2000) and fourth generation (4G - including LTE). IoT devices based on these standards can communicate over cellular networks. Data rates for these standards range from 9.6 Kb/s (for 2G) to upto 100 Mb/s (for 4G) and are available from the 3GPP websites. Network/Internet Layer Protocols: The network layers are responsible for sending of IP datagrams from the source network to the destination network. This layer performs the host addressing and packet routing. The datagrams contain the source and destination addresses which are used to route them from the source to destination across multiple networks. Host identification is done using hierarchical IP addressing schemes such as IPv4 or IPv6. IPv4: Internet Protocol version 4 (IPv4) is the most deployed Internet protocol that is used to identify the devices on a network using a hierarchical addressing scheme. IPv4 uses a 32-bit address scheme that allows total of 232 or 4,294,967,296 addresses. IPv4 has been succeeded by IPv6. The IP protocols establish connections on packet networks, but do not guarantee delivery of packets. Guaranteed delivery and data integrity are handled by the upper layer protocols (such as TCP). IPv6: Internet Protocol version 6 (IPv6) is the newest version of Internet protocol and successor to IPv4, IPv6 uses 128-bit address scheme that allows total of 2128 or 3.4 x 1038 addresses. 6LOWPAN: 6LOWPAN (IPv6 over Low power Wireless Personal Area Networks) brings IP protocol to the low-power devices which have limited processing capability. 6LOWPAN operates in the 2.4 GHz frequency range and provides data transfer rates of 250 Kb/s. 6LOWPAN works with the 802.15.4 link layer protocol and defines compression mechanisms for IPv6 datagrams over IEEE 802.15.4-based networks. Transport Layer Protocols: The Transport layer protocols provide end-to-end message transfer capability independent of the underlying network. The message transfer capability can be set up on connections, either using handshakes (as in TCP) or without handshakes/acknowledgements (as in UDP). The transport layer provides functions such as error control, segmentation, flow control and congestion control. TCP: Transmission Control Protocol (TCP) is the most widely used transport layer protocol, that is used by web browsers (along with HTTP, HTTPS application layer protocols), email programs (SMTP application layer protocol) and file transfer (FTP). TCP is a connection oriented and stateful protocol. TCP ensures reliable transmission of packets in-order and also provides error detection capability so that duplicate packets can be discarded and lost packets are retransmitted. Maharashtra State Board of Technical Education 24 Emerging Trends in CO and IT (22618) UDP: UDP is a connectionless protocol. UDP is useful for time-sensitive applications that have very small data units to exchange and do not want the overhead of connection setup. UDP is a transaction oriented and stateless protocol. UDP does not provide guaranteed delivery, ordering of messages and duplicate elimination. Higher levels of protocols can ensure reliable delivery or ensuring connections created are reliable. Application Layer Protocols: Application layer protocols define how the applications interface with the lower layer protocols to send the data over the network. The application data, typically in files, is encoded by the application layer protocol and encapsulated in the transport layer protocol which provides connection or transaction oriented communication over the network. Port numbers are used for application addressing (for example port 80 for HTTP, port 22 for SSH, etc.). Application layer protocols enable process-to-process connections using ports. HTTP: Hypertext Transfer Protocol (HTTP) is the application layer protocol that forms the foundation of the World Wide Web (WWW). HTTP includes commands such as GET, PUT, POST, DELETE, HEAD, TRACE, OPTIONS, etc. The protocol follows a request-response model where a client sends requests to a server using the HTTP commands. HTTP is a stateless protocol and each HTTP request is independent of the other requests. An HTTP client can be a browser or an application running on the client (e.g., an application running on an IoT device, a mobile application or other software). HTTP protocol uses Universal Resource Identifiers (URIs) to identify HTTP resources. COAP: Constrained Application Protocol (CoAP) is an application layer protocol for machine-to-machine (M2M) applications, meant for constrained environments with constrained devices and constrained networks. Like HTTP, COAP is a web transfer protocol and uses a request-response model, however it runs on top of UDP instead of TCP. COAP uses a client-server architecture where clients communicate with servers using connectionless datagrams. COAP is designed to easily interface with HTTP. Like HTTP, COAP supports methods such as GET, PUT, POST, and DELETE. COAP draft specifications are available on IEFT Constrained environments (CORE) Working Group website. WebSocket: WebSocket protocol allows full-duplex communication over a single socket connection for sending messages between client and server. WebSocket is based on TCP and allows streams of messages to be sent back and forth between the client and server while keeping the TCP connection open. The client can be a browser, a mobile application or an IoT device. MQTT: Message Queue Telemetry Transport (MQTT) is a light-weight messaging protocol based on the publish-subscribe model. MQTT uses a client-server architecture where the client (such as an IoT device) connects to the server (also called MQTT Broker) and publishes messages to topics on the server. The broker forwards the messages to the clients subscribed to topics. MQTT is well suited for constrained environments where the devices have limited processing and memory resources and the network bandwidth is low. Maharashtra State Board of Technical Education 25 Emerging Trends in CO and IT (22618) XMPP: Extensible Messaging and Presence Protocol (XMPP) is a protocol for real-time communication and streaming XML data between network entities. XMPP powers wide range of applications including messaging, presence, data syndication, gaming, multi-party chat and voice/video calls. XMPP allows sending small chunks of XML data from one network entity to another in near real-time. XMPP is a decentralized protocol and uses a client-server architecture. XMPP supports both client-to-server and server-to-server communication paths. In the context of IoT, XMPP allows real-time communication between IoT devices. DDS: Data Distribution Service (DDS) is a data-centric middleware standard for device-to- device or machine-to-machine communication. DDS uses a publish-subscribe model where publishers (e.g. devices that generate data) create topics to which subscribers (e.g., devices that want to consume data) can subscribe. Publisher is an object responsible for data distribution and the subscriber is responsible for receiving published data. DDS provides quality-of-service (QoS) control and configurable reliability. AMOP: Advanced Message Queuing Protocol (AMQP) is an open application layer protocol for business messaging. AMQP supports both point-to-point and publisher/subscriber models, routing and queuing. AMQP brokers receive messages from publishers (e.g., devices or applications that generate data) and route them over connections to consumers (applications that process data). Publishers publish the messages to exchanges which then distribute message copies to queues. Messages are either delivered by the broker to the consumers which have subscribed to the queues or the consumers can pull the messages from the queues. 2.2.2 Logical design of IoT: Logical design of an IoT system refers to an abstract representation of the entities and processes without going into the low-level specifics of the implementation. IoT functional blocks: An IoT system comprises of a number of functional blocks that provide the system the capabilities for identification, sensing, actuation, communication, and management Fig. 2.5Fundamental block of IoT Maharashtra State Board of Technical Education 26 Emerging Trends in CO and IT (22618) Device: An IoT system comprises of devices that provide sensing, actuation, monitoring and control functions. Communication: The communication block handles the communication for the IoT system. Services: An IoT system uses various types of IoT services such as services for device monitoring, device control services, data publishing services and services for device discovery. Management: Management functional block provides various functions to govern the IoT system. Security: Security functional block secures the IoT system and by providing functions such as authentication, authorization, message and content integrity, and data security. Application: IoT applications provide an interface that the users can use to control and monitor various aspects of the IoT system. Applications also allow users to view the system status and view or analyze the processed data. IoT Communication models: Request-Response: Request-Response is a communication model in which the client sends requests to the server and the server responds to the requests. When the server receives a request, it decides how to respond, fetches the data, retrieves resource representations, prepares the response, and then sends the response to the client. Request-Response model is a stateless communication model and each request-response pair is independent of others. Fig.2.6Request-Response communication model Publish-Subscribe: Publish-Subscribe is a communication model that involves publishers, brokers and consumers. Publishers are the source of data. Publishers send the data to the topics which are managed by the broker. Publishers are not aware of the consumers. Consumers subscribe to the topics which are managed by the broker. When the broker receives data for a topic from the publisher, it sends the data to all the subscribed consumers. Maharashtra State Board of Technical Education 27 Emerging Trends in CO and IT (22618) Fig.2.7Publish-Subscribe communication model Push-Pull: Push-Pull is a communication model in which the data producers push the data to queues and the consumers pull the data from the queues. Producers do not need to be aware of the consumers. Queues help in decoupling the messaging between the producers and consumers. Queues also act as a buffer which helps in situations when there is a mismatch between the rate at which the producers push data and the rate rate at which the consumers pull data. Fig. 2.8Push-Pull communication model Exclusive Pair: Exclusive Pair is a bi-directional, fully duplex communication model that uses a persistent connection between the client and server. Once the connection is setup it remains open until the client sends a request to close the connection. Client and server can send messages to each other after connection setup. Exclusive pair is a stateful communication model and the server is aware of all the open connections. Maharashtra State Board of Technical Education 28 Emerging Trends in CO and IT (22618) Fig.2.9 Exclusive Pair communication model IoT Communication APIs: REST-based Communication APIs REST is acronym for REpresentational State Transfer. It is architectural style for distributed hypermedia systems. It is a set of architectural principles by which you can design web services and web APIs that focus on a system's resources and how resource states are addressed and transferred.The REST architectural constraints are as follows: Client–server – By separating the user interface concerns from the data storage concerns, we improve the portability of the user interface across multiple platforms and improve scalability by simplifying the server components. Stateless – Each request from client to server must contain all of the information necessary to understand the request, and cannot take advantage of any stored context on the server. Session state is therefore kept entirely on the client. Cacheable – Cache constraints require that the data within a response to a request be implicitly or explicitly labeled as cacheable or non-cacheable. If a response is cacheable, then a client cache is given the right to reuse that response data for later, equivalent requests. Uniform interface – By applying the software engineering principle of generality to the component interface, the overall system architecture is simplified and the visibility of interactions is improved. In order to obtain a uniform interface, multiple architectural constraints are needed to guide the behavior of components. REST is defined by four interface constraints: identification of resources; manipulation of resources through representations; self-descriptive messages; and, hypermedia as the engine of application state. Layered system – The layered system style allows an architecture to be composed of hierarchical layers by constraining component behavior such that each component cannot “see” beyond the immediate layer with which they are interacting. Maharashtra State Board of Technical Education 29 Emerging Trends in CO and IT (22618) Code on demand (optional) – REST allows client functionality to be extended by downloading and executing code in the form of applets or scripts. This simplifies clients by reducing the number of features required to be pre-implemented. Fig.2.10 Communication with REST APIs Fig. 2.11Request-Response Model used by REST A RESTful web service is a "web API" implemented using HTTP and REST principles. HTTP Resource Type Action Example Method GET Collection URI List all the resources http://example.com/api/ in a collection tasks/(list all tasks) GET Element URI Get information http://example.com/api/ about a resource tasks/1/(get information on task- 1) POST Collection URI Create a new http://example.com/api/ Maharashtra State Board of Technical Education 30 Emerging Trends in CO and IT (22618) resource tasks/(create a new task from data provided in the request) POST Element URI Generally not used PUT Collection URI Replace the entire http://example.com/api/ collection with tasks/(replace entire collection another collection with data provided in the request) PUT Element URI Update a resource http://example.com/api/ tasks/1/(update task-1 with data provided in the request) DELETE Collection URI Delete the entire http://example.com/api/ collection tasks/(delete all tasks) DELETE Element URI Delete a resource http://example.com/api/ tasks/1/(delete task-1) Table 2.1: HTTP request methods and actions WebSocket-based Communication APIs: WebSocket APIs allow bi-directional, full duplex communication between clients and servers. WebSocket APIs follow the exclusive pair communication model described in previous section and as shown in Figure. Fig.2.12Exclusive pair model used by WebSocket APIs Unlike request-response APIs such as REST, the WebSocket APIs allow full duplex communication and do not require a new connection to be setup for each message to be sent. WebSocket communication begins with a connection setup request sent by the client to the server. This request (called a WebSocket handshake) is sent over HTTP and the server interprets it as an upgrade request. If the server supports WebSocket protocol, the server responds to the WebSocket handshake response. After the connection is setup, the client and server can send data/messages to each other in full-duplex mode. WebSocket APIs reduce the Maharashtra State Board of Technical Education 31 Emerging Trends in CO and IT (22618) network traffic and latency as there is no overhead for connection setup and termination requests for each message. WebSocket is suitable for IoT applications that have low latency or high throughput requirements. 2.2.3 IoT Enabling Technologies: IoT is enabled by several technologies including wireless sensor networks, cloud computing, big data analytics, embedded systems, security protocols and architectures, communication protocols, web services, mobile internet and semantic search engines. Following are some technologies which play a key role in IoT. Wireless Sensor Networks: A Wireless Sensor Network (WSN) comprises of distributed devices with sensors which are used to monitor the environmental and physical conditions. AWSN consist of a number of end-nodes and routers and a coordinator. End nodes have several sensors attached them. End nodes can also act as routers. Routers are responsible for routing the data packets from end-nodes to the coordinator. The coordinator collects the data from all the nodes. Coordinator also acts as a gateway that connects the WSN to the Internet. Some examples of WSNs used in IoT systems are described as follows: Weather monitoring systems Indoor air quality monitoring systems. Soil moisture monitoring systems Surveillance systems Smart grids Structural health monitoring systems ZigBee is one of the most popular wireless technologies used by WSNs. ZigBee specifications are based on IEEE 802.15.4. ZigBee operates at 2.4 GHz frequency and offers data rates upto 250 KB/s and range from 10 to 100 meters depending on the power output and environmental conditions. Cloud Computing: Cloud computing is a transformative computing paradigm that involves delivering applications and services over the internet. Cloud computing services are offered to user in different forms: Infrastructure-as-a-Service (IaaS):IaaS provides the users the ability to provision computing and storage resources. These resources are provided to the users as virtual machine instances and virtual storage. Users can start, stop, configure and manage the virtual machine instances and virtual storage. Users can deploy operating systems and applications of their choice on the virtual resources provisioned in the cloud. The cloud service provider manages the underlying infrastructure. Virtual resources provisioned by the users are billed based on a pay-per-use paradigm. Some examples of the wide usage of IaaS are automated, policy-driven operations such as backup, recovery, monitoring, clustering, internal networking, website hosting, etc. The service provider is responsible for building the servers and storage, networking firewalls/ security, and the physical data center. Some key players offering IaaS are Amazon Maharashtra State Board of Technical Education 32 Emerging Trends in CO and IT (22618) EC2, Microsoft Azure, Google Cloud Platform, GoGrid, Rackspace, DigitalOcean among others. Platform-as-a-Service (PaaS): PaaS provides the users the ability to develop and deploy application in the cloud using the development tools, application programming interfaces (APIs), software libraries and services provided by the cloud service provider. The cloud service provider manages the underlying cloud infrastructure including servers, network, operating systems and storage. The users, themselves, are responsible for developing, deploying, configuring and managing applications on the cloud infrastructure. The PaaS environment enables cloud users (accessing them via a webpage) to install and host data sets, development tools and business analytics applications, apart from building and maintaining necessary hardware. Some key players offering PaaS are Bluemix, CloudBees, Salesforce.com, Google App Engine, Heroku, AWS, Microsoft Azure, OpenShift, Oracle Cloud, SAP and OpenShift. Software-as-a-Service (SaaS):SaaS provides the users a complete software application or the user interface to the application itself. The cloud service provider manages the underlying cloud infrastructure including servers, network, operating systems, storage and application software, and the user is unaware of the underlying architecture of the cloud. Applications are provided to the user through a thin client interface (e.g., a browser). SaaS applications are platform independent and can be accessed from various client devices such as workstations, laptop, tablets and smart- phones, running different operating systems. Since the cloud service provider manages both the application and data, the users are able to access the applications from anywhere.SaaS lets users easily access software applications -- such as emails -- over the internet. Most common examples of SaaS are Microsoft Office 360, AppDynamics, Adobe Creative Cloud, Google G Suite, Zoho, Salesforce, Marketo, Oracle CRM, Pardot Marketing Automation, and SAP Business ByDesign. Benefits of cloud computing services Faster implementation and time to value Anywhere access to applications and content Rapid scalability to meet demand Higher utilization of infrastructure investments Lower infrastructure, energy, and facility costs Greater IT staff productivity and across organization Enhanced security and protection of information assets Big Data Analytics: Big Data analytics is the process of collecting, organizing and analyzing large sets of data (called Big Data) to discover patterns and other useful information. Big Data analytics can help organizations to better understand the information contained within the data and will also Maharashtra State Board of Technical Education 33 Emerging Trends in CO and IT (22618) help identify the data that is most important to the business and future business decisions. Analysts working with Big Data typically want the knowledge that comes from analyzing the data.Big Data Analytics involved several steps starting from data cleansing, data munging (or wrangling), data processing and visualization. 2.2.4 IoT levels and deployment templates: IoT Level1: System has a single node that performs sensing and/or actuation, stores data, performs analysis and host the application as shown in fig. Suitable for modeling low cost and low complexity solutions where the data involved is not big and analysis requirement are not computationally intensive. An e.g., of IoT Level1 is Home automation. Fig.2.13IoT Level-1 IoT Level2: has a single node that performs sensing and/or actuating and local analysis as shown in fig. Data is stored in cloud and application is usually cloud based. Level2 IoT systems are suitable for solutions where data are involved is big, however, the primary analysis requirement is not computationally intensive and can be done locally itself. An e,g., of Level2 IoT system for Smart Irrigation. Maharashtra State Board of Technical Education 34 Emerging Trends in CO and IT (22618) Fig. 2.14IoT Level-2 IoT Level3: system has a single node. Data is stored and analyzed in the cloud application is cloud based as shown in fig. Level3 IoT systems are suitable for solutions where the data involved is big and analysis requirements are computationally intensive. An example of IoT level3 system for tracking package handling. Fig. 2.15IoT Level-3 IoT Level4: System has multiple nodes that perform local analysis. Data is stored in the cloud and application is cloud based as shown in fig. Level4 contains local and cloud based observer nodes which can subscribe to and receive information collected in the cloud from IoT devices. An example of a Level4 IoT system for Noise Monitoring. Maharashtra State Board of Technical Education 35 Emerging Trends in CO and IT (22618) Fig.2.16IoT Level-4 IoT Level5: System has multiple end nodes and one coordinator node as shown in fig. The end nodes that perform sensing and/or actuation. Coordinator node collects data from the end nodes and sends to the cloud. Data is stored and analyzed in the cloud and application is cloud based. Level5 IoT systems are suitable for solution based on wireless sensor network, in which data involved is big and analysis requirements are computationally intensive. An example of Level5 system for Forest Fire Detection. Fig.2.17IoT Level-5 Maharashtra State Board of Technical Education 36 Emerging Trends in CO and IT (22618) IoT Level6: System has multiple independent end nodes that perform sensing and/or actuation and sensed data to the cloud. Data is stored in the cloud and application is cloud based as shown in fig. The analytics component analyses the data and stores the result in the cloud data base. The results are visualized with cloud based application. The centralized controller is aware of the status of all the end nodes and sends control commands to nodes. An example of a Level6 IoT system for Weather Monitoring System. Fig. 2.18IoT Level-6 2.2.5 IoT Issues and Challenges, Applications Most of Issues and Challenges relevant to IoTare: Data Privacy: Some manufacturers of smart TVs collect data about their customers to analyze their viewing habits so the data collected by the smart TVs may have a challenge for data privacy during transmission. Data Security: Data security is also a great challenge. While transmitting data seamlessly, it is important to hide from observing devices on the internet. Insurance Concerns: The insurance companies installing IoT devices on vehicles collect data about health and driving status in order to take decisions about insurance. Lack of Common Standard: Since there are many standards for IoT devices and IoT manufacturing industries. Therefore, it is a big challenge to distinguish between permitted and non-permitted devices connected to the internet. Technical Concerns: Due to the increased usage of IoT devices, the traffic generated by these devices is also increasing. Hence there is a need to increase networ