oracle

package module
v0.0.0-...-714934f Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 24, 2022 License: Apache-2.0 Imports: 5 Imported by: 0

README

SCION Path Oracle

SCION Path Oracle is an HTTP service deriving dynamic path metrics in SCION. networks. Applications can donate their experienced performance on a path to the Path Oracle, which derives an internal network view from those donations. Other clients may query the Path Oracle for scores to a given destination AS to perform a more sophisticated path selection.

System Overview

This service gets implemented in the course of a master thesis at the Otto von Guericke University in Magdeburg.

Scoring Services

  • throughput
  • latency
  • loss
  • ...

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type FingerprintSet

type FingerprintSet map[PathFingerprint]bool

type Metadata

type Metadata struct {
	// Application which Connection MonitoredProperties are reported for, e.g. bittorrent.
	Application string `json:"application"`
	// Duration of the underlying Connection in seconds
	Duration float64 `json:"duration"`
	// Properties contain further information on the application's networking requirements and behaviour
	Properties MetadataProperties `json:"properties"`
}

type MetadataProperties

type MetadataProperties map[string]interface{}

type MonitoredProperties

type MonitoredProperties map[string]interface{}

MonitoredProperties can contain any property a client measured of a connection, e.g. throughput, latency or packet loss.

type PathFingerprint

type PathFingerprint string

PathFingerprint is a unique identifier for a path

func OracleFingerprint

func OracleFingerprint(p snet.Path) PathFingerprint

type Report

type Report struct {
	// HTTP Request Body
	Metadata   Metadata            `json:"meta"`
	Properties MonitoredProperties `json:"stats"`
	// Path Parameters
	SrcIA  addr.IA         `json:"-"`
	DstIA  addr.IA         `json:"-"`
	PathFp PathFingerprint `json:"-"`
}

Directories

Path Synopsis
cmd

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL