96 lines
3.9 KiB
Markdown
96 lines
3.9 KiB
Markdown
# AIoT gRPC 고성능 통신 모듈
|
|
|
|
> AI Agent 및 AIoT 환경에서 고성능·경량 서비스 간 통신을 위한 **gRPC over HTTP/3 (QUIC) 통신 모듈**과 **엣지 게이트웨이** 설계·구현·성능 검증 연구 프로젝트.
|
|
|
|
## 핵심 기여
|
|
|
|
1. **HTTP/3 (QUIC) 전송 계층을 채택한 gRPC 통신 모듈**을 AIoT 환경에서 실증
|
|
2. 위 모듈을 활용해 AI Agent 통신과 IoT 프로토콜을 통합 처리하는 **엣지 게이트웨이 아키텍처** 제안
|
|
|
|
## 비교 대상 시스템
|
|
|
|
| ID | 전송 | 직렬화 | 비고 |
|
|
|----|------|--------|------|
|
|
| `rest-h2` | HTTP/2 (TCP+TLS) | JSON | 베이스라인 |
|
|
| `grpc-h2` | HTTP/2 (TCP+TLS) | Protobuf | 선행 연구 (SGS) 확인 |
|
|
| `grpc-h3` | HTTP/3 (QUIC+TLS1.3) | Protobuf | **본 연구 제안** |
|
|
|
|
## 워크로드 시나리오
|
|
|
|
| 이름 | 메시지 크기 | 횟수 | 의도 |
|
|
|------|-----------|------|------|
|
|
| **Small-Many** | 1 KB | 10,000회 / 디바이스 | AI Agent RPC 패턴 |
|
|
| **Large-Few** | 1 MB | 50회 / 디바이스 | IoT 이미지 전송 (해충 탐지 ROI) |
|
|
|
|
## 측정 지표 (KPI)
|
|
|
|
- Latency P50 / P95 / P99
|
|
- Throughput (RPS)
|
|
- 데이터 전송량 (Payload Size)
|
|
- 성공률 (패킷 손실 환경 내구성)
|
|
- 연결 수립 시간 (Connection Overhead)
|
|
- 0-RTT Resumption · HoL Blocking 내성 (Phase 2)
|
|
|
|
## 네트워크 제어 단계
|
|
|
|
| 단계 | 도구 | 범위 |
|
|
|-----|------|------|
|
|
| **Phase 1 (현재 계획)** | Linux `tc netem` | 단일 NIC 구간의 지연·손실·대역폭 제어 |
|
|
| **Phase 2 (예정)** | Mininet | SDN 스위치 기반 다중 홉 토폴로지, 다중 디바이스 동시 시뮬레이션 |
|
|
|
|
## 프로젝트 구조
|
|
|
|
```
|
|
.
|
|
├── README.md # (본 파일) 프로젝트 개요 — 연구 목적·비교 대상·KPI
|
|
├── CLAUDE.md # 연구 방향·동기·목표·평가 지표·코드 정책
|
|
├── IMPLEMENTATION.md # 디렉터리 구조·네이밍·워크플로우·코드 패턴
|
|
├── BACKGROUND.md # 연구 수행 배경 (AI Agent 시대의 통신 인프라 변화)
|
|
├── 참고/
|
|
│ └── SGS/ # 선행 연구 (스마트팜 해충 탐지, gRPC vs REST/HTTP-2)
|
|
└── src/ # 구현 코드 — 빌드/실행/UI 가이드는 src/README.md
|
|
└── README.md
|
|
```
|
|
|
|
## 구현 코드 실행
|
|
|
|
구현 디렉터리(`src/`)는 자체 README와 빌드 가이드를 제공한다.
|
|
|
|
→ **[`src/README.md`](src/README.md)** 에서 다음을 확인할 수 있다:
|
|
- 사전 요구사항 (Go 버전, 터미널 환경)
|
|
- Terminal UI 데모 빌드 및 실행 방법
|
|
- UI 화면 흐름·키 바인딩·조절 가능한 파라미터
|
|
- 디렉터리 구조 (`cmd/`, `internal/ui/`)
|
|
- mock 시뮬레이터의 가정과 실측 전환 경로
|
|
- Phase별 구현 진행 상태
|
|
|
|
## 진행 상태 (연구 단계)
|
|
|
|
- [x] 연구 방향 문서화 (`CLAUDE.md`, `BACKGROUND.md`)
|
|
- [x] 구현 가이드 분리 (`IMPLEMENTATION.md`)
|
|
- [x] 테스트베드 계획 수립
|
|
- [x] Phase 0 — Terminal UI 데모 (자세한 사항: `src/README.md`)
|
|
- [ ] Phase 1 — Proto + gRPC/REST 서버, tc 통합, 벤치마크 러너
|
|
- [ ] Phase 2 — gRPC over QUIC 전송 계층 + Mininet 환경
|
|
|
|
## 문서 안내
|
|
|
|
작업 종류에 따라 참조할 문서:
|
|
|
|
| 상황 | 우선 참조 |
|
|
|------|----------|
|
|
| 프로젝트 개요·연구 목적 | 본 README |
|
|
| 연구 방향·동기·평가 지표 | [`CLAUDE.md`](CLAUDE.md) |
|
|
| 디렉터리·네이밍·코드 패턴·작업 분담 | [`IMPLEMENTATION.md`](IMPLEMENTATION.md) |
|
|
| 연구 시작의 구조적 배경 (발표 자료 추출 가능) | [`BACKGROUND.md`](BACKGROUND.md) |
|
|
| 선행 연구 | [`참고/SGS/README.md`](참고/SGS/README.md) |
|
|
| **빌드·실행·UI 사용법** | [`src/README.md`](src/README.md) |
|
|
|
|
## 라이선스 / 안내
|
|
|
|
본 프로젝트는 연구 목적의 프로토타입입니다. 프로덕션 환경의 안정성·보안·가용성을 보장하지 않습니다.
|
|
|
|
# AI Agents
|
|
|
|
- claude --resume 0e21c68a-0e16-47a3-b70b-61187ec8b91f
|
|
- hermes --resume 20260507_001250_f9b5f8 |