주요 개념 key-concepts

성공적인 구현을 위해서는 동시성 모니터링의 핵심 개념을 이해하는 것이 중요합니다. 이 안내서에서는 기본 구성 요소와 이러한 구성 요소가 함께 작동하는 방식을 설명합니다.

핵심 개념 core-concepts

세션

session​은(는) 활성 비디오 스트리밍 인스턴스를 나타냅니다. 사용자가 콘텐츠를 볼 수 있는 '티켓'이라고 생각하십시오.

세션 라이프사이클

  1. 만들기 - 사용자가 콘텐츠 보기를 시작할 때
  2. 활성 - 사용자가 시청 중인 동안(하트비트에 의해 유지)
  3. 종료 - 사용자가 시청을 중지하거나 세션이 만료될 때

세션 속성

{
  "sessionId": "unique-session-identifier",
  "idp": "identity-provider",
  "subject": "user-identifier",
  "startTime": "2024-01-15T10:30:00Z",
  "expiresAt": "2024-01-15T10:40:00Z",
  "metadata": {
    "deviceId": "device-123",
    "channel": "Channel1",
    "contentType": "live"
  }
}

정책

정책​은(는) 동시 스트리밍에 대한 제한 및 제한을 정의하는 비즈니스 규칙입니다. 사용자가 새 스트림을 시작할 수 있는 시기를 결정합니다.

정책 구성 요소

  • 규칙 - 특정 제한 및 조건
  • 메타데이터 요구 사항 - 필요한 데이터
  • 평가 논리 - 정책이 적용되는 방법

예제 정책

{
  "name": "basic_stream_limit",
  "description": "Maximum 3 concurrent streams per user",
  "rules": [
    {
      "type": "maxstreams",
      "limit": 3,
      "message": "You have reached your maximum of 3 concurrent streams"
    }
  ]
}

메타데이터

메타데이터​에서 각 세션에 대한 컨텍스트를 제공합니다. 여기에는 장치, 콘텐츠, 사용자 및 애플리케이션에 대한 정보가 포함됩니다.

메타데이터 카테고리

범주
목적
장치
deviceId, deviceType, osName
장치 식별 및 분류
컨텐츠
channel, contentType, assetId
감시되고 있는 항목 설명
사용자
subject, subscriptionTier
사용자별 정보
응용 프로그램
applicationName, applicationPlatform
앱별 세부 정보
위치
country, hba
지리적 및 네트워크 정보

필수 메타데이터와 선택적 메타데이터

  • 필수 메타데이터 - 세션을 만들려면 반드시 입력해야 합니다.
  • 선택적 메타데이터 - 향상된 정책에 대해 제공할 수 있습니다.
  • 표준 메타데이터 - 모든 응용 프로그램에서 사용할 수 있는 미리 정의된 필드입니다.
  • 사용자 지정 메타데이터 - 사용자가 정의하는 응용 프로그램별 필드

ID 및 인증 identity-and-authentication

ID 공급자(IdP)

ID 공급자​는 사용자를 인증하고 ID 정보를 제공하는 서비스입니다. Adobe Pass 통합에서 일반적으로 MVPD입니다.

IdP 예

  • 유선방송사(Comcast, Charter 등)
  • 위성 공급자(DirecTV, Dish)
  • 스트리밍 서비스(넷플릭스, 훌루)
  • 이동통신사(Verizon, AT&T)

제목

subject​은(는) ID 공급자 내의 사용자에 대한 고유 식별자입니다. 일반적으로 사용자의 계정 ID 또는 구독자 ID입니다.

세션 관리 session-management

하트비트

하트비트​는 세션을 활성 상태로 유지하는 정기 API 호출입니다. 시스템에 "이 사용자가 아직 보고 있습니다."라고 알립니다.

하트비트 요구 사항

  • 빈도 - 60초마다(권장)
  • 목적 - 세션 유지, 메타데이터 업데이트
  • 종료 - 하트비트가 중지되면 세션이 만료됩니다.

세션 종료

세션은 다음과 같은 여러 가지 방법으로 종료할 수 있습니다.

  1. 사용자가 시청 중지 - 응용 프로그램에서 DELETE 끝점을 호출합니다.
  2. 세션 만료 - 시간 제한 내에 받은 하트비트 없음
  3. 정책 위반 - 새 세션이 이전 세션(FIFO)을 종료합니다.
  4. 원격 종료 - 다른 장치가 세션을 종료합니다.

