主要な概念 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"
    }
  ]
}

メタデータ

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

メタデータカテゴリー

カテゴリ
例
目的
デバイス
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)
  • ストリーミングサービス(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 アプリケーション
  • スマートテレビアプリ
  • セットトップボックスアプリケーション

テナント

テナント​は、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
  • データ – 実際のユーザーデータ

統合フロー integration-flow

基本フロー

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

エラー処理

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

一般的な用語 common-terminology

条件
定義
セッション
アクティブ動画ストリーミングインスタンス
ポリシー
使用制限を定義するビジネスルール
メタデータ
セッションに関するコンテキスト情報
IDP
ID プロバイダー(認証サービス)
件名
IDP内のユーザーID
ハートビート
セッションをアクティブに保つための定期呼び出し
競合
新しいストリームを開始する際のポリシー違反
LIFO
後入れ先出し競合の解決
FIFO
先入れ先出し競合解決
テナント
アプリケーションを所有する組織
アプリケーション
CMを使用したソフトウェアプログラム
recommendation-more-help
pass-help-concurrency-monitoring