Giter Club home page Giter Club logo

shuaizhao / dss Goto Github PK

View Code? Open in Web Editor NEW

This project forked from interuss/dss

0.0 1.0 0.0 10.35 MB

This repository contains a simple, open, and scalable API used for separate UAS Service Suppliers (USS) to communicate during UAS operations as a Discovery and Synchronization Service (DSS) in accordance with ASTM WK65041. This flexible and distributed system is used to connect multiple USSs operating in the same general area to share safety information while protecting operator and consumer privacy. The system is focused on facilitating communication amongst actively operating USSs with no details about UAS operations stored or processed on the DSS.

License: Apache License 2.0

Shell 1.31% Python 9.26% Makefile 0.38% Dockerfile 0.19% Go 17.93% Jsonnet 70.93%

dss's Introduction

USS to USS Communication and Synchronization Build Status GoDoc

This repository contains a simple and open service used by separate UAS Service Suppliers (USSs), often in different organizations, to communicate information about UAS operations and coordinate with each other. This service is a Discovery and Synchronization Service (DSS) as described in the ASTM remote ID standard. This flexible and distributed system is used to connect multiple USSs operating in the same general area to share information while protecting operator and consumer privacy. The system is focused on facilitating communication amongst actively operating USSs without details about UAS operations stored or processed in the DSS.

Concepts

Conceptual background on the DSS and services it supports may be found here.

Simplified architecture

Overview

Simplified architecture diagram

A "DSS Region" consists of one or more DSS instances sharing the same DSS Airspace Representation (DAR) by forming a single CockroachDB cluster. In the simplified diagram above, two DSS instances share the same DAR via CRDB certificates and configuration which means the two HTTPS frontends may be used interchangeably. USS 1 chooses to use only instance 1 while USS 2 uses both instances for improved resilience to failures.

HTTPS frontend

Serves as an HTTPS gateway to the business logic, translating between HTTPS request and gRPC to allow users to communicate to the DSS via simple HTTPS calls. This code is currently generated via grpc-gateway, and does not do much other than translation. See the API specification here.

gRPC backend

Component responsible for all the business logic as well as authentication. This backend talks directly to CockroachDB.

CockroachDB (CRDB)

Individual CockroachDB nodes hosting sharded data of the DAR. More information about CockroachDB here.

Directories of Interest:

  • build/ has all of the configuration required to build and deploy a DSS instance. The README in that directory contains more information.
  • pkg/ contains all of the source code for the DSS. See the README in that directory for more information.
  • cmds/ contains entry points and docker files for the actual binaries (the http-gateway and grpc-backend)

Notes

  • Currently this branch only supports remote ID APIs and functionality.
  • The current implementation relies on CockroachDB for data storage and synchronization between DSS participants. See implementation details for more information.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.