요약

  • Jonathan Rosenberg가 공동 저술한 프레즌스 모델에서OPEN은 인스턴트 메시징에 대해 좁은 의미를 갖는다. 연관된 인박스가 메시지를 받아들일 준비가 되었다는 뜻이다. 이는 사람의 위치, 주의, 의사, 신원 또는 회신에 대한 접수증이 아니다.
  • PIDF는 여러 서비스 튜플을 담을 수 있으며, 동일한 연락처에 대해 상충하는OPEN과CLOSED값이 공존할 수도 있다. 따라서 RFC 4479는 기술하는 대상에 따라 사람, 서비스, 기기 속성을 분리하고, RFC 4480은 최근 입력을 누군가 답할 가능성을 추정하기 위한 하나의 신호로만 다룬다.
  • 방어 가능한 프레즌스 기록은 구독 권한, 튜플 출처, 서비스 상태, 기기 활동, 메시지 전달, 사람의 결과를 서로 다른 이벤트로 보존한다. 초록 점은 그 범례가 받지도 않은 근거를 소비하지 않을 때만 유용하다.

초록불은 잘못된 질문에 답했다

지원 기록은 평범하다. 10시 14분에 사내 디렉터리는 한 동료를 이용 가능으로 표시했다. 10시 15분에 긴급 메시지가 전송되었다. 10시 35분까지 답이 오지 않았다. 한 팀은 프레즌스 시스템이 부정확하다고 말하고, 다른 팀은 사용자가 메시지를 무시했다고 말한다.

어떤 결론도 점만으로는 도출되지 않는다.

인터넷 프레즌스 모델은 여러 행위자와 여러 종류의 상태를 전제로 설계되었다. 프레즌티티는 정보를 게시한다. 프레즌스 서비스는 이를 저장하고 배포한다. 와처는 이를 수신한다. 인스턴트 메시지 서비스는 인스턴트 인박스를 위한 데이터를 받아들인다. 프린시펄은 이러한 프로토콜 요소 바깥의 세계에 존재하는 사람, 그룹 또는 소프트웨어 행위자다. 이 모델은 이들을 서로 연관시키지만 동일하다고 선언하지 않는다.

이 아키텍처가 중요한 이유는 익숙한 인터페이스가 이들 모두를 하나의 형용사, 즉 "이용 가능"으로 압축하기 때문이다. 이 압축은 메시지를 보낼 곳을 고를 때 유용할 수 있다. 그러나 그것은 특정 사람이 특정 기기 앞에 앉아 애플리케이션을 보고 있고 응답할 준비가 되어 있다는 법증적 진술이 아니다.

가장 작은 진실한 접수증은 훨씬 소박하다. 식별된 하나의 통신 서비스가 특정 게시 및 집계 정책 하에서 특정 시점에 상태를 보고했다는 것뿐이다.

OPEN은 인박스를 위해 설계되었다

Mark Day, Jonathan Rosenberg, Hiroyasu Sugano가 집필한 RFC 2778은 Informational 모델이다. 문서는 그 목적이 상호운용 가능한 프로토콜이 아니라 공통 어휘라고 분명히 밝힌다. 인스턴트 메시징 맥락에서 특별히 지정된OPEN값은, 연관된 인스턴트 인박스 주소가 인스턴트 메시지를 받아들일 준비가 된 인박스에 해당한다는 뜻이다.CLOSED는 받아들이지 않을 것이라는 뜻이다.

이 주장의 대상은 인박스다. 이 모델은OPEN이 사람이 실제로 그 자리에 있다는 뜻이라고 말하지 않는다. 사람이 최근에 키보드를 건드렸거나, 발신자의 이름을 봤거나, 방해를 수락했거나, 답을 약속했다고도 말하지 않는다. 다른 통신 수단에 대해서는 RFC 2778이 유사한 개념을 허용하지만 정의하지는 않는다.

