본문으로 건너뛰기
버전: 3.4.x

개요

설계 원칙: 제어와 데이터 책임 분리

CoBiz의 중요한 설계 포인트는 두 평면을 분리하는 것입니다.

  • Control: CoBiz Server가 관리하는 도메인 상태, 정책, 인증, Workflow, Task, 운영 이벤트
  • Data: Moth가 전달하는 영상, 오디오, 센서, 제어 Track

이 분리 덕분에 실시간 미디어 처리와 업무 도메인 상태 전이를 서로 다른 책임으로 운영할 수 있습니다.

시스템 구성요소

구성요소역할
CoBiz운영자 UI, 인증, 디바이스 관리, 워크플로우 실행, 전체 서버 컴포넌트 오케스트레이션 담당.
Device실제 로봇/에이전트. 센서 데이터를 Moth로 송출하고, Task를 할당받아 수행하며 CoBiz에 보고.
Moth실시간 데이터/이벤트 전달 허브. 디바이스 센서, 컨트롤 데이터, 서버 간 이벤트 메시지 중계.
TGDMMoth 네트워크 스트림 녹화 솔루션. Moth의 스트림 URI를 받아 녹화 수행.
MantisAI 분석 파이프라인 서버. 특정 Track을 입력 받아 분석 스트림과 이벤트를 생성

시스템 아키텍쳐

데이터 교환 측면 : Moth 중심 연결 구조

Client, Server, Device, TGDM, Mantis는 모두 Moth에 연결된 주체입니다.

  • Client ↔ Moth: 서버 이벤트 구독, Track 구독, 제어 메시지 발행
  • Server ↔ Moth: 클라이언트용 이벤트 채널과 디바이스용 관리 채널 운용
  • Device ↔ Moth: 영상, 오디오, 센서, 제어 Track 송수신
  • TGDM ↔ Moth: 녹화 대상 스트림 URI 소비
  • Mantis ↔ Moth: 분석 입력 스트림과 출력 참조 소비

오케스트레이션 : CoBiz 중심 구조

CoBiz Server가 도메인 상태를 관리하는 중심에 있고, 나머지 컴포넌트들이 Moth를 통해 데이터를 주고받습니다.

  • Device는 Server에 등록되고 Task 진행 상황을 보고합니다.
  • Server는 Device에 Task 실행과 운영 제어를 지시합니다.
  • Server는 TGDM에 녹화 요청과 정책을 전달합니다.
  • Server는 Mantis에 파이프라인 생성, 중지, 매핑 관리를 요청합니다.
  • TGDM과 Mantis는 실제 데이터 소비 시 Moth의 Track URI를 사용합니다.

즉, 논리적 상호작용은 CoBiz Server를 중심으로 보이고, 실시간 전송 구현은 Moth가 담당합니다.

계층별 역할

CoBiz Client

  • REST API로 디바이스, Workflow, Workflow Run, Task, 서버 설정을 조회·변경
  • /moth/events로 서버 이벤트 스트림 구독
  • 선택한 디바이스의 Track endpoint를 받아 Moth에 직접 연결
  • 이벤트 기반으로 디바이스 상태, 현재 Task, Workflow 이력, AI 파이프라인 상태 갱신

CoBiz Server

  • 디바이스 등록 시 토큰 발급
  • 서버 설정(device, tgdm, mantis)을 런타임에 관리
  • Task, Workflow, Workflow Run 상태 전이 관리
  • 디바이스 연결/해제 이벤트와 Task 이벤트를 바탕으로 후속 동작 수행
  • Moth를 통해 클라이언트용 이벤트와 디바이스용 관리 메시지 발행
  • TGDM, Mantis를 외부 연동 서비스로 호출

Device

  • 발급받은 디바이스 토큰으로 자신의 Track을 식별
  • Moth를 통해 영상, 오디오, 센서, 제어 채널 송수신
  • Moth의 디바이스 채널에서 TASK_REGISTERED, HEALTHCHECK 등을 수신
  • start, complete, reject, abort API로 Task 상태를 CoBiz Server에 보고
  • 헬스체크 응답으로 heartbeat 전송

Moth

  • 디바이스 Track의 실시간 중계
  • 서버 이벤트용 client Track 제공
  • 디바이스 관리용 device Track 제공
  • CoBiz Server, Client, Device, TGDM, Mantis를 느슨하게 연결하는 실시간 버스 역할 수행

TGDM / Mantis

  • TGDM: Moth URI를 입력으로 받아 녹화 파일 생성
  • Mantis: Moth URI를 입력으로 받아 AI 분석 스트림 생성