Newer
Older
Dimitrios Giannopoulos
committed
Dimitrios Giannopoulos
committed
<li class="md-nav__item md-nav__item--nested">
Dimitrios Giannopoulos
committed
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5" >
Dimitrios Giannopoulos
committed
Dimitrios Giannopoulos
committed
<label class="md-nav__link" for="__nav_5" id="__nav_5_label" tabindex="0">
Dimitrios Giannopoulos
committed
<span class="md-ellipsis">
Dimitrios Giannopoulos
committed
Service Ordering
Dimitrios Giannopoulos
committed
</span>
<span class="md-nav__icon md-icon"></span>
</label>
Dimitrios Giannopoulos
committed
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_5">
Dimitrios Giannopoulos
committed
<span class="md-nav__icon md-icon"></span>
Dimitrios Giannopoulos
committed
Service Ordering
Dimitrios Giannopoulos
committed
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
Dimitrios Giannopoulos
committed
<a href="service_ordering/ordering_services/" class="md-nav__link">
Dimitrios Giannopoulos
committed
<span class="md-ellipsis">
Dimitrios Giannopoulos
committed
Ordering Services from catalogs
Dimitrios Giannopoulos
committed
</span>
</a>
</li>
Dimitrios Giannopoulos
committed
</ul>
</nav>
</li>
Dimitrios Giannopoulos
committed
Dimitrios Giannopoulos
committed
<li class="md-nav__item md-nav__item--nested">
Dimitrios Giannopoulos
committed
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6" >
Dimitrios Giannopoulos
committed
Dimitrios Giannopoulos
committed
<label class="md-nav__link" for="__nav_6" id="__nav_6_label" tabindex="0">
Dimitrios Giannopoulos
committed
<span class="md-ellipsis">
Addons
Dimitrios Giannopoulos
committed
</span>
<span class="md-nav__icon md-icon"></span>
</label>
Dimitrios Giannopoulos
committed
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_6_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_6">
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
<span class="md-nav__icon md-icon"></span>
Addons
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="addons/intro/" class="md-nav__link">
<span class="md-ellipsis">
Introduction
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6_2" >
<label class="md-nav__link" for="__nav_6_2" id="__nav_6_2_label" tabindex="0">
<span class="md-ellipsis">
CAMARA
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_6_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_6_2">
<span class="md-nav__icon md-icon"></span>
CAMARA
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="addons/camara/intro/" class="md-nav__link">
<span class="md-ellipsis">
Offering CAMARAaaS
</span>
</a>
</li>
<li class="md-nav__item">
<a href="addons/camara/qod/" class="md-nav__link">
<span class="md-ellipsis">
Quality on Demand
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_7" >
<label class="md-nav__link" for="__nav_7" id="__nav_7_label" tabindex="0">
<span class="md-ellipsis">
Design & Architecture
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_7_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_7">
Dimitrios Giannopoulos
committed
<span class="md-nav__icon md-icon"></span>
Design & Architecture
</label>
<ul class="md-nav__list" data-md-scrollfix>
Dimitrios Giannopoulos
committed
<li class="md-nav__item">
Dimitrios Giannopoulos
committed
<a href="architecture/architecture/" class="md-nav__link">
Dimitrios Giannopoulos
committed
<span class="md-ellipsis">
Dimitrios Giannopoulos
committed
Architecture
Dimitrios Giannopoulos
committed
</span>
</a>
</li>
Dimitrios Giannopoulos
committed
Dimitrios Giannopoulos
committed
Dimitrios Giannopoulos
committed
<li class="md-nav__item">
<a href="architecture/messagebus/" class="md-nav__link">
Dimitrios Giannopoulos
committed
<span class="md-ellipsis">
Message bus
Dimitrios Giannopoulos
committed
</span>
</a>
</li>
<li class="md-nav__item">
<a href="architecture/osom/" class="md-nav__link">
Dimitrios Giannopoulos
committed
<span class="md-ellipsis">
OSOM
Dimitrios Giannopoulos
committed
</span>
</a>
</li>
<li class="md-nav__item">
<a href="architecture/cridge/" class="md-nav__link">
Dimitrios Giannopoulos
committed
<span class="md-ellipsis">
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
CRIDGE
</span>
</a>
</li>
<li class="md-nav__item">
<a href="architecture/metrico/" class="md-nav__link">
<span class="md-ellipsis">
METRICO
Dimitrios Giannopoulos
committed
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
</span>
</a>
</li>
<li class="md-nav__item">
<a href="architecture/oauth/" class="md-nav__link">
<span class="md-ellipsis">
Authentication
Dimitrios Giannopoulos
committed
</span>
</a>
</li>
Dimitrios Giannopoulos
committed
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_7_7" >
Dimitrios Giannopoulos
committed
<label class="md-nav__link" for="__nav_7_7" id="__nav_7_7_label" tabindex="0">
Dimitrios Giannopoulos
committed
<span class="md-ellipsis">
APIs
Dimitrios Giannopoulos
committed
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_7_7_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_7_7">
Dimitrios Giannopoulos
committed
<span class="md-nav__icon md-icon"></span>
APIs
</label>
<ul class="md-nav__list" data-md-scrollfix>
Dimitrios Giannopoulos
committed
<li class="md-nav__item">
<a href="architecture/tmfapi/" class="md-nav__link">
<span class="md-ellipsis">
TMF API
Dimitrios Giannopoulos
committed
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
</span>
</a>
</li>
<li class="md-nav__item">
<a href="architecture/nfvapi/" class="md-nav__link">
<span class="md-ellipsis">
NFV API
Dimitrios Giannopoulos
committed
</span>
</a>
</li>
Dimitrios Giannopoulos
committed
</ul>
</nav>
</li>
Dimitrios Giannopoulos
committed
<li class="md-nav__item">
<a href="architecture/issuemgt/" class="md-nav__link">
<span class="md-ellipsis">
Issue management
Dimitrios Giannopoulos
committed
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
</span>
</a>
</li>
<li class="md-nav__item">
<a href="architecture/centrallog/" class="md-nav__link">
<span class="md-ellipsis">
Central logging
Dimitrios Giannopoulos
committed
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_8" >
Dimitrios Giannopoulos
committed
<label class="md-nav__link" for="__nav_8" id="__nav_8_label" tabindex="0">
Dimitrios Giannopoulos
committed
<span class="md-ellipsis">
Contribute
Dimitrios Giannopoulos
committed
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_8_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_8">
Dimitrios Giannopoulos
committed
<span class="md-nav__icon md-icon"></span>
Contribute
Dimitrios Giannopoulos
committed
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="contribute/developing/" class="md-nav__link">
Dimitrios Giannopoulos
committed
<span class="md-ellipsis">
Developing
Dimitrios Giannopoulos
committed
</span>
</a>
</li>
<li class="md-nav__item">
<a href="contribute/documenting/" class="md-nav__link">
<span class="md-ellipsis">
Documenting
</span>
</a>
</li>
Dimitrios Giannopoulos
committed
</ul>
</nav>
</li>
Dimitrios Giannopoulos
committed
<li class="md-nav__item">
<a href="terminology/" class="md-nav__link">
<span class="md-ellipsis">
Terminology
Dimitrios Giannopoulos
committed
</span>
</a>
</li>
Dimitrios Giannopoulos
committed
</ul>
</nav>
</div>
</div>
</div>
<div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
<div class="md-sidebar__scrollwrap">
<div class="md-sidebar__inner">
<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
Dimitrios Giannopoulos
committed
<label class="md-nav__title" for="__toc">
<span class="md-nav__icon md-icon"></span>
Table of contents
</label>
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
<li class="md-nav__item">
<a href="#usage" class="md-nav__link">
<span class="md-ellipsis">
Usage
</span>
</a>
Dimitrios Giannopoulos
committed
<nav class="md-nav" aria-label="Usage">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#an-end-to-end-e2e-service-orchestration-framework" class="md-nav__link">
Dimitrios Giannopoulos
committed
<span class="md-ellipsis">
Dimitrios Giannopoulos
committed
An end-to-end (E2E) service orchestration framework
Dimitrios Giannopoulos
committed
</span>
</a>
Dimitrios Giannopoulos
committed
</li>
Dimitrios Giannopoulos
committed
<li class="md-nav__item">
<a href="#an-e2e-service-orchestration-workflow" class="md-nav__link">
Dimitrios Giannopoulos
committed
<span class="md-ellipsis">
Dimitrios Giannopoulos
committed
An E2E service orchestration workflow
Dimitrios Giannopoulos
committed
</span>
</a>
Dimitrios Giannopoulos
committed
</li>
Dimitrios Giannopoulos
committed
<li class="md-nav__item">
<a href="#openslice-for-service-providers" class="md-nav__link">
Dimitrios Giannopoulos
committed
<span class="md-ellipsis">
Dimitrios Giannopoulos
committed
OpenSlice for Service Providers
Dimitrios Giannopoulos
committed
</span>
</a>
</li>
Dimitrios Giannopoulos
committed
<li class="md-nav__item">
<a href="#openslice-for-service-consumers" class="md-nav__link">
Dimitrios Giannopoulos
committed
<span class="md-ellipsis">
Dimitrios Giannopoulos
committed
OpenSlice for Service Consumers
Dimitrios Giannopoulos
committed
</span>
</a>
</li>
Dimitrios Giannopoulos
committed
</ul>
</nav>
Dimitrios Giannopoulos
committed
</li>
<li class="md-nav__item">
Dimitrios Giannopoulos
committed
<a href="#live-demo" class="md-nav__link">
Dimitrios Giannopoulos
committed
<span class="md-ellipsis">
Dimitrios Giannopoulos
committed
Live Demo
Dimitrios Giannopoulos
committed
</span>
</a>
</li>
Dimitrios Giannopoulos
committed
<li class="md-nav__item">
Dimitrios Giannopoulos
committed
<a href="#probe-further" class="md-nav__link">
Dimitrios Giannopoulos
committed
<span class="md-ellipsis">
Dimitrios Giannopoulos
committed
Probe further
Dimitrios Giannopoulos
committed
</span>
</a>
</li>
</ul>
</nav>
</div>
Dimitrios Giannopoulos
committed
</div>
Dimitrios Giannopoulos
committed
</div>
<div class="md-content" data-md-component="content">
<article class="md-content__inner md-typeset">
Dimitrios Giannopoulos
committed
<h1 id="introduction">Introduction</h1>
<p><a class="glightbox" href="images/openslice_logo.png" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img src="images/openslice_logo.png" alt="logo" width="200"/></a></p>
<p><strong>Version</strong>: develop (<a href="https://labs.etsi.org/rep/osl/code/org.etsi.osl.main/-/releases">Release Notes</a>)</p>
Dimitrios Giannopoulos
committed
<p>The ETSI Software Development Group for OpenSlice (SDG OSL) is developing an open-source service-based Operations Support System (OSS) to deliver Network as a Service (NaaS) following specifications from major SDOs including ETSI, TM Forum and GSMA.</p>
Dimitrios Giannopoulos
committed
<h2 id="usage">Usage</h2>
Dimitrios Giannopoulos
committed
<p>OpenSlice can be used in managing 5G network services from the user device to the core network and cloud as well as for Orchestrating cloud resources across private and public clouds for enterprise applications. OpenSlice is capable of supporting most of the features of an end-to-end (E2E) service orchestration framework while many of them will be more mature in future releases. The following figure displays the general usage of OpenSlice. </p>
<p><a class="glightbox" href="images/global_approach.png" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="OpenSlice usage" src="images/global_approach.png" /></a></p>
Dimitrios Giannopoulos
committed
<p>The image illustrates how OpenSlice supports the idea of an E2E network service orchestration framework by integrating multiple network components and layers, from user devices at the edge to radio, transport networks, core and public cloud services, ensuring seamless, secure, and efficient delivery of network services. Assuming that there are domain controllers for all the above domains OpenSlice can create the end-to-end service via the domain controllers by following the process of creating and deploying the end-to-end service by implementing transformations, and consuming APIs from various network entities.
OpenSlice, in a nutchell, offers user interfaces where users can interact with the framework to order, expose, and manage service catalogs, services and resources that can be ordered, following business logic and policies and exposed through the APIs. </p>
<h3 id="an-end-to-end-e2e-service-orchestration-framework">An end-to-end (E2E) service orchestration framework</h3>
<p>An end-to-end (E2E) service orchestration framework is designed to manage and automate the entire lifecycle of services across multiple domains and technologies. For delivering, especially, Network as a Service (NaaS) a comprehensive system is needed that automates and manages the entire lifecycle of network services, from provisioning to monitoring and decommissioning, while ensuring seamless integration, operation, and delivery of services from the initial request to the final delivery, spanning all involved components and layers. Such E2E frameworks enable users to consume network services on-demand, similar to how cloud computing services are consumed. Some key components and features of such frameworks are:</p>
Dimitrios Giannopoulos
committed
<ul>
Dimitrios Giannopoulos
committed
<li>Service Catalogs including predefined Network Services based on service templates for common network services like 5G core functions, 5G slices, VPNs, SD-WAN, firewalls, load balancers, etc. as well as custom Network services with Options for users to define their own network configurations.</li>
<li>User Interface (UI) and APIs exposure, offering both a Self-Service Portal that allows users to request, configure, and manage network services as well as APIs for enabling programmatic access to network services for integration with other systems and automation scripts.</li>
Dimitrios Giannopoulos
committed
<li>Service Design and Creation through service templates based on predefined models for creating services.</li>
Dimitrios Giannopoulos
committed
<li>Automation and Workflow Management via Orchestration Engines, supporting Process Automation for automating repetitive tasks and processes, workflow management and orchestration for automating the provisioning, configuration, and management of network services while coordinating multiple workflows to ensure services are delivered efficiently, ensuring that services comply with predefined policies and standards.</li>
Dimitrios Giannopoulos
committed
<li>Standardized API exposure for seamless integration with different systems and services and APIs transformation support for converting data formats and protocols to ensure compatibility and information exchange between systems during workflows orchestration</li>
Dimitrios Giannopoulos
committed
<li>Service and Resource management and Orchestration while including the capability of multi-domain coordination in managing services/resources across different domains like cloud, 5G core, radios, transport network, and edge including dynamic allocation with adjusting resources based on demand and service requirements. To accomplish the above advanced technologies need to be exploited like, Containerized workloads, Network Function Virtualization (NFV) which uses virtualized network functions to provide services like routing, switching, and security and Software-Defined Networking (SDN) which Controls the network programmatically to dynamically manage traffic and resources.</li>
<li>Monitoring and Analytics including Service Monitoring while continuously tracking the performance and health of services with capabilities to analyse data to optimize service delivery and predict issues. Real-Time Monitoring is also needed for tracking the performance and health of network services enabling analytics that provide insights for optimization and troubleshooting.</li>
<li>Security and Access Control for ensuring only authorized users and systems can access network services. while implementing rules and policies to comply with regulatory requirements.</li>
Dimitrios Giannopoulos
committed
</ul>
Dimitrios Giannopoulos
committed
<h3 id="an-e2e-service-orchestration-workflow">An E2E service orchestration workflow</h3>
<p>In general an E2E service orchestration workflow includes the following phases:</p>
Dimitrios Giannopoulos
committed
<ul>
Dimitrios Giannopoulos
committed
<li>Service Request: Users or systems request a network service through the self-service portal or API. The request can specify details such as bandwidth, security features, geographic coverage, and duration.</li>
<li>Service Orchestration: The orchestration engine evaluates the request, determines the necessary resources, and initiates the automated workflows.It interacts with the underlying components (e.g. 5G Core, Radios, Containerized controllers, NFV, SDN controllers ) to provision and configure the required network functions and connectivity.</li>
Dimitrios Giannopoulos
committed
<li>Provisioning and Configuration: Services, network resources and network functions (VNFs) are instantiated and configured according to the service request during Service Orchestration through the orchestration engine. Other controllers manage their own domains, for example SDN controllers, manage the flow of data through the network to ensure optimal performance and adherence to policies, RAN controllers manage the RAN resources, Containerized controllers manage their workload, etc</li>
Dimitrios Giannopoulos
committed
<li>Service Delivery: The E2E network service is activated and made available to the user. Continuous monitoring ensures the service operates as expected, with automatic adjustments made as necessary.</li>
<li>Lifecycle Management: The orchestration framework handles updates, scaling, and any necessary modifications throughout the service lifecycle.</li>
<li>At the end of the service period, resources are decommissioned and reclaimed.</li>
Dimitrios Giannopoulos
committed
</ul>
Dimitrios Giannopoulos
committed
<h3 id="openslice-for-service-providers">OpenSlice for Service Providers</h3>
Dimitrios Giannopoulos
committed
<p>OpenSlice is used by Service Providers to design Network Services, expose them in Service Catalogues and make them available for Service Orders. OpenSlice then can perform the E2E service orchestration workflow.</p>
Dimitrios Giannopoulos
committed
<p>There are various portals offering UI friendly access to users acting as Service Providers:</p>
Dimitrios Giannopoulos
committed
<ul>
Dimitrios Giannopoulos
committed
<li>The Services portal allows Service Providers to design and expose services.</li>
Dimitrios Giannopoulos
committed
<li>The Resource portal allows users to access resource specifications and running resources in resource inventory.</li>
Dimitrios Giannopoulos
committed
<li>The NFV portal allows users to manage NFV artifacts and onboard them to a target MANO/NFV Orchestrator.</li>
Dimitrios Giannopoulos
committed
<li>The Testing portal allows Service Providers to manage test artifacts</li>
Dimitrios Giannopoulos
committed
<li>The Products portal allows Service Providers to expose services as products</li>
Dimitrios Giannopoulos
committed
</ul>
Dimitrios Giannopoulos
committed
<h3 id="openslice-for-service-consumers">OpenSlice for Service Consumers</h3>
<p>OpenSlice allows Service Consumers to browse the available offered service specifications in a self-service manner. It also supports TMFORUM Northbound APIs regarding Service Catalog Management, Ordering, Resource, etc.
There are various portals offering UI friendly access to users acting as Service Consumers:</p>
Dimitrios Giannopoulos
committed
<ul>
Dimitrios Giannopoulos
committed
<li>The Services portal allows Service Consumers to select and order predefined services.</li>
Dimitrios Giannopoulos
committed
<li>The Resource portal allows users to access running resources in resource inventory.</li>
Dimitrios Giannopoulos
committed
<li>The NFV portal allows users to self-manage NFV artifacts and onboard them to a target MANO/NFV Orchestrator.</li>
Dimitrios Giannopoulos
committed
<li>The Testing portal allows Service Consumers to manage test artifacts</li>
Dimitrios Giannopoulos
committed
<li>The Products portal allows Service Consumers to expose services as products</li>
Dimitrios Giannopoulos
committed
</ul>
Dimitrios Giannopoulos
committed
<p>3rd party applications can use OpenSlice through TMForum Open APIs.</p>
<h2 id="live-demo">Live Demo</h2>
<p>Check a live demo of OpenSlice in the following pages:</p>
Dimitrios Giannopoulos
committed
<ul>
Dimitrios Giannopoulos
committed
<li>OpenSlice demo: <a href="http://portal.openslice.eu/">http://portal.openslice.eu/</a></li>
<li>OpenSlice Service Catalogs and ordering: <a href="http://portal.openslice.eu/services/">http://portal.openslice.eu/services/</a></li>
<li>OpenSlice NFV Services onboarding: <a href="http://portal.openslice.eu/nfvportal">http://portal.openslice.eu/nfvportal</a></li>
Dimitrios Giannopoulos
committed
</ul>
<p>Login credentials:</p>
<ul>
<li>username=admin, password=openslice </li>
<li>username=admin, password=changeme</li>
Dimitrios Giannopoulos
committed
</ul>
<h2 id="probe-further">Probe further</h2>
Dimitrios Giannopoulos
committed
<ul>
<li>How OpenSlice works? See the <a href="architecture/architecture/">Architecture</a> section</li>
<li>Installing OpenSlice? See the <a href="getting_started/deployment/introduction/">Deployment</a> section</li>
<li>Learn more on <a href="naas/introduction/">how OpenSlice supports Network as a Service(NaaS)</a></li>
<li>Who is maintaining OpenSlice? See <a href="https://osl.etsi.org/">OSL ETSI SDG</a></li>
Dimitrios Giannopoulos
committed
</ul>
Dimitrios Giannopoulos
committed
Dimitrios Giannopoulos
committed
</article>
Dimitrios Giannopoulos
committed
</div>
Dimitrios Giannopoulos
committed
<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
Dimitrios Giannopoulos
committed
</div>
Dimitrios Giannopoulos
committed
<button type="button" class="md-top md-icon" data-md-component="top" hidden>
Dimitrios Giannopoulos
committed
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z"/></svg>
Dimitrios Giannopoulos
committed
Back to top
</button>
</main>
<footer class="md-footer">
<nav class="md-footer__inner md-grid" aria-label="Footer" >
<a href="deployment_examples/" class="md-footer__link md-footer__link--next" aria-label="Next: Deployment examples">
Dimitrios Giannopoulos
committed
<div class="md-footer__title">
<span class="md-footer__direction">
Next
</span>
<div class="md-ellipsis">
Deployment examples
Dimitrios Giannopoulos
committed
</div>
Dimitrios Giannopoulos
committed
</div>
Dimitrios Giannopoulos
committed
<div class="md-footer__button md-icon">
Dimitrios Giannopoulos
committed
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z"/></svg>
Dimitrios Giannopoulos
committed
</div>
Dimitrios Giannopoulos
committed
</a>
</nav>
<div class="md-footer-meta md-typeset">
<div class="md-footer-meta__inner md-grid">
<div class="md-copyright">
<div class="md-copyright__highlight">
Copyright © 2025 ETSI OSL
Dimitrios Giannopoulos
committed
</div>
Dimitrios Giannopoulos
committed
Made with
<a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
Material for MkDocs
</a>
Dimitrios Giannopoulos
committed
</div>
Dimitrios Giannopoulos
committed
<div class="md-social">
<a href="https://osl.etsi.org/" target="_blank" rel="noopener" title="osl.etsi.org" class="md-social__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M352 256c0 22.2-1.2 43.6-3.3 64H163.4c-2.2-20.4-3.3-41.8-3.3-64s1.2-43.6 3.3-64h185.3c2.2 20.4 3.3 41.8 3.3 64m28.8-64h123.1c5.3 20.5 8.1 41.9 8.1 64s-2.8 43.5-8.1 64H380.8c2.1-20.6 3.2-42 3.2-64s-1.1-43.4-3.2-64m112.6-32H376.7c-10-63.9-29.8-117.4-55.3-151.6 78.3 20.7 142 77.5 171.9 151.6zm-149.1 0H167.7c6.1-36.4 15.5-68.6 27-94.7 10.5-23.6 22.2-40.7 33.5-51.5C239.4 3.2 248.7 0 256 0s16.6 3.2 27.8 13.8c11.3 10.8 23 27.9 33.5 51.5 11.6 26 20.9 58.2 27 94.7m-209 0H18.6c30-74.1 93.6-130.9 172-151.6-25.5 34.2-45.3 87.7-55.3 151.6M8.1 192h123.1c-2.1 20.6-3.2 42-3.2 64s1.1 43.4 3.2 64H8.1C2.8 299.5 0 278.1 0 256s2.8-43.5 8.1-64m186.6 254.6c-11.6-26-20.9-58.2-27-94.6h176.6c-6.1 36.4-15.5 68.6-27 94.6-10.5 23.6-22.2 40.7-33.5 51.5-11.2 10.7-20.5 13.9-27.8 13.9s-16.6-3.2-27.8-13.8c-11.3-10.8-23-27.9-33.5-51.5zM135.3 352c10 63.9 29.8 117.4 55.3 151.6-78.4-20.7-142-77.5-172-151.6zm358.1 0c-30 74.1-93.6 130.9-171.9 151.6 25.5-34.2 45.2-87.7 55.3-151.6h116.7z"/></svg>
Dimitrios Giannopoulos
committed
</a>
<a href="https://labs.etsi.org/rep/osl" target="_blank" rel="noopener" title="labs.etsi.org" class="md-social__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="m503.5 204.6-.7-1.8-69.7-181.78c-1.4-3.57-3.9-6.59-7.2-8.64-2.4-1.55-5.1-2.515-8-2.81s-5.7.083-8.4 1.11c-2.7 1.02-5.1 2.66-7.1 4.78-1.9 2.12-3.3 4.67-4.1 7.44l-47 144H160.8l-47.1-144c-.8-2.77-2.2-5.31-4.1-7.43-2-2.12-4.4-3.75-7.1-4.77a18.1 18.1 0 0 0-8.38-1.113 18.4 18.4 0 0 0-8.04 2.793 18.1 18.1 0 0 0-7.16 8.64L9.267 202.8l-.724 1.8a129.57 129.57 0 0 0-3.52 82c7.747 26.9 24.047 50.7 46.447 67.6l.27.2.59.4 105.97 79.5 52.6 39.7 32 24.2c3.7 1.9 8.3 4.3 13 4.3s9.3-2.4 13-4.3l32-24.2 52.6-39.7 106.7-79.9.3-.3c22.4-16.9 38.7-40.6 45.6-67.5 8.6-27 7.4-55.8-2.6-82"/></svg>
Dimitrios Giannopoulos
committed
</a>
<a href="https://www.linkedin.com/company/openslice/" target="_blank" rel="noopener" title="www.linkedin.com" class="md-social__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M416 32H31.9C14.3 32 0 46.5 0 64.3v383.4C0 465.5 14.3 480 31.9 480H416c17.6 0 32-14.5 32-32.3V64.3c0-17.8-14.4-32.3-32-32.3M135.4 416H69V202.2h66.5V416zm-33.2-243c-21.3 0-38.5-17.3-38.5-38.5S80.9 96 102.2 96c21.2 0 38.5 17.3 38.5 38.5 0 21.3-17.2 38.5-38.5 38.5m282.1 243h-66.4V312c0-24.8-.5-56.7-34.5-56.7-34.6 0-39.9 27-39.9 54.9V416h-66.4V202.2h63.7v29.2h.9c8.9-16.8 30.6-34.5 62.9-34.5 67.2 0 79.7 44.3 79.7 101.9z"/></svg>
Dimitrios Giannopoulos
committed
</a>
<a href="https://twitter.com/OpensliceOSS" target="_blank" rel="noopener" title="twitter.com" class="md-social__link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M389.2 48h70.6L305.6 224.2 487 464H345L233.7 318.6 106.5 464H35.8l164.9-188.5L26.8 48h145.6l100.5 132.9zm-24.8 373.8h39.1L151.1 88h-42z"/></svg>
Dimitrios Giannopoulos
committed
</a>
</div>
</div>
</div>
</footer>
</div>
<div class="md-dialog" data-md-component="dialog">
<div class="md-dialog__inner md-typeset"></div>
</div>
<div class="md-progress" data-md-component="progress" role="progressbar"></div>
<script id="__config" type="application/json">{"base": ".", "features": ["navigation.instant", "navigation.instant.progress", "navigation.top", "navigation.footer", "navigation.path", "search", "search.highlight", "content.code.copy"], "search": "assets/javascripts/workers/search.f8cc74c7.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": {"provider": "mike"}}</script>
Dimitrios Giannopoulos
committed
<script src="assets/javascripts/bundle.f1b6f286.min.js"></script>
Dimitrios Giannopoulos
committed
<script id="init-glightbox">const lightbox = GLightbox({"touchNavigation": true, "loop": false, "zoomable": true, "draggable": true, "openEffect": "zoom", "closeEffect": "zoom", "slideEffect": "slide"});
document$.subscribe(() => { lightbox.reload() });
</script></body>