세 가지 연결 끊김 유형
휴대폰을 비행기 모드로 전환하고 앱을 열어 보십시오. 세 가지 유형이 보일 것입니다.
유형 1: 빈 화면. 서버 없이는 애플리케이션이 작동하지 않습니다.
유형 2: 이전 데이터를 볼 수 있지만 새로운 작업은 할 수 없습니다. 읽기 전용 모드입니다.
유형 3: 전체 기능이 계속됩니다. 작업은 로컬에 대기열로 저장되고 연결이 복원되면 동기화됩니다.
대부분의 벤더는 유형 3을 "오프라인 지원"이라 부릅니다. 이 명칭은 온라인이 정상이고 오프라인은 시스템이 우아하게 감내하는 일시적 불편이라는 의미를 내포합니다.
xGrid는 이 유형 중 어디에도 속하지 않습니다. xGrid의 기본 상태는 오프라인입니다. 인터넷의 부재를 용인하는 것이 아닙니다. 인터넷이 존재하지 않는다는 전제 하에 설계되었습니다.
이 차이는 들리는 것 이상으로 중요합니다.
데이터 센터 전체가 손 안에 들어옵니다
xGrid는 신용카드 크기 정도의 전용 엣지 컴퓨팅 장치에서 작동하며, 휴대용 배터리로 전원을 공급받습니다.
이 하나의 장치에서:
- xGrid Community Grid가 환자 등록, 분류, 임상 인수인계, 처방을 처리합니다
- xGrid Medical Grid가 재고, 혈액 은행, 수술 추적, 약국 조제를 처리합니다
- xGrid READY가 시설 복원력 준비 상태 추적을 처리합니다
세 개의 독립적인 임상 모듈이 있으며, 각각 자체 데이터베이스를 보유합니다. 서비스 관리 계층이 부팅 시 자동 시작과 모듈 오류 발생 시 자동 재시작을 보장합니다.
그런 다음 장치는 로컬 무선 네트워크를 방송합니다.
간호사, 의사, 약사가 이 네트워크에 휴대폰을 연결하고 브라우저를 열어 작업을 시작합니다. 라우터 불필요. 액세스 포인트 불필요. 클라우드 서비스 불필요. 장치 자체가 인프라입니다.
"클라우드 없음"이 실제로 의미하는 것
이것은 클라우드 컴퓨팅에 대한 철학적 입장이 아닙니다. 배치 현실에 대한 실용적 대응입니다.
재난 의료 배치는 다음과 같은 곳에서 이루어집니다:
- 기지국이 파손되었거나 과부하 상태
- 전력망이 불안정 (장치는 보조 배터리로 작동)
- IT 담당자 없음 (운영자가 임상 인력)
- 설치 시간이 거의 제로여야 함
인터넷 연결을 요구하는 시스템은 -- 아무리 짧은 시간이라도, 로그인만을 위해서라도 -- 가장 필요한 순간에 정확히 단일 장애점을 갖게 됩니다.
xGrid는 이 의존성을 완전히 제거합니다. 모든 요청은 로컬에서 처리됩니다. 모든 데이터베이스 쿼리는 같은 장치의 파일에 접근합니다. 모든 인터페이스 구성요소는 로컬에 캐시됩니다. 광섬유 연결이 있든 전기가 없는 분쟁 지역이든 시스템은 동일하게 작동합니다.
우선순위 이벤트 큐: 오프라인이 흥미로워지는 지점
장치는 무선 커버리지를 방송하지만 무선에는 도달 범위 한계가 있습니다. 간호사가 50미터 떨어진 분류 텐트로 걸어가면서 연결이 끊깁니다. 그녀는 휴대폰에서 환자를 분류합니다. 그 데이터는 어떻게 될까요?
장치의 로컬 저장소에 있는 우선순위 이벤트 큐에 들어갑니다:
P0 — 임상
분류, 지시, 활력 징후, 긴급 약물. 7일 보존. 자동 삭제되지 않습니다.
P1 — 운영
재고 변동, 조제, 혈액 은행 운영. 3일 보존.
P2 — 텔레메트리
사용 로그와 수동 메트릭. 동기화 직후 삭제.
간호사가 무선 범위로 돌아오면 P0 이벤트가 먼저 동기화됩니다. 대역폭이 제한되면 P2 이벤트는 임상 데이터 손실 없이 완전히 폐기할 수 있습니다.
특정 작업은 감사 필수로 표시되며 저장 압박에 관계없이 절대 자동 삭제되지 않습니다: 긴급 오버라이드(break-glass), 수혈, 통제 약물 조제, 분류 기록입니다. 이러한 데이터는 동기화가 확인될 때까지 유지됩니다.
네 가지 재연결 방법
일부 모바일 플랫폼에서는 백그라운드 동기화 지원이 일관적이지 않습니다. 그래서 xGrid는 단일 메커니즘에 의존하지 않습니다. 대신 네 가지 독립적인 트리거가 데이터를 중앙 시스템으로 확실히 되돌립니다:
- 화면 복귀: 임상 인력이 앱으로 돌아오면 즉시 동기화 시작
- 네트워크 감지: 장치가 연결을 감지하면 즉시 동기화 시작
- 워치독 타이머: 30초마다 주기적 검사 (유휴 시 5분으로 확장), 대기 중인 이벤트 탐색
- 앱 종료: 임상 인력이 브라우저 탭을 닫기 전 마지막 동기화 시도
실제로는 연결이 복원된 후 몇 초 이내에 최소 하나의 트리거가 작동합니다. 최악의 경우도 분 단위이며, 시간 단위가 되는 경우는 없습니다.
오프라인 카운트다운
각 간호 스테이션에는 색상 코드화된 카운트다운으로 오프라인 지속 시간을 보여주는 상태 배너가 표시됩니다:
- 초록 (데이터 안전 여유 4시간 이상): 정상 운영 중
- 노랑 (1~4시간): 주의 -- 곧 무선 범위로 돌아가는 것을 고려하십시오
- 주황 (15분): 경고 -- 동기화를 우선하십시오
- 빨강 (15분 미만): 위급 -- 장치 진동, 차단 오버레이 표시
이 카운트다운은 배터리 수명에 관한 것이 아닙니다(물론 그것도 중요하지만). 데이터 신선도에 관한 것입니다. 장치가 오프라인인 시간이 길어질수록 로컬 상태는 중앙 데이터베이스에서 더 많이 벗어납니다. 카운트다운은 이 편차를 가시화하여 운영자에게 결정에 필요한 정보를 제공합니다: 무선 범위로 돌아갈 것인가, 아니면 오프라인으로 계속 작업하고 위험을 감수할 것인가.
의존성 제로의 아키텍처
xGrid의 모든 설계 결정은 같은 질문에 답합니다: 장치 한 대와 휴대폰 한 대만으로 이것이 작동하는가?
기존 접근 방식
- 엔터프라이즈 데이터베이스 서버
설치, 구성, 유지보수를 위한 전담 IT 인력 필요 - 네이티브 모바일 앱
앱 스토어 배포와 장치 관리 필요 - 실시간 동기화
연결이 끊기는 즉시 기능 정지 - VPN 터널
네트워크 관리자 필요
xGrid 접근 방식
- 임베디드 데이터베이스
설정 불필요, 인증 정보 불필요, 장치와 함께 시작 - 브라우저 기반 인터페이스
설치 불필요 -- 브라우저를 열고 작업 시작 - 큐 기반 동기화
임의 기간의 연결 끊김 허용 - 로컬 무선 네트워크
장치가 자체 네트워크를 생성 -- 인프라 불필요
이 각각의 선택은 의도적인 트레이드오프입니다. 엔터프라이즈 데이터베이스의 성능, 네이티브 앱의 기능, 실시간 즉시성, VPN 보안 모델을 포기했습니다.
그 대가로 얻은 것: 30초 만에 부팅되고, 구성이 필요 없으며, 병원 IT 연구실에서든 전기가 없는 재난 지역에서든 동일하게 작동하는 시스템입니다.
이것은 대체 수단이 아닙니다. 이것이 설계입니다.
관련 글: 하나의 데이터베이스, 하나의 파일, 설정 제로 -- 재난 의료에서 단순함이 이기는 이유 · 벽이 무너졌을 때 -- Safety-II로 의료 시스템을 설계하다
