Skip to main content

Shared Data Layer (SDL) provides a high-speed interface to access shared storage

Project description

RIC SDL

Shared Data Layer in the RAN Intelligent Controller

Shared Data Layer (SDL) provides a lightweight, high-speed interface for accessing shared data storage. The purpose is to enable utilizing clients to become stateless, conforming with, e.g., the requirements of the fifth generation mobile networks.

Concepts

Namespace

Namespaces provide data isolation within SDL data storage. That is, data in certain namespace is isolated from the data in other namespaces. Each SDL client uses one or more namespaces. Namespaces can be used, for example, to isolate data belonging to different use cases.

Keys and Data

Clients save key-data pairs. Data is passed as a bytes type. SDL stores the data as it is. Any structure that this data may have (e.g. a data structure serialized by pickle) is meaningful only to the client itself. Clients are responsible for managing the keys. As namespaces provide data isolation, keys in different namespaces always access different data.

Backend Data Storage

Backend data storage refers to data storage technology behind SDL API, which handles the actual data storing. SDL API hides the backend data storage implementation from SDL API clients, and therefore backend data storage technology can be changed without affecting SDL API clients. Currently, Redis database is used as a backend data storage solution.

Notifications

Notifications functionality provide SDL clients the possibility to receive notifications about data changes in SDL namespaces. SDL client receiving notifications about data changes is referred to as "subscriber", while the SDL client modifying data and publishing notifications is referred to as "publisher".

Install

Install from PyPi

python3 -m pip install ricsdl

Install using the source

python3 setup.py install

Usage

Instructions how to use SDL can be found from O-RAN Software Community (SC) Documentation under Near Realtime RAN Intelligent Controller (RIC) section: O-RAN SC Documentation Home

Unit Testing

To run the unit tests run the following command in the package directory: python3 -m pytest

Examples

See the examples directory.

CI

The ci is done with the tox tool. See tox.ini file for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ricsdl-2.1.0.tar.gz (21.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ricsdl-2.1.0-py3-none-any.whl (32.8 kB view details)

Uploaded Python 3

File details

Details for the file ricsdl-2.1.0.tar.gz.

File metadata

  • Download URL: ricsdl-2.1.0.tar.gz
  • Upload date:
  • Size: 21.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/49.6.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.6.8

File hashes

Hashes for ricsdl-2.1.0.tar.gz
Algorithm Hash digest
SHA256 dbe1bf3a9b2710111eb8dc23b815a5b689a5e100aff636b06d2f31de0dd75f1e
MD5 183d85923fe590376e1900ff5d486cd2
BLAKE2b-256 e77d8278c616f7bf583d05b7bcd65e46f4a155a3bfca56664d778233ae1fd507

See more details on using hashes here.

File details

Details for the file ricsdl-2.1.0-py3-none-any.whl.

File metadata

  • Download URL: ricsdl-2.1.0-py3-none-any.whl
  • Upload date:
  • Size: 32.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/49.6.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.6.8

File hashes

Hashes for ricsdl-2.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2c5ea329cf3c98be46c4be2062a7d4808948b69ad9a9efb7915c182f6da7bb8e
MD5 972973dfa69d10c4f53a7be97454f619
BLAKE2b-256 5a5dceb0b4fe693156c911fd858dda22a98f57c53860f4160f7abc982e614d1c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page