Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 20 Next »

Sequence diagram

Interfaces

  1. NSI selection Request
    1. Input: Service profile
    2. NST details
    3. NSST details with subnet capabilities
    4. reuse: true/false
  2. Fetch Optimization policies
    1. Demand policy for NSI and Slice profiles
    2. Constraint policies for Selection
    3. Optimization policies for NSI selection and slice profile generation.
  3. NSI selection request - HAS
    1. Demand: NSI
    2. Constraint: Threshold policy, New policy(for CoverageArea )??
    3. Optimization: Maximize/minimize the service profile parameters
  4. Fetch NSI for AAI
    1. Input: NST info
    2. Output: List of NSIs as candidates
  5. Run Optimization
  6. Consolidated Solution based on the policy
    1. Solution List. Solution object can have NSI/Slice profiles

Note:

For the non-shared scenario, Only slice profiles will be generated. HAS need not fetch the existing NSIs.

Demand

Candidates:

  • NSI (AAI Inventory)
  • Slice profiles (Generator)

Demand Examples:

Note: Filtering attributes will have the upper and lower bounds for each subnet(based on capability set and service profile)

Note: Creation cost will come from policy


List of Constraints

  • Threshold Constraint (Matching NSI and slice profile tuple)

NSI Selection Policies

Demand Policy(NSI)

  • Demand name(NST)
  • For NSI 
    • inventory provider (AAI)
    • Inventory type(nsi)
    • filtering attributes
    • Uniqueness
    • Passthrough attributes
  • For Slice profiles
    • inventory provider (Generator)
    • Inventory type(slice_profiles)
    • filtering attributes
    • Uniqueness
    • Passthrough attributes

Threshold Policy

  • Demand name(NST)
  • List of Constraints

Query policy

  • Existing (All service profile parameters)

Optimization policy

  • minimize latency
  • maximize throughput
  • minimize creation cost
  • maximize creation cost

HAS Candidates

NSI candidate


Slice profiles Candidate


Consumed APIs (AAI)

GET NSI info from AAI

{"service-instance": [{
    "service-instance-id": "1a636c4d-5e76-427e-bfd6-241a947224b0",
    "service-instance-name": "nsi_test_0211",
    "service-type": "urllc",
    "service-role": "nsi",
    "service-function": "shared",
    "model-invariant-id": "21d57d4b-52ad-4d3c-a798-248b5bb9124a",
    "model-version-id": "bfba363e-e39c-4bd9-a9d5-1371c28f4d22",
    "resource-version": "1581418601616",
    "orchestration-status": "active",
    "relationship-list": {
        "relationship": [
            {
                "related-to": "service-instance",
                "relationship-label": "org.onap.relationships.inventory.ComposedOf",
                "related-link": "/aai/v16/business/customers/customer/5GCustomer/service-subscriptions/service-subscription/5G/service-instances/service-instance/4115d3c8-dd59-45d6-b09d-e756dee9b518",
                "relationship-data": [
                    {
                        "relationship-key": "customer.global-customer-id",
                        "relationship-value": "5GCustomer"
                    },
                    {
                        "relationship-key": "service-subscription.service-type",
                        "relationship-value": "5G"
                    },
                    {
                        "relationship-key": "service-instance.service-instance-id",
                        "relationship-value": "4115d3c8-dd59-45d6-b09d-e756dee9b518"
                    }
                ],
                "related-to-property": [
                    {
                        "property-key": "service-instance.service-instance-name",
                        "property-value": "nsi_test_0211"
                    }
                ]
            }
        ]
    },
    "service-profiles": {
        "service-profile": [
            {
                "profile-id": "cdad9f49-4201-4e3a-aac1-b0f27902c299",
                "latency": 20,
                "max-number-of-UEs": 0,
                "coverage-area-TA-list": "[{\"province\":\"??\",\"city\":\"???\",\"county\":\"???\",\"street\":\"?????\"}]",
                "ue-mobility-level": "stationary",
                "resource-sharing-level": "0",
                "exp-data-rate-UL": 100,
                "exp-data-rate-DL": 100,
                "activity-factor": 0,
                "e2e-latency": 0,
                "jitter": 0,
                "survival-time": 0,
                "exp-data-rate": 0,
                "payload-size": 0,
                "traffic-density": 0,
                "conn-density": 0,
                "resource-version": "1581418602494"
            }
        ]
    }
}]}


Optimization Policies

Demand policy