정책 평가 policy-evaluation

정책 작동 방식

  1. 사용자가 새 스트림을 요청
  2. 현재 사용량에 대해 정책을 평가합니다.
  3. 결정 - 허용 또는 거부
  4. 보낸 응답 - 성공 또는 충돌 정보

충돌 해결 conflict-resolution

충돌이란 무엇입니까?

사용자가 새 스트림을 시작하려고 하지만 제한을 초과할 경우 충돌​이 발생합니다.

충돌 응답

충돌이 발생하면 시스템은 세부 정보가 포함된 409 충돌 응답을 반환합니다.

{
  "status": "error",
  "error": {
    "code": "POLICY_VIOLATION",
    "message": "Concurrent usage limit exceeded"
  },
  "evaluationResult": {
    "decision": "DENY",
    "associatedAdvice": [
      {
        "adviceType": "rule-violation",
        "attributes": {
          "rule": "max_streams",
          "threshold": 3,
          "current": 4,
          "conflicts": [
            {
              "sessionId": "session-123",
              "terminationCode": "term-456",
              "metadata": {...}
            }
          ]
        }
      }
    ]
  }
}

해결 전략

LIFO(마지막 입력, 첫 번째 출력)

  • 이전 세션이 보호됨
  • 새 세션이 차단됨
  • 간단한 UI
  • 확장된 보기에 더 좋음

FIFO(선입선출)

  • 새 세션이 기존 세션을 종료합니다.1}
  • 사용자가 중지할 세션을 선택합니다
  • 더 복잡한 UI 필요
  • 콘텐츠 전환 개선

애플리케이션 및 테넌트 applications-and-tenants

애플리케이션

application​은(는) 동시 모니터링과 통합되는 소프트웨어 프로그램입니다. 각 애플리케이션에는 고유한 ID가 있으며 자체 정책이 있을 수 있습니다.

애플리케이션 예

  • 모바일 앱(iOS/Android)
  • 웹 애플리케이션
  • 스마트 TV 앱
  • 셋톱 박스 애플리케이션

임차인

tenant​은(는) 하나 이상의 응용 프로그램을 소유하고 있는 조직입니다. 테넌트는 애플리케이션 간에 정책을 공유할 수 있습니다.

임차인 구조

Tenant: "Streaming Company"
├── Application: "Mobile App"
├── Application: "Web App"
└── Application: "TV App"

환경 environments

스테이징 환경

  • 목적 - 개발 및 테스트
  • URL - https://streams-stage.adobeprimetime.com/v2/
  • 자격 증명 - 응용 프로그램 ID 테스트
  • 데이터 - 테스트 데이터만

프로덕션 환경

  • 목적 - 라이브 사용자 트래픽
  • URL - https://streams.adobeprimetime.com/v2/
  • 자격 증명 - 프로덕션 응용 프로그램 ID
  • 데이터 - 실제 사용자 데이터

통합 플로우 integration-flow

기본 흐름

  1. 사용자 인증 - Adobe Pass으로 인증
  2. 세션 만들기 - 사용자 메타데이터로 CM 세션 만들기
  3. 하트비트 관리 - 정기 하트비트를 보냅니다.
  4. 세션 종료 - 사용자가 시청을 중단하면 종료

오류 처리

  1. 404 찾을 수 없음 - CM 서비스에서 생성되지 않은 세션 ID의 요청을 처리합니다.
  2. 409개 충돌 - 정책 위반 처리
  3. 410 없어짐 - 세션 종료를 처리합니다.
  4. 네트워크 오류 - 연결 문제 처리
  5. 인증 오류 - 자격 증명 문제를 처리합니다.

공통 용어 common-terminology

용어
정의
세션
활성 비디오 스트리밍 인스턴스
정책
사용 제한을 정의하는 비즈니스 규칙
메타데이터
세션에 대한 컨텍스트 정보
IDP
ID 공급자(인증 서비스)
제목
IDP 내의 사용자 식별자
하트비트
세션을 활성 상태로 유지하기 위한 주기적 호출
충돌
새 스트림을 시작할 때 정책 위반
LIFO
마지막 입력, 선입 충돌 해결
FIFO
첫 번째 입력, 첫 번째 출력 충돌 해결
테넌트
애플리케이션 소유 조직
응용 프로그램
CM을 이용한 소프트웨어 프로그램
recommendation-more-help
42139a1e-84f9-43e7-9581-d6e1d65973da