主要な概念 key-concepts

実装を成功させるためには、同時実行性モニタリングの中心概念を理解することが不可欠です。 このガイドでは、基本的な構成要素と、それらが連携する仕組みについて説明します。

中心概念 core-concepts

セッション

セッション は、アクティブなビデオストリーミングインスタンスを表します。 ユーザーがコンテンツを視聴できる「チケット」と考えてください。

セッションライフサイクル

  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"
    }
  ]
}

メタデータ

メタデータ は、各セッションに関するコンテキストを提供します。 デバイス、コンテンツ、ユーザー、アプリケーションに関する情報も含まれます。

メタデータカテゴリ

カテゴリ
目的
デバイス
deviceIddeviceTypeosName
デバイスの識別と分類
コンテンツ
channelcontentTypeassetId
監視の対象を記述
ユーザー
subject, subscriptionTier
ユーザー固有の情報
適用
applicationName, applicationPlatform
アプリ固有の詳細
場所
country, hba
地理的情報とネットワーク情報

必須メタデータとオプションメタデータ

  • 必須メタデータ - セッションを作成するために指定する必要があります
  • オプションのメタデータ - ポリシーを強化するために提供できます
  • 標準メタデータ – すべてのアプリケーションで使用できる定義済みのフィールド
  • カスタムメタデータ – 定義したアプリケーション固有のフィールド

ID と認証 identity-and-authentication

ID プロバイダー(IdP)

ID プロバイダー は、ユーザーを認証し、ユーザーの ID 情報を提供するサービスです。 Adobe Pass統合では、通常、これはMVPDです。

IdP の例

  • ケーブル会社(Comcast、Charter など)
  • 衛星放送事業者(DirecTV、Dish)
  • ストリーミングサービス(Netflix、Hulu)
  • 携帯電話会社(Verizon、AT&T)

件名

件名 は、ID プロバイダー内のユーザーの一意の ID です。 これは、通常、ユーザーのアカウント ID または購読者 ID です。

セッション管理 session-management

ハートビート

ハートビート は、セッションをアクティブに保つ定期的な API 呼び出しです。 彼らはシステムに「このユーザーはまだ見ています」と言います。

ハートビートの要件

  • 頻度 - 60 秒ごと(推奨)
  • 目的 - セッションを維持し、メタデータを更新する
  • 終了 - ハートビートが停止するとセッションが期限切れになる

セッション終了

セッションは、いくつかの方法で終了できます。

  1. ユーザーが視聴を停止 - アプリケーションがDELETE エンドポイントを呼び出す
  2. セッションの有効期限 - タイムアウト内にハートビートを受信しない
  3. ポリシー違反 – 新しいセッションが古いセッションを終了する(FIFO)
  4. リモート終了 – 別のデバイスがセッションを終了します

ポリシーの評価 policy-evaluation

ポリシーの仕組み

  1. ユーザーが新しいストリームをリクエスト
  2. 現在の使用状況に照らして システムがポリシーを評価
  3. 決定あり – 許可または拒否
  4. 応答送信 – 成功または競合に関する情報

競合の解決 conflict-resolution

競合とは

競合 は、ユーザーが新しいストリームを開始しようとして、制限を超えた場合に発生します。

競合応答

競合が発生すると、システムは 409 Conflict 応答と詳細な情報を返します。

{
  "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 (先入れ先出し)

  • 新規セッションは既存のセッションを終了します
  • 停止するセッションをユーザーが選択
  • より複雑な UI が必要
  • コンテンツ切り替えへの対応

アプリケーションとテナント applications-and-tenants

用途

アプリケーション は、同時実行性監視と統合されるソフトウェアプログラムです。 各アプリケーションには一意の ID があり、独自のポリシーを持つことができます。

アプリケーション例

  • モバイルアプリ(iOS/Android)
  • Web アプリケーション
  • スマート TV アプリ
  • セットトップボックスアプリケーション

テナント

テナント は、1 つ以上のアプリケーションを所有する組織です。 テナントは、アプリケーション間でポリシーを共有できます。

テナントの構造

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
  • Data – 実際のユーザーデータ

統合フロー integration-flow

基本フロー

  1. ユーザー認証 - Adobe Passでの認証
  2. セッションの作成 - ユーザーメタデータを使用して CM セッションを作成します
  3. ハートビート管理 – 定期的なハートビートの送信
  4. セッション終了 - ユーザーが視聴を停止したときに終了します

エラー処理

  1. 404 Not Found - CM サービスによって生成されなかったセッション ID を持つ要求を処理します
  2. 409 競合 - ポリシー違反を処理します。
  3. 410 終了 - セッション終了の処理
  4. ネットワークエラー – 接続の問題を処理します
  5. 認証エラー – 資格情報の問題を処理します

一般的な用語 common-terminology

用語
定義
セッション
アクティブなビデオストリーミングインスタンス
ポリシー
使用制限を定義するビジネス・ルール
メタデータ
セッションに関するコンテキストデータ
IDP
ID プロバイダー(認証サービス)
件名
IDP 内のユーザー識別子
ハートビート
セッションをアクティブに保つための定期的な呼び出し
競合
新しいストリームの開始時にポリシー違反が発生しました
LIFO
後入れ先出しの競合解決
FIFO
先入れ先出しの競合解決
テナント
組織所有アプリケーション
適用
CM を使用したソフトウェア プログラム
recommendation-more-help
42139a1e-84f9-43e7-9581-d6e1d65973da