Demand policy
{
    "OSDF_FRANKFURT.vnfPolicy_URLLC": {
        "metadata": {
            "policy-id": "OSDF_FRANKFURT.vnfPolicy_URLLC",
            "policy-version": 1
        },
        "properties": {
            "applicableResources": "any",
            "identity": "vnf_URLLC",
            "resources": [
                "URLLC"
            ],
            "scope": [
                "OSDF_FRANKFURT",
                "URLLC"
            ],
            "services": [
                "URLLC"
            ],
            "vnfProperties": [
                {
                    "attributes": {
                        "modelInvariantId": "bfbg3636-e39c-iidd-0987-27c28f4oo3",
                        "modelVersionId": "bfbg3636-e39c-iidd-0987-27c28f4d33",
                        "service-function": "shared",
                        "service-role": "nsi"
                    },
                    "inventoryProvider": "aai",
                    "inventoryType": "nsi",
                    "unique": "true"
                },
                {
                    "attributes": {
                        "core": {
                            "latency": {
                                "max": 20,
                                "min": 5,
                                "steps": 1
                            },
                            "reliability": {
                                "values": [
                                    99.9,
                                    99.999
                                ]
                            }
                        },
                        "ran": {
                            "latency": {
                                "max": 20,
                                "min": 10,
                                "steps": 1
                            },
                            "reliability": {
                                "values": [
                                    99.9,
                                    99.9
                                ]
                            }
                        },
                        "transport": {
                            "latency": {
                                "max": 20,
                                "min": 7,
                                "steps": 1
                            },
                            "reliability": {
                                "values": [
                                    99.9,
                                    99.99
                                ]
                            }
                        }
                    },
                    "inventoryProvider": "generator",
                    "inventoryType": "slice_profiles",
                    "unique": "true"
                }
            ]
        },
        "type": "onap.policies.optimization.resource.VnfPolicy",
        "type_version": "1.0.0",
        "version": "1.0.0"
    }
}

Threshold Policy

{
    "OSDF_FRANKFURT.Threshold_URLLC": {
        "metadata": {
            "policy-id": "OSDF_FRANKFURT.Threshold_URLLC",
            "policy-version": 1
        },
        "properties": {
            "geography": [],
            "identity": "Threshold_URLLC",
            "resources": [
                "URLLC"
            ],
            "scope": [
                "OSDF_FRANKFURT",
                "URLLC"
            ],
            "services": [
                "URLLC"
            ],
            "thresholdProperties": [
                {
                    "attribute": "latency",
                    "operator": "lte",
                    "threshold": {
                       "get_param": "latency"
                    },
                    "unit": "ms"
                },
                {
                    "attribute": "reliability",
                    "operator": "gte",
                    "threshold": {
                       "get_param": "reliability"
                    },
                    "unit": ""
                }
            ]
        },
        "type": "onap.policies.optimization.resource.ThresholdPolicy",
        "type_version": "1.0.0",
        "version": "1.0.0"
    }
}


{
  "OSDF_FRANKFURT.queryPolicy_URLLC": {
    "type": "onap.policies.optimization.service.QueryPolicy",
    "version": "1.0.0",
    "type_version": "1.0.0",
    "metadata": {
      "policy-id": "OSDF_FRANKFURT.queryPolicy_URLLC",
      "policy-version": 1
    },
    "properties": {
      "scope": [
        "OSDF_FRANKFURT"
      ],
      "services": [
        "URLLC"
      ],
      "geography": [
        "US"
      ],
      "identity": "queryPolicy_URLLC",
      "queryProperties": [
        {
          "attribute": "latency",
          "attribute_location": "latency"
        },
        {
          "attribute": "reliability",
          "attribute_location": "reliability"
        }
      ]
    }
  }
}

Optimization Policy

{
    "OSDF_FRANKFURT.minimizeCost_URLLC": {
        "metadata": {
            "policy-id": "OSDF_FRANKFURT.minimizeCost_URLLC",
            "policy-version": 1
        },
        "properties": {
            "geography": [],
            "identity": "optimization",
            "objective": "minimize",
            "objectiveParameter": {
                "operator": "sum",
                "parameterAttributes": [
                    {
                        "operator": "product",
                        "parameter": "creation_cost",
                        "resources": [
                            "URLLC"
                        ],
                        "weight": "1"
                    }
                ]
            },
            "resources": [
                "URLLC"
            ],
            "scope": [
                "OSDF_FRANKFURT",
                "REUSE"
            ],
            "services": [
                "URLLC"
            ]
        },
        "type": "onap.policies.optimization.resource.OptimizationPolicy",
        "type_version": "1.0.0",
        "version": "1.0.0"
    }
}


{
    "OSDF_FRANKFURT.maximizeCost_URLLC": {
        "metadata": {
            "policy-id": "OSDF_FRANKFURT.maximizeCost_URLLC",
            "policy-version": 1
        },
        "properties": {
            "geography": [],
            "identity": "optimization",
            "objective": "maximize",
            "objectiveParameter": {
                "operator": "sum",
                "parameterAttributes": [
                    {
                        "operator": "product",
                        "parameter": "creation_cost",
                        "resources": [
                            "URLLC"
                        ],
                        "weight": "1"
                    }
                ]
            },
            "resources": [
                "URLLC"
            ],
            "scope": [
                "OSDF_FRANKFURT",
                "CREATE_NEW"
            ],
            "services": [
                "URLLC"
            ]
        },
        "type": "onap.policies.optimization.resource.OptimizationPolicy",
        "type_version": "1.0.0",
        "version": "1.0.0"
    }
}



  • No labels