Glossary
Jump to navigation
Jump to search
This page is under construction
- Bind
- The action of associating a name with a program or process. A process bound to a name will respond to incoming flow allocation requests for that name in that system. If a program is bound to a name, all subsequently instantiated processes will be bound to that name.
- Broadcast Flow
- A broadcast flow is the abstraction for a packet stream that is sent from a source node to all other nodes in a network. Broadcast flows are implemented by a Broadcast Layer.
- Broadcast IPCP
- A type of IPCP that is used to build Broadcast Layers
- Broadcast Layer
- A Layer consisting of Broadcast IPCPs.
- Connection
- Connection establishment
- EFCP
- The protocol inside RINA IPCPs that is responsible for enabling IPC. It is a 2-component protocol consisting of the Data Transfer Protocol (DTP) and a Data Transfer Control protocol (DTCP) which share a state vector.
- Enrollment
- The action of adding an IPCP or a set of IPCPs to a Layer as an active member.
- Flow
- A flow is the abstraction for a packet stream between a number of application processes. Ouroboros makes a clear distinction between Unicast flows and Broadcast flows.
- Flow Allocation
- The process of creating a flow between two processes.
- Flow Allocator
- The component in the IPCP that is responsible for flow allocation, managing flow state and congestion avoidance.
- Flow Descriptor
- A handle used by an application to manipulate and read/write from/to flows, similar to a file descriptor for files.
- Flooding
- The algorithm that takes a packet on the incoming flow and then sends it out on all other (outgoing) flows. Flooding is the main algorithm implemented by the Data Transfer component of a Broadcast IPCP.
- Forwarding
- Any algorithm that takes as input a destination address and gives as output a set of flows. The forwarding algorithm is the main algorithm in the Data Transfer component of the unicast IPCP.
- IPC
- See Inter-Process Communication
- IPCP
- See Inter-Process Communication Process
IRMd
- See Inter-Process Communication Resource Management Daemon
- Inter-Process Communication (IPC)
- Inter-Process Communication Process (IPCP)
- Inter-Process Communication Resource Management Daemon (IRMd)
- The IRMd is the central daemon that performs management functions for Ouroboros. It listens for management commands such as creating/destroying IPCPs, bootstrapping and enrolling IPCPs, binding programs and processes to service names and registering names with an IPCP.
- Layer / layer
- The Ouroboros model is subdivided in layers (lowercase), with similar intent as the TCP/IP model (5 layers) or OSI (7 layers) model which it aims to improve upon.
- Ouroboros is multi-Layered (capitalized), allowing networks to overlay each other. There are 2 types of Layers: Unicast Layers and Broadcast Layers, consisting of Unicast IPCPs and Broadcast IPCPs respectively. Note that they can't be mixed (a Unicast IPCP can't enroll with a Broadcast IPCP), but it is of course possible for a program to implement both the Unicast and Broadcast IPCP functionality. The different use of layer/Layer can be initially confusing, and have considered other options such as stratum, but for the time being, we stick to Layer / layer.
- Name
- also known as Service Name
- Just an ordinary string in some namespace that can be bound to a program or process.
- Process
- In the Ouroboros framework, the instantiation of a program. It is logically identified by a local Process Identifier (PID), which on POSIX systems maps directly to the process ID (pid).
- Program
- In the Ouroboros framework, the code (for instance a compiled binary or a script) that can be executed as a Process.
- Raw Flow
- A best-effort Unicast Flow between two peers without any QoS guarantees.
- Routing
- Any algorithm that can construct a distance function to all other nodes in a Unicast Layer. The literature discerns at least 3 classes of Routing algorithms: geometric, link-state and distance/path-vector.
- The output of a routing algorithm is needed to construct a forwarding algorithm. The routing algorithm is the main algorithm in the routing component of the unicast IPCP.
- Unenrollment
-
- The action of removing an IPCP or a set of IPCPs to a Layer.
- Unicast Flow
- A unicast flow is a point-to-point packet stream between two processes. A flow is identified at each end by a flow descriptor. A unicast flow is implemented as a network flow between two unicast IPCPs. A network flow is identified by a 4-tuple <source address, source EID, destination address, destination EID>. The Endpoint Identifiers (EIDs) are agreed upon during Flow Allocation. A Unicast Flow is not implying an application protocol.
- Unicast IPCP
- Unicast Layer
- Whatevercast
- A proposed RINA concept for the unification of unicast, anycast, multicast and broadcast. The RINA DIF will resolve the correct set of destination nodes based on the whatevercast name and a set of rules associated with it. Our attempt at implementing whatevercast led to us formulating the Ouroboros multicast conjecture.