29.1 클라이언트-서버 통신 모델의 이론적 정의 및 아키텍처 특성

29.1 클라이언트-서버 통신 모델의 이론적 정의 및 아키텍처 특성

자율 비행 드론을 구동하는 운영체제 프레임워크 내에서, 컴포넌트 간 통신망은 크게 자원 및 상태의 연속적 동기화를 위한 데이터 중심(Data-Centric) 방식과, 특정 연산이나 행동 변화를 촉발하기 위한 명령 중심(Command-Centric) 방식으로 양분된다. ROS2의 클라이언트-서버(Client-Server) 통신 모델, 통칭 ‘서비스(Service)’ 프로토콜은 후자인 명령 중심 철학을 토대로 원격 프로시저 호출(RPC, Remote Procedure Call) 패러다임을 분산 로보틱스 환경에 최적화하여 구현한 학술적 결과물이다.

1. 원격 프로시저 호출(RPC) 패러다임과 양방향 유니캐스팅(Unicasting)

서비스 통신망의 본질적 목표는 소프트웨어 모듈이 지닌 특정 기능(메서드)을 네트워크 너머의 다른 프로세스에서 추상화된 형태로 호출하고, 결과값을 회신받는 데 있다. 이 구조는 서브스크립션 기반의 브로드캐스팅(Broadcasting) 토폴로지(Topology)와 극명하게 대비되는 1:1 유니캐스팅(Unicasting) 위상을 취한다.

서비스를 제공하는 서버(Server) 노드는 지정된 명칭의 통신 엔드포인트(Endpoint)를 개방한 채 대기(Listen) 상태에 머문다. 연산이나 상태 질의가 필요한 클라이언트(Client) 노드가 이 엔드포인트로 구조화된 요청(Request) 패킷을 발송하면, 서버는 캡슐화(Encapsulation)된 연산을 실행한 뒤 그 최종 상태나 결과값이 담긴 독립적인 응답(Response) 패킷을 동일한 채널로 회신(Return)한다. 이 과정은 송수신 궤적이 물리적으로 닫힌 루프(Closed-loop)를 형성함으로써, 일방적인 센서 데이터 살포 방식에서는 달성하기 불가능했던 완벽한 ’시스템 상태 동기화(System State Synchronization)’를 보장한다.

2. 간헐적(Episodic) 트리거 역학과 무상태성(Statelessness)

퍼블리셔-서브스크라이버 통신망이 센서 샘플링 비율(Sampling Rate)에 비례하는 주기적인(Periodic) 데이터 흐름을 전제한다면, 서비스 프로토콜은 특정 조건이 만족되었을 때만 점화(Fire)되는 간헐적(Episodic/Sporadic) 트리거 역학을 지닌다. 이는 네트워크 대역폭(Bandwidth) 점유율을 비약적으로 낮추는 동시에, 스레드 실행자(Executor)의 불필요한 폴링(Polling) 오버헤드를 억제한다.

게다가 ROS2 서비스 아키텍처는 기본적으로 무상태성(Stateless) 원칙을 준수하도록 설계된다. 이는 서버 노드가 클라이언트의 과거 요청 내역이나 세션(Session) 데이터를 저장하지 않고, 단일 요청-응답 트랜잭션(Transaction) 내에서 논리를 완결 지음을 의미한다. 무상태성 아키텍처는 통신 도중 드론 무선 링크(RF Link)의 일시적 단절이나 노드의 크래시(Crash)가 발생하더라도, 세션 복구(Session Recovery) 과정 없이 즉각적인 시스템 재개가 가능하도록 결함 허용성(Fault Tolerance)을 부여한다.

3. 자율 비행 인프라 내 서비스 아키텍처의 적용 제약과 규범

명령과 확정(Confirmation)이라는 강력한 무결성(Integrity)을 제공함에도 불구하고, 서비스 콜백 연산에는 학술적으로 엄격한 설계 규범이 요구된다. 서비스 프로토콜은 ’즉각적인(Immediate) 연산 완료’를 전제로 한다.

만약 서버 측 콜백 내부에서 카메라의 딥러닝 추론 대기나, 목표 지점(Waypoint) 도달을 위한 수십 초 간의 모터 제어 지연(Delay)이 동반될 경우, 통신 파이프라인 전체가 블로킹(Blocking)되어 시스템 타이밍(Timing) 요구사항을 극심하게 훼손하게 된다. 따라서 긴 연산 시간(Long Computational Time)이 소요되는 작업은 별도의 액션(Action)망으로 이양되어야 하며, 서비스 서버는 센서 보정(Calibration) 트리거, 내부 파라미터(Parameter) 질의, 드론 암/디스암(Arm/Disarm) 논리 스위치 토글 등 제한적인 확정적 연산 스케줄링에 전용(Dedicated)되어야 한다는 것이 분산 소프트웨어 공학의 대원칙이다.