...
Term | Definition | ||||||
---|---|---|---|---|---|---|---|
Agnostic | The word agnostic comes from the Greek a-, meaning without and gn?sis, meaning knowledge. Agnostic means "without knowledge." In technology, agnostic means that the item is not specific to a set method or other item, but instead can function with a variety of methods or other items. The agnostic item functions without "knowing" the details of the items with which it is working, or the system with which it is within. Technology agnosticism is accomplished through compliance with widely-used standards or the item is designed and built to be able to interact with a variety of other types of items. Software, including databases, operating systems, platforms; hardware, including devices; standards, protocols, even business processes can be "agnostic." Examples are as follows:
| ||||||
API | See Application Programming Interface | ||||||
Application Programming Interface | APIs are sets of sub routine definitions, protocols, and tools for creating software applications that often communicate between other software applications and components. APIs are used for a web-based systems, operating systems, database systems, computer hardware, and software libraries, and can include specifications for routines, data structures, object classes, variables, or remote calls. | ||||||
BACnet | Building Automation and Control network communications protocol (ASHRAE/ANSI Standard 135 and ISO 16484-5). BACnet is an open protocol that defines 'client/server' services and messaging between physical devices within a building. Messaging is specified for various physical/data link layer technologies (ARCNET, Ethernet, RS-232, RS-485, Zigbee) as well as network and application layers. Services include monitor and control capabilities, device discovery, and event/alarm notifications. Devices are described as being comprised of various Objects; Object Types include 'Analog Input', 'Binary Output', 'Trend Logs', 'Schedules', etc. The standard has typically been updated every two or three years since 1995. See bacnetinternational.org. | ||||||
BACnet Router | A device that forwards and routes messages between networks in a BACnet system. Note that the BACnet protocol specifies networks and messaging differently than the IETF's Internet Protocol (IP) does, necessitating a special routing device (aka, the "BACnet router"). Each network within a BACnet system is uniquely identified with a 16-bit number. Typically, the networks incorporated within a BACnet router use more than one type of physical layer - the usual example is Ethernet and RS-485. Compared to IP networking, some differences with BACnet include the manner of network discovery by the routers, three different types of message broadcasting (all of which can cross IP broadcast domains), the rule that there can be one and only one path between any two devices within the system, and devices have no clue as to what their local network identifier is. | ||||||
BACnet Test Lab | An organization that tests BACnet devices for conformity to the BACnet standard, and certifies compliance. The certification includes documentation as to the standard services and objects a product conforms to, which is highly important for interoperability of devices between manufacturers, especially since BACnet allows manufacturers to create proprietary services and messages within the protocol. Though there are almost 1,000 manufacturers in the BACnet community, only 144 of them currently have certified products (and there are many non-certified products out in the wild). | ||||||
CEP
| Complex Event Processing | ||||||
Cloud | Cloud refers to cloud computing in which users access applications, data, data storage, or all of those on shared resources, for free or for payment, thereby avoiding the higher cost of installing, owning, and maintaining any, or all of those resources themselves. | ||||||
Container | Containers are virtual environments for deploying software applications that are isolated from each other but may share Operating Systems, binaries, and libraries. Containers are lighter weight virtual environments with less isolation. Virtual machines or virtual systems have their own set of resources allocated to them, but containers do not. Containers are often adopted by microservice applications where each microservice runs in its own container. EdgeX Foundry can currently be deployed in Docker containers and Snappy containers. | ||||||
Created time stamp | The Created time stamp is the time the data was created in the database and is unchangeable. The Origin time stamp is the time the data is created on the device, device services, sensor, or object that collected the data before the data was sent to EdgeX Foundry and the database. Usually, the Origin and Created time stamps are the same, or very close to being the same. On occasion the sensor may be a long way from the gateway or even in a different time zone, and the Origin and Created time stamps may be quite different. | ||||||
DELETE | HTTP method (similar to a command) used in a RESTful API. "DELETE" deletes items. DELETE should be used cautiously and deliberately because it permanently removes items.
| ||||||
Docker | Open source software that automates the deployment of applications inside of software containers. Paraphrased from the website of Docker at www.docker.com: Docker packages application dependencies in containers for portability and redictability for development, testing, and deployment. Docker isolates applications in containers to eliminate conflicts and enhance security. Developers don’t have to install and configure complex databases nor worry about switching between incompatible language toolchain versions....that complexity is pushed into containers that are easily built, shared and run. Docker works with any stack and Developers can deploy both microservices and traditional applications. | ||||||
EdgeX Foundry | Open source software where the Internet of Things meets the Cloud. EdgeX Foundry is supported by Dell. | ||||||
Fuse | Dell's IoT edge platform that was started in the summer of 2015. Fuse was contributed to the EdgeX Foundry open source community and the Linux Foundation in May 2017. The original Fuse project served as the initial code base for the EdgeX Foundry edge software platform. | ||||||
FW | Firmware. The programming that operates within embedded devices (and other places). | ||||||
Anchor | LetterG | LetterG | HTTP method (similar to a command) used in a RESTful API. "GET" retrieves information on items. GET does not alter the item or the data in any way and is "safe" to use. For a collection of items such as http://example.com/groupofitems GET lists the URIs and other details of the items in the collection. | ||||
Haystack | On informal open source initiative to standardize on IoT semantic models and web services. Its initial focus is on building automation, but its extensibility allows it to be used in the broader context of intelligent devices. In Haystack, every Thing is an element, and the descriptors of an element are called 'tags', which are nomalized labels. Software applications can 'know' what an element is by use of its tags, regardless of the native naming convention or namespace of the intelligent device. See project-haystack.org. | ||||||
HTTP | See Hypertext Transfer Protocol | ||||||
HW | Hardware | ||||||
Hypertext Transfer Protocol | An application protocol for distributed, collaborative, and hypermedia information systems. HTTP is the foundation of data communication of the World Wide Web. | ||||||
Internet of Things | The Inter-networking of physical devices embedded with electronics, sensors, actuators, software, network connectivity, and the software on the physical devices enables the physical devices to provide data to the Cloud through EdgeX Foundry, exchange data among the physical devices, and receive instructions to perform specific actions. IoT physical devices include but are not limited to: appliances in homes, alarm systems, heating and air conditioning, lights, machines in any industry, irrigation systems, drones. | ||||||
IoT | See Internet of Things | ||||||
IIoT | Industrial Internet of Things | ||||||
IT/OT | The convergence of Informational Technology and Operational Technology together, usually thought of in terms of building automation using IT technologies. OT and IT requirements can conflict or oppose one another for a particular project, though (such as in some security policies), and personnel involved from one "side" often do not speak the other's technical jargon. (editor's note: buildings have been around a lot longer than the Internet, so OT should take precedence)... | ||||||
Java | An object-oriented, high-level computer programming language. Some of EdgeX Foundry is written in Java. Java is different than JavaScript. | ||||||
Anchor | LetterM | LetterM | ISO standard (ISO/IEC PRF 20922) and is a "lightweight" messaging protocol for use on top of the TCP/IP protocol. Message Queue Telemetry Transport (MQTT) is used for connections with remote locations where a "small code footprint" is needed or the network bandwidth is limited. | ||||
DDC | Direct Digital Controller. A "little brother" to the PLC, initially introduced in building automation. It has a similar program structure as a PLC, but real-time requirements are not as stringent as the PLC, allowing the device to be realized in a less expensive controller. However, as HVAC requirements expanded, and in order to support heavier protocols, some manufacturers make DDCs that are comparable to small PLCs... some even with simple Artificial Intelligence routines. | ||||||
DELETE | HTTP method (similar to a command) used in a RESTful API. "DELETE" deletes items. DELETE should be used cautiously and deliberately because it permanently removes items.
| ||||||
Docker | Open source software that automates the deployment of applications inside of software containers. Paraphrased from the website of Docker at www.docker.com: Docker packages application dependencies in containers for portability and redictability for development, testing, and deployment. Docker isolates applications in containers to eliminate conflicts and enhance security. Developers don’t have to install and configure complex databases nor worry about switching between incompatible language toolchain versions....that complexity is pushed into containers that are easily built, shared and run. Docker works with any stack and Developers can deploy both microservices and traditional applications. | ||||||
EdgeX Foundry | Open source software where the Internet of Things meets the Cloud. EdgeX Foundry is supported by Dell. | ||||||
Fuse | Dell's IoT edge platform that was started in the summer of 2015. Fuse was contributed to the EdgeX Foundry open source community and the Linux Foundation in May 2017. The original Fuse project served as the initial code base for the EdgeX Foundry edge software platform. | ||||||
FW | Firmware. The programming that operates within embedded devices (and other places). | ||||||
GET
| HTTP method (similar to a command) used in a RESTful API. "GET" retrieves information on items. GET does not alter the item or the data in any way and is "safe" to use. For a collection of items such as http://example.com/groupofitems GET lists the URIs and other details of the items in the collection. | ||||||
Haystack | On informal open source initiative to standardize on IoT semantic models and web services. Its initial focus is on building automation, but its extensibility allows it to be used in the broader context of intelligent devices. In Haystack, every Thing is an element, and the descriptors of an element are called 'tags', which are nomalized labels. Software applications can 'know' what an element is by use of its tags, regardless of the native naming convention or namespace of the intelligent device. See project-haystack.org. | ||||||
HTTP | See Hypertext Transfer Protocol | ||||||
HVAC | Heating, Ventilation and Air-Conditioning. The controls, processes, sensors and equipment used to maintain a building environment, mainly in terms of indoor temperatures but also includes humidity and CO2 in many cases. | ||||||
HW | Hardware | ||||||
Hypertext Transfer Protocol | An application protocol for distributed, collaborative, and hypermedia information systems. HTTP is the foundation of data communication of the World Wide Web. | ||||||
Internet of Things | The Inter-networking of physical devices embedded with electronics, sensors, actuators, software, network connectivity, and the software on the physical devices enables the physical devices to provide data to the Cloud through EdgeX Foundry, exchange data among the physical devices, and receive instructions to perform specific actions. IoT physical devices include but are not limited to: appliances in homes, alarm systems, heating and air conditioning, lights, machines in any industry, irrigation systems, drones. | ||||||
IoT | See Internet of Things | ||||||
IIoT | Industrial Internet of Things | ||||||
IT/OT | The convergence of Informational Technology and Operational Technology together, usually thought of in terms of building automation using IT technologies. OT and IT requirements can conflict or oppose one another for a particular project, though (such as in some security policies), and personnel involved from one "side" often do not speak the other's technical jargon. (editor's note: buildings have been around a lot longer than the Internet, so OT should take precedence)... | ||||||
Java | An object-oriented, high-level computer programming language. Some of EdgeX Foundry is written in Java. Java is different than JavaScript. | ||||||
Message Queue Telemetry Transport
| ISO standard (ISO/IEC PRF 20922) and is a "lightweight" messaging protocol for use on top of the TCP/IP protocol. Message Queue Telemetry Transport (MQTT) is used for connections with remote locations where a "small code footprint" is needed or the network bandwidth is limited. | ||||||
Metadata | Data that provides information about other data. An example is a catalog of book titles. The catalog itself does not have the content you want to read, but provides information about how to obtain the book that has the content you want to read. | ||||||
Microservices | Independently developed, deployed, and updated software application components. Individual microservices rarely satisfy an end user's requirements, but a collection of microservices form an application or system that can meet the user's needs. Microservices make changing and adding functionality to a system, easier. | ||||||
Microservice Architecture | Method of developing microservices, small, independent, but interacting modules, to interact to solve a problem, or to meet a business goal. | ||||||
MQTT | See Message Queue Telemetry Transport | ||||||
MSA | See Microservice Architecture | ||||||
Nanoservice | Smaller segment than a microservice. Very fine-grained service where the service's overhead outweighs its utility. EdgeX Foundry uses microservices and does NOT use nanoservices. | ||||||
North Side or North Edge | The "Cloud," where data is collected, stored, aggregated, analyzed, and turned into information is referred to as the "north side" of the network. At the north edge the data collection and enterprise side, EdgeX Foundry enables north side clients to register for the data of interest, dictate its format (for example, JSON, XML), and indicate where and how the data is to be delivered by EdgeX Foundry (for example, to an enterprise REST address or through an MQTT message destined for a cloud based message topic). | ||||||
Operational Technology | Hardware and software that are used to detect or change physical processes by direct monitor and control of physical devices within a system. Examples of such devices include valves, pumps, lights, motors, fans, boilers, air conditioning units, etc. The emphasis is on physical processes, and not "just" data. | ||||||
Origin time stamp | The Origin time stamp is the time the data is created on the device, device services, sensor, or object that collected the data before the data is sent to EdgeX Foundry and the database. The Created time stamp is the time the data was created in the database. Usually, the Origin and Created time stamps are the same or very close to the same. On occasion the sensor may be a long way from the gateway or even in a different time zone, and the Origin and Created time stamps may be quite different. | ||||||
OT | See Operational Technology | ||||||
PaaS
| See Platform as a Service | ||||||
Platform as a Service | A cloud-based environment in which to develop, run, test, and maintain web-based applications. The PaaS environment provides the entire IT resource stack as a service and provides all of the facilities required to support the complete life cycle of building and delivering web-based applications. Using PaaS enables the creation and deployment of web-based application software without the cost and complexity of buying and managing underlying hardware, operating software, and utilities. Using PaaS therefore enables Developers to accelerate the pace of developing applications while reducing the complexity because Developers can provision, deploy, and manage applications using one unified management system. By using PaaS, Developers get their application to market faster, and can innovate and experiment with new technologies using existing public, private, or hybrid cloud infrastructures. | ||||||
PLC | Programmable Logic Controller. A ruggedized computer or embedded controller, initially introduced to control industrial processes and equipment, and is also being used in building automation (see DDC). A PLC will have input and output wire connections to "read" sensor signals (small voltage, current or resistance) and "write" control signals to equipment in response to conditions or to follow the desired process's requirements. Program execution within a PLC is intended to run continuously - multiple programs are sequentially executed from one program to the next, until the last one in the chain executes and the 'scan cycle' begins again with the first program. A program in this execution structure typically has five steps: read inputs, process, handle messages, handle safeties or other special needs, set outputs... then let the next program begin. | ||||||
Metadata | Data that provides information about other data. An example is a catalog of book titles. The catalog itself does not have the content you want to read, but provides information about how to obtain the book that has the content you want to read. | ||||||
Microservices | Independently developed, deployed, and updated software application components. Individual microservices rarely satisfy an end user's requirements, but a collection of microservices form an application or system that can meet the user's needs. Microservices make changing and adding functionality to a system, easier. | ||||||
Microservice Architecture | Method of developing microservices, small, independent, but interacting modules, to interact to solve a problem, or to meet a business goal. | ||||||
MQTT | See Message Queue Telemetry Transport | ||||||
MSA | See Microservice Architecture | ||||||
Nanoservice | Smaller segment than a microservice. Very fine-grained service where the service's overhead outweighs its utility. EdgeX Foundry uses microservices and does NOT use nanoservices. | ||||||
North Side or North Edge | The "Cloud," where data is collected, stored, aggregated, analyzed, and turned into information is referred to as the "north side" of the network. At the north edge the data collection and enterprise side, EdgeX Foundry enables north side clients to register for the data of interest, dictate its format (for example, JSON, XML), and indicate where and how the data is to be delivered by EdgeX Foundry (for example, to an enterprise REST address or through an MQTT message destined for a cloud based message topic). | ||||||
Operational Technology | Hardware and software that are used to detect or change physical processes by direct monitor and control of physical devices within a system. Examples of such devices include valves, pumps, lights, motors, fans, boilers, air conditioning units, etc. The emphasis is on physical processes, and not "just" data. | ||||||
Origin time stamp | The Origin time stamp is the time the data is created on the device, device services, sensor, or object that collected the data before the data is sent to EdgeX Foundry and the database. The Created time stamp is the time the data was created in the database. Usually, the Origin and Created time stamps are the same or very close to the same. On occasion the sensor may be a long way from the gateway or even in a different time zone, and the Origin and Created time stamps may be quite different. | ||||||
OT | See Operational Technology | ||||||
Anchor | LetterP | LetterP | See Platform as a Service | ||||
Platform as a Service | A cloud-based environment in which to develop, run, test, and maintain web-based applications. The PaaS environment provides the entire IT resource stack as a service and provides all of the facilities required to support the complete life cycle of building and delivering web-based applications. Using PaaS enables the creation and deployment of web-based application software without the cost and complexity of buying and managing underlying hardware, operating software, and utilities. Using PaaS therefore enables Developers to accelerate the pace of developing applications while reducing the complexity because Developers can provision, deploy, and manage applications using one unified management system. By using PaaS, Developers get their application to market faster, and can innovate and experiment with new technologies using existing public, private, or hybrid cloud infrastructures. | ||||||
PLC | Programmable Logic Controller | ||||||
Polyglot | An application or system written in multiple programming languages and/or using multiple application development frameworks and tools. EdgeX Foundry is a polyglot system because each of the microsystems are written in different programming languages, using many different tools and technologies. To date, EdgeX Foundry microservices are written in Java, Python, Node.js (JavaScript), and Go. | ||||||
POST | HTTP method (similar to a command) used in a RESTful API. "POST" creates or adds new information, a new record or file of items. POST does not alter existing items or existing data in any way and is "safe" to use. For a collection of items such as http://example.com/groupofitems POST creates 1 new item within the collection. New information or a new record, does not have size limitations or limitations for the amount of characters used in the information. | ||||||
PUT | HTTP method (similar to a command) used in a RESTful API. "PUT" replaces or updates information on items. PUT should be used cautiously and deliberately because it permanently removes old data and replaces it with new data. For a collection of items such as http://example.com/groupofitems PUT replaces the entire collection with a new collection. New information or a new record, does not have size limitations or limitations for the amount of characters used in the information | ||||||
REST
| short for RESTful | ||||||
RESTful
| Representational State Transfer, or RESTful web services. Use REST with EdgeX Foundry. Unlike SOAP-based Web services, no "official" standard for RESTful Web APIs exists. REST is not a standard, but RESTful implementations make use of standards, such as HTTP, URI, JSON, and XML. REST is an architectural style, while SOAP is a protocol. Use 1 of 4 HTTP methods in a RESTful API (see each entry in this table for details on each HTTP method):
| ||||||
Rules Engine | Rules engines are important to the IoT edge system. A rules engine is a software system that is connected to a collection of data (either database or data stream). The rules engine examines various elements of the data and monitors the data, and then triggers some action based on the results of the monitoring of the data it. A rules engine is a collection of "If-Then" conditional statements. The "If" informs the rules engine what data to look at and what ranges or values of data must match in order to trigger the "Then" part of the statement, which then informs the rules engine what action to take or what external resource to call on, when the data is a match to the "If" statement. Most rules engines can be dynamically programmed meaning that new "If-Then" statements or rules, can be provided while the engine is running. The rules are often defined by some type of rule language with simple syntax to enable non-Developers to provide the new rules. Rules engines are one of the simplest forms of "edge analytics" provided in IoT systems. Rules engines enable data picked up by IoT sensors to be monitored and acted upon (actuated). Typically, the actuation is accomplished on another IoT device or sensor. For example, a temperature sensor in an equipment enclosure may be monitored by a rules engine to detect when the temperature is getting too warm (or too cold) for safe or optimum operation of the equipment. The rules engine, upon detecting temperatures outside of the acceptable range, shuts off the equipment in the enclosure. | ||||||
SaaS | See Software as a Service | ||||||
SDK | See Software Development Kit | ||||||
Service-Oriented Architecture | A type of software architecture that is a collection of services (such as self-contained, small units of business logic with specific outcomes) that communicate with each other through a communication protocol over a network. The communication can be basic data passing, or complex such as two or more services coordinating an activity. | ||||||
Snappy | A Linux-based Operating System. The packages are called 'snaps' and the tool for using them 'snapd', and works for phone, cloud, internet of things, and desktop computers. The "Snap" packages are self-contained and have no dependency on external stores. "Snaps" can be used to create command line tools, background services, and desktop applications. | ||||||
SOA | See Service-Oriented Architecture | ||||||
Software as a Service | Software as a service (SaaS) is part of cloud computing, and is a software delivery method in which software is licensed by subscription, is cloud hosted, and accessed by the user on the Internet through a web browser. Any software of any kind can be delivered as SaaS. | ||||||
Software Development Kit | A set of software development tools that enables the creating, the development, of particular software. The software development tools may include application programming interfaces (APIs), libraries, debugging facilities, software utilities, sample code, supporting documentation, hardware, and embedded systems. | ||||||
South Side or South Edge | All IoT objects, the physical realm, is referred to as the "south side" of the network. The south side is the edge of the network that communicates directly with those devices, sensors, actuators, and other IoT objects. At the south edge the edge of the IoT objects, is a collection of meta-data driven device microservices that communicate in the protocols of choice of the IoT object, and translate sensor data into a EdgeX Foundry common data structure. The microservices also translate EdgeX Foundry actuation requests into physical commands on the device or sensor. | ||||||
SW | Software | ||||||
UI | User Interface |
...