主要な概念 key-concepts
実装を成功させるためには、同時実行性モニタリングの中心概念を理解することが不可欠です。 このガイドでは、基本的な構成要素と、それらが連携する仕組みについて説明します。
中心概念 core-concepts
セッション
セッション は、アクティブなビデオストリーミングインスタンスを表します。 ユーザーがコンテンツを視聴できる「チケット」と考えてください。
セッションライフサイクル
- 作成 - ユーザーがコンテンツの視聴を開始したとき
- アクティブ - ユーザーのウォッチ中(ハートビートで維持)
- 終了 - ユーザーが視聴を停止したり、セッションが期限切れになったりしたとき
セッションのプロパティ
{
"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 秒ごと(推奨)
- 目的 - セッションを維持し、メタデータを更新する
- 終了 - ハートビートが停止するとセッションが期限切れになる
セッション終了
セッションは、いくつかの方法で終了できます。
- ユーザーが視聴を停止 - アプリケーションがDELETE エンドポイントを呼び出す
- セッションの有効期限 - タイムアウト内にハートビートを受信しない
- ポリシー違反 – 新しいセッションが古いセッションを終了する(FIFO)
- リモート終了 – 別のデバイスがセッションを終了します
ポリシーの評価 policy-evaluation
ポリシーの仕組み
- ユーザーが新しいストリームをリクエスト
- 現在の使用状況に照らして システムがポリシーを評価
- 決定あり – 許可または拒否
- 応答送信 – 成功または競合に関する情報
競合の解決 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
基本フロー
- ユーザー認証 - Adobe Passでの認証
- セッションの作成 - ユーザーメタデータを使用して CM セッションを作成します
- ハートビート管理 – 定期的なハートビートの送信
- セッション終了 - ユーザーが視聴を停止したときに終了します
エラー処理
- 404 Not Found - CM サービスによって生成されなかったセッション ID を持つ要求を処理します
- 409 競合 - ポリシー違反を処理します。
- 410 終了 - セッション終了の処理
- ネットワークエラー – 接続の問題を処理します
- 認証エラー – 資格情報の問題を処理します
一般的な用語 common-terminology
用語
定義
セッション
アクティブなビデオストリーミングインスタンス
ポリシー
使用制限を定義するビジネス・ルール
メタデータ
セッションに関するコンテキストデータ
IDP
ID プロバイダー(認証サービス)
件名
IDP 内のユーザー識別子
ハートビート
セッションをアクティブに保つための定期的な呼び出し
競合
新しいストリームの開始時にポリシー違反が発生しました
LIFO
後入れ先出しの競合解決
FIFO
先入れ先出しの競合解決
テナント
組織所有アプリケーション
適用
CM を使用したソフトウェア プログラム
recommendation-more-help
42139a1e-84f9-43e7-9581-d6e1d65973da