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

Compare with Current View Page History

« Previous Version 2 Next »

Project Name:

  • Proposed name for the project: SNIRO (Optimization Framework)
  • Proposed name for the repository: sniro

Project description:

  • SNIRO (Service, Network, Infrastructure, and Resource Optimization) project aims to provide a platform for addressing different optimization needs (optimization as a service). Legacy legacy optimization applications often involve duplication of solution process and data adapters, and often include information on constraints and objectives in the application. SNIRO aims to provide a unified approach to eliminate code redundancy and to reduce overhead associated with managing different optimization applications.

    Initial use cases: 

    1. Placement of VNFs (homing).
    2. Change management scheduling (providing schedule of changes for upgrading of VNFs under given constraints).
    3. Effective allocation of licenses from pool of licenses in a geographically varied context

    Other intended use cases:

    1. Network routing optimization
    2. Network and cloud capacity planning

Scope:

  • The main goals of SNIRO are to:

    1. Provide a unified toolkit for developing optimization applications via extensible APIs. This facilitates developing new optimization applications independent of how the underlying optimization modules are implemented.
    2. Provide a library of optimization engines/solvers, data adapters (e.g. to A&AI, policy, SDC, SDN, DCAE). This will include an API for plugging other custom entities (custom data sources; proprietary or open source optimization engines/solvers; etc.)
    3. Provide a library for translation of policies to constraints for an optimization engine.
    4. Provide a resilient, scalable optimization framework for solving optimization/planning problems and constraint satisfaction problems.
    5. Provide a mechanism for interacting with ONAP-C (ONAP controller) to take actions based on the optimization solution.

    The term optimization here is used in the context of providing a solution (or set of solutions) for a problem specified in terms of the state (available resources, topology, objective, etc.) and additional constraints specified as a set of policies. This is different the use of optimization in other contexts such as “performance optimization”, “platform stability/reliability”, “scalability”, etc.  While such services may need information from optimization solutions (e.g. “when should one take an action”, “how much additional capacity is needed to ensure meeting a specific SLA”), they can be considered as applications that can utilize the optimization framework.

Architecture Alignment:

  • How does this project fit into the rest of the ONAP Architecture?
    • Provides optimization (placement, scheduling, network, license, and planning) as a service to other ONAP subsystems

    • Provides adapters to other ONAP systems for optimization application developers 

    • Project depends on A&AI, DCAE, SDC, SDN, and Policy,
      What other ONAP projects does this project depend on?
  • How does this align with external standards/specifications?
    • REST and Data Bus interfaces (service agnostic)
    • Models specified in SDC format
  • Are there dependencies with other open source projects?
    • Open source optimization solvers (GLPK/CBC, OR-Tools, these are pluggable)
    • Python eco-system

Resources:

  • Primary Contact Person
  • Names, gerrit IDs, and company affiliations of the committers
  • Names and affiliations of any other contributors
  • Project Roles (include RACI chart, if applicable)

Other Information:

  • link to seed code (if applicable)
  • Vendor Neutral
    • if the proposal is coming from an existing proprietary codebase, have you ensured that all proprietary trademarks, logos, product names, etc., have been removed?
  • Meets Board policy (including IPR)

Use the above information to create a key project facts section on your project page

Key Project Facts

Project Name:

  • JIRA project name: SNIRO (Optimization Framework)
  • JIRA project prefix: sniro-open-of

Repo name:
Lifecycle State:
Primary Contact: Sastry Isukapalli
Project Lead: Sastry Isukapalli
mailing list tag [Should match Jira Project Prefix] 
Committers:

sastry@research.att.com
ankit@research.att.com
hiltunen@research.att.com

*Link to TSC approval: 
Link to approval of additional submitters: 

  • No labels