"받아들일 준비가 됨" 자체가 전체 전달 사슬은 아니다. 서비스는 메시지를 받아들인 뒤에도, 하류 저장소가 실패하기 전이거나, 알림이 기기에 도달하기 전이거나, 애플리케이션이 이를 표시하기 전이거나, 사람이 읽기 전에 실패할 수 있다. 프레즌스는 라우팅을 더 잘 정보화할 수 있지만 전달 접수증이 되지는 않는다.

그래서 사후 분석용 내보내기가OPEN을human_available=true로 번역해서는 안 된다. 이 번역은 문장의 주어를 바꾼다. 서비스의 역량을 사람에게 귀속시킨다.

튜플은 서비스 발생이지 삶의 초상이 아니다

RFC 3863은 추상 모델을 프레즌스 정보 데이터 형식(PIDF)으로 변환한다. 하나의 프레즌스 문서는 여러 튜플을 담을 수 있다. 각 튜플은 상태를 갖고, 연락처, 타임스탬프, 노트, 확장을 포함할 수 있다. 기본 형식에서<basic>은open또는closed를 담는다.

인스턴트 메시징에 대해서는 정의가 여전히 정확하다.open튜플은 그 연락처가 인스턴트 메시지를 받아들일 준비가 된 인스턴트 인박스에 해당한다고 말한다. 연락처는 개인정보 보호를 위해, 또는 튜플이 특정 통신 수단에 묶여 있지 않기 위해 생략될 수 있다. 상태 요소는 기본 값과 의미가 분리된 확장을 함께 담을 수도 있다.

다중성은 예외 사례가 아니다. 튜플은 정보가 서로 다른 기기에서, 같은 기기의 서로 다른 애플리케이션에서, 또는 서로 다른 시점에서 왔기 때문에 분할될 수 있다. PIDF는 심지어 한 튜플이OPEN을 말하고 다른 튜플이CLOSED를 말하면서 둘 다 동일한 연락처를 갖는 것을 허용한다.

이 상충은 관찰자가 보편적 진실을 만들어내는 권한을 부여하지 않는다. 와처에는 애플리케이션별 해석이 필요하다. 어떤 튜플이 바뀌었는지, 어떤 출처가 그것을 만들었는지, 어떤 타임스탬프가 적용되는지, 어떤 정책이 문서를 구성했는지, 이후 알림이 이전 것을 대체했는지가 그 대상이다.

튜플의id는 발생을 이전 문서와 대조하는 데 도움이 된다. RFC 3863은 이를 임의의 문자열이며, 그 의미가 프레즌티티 내에서 튜플을 구별하는 것을 넘지 않는다고 규정한다. 이는 사용자 식별자도, 기기 인증서도, 두 게시자가 같은 사람을 대표한다는 증명도 아니다.

presence=open만 남기는 데이터베이스는 두 입력이 충돌할 때 필요한 근거를 정확히 파괴한다. 유용한 기록은 튜플 ID, 구성 요소 유형, 연락처, 값, 게시 시각, 수신 시각, 출처를 보존한다. 그러면 롤업은 입력을 대체하는 것이 아니라 되돌릴 수 있는 해석이 된다.

관찰 허가는 관찰된 상태가 아니다

RFC 3856은 Rosenberg가 집필했으며, 프레즌스를 위한 SIP 이벤트 패키지를 정의한다. 와처가 구독하면, 프레즌스 에이전트가 구독 요청을 인증하고 별도의 인가 결정을 내린다. 인가되었거나 처리 대기 중인 구독은 구독 상태와 프레즌티티 상태를 실은 알림을 생성한다.

이들은 서로 독립적인 제어 표면이다. 인증은 누가 요청하는지를 묻는다. 인가는 그 와처가 무엇을 받을 수 있는지를 묻는다. 구독 상태는 관찰 관계가 대기 중인지, 활성인지, 종료되었는지를 묻는다. PIDF 본문은 선별된 프레즌스 정보를 보고한다. 이 사실들 중 어느 것도 사람이 지금 애플리케이션을 보고 있다는 증명이 아니다.

