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

Simple edge discovery: spelling and linting #223

Merged
merged 3 commits into from
Mar 25, 2024
Merged
Show file tree
Hide file tree
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
58 changes: 34 additions & 24 deletions code/API_definitions/Discovery/README.md
Original file line number Diff line number Diff line change
@@ -1,50 +1,60 @@
# Edge Discovery APIs

## Simple Discovery API
This API allows a client application to discover the closest MEC platform to the UE hosting the client application. 'Closest' means 'shorteset network path' as that will give the shortest propogation distance, which is a major factor in latency.

This API allows a client application to discover the closest MEC platform to the UE hosting the client application. 'Closest' means 'shortest network path' as that will give the shortest propagation distance, which is a major factor in latency.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should it be "platforms"? Plural as the API returns the array of platforms.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should it be "platforms"? Plural as the API returns the array of platforms.

No, Simple Edge Discovery returns only the closest platform. For convenience this is returned as an array with one member, to allow easier portability of parsing code to the other Edge Cloud API that will return multiple platforms.


## MEC Experience Management and Exposure API

This API allows a developer to:

- discover available MEC platforms, ranked by proximity to a UE.
- read the state (availability and capabilities) of an operator's various MEC platforms.
- register a service profile (a description of the developer's edge service) with the MEC operator
- register the deployed service endpoints with the MEC operator, which allows the closest service endpoint to be discovered at runtime
- register a service profile (a description of the developer's edge service) with the MEC operator.
- register the deployed service endpoints with the MEC operator, which allows the closest service endpoint to be discovered at runtime.

The API will also support the following capabilities:
- events(such as change of status of a MEC platform or another event which could affect their service)
The API will also support the following capabilities:

- events(such as change of status of a MEC platform or another event which could affect their service).
- subscription to notification of events.

# Mapping to the list of intents
## Mapping to the list of intents

These APIs fulfil the ['discovery' intents](https://github.com/camaraproject/EdgeCloud/blob/main/documentation/SupportingDocuments/Harmonisation%20of%20APIs/describing%20and%20harmonising%20the%20Edge%20APIs.md)

*Simple Edge Discovery* fulfils a single intent, "4. I can discover the closest MEC platform to a specific terminal (closest in terms of shortest network path)"
*Simple Edge Discovery* fulfils a single intent, "4. I can discover the closest MEC platform to a specific terminal (closest in terms of shortest network path)"

*MEC Exposure and Experience Management* is a more comprehensive discovery API and fulfils the following intents:

### Developer intents
#### Provisioning intents
1. “I can retrieve a list of the operator’s MECs and their status, ordering the results by location and filtering by status (active/inactive/unknown)”
2. "I can discover the capabilities/resources available at an operator’s MEC: CPU, Memory, Storage, GPU"
3. "I can discover the geographical regions covered by the operators MECs"
4. "I can discover the closest MEC platform to a specific terminal (closest in terms of shortest network path)"

16. “I can ask the operator to provide the details of all the onboarded applications”
17. "I can ask the operator to inform about the application instance details e.g., communication endpoints, resource consumed etc"
#### Provisioning intents

1. "I can retrieve a list of the operator’s MECs and their status, ordering the results by location and filtering by status (active/inactive/unknown)"
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We have terms with alternate words e.g. here it says MECs but the API says MEC Platforms

2. "I can discover the capabilities/resources available at an operator’s MEC: CPU, Memory, Storage, GPU"
3. "I can discover the geographical regions covered by the operators MECs"
4. "I can discover the closest MEC platform to a specific terminal (closest in terms of shortest network path)"

16. "I can ask the operator to provide the details of all the on-boarded applications"
17. "I can ask the operator to inform about the application instance details e.g., communication endpoints, resource consumed etc"

#### Runtime intents
19. "I can discover the closest MEC platform to a particular terminal (closest in terms of shortest network path)"
20. "I can discover the optimal MEC platform for my application and a particular terminal, taking into account connectivity, shortest network path, cost, network load etc." (`A`)
21. "I can discover the optimal application service endpoint for a specific terminal, taking into account mobility events, connectivity, shortest network path, cost, network load, MEC platform load etc."
#### Runtime intents

19. "I can discover the closest MEC platform to a particular terminal (closest in terms of shortest network path)"
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here we have MEC platform while at line 33 it is MECs

20. "I can discover the optimal MEC platform for my application and a particular terminal, taking into account connectivity, shortest network path, cost, network load etc." (`A`)
21. "I can discover the optimal application service endpoint for a specific terminal, taking into account mobility events, connectivity, shortest network path, cost, network load, MEC platform load etc."

### Operator intents

#### Provisioning intents
23. “I can publish an (ordered, filtered) list of my MECs, their coverage, capabilities and status” _(aligns with 1,2,3 in the developer intents)_
24. “I can map an application’s requirements to the best MEC for hosting it, based on application demands for CPU,Memory,Storage,GPU,bandwith,Network forecast, mobility” _(aligns with 4,5,8,9)_
#### Runtime intents
25. “I can inform the developer of any event which changes which MEC is optimal for their application and connected terminals” _(aligns with 6)_

## Notes:
23. "I can publish an (ordered, filtered) list of my MECs, their coverage, capabilities and status" *(aligns with 1,2,3 in the developer intents)*
24. "I can map an application’s requirements to the best MEC for hosting it, based on application demands for CPU, Memory, Storage, GPU, bandwidth, Network forecast, mobility" *(aligns with 4,5,8,9)*

#### Runtime intents

25. "I can inform the developer of any event which changes which MEC is optimal for their application and connected terminals" *(aligns with 6)*

## 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.
`A` this may not be the closest MEC, rather the 'best MEC for this job' which accounts for current MEC or network load, MEC compute power and features etc.
Loading
Loading