MEC Sandbox Help: Difference between revisions
(Removed Table of contents) |
(Updated headings formatting and changed some images to 2 column format) |
||
Line 1: | Line 1: | ||
= Platform Concepts = | |||
MEC Sandbox is an interactive environment that enables users to learn & experiment with ETSI MEC Service APIs. These standardized RESTful APIs are targeted towards MEC application developers to expose the value added services offered by MEC, including real time access to network and context information, as well as location awareness. The design principles for developing the APIs have also been specified in ETSI GS MEC 009, along with http methods, templates, conventions and patterns. The MEC service APIs are available in YAML and JSON format at https://forge.etsi.org, presented via OpenAPI compliant descriptions. | MEC Sandbox is an interactive environment that enables users to learn & experiment with ETSI MEC Service APIs. These standardized RESTful APIs are targeted towards MEC application developers to expose the value added services offered by MEC, including real time access to network and context information, as well as location awareness. The design principles for developing the APIs have also been specified in ETSI GS MEC 009, along with http methods, templates, conventions and patterns. The MEC service APIs are available in YAML and JSON format at https://forge.etsi.org, presented via OpenAPI compliant descriptions. | ||
MEC Sandbox provides the user with a choice of scenarios combining different network technologies (4G, 5G, Wi-Fi) and terminal types. Combining these assets in a geolocated environment, a user can gain hands-on experience on the behavior and capabilities of the Location (MEC013), Radio Network Information (MEC012) and WLAN Information (MEC028) service APIs. Such contextual information can offer significant differential performance for edge based MEC applications. | MEC Sandbox provides the user with a choice of scenarios combining different network technologies (4G, 5G, Wi-Fi) and terminal types. Combining these assets in a geolocated environment, a user can gain hands-on experience on the behavior and capabilities of the Location (MEC013), Radio Network Information (MEC012) and WLAN Information (MEC028) service APIs. Such contextual information can offer significant differential performance for edge based MEC applications. | ||
== Web UI == | |||
MEC Sandbox Portal is a single page web application that provides an interactive interface; once signed in, it allows a user to experiment with an individual sandbox. | MEC Sandbox Portal is a single page web application that provides an interactive interface; once signed in, it allows a user to experiment with an individual sandbox. | ||
Line 28: | Line 28: | ||
More details about the MEC Sandbox UI are provided in the platform usage section of this wiki. | More details about the MEC Sandbox UI are provided in the platform usage section of this wiki. | ||
== Terminology == | |||
==== Point of Access (POA) ==== | ==== Point of Access (POA) ==== | ||
Line 60: | Line 60: | ||
* Both responses and notifications reflect the state of the network at the moment they were generated | * Both responses and notifications reflect the state of the network at the moment they were generated | ||
= Network Scenarios = | |||
MEC Sandbox currently provides three network scenarios with different assortments of technologies. These scenarios were designed to simulate an urban environment using a single mobile network operator with combinations of 4G, 5G and WiFi PoAs. | MEC Sandbox currently provides three network scenarios with different assortments of technologies. These scenarios were designed to simulate an urban environment using a single mobile network operator with combinations of 4G, 5G and WiFi PoAs. | ||
Line 69: | Line 69: | ||
[[File:Monaco-3D-Satellite.png|border|1000x1000px]] | [[File:Monaco-3D-Satellite.png|border|1000x1000px]] | ||
== Networks == | |||
MEC Sandbox provides the following networks | MEC Sandbox provides the following networks | ||
{| class="wikitable" | {| class="wikitable" | ||
|+ | |||
! | !Networks | ||
! | !Positions in the city | ||
|- | |- | ||
| | |||
==== 4G Macro Network ==== | |||
* Contains 10 4G-PoAs grouped into 4 different zones; together, these PoAs cover the entire Monaco area | |||
|[[File:Network-4g.png|border|300x300px]] | |[[File:Network-4g.png|border|300x300px]] | ||
|- | |||
| | |||
==== 4G-WiFi Macro Network ==== | |||
* Builds on 4G Macro Network by adding 11 WiFi-PoAs distributed throughout the city | |||
|[[File:Network-4g-wifi.png|border|300x300px]] | |[[File:Network-4g-wifi.png|border|300x300px]] | ||
|- | |||
| | |||
==== 4G-5G-WiFi Macro Network ==== | |||
* Builds on 4G-WiFi Macro Network by adding 19 small cell 5G-PoAs distributed throughout the city | |||
|[[File:Network-4g-5g-wifi.png|border|300x300px]] | |[[File:Network-4g-5g-wifi.png|border|300x300px]] | ||
|} | |} | ||
== UE Types == | |||
UEs are divided into the following categories: | UEs are divided into the following categories: | ||
{| class="wikitable" | {| class="wikitable" | ||
|+ | |||
! | !UE Type | ||
! | !Locations and paths of UE's | ||
|- | |- | ||
| | |||
==== Stationary UE ==== | |||
* They have a static geo location | |||
* They represent smart city IoT connected devices such as street cameras, smart sensors, etc. | |||
|[[File:Ue-stationary.png|border|300x300px]] | |[[File:Ue-stationary.png|border|300x300px]] | ||
|- | |||
| | |||
==== Low Velocity UE ==== | |||
* They change location relatively slowly | |||
* They represent leisure cyclists or pedestrians moving through the city | |||
|[[File:Ue-low-velocity.png|border|300x300px]] | |[[File:Ue-low-velocity.png|border|300x300px]] | ||
|- | |||
| | |||
==== High Velocity UE ==== | |||
* They change location quickly | |||
* They represent motorized vehicles moving along the main city roads | |||
|[[File:Ue-high-velocity.png|border|300x300px]] | |[[File:Ue-high-velocity.png|border|300x300px]] | ||
|} | |} | ||
The number of UEs in a network scenario is dynamically configurable, however the positions and paths are the same for all scenarios. | |||
= MEC Services = | |||
== MEC012 - Radio Network Information Service (RNIS) == | |||
MEC Sandbox supports version v02.01.01 of the MEC012 specification, available on [https://www.etsi.org/deliver/etsi_gs/MEC/001_099/012/02.01.01_60/gs_mec012v020101p.pdf ETSI website] | MEC Sandbox supports version v02.01.01 of the MEC012 specification, available on [https://www.etsi.org/deliver/etsi_gs/MEC/001_099/012/02.01.01_60/gs_mec012v020101p.pdf ETSI website] | ||
Line 113: | Line 130: | ||
MEC Sandbox supports a subset of RNI API endpoints and subscription types; for more details on the supported endpoints access the SwaggerUI client in a MEC Sandbox. | MEC Sandbox supports a subset of RNI API endpoints and subscription types; for more details on the supported endpoints access the SwaggerUI client in a MEC Sandbox. | ||
== MEC013 - Location Service == | |||
MEC Sandbox supports version v02.01.01 of the MEC013 specification, available on [https://www.etsi.org/deliver/etsi_gs/MEC/001_099/013/02.01.01_60/gs_mec013v020101p.pdf ETSI website] | MEC Sandbox supports version v02.01.01 of the MEC013 specification, available on [https://www.etsi.org/deliver/etsi_gs/MEC/001_099/013/02.01.01_60/gs_mec013v020101p.pdf ETSI website] | ||
Line 121: | Line 138: | ||
MEC Sandbox supports a subset of the Location API endpoints and subscription types; for more details on the supported endpoints access the SwaggerUI client in a MEC Sandbox. | MEC Sandbox supports a subset of the Location API endpoints and subscription types; for more details on the supported endpoints access the SwaggerUI client in a MEC Sandbox. | ||
== MEC028 - WLAN Access Information Service (WAIS) == | |||
MEC Sandbox supports version v02.01.01 of the MEC028 specifications, available on [https://www.etsi.org/deliver/etsi_gs/MEC/001_099/028/02.01.01_60/gs_mec028v020101p.pdf ETSI website] | MEC Sandbox supports version v02.01.01 of the MEC028 specifications, available on [https://www.etsi.org/deliver/etsi_gs/MEC/001_099/028/02.01.01_60/gs_mec028v020101p.pdf ETSI website] | ||
Line 130: | Line 147: | ||
MEC Sandbox supports a subset of the WAI API endpoints and subscription types. for more details on the supported endpoints access the SwaggerUI client in a MEC Sandbox. | MEC Sandbox supports a subset of the WAI API endpoints and subscription types. for more details on the supported endpoints access the SwaggerUI client in a MEC Sandbox. | ||
= Usage = | |||
The following section provides MEC Sandbox usage guidelines. | The following section provides MEC Sandbox usage guidelines. | ||
== Sign In == | |||
The MEC Sandbox home page provides a ''Sign In'' button to initiate a user session. When clicked, the user is prompted to authenticate with one of the following external OAuth 2.0 providers: | {| class="wikitable" | ||
|+ | |||
|The MEC Sandbox home page provides a ''Sign In'' button to initiate a user session. When clicked, the user is prompted to authenticate with one of the following external OAuth 2.0 providers: | |||
* GitHub: Sign in with a public GitHub account | * GitHub: Sign in with a public GitHub account | ||
* GitLab (ETSI): Sign in with an ETSI-On-Line (EOL) GitLab account | * GitLab (ETSI): Sign in with an ETSI-On-Line (EOL) GitLab account | ||
To successfully sign in to the MEC Sandbox, the user must have a valid account with one of the above providers, must successfully sign in, and must accept an authorization request for access to public profile information. Once signed in and after successful backend resource allocation, the user is redirected to the MEC Sandbox dashboard. | To successfully sign in to the MEC Sandbox, the user must have a valid account with one of the above providers, must successfully sign in, and must accept an authorization request for access to public profile information. Once signed in and after successful backend resource allocation, the user is redirected to the MEC Sandbox dashboard. | ||
NOTE: External OAuth provider login and authorization may be seamless if they have already been performed | NOTE: External OAuth provider login and authorization may be seamless if they have already been performed | ||
|[[File:Sign-in.PNG|border|right|500x500px]] | |||
|} | |||
== MEC Sandbox Dashboard == | |||
The dashboard is the main screen of the MEC Sandbox; it is divided in 4 main areas that are explained below: | The dashboard is the main screen of the MEC Sandbox; it is divided in 4 main areas that are explained below: | ||
* Map area: Observe physical assets on the map | * Map area: Observe physical assets on the map | ||
Line 148: | Line 168: | ||
* API Console: Investigate MEC API communication | * API Console: Investigate MEC API communication | ||
* Try-it area: Details about accessing MEC Service APIs | * Try-it area: Details about accessing MEC Service APIs | ||
{| class="wikitable" | |||
==== Map | |+ | ||
!Area | |||
!Representation | |||
|- | |||
| | |||
==== Map Area ==== | |||
Map area allows to observe the location of different assets; it provides the following information and capabilities: | Map area allows to observe the location of different assets; it provides the following information and capabilities: | ||
* Zoom control | * Zoom control | ||
Line 164: | Line 187: | ||
** Clicking provides details | ** Clicking provides details | ||
** UEs are red when disconnected, blue otherwise | ** UEs are red when disconnected, blue otherwise | ||
|[[File:Map.png|border|500x500px]] | |||
|- | |||
| | |||
==== Configuration area ==== | ==== Configuration area ==== | ||
Configuration area allows dynamic configuration of the MEC Sandbox; it provides the following capabilities: | Configuration area allows dynamic configuration of the MEC Sandbox; it provides the following capabilities: | ||
* Network selection - deploy/terminate network scenarios | * Network selection - deploy/terminate network scenarios | ||
* Pause terminal movement - dynamically start/stop UE movement | * Pause terminal movement - dynamically start/stop UE movement | ||
* Set the number of terminals - dynamically add/remove UEs by type | * Set the number of terminals - dynamically add/remove UEs by type | ||
|[[File:Configuration.png|border|500x500px]] | |||
|- | |||
| | |||
==== API Console ==== | ==== API Console ==== | ||
API console displays a table of real-time requests and notifications that the MEC Service APIs receive and generate. | API console displays a table of real-time requests and notifications that the MEC Service APIs receive and generate. | ||
Line 182: | Line 206: | ||
Requests are HTTP messages received by the MEC Service | Requests are HTTP messages received by the MEC Service | ||
* Click on the request line in the table to see the response returned by the MEC Service | * Click on the request line in the table to see the response returned by the MEC Service | ||
Notifications are HTTP message sent by the MEC Service | Notifications are HTTP message sent by the MEC Service | ||
* These are generated only if a subscription was created in the MEC Service | * These are generated only if a subscription was created in the MEC Service | ||
* Click on the notification line in the table to see details about notification and received | * Click on the notification line in the table to see details about notification and received response | ||
|[[File:Api-console.png|border|500x500px]] | |||
|- | |||
| | |||
==== Try-it area ==== | ==== Try-it area ==== | ||
Try-it area provides information on how to access a specific MEC Service API in the MEC Sandbox; a drop down allows to select the desired MEC API. | Try-it area provides information on how to access a specific MEC Service API in the MEC Sandbox; a drop down allows to select the desired MEC API. | ||
Note: MEC Services are always running (from MEC Sandbox creation); selecting a MEC API only changes the displayed information in the dashboard | Note: MEC Services are always running (from MEC Sandbox creation); selecting a MEC API only changes the displayed information in the dashboard | ||
Line 195: | Line 220: | ||
Try-it from your MEC application provides the link to use to reach the selected MEC API from an external application. | Try-it from your MEC application provides the link to use to reach the selected MEC API from an external application. | ||
Note: the provided link needs to be provisioned in an application client to access the MEC Service running in the sandbox. | Note: the provided link needs to be provisioned in an application client to access the MEC Service running in the sandbox. | ||
|[[File:Try-it.png|border|500x500px]] | |||
|} | |||
== | == Swagger UI == | ||
The | The Swagger UI client is a powerful tool to learn about MEC APIs as it provides curated & browsable information about the API endpoints - but it also serves as an API client allowing to send requests and observe responses. | ||
{| class="wikitable" | |||
The | |+ | ||
|The figure on right shows Swagger UI for the MEC Location Service. | |||
* A header provides API name and details with links to related specifications | * A header provides API name and details with links to related specifications | ||
* The client is configured to | * The client is configured to communicate with your own sandbox | ||
* API endpoints are listed along with their HTTP verb - clicking on an endpoint provides more details | * API endpoints are listed along with their HTTP verb - clicking on an endpoint provides more details | ||
|[[File:Swagger1.png|border|700x700px]] | |||
[[File:Swagger1.png|border| | |- | ||
|The figure on right shows the documentation details available at the endpoint level: | |||
The | |||
* A description of the endpoint | * A description of the endpoint | ||
* Parameters that may be required when invoking the endpoint | * Parameters that may be required when invoking the endpoint | ||
* Possible responses that the endpoint may return | * Possible responses that the endpoint may return | ||
* The <code>Try it out</code> button enables the client mode | * The <code>Try it out</code> button enables the client mode | ||
|[[File:Swagger2.png|border|700x700px]] | |||
[[File:Swagger2.png|border| | |- | ||
|The figure on right shows how a request can be sent to the MEC service running in the MEC Sandbox. | |||
The | |||
After clicking <code>Try it out</code>, the documentation page changes as follows: | After clicking <code>Try it out</code>, the documentation page changes as follows: | ||
Line 223: | Line 249: | ||
* The server response area shows the values received from the MEC Service API | * The server response area shows the values received from the MEC Service API | ||
** Responses can be downloaded | ** Responses can be downloaded | ||
|[[File:Swagger3.png|border|700x700px]] | |||
|} | |||
== MEC Application == | |||
Work in Progress | |||
== Examples == | |||
Work in Progress | |||
==== MEC012 ==== | ==== MEC012 ==== | ||
Work in Progress | |||
==== MEC013 ==== | ==== MEC013 ==== | ||
Work in Progress | |||
==== MEC028 ==== | ==== MEC028 ==== | ||
Work in Progress |
Revision as of 20:50, 4 December 2020
Platform Concepts
MEC Sandbox is an interactive environment that enables users to learn & experiment with ETSI MEC Service APIs. These standardized RESTful APIs are targeted towards MEC application developers to expose the value added services offered by MEC, including real time access to network and context information, as well as location awareness. The design principles for developing the APIs have also been specified in ETSI GS MEC 009, along with http methods, templates, conventions and patterns. The MEC service APIs are available in YAML and JSON format at https://forge.etsi.org, presented via OpenAPI compliant descriptions.
MEC Sandbox provides the user with a choice of scenarios combining different network technologies (4G, 5G, Wi-Fi) and terminal types. Combining these assets in a geolocated environment, a user can gain hands-on experience on the behavior and capabilities of the Location (MEC013), Radio Network Information (MEC012) and WLAN Information (MEC028) service APIs. Such contextual information can offer significant differential performance for edge based MEC applications.
Web UI
MEC Sandbox Portal is a single page web application that provides an interactive interface; once signed in, it allows a user to experiment with an individual sandbox.
The home page provides:
- A brief description of the platform
- Links and references to learn more about ETSI MEC
- Control to:
- Navigate through the MEC Sandbox pages
- Open the help menu to get started or access this wiki page
- Sign in to the platform
When a user signs in, the MEC Sandbox creates the necessary backend resources and opens a user-specific sandbox dashboard that allows to:
- Deploy pre-defined network scenarios in the city of Monaco
- Configure terminal devices within the network (add/remove/pause)
- Experiment with the MEC Service APIs by opening a MEC client directly in the browser
- Alternatively, experiment MEC Services directly from an external application (your own or a third party application)
In both cases, MEC Sandbox APIs respond according to the current state of the network scenario.
More details about the MEC Sandbox UI are provided in the platform usage section of this wiki.
Terminology
Point of Access (POA)
A point of attachment to access a network; MEC Sandbox networks supports 4G, 5G and WiFi POAs.
- Each POA has coverage range within which a terminal may attach to the network.
- The PoA range is represented by a circle and its the range varies depending on the network technology
- Both the PoAs and their associated range can be shown or hidden by selecting the appropriate layers on the map.
User Equipment (UE) / Terminal Device
A end user devices equipped with a wireless radio that allows to connect to a PoA.
- MEC Sandbox supports three types of UEs; stationary, low-velocity and high-velocity
- UE types are described in more detail in this wiki section.
- Number of UEs present in a scenario can be configured
- Each UE has an associated velocity and path that defines how they move on the map; these are fixed in a scenario.
- UEs have their preferred access network types with their preferred order of connection
- Preferred connectivity order is (1) WiFi, (2) 5G and (3) 4G
- The default UE behavior is to remain connected to a POA as long as it is in range unless a higher priority network access becomes available.
Zone
A zone is a logical grouping of one or more PoAs, irrespective of their wireless technologies.
- On the map, zones are represented by using color coding.
- The definition of zones help structure the network.
- MEC Location Service (MEC013) can be used to discover zones or UEs present in a zone.
Network Scenario
A network of geo-located UEs and POAs that are grouped in Zones.
- One network scenario can be deployed at a time in a MEC Sandbox instance.
- At any time a user can terminate a scenario or select a new one without requiring to re-create a new sandbox.
- While a network scenario is deployed, requests can be sent to the MEC Service APIs which will return a response
- MEC Services may also generate notifications depending on the subscriptions created by the user
- Both responses and notifications reflect the state of the network at the moment they were generated
Network Scenarios
MEC Sandbox currently provides three network scenarios with different assortments of technologies. These scenarios were designed to simulate an urban environment using a single mobile network operator with combinations of 4G, 5G and WiFi PoAs.
UEs move along their pre-defined path, triggering changes in connectivity and in MEC Service outputs (responses & notifications).
The city of Monaco was chosen as the simulated location.
Networks
MEC Sandbox provides the following networks
UE Types
UEs are divided into the following categories:
The number of UEs in a network scenario is dynamically configurable, however the positions and paths are the same for all scenarios.
MEC Services
MEC012 - Radio Network Information Service (RNIS)
MEC Sandbox supports version v02.01.01 of the MEC012 specification, available on ETSI website
RNIS provides cellular radio network information to edge applications, such as:
- Radio network conditions
- Measurements related to user plane
- Information about UEs connected to the radio network (context, Radio Access Bearers (RAB))
- Notification events such as cell change, RAB establishment and RAB release
MEC Sandbox supports a subset of RNI API endpoints and subscription types; for more details on the supported endpoints access the SwaggerUI client in a MEC Sandbox.
MEC013 - Location Service
MEC Sandbox supports version v02.01.01 of the MEC013 specification, available on ETSI website
Location Service provides geospatial and network location information to edge applications, such as:
- Location information related to user and zones
- Notification events such as user tracking, zonal status or traffic
MEC Sandbox supports a subset of the Location API endpoints and subscription types; for more details on the supported endpoints access the SwaggerUI client in a MEC Sandbox.
MEC028 - WLAN Access Information Service (WAIS)
MEC Sandbox supports version v02.01.01 of the MEC028 specifications, available on ETSI website
WAIS provides WLAN radio network information to edge applications, such as:
- Access point conditions
- Information about terminals connected to the network
- Notification events such as terminal connectivity
MEC Sandbox supports a subset of the WAI API endpoints and subscription types. for more details on the supported endpoints access the SwaggerUI client in a MEC Sandbox.
Usage
The following section provides MEC Sandbox usage guidelines.
Sign In
The MEC Sandbox home page provides a Sign In button to initiate a user session. When clicked, the user is prompted to authenticate with one of the following external OAuth 2.0 providers:
To successfully sign in to the MEC Sandbox, the user must have a valid account with one of the above providers, must successfully sign in, and must accept an authorization request for access to public profile information. Once signed in and after successful backend resource allocation, the user is redirected to the MEC Sandbox dashboard. NOTE: External OAuth provider login and authorization may be seamless if they have already been performed |
MEC Sandbox Dashboard
The dashboard is the main screen of the MEC Sandbox; it is divided in 4 main areas that are explained below:
- Map area: Observe physical assets on the map
- Configuration area: Select networks and UEs
- API Console: Investigate MEC API communication
- Try-it area: Details about accessing MEC Service APIs
Swagger UI
The Swagger UI client is a powerful tool to learn about MEC APIs as it provides curated & browsable information about the API endpoints - but it also serves as an API client allowing to send requests and observe responses.
MEC Application
Work in Progress
Examples
Work in Progress
MEC012
Work in Progress
MEC013
Work in Progress
MEC028
Work in Progress