이 구별은 개인정보 보호도 지킨다. 와처는 프레즌스 정보의 일부만 받을 수 있도록 허용될 수 있다. 기기 활동 필드의 부재는 기기가 유휴 상태라는 증거가 아니라 의도된 공개 규칙일 수 있다. 대기 중인 구독은CLOSED서비스가 아니다. 종료된 구독은 관찰이 끝났다는 뜻이지, 프레즌티티에 속한 모든 서비스가 오프라인이 되었다는 뜻이 아니다.

운영 시스템이 이 상태들을 합치면 접근 제어 변경이 사람 행동 변화처럼 보일 수 있다. 와처의 권한이 박탈되고 대시보드가 회색으로 바뀌며, 분석가는 사용자가 자리를 떴다고 결론짓는다. 실제 이벤트는 인가 평면에서 일어났다.

Rosenberg의 데이터 모델은 각 사실에 소유자를 부여했다

Jonathan Rosenberg가 집필한 RFC 4479는 프레즌스에 대해 더 정밀한 유형 체계를 제공한다. 프레즌티티를 사람, 서비스, 기기 구성 요소로 나눈다. 속성은 그것을 보고한 대상이 아니라 그것이 기술하는 대상에 속한다.

전화기는 사용자가 회의 중이라고 보고할 수 있다. "회의 중"은 사람을 기술하므로 사람 구성 요소에 속한다. 배터리 잔량이나 기기 전원은 기기를 기술한다. 사용자가 통신에 도달할 수 있는 지점은 서비스다. 보고 출처와 의미적 주체는 서로 다른 필드다.

이 규칙은 흔한 추론을 경계에서 차단한다. 서비스가 메시지를 받아들일 수 있다는 사실이 사람이 소통할 의사가 있다는 뜻은 아니다. 기기가 켜져 있다는 사실이 그 서비스가 사용 가능하다는 증명은 아니다. 한 기기가 위치를 가지고 있다는 사실이 그것이 사람의 위치라는 뜻은 아니다. RFC 4479는 사람과 기기의 위치가 달라질 수 있음을 명시적으로 허용한다.

이 모델은 신원에 대해서도 솔직하다. 사람 구성 요소는 단일 사람을 위한 파사드이지만, 시스템은 그 파사드가 실제로 한 사람을 대표하는지 검증할 수 없다. 그룹이 담당하는 헬프 데스크는 한 사람으로 모델링될 수 있다. 따라서 프레즌스 신원은 모델링 핸들이지, 생체적 또는 조직적 증명이 아니다.

이것이 시스템을 약화시키지는 않는다. 오히려 주장들을 조합 가능하게 만든다. 서비스는OPEN일 수 있고, 기기는 활성일 수 있고, 사람은 활동을 게시할 수 있으며, 애플리케이션은 그 조합을 어떻게 제시할지 결정한다. 전체 결과가 운영자를 놀라게 할 때에도 각각은 검사 가능한 상태로 남는다.

최근 입력은 OPEN의 의미가 아니라 추정치를 개선한다

Henning Schulzrinne, Vijay Gurbani, Paul Kyzivat, Rosenberg가 집필한 RFC 4480은 풍부한 프레즌스 속성을 추가한다. 그중 하나가user-input으로, 구성 가능한 기준 아래에서active또는idle을 보고할 수 있다. 이는 하나의 애플리케이션, 하나의 기기 전체, 또는 서비스와 기기를 아우르는 집계를 기술할 수 있다. 정확한 마지막 입력 시각은 생략될 수 있다.

규격은 시사하는 예를 제공한다. 한동안 사용되지 않은 튜플도 여전히OPEN일 수 있다. 와처는 더 최근에 사용된OPEN연락처를 선호할 수 있다. 이 두 관찰은 서로 다른 질문에 답한다. 기본 상태는 서비스가 소통을 받아들일 의사나 능력이 있는지를 다루고, 입력 최신성은 사용자가 답할 가능성을 추정하는 데 도움을 준다.

