Ubiquitous Flashcards
What is ubiquitous computing?
Computing that is performed in accordance with context:
- Environment (temperature, humidity, sound)
- User (Human/remote device, gestures)
- Computing Resources (battery power, memory, bandwidth)
What are some examples of sensing in ubiquitous computing?
- Location
- Motion
- Emotion
- Gesture
- User ID
Mobile & Ubiquitous Computing is Volatile. What does that mean?
- Volatility refers to the incremental and continuous change in the ubiquitous environment over time
- It refers to the failure of devices and their communication links as well as the changes in the characteristics of communication
What are some forms of volatility in connectivity?
- Variation between different technologies (Bluetooth, WiFi, 3G, 4G, etc.) causing changes to:
o Bandwidth
o Latency
o Energy costs
o Financial costs to communicate - Disconnection:
o In wireless networks
o Multi-hop routing - Variable bandwidth and latency:
o Packet loss due to weak signal
o Variation in Signal strength
What are some challenges in Mobile & Ubiquitous Computing?
- Sensor design (miniaturization, low cost)
- Invisibility (room with million sensors, minimal user distraction)
- Localized scalability (more distant, less communication)
- Uneven conditioning
- Context awareness
- Cyber-foraging (offloading in edge computing)
- Self-configuring networks & systems
- Smart spaces
What is Throughput?
Throughput is a measure of how many units of information a system can process in a given amount of time. A rather general definition can be the amount of work done per unit time
What is Network Bandwidth?
Network bandwidth is a measure of the data transfer rate or capacity of a given network. Network bandwidth is commonly measured in bits per second (bps).
What is Network Latency?
Network latency is the delay in network communication. It shows the time that data takes to transfer across the network. Networks with a longer delay or lag have high latency, while those with fast response times have low latency
What is RFID?
Radio Frequency Identification (RFID) is a form of wireless communication that incorporates the use of electromagnetic or electrostatic coupling in the radio frequency portion of the electromagnetic spectrum to uniquely identify an object (carrying an RFID tag)
What is the difference between passive and active RFIDS?
Passive RFID tags do not have their own power source, unlike active RFID tags
What are some applications of RFIDs?
- Asset tracking: Tracking shipping containers, trucks and railroad, cars, Personnel, livestock
- Payment systems
- Credit-card shaped for access application
- Access control to restricted areas
- Document Identification, authentication, ID badging
- Supply chain management
- Counterfeit prevention (e.g., in the pharmaceutical industry)
What is a WPAN?
A Wireless Personal Area Network (WPAN) interconnects technology devices, wirelessly, typically within the range of a single user (human/machine), Small Office or Home Office (SOHO) environment, or workgroup. (Bluetooth)
What are some applications of a WPAN?
- Wireless Body Area Network/Body Sensor Network
- Wearable technology: smart clothing, smart watches with sensors
- Offline network: Multiple devices integrated together through WPAN forming a small, single-space network without internet.
- SOHO: For work purposes, Separate from other home networks
What is a WLAN?
A Wireless Local Area Network (WLAN) interconnects technology devices, wirelessly, typically within the range of a multiple users. It is still a small network of devices, but offers more range and connectivity! (Wi-Fi)
What is a WNAN/WMAN?
A Wireless Neighborhood/Metropolitan Area Network (WNAN/WMAN) interconnects technology devices, wirelessly, typically within a larger range of a multiple users. (WiMAX)
What is a WWAN?
- Wireless Wide Area Networks (WWAN) extend beyond 50 km
- Typically use licensed frequency bands
- WWANs can be maintained over large areas, such as cities or countries, via multiple satellite systems or antenna sites looked after by an internet services provider.
What is the IoT?
The Internet of Things, also called the Internet of Objects, refers to a wireless network between objects, usually the network will be wireless and self-configuring, such as household appliances.
What is a ‘Thing’ in IoT?
A “Thing” in Internet of Things (IoT) can be any object, physical or virtual, that has a unique identifier and which can send/receive data (including user data) over a network
What are some characteristics of IoT?
- Intelligence: Ability to extract knowledge from the generated/available data, dynamic & self-adapting
- Architecture: A hybrid architecture that can support many systems
- Complex System: A diverse set of dynamically changing objects
- Interoperability: Support for Interoperable Communication Protocols
- System Dimensions/Size: Scalability is key to IoT systems
- Timing Constraints: Millions of simultaneous and parallel events may occur
- Space Constraints: Localization: Positioning system to locate objects/ people using radio waves, magnetic fields, acoustic signals, or other sensory information collected by mobile devices
- Everything-as-a-Service: Consuming resources as a service
What are the building blocks for IoT?
- Sensing: Sensors can be either on-board the IoT device or attached to the device
- Actuation: IoT devices can have various types of actuators attached that allow taking actions upon the physical entities in the vicinity of the device
- Communication: Communication modules are responsible for sending collected data to other devices or cloudbased servers/storage and receiving data from other devices and commands from remote applications
- Processing: Analysis and processing modules are responsible for making sense of the collected data
What is the Perception Layer in IoT?
- Also known as the device layer, consists of multiple elements sensors, cameras, actuators, and similar devices that gather data and perform tasks
- Primarily, the measurements are done at the perception layer!
- Example: An IoT Sensor on assemblyline to conduct quality control checks
What is the Transport Layer in IoT?
- Transmits data from multiple devices (e.g., on-site sensors, cameras,
actuators) to an on-premise or cloud data centre - IoT gateways convert the incoming input from Analog to Digital format
- Example: Depending on the type of network (PAN/LAN/WAN), multiple technologies are available
What is the Processing Layer in IoT?
- Also called the Middleware layer, responsible for analysing input data to generate new insights, useful predictions, and timely warnings
- Must be stable & provides reusable solutions to frequently encountered problems like heterogeneity, interoperability, security, dependability
What is the three stage approach the Processing Layer uses on data in IoT?
- Accumulation: Assignment to the appropriate storage (structured/unstructured data)
- Abstraction: Aggregation from multiple sources & format conversion
- Analysis: Employment of advanced techniques (ML/DL) to detect patterns
What is the Application Layer in IoT?
- Involves decoding promising patterns in IoT data and compiling them into summaries that are easy for humans to understand, such as graphs and tables.
- Examples: Programs for device control and monitoring, as well as process control software
What is the Business Layer in IoT?
- Patterns decoded at the application level can be used to further distill business insights, project future trends, and drive operational decisions
- Improves the efficiency, safety, cost-effectiveness, customer experience, and other important aspects of business functionality
What is the Edge (Computing) Layer in IoT?
- Portion of a network that consists of edge devices
- Refers to devices at the periphery of an IoT network that process data close to the point of origin, rather than at a centralized location
- Also known as “IoT edge
computing”
What are some examples of IoT Applications?
- Smart Lighting
- Smart Appliances
- Intrusion Detection
- Smart Roads
- Emergency Response
- Weather Monitoring
- Noise Pollution Monitoring
- Smart Grids
- Smart Payments
- Shipment Monitoring
What is the hardware and software used in IoT development boards?
Hardware:
- Microcontrollers or Microprocessors
- Sensors and actuators
- Interfaces
- Internet Connectivity
Software:
- Open source IDE
- Common languages
- OSs
What are functional blocks in IoT development boards?
- Functional blocks provide the system the capabilities for identification, sensing, actuation, communication, and management
- An abstract representation of the entities and processes
What are the communication models in IoT devices?
- Request-Response Model
- Publish-Subscribe Model
- Push-Pull Model
- Exclusive-Pair Model
- WebSocket APIs Model
What are some examples of IoT Development Boards?
- Raspberry Pi
- Arduino
- pcDuino
- BeagleBone Black
- Cubieboard
What should be considered when choosing the OS for an IoT?
- Hardware Compatibility
- Resource Contraints
- Real-Time Requirements
- Security
- Power Efficiency
- Scalability
- Community and Support
- Networking and Connectivity
- Compliance and Regulations
- Ecosystem
What is the Instruction Set Architecture?
Instruction Set Architecture is the structure of a computer that a machine language programmer (or a compiler) must understand to write a correct (timing independent) program for that machine
What does the ISA define?
- Operations that the processor can execute
- Data Transfer + Access mechanisms for data
- Control Mechanisms (branch, jump, etc)
- Contract between programmer/compiler + HW
What is Moore’s Law?
- The number of transistors on a chip double every 2 years (or so)
- More Precisely:
o Feature sizes shrink by 0.7x
o Number of transistors per die increases by 2x
o Speed of transistors increases by 1.4x
What are the effects of Hardware Renaissance?
- This growth has enhanced the capability of common users
- New classes of computers are introduced
- Power dissipation
- Moore’s law goes multicore
- Lack of (more) Extractable Parallelism
- Security Vulnerabilities in hardware
What are the classifications of computing hardware?
- Personal mobile devices (PMDs)
- Desktop computers
- Server computers
- Cluster/warehouse scale computers
- Embedded computers
What are the two kinds of parallelism that exist in applications?
- Data-Level Parallelism
- Task-Level Parallelism
What are the four ways to exploit application parallelism by architecture?
- Instruction-Level Parallelism (ILP)
- Vector architecture/Graphic Processing Units (GPUs)
- Thread-Level Parallelism (TLP)
- Request-level Parallelism
What is Amdahl’s Law?
The performance improvemnt to be gained from using a faster mode of execution is limited by the fraction of time that faster mode can be used
What is speedup as per Amdahl’s Law?
How much faster a task will run, overall, using the computer with enhancement as opposed to the original computer
What are the two ways to find out Speedup as per Amdahl’s Law?
- The fraction of the computation time in the original computer that can be converted to take advantage of the enhancement
- The improvement gained by the enhanced execution mode, i.e., how much faster the task would run if the enhanced mode were used for the entire program - the time of the original mode over the time of the enhanced mode
What is the equation of Amdahls’s Law?
Speedup(overall) = Execution time(old) / Execution time (new) = 1 / ((1-Fraction(enhanced)) + (Fraction(enhanced) / Speedup(enhanced)))
What are the primary concerns regarding power dissipation in computing systems?
- Maximum power a processor ever requires
- Sustained power consumption
What is the relationship between Power and Energy?
Power is energy consumed per unit time OR Energy is the cumulative power sonsumed over a certain period of time
What is the power consumption in CMOS? What do the symbols mean?
P(dyn) = alpha x CL x V^2DD x f
CL is the reduction in capacitive load
alpha is the reduction in activity factor
What is CPU time?
CPU clock cycles for a program x Clock cycle time OR CPU clock cycles for a program / Clock rate
What is CPI (Cycles per Instruction)?
CPU clock cycles for a program / Instruction Count
What is an Embedded System?
Embedded system is a computer system with a dedicated function within a larger mechanical
or electrical system, often with real-time computing constraints
What is a CPS?
A cyber-physical system is:
- An integration of computation with physical processes
- Embedded computers monitor and control the physical processes
- Feedback loops - physical processes affect computation, and vice versa
What are some characteristics of Embedded Hardware?
- Domain/Application-specific
- Energy-efficiency
- Power constraints
- Cost
- Programmability
- Design Complexity
What are some characteristics of Embedded Software?
- Real-time
- Reactive
- Concurrency
- Dependability
- Reliability
- Efficiency
- (Lack of) Abstraction
What are Real-time (Embedded) Systems?
- A special class of embedded systems
- Distinguished from the rest of Embedded Systems by its requirement to respond to external events in timely manner
- All Real-time Systems are not Embedded Systems
- All Embedded Systems are not Real-time Systems
What is temporal and logical correctness?
- Logical Correctness: If a system produces an output correctly, for which it is designed
- Temporal Correctness: If a system produces a logically correct output at a correct time
What is a HARD Real-time (embedded) system?
- Completion of a logically correct operation after its deadline is unacceptable
- Operation may cause a critical failure of the system
- Operation may expose end-users to hazardous situations
- Penalty for even a single temporal constraint violation can geopardize the entire system
- Examples: Aerospace, nuclear reactor, power plant, and automobile applications would use such systems
What is a SOFT Real-time (embedded) system?
- Lower strictness as compared to hard real-time systems
- Violation of timing constraints does not make produced logically correct outputs entirely useless or hazardous
- System can continue to operate even if deadlines of most operations are missed
- Consequences of missing deadlines could be smaller than the cost of meeting them in all possible circumstances
- Example: Cellular phone and multimedia applications can use such systems
What is a FIRM Real-time (embedded) system?
- An intermediate paradigm between hard and soft real-time systems
- Only a predefined ratio of deadline miss is allowed
- Tolerate some latency in operations –i.e., a deadline miss results only in a degradation in the Quality of Service (QoS)
- Example: Flight ticketing data servers that require concurrency, but can afford a delay in seconds, may use firm real-time systems
What is Edge Computing?
- Edge computing is a distributed IT architecture in which client data is processed at the periphery of the network, as close to the originating source as possible
- Edge Computing moves some portion of compute & storage resources out of central data center & closer to the data source
What is Cloud Computing?
- Cloud computing is a huge, highly scalable deployment of compute and storage resources at one of several distributed global locations (regions)
- Provides an assortment of pre-packaged services for IoT operations, making the cloud a preferred centralized platform for IoT deployments.
- Closest regional cloud facility can still be hundreds of miles from the point where data is collected
- Connections rely on the same temperamental internet
What is Fog Computing?
- A cloud data center might be too far away!
- The edge deployment might simply be too resource-limited, or physically scattered or distributed, to make strict edge computing practical
- Typically puts compute and storage resources “within” the vicinity of data, but not necessarily “at” the data source
- Fog computing can operate a series of fog node deployments within the environment to collect, process and analyze data
- Fog & Edge computing share an almost identical definition and architecture
What is Consumer-oriented Services?
- End user is the direct beneficiary.
- Require fast responses, and/or significant amount of computing resources not available at the user end (UE).
- Benefits from offloading tasks to, and caching content at Edge Computing servers
What is Third-party or Operator Services?
- Operators and third parties are beneficiaries
- Huge amount of data from the users or sensors can be collected, pre-processed in near real-time, and analysed at the Edge computing node
- Results can be transmitted to centralized server for archiving or further analytics
What is Task Offloading?
Transfer of resource-intensive computational tasks to an external, resource-rich platform such as Cloud, Edge or Fog Computing
What is the offloading decision is dependent on?
- Additional energy consumption associated with offloading
- Additional delays incurred in offloading
- Time-varying radio channels
- Available computation resources for mobile devices
- Location of devices
What is Edge Caching?
Edge caching combines traditional caching methods and edge computing infrastructure to store data as close to the user as possible
What is a Distributed System?
A distributed system (DS) is a collection of entities, each of which isautonomous, programmable, asynchronous and failure-prone, and which communicate through an unreliable communication medium.
Is distributed computing a subset of parallel computing?
In favor:
- Distributed computing is parallel computing on geographically spread machines
Against:
- They address different issues
- Distributed computing is focused on issues related to computation and data distribution
- Parallel computing does not address problems such as partial failures
- Parallel computing focuses on tightly coupled applications
What are the goals of Distributed Computing?
- Heterogeneity/interoperability
- Robustness
- Availability
- Transparency
- Concurrency
- Efficiency
- Scalability
- Security
- Privacy
- Openness
What are some design challenges of Distributed Computing?
- No global clock
- Unpredictable failures of components
- Highly variable bandwidth
- Large and variable latency
- Large numbers of hosts
- Security and privacy
- Interoperability
What are some configurations for Distributed Computing?
- Client-Server
- Peer-to-Peer
- Proxy Server-based
What are some communication models in Distributed Computing?
- Message-Passing Model
- Distributed Shared Memory Model
What are some types of Distributed Shared Memory?
- On-chip Memory
- Bus-Based Multiprocessor
- Ring-based Multiprocessor
What does each section of the CIA Triad mean?
- Availability: Refers to the accessibility of data when user/system need them. Assets are accessible to authorized parties at appropriate times
- Integrity: Means data is trustworthy, complete, and have not been accidentally or deliberately altered by an unauthorized user. Assets can be modified only by authorized parties or only in authorized ways
- Confidentiality: Refers to protecting information from unauthorized access. Ensures that computer-related assets are accessed only by authorized parties
What is authentication?
The ability to accurately identify the user or origin of data being produced
What is an adversary (threat agent)?
An entity that attacks, or is a threat to, a system
What is an asset/system resource?
Data, a service provided by a system, a system capability, an item of system equipment, a facility that houses system operations and equipment
What is a Risk?
An expectation of loss expressed as the probability that a particular threat will exploit a particular vulnerability with a particular harmful result
What is a Vulnerability?
Flaw or weakness in a system’s design, implementation, or operation and management that could be exploited to violate the system’s security policy
What is a Threat?
- Capability to exploit any of the vulnerabilities
- A potential for violation of security, which exists when there is a circumstance, capability, action, or event that could breach security and cause harm
What is an Attack?
- A threat being carried out!
- An assault on system security that derives from an intelligent threat; a deliberate attempt to evade security services and violate security policy of a system
What is a Countermeasure?
- A mean used to deal with the Attack [prevention, detection, recovery]
- An action, device, procedure, or technique that reduces a threat, a vulnerability, or an attack by eliminating or preventing it, by minimizing the harm it can cause, or by discovering and reporting it so that corrective action can be taken
What is an Interception Attack?
- Interception attacks are any situation where a malicious actor can access private or
confidential information with no legitimate authorization. - Eavesdropping attacks are a typical example of this category of attack. Several techniques, such as packet sniffing and Man-in-the-Middle!
- This is a form of passive attack. Threat to data confidentiality
What is a Modification Attack?
- Modification attacks are any situation where an attacker intercepts communication between the Information source (sender) and information destination (receiver) without their knowledge and tampers with the information.
- Threat to the integrity and availability properties of information
- Examples include Man-in-the-Middle
- Attacker can reconfigure the system hardware, remove a message in a network or modify its content
What is a Fabrication Attack?
- Fabrication attacks are any situation where an intruder injects bogus data or creates a false trail in the system.
- Threats Authentication property
- Fabrication attacks can also affect data integrity and service availability for mobile and ubiquitous applications
- Examples include identity spoofing by creating a fake version of a legitimate user
What is an Interruption Attack?
- Interruption attacks are any situation where an attacker cause information/data to become unavailable or unusable for the receiver on a temporary or permanent basis.
- Threat to the availability of services in mobile and ubiquitous computing systems.
- Examples include Denial of Service (DoS), virus/trojans to delete data or disable system’s functionality
What are some popular attack examples?
- Flush+Reload Attack
- Flush+Flush Attack
- Prime+Probe Attack
- Spectre Attack & it’s variants
- Meltdown Attack
- Row-hammer Attack
- Advance Persistent Threat (APT) –Stuxnet Attack
What is Data Collection & Labelling and some pitfalls?
- Design and development of learning-based systems usually starts with the acquisition of a representative dataset.
- Use of unrealistic data leads to the misestimation of an approach’s capabilities
Some pitfalls include Sampling Bias and Label Inaccuracy
What is System Design & Learning and some pitfalls?
- This process ranges from data pre-processing to extracting meaningful features and building an effective learning model
Some pitfalls include Data Snooping, Spurious Correlations and Biased Parameter Selection
What is Performance Evaluation and some pitfalls?
- This stage in a typical machine-learning workflow is the evaluation of the system’s performance.
- Different pitfalls can lead to unfair comparisons and biased results in the evaluation of target systems
Some pitfalls include Inappropriate Baseline, Inappropriate Measures and Base Rate Fallacy