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

TI API: Rel 0.9.8 #311

Merged
merged 5 commits into from
Oct 10, 2024
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
51 changes: 34 additions & 17 deletions code/API_definitions/Traffic_Influence.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,10 @@ info:
If the TI API is used to get the best routing at the Edge for a Device in a
geographical location and the Device moves to another geographical location,
the TI API can be invoked to get the optimal routing in the new geographical
location for that Device.
location for that Device.\
While the goal of the TI API is to optimise the traffic in the mobile
network to reach the local instance of the EAS, it is a task of the
Application to generate the flow toward the expected EAS Instance.
## Introduction
The TI API provides the capability to establish the optimal routing, in
terms of latency, in a specific geographical area, between the user Device,
Expand Down Expand Up @@ -79,18 +82,24 @@ info:
by a source port and a destination port and protocol. To optimise the flow
from more source ports or destination ports or protocols, the TI API must be
invoked many times.\
It is important to notice that it is a task of the Client Application to
use the most adequate means to send the application flow to the right
server (EAS), for example using Edge DNS or using the target EAS IP address.
The TI API provides back the selected EAS instance identifier from which the
Client Application can retrive the destination IP address of its backend
server, to properly configure the service data flow.\
Copy link
Collaborator

Choose a reason for hiding this comment

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

Just to enhance the documentation we may also provide hint or reference to other APIs which can be used to retrieve the destination IP as mentioned in this statement "Service Application can retrive the destination IP address of its backend server". This is just for enhancement if it looks fine.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

it is a good proposal. In my understanding one API is : Edge-Application-Management. Is my understanding correct?

Copy link
Collaborator

Choose a reason for hiding this comment

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

Yes i think GET /apps/{appId}/instances: from Edge-Application-Management. seems to be an option and possibly even the Application_Endpoint_Discovery_API could also be used in some of the scenarios though it will work without any instance identifier.

The TI API can be used to:
- optimise the routing when Devices need to consume the service provided
by a local EAS Instances.
by a local EAS Instances.
- affect an already established Device routing when the Device moves
among different geographical locations. When the TI API consumer detects
a Device has entered a geographical location where an EAS instance is
available, it can invoke the TI API to get the optimal routing toward
that EAS instance.
If the Device moves to another geographical location, served by another
EAS instance, the routing might not be optimal anymore. In the case the
Application detects a location change, it can invoke the TI API again to
request a new routing optimization toward the new EAS instance.
among different geographical locations. When the TI API consumer detects
a Device has entered a geographical location where an EAS instance is
available, it can invoke the TI API to get the optimal routing toward
that EAS instance.
If the Device moves to another geographical location, served by another
EAS instance, the routing might not be optimal anymore. In the case the
Application detects a location change, it can invoke the TI API again to
request a new routing optimization toward the new EAS instance.\
## Quick Start
The TI API is consumed by an Application Function (AF) requesting for the
optimal routing, in term of latency, for the traffic flow from a Device
Expand Down Expand Up @@ -250,10 +259,16 @@ info:
influenced is from a different public port, "sourceTrafficFilters" can be
used.\
\
**Notification URL and token:**
**Notification:**
Developers can specify a callback URL on which notifications
regarding the requested intent can be received. For example to be notified
when the requested optimal routing is active.
when the requested optimal routing is active. It is also provided back
the identificator for the selected EAS instace ("selected_appInstanceId")
from which the Client Application can retrive the destination IP address
of its backend server, to properly configure the service data flow. This
information can be retrived using the CAMARA API: [Edge
Application Management](https://github.com/camaraproject/EdgeCloud/blob\
/main/code/API_definitions/Edge-Application-Management.yaml).
# FAQ's
(FAQs will be added in a later version of the documentation)
license:
Expand Down Expand Up @@ -689,12 +704,14 @@ components:
TrafficInfluenceNotification:
type: object
description: Notifican channel for changes in the TrafficInfluence
resource
required:
- trafficInfluenceChanged
resource. It returnes back the TrafficInfluece resource with the
updated status ("state") and also proivides back the identifier
of the selected EAS instance.
allOf:
- $ref: "#/components/schemas/TrafficInfluence"
properties:
trafficInfluenceChanged:
$ref: "#/components/schemas/TrafficInfluence"
selected_appInstanceId:
$ref: '#/components/schemas/AppInstanceId'
########################################################################
# Types #
########################################################################
Expand Down