Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Moved intent mapping inline and removed table #58

Merged
merged 1 commit into from
Feb 9, 2023
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
Several 'edge cloud' APIs have been proposed for CAMARA.
- 5GFF have contributed [Simple Edge Discovery](https://github.com/camaraproject/EdgeCloud/blob/main/code/API_definitions/simple_edge_discovery.yaml), and [MEC Exposure and Experience Management](https://github.com/camaraproject/EdgeCloud/blob/main/code/API_definitions/MEC%20exposure%20and%20experience%20management.yaml).
- EdgeXR have contributed [application client edge interaction APIs](https://github.com/camaraproject/EdgeCloud/blob/main/code/API_definitions/app-client.yaml), [Controller APIs for Apps)](https://github.com/camaraproject/EdgeCloud/blob/main/code/API_definitions/App.yaml) and a [Session management API](https://github.com/camaraproject/EdgeCloud/blob/main/code/API_definitions/session.yaml).
- CapGemini have contributed the [MEC Edge Cloud API](https://github.com/camaraproject/EdgeCloud/blob/main/code/API_definitions/EdgeCloudApi_v0.0.5.yaml)
- GSMA OPAG/Capgemini have contributed the [MEC Edge Cloud API](https://github.com/camaraproject/EdgeCloud/blob/main/code/API_definitions/EdgeCloudApi_v0.0.5.yaml)

The goal is to harmonise/combine the APIs into a single set of definitions. This document provides information to meet that goal, including:
- listing all the intents delivered by the APIs, from both developer and operator perspectives,
Expand All @@ -15,57 +15,50 @@ The goal is to harmonise/combine the APIs into a single set of definitions. This
## A brief description of the various APIs
'Simple Edge Discovery' only has one operation, to GET the name of the closest MEC to the network-attached device that hosts the application that made the API request (e.g. an app on a smartphone). 'Simple Edge Discovery' is a subset of the 'MEC Exposure and Experience Management' API.

The 5GFF 'MEC Exposure and Experience Management', EdgeXR, and CapGemini APIs are richer APIs that include Edge aplication lifecycle workflows and session management. The EdgeXR and CapGemini APIs are based on GSMA Operator Platform architecture.
The 5GFF 'MEC Exposure and Experience Management', EdgeXR, and CapGemini APIs are richer APIs that include Edge aplication lifecycle workflows and session management. The EdgeXR and GSMA OPAG/Capgemini APIs are based on GSMA Operator Platform architecture.

_(Editor note: do both EdgeXR and CapGemini definitions require UNI for execution on a UE?)_
_(Editor note: do both EdgeXR and GSMA OPAG/Capgemini definitions require UNI for execution on a UE?)_

_Note, the [Traffic Influence API](https://github.com/camaraproject/EdgeCloud/blob/main/code/API_definitions/Traffic_Influence.yaml) in the Edge Cloud repository covers a different scenario and is not discussed here._

## Terminology used
Please refer to the [Edge Terminology document](https://github.com/camaraproject/EdgeCloud/blob/main/documentation/Contributions/edge_terminology.md)

## Intents
## Intents and mapping to APIs
How to use this table:
- If an API supports an intent its anem will appear in **bold**.
- If an API does not support an intent, its name is in ~~strikethrough.~~
- If an API partially supports an intent, or we are not sure, its name is in _italics_ and followed by a '?'
Abbreviations used for API names:
- 5SED = 5GFF Simple Edge Discovery
- 5MEE = 5GFF MEC Exposure & Experience Management
- EXRC = EdgeXR application client edge interaction APIs
- EXCA = EdgeXR Controller APIs for Apps
- EXSM = EdgXR Session Management API
- GMEC = GSMA OPAG/Capgemini MEC Edge Cloud API

### Developer intents
#### Provisioning intents
1. “I can retrieve a list of the operator’s MECs and their status”
2. "I can discover the capabilities/resources available at an operator’s MEC"
3. "I can discover the geographical regions covered by the operators MECs"
4. "I can discover the closest MEC platform to a particular UE"
5. "I can ask the operator to provision my application server to the optimal MEC for a particular UE"
6. "I can ask the operator to inform me if the optimal MEC for my application and a particular UE changes"
1. “I can retrieve a list of the operator’s MECs and their status” ~~5SED~~ **5MEE**
2. "I can discover the capabilities/resources available at an operator’s MEC" ~~5SED~~ **5MEE**
3. "I can discover the geographical regions covered by the operators MECs" ~~5SED~~ **5MEE**
4. "I can discover the closest MEC platform to a particular UE" **5SED** **5MEE**
5. "I can ask the operator to provision my application server to the optimal MEC for a particular UE" ~~5SED~~ **5MEE**
6. "I can ask the operator to inform me if the optimal MEC for my application and a particular UE changes" ~~5SED~~ **5MEE**
#### Runtime intents
7. "I can discover the closest MEC platform to a particular UE"
8. "I can discover the optimal MEC platform for my application and a particular UE" (this may not be the closest MEC, rather the 'best MEC for this job')
9. "I can discover the optimal application service endpoint for a particular UE"
10. "I can ask the operator to move my running application instance to a different MEC if the closest MEC changes"
7. "I can discover the closest MEC platform to a particular UE" **5SED** **5MEE**
8. "I can discover the optimal MEC platform for my application and a particular UE" (`A`) ~~5SED~~ **5MEE**
9. "I can discover the optimal application service endpoint for a particular UE" ~~5SED~~ **5MEE**
10. "I can ask the operator to move my running application instance to a different MEC if the closest MEC changes" ~~5SED~~ _5MEE?_
### Operator intents
#### Provisioning intents
11. “I can publish a list of my MECs, their coverage, capabilities and status” _(aligns with 1,2,3 in the developer intents)_
12. “I can map an application’s requirements to the best MEC for hosting it” _(aligns with 4,5,8,9)_
13. “I can inform the developer of any event which changes which MEC is optimal for their application and connected UEs” _(aligns with 6)_
14. “I can move a running application to a new MEC and inform the developer of the new service endpoint to connect to” _(aligns with 10)_


### Mapping the APIs to Intents

| Intent # | 5GFF Simple Edge Discovery | 5GFF MEC Exposure & Experience management | EdgeXR app client | EdgeXR controller | EdgeXR session | CapGemini Edge Cloud |
|----------|---------------------------------|-------------------------------------------|-------------------|--------------------|----------------|----------------------|
|1 | |YES |? | ? | ? | ? |
|2 | |YES |? | ? | ? | ? |
|3 | |YES |? | ? | ? | ? |
|4 | YES |YES |? | ? | ? | ? |
|5 | |YES |? | ? | ? | ? |
|6 | |YES |? | ? | ? | ? |
|7 | YES |YES |? | ? | ? | ? |
|8 | |YES |? | ? | ? | ? |
|9 | |YES |? | ? | ? | ? |
|10 | |? |? | ? | ? | ? |
|11 | |YES |? | ? | ? | ? |
|12 | |YES |? | ? | ? | ? |
|13 | |YES |? | ? | ? | ? |
|14 | |? |? | ? | ? | ? |

11. “I can publish a list of my MECs, their coverage, capabilities and status” _(aligns with 1,2,3 in the developer intents)_ ~~5SED~~ **5MEE**
12. “I can map an application’s requirements to the best MEC for hosting it” _(aligns with 4,5,8,9)_ ~~5SED~~ **5MEE**
13. “I can inform the developer of any event which changes which MEC is optimal for their application and connected UEs” _(aligns with 6)_ ~~5SED~~ **5MEE**
14. “I can move a running application to a new MEC and inform the developer of the new service endpoint to connect to” _(aligns with 10)_ ~~5SED~~ _5MEE?_

**Notes**:
`A` this may not be the closest MEC, rather the 'best MEC for this job' which accounts for current MEC or network load, MEC copmute power and features etc.

## Constraints of the APIs
### Simple Edge Discovery
Expand All @@ -88,7 +81,7 @@ Please refer to the [Edge Terminology document](https://github.com/camaraproject
# EdgeXR APIs
(todo)

# Cap Gemini APIs
# GSMA OPAG Capgemini APIs
(todo)


Expand Down