Network on Terminal Architecture (i.e. NoTA) is a modular service based system architecture for mobile and embedded devices. NoTA enables mobile device makers speed-up their product development by shortening the integration phase. Additionally NoTA makes it possible to quickly bring-in 3rd party innovations into the products due to loosely coupled and functional-driver -less approach.
NoTA device consists of Service Nodes (SN) and Application Nodes (AN) that communicate through logical Interconnect (IN). IN provides two basic means of communication, namely message based and streaming type. The former is bi-directional and used for Service Messages. The latter one is uni-directional and used for large amounts of data like media content. Service Nodes have unique Service Identifier (SID).
Service Nodes and Application Nodes map into sub-systems consisting of all software and hardware resources needed to implement those. In order to maintain system level modularity, the only way for a node to use SW&HW resources from other sub-systems is through Services Nodes.
Interconnect is divided into two layers, namely High Interconnect (H_IN) and Low Interconnect (L_IN). The former provides means for service activation and deactivation as well as service and stream accesses. Low Interconnect provides network socket interface with uniform addressing mechanism. L_IN internally can be divided into transport network independent and dependent parts. MIPI Alliance originated solutions are expected to be key enablers for wide use of NoTA.
NoTA Sub-system provides the physical implementation for a set of Nodes (ANs and/or SNs). Sub-system consists of all the software and hardware resources (including peripherals, memories, controllers, internal buses etc.) needed to implement the defined Nodes. The only means for a sub-system to use the other Sub-systems' resources is via Service Nodes. Every NoTA Sub-system consists of the NoTA Interconnect stack.
NoTA principles
The NoTA concept and the first implementations were the result of internal Nokia Research Center activities started in 2003. The objective of this work was to develop a novel embedded device architecture that could solve the existing R&D challenges, as well as prepare the company to face the expected horizontalization and digital convergence. The NoTA basic framework was strongly influenced by Network-on-Chip (NoC) and Web Services research.
NoTA Interconnect Release 1 was released in December 2005. Release 1 only consisted of Service communication, activation/deactivation, discovery and access. Release 2 added efficient data communication means, with a handle based stream referencing approach. This functionality, called DOA (Direct Object Access), allows direct memory-to-memory streaming between different NoTA subsystems. Release 2 came out during the second half of 2006. Release 3 became the official public release comprising all the essential functionalities. Reference implementation source code packages (user-space) can be downloaded from either www.notaworld.org or gitorious.org/nota. Linux Kernel optimized Debian package is also available through gitorious.org/knota.
Fast-time-to-market is possible due to multiple reasons. Product vendors can purchase already productized NoTA Sub-systems removing time needed for vendor specific requirements definition, implementation and integration phases. In case there are no ready-made products on the market, NoTA type system-level modularity allows technology vendors to do the implementation and testing without heavy involvement with other Sub-system provides (e.g. the application engine).
Scalability in integration level allows product companies to do fast cost optimization without major extra R&D effort. NoTA core is physical interconnect agnostic and hence replacing e.g. off-chip interconnect with on-chip interconnect does not destroy the device functionality. More practical example is to integrate multiple ICs into the same package (e.g. through stacking) and use package internal interconnect technologies.
Cost reduction in product development can be achieved in two dimensions. Firstly system-level modularity allows free and fair competition between different technology vendors reducing Sub-system costs. Secondly in many cases product vendors do not have to bear costs incurring from sub-system adaptation work specific to their technologies.
Performance and features meeting end-user needs. Product companies are more agile to adopt new technology or technology that better meets users' needs in digital convergence devices.
Due to being agnostic to transport technology, NoTA can be used for many inter-device use-cases (wireless based L_INdown). There are currently projects running e.g. in Finland (SHOK DIEM) and in Japan to apply NoTA in the ubiquitous world. An excellent outcome revealed in the TronShow2010 is the intelligent house built in Taiwan utilizing both the T-Kernel and NoTA technologies. In addition, VTT (Technical Research Center of Finland) has demonstrated their NoTA (and Smart M3) based intelligent Greenhouse.
Extending NoTA to the Internet is one of the research topics. So called NoTA Virtual Device (NVD) is expected to provide a solution here. Through the NVD one can build combined service platforms where the services can be running intra-device, inter-device and/or in the Internet.
Java Platform, Micro Edition or Java ME is a computing platform for development and deployment of portable code for embedded and mobile devices. Java ME was formerly known as Java 2 Platform, Micro Edition or J2ME.
InfiniBand (IB) is a computer networking communications standard used in high-performance computing that features very high throughput and very low latency. It is used for data interconnect both among and within computers. InfiniBand is also used as either a direct or switched interconnect between servers and storage systems, as well as an interconnect between storage systems.
PCI Express, officially abbreviated as PCIe or PCI-e, is a high-speed serial computer expansion bus standard, designed to replace the older PCI, PCI-X and AGP bus standards. It is the common motherboard interface for personal computers' graphics cards, hard drives, SSDs, Wi-Fi and Ethernet hardware connections. PCIe has numerous improvements over the older standards, including higher maximum system bus throughput, lower I/O pin count and smaller physical footprint, better performance scaling for bus devices, a more detailed error detection and reporting mechanism, and native hot-swap functionality. More recent revisions of the PCIe standard provide hardware support for I/O virtualization.
An application server is a server that hosts applications.
OpenMAX, often shortened as "OMX", is a non-proprietary and royalty-free cross-platform set of C-language programming interfaces. It provides abstractions for routines that are especially useful for processing of audio, video, and still images. It is intended for low power and embedded system devices that need to efficiently process large amounts of multimedia data in predictable ways, such as video codecs, graphics libraries, and other functions for video, image, audio, voice and speech.
A blade server is a stripped-down server computer with a modular design optimized to minimize the use of physical space and energy. Blade servers have many components removed to save space, minimize power consumption and other considerations, while still having all the functional components to be considered a computer. Unlike a rack-mount server, a blade server fits inside a blade enclosure, which can hold multiple blade servers, providing services such as power, cooling, networking, various interconnects and management. Together, blades and the blade enclosure form a blade system, which may itself be rack-mounted. Different blade providers have differing principles regarding what to include in the blade itself, and in the blade system as a whole.
The RapidIO architecture is a high-performance packet-switched interconnect technology. RapidIO supports messaging, read/write and cache coherency semantics. RapidIO fabrics guarantee in-order packet delivery, enabling power- and area- efficient protocol implementation in hardware. Based on industry-standard electrical specifications such as those for Ethernet, RapidIO can be used as a chip-to-chip, board-to-board, and chassis-to-chassis interconnect. The protocol is marketed as: RapidIO - the unified fabric for Performance Critical Computing, and is used in many applications such as Data Center & HPC, Communications Infrastructure, Industrial Automation and Military & Aerospace that are constrained by at least one of size, weight, and power (SWaP).
The ARM Advanced Microcontroller Bus Architecture (AMBA) is an open-standard, on-chip interconnect specification for the connection and management of functional blocks in system-on-a-chip (SoC) designs. It facilitates development of multi-processor designs with large numbers of controllers and components with a bus architecture. Since its inception, the scope of AMBA has, despite its name, gone far beyond microcontroller devices. Today, AMBA is widely used on a range of ASIC and SoC parts including applications processors used in modern portable mobile devices like smartphones. AMBA is a registered trademark of ARM Ltd.
The PCI Industrial Computer Manufacturers Group (PICMG) is a consortium of over 150 companies. Founded in 1994, the group was originally formed to adapt PCI technology for use in high-performance telecommunications, military, and industrial computing applications, but its work has now grown to include newer technologies. PICMG is distinct from the similarly named and adjacently-focused PCI Special Interest Group (PCI-SIG).
A service delivery platform (SDP) is a set of components that provides a service(s) delivery architecture for a type of service delivered to consumer, whether it be a customer or other system. Although it is commonly used in the context of telecommunications, it can apply to any system that provides a service. Although the TM Forum (TMF) is working on defining specifications in this area, there is no standard definition of SDP in industry and different players define its components, breadth, and depth in slightly different ways.
EtherCAT is an Ethernet-based fieldbus system, invented by Beckhoff Automation. The protocol is standardized in IEC 61158 and is suitable for both hard and soft real-time computing requirements in automation technology.
Communications servers are open, standards-based computing systems that operate as a carrier-grade common platform for a wide range of communications applications and allow equipment providers to add value at many levels of the system architecture.
OPC Unified Architecture is a machine to machine communication protocol for industrial automation developed by the OPC Foundation. Distinguishing characteristics are:
The Multicore Association was founded in 2005. Multicore Association is a member-funded, non-profit, industry consortium focused on the creation of open standard APIs, specifications, and guidelines that allow system developers and programmers to more readily adopt multicore technology into their applications.
Sercos III is the third generation of the Sercos interface, a globally standardized open digital interface for the communication between industrial controls, motion devices, input/output devices (I/O), and Standard Ethernet nodes, such as PCs. Sercos III merges the hard real-time aspects of the Sercos interface with Ethernet. It is based upon and conforms to the Ethernet standard. Work began on Sercos III in 2003, with vendors releasing first products supporting it in 2005. In addition to the standard Sercos features cited under the Sercos interface general description, Sercos III also provides:
UniPro is a high-speed interface technology for interconnecting integrated circuits in mobile and mobile-influenced electronics. The various versions of the UniPro protocol are created within the MIPI Alliance, an organization that defines specifications targeting mobile and mobile-influenced applications.
CIPURSE is an open security standard for transit fare collection systems. It makes use of smart card technologies and additional security measures.
Network functions virtualization is a network architecture concept that uses the technologies of IT virtualization to virtualize entire classes of network node functions into building blocks that may connect, or chain together, to create communication services.
A trusted execution environment (TEE) is a secure area of a main processor. It guarantees code and data loaded inside to be protected with respect to confidentiality and integrity. A TEE as an isolated execution environment provides security features such as isolated execution, integrity of applications executing with the TEE, along with confidentiality of their assets. In general terms, the TEE offers an execution space that provides a higher level of security than a rich operating system (OS) and more functionality than a 'secure element' (SE).
UAVCAN is a lightweight protocol designed for reliable intra-vehicle communications using various communications transports, originally destined for CAN bus but targeting various network types in subsequent revisions.