Logo TIB AV-Portal Logo TIB AV-Portal

Building Link-Layer Protocols in a Lego-like Fashion

Video in TIB AV-Portal: Building Link-Layer Protocols in a Lego-like Fashion

Formal Metadata

Building Link-Layer Protocols in a Lego-like Fashion
Title of Series
CC Attribution 2.0 Belgium:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Release Date

Content Metadata

Subject Area
Most of the flexibility that has been brought to the development of software defined radios resides in components that can be associated with the physical layer of the radio. This talk tries to shed some light on how SDRs can also benefit from flexibility in higher protocol layers such as link-layer protocols. Specifically, the talk introduces a component-based link-layer protocol architecture that allows to build self-contained protocol components that can be combined to complete link-layer protocol solutions in a Lego-like manner. The talk will cover some architectural aspects as well as some implementation-specific problems that we came across during the development of a prototype using Iris.
Computer virus Shift operator Game controller Computer animation Visualization (computer graphics) Operator (mathematics) Constructor (object-oriented programming) Software framework Software-defined radio Computer architecture
Computer file Cellular automaton Connectivity (graph theory) Projective plane Maxima and minima Parameter (computer programming) Component-based software engineering Computer animation Different (Kate Ryan album) Core dump Universe (mathematics) Configuration space Computing platform Plug-in (computing) Physical system Library (computing)
Data management Focus (optics) Dynamical system Mathematics Service (economics) Computer animation Multiplication sign Projective plane Parameter (computer programming) Spectrum (functional analysis) Physical system
Trail Dynamical system Information Computer-generated imagery Multiplication sign Heat transfer Perturbation theory Electronic signature Frequency Estimator Cross-correlation Process (computing) Computer animation Integrated development environment Synchronization Charge carrier Pattern language Waveform Game theory Spectrum (functional analysis) Physical system Form (programming)
Computer virus Dynamical system Pattern recognition Computer-generated imagery Divisor Workstation <Musikinstrument> Set (mathematics) Parameter (computer programming) Power (physics) Type theory Computer animation Software Different (Kate Ryan album) Spectrum (functional analysis) Physical system Thomas Bayes
Game controller Meta element Component-based software engineering Computer animation Link (knot theory) Information INTEGRAL Source code Mereology Computer architecture Directed graph
Default (computer science) Mathematics Run time (program lifecycle phase) Computer animation Computer file Link (knot theory) output Parameter (computer programming) Arithmetic progression Number
Type theory Dataflow Computer animation Operator (mathematics) Graph (mathematics) Source code Bit Timestamp Metadata Directed graph
Dataflow Building Thread (computing) Graph (mathematics) Touchscreen Inheritance (object-oriented programming) Interface (computing) Connectivity (graph theory) Moment (mathematics) Graph (mathematics) Sheaf (mathematics) Maxima and minima Limit (category theory) Number Type theory Mechanism design Component-based software engineering Computer animation Integrated development environment Different (Kate Ryan album) Core dump Plug-in (computing) Abstraction Physical system
Dataflow Dynamical system Computer animation Connectivity (graph theory) Multiplication sign Waveform Parameter (computer programming) Marginal distribution Spectrum (functional analysis) Signal processing
Mathematics Computer animation Divisor Fourier series Chain Information security
Dataflow Game controller Graph (mathematics) Link (knot theory) Connectivity (graph theory) Direction (geometry) Parameter (computer programming) Event horizon Connected space Element (mathematics) Mechanism design Component-based software engineering Computer animation Configuration space Physical system Task (computing)
Point (geometry) Computer virus Modul <Software> Game controller Run time (program lifecycle phase) Connectivity (graph theory) View (database) Interface (computing) Virtual machine Parameter (computer programming) Event horizon Computer architecture Data management Component-based software engineering Computer animation Repository (publishing) Different (Kate Ryan album) Core dump Right angle Position operator Physical system Library (computing)
Curve Email Goodness of fit Computer animation Open source Code Source code Projective plane Electronic mailing list Complex system
Component-based software engineering Computer animation Link (knot theory) IRIS-T Software developer Universe (mathematics) output Communications protocol Reading (process) Computer architecture
Particle system Dynamical system Computer animation Key (cryptography) Software Link (knot theory) Term (mathematics) Physicalism Waveform Heat transfer Spectrum (functional analysis)
Dataflow Functional (mathematics) Data management Mathematics Game controller Radius Computer animation Link (knot theory) Connectivity (graph theory) Fehlererkennung Mereology
Dynamical system Functional (mathematics) OSI-Modell Link (knot theory) INTEGRAL Connectivity (graph theory) Dimensional analysis Data transmission Number Latent heat Mechanism design Traffic reporting Plug-in (computing) Physical system Dependent and independent variables Information Cellular automaton Perturbation theory Instance (computer science) Cartesian coordinate system Software maintenance Data management Computer animation Personal digital assistant √úbertragungsfunktion Energy conversion efficiency Telecommunication Communications protocol Spectrum (functional analysis)
Functional (mathematics) Game controller Observational study Link (knot theory) Divisor Connectivity (graph theory) Interface (computing) Software developer Insertion loss Cartesian coordinate system Mereology Flow separation Data management Computer animation Core dump Computer hardware Finite-state machine Software framework Pressure Communications protocol Resultant Computer architecture
Modul <Software> Dataflow Dynamical system Functional (mathematics) Game controller Group action OSI-Modell Link (knot theory) Connectivity (graph theory) Numbering scheme Mereology Event horizon Field (computer science) Heegaard splitting Component-based software engineering Hypermedia Single-precision floating-point format Computer programming Core dump Error message Computer architecture Programming paradigm Multiplication Arm 3 (number) Database Cartesian coordinate system Demoscene Particle system Computer animation Finite-state machine Communications protocol Spectrum (functional analysis)
Dataflow Modul <Software> Game controller Server (computing) Link (knot theory) Ferry Corsten Connectivity (graph theory) Workstation <Musikinstrument> Numbering scheme Mereology Latent heat Component-based software engineering Different (Kate Ryan album) Hypermedia Macro (computer science) Information Interface (computing) Data storage device Generic programming Instance (computer science) Cartesian coordinate system Particle system Data management Computer animation Communications protocol
Computer virus Dataflow Dynamical system Game controller Implementation Link (knot theory) State of matter Connectivity (graph theory) Multiplication sign Workstation <Musikinstrument> 1 (number) Set (mathematics) Data transmission Power (physics) Revision control Doppler-Effekt Oracle Weight Interface (computing) Instance (computer science) Cartesian coordinate system Particle system Computer animation Software Telecommunication Phase transition output Finite-state machine Communications protocol Spectrum (functional analysis) Spacetime
Implementation Group action Game controller Functional (mathematics) Computer file State of matter Code Bit Instance (computer science) Event horizon Computer animation Logic Configuration space Finite-state machine Endliche Modelltheorie Reading (process) Library (computing)
Enterprise architecture Group action Dynamical system Multiplication Planning Theory Data transmission 2 (number) Cognition Goodness of fit Computer animation Extension (kinesiology) Spectrum (functional analysis) Spacetime
Information Multiplication sign Database Endliche Modelltheorie Instance (computer science) Spectrum (functional analysis)
it was so I'm going to close up and not on the contrary
kindly has anything attend a shift in the slot to start the session this is only about cancer as offered a framework which is based on his work and from the CTR businesses and based in Dublin and
so just very quickly embodied overview of virus Wikipedia architecture just talking about controllers when the features within hours so what is our search is a software radio architectures so it's a a framework to help you those operators so we use that construction utterance operators there's no problem doing out quite as a framework because it gives you so that you don't have to register so if you start your writing give you all you got some existing DSPs about it gives you education and visualization tools this is the main and designed all our and so you can to suffer operators you doing that flexible so from the
start with our what goes in reconfiguration allow you to reconsider your radio and and it's mainly GBP based away from the center the duties on the cell the and various different platforms component so similar to the radio and we take a component-based approach
and components are written solely in C + + and we use a maximum of a configuration file to describe how these components together and specify initial parameter values for those components it is written in C + + and is portable so we use the usual libraries to help us get around this using accessible system is pretty straightforward and it's extensible most of all so any component based systems will be extensible we've tried to blow this extensibility into the core as well the concept of engines for small talk a bit about that later the most important is open source and that might be obvious target Foster and biases about universities listening involves only developing a project the start of the university started the
talked about the project management services it's a real pain in the ass so what can I do with our samples of hourly we tend to use iris you
demonstration systems which common so long as focus has been on dynamic spectrum access systems and a couple of examples here and we do a lot of work and as I say that that certain access systems the challenge there is you're dynamically changing the fundamental physical parameters and we formed so the change in time because the United 1 of the challenges in that scenario is you can
do whatever you like the transmitter because nobody has received from people and so have user receiver automatically figure out where it's transmitters transmitting frequency what waveforms using what's the violence and so on and so forth this is obviously came up with this idea of Cyclostationary signatures and a fancy name for essentially the correlation patterns that at times it is a really nice to you can use this actually Moritz such images the nice thing about it is that you can detect this before you do any synchronization of the system so it's 1 step of above the respective and which means that you can use it to gain information about the waveform before you actually try to see receiver so it on a public demonstration systems for use in this form automatic carrier frequency tracking of what kind with estimation of my form finding more information the transmit waveform and sinking onto the receiver n the more recent demonstration was
this idea of spectrum wars and this is the basic at radio behind it is very very simple is just a game for 4 players and using dynamic spectrum access so the idea is you cross from 2 teams each with the transmitter receiver hot and it is integrated the transfers which it was and catches a job readiness since that environment so you can interfere with your opposing
between the various tricks and to use you can use any of the primary user the enough to avoid interferences and this is going to be demonstration but with a set of latent trying to playing was and we'll see other get on and what is your ability for power in this room will see them and finally we've done some work on heterogenous networks and overlapping so this involved for a user on a monorail and simulating handover between different types of her charges in the Trojans networks and again this you stations images to determine the fundamental parameters of away from that was being used in each then a good example of what you can do with ours was and
Jessica build the candles on her to cost short scientific recognition no prior knowledge virus on the very good divide again quite nice dynamic spectrum access demonstration system so bay station a couple of mobile stations and
put simply was avoiding a primary user using a control channel to the to manage the data channel and From this more information about this part link so just to go through some of these
and its GTP they suffer architecture from meta block is a component the coupons across plus any most basic integration is a source a sink in suppressing components and between uh like
this feeling together by an XML file there's an
example x enough of and so we have frequently uh you suffer radio you define an engine you them 1 more about that later the file reader will modulated signal scanner and usurp the transmitter Montreal's many of the user be to these can expose parameters which session change at runtime and obviously I'm not showing you a huge number of parameters here if you run maximal followed this is just an these default values user parameter tied to identify the from set the value of the defined ports inputs and outputs funny find links to link them together that's a greater progress in the room so directional follows of Mrs.
Simperl flowgraph array of and transmit
so between source and sink your passing these datasets so dataset contains data timestamps operator various types of metadata that you want to pass along with this you can have a simple source to a sink the flow graphs but they support Multiple-Input-Multiple-Output sorting belabouring complex us so I spoke a little bit earlier about
engines and what is an engine engine basically is an environment within which a number 1 or more components runs and it finds its own dataflow mechanism it defines its own reconfiguration mechanisms it wrong of its own threads and it just provides a clean interface to the our system and to allow the our system to set up and run and they see what this means is that it executes a section of the flow graph but it's completely up to that engine how it does such as long as it provides a screen interface so with this approach it means that you can build new engines for different types of flow graphs and for different reconfiguration mechanisms for different thography so so it's they're going back to that idea of extensibility and making sure that the the core as well as the component itself can be easily extended at the moment we just of 2 engine types of financial status then for engine is designed for maximum flexibility so which 1 thread French and parents data-driven execution and 1 more components most common component of note was you know that in and of its relationship between person and so the idea is that it has flexible
of the reality most of the was interested in anybody such that brought so the idea was fine just make it is easy plays easy as possible it abstracts a flow graph from the user what you don't care too much about the flow graph and what the limitations are concerns from many and so the example of a fire engine is such that this could be your
yourself you receive a signal analysis of the margin for example following so this is the time to receive Cheney might have for large dynamic spectrum access scenario where automatically affiliation parameters and waveforms before about demodulator then reconfiguring the demodulator according to what's going on yeah the stock engine a components
of insight engineers been that the transom fair use supports bi-directional data flow so for example if you're going matter matter this is worried of
answer with but never interface you could do security rouging government there's and so on so if
you're gonna put together a transceiver design using multiple engines this might be how decide have 1 finds in Fourier transmit chain another free receive chain many factors that engineering of stock and so so far we must 1st about how you
create a radio show you we can we can we can figure it manually and so when the radios running if you change x molfile tolerance change Italy then forever changed and implement that reconfiguration them but do we manage that dynamically and and this is where the idea of the
controllers comes and so we have sperm magically configuration of parameters which are exposed by components we have another mechanism for signaling events so something happens when your flow graph you turn the system something needs to be done about this the controller is the
component the the the element of the system that handles started flow so sure you can directly connect reconfigurations between components of the idea of controllers is to ensure that it remains component-based the components are independent so if you start creating direct control links between them this a danger that you couldn't get these interdependencies between the components so by using a controller you remove that and you put task knowledge of the radio
system and how the components interact into 1 separate module and lays due 2 components uh in the independent so for example with our trans you could add in a
controller and a controller can subscribe to events on any components running within the radio and it can reconfigure parameters within any component in the right
and this is the view of the architectures to Paris itself is written with a plain C interface so when you run irishy typically use it a consul launcher what's underneath the hood that's just plain C interface into the library itself and the system the and manager kinda manager has a repository positive control runtime to the agents as their own component of the positive points in runtime and so the the virus itself is split into the core and the components are the core modules so the core uh to be the only 1 1 on the machine the modules repository you could have multiple differ much of repositories for various different reasons and so you can a single core you can tell us where 15 different module repositories on it can load of components from each of those so much repositories and
so why users it's a very good learning curve that's open source breezy attributed it's still quite small project and it's very easy to quickly implement fairly complex systems and the code is on data of uh the red minor mailing lists and of course the block so feel free to check it out of the knowledge of the a source and a certain amount over 200 mission which the and by the
minds of a and I'm not from our and I use of technologies so that's a small technical university in Germany in the center of Germany and the and reasoned earlier said so I have been using iris is on for quite a while so I've read to sell and make sense of the importance of the stability and so I was going reduce by this stuff is passed so I'm going to talk about link there the Colts now we have basically subterraneous can be used to add implements higher-layer protocols and not just his or not just physical layer development that's basically going to give
a quick introduction that on the that of about link the protocol research and then go into a component baseline layer of architecture that we came up with show some practical examples and the inputs and outputs in summer way so basically what was the motivation
behind this work so so we seen the talk by Tom and and I think he he presented the the idea of of the suffer find radio but most of the research at all or most work that we have in the there was maybe on physical layer aspects of so antennas waveforms in general spectrum sensing as
well but from the has heir as low like link network layer transfer there's something like this it hasn't been much so far and basically trying to the and yeah basically trying to make use of this flexibility that we have in the physical layer and and most of those work has been very like application-specific in which a particle for let's say in a few efficiency for sensor nodes on the little and networking cognitive radio but as a general term for having a I like environmental of their intelligent radio dynamic spectrum access of Poland and the phone also mentioned the and and the key question you're basically asking can higher layer so highly
components benefit from the flexibility that underneath as well now when we
are talking about cognitive regularly there so basically the question you have to ask the what what is new general remains of what changes and of course guess know link their radios basically layer sitting on top of you is the layer for basically trying to do the basic link layer functions like framing error control flow control I like multiplexing multiplexing stuff like this but then of course a cockney really there or flexible radio link layer needs to those basic functions at all but was was on top of this we have to basically try the soon to manage the flexibility that is underneath that trying to manage supply resource that it has yeah and when we're trying to to build on my part of radius is implemented
spectrum access systems or any other application like follicles you have some applications of specific responsibilities my friends and that link establishment the dimension of the year so you have little like HLTs and you know there's a jammer and you need to like instead of sending a cells and having more information like the Carolyn it tells you and basically current just sat on 1 channel and and hot but you kind of need to know when there is a big number of channels that with just 8 or 10 like 100 or so what it is is some mechanism to basically synchronize and to establish a link have prior to really have to communicate to right to communicate and and also in dynamic spectrum access system there's and basically a use case have called on all the that the the the the the idea of dynamic spectrum access that a lot and in license of spectrum that you have something called primary user which basically that owns the spectrum also lies license owner of the spectrum and that you when you I use the spectrum the dedicated to the prime user comes back the need to find out and so on integrates the neck mechanism to basically maintain link mating of communication ports in this that's an application that example application for this is that the link layer functions I for flexible radial for reconfigurable radios but there could be many more so and I returned here is
how can those system requirements the actress the link there uh so how can those data transfer function majority basic of the link there and of course also exist in Europe radios basically and what what how can I do those basic transfer functions and separate them from the more management like functions and how can have facilitate the reuse of those components that I have in each and every radio the and now we're looking at the link layer protocols nowadays so I think there has been a whole bunch of proposals from the research community specifically on you Mexican called link the locals and in most of them have been a standalone or extensions loves on the Mexican report called basically trying to solve some energy efficiency issues for instance and the the general approach is to either extend an existing protocol
and trying to like and some like for instance from functional moving function into the core of the particle so that you can see from the from the baseline there the problem here is that you you tightly integrate this additional function into your core particle and by that you you make the core when you you make it not really reusable I core and this is basically just there for the for the purpose of son called Death this just a core and the visual hostility is bound to release a tightly integrated support and there's been some and flexible may have an research on on their complement or the company structural was defined so it's kind of a very fine grained components where the components were state machine and it is just like sending a packet loss during that time or or within the framework of letters and
this has been done mostly on so for instance and into the an off-the-shelf hardware using softmax now approach or also in FPGA at work said but the result is you get those protocols are quite complex to implement and also to maintain so if you have to have we compiler bj for the teaching every 1 step of the Protocol development if I can't quite cumbersome and also the the flexibility all reusable and this is quite limited to the study of pressure so the idea basically we came up with this kind of a component-based link their architecture that is basically and that basically separates those core functions from these from the additional specific applications and the idea was to himself tightly integrating uh those additional applications into the medium access control protocol basically spill out wearing as the core particle which basically takes care of of those essential parts like framing Arab involves the factors in we multiple applications like to their applications and that's basically I take over the and the management functionality and use the link there or the core particle as an application would use of using the same interface and we hear having a control over which is scaleable of mating those fight flexibility I can abilities trying to reconfigure channel trying to I know we can figure out the transmit or per
frame or the modulation scheme on and we're trying to basically and model the dynamics between the core protocol and those applications using a finite state machine which basically runs in the controller and interacts the particles and you can use even similar to some and those we have in the of the radio itself uh but given events could also come from external application that just from into from component internal to the radio like ascending components of also from Mexico applications like spectrum database or get whatever you could think of or user application that so basically tries or signals the the the radio that is for the experience in the 10 there should be an action and you could basically the program all those and now in Canada for this even inside your control basically we reconfigure the radial arm this is basically basically the idea of art itself like having a single block with lots of functionally tightly integrated into it having a kind of split up but component based design paradigm and that too is on the next layer all the link there so of course when we want to like have all these functionality we need to have a few functions I or III to accommodate you functions inside our generic or the format for
the people and ended it's basically a part of the of the link layer protocol which I'll which we call the core which is basically a generic component which consists of an 1 more error and flow control protocols all the fields that you would like to handle multiple applications of course and which oral accessing the scene in the face and of course the the frame multiplexer-demultiplexer and basic architecture have media because this part here which is basically the memex control URIs made based like in the 11th or you may based x is in the physical layer and basically your use of the door of whatever you want to use now what is
the year how do the application between here and the basically the idea is now you have multiple components in the link layer and the application specific for it's the role rhetorical which connect to the same application on this is the same the interface like user occasionally do so is the wrong we particle is maybe has a higher priority to exit the channel or I then use application you can configure foreign mobility political and also uses the same interface just as in all normal education with you and there is a new component with this controller having like a generic data storage that thing and where can store information suggests and like the extras order the links that communicates through other channels that have this channel manager which have forced information and that the physical layer is countable off so the physical layer basically you can think the link layer
which can can release the facets of the connected to which modulation schemes that can used and the controller is able to for have per link of flow in for instance the transport needs to configure the channel to the origin lot of reaches a certain station end no idea is here that you basically you have a decoupled from the media and in part the couple of generic often yet part of the good for it's also use a different MAC protocols here for instance you may based macro policies basement of all the minute a even FPGA or on your host computer and so that's kind of a generic here but still you can use the the generic part on the host computer but the during the last couple of
the yeah yeah that's a always implemented a few components and all of them were basically in the use of this dynamic spectrum access this why policy of focusing on this that so we have various around components which implemented state of the art of protocols I think you can use it for ad-hoc networks where nodes basically don't know each other and don't know all of which we consider using don't have specific roles or in the lack of centralized accurately have dedicated base station which is like a mobile station connect to produce the coroner coronet phase of protocol and you have a link to an oracle flexible block and weights and like walk acknowledgment of there has been basically done during the Doppler spectrum challenge of virus of they can be the sets and of a bunch of frames and that of acknowledging the single frame you can the ecology whole block of frames and yeah
flow that is produced so you can have multiple applications which also according to their priority yes New Mexico from falls below a lower and soft FPGA soft a implementations with the tries to run of the season neighbor Poland and solve the which course has some tolerance to the latency that's a is involved with the communication and alternately PGA version an and suppose you may version also there which is kind of so that was basically lose the and time commands of the use of the I mean to a like skater transmissions and there's also mobility particles which is which and take pot or with Jerry there's the unity is basically to the coordinates between or among a few nodes a certain back up channel for instance that you could use that indicates that a prime user occupies the premier braincell in it you can handle so there's also a few where a central coordinator so that the corporation of the coronation already has a cluster-based where cluster and and a selected few time and and it'll general sets are exchanged and basically the Becker jealous of negotiated of with that input in that cluster yeah and have talk about this controller that implements a finite state machine to model this the next among those components and I just want to quickly show how this is working and basically what what we've been using as a our is a is the basically there's a generic interface and you could basically use any state machine implementation it can think of the decoded into the last or used will stay charge add is another power 1 called I would space
instead of the which is in an XML state machine model which is extra from the actual Elias configuration that all nations that walks on an read books are configured as so you basically define your state machine and and the actions that are taken not on the events in XML file and then you run the the book was that there is no generative creates its but that's implementation of this and you at some bits of logic to it uh which is basically
the year i the actual work of the of this the application-specific glue code basically at any for that there is a function here called 5 Nextel so which you specify an XML file and which rejection this in this logic here and that's where the based on reconfigurable base code which of takes care of the basic of functions like reconfiguring a channel for instance and is linked together into a lower a control or into a control library Our which basically then runs a radial you can and basically you can basically use those that on the exam halophytes very intuitively and compared define transitions are like frame received you switch over to connect that thing and when you entered a state of mind you basically find makes general
and the transit is the channel has been found to be from the radial this space is just an example and when you're trying to you before this action recover the channel is this is an example of a radio that I I mentioned that and a few seconds that theory for the goods
and the extent to some practical examples that we've been out of plane so this is basically just in a demonstration the overview that you have been presenting at there conference last almost and 1 0 and where we set up the dynamic spectrum X is experiments of multiple partners ready notes enterprise user trying to infer with the ongoing cognitive radio data transmission the against the wall of a book and you have the cool thing here was that it that are just topping up
between the channels we were using a database and an extra use of p which was sending the on the spectrum was was writing those information from database and just the artists randomly 2nd shall we basically I show that you can ask for dicophal model the primary user and use the channel that has been leased use for instance over a certain amount of time and tried to decrease