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

add api design #20

Open
wants to merge 11 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 2 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
@@ -0,0 +1,79 @@
# Network Slice Booking API Design

## **Use Cases**
Scenario can be B2B, B2C, B2B2C

1. Scenario 1 - B2B

Sell Slice Directly

Customer: toB Enterprise Customer
ShutingQing marked this conversation as resolved.
Show resolved Hide resolved

Seller: Operator

Mode: Operator provide slice services by NaaS API to enterprise customers directly.
ShutingQing marked this conversation as resolved.
Show resolved Hide resolved

Example Use Cases: In the past/current, most of current slice customer need to order slice from operators directly through operator customer managemer. This takes time from 2 weeks to 2 month. Those kind of customers may renew, reopen, modify, close the slice service using NaaS Slice APIs.




2. Scenario 2 - B2C

OTT act as a Platform to Sell Slice
ShutingQing marked this conversation as resolved.
Show resolved Hide resolved

Customer: Individuals / Studios / Influencers

Selling Platform: OTT

Seller: Operator

Mode: OTT only act as a platform who help provide slice to customer.
ShutingQing marked this conversation as resolved.
Show resolved Hide resolved

Step1: OTT code and embed the API in the APP, provide the channel for individuals (to C) to purchase the slice.

Step2: Individual purchase the slice from the OTT APP, pay to operators directly.

Step3: Provider provide the slice to the individuals (to C) directly.
ShutingQing marked this conversation as resolved.
Show resolved Hide resolved




3. Scenario3 - B2B2C

OTT buy the slice, and resell the slice.
ShutingQing marked this conversation as resolved.
Show resolved Hide resolved

Customer: Individuals / Studios / Influencers

Seller: OTT

Service Provider: Operator

Mode: OTT buy the slice from Operator. OTT resell the slice to the individuals.



## **Procudure of How to Get a Slice:**

General: Split the slice reservsation function and device access control function, to fit the above 3 scenario.
ShutingQing marked this conversation as resolved.
Show resolved Hide resolved

- API 1:Reserve a slice resource
- API 2:Manage the access control of devices to the slice
ShutingQing marked this conversation as resolved.
Show resolved Hide resolved

Basically there should be a CRUD for "Reserve a Slice Resource" and a CRUD for "Manage the access control of devices to the slice".
- API 1:Reserve a slice resource
ShutingQing marked this conversation as resolved.
Show resolved Hide resolved
- Function:
- Reserve a slice of one selected period and one selected area.
- Include End Devices as optional.
- For those who would like to activate devices within 1 click, may provide the end devices infos.
- For those who would like to later activate devices, or don't know which devices to active when order the slice resource, may later call API2 to do activation. Suitable for B2B2C scenario.
ShutingQing marked this conversation as resolved.
Show resolved Hide resolved


- API 2:Manage the access control of devices to the slice
- Function:
- Slice Owners may have the right to allow access of devices to slice between the time of the order been made till the services ends.
ShutingQing marked this conversation as resolved.
Show resolved Hide resolved





Binary file added documentation/API_documentation/SliceMode1.png
Copy link
Collaborator

Choose a reason for hiding this comment

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

I suggest to split the "Operators / Aggregator" box into two cases:
(1) Operator <-< Enterprise Customer: Is this a B2B
(2) Operator <-> Aggregator <-> Enterprise Customer: This is a B2B2X case

Copy link
Collaborator

Choose a reason for hiding this comment

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

Two suggestions:
1: Change "Enterprise Developer" to "Enterprise". Background: The Enterprise Developer is only interacting with the Service API during the development process. Once the development is completed, the API invoker functionality gets into production and the Developer is not involved anymore.

2: Create two figures:
Fig (1) is: "Operator NaaS Platform" <-> "Enterprise"
Fig (2) is: "Operator NaaS Platform" <-> "Aggregator NaaS Platform" <-> "Enterprise"

Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added documentation/API_documentation/SliceMode2.png
Copy link
Collaborator

Choose a reason for hiding this comment

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

Also here, the Operator / Aggregator Box should be splitted

(1) Operator <-> OTT <-> toC Customer: Is this a B2B2X , here B2B2C
(2) Operator <-> Aggregator <-> OTT <-> toC Customer: This is a B2B2B2C case

When there is an aggregator, which entity is acting as a broker? OTT or also the aggregator?

Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added documentation/API_documentation/SliceMode3.png
Copy link
Collaborator

Choose a reason for hiding this comment

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

Also here, the Operator / Aggregator Box should be splitted

(1) Operator <-> OTT <-> toC Customer: Is this a B2B2X , here B2B2C
(2) Operator <-> Aggregator <-> OTT <-> toC Customer: This is a B2B2B2C case

Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.