추정은 여전히 접수증이 아니다. 입력은 다른 애플리케이션에서 일어날 수 있다. 자동화는 기기를 활성 상태로 유지할 수 있다. 사람은 추적되는 입력 없이 메시지를 읽을 수도, 메시지를 알아차리지 못한 채 입력을 만들어낼 수도 있다. 기준 값은 게시자마다 다를 수 있다. 개인정보 정책이 타임스탬프를 억제할 수도 있다.

"초록 + 최근 활성"은 초록만보다 더 많이 정보화된 라우팅 신호다. 그러나 그것은 주의, 동의 또는 회신의 증명이 아니다. 책임감 있는 인터페이스는 "메시지 수락 중인 서비스"와 "10분 이내 활동 확인" 같은 라벨로 이 차이를 드러내고, 결정은 사용자에게 남겨둘 수 있다.

귀속은 같은 경계를 보존해야 한다

Rosenberg의 IETF Datatracker 프로필은 2026년 9월 9일 수집 시점에 72개의 RFC와 활성 역할이 없는 것으로 표시되어 있었다. RFC 3856과 RFC 4479는 그를 단독 저자로 명시한다. RFC 2778과 RFC 4480은 다른 저자들과의 공동 작업이다. 이 기록들은 광범위한 표준 참여를 확립하지만, 인터넷 프레즌스의 모든 요소를 한 사람의 독자적 발명으로 만들지는 않는다.

Five9 공식 저자 페이지는 편집 초상을 뒷받침하는 공개 프로필 사진을 제공한다. 그 오래된 이력은 현재 직위의 증거가 아니다. 이 절제는 의도적이다. 시점이 표시된 페이지는 이미지 출처를 확립할 수 있지만, 시간에 민감한 고용 주장에 사용하기에는 부적합하다.

저작, 표준 합의, 구현, 운영, 사용자 행동은 서로 다른 책임이다. 이들을 신중히 다루는 것은 프로토콜의 교훈과 같다. 출처는 그 범위가 보이는 상태로 유지될 때 가치를 얻는다.

근거 사슬을 동사 하나씩 쌓아라

신뢰할 수 있는 프레즌스 기록은 최소 여덟 개의 질문에, 하나를 다른 것으로 대체하지 않고 답할 수 있어야 한다:

  1. 와처가 인증되고 인가되었는지, 어떤 뷰에 대해 인가되었는지?
  2. 어떤 알림이, 어떤 구독을 통해, 언제 도착했는지?
  3. 어떤 튜플과 구성 요소가 그 속성을 기술했는지?
  4. 어떤 연락처와 기본 상태가, 어떤 출처와 구성 정책에 의해 게시되었는지?
  5. 어떤 기기 입력 또는 기타 풍부 프레즌스 근거가, 어떤 기준으로 함께 제공되었는지?
  6. 인스턴트 메시지 서비스가 메시지를 받아들였는지?
  7. 메시지가 클라이언트로 전달되고 표시되었는지?
  8. 사람이 그것을 읽고, 확인하거나 답했는지?

대부분의 시스템은 모든 단계를 관찰하지 못한다. 그것이 빈틈을 채우는 이유는 아니다. 빈틈에 이름표를 붙여야 하는 이유다. "서비스는 열림; 전달은 불명; 사람의 회신은 없음"은 "이용 가능한 사용자가 메시지를 무시"보다 운영적으로 유용하다. 첫 번째 진술은 누락된 근거를 식별한다. 두 번째 진술은 색깔에서 동기를 귀속시킨다.

프레즌스의 가치는 소통 전에 불확실성을 좁히는 데 있다. 그것이 불확실성을 없애지는 않는다. 초록 점은 남아 있을 수 있다. 조직이 그것이 무엇에 속하는지 기억하는 한도 내에서.

출처