Project

General

Profile

Producer Architecure » History » Version 1

Suravi Regmi, 11/26/2025 07:05 PM

1 1 Suravi Regmi
# Producer Architecure
2
3
#
4
## Overview
5
The producer ingests data, converts it into NDN-named packets, attaches attributes, applies NAC-ABE encryption, and publishes encrypted data, CKs, and manifests to the NDN network. It loads configuration, certificates, ABE parameters, and stream settings at startup and then runs continuously as the system’s data source.
6
7
---
8
9
## Configuration Inputs
10
- **producerPrefix** – NDN identity for naming and signing packets  
11
- **aaPrefix** – Prefix where AA publishes ABE parameters  
12
- **dbName** – Lookup database for semantic-location attributes  
13
- **producerCertPath** – Certificate for signing outgoing data  
14
- **aaCertPath** – Certificate for validating AA material  
15
- **trustSchemaPath** – Producer’s trust schema  
16
- **attributeMappingFilePath** – Maps streams to attribute rules  
17
- **granularity** – CK rotation granularity (sec/min/hr)  
18
- **streams** – Stream prefixes + per-stream certificates  
19
- **port** – port that Reciever listens to get the data
20
21
---
22
23
### 1. DataAdapter
24
25
A Receiver listens on port **15000**. Data arrives either from the data-generator or from pre-generated file insertion.
26
Each incoming JSON payload provides:  **streamName** , **metaData**, **streamContent** CSV payload containing all rows. DataAdapter converts the logical name into an NDN-style stream prefix and begins processing.
27
When the **semantic-location** stream arrives, its rows are inserted into the lookup DB. to generate timestamp-based attributes for all other streams.
28
Metadata is published once per stream.
29
Each Data Row is then made into NDN Names with its attribute list. Each data row is then sent to the Publisher as `<name, rawRow, attributeList>`.