docs: 프로젝트 README 추가 (루트 + src/)

두 README의 역할을 분리한다:

- README.md (루트): 프로젝트 1페이지 overview
  - 핵심 기여, 비교 대상, 워크로드 시나리오, KPI 요약
  - 네트워크 제어 단계 (Phase 1 tc · Phase 2 mininet)
  - 문서 안내 표 (CLAUDE.md / IMPLEMENTATION.md / BACKGROUND.md / SGS)
  - 구현 코드 실행은 src/README.md로 위임

- src/README.md: 구현 코드 가이드
  - Phase 0~6 진행 상태 체크리스트
  - 사전 요구사항 (Go 1.22+, UTF-8 터미널, tc)
  - 빌드/실행 (go run ./cmd/benchcli)
  - src/ 디렉터리 구조와 각 파일 역할
  - UI 사용법 (화면 흐름·키 바인딩·파라미터 범위)
  - mock 시뮬레이터 가정과 실측 전환 경로
  - 트러블슈팅 (한글·색상·폰트 등)

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
2026-05-07 01:32:31 +00:00
parent 3db48c3bae
commit 2e565db65b
2 changed files with 275 additions and 0 deletions
+91
View File
@@ -0,0 +1,91 @@
# 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) |
## 라이선스 / 안내
본 프로젝트는 연구 목적의 프로토타입입니다. 프로덕션 환경의 안정성·보안·가용성을 보장하지 않습니다.