본문으로 건너뛰기
버전: 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 분석 스트림 생성