JP2024508595A - 分散コンピューティングシステムにおいてクライアントデバイスの信用を評価するためのシステムおよび方法 - Google Patents
分散コンピューティングシステムにおいてクライアントデバイスの信用を評価するためのシステムおよび方法 Download PDFInfo
- Publication number
- JP2024508595A JP2024508595A JP2023541340A JP2023541340A JP2024508595A JP 2024508595 A JP2024508595 A JP 2024508595A JP 2023541340 A JP2023541340 A JP 2023541340A JP 2023541340 A JP2023541340 A JP 2023541340A JP 2024508595 A JP2024508595 A JP 2024508595A
- Authority
- JP
- Japan
- Prior art keywords
- content
- client device
- request
- user
- cdn
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 50
- 230000004044 response Effects 0.000 claims abstract description 73
- 238000012545 processing Methods 0.000 claims abstract description 47
- 238000009826 distribution Methods 0.000 claims abstract description 36
- 230000000694 effects Effects 0.000 claims description 13
- 235000014510 cooky Nutrition 0.000 claims description 10
- 230000006870 function Effects 0.000 claims description 9
- 238000010801 machine learning Methods 0.000 claims description 7
- 238000013475 authorization Methods 0.000 description 75
- 238000003860 storage Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 8
- 238000012549 training Methods 0.000 description 6
- 230000009471 action Effects 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000012795 verification Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000037406 food intake Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000011002 quantification Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/835—Generation of protective data, e.g. certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
- H04L9/3255—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using group based signatures, e.g. ring or threshold signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/258—Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
- H04N21/25866—Management of end-user data
- H04N21/25875—Management of end-user data involving end-user authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/01—Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/102—Entity profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/251—Learning process for intelligent management, e.g. learning user preferences for recommending movies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/254—Management at additional data server, e.g. shopping server, rights management server
- H04N21/2541—Rights Management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/258—Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
- H04N21/25866—Management of end-user data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/442—Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
- H04N21/44204—Monitoring of content usage, e.g. the number of times a movie has been viewed, copied or the amount which has been watched
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/65—Transmission of management data between client and server
- H04N21/658—Transmission by the client directed to the server
- H04N21/6581—Reference data, e.g. a movie identifier for ordering a movie or a product identifier in a home shopping application
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/858—Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
- H04N21/8586—Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot by using a URL
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/60—Context-dependent security
- H04W12/66—Trust-dependent, e.g. using trust scores or trust relationships
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Computer Graphics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Computational Linguistics (AREA)
- Computer Hardware Design (AREA)
- Information Transfer Between Computers (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
方法が、コンテンツ共有プラットフォームの処理デバイスによって、クライアントデバイスから所望のコンテンツの要求を受信するステップであって、コンテンツが、コンテンツ配信ネットワーク(CDN)に記憶されている、ステップを含む。方法は、コンテンツ共有プラットフォームにとって利用可能なデータに基づいて、クライアントデバイスに関連する部分的信用測定基準を生成するステップであって、部分的信用測定基準が、クライアントデバイスによる所望のコンテンツへのアクセスに関する判断を行うためにCDNサーバによって使用されることになる、ステップをさらに含む。方法は、コンテンツ要求に対する応答を生成するステップであって、応答が、CDN内の所望のコンテンツにアクセスするための1つまたは複数のリソースロケータ、および部分的信用測定基準を含む、ステップをさらに含む。方法は、クライアントデバイスがリソースロケータおよび部分的信用測定基準を使用してCDNサーバからの所望のコンテンツを要求することを可能にするために、クライアントデバイスに応答を送信するステップをさらに含む。
Description
本開示の態様および実施形態は、コンテンツ共有プラットフォームに関し、より詳細には、分散コンピューティングシステムにおいてクライアントデバイスの信用を評価することに関する。
インターネットを介して接続するコンテンツ配信プラットフォームは、ユーザが互いにつながり、情報を共有することを可能にする。多くのコンテンツ配信プラットフォームは、ユーザがビデオアイテム、画像アイテム、オーディオアイテムなどのコンテンツをアップロードし、閲覧し、共有することを可能にするコンテンツ共有の態様を含む。コンテンツ配信プラットフォームのその他のユーザは、共有されたコンテンツにコメントし、新しいコンテンツを発見し、更新を特定し、コンテンツを共有し、提供されたコンテンツとそれ以外の方法でインタラクションする可能性がある。共有されるコンテンツは、プロのコンテンツ制作者からのコンテンツ、たとえば、ムービークリップ、TVクリップ、およびミュージックビデオアイテム、ならびにアマチュアのコンテンツ制作者からのコンテンツ、たとえば、ビデオブログ、および短いオリジナルビデオアイテムを含む可能性がある。
本開示の態様は、コンテンツ共有プラットフォームの処理デバイスによって、クライアントデバイスから所望のコンテンツの要求を受信するステップであって、コンテンツが、コンテンツ配信ネットワーク(CDN)に記憶されている、ステップと、コンテンツ共有プラットフォームにとって利用可能なデータに基づいて、クライアントデバイスに関連する部分的信用測定基準(partial trust metric)を生成するステップであって、部分的信用測定基準が、クライアントデバイスによる所望のコンテンツへのアクセスに関する判断を行うためにCDNサーバによって使用されることになる、ステップと、コンテンツ要求に対する応答を生成するステップであって、応答が、CDN内の所望のコンテンツにアクセスするための1つまたは複数のリソースロケータ、および部分的信用測定基準を含む、ステップと、クライアントデバイスが1つまたは複数のリソースロケータおよび部分的信用測定基準を使用してCDNサーバからの所望のコンテンツを要求することを可能にするために、クライアントデバイスに応答を送信するステップとを含む方法を提供する。
本開示のさらなる態様は、メモリと、メモリに結合された処理デバイスであって、コンテンツ共有プラットフォームの処理デバイスによって、クライアントデバイスから所望のコンテンツの要求を受信することであって、コンテンツが、コンテンツ配信ネットワーク(CDN)に記憶されている、受信すること、コンテンツ共有プラットフォームにとって利用可能なデータに基づいて、クライアントデバイスに関連する信用パッケージ(trust package)を生成することであって、信用パッケージが、クライアントデバイスによる所望のコンテンツへのアクセスに関する判断を行うためにCDNサーバによって使用されることになる、生成すること、コンテンツ要求に対する応答を生成することであって、応答が、CDN内の所望のコンテンツにアクセスするための1つまたは複数のリソースロケータ、および信用パッケージを含む、生成すること、ならびにクライアントデバイスが1つまたは複数のリソースロケータおよび信用パッケージを使用してCDNサーバからの所望のコンテンツを要求することを可能にするために、クライアントデバイスに応答を送信することを行うための、処理デバイスとを含むシステムを提供する。
本開示のさらなる態様は、処理デバイスによる実行に応じて処理デバイスに本明細書において説明されるいずれかの態様または実施形態による方法を含む動作を実行させる命令を含む(必ずしも非一時的方法のために記憶されることなくダウンロードされ得る有形のコンピュータ可読媒体またはソフトウェア製品などの)コンピュータプログラム製品を提供する。
本開示の態様および実施形態は、本開示の様々な態様および実施形態の下で与えられる詳細な説明および添付の図面からより完全に理解されるが、それらは、本開示を特定の態様または実施形態に限定すると受け取られるべきでなく、説明および理解を目的とする。
コンテンツ共有プラットフォーム(本明細書においては「コンテンツ配信プラットフォーム」とも呼ばれる)は、クライアントデバイスを介してユーザにビデオアイテム、オーディオアイテム、またはゲームアイテムなどのコンテンツを提案する(offer)可能性がある。ユーザは、コンテンツ共有プラットフォームにアクセスし、コンテンツをアップロードするおよび/または消費するためにコンテンツ共有プラットフォームに関連するユーザアカウントにログインする可能性がある。コンテンツ共有プラットフォームは、コンテンツを記憶し、コンテンツをクライアントデバイスに提供するためにコンテンツ配布ネットワーク(CDN: content distribution network)(本明細書においては「コンテンツ配信ネットワーク」とも呼ばれる)を使用する場合がある。CDNは、コンテンツの配信の高い可用性および高い性能を提供するために一緒に働くサーバの地理的に分散されたネットワークを含み得る。たとえば、クライアントデバイスAと同じ地理的近傍にあるCDNのサーバAが、クライアントデバイスAにコンテンツを配信するために選択され得る。サーバAによって配信されるコンテンツは、クライアントデバイスAと同じ地理的近傍にない別のサーバ、CDNのサーバBよりも迅速にクライアントデバイスAに配信され得る。
一部のシステムにおいて、ユーザは、クライアントデバイス上のメディアプレイヤー(たとえば、モバイルアプリケーション、ウェブブラウザなど)を介して、コンテンツ共有プラットフォームからのコンテンツを要求することができる。コンテンツ共有プラットフォームは、認可サービスを使用して、ユーザが要求されたコンテンツにアクセスするパーミッションを有するかどうかを決定するためにユーザに関連するユーザアカウントを認可し得る。ユーザアカウントがコンテンツにアクセスすることを認可される場合、コンテンツ共有プラットフォームは、CDNから要求されたコンテンツを取得するためにクライアントデバイスによって使用され得る1つまたは複数のリソースロケータ(たとえば、ユニフォームリソースロケータ(URL))を生成することができる。たとえば、コンテンツ共有プラットフォームは、URLを生成し、それらのURLをクライアントデバイスに送信することができ、クライアントデバイスは、URLを使用してCDNからの所望のコンテンツを要求することができる。
しかし、場合によっては、ユーザは、未認可のメディアプレイヤー(たとえば、オーバーレイアプリケーション(overlay application)、サードパーティのメディアプレイヤー、修正されたメディアプレイヤーなど)を使用して、CDNからのコンテンツにアクセスし、受信されたコンテンツに対して未認可の機能を実行し得る。たとえば、未認可のメディアプレイヤーは、コンテンツ共有プラットフォームによって禁止され得る特徴である、受信されたコンテンツをローカルストレージ媒体にダウンロードすることが可能であり得る。その他の場合、ユーザは、認可されたメディアプレイヤーを使用してコンテンツ共有プラットフォームからのURLを要求し、それから、未認可のメディアプレイヤーを使用してCDNからのコンテンツを要求するためにURLを使用することによって、コンテンツ共有プラットフォームおよびCDNをだますことができる。そのようなだましは、セキュリティ上の理由で、コンテンツ共有プラットフォームが、(コンテンツ共有プラットフォームの高度に特権化されたコアサービスよりもセキュリティ侵害に弱い可能性がある)CDNと、ユーザアカウント情報、検証プロトコルなどに関するデータを共有しないことを望む場合があり、したがって、CDNが、コンテンツの要求を送信するクライアントデバイスの信用性を正確に評価することができない場合があるから可能である場合がある。
したがって、現在のシステムにおいて、未認可のメディアプレイヤーからのコンテンツ要求を特定することは困難である。これは、コンテンツ共有プラットフォームおよび/またはCDNが、要求されたコンテンツにアクセスするパーミッションを未認可のメディアプレイヤーに誤って与える原因となり、未認可のメディアプレイヤーが受信されたコンテンツに対して未認可の機能を実行することにつながり得る。
本開示の態様および実装は、クライアントデバイスの信用性(たとえば、真正性)を決定するためにCDNにより使用するための部分的信用測定基準をコンテンツ共有プラットフォームが生成することを可能にすることによって、既存のテクノロジーのこれらのおよびその他の欠点に対処する。例示的な実施形態においては、クライアントデバイスからのコンテンツの要求の受信に応答して、コンテンツ共有プラットフォームが、クライアントデバイスの部分的信用測定基準を生成することができる。部分的信用測定基準は、クライアントデバイス、クライアントデバイスによって使用されるメディアプレイヤー、またはユーザに関連するユーザアカウントの真正性をCDNに示すために使用される任意のスコア、インジケータ、またはその他の種類の定量化可能な尺度であることが可能である。特に、部分的信用測定基準は、コンテンツ共有プラットフォームにとって利用可能なデータに基づいて作成することが可能であり、サードパーティのメディアプレイヤー、ボット、サーバファームの未認可のエンティティなどの未認可のエンティティとは対照的に、ユーザ、メディアプレイヤー、および/またはクライアントデバイスが要求されたコンテンツにアクセスすることを認可される見込み(likelihood)をCDNに示すために使用されることが可能である。部分的信用測定基準を作成するために使用されるデータは、クライアントデバイス、ユーザアカウント、メディアプレイヤー、またはそれらの任意の組合せに関連する要因を含み得る。一部の実施形態において、要因は、ユーザの視聴履歴、ユーザが以前にコンテンツを見たかどうか、クライアントデバイスが以前にコンテンツを成功裏に復号したかどうか、ユーザがログインしているかどうか、ユーザが未認可の活動に関与したことがあるまたは関与した疑いがあるかどうか、クライアントデバイスのIPアドレス、クライアントデバイスに関連する暗号化ログなどを含み得る。一部の実施形態において、コンテンツ共有プラットフォームは、ヒューリスティックな手法、機械学習の手法、またはその他の手法を使用することによって部分的信用測定基準を生成することができる。
それから、コンテンツ共有プラットフォームは、クライアントデバイスがCDNからの所望のコンテンツを要求することを可能にするための1つまたは複数のリソースロケータ(たとえば、ユニフォームリソースロケータ(URL))を生成することができる。コンテンツ共有プラットフォームは、リソースロケータに部分的信用測定基準を付加し、結果として得られる応答にデジタル署名をすることができる。デジタル署名は、データがどのように提供されるべきかをCDNに示すために使用される署名されたパラメータ(たとえば、リソースロケータおよび/または部分的信用測定基準の使用がいつ期限切れになるべきかを示す有効期限パラメータ、要求されたコンテンツを配信するためのビットレートパラメータ、コンテンツ要求のために作成され、コンテンツ要求に関連付けられた再生イベントの識別子など)に基づき得る。クライアントデバイスは、コンテンツ共有プラットフォームから受信されたリソースロケータおよび部分的信用測定基準を使用して、CDNサーバからのコンテンツを要求することができる。
クライアントデバイスからリソースロケータおよび部分的信用測定基準をともなう要求の受信に応答して、CDNサーバは、部分的信用測定基準に基づいてクライアントデバイスの信用ステータスを決定することができる。クライアントデバイスの信用ステータスは、要求されたコンテンツをユーザに提供するべきかどうかを判定するためにCDNによって使用される任意の種類のインジケータであることが可能である。一部の実施形態において、CDNは、部分的信用測定基準と、(CDNにとって利用可能な情報に基づいて)CDNによって特定された1つまたは複数の追加的要因とを使用して、最終的な信用測定基準を取得し、最終的な信用測定基準を1つまたは複数の閾値と比較して、クライアントデバイスの信用ステータス(たとえば、高信頼性、中信頼性、低信頼性)を決定することができる。比較に基づいて、CDNは、要求されたコンテンツの解像度を(たとえば、高解像度から標準解像度に)下げるかまたはそれに上限を設けること、フレームレートを下げるかまたはそれに上限を設けることなどが可能である。
一部の実施形態においては、コンテンツ共有プラットフォームが所望のコンテンツに関して複数のリソースロケータを提供する場合、クライアントデバイスは、各リソースロケータに関してCDNサーバに別々の要求を送信し、コンテンツ共有プラットフォームから受信された部分的信用測定基準をこれらの要求の各々に含める。各要求に含まれる部分的信用測定基準に基づいて、CDNサーバは、所望のコンテンツの複数の要求(たとえば、特定のビデオの一部の複数の要求)のすべてが信用できるメディアプレイヤーからのものであることを保証し、それによって、所望のコンテンツの最初の部分を取得するために認可されたメディアプレイヤーを使用し、その後、所望のコンテンツの残りの部分のために未認可のプレイヤーに切り替える可能性がある悪意のあるユーザから保護することができる。
一部の実施形態においては、クライアントデバイスに部分的信用測定基準を提供するのではなく(またはそれに加えて)、コンテンツ共有プラットフォームは、たとえば、ユーザがログインしているかどうか、コンテンツを要求するためにユーザによって使用されたブラウザの種類、クライアントデバイスの地理的位置、クライアントデバイスのIPアドレスなどを示す複数の特性を含む信用パッケージを提供することができる。CDNサーバからのコンテンツを要求するとき、クライアントデバイスは、信用パッケージをCDNサーバに提供することができ、そのとき、CDNサーバは、信用パッケージからの特性(および一部の実施形態においてはCDNサーバがローカルで利用可能な情報)を使用して、要求されたコンテンツをユーザに提供するかどうかを判定することができる。
本開示の態様は、クライアントデバイスのメディアプレイヤーの改善された実行、CDNによって記憶されるコンテンツの改善されたセキュリティ、ユーザデータの改善されたセキュリティ、およびコンテンツ共有プラットフォームの実行全体の改善されたセキュリティにおける技術的な利点をもたらす。特に、本開示の態様は、コンテンツ共有プラットフォームおよびCDNが、ユーザを長時間の検証技術に関連するレイテンシにさらすことなく、コンテンツを要求するメディアプレイヤーの真正性を検証することを可能にする。したがって、本明細書に開示されるテクノロジーは、ユーザが安定した中断のない視聴体験をすることを可能にする。さらに、本開示の態様は、部分的信用尺度(partial trust measure)を生成するために使用されるコンテンツ共有プラットフォームの高度に保護されたコアサービスに知られている情報に(外部からの攻撃に弱い場合がある)CDNを触れさせない不透明な部分的信用尺度に基づいてユーザアカウントおよび/またはクライアントデバイスをCDNが検証することを可能にする。さらに、本明細書において開示されるテクノロジーは、要求されたコンテンツの配信のためにCDNが認可を実行することを可能にすることによってコンテンツ共有プラットフォームによる計算、メモリ、および帯域幅リソースの消費を削減することを含み得る。
本開示の実装は、簡単および簡潔にするためにビデオを参照することが多い。しかし、本開示の教示は、メディアアイテムに広く適用され、たとえば、ビデオ、オーディオ、テキスト、画像、プログラム命令などを含む様々な種類のコンテンツに適用されてよい。
図1は、本開示の1つの実装による例示的なシステムアーキテクチャ100を示す。システムアーキテクチャ100(本明細書においては「システム」とも呼ばれる)は、コンテンツ共有プラットフォーム120(本明細書においては「コンテンツ配布プラットフォーム」とも呼ばれる)、データストア106、ネットワーク104に接続されたクライアントデバイス110A~110Z(本明細書においては全体的に「クライアントデバイス110」と呼ばれる)、およびコンテンツ配布ネットワーク(CDN)130(本明細書においては「コンテンツ配信ネットワーク」とも呼ばれる)を含む。CDN 130は、複数のサーバマシン132A~132Z(本明細書においては「サーバ132A~132Z」とも呼ばれる)を含む可能性がある。
ネットワーク104は、パブリックネットワーク(たとえば、インターネット)、プライベートネットワーク(たとえば、ローカルエリアネットワーク(LAN)もしくは広域ネットワーク(WAN))、有線ネットワーク(たとえば、イーサネットネットワーク)、ワイヤレスネットワーク(たとえば、802.11ネットワークもしくはWi-Fiネットワーク)、セルラネットワーク(たとえば、ロングタームエボリューション(LTE)ネットワーク)、ルータ、ハブ、スイッチ、サーバコンピュータ、および/またはこれらの組合せを含む可能性がある。
データストア106は、(メディアアイテムなどの)コンテンツアイテムおよびコンテンツアイテムをタグ付けし、編成し、インデックス付けするデータ構造を記憶することができる永続的なストレージである可能性がある。データストア106は、メインメモリ、磁気または光ストレージに基づくディスク、テープまたはハードドライブ、NAS、SANなどの1つまたは複数のストレージデバイスによってホストされる可能性がある。一部の実施形態において、データストア106は、ネットワークアタッチトファイルサーバ(network-attached file server)である可能性があり、一方、その他の実施形態において、データストア106は、コンテンツ共有プラットフォーム120またはコンテンツ共有プラットフォーム120に結合された1つもしくは複数の異なるマシンによってホストされる可能性があるオブジェクト指向データベース、リレーショナルデータベースなどの何らかのその他の種類の永続的なストレージである可能性がある。一部の実施形態において、データストア106は、ネットワーク104を介してコンテンツ共有プラットフォーム120に結合されてよい。
クライアントデバイス110A~110Zは、それぞれ、パーソナルコンピュータ(PC)、ラップトップ、モバイル電話、スマートフォン、タブレットコンピュータ、ネットブックコンピュータ、ネットワークに接続されたテレビなどのコンピューティングデバイスを含む可能性がある。一部の実施形態において、クライアントデバイス110A~110Zは、「ユーザデバイス」とも呼ばれる可能性がある。一部の実施形態において、各クライアントデバイス110A~110Zは、メディアプレイヤー112(またはメディアビュワー)およびトークンモジュール114を含んでよい。一部の実施形態において、メディアプレイヤー112は、ユーザが画像、ビデオアイテム、ウェブページ、ドキュメント、オーディオアイテムなどのコンテンツを再生するか、閲覧するか、またはアップロードすることを可能にするアプリケーションであってよい。たとえば、メディアプレイヤー112は、ウェブサーバによって提供されるコンテンツ(たとえば、ハイパーテキストマークアップ言語(HTML)ページなどのウェブページ、デジタルメディアアイテムなど)にアクセスするか、それらのコンテンツを取り出すか、またはナビゲートすることができるウェブブラウザである可能性がある。メディアプレイヤー112は、ユーザに対してコンテンツ(たとえば、ウェブページ、メディアビュワー)をレンダリングするか、表示するか、または提示し得る。メディアプレイヤー112は、ウェブページ(たとえば、オンライン売買業者によって販売される製品についての情報を提供する可能性があるウェブページ)に埋め込まれる埋め込みメディアプレイヤー(たとえば、Flash(登録商標)プレイヤーまたはHTML5プレイヤー)も含み得る。別の例において、メディアプレイヤー112は、ユーザがデジタルメディアアイテム(たとえば、デジタルビデオアイテム、デジタル画像、電子ブックなど)を再生することを可能にするスタンドアロンのアプリケーション(たとえば、モバイルアプリケーションまたはネイティブアプリケーション)であり得る。本開示の態様によれば、メディアプレイヤー112は、ユーザがコンテンツ共有プラットフォーム上で共有するためにコンテンツを記録し、編集し、および/またはアップロードするためのコンテンツ共有プラットフォームアプリケーションであり得る。したがって、メディアプレイヤー112は、コンテンツ共有プラットフォーム120によってクライアントデバイス110A~110Zに提供され得る。たとえば、メディアプレイヤー112は、コンテンツ共有プラットフォーム120によって提供されるウェブページに埋め込まれる埋め込みメディアプレイヤーであり得る。別の例において、メディアプレイヤー112は、コンテンツ共有プラットフォーム120からダウンロードされるアプリケーションである可能性がある。
一部の実施形態において、コンテンツ共有プラットフォーム120および/またはサーバマシン132A~132Zは、ユーザにメディアアイテムへのアクセスを提供するかまたはユーザにメディアアイテムを提供するために使用されてよい(ラックマウントサーバ、ルータコンピュータ、サーバコンピュータ、パーソナルコンピュータ、メインフレームコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、デスクトップコンピュータなどの)1つまたは複数のコンピューティングデバイス、データストア(たとえば、ハードディスク、メモリ、データベース)、ネットワーク、ソフトウェア構成要素、またはハードウェア構成要素である場合がある。たとえば、コンテンツ共有プラットフォーム120は、ユーザがメディアアイテムを消費するか、アップロードするか、検索するか、賛成する(「いいね!する」)か、不賛成する(「ひどいね!する」)か、またはコメントすることを可能にする可能性がある。コンテンツ共有プラットフォーム120は、ユーザにメディアアイテムへのアクセスを提供するために使用される可能性があるウェブサイト(たとえば、ウェブページ)またはアプリケーションバックエンドソフトウェアを含む可能性もある。
本開示の一部の実施形態において、「ユーザ」は、1人の個人として表される可能性がある。しかし、本開示のその他の実施形態は、「ユーザ」が1組のユーザによって制御されるエンティティおよび/または自動化されたソースであることを包含する。たとえば、ソーシャルネットワーク内のコミュニティとして連合させられた1組の個人ユーザが、「ユーザ」とみなされる可能性がある。別の例においては、自動化された消費者が、コンテンツ共有プラットフォーム120のトピックチャンネル(topic channel)などの自動化された摂取パイプライン(ingestion pipeline)である可能性がある。
コンテンツ共有プラットフォーム120は、複数のチャンネル(たとえば、チャンネルAからZ、そのうちのチャンネルAのみが図1に示されている)を含み得る。チャンネルは、共通のソースから利用可能なデータコンテンツ、または共通の話題、テーマ、もしくは趣旨を有するデータコンテンツであることが可能である。データコンテンツは、ユーザによって選択されたデジタルコンテンツ、ユーザによって利用可能にされたデジタルコンテンツ、ユーザによってアップロードされたデジタルコンテンツ、コンテンツプロバイダによって選択されたデジタルコンテンツ、放送者によって選択されたデジタルコンテンツなどであることが可能である。たとえば、チャンネルXは、ビデオYおよびZを含み得る。チャンネルは、チャンネルに対して行為を実行することができるユーザである所有者に関連付けられ得る。異なる活動が、所有者がデジタルコンテンツをチャンネル上で利用可能にすること、所有者が別のチャンネルに関連するデジタルコンテンツを選択すること(たとえば、いいね!すること)、所有者が別のチャンネルに関連するデジタルコンテンツにコメントすることなどの所有者の行為に基づいてチャンネルに関連付けられ得る。チャンネルに関連する活動は、チャンネルに関する活動のフィードへとまとめられ得る。チャンネルの所有者以外のユーザは、それらのユーザが関心のある1つまたは複数のチャンネルを登録する(subscribe)ことができる。「登録する」という概念は、「いいね!する」、「フォローする」、「友達になる」とも呼ばれる可能性がある。
ユーザがチャンネルを登録すると、ユーザは、チャンネルの活動のフィードからの情報を提示され得る。ユーザが複数のチャンネルを登録する場合、ユーザが登録している各チャンネルに関する活動のフィードが、同時配信される(syndicated)活動のフィードへと組み合わされ得る。同時配信される活動のフィードからの情報は、ユーザに提示され得る。チャンネルは、独自のフィードを有する可能性がある。たとえば、コンテンツ共有プラットフォーム上のチャンネルのホームページにナビゲートするとき、そのチャンネルによって生成されたフィードアイテムが、チャンネルのホームページ上に示される可能性がある。ユーザは、ユーザが登録しているチャンネルのすべてからのコンテンツアイテムの少なくともサブセットを含むフィードである同時配信されるフィードを有する可能性がある。同時配信されるフィードは、ユーザが加入していないチャンネルからのコンテンツアイテムも含む可能性がある。たとえば、コンテンツ共有プラットフォーム120またはその他のソーシャルネットワークは、おすすめのコンテンツアイテムをユーザの同時配信されるフィードに挿入し得、またはユーザの関連するつながりに関連するコンテンツアイテムを同時配信されるフィードに挿入する可能性がある。
各チャンネルは、1つまたは複数のメディアアイテム122を含む可能性がある。メディアアイテム122の例は、デジタルビデオ、デジタルムービー、デジタル写真、デジタルミュージック、オーディオコンテンツ、メロディー、ウェブサイトコンテンツ、ソーシャルメディアの最新記事、電子ブック(eブック)、電子雑誌、デジタル新聞、デジタルオーディオブック、電子ジャーナル、ウェブブログ、リアルシンプルシンジケーション(RSS: real simple syndication)フィード、電子漫画、ソフトウェアアプリケーションなどを含み得るがこれらに限定されない。一部の実施形態において、メディアアイテム122は、コンテンツまたはコンテンツアイテムとも呼ばれる。
限定ではなく簡潔さおよび簡単さのために、ビデオアイテム、オーディオアイテム、またはゲームアイテムが、本明細書全体を通じてメディアアイテム122の例として使用される。本明細書において使用されるとき、「メディア」、「メディアアイテム」、「オンラインメディアアイテム」、「デジタルメディア」、「デジタルメディアアイテム」、「コンテンツ」、および「コンテンツアイテム」は、エンティティにデジタルメディアアイテムを提示するように構成されたソフトウェア、ファームウェア、またはハードウェアを使用して実行またはロードされることが可能な電子ファイルを含み得る。1つの実施形態において、コンテンツ共有プラットフォーム120は、データストア106を使用してメディアアイテム122を記憶する可能性がある。別の実施形態において、コンテンツ共有プラットフォーム120は、ビデオアイテムまたはフィンガープリントをデータストア106を使用して1つまたは複数のフォーマットの電子ファイルとして記憶し得る。
一部の実施形態において、メディアアイテム122は、ビデオアイテムである。ビデオアイテムは、動いているシーンを表す連続的なビデオフレーム(たとえば、画像フレーム)の組である。たとえば、一連の連続的なビデオフレームが、アニメーションを生成するために継続的に撮影されるかまたは後で再構築される可能性がある。ビデオアイテムは、アナログ、デジタル、2次元、および3次元のビデオを含むがこれらに限定されない様々なフォーマットで提示される可能性がある。さらに、ビデオアイテムは、ムービー、ビデオクリップ、または順に表示されるアニメーションされる画像の任意の組を含む可能性がある。加えて、ビデオアイテムは、ビデオ構成要素およびオーディオ構成要素を含むビデオファイルとして記憶される可能性がある。ビデオ構成要素は、ビデオコーディングフォーマットまたは画像コーディングフォーマット(たとえば、H.264(MPEG-4 AVC)、H.264 MPEG-4 Part 2、グラフィックインターチェンジフォーマット(GIF: Graphic Interchange Format)、WebPなど)のビデオデータを指す可能性がある。オーディオ構成要素は、オーディオコーディングフォーマット(たとえば、アドバンストオーディオコーディング(AAC: advanced audio coding)、MP3など)のオーディオデータを指す可能性がある。GIFが、画像ファイル(たとえば、.gifファイル)として保存されるかまたは一連の画像としてアニメーションされるGIF(たとえば、GIF89aフォーマット)に保存される可能性があることは留意されてよい。H.264が、たとえば、ビデオコンテンツの記録、圧縮、または配布のためのブロック指向の動き補償に基づくビデオ圧縮規格であるビデオコーディングフォーマットである可能性があることは留意されてよい。
一部の実施形態において、メディアアイテムは、クライアントデバイス110A~110Zのうちの1つまたは複数へのライブストリームなどでストリーミングされ得る。「ストリーミングされる」または「ストリーミングする」は、メディアアイテムの受信された部分が、(テクノロジーの制限内で)受信後直ちにまたはメディアコンテンツのその他の部分が配信されている間に、メディアアイテム全体が受信デバイスによって受信されることなしに受信デバイスによって再生される可能性がある、メディアアイテムなどのコンテンツの送信またはブロードキャストを指すことは留意される。「ストリーム」は、ストリーミングされるまたはストリーミングしているメディアアイテムなどのコンテンツを指す可能性がある。ライブストリームメディアアイテムは、メディアアイテムがイベントが行われるときに少なくとも部分的に同時に受信デバイスに送信され、メディアアイテムが丸々すべて利用可能なわけではない、ライブイベントのライブブロードキャストまたは送信を指す可能性がある。
一部の実施形態において、コンテンツ共有プラットフォーム120は、ユーザがメディアアイテムを含むプレイリスト(たとえば、メディアアイテム122を含むプレイリストA~Z)を作成するか、共有するか、閲覧するか、または使用し得る。プレイリストは、いかなるユーザインタラクションもなしに特定の順序で次々に再生されるように構成されるメディアアイテムの集合を指す。一部の実施形態においては、コンテンツ共有プラットフォーム120が、ユーザの代わりにプレイリストを保持する可能性がある。一部の実施形態において、コンテンツ共有プラットフォーム120のプレイリストの特徴は、ユーザがそれらのユーザの好きなメディアアイテムを再生するために単一の場所にまとめてグループ化することを可能にする。実施形態において、コンテンツ共有プラットフォーム120は、再生または表示するためにプレイリストのメディアアイテムをクライアントデバイス110に送信する可能性がある。たとえば、メディアビュワー112が、メディアアイテムがプレイリストに列挙されている順序でプレイリストのメディアアイテムを再生するために使用され得る。別の例において、ユーザは、プレイリストのメディアアイテムの間を遷移し得る。さらに別の例において、ユーザは、プレイリストの次のメディアアイテムが再生されるのを待つことができ、またはプレイリスト内の特定のメディアアイテムを再生のために選択し得る。
一部の実施形態において、ユーザは、ユーザアカウントを通じてコンテンツ共有プラットフォーム120にアクセスし得る。ユーザは、クライアントデバイス110上のアプリケーション(たとえば、メディアビュワー112)を介してユーザアカウント情報(たとえば、ユーザ名およびパスワード)を与えることによってユーザアカウントにアクセスし(たとえば、ログインする)得る。一部の実施形態において、ユーザアカウントは、単一のユーザに関連付けられる可能性がある。その他の実施形態において、ユーザアカウントは、共有されたアカウント(たとえば、複数のユーザによって共有される家族アカウント)(本明細書においては「共有されたユーザアカウント」とも呼ばれる)であり得る。共有されたアカウントは、それぞれが異なるユーザに関連する複数のユーザプロファイルを有し得る。複数のユーザは、同じアカウント情報または異なるアカウント情報を使用して共有されたアカウントにログインし得る。一部の実施形態において、共有されたアカウントの複数のユーザは、共有されたアカウントの異なるユーザプロファイルに基づいて区別される可能性がある。
一部の実施形態において、認可データサービス124(本明細書においては「コアデータサービス」または「認可データソース」とも呼ばれる)は、コンテンツ共有プラットフォーム120上のユーザアカウントに関連するデータにアクセスすることができ、このデータを使用して、ユーザアカウントが要求されたコンテンツを取得することを認可するべきかどうかを決定することができる高度に保護されたサービスである。一部の実施形態において、認可データサービス124は、要求されたコンテンツへのユーザアカウント(たとえば、ユーザアカウントに関連するクライアントデバイス)のアクセスを認可するか、クライアントデバイスへの要求されたコンテンツの配信を認可するか、またはそれら両方を行うことができる。ユーザアカウントが要求されたコンテンツにアクセスする認可は、どのコンテンツがアクセスされるかおよび誰がコンテンツにアクセスすることを許可されるかを認可することを含み得る。コンテンツの配信の認可は、コンテンツがどのように配信されるかを認可することを含み得る。
一部の実施形態において、認可データサービス124は、ユーザアカウント情報を使用してユーザアカウントを認可することができる。一部の実施形態においては、クライアントデバイス110またはメディアプレイヤー112に関連する認証トークンが、ユーザアカウントおよび/または要求されたコンテンツの再生を認可するべきかどうかを判定するために使用され得る。
一部の実施形態において、認可データサービス124は、コンテンツ共有プラットフォーム120の一部である。その他の実施形態において、認可データサービス124は、サードパーティによって提案される高度に安全な認可サービスなどの外部サービスであることが可能である。
上述のように、コンテンツ配布ネットワーク(CDN)130は、サーバマシン132A~132Z(本明細書においては全体的に「サーバマシン132」または「サーバ132」と呼ばれる)として表される1つまたは複数のノードを含み得る。実施形態において、コンテンツ配布ネットワーク130は、コンテンツの迅速な配信を行うために一緒に働くサーバの地理的に分散されたネットワークを含む。サーバのネットワークは、場合によってはクライアントデバイス110との近さに基づいてコンテンツまたはサービスを配布することによって高い可用性および高い性能を提供するために地理的に分散される。CDNサーバがクライアントデバイス110に近いほど、コンテンツはクライアントデバイス110により迅速に配信され得る。
たとえば、異なるサーバマシン132A~132Zが、特定の国の中でまたは異なる国にまたがって地理的に分散され得る。英国にあるクライアントデバイス110Aを使用するユーザAが、コンテンツ共有プラットフォーム120によってホストされるコンテンツを取得することを要求し得る。要求は、コンテンツ共有プラットフォーム120の認可データサービス124によって受信されることが可能であり、ユーザAに関連するユーザアカウントが、要求されたコンテンツを取得することを認可されることが可能である。認可の後、コンテンツ共有プラットフォーム120は、ユニフォームリソースロケータ(URL)などのリソースロケータをクライアントデバイス110Aに送信することができる。リソースロケータは、コンピュータネットワーク上のリソース(たとえば、コンテンツ)の位置またはアドレス、およびリソースを取り出すためのメカニズムを指定する参照を指し得る。リソースロケータは、クライアントデバイス110Aの地理的近傍にあるコンテンツ配布ネットワーク130のサーバマシン132からコンテンツを取得するようにクライアントデバイス110Aに指示し得る。たとえば、リソースロケータは、やはり英国にあるコンテンツ配布ネットワーク130の特定のサーバマシン132から要求されたコンテンツを取得するようにクライアントデバイス110Aに指示し得る。別の例において、米国の西海岸にあるクライアントデバイス110Bを使用する別のユーザBが、ユーザAと同じコンテンツを取得することを要求する。要求は、コンテンツ共有プラットフォーム120の認可データサービス124によって受信されることが可能であり、ユーザBに関連するユーザアカウントが、要求されたコンテンツを取得することを認可されることが可能である。認可の後、コンテンツ共有プラットフォーム120は、リソースロケータをクライアントデバイス110Bに送信することができる。リソースロケータは、クライアントデバイス110Bの地理的近傍にあるコンテンツ配布ネットワーク130のサーバマシン132からコンテンツを取得するようにクライアントデバイス110Bに指示し得る。たとえば、リソースロケータは、米国の西海岸にあるコンテンツ配布ネットワーク130のサーバマシン132から要求されたコンテンツを取得するようにクライアントデバイス110Bに指示し得る。
一部の実施形態において、コンテンツ配布ネットワーク130は、コンテンツ共有プラットフォーム120の一部である。その他の実施形態において、コンテンツ配布ネットワーク130は、コンテンツ共有プラットフォーム120にCDNサービスを提供するサードパーティプラットフォームである。その他の実施形態においては、コンテンツ配布ネットワーク130の一部が、コンテンツ共有プラットフォーム120によって運用されることが可能であり、コンテンツ配布ネットワーク130の別の部分が、サードパーティによって運用されることが可能である。実施形態において、コンテンツ配布ネットワーク130は、データストア134などのデータストアを含む。データストア134は、データストア106と同様であることが可能である。データストアは、メディアコンテンツなどのコンテンツに関するデータファイル136を含み得る。データストア106は、1つもしくは複数の公開鍵または1つもしくは複数の秘密鍵などの1つまたは複数の暗号鍵137も含み得る。
認可モジュール138が、CDN 130のサーバ132に含まれ得る。認可モジュール138は、本明細書において説明される本開示の態様を実行することができる。たとえば、認可モジュール138は、クライアントデバイスの信用ステータスを決定することができる。クライアントデバイスの信用ステータスは、要求されたコンテンツをユーザに解放するべきかどうかを判定するためにCDN 130によって使用される任意の種類のインジケータであることが可能である。本明細書においてより詳細に説明されるように、クライアントデバイスの信用ステータスは、部分的信用測定基準または信用パッケージに基づいて決定され得る。
概して、1つの実施形態においてコンテンツ共有プラットフォーム120および/またはコンテンツ配布ネットワーク130によって実行されるものとして説明される機能は、適切な場合、その他の実施形態においてクライアントデバイス110Aから110Z上で実行されることも可能である。加えて、特定の構成要素に帰せられる機能が、一緒に動作する異なるまたは複数の構成要素によって実行されることが可能である。コンテンツ共有プラットフォーム120またはコンテンツ配布ネットワーク130は、適切なアプリケーションプログラミングインターフェースを通じてその他のシステムまたはデバイスに提供されるサービスとしてアクセスされることも可能であり、したがって、ウェブサイトにおける使用に限定されない。
本開示の実施形態がコンテンツ共有プラットフォーム、およびコンテンツ共有プラットフォーム120上のコンテンツアイテムのソーシャルネットワークの共有を促進することの観点で検討されるが、実施形態は、概して、ユーザの間のつながりを提供する任意の種類のソーシャルネットワークまたはコンテンツ配信プラットフォームにも適用される可能性がある。本開示の実装は、チャンネルの登録をユーザに提供するコンテンツ共有プラットフォームに限定されない。
上の説明に加えて、ユーザは、本明細書において説明されるシステム、プログラム、または特徴がユーザ情報(たとえば、ユーザのソーシャルネットワーク、社会的行為、もしくは活動、職業、ユーザのプリファレンス、またはユーザの現在位置についての情報)の集合を有効化してよいかどうかといつ有効化してよいかとの両方、およびユーザがコンテンツまたは通信をサーバから送信されるかどうかについての選択をユーザが行うことを可能にするコントロールを提供される場合がある。さらに、特定のデータが、個人を特定できる情報が削除されるように、記憶されるかまたは使用される前に1つまたは複数の方法で処理される可能性がある。たとえば、ユーザのアイデンティティ(identity)が、個人を特定できる情報がユーザに関して決定されることが不可能であるか、または位置情報が取得される場合にユーザの地理的位置が(都市、郵便番号、もしくは州のレベルなどに)一般化される可能性があり、したがって、ユーザの特定の位置が決定されることが不可能であるように処理される可能性がある。したがって、ユーザは、どの情報がユーザについて収集されるか、その情報がどのように使用されるのか、およびどの情報がユーザに提供されるのかを制御することができてよい。
図2は、本開示の実施形態による、クライアントデバイスの信用を評価するための動作の図である。システム200は、図1のシステムアーキテクチャ100と同様の構成要素を含む可能性がある。図1の構成要素が図2を説明するのを助けるために使用される可能性があることは、留意されてよい。限定ではなく例示を目的として、システム200に関連する動作は、コンテンツ共有プラットフォーム120の認可データサービス124、コンテンツ配布ネットワーク130のサーバマシン132、またはクライアントデバイス110によって実行されるものとして説明されるが、そうでないことが説明されない限りそのシステム200の任意の構成要素によって実行される可能性がある。図2に関連して説明される動作は、限定ではなく例示のために順に実行されることが示される。動作が任意の順序で実行される可能性があることおよび動作のいずれかが1つまたは複数のその他の動作と同時に実行される可能性があることは、留意されてよい。一部の実装においては、同じ、異なる、より少ない、またはより多くの数の動作が、任意の順序で実行される可能性がある。
動作202において、コンテンツに関するユーザ入力に応答して、クライアントデバイス110は、コンテンツ共有プラットフォーム120の認可データサービス124にコンテンツを取得する要求を送信する。たとえば、クライアントデバイス110のユーザが、コンテンツ共有プラットフォーム120によってホストされるビデオアイテムを再生することを要求し得る。一部の実施形態において、ユーザは、ブラウザまたはネイティブアプリケーションなどのアプリケーションを使用してコンテンツ共有プラットフォーム120からのコンテンツを要求し得る。コンテンツは、コンテンツ配信ネットワークの1つまたは複数のノードまたはサーバ(1つまたは複数のCDNサーバ132)に記憶されてよい。
一部の実施形態において、クライアントデバイス110から認可データサービス124への要求は、受信されるデータのフォーマットを含み得る。たとえば、要求は、クライアントデバイス110のメディアビュワー112と互換性があるビデオアイテムのフォーマットを含み得る。一部の実施形態において、要求は、ビデオアイテムなどのコンテンツが再生されることになるメディアビュワー112に関する追加的な情報(たとえば、種類、バージョンなど)を含み得る。
一部の実施形態において、コンテンツ要求は、コンテンツを取得しようとするクライアントデバイス、ユーザ、またはユーザアカウントの識別子を含み得る。たとえば、ユーザ要求は、コンテンツを取得することを要求するユーザアカウントに関連するユーザ名およびパスワードを特定し得る。別の例において、要求は、クライアントデバイス110またはユーザデバイスのアプリケーションを特定するクッキーを含むことが可能であり、クッキーは、特定のユーザアカウントを特定するために使用されることが可能である。たとえば、ユーザは、ユーザアカウント情報を使用してコンテンツ共有プラットフォーム120にログインすることができ、コンテンツ共有プラットフォーム120によるユーザアカウントの認可に応答して、コンテンツ共有プラットフォーム120は、ユーザデバイス120にクッキーを送信することができる。さらに別の例において、コンテンツ要求は、たとえば、クライアントデバイスに関連する、たとえば、インターネットプロトコル(IP)アドレスなどのユーザまたはユーザアカウントに関連するその他のデータを含み得る。
動作204において、コンテンツ共有プラットフォーム120の認可データサービス124は、コンテンツ要求に関連する部分的信用測定基準を生成することができる。部分的信用測定基準は、クライアントデバイス、クライアントデバイスによって使用されるメディアプレイヤー、またはユーザアカウントの真正性をサーバ132に示すために使用される任意のスコア、インジケータ、またはその他の種類の定量化可能な尺度であることが可能である。特に、部分的信用測定基準は、未認可のエンティティ(たとえば、未認可のメディアプレイヤー、ボット、サーバファームなど)とは対照的に、ユーザ、メディアプレイヤー、および/またはクライアントデバイスが信用でき、要求されたコンテンツにアクセスすることを認可されるべきである見込みをCDNサーバ132に示すために使用されることが可能である。
認可データサービス124は、クライアントデバイス110(またはユーザアカウント、メディアプレイヤー112、またはそれらの任意の組合せ)に関連する要因(たとえば、データ、信号など)に基づいて、部分的信用測定基準を生成することができる。1つまたは複数の要因は、認可データサービス124によってアクセス可能であるが、サーバ132が利用可能ではあり得ない。一部の実施形態において、要因は、ユーザの視聴履歴、ユーザが前にコンテンツを見たかどうか、クライアントデバイスが以前にコンテンツを成功裏に復号したかどうか、ユーザがログインしているかどうか、ユーザが認可された活動に関与したことがあるまたは関与した疑いがあるかどうか、ユーザのIPアドレス、ユーザに関連する暗号化ログなどを含み得る。
一部の実施形態において、認可データサービス124は、ヒューリスティックな手法を使用することによって部分的信用測定基準を生成することができる。ヒューリスティックな手法によれば、認可データサービス124は、部分的信用測定基準を生成する際に使用される各要因に0から1までの間の重みおよび数値を割り振ることと、重み付けされた要因を組み合わせて部分的信用測定基準を生成することとを含むヒューリスティックな規則を使用する。一例においては、クライアントデバイスが以前にコンテンツを成功裏に復号したかどうかという要因に関して、ユーザが以前にコンテンツを成功裏に復号していない場合は数値0が割り振られることが可能であり、またはユーザが以前にコンテンツを成功裏に復号した場合は数値1が割り振られることが可能である。別の例においては、クライアントデバイスが以前にコンテンツを成功裏に復号したかどうかという要因に関して、ユーザが以前にコンテンツを成功裏に復号していない場合は数値0が割り振られることが可能であり、ユーザが以前に5回未満コンテンツを成功裏に復号した場合は数値0.5が割り振られることが可能であり、ユーザが以前に少なくとも5回コンテンツを成功裏に復号した場合は数値1が割り振られることが可能である。部分的信用測定基準を決定するために、各要因で異なるスケールおよび任意のスコア値が使用され得る。したがって、一部の実施形態において、部分的信用測定基準は、0から1までの間に正規化され得る、各重み付けされた要因の合計であることが可能である。
一部の実施形態において、認可データサービス124は、機械学習の手法を使用することによって部分的信用測定基準を生成することができる。機械学習の手法において、認可データサービス124は、訓練入力および対応する目標出力(すなわち、それぞれの訓練入力の示された答え)を含む訓練データを使用して訓練エンジンによって作成されるモデルアーティファクト(model artifact)に対応する機械学習モデルであることが可能である訓練された部分的信用予測モデルを使用してよい。訓練入力は、履歴的なデータに基づくことが可能であり、以前に認可データサービス124および/またはCDNサーバ132からのコンテンツを要求した様々なクライアントデバイスに関連する要因を含む。目標出力は、クライアントデバイスが要求されたコンテンツを取得することを認可されたかどうかのインジケーションを含み得る。別の実装において、部分的信用予測モデルは、ユーザならびに/またはユーザのメディアプレイヤーおよび/もしくはクライアントデバイスに関連する訓練データに基づいて、特定のユーザのために訓練され得る。
動作206において、コンテンツ共有プラットフォーム120の認可データサービス124は、コンテンツ要求を認可することができる。要求を認可するために、認可データサービス124は、クライアントデバイス110またはユーザ(またはユーザアカウント)のうちの少なくとも1つがコンテンツを取得することを許可されると判定し得る。一部の実施形態において、認可データサービス124は、部分的信用測定基準が認可閾値を満たす(たとえば、認可閾値よりも大きい)かどうかを判定することができる。認可閾値は、クライアントデバイス110がコンテンツ共有プラットフォーム120からコンテンツ識別子を受信することを認可されるべきかどうかを決定するために使用される任意の値であることが可能である。部分的信用測定基準による認可閾値の充足に応答して、認可データサービス124は、コンテンツ要求を認可することができる。たとえば、部分的信用測定基準が0.2より大きいことに応答して、クライアントデバイス110は、認可されたとみなされ得る。
一部の実施形態において、コンテンツ要求を認可するべきかどうかを判定することは、認可閾値に依存しないことが可能である。一例において、コンテンツ要求は、コンテンツを取得することを要求するユーザアカウントのアカウント情報を特定し得る。たとえば、アカウント情報は、クッキー内で暗号化され得る。別の例において、アカウント情報は、ユーザによって入力され、要求内で提供され得る。一部の実施形態において、ユーザ名およびパスワードなどのアカウント情報は、アカウント情報(たとえば、受信されたユーザ名およびパスワード)をアカウント情報の記憶されたレコードと比較することによって認可データサービス124により認証され得る。要求のアカウント情報がレコードのアカウント情報と一致する場合、認可データサービス124は、特定のユーザアカウントが認証されると判定することができ、認可データサービス124は、コンテンツ要求を認可し、コンテンツ要求に予め定義された部分的信用測定基準を割り振ることができる。
一部の実施形態においては、認可データサービス124によるコンテンツ要求の認可および/またはクライアントデバイス110の認証の失敗に応答して、コンテンツ要求は、認可データサービス124によって拒否され得る。一部の実施形態において、認可データサービス124がコンテンツを取得する要求を認可しない場合、認可データサービス124は、要求されたコンテンツを取得する認可が与えられないことを示すメッセージをクライアントデバイス110に送信することができる。
一部の実施形態において、認可データサービス124によるコンテンツを取得する要求の認可に応答して、認可データサービス124は、クライアントデバイス110がCDN 130から要求されたコンテンツを取得することを認可するための1つまたは複数のリソースロケータ(たとえば、URL)を生成する。一部の実施形態において、リソースロケータは、要求されたコンテンツをクライアントデバイス110に配信することになるCDNサーバ132を特定し得る。たとえば、リソースロケータは、要求されたコンテンツを取得するためにアクセスされ得る特定のサーバ(たとえば、サーバ132A、サーバ132Bなど)を特定するホスト名を含むことができる。一部の実施形態において、認可データサービス124は、リソースロケータに部分的信用測定基準を付加することができ、結果として得られる応答にデジタル署名をすることができる。デジタル署名は、どのデータが提供されるべきかおよびデータがどのように提供されるべきかをCDN 130に示すために使用されることが可能である署名されたパラメータ(たとえば、有効期限パラメータ、ビットレートパラメータ、再生イベント識別子など)に基づき得る。一部の実施形態において、デジタル署名は暗号化され得る。
動作208において、ユーザアカウントの認可に応答して、認可データサービス124は、コンテンツの要求(たとえば、動作202)に対する応答をクライアントデバイス110に送信することができる。一部の実施形態において、応答は、コンテンツをクライアントデバイス110に配信するべきCDNサーバ132を特定する1つまたは複数のリソースロケータと、部分的信用測定基準とを含み得る。一部の実施形態において、応答はデジタル署名も含み得る。一部の実施形態において、応答は、コンテンツ要求に関連するコンテンツ識別子、ユーザアカウント識別子、および/または再生イベント識別子のうちの1つまたは複数を含み得る。一部の実施形態において、応答は、ハイパーテキスト転送プロトコル(HTTP)応答であり得る。
動作210において、クライアントデバイス110は、デジタル署名を付加されたリソースロケータおよび部分的信用測定基準を使用してコンテンツを要求することができる。一部の実施形態において、要求は、CDNサーバ132に送信され得る。一部の実施形態において、CDNサーバ132は、たとえば、1つまたは複数の暗号鍵、公開鍵、プライベート鍵などを使用してデジタル署名を復号することができる。
動作212において、CDNサーバ132は、部分的信用測定基準に基づいてクライアントデバイスの信用ステータスを決定することができる。クライアントデバイスの信用ステータスは、要求されたコンテンツをユーザに解放するべきかどうかを判定するためにCDNサーバ132によって使用される任意の種類のインジケータであることが可能である。一部の実施形態において、CDNサーバ132は、部分的信用測定基準を1つまたは複数の閾値と比較して、クライアントデバイスの信用ステータスを決定することができる。比較に基づいて、サーバ132は、要求されたコンテンツの解像度(たとえば、2160p、1440p、1080p、720p、480p、540p、360p、240pなど)を下げるかまたはそれに上限を設けること、フレームレート(たとえば、24フレーム毎秒(fps)、25fps、30fps、60fps、120fpsなど)を下げるかまたはそれに上限を設けること、クライアントデバイス110に送信されるデータを絞ることなどが可能である。一例においては、部分的信用測定基準が第1の閾値(たとえば、0.5)より大きいというサーバ132による判定に応答して、サーバ132は、クライアントデバイスが信用されていると判定し、要求されたフォーマット(たとえば、標準解像度、高解像度など)でコンテンツを提供し得る。部分的信用測定基準が第1の閾値(たとえば、0.5)より小さいが第2の閾値(たとえば、0.2)より大きいというサーバ132による判定に応答して、サーバ132は、クライアントデバイスが疑わしいと判定し、コンテンツを高解像度ではなく標準解像度でのみ解放し得る。部分的信用測定基準が第2の閾値(たとえば、0.2)より小さいというサーバ132による判定に応答して、サーバ132は、クライアントデバイスが信用されるべきでないと判定し、コンテンツ要求を拒否し得る。
一部の実施形態においては、決定されたクライアントデバイスの信用ステータスに基づいて、CDNサーバ132は、CDNサーバ132が要求されたコンテンツを解放する前に1つまたは複数の追加の機能を実行するようにクライアントデバイス110に要求する場合がある。追加の機能は、ReCaptchaの検証を要求すること、サインインするようにクライアントデバイス110のユーザに要求することなどを含み得る。たとえば、部分的信用測定基準が第1の閾値(たとえば、0.5)より小さいが第2の閾値(たとえば、0.2)より大きいというCDNサーバ132による判定に応答して、CDNサーバ132は、クライアントデバイスが疑わしいと判定し、ユーザに自分のユーザアカウントにサインインするように要求し得る。
一部の実施形態において、CDNサーバ132は、部分的信用測定基準を1つまたは複数の追加的なCDNに関連する要因と組み合わせて、クライアントデバイスの信用ステータスを決定することができる。追加的要因は、CDNサーバ132にとって利用可能な情報に基づいてCDNサーバ132によって特定され得る。特に、追加的要因は、CDNサーバ132へのコンテンツ要求またはCDNサーバ132がローカルで利用可能なその他の情報に基づいてCDNサーバ132によって決定される、クライアントデバイス110、ユーザ(ユーザアカウント)、および/または(動作210における)CDNサーバ132へのコンテンツ要求に関連する任意のデータを含み得る。たとえば、追加的要因(CDNによって決定された要因)は、コンテンツを要求するために使用されたIPアドレス、コンテンツ要求とともにCDN 130に提供された1つまたは複数のクッキー、クライアントデバイスによって報告されたクライアントエージェント(たとえば、ブラウザ、ボット、ダウンロードマネージャ、インターネットにアクセスするアプリなど)、要求されたコンテンツの種類(たとえば、人気、プライベート、広告、有料ビデオなど)、要求されたコンテンツのビットレート、要求で要求されたコンテンツの量などを含み得る。一部の実施形態において、CDNサーバ132は、CDNによって決定された要因のうちの1つまたは複数に基づいて部分的信用測定基準を上げるかまたは下げ、次に、新しい信用測定基準を1つまたは複数の閾値と比較することによって、デバイスの信用ステータスを決定することができる。説明のための例において、不審なIPアドレスは、部分的信用測定基準を値0.1だけ下げる結果となり得る。したがって、クライアントデバイス110への部分的信用測定基準0.25の割り振りと、動作210におけるコンテンツ要求が疑わしいIPアドレスから受信されたというCDNサーバ132による判定とに応答して、CDNサーバ132は、部分的信用測定基準を値0.1だけ下げ、新しい信用測定基準0.15を1つまたは複数の閾値と比較して、クライアントデバイス110のクライアントデバイスの信用ステータスを決定することができる。一部の実施形態では、CDNサーバ132は、ヒューリスティックな手法を使用して、部分的信用測定基準を1つまたは複数のCDNによって決定された要因と組み合わせることができ、それぞれのCDNによって決定された要因および/または部分的信用測定基準は、重みを割り振られることが可能であり、重み付けされた要因は、クライアントデバイスの信用ステータスを決定するために、重み付けされたまたは重み付けされていない部分的信用測定基準と組み合わされる。その他の実施形態において、CDNサーバ132は、機械学習の手法を使用して、部分的信用測定基準を1つまたは複数のCDNによって決定された要因と組み合わせることができる。
動作214において、クライアントデバイスの信用ステータスに基づいて、CDNサーバ132は、リソースロケータに関連するコンテンツによってコンテンツ要求に応答することができる。たとえば、応答は、クライアントデバイスの信用ステータスが、クライアントデバイスが信用されていることを示すときには、要求されたビデオアイテムを含むことができ、またはクライアントデバイスが疑わしいときには、要求されたよりも下のフォーマットの要求されたビデオアイテムを含むことができる。
図3は、本開示の実施形態による、クライアントデバイスの信用を評価するための動作の図である。システム300は、図1のシステムアーキテクチャ100と同様の構成要素を含んでよい。図1の構成要素が図3を説明するのを助けるために使用される可能性があることは、留意されてよい。限定ではなく例示を目的として、システム300に関連する動作は、コンテンツ共有プラットフォーム120の認可データサービス124、コンテンツ配布ネットワーク130のサーバマシン132、またはクライアントデバイス110によって実行されるものとして説明され、そうでないことが説明されない限りそのシステム300の任意の構成要素によって実行される可能性がある。図3に関連して説明される動作は、限定ではなく例示のために順に実行されることが示される。動作が任意の順序で実行される可能性があることおよび動作のいずれかが1つまたは複数のその他の動作と同時に実行される可能性があることは、留意されてよい。一部の実装においては、同じ、異なる、より少ない、またはより多くの数の動作が、任意の順序で実行される可能性がある。
動作302において、コンテンツに関するユーザ入力に応答して、クライアントデバイス110は、コンテンツ共有プラットフォーム120の認可データサービス124にコンテンツを取得する要求を送信する。たとえば、クライアントデバイス110のユーザが、コンテンツ共有プラットフォーム120によってホストされるビデオアイテムを再生することを要求し得る。一部の実施形態において、ユーザは、ブラウザまたはネイティブアプリケーションなどのアプリケーションを使用してコンテンツ共有プラットフォーム120からのコンテンツを要求し得る。コンテンツは、コンテンツ配信ネットワークの1つまたは複数のノードまたはサーバ(1つまたは複数のCDNサーバ132)に記憶されてよい。
一部の実施形態において、クライアントデバイス110から認可データサービス124への要求は、受信されるデータのフォーマットを含み得る。たとえば、要求は、クライアントデバイス110のメディアビュワー112と互換性があるビデオアイテムのフォーマットを含み得る。一部の実施形態において、要求は、ビデオアイテムなどのコンテンツが再生されることになるメディアビュワー112に関する追加的な情報(たとえば、種類、バージョンなど)を含み得る。
一部の実施形態において、コンテンツ要求は、コンテンツを取得しようとするクライアントデバイスまたはユーザアカウントの識別子を含み得る。たとえば、ユーザの要求は、コンテンツを取得することを要求するユーザアカウントに関連するユーザ名およびパスワードを特定し得る。別の例において、要求は、クライアントデバイス110またはユーザデバイスのアプリケーションを特定するクッキーを含むことが可能であり、クッキーは、特定のユーザアカウントを特定するために使用されることが可能である。たとえば、ユーザは、ユーザアカウント情報を使用してコンテンツ共有プラットフォーム120にログインすることができ、コンテンツ共有プラットフォーム120によるユーザアカウントの認可に応答して、コンテンツ共有プラットフォーム120は、ユーザデバイス120にクッキーを送信することができる。さらに別の例において、コンテンツ要求は、たとえば、クライアントデバイスに関連する、たとえば、インターネットプロトコル(IP)アドレスなどのユーザまたはユーザアカウントに関連するその他のデータを含み得る。
動作304において、コンテンツ共有プラットフォーム120の認可データサービス124は、コンテンツ要求に関連する信用パッケージを生成することができる。一部の実施形態において、信用パッケージは、ユーザがログインしているかどうか、コンテンツを要求するためにユーザによって使用されたブラウザの種類、ユーザの地理的位置、ユーザのIPアドレスなどのデータを含み得る。一部の実施形態において、信用パッケージは、CDNサーバ132への命令を含み得る。命令は、条件(または基準)の充足に応答して1つまたは複数の機能を実行するようにCDNサーバ132に命令することができる。機能は、コンテンツ要求を拒否すること、要求されたコンテンツの解像度を下げるかまたはそれに上限を設けること、ReCaptchaの検証を要求すること、サインインするようにクライアントデバイス110のユーザに要求することなどを含み得る。条件は、(下の動作310における)CDNサーバ132へのコンテンツ要求が指定された地域から発信されているかまたは指定された地域から発信されていないこと、CDNサーバ132へのコンテンツ要求がIPアドレスまたは指定されたサブネットのIPアドレスを使用しているかまたは使用していないこと、CDNサーバ132へのコンテンツ要求が指定されたブラウザを使用しているかまたは使用していないことなどのうちの1つまたは複数に基づき得る。たとえば、命令は、CDNサーバ132へのコンテンツ要求が特定の種類のブラウザから発信されない場合、要求されたコンテンツの解像度を下げることをCDNサーバ132に示し得る。
動作306において、コンテンツ共有プラットフォーム120の認可データサービス124は、コンテンツ要求を認可することができる。要求を認可するために、認可データサービス124は、クライアントデバイス110またはユーザ(またはユーザアカウント)のうちの少なくとも1つがコンテンツを取得することを許可されると判定し得る。一例において、コンテンツ要求は、コンテンツを取得することを要求するユーザアカウントのアカウント情報を特定し得る。たとえば、アカウント情報は、クッキー内で暗号化され得る。別の例において、アカウント情報は、ユーザによって入力され、要求内で提供され得る。一部の実施形態において、ユーザ名およびパスワードなどのアカウント情報は、アカウント情報(たとえば、受信されたユーザ名およびパスワード)をアカウント情報の記憶されたレコードと比較することによって認可データサービス124により認証され得る。要求のアカウント情報がレコードのアカウント情報と一致する場合、認可データサービス124は、特定のユーザアカウントが認証されると判定することができ、認可データサービス124は、コンテンツ要求を認可することができる。
一部の実施形態においては、認可データサービス124によるコンテンツ要求の認可および/またはクライアントデバイス110の認証の失敗に応答して、コンテンツ要求は、認可データサービス124によって拒否され得る。一部の実施形態において、認可データサービス124がコンテンツを取得する要求を認可しない場合、認可データサービス124は、要求されたコンテンツを取得する認可が与えられないことを示すメッセージをクライアントデバイス110に送信することができる。
一部の実施形態において、認可データサービス124によるコンテンツを取得する要求の認可に応答して、認可データサービス124は、クライアントデバイス110がCDNネットワーク130から要求されたコンテンツを取得することを認可するための1つまたは複数のリソースロケータ(たとえば、URL)を生成する。一部の実施形態において、リソースロケータは、要求されたコンテンツをクライアントデバイス110に配信することになるCDNサーバを特定し得る。たとえば、リソースロケータは、要求されたコンテンツを取得するためにアクセスされ得る特定のサーバ(たとえば、サーバ132A、サーバ132Bなど)を特定するホスト名を含むことができる。一部の実施形態において、認可データサービス124は、リソースロケータに信用パッケージを付加し、結果として得られる応答にデジタル署名をすることができる。デジタル署名は、どのデータが提供されるべきかおよびデータがどのように提供されるべきかをCDNサーバ132に示すために使用されることが可能である署名されたパラメータ(たとえば、有効期限パラメータ、ビットレートパラメータ、再生イベント識別子パラメータなど)に基づき得る。一部の実施形態において、デジタル署名は暗号化され得る。
動作308において、ユーザアカウントの認可に応答して、認可データサービス124は、コンテンツの要求(たとえば、動作302)に対する応答をクライアントデバイス110に送信することができる。一部の実施形態において、応答は、コンテンツをクライアントデバイス110に配信するべきCDN 130のサーバ132を特定する1つまたは複数のリソースロケータを含み得る。一部の実施形態において、応答は、信用パッケージおよびデジタル署名も含む。一部の実施形態において、応答は、コンテンツ要求に関連するコンテンツ識別子、ユーザアカウント識別子、および/または再生イベント識別子のうちの1つまたは複数を含み得る。一部の実施形態において、応答は、ハイパーテキスト転送プロトコル(HTTP)応答であることが可能である。
一部の実施形態において、認可データサービス124は、クライアントデバイス110への応答に信用パッケージを含める代わりに、特定されたCDNサーバ132に信用パッケージを送信することができる。一部の実施形態において、信用パッケージは、たとえば、信用パッケージの有効期限および/またはコンテンツ要求のために作成された再生イベント識別子を提供する1つまたは複数の署名されたパラメータを使用してデジタル署名される。
動作310において、クライアントデバイス110は、デジタル署名を付加されたリソースロケータおよび信用パッケージを使用してコンテンツを要求することができる。一部の実施形態において、要求は、CDNサーバ132に送信され得る。一部の実施形態において、CDNサーバ132は、たとえば、1つまたは複数の暗号鍵、公開鍵、プライベート鍵などを使用してデジタル署名を復号することができる。
動作312において、CDNサーバ132は、信用パッケージに基づいてクライアントデバイスの信用ステータスを決定することができる。クライアントデバイスの信用ステータスは、要求されたコンテンツをユーザに解放するべきかどうかを判定するためにCDNサーバ132によって使用される任意の種類のインジケータであることが可能である。一部の実施形態において、CDNサーバ132は、動作310において受信された(および/または認可データサービス124から直接受信された)信用パッケージからのデータを、動作310のコンテンツ要求から取得されたデータ(たとえば、CDNによって決定された要因)と比較することができる。比較(たとえば、サーバ132が比較において不一致を検出するかどうか)に基づいて、サーバ132は、クライアントデバイスの信用ステータスを決定することができる。一部の実施形態においては、信用パッケージから取得されたデータおよび動作310のコンテンツ要求から取得されたデータに不一致がないという判定に応答して、CDNサーバ132は、クライアントデバイスに信用されたステータスを割り振り、要求されたコンテンツを解放することができる。一部の実施形態においては、信用パッケージから取得されたデータおよび動作310のコンテンツ要求から取得されたデータに不一致があるという判定に応答して、CDNサーバ132は、クライアントデバイス110に信用されていないステータスまたは疑わしいステータスを割り振り、それぞれ、コンテンツ要求を拒否するか、または要求の再生品質をダウングレードすることができる。たとえば、クライアントデバイスが第1の種類のブラウザを使用して認可データサービス124からのコンテンツを要求し、第2の種類のブラウザを使用してサーバ132からのコンテンツを要求したというCDNサーバ132による判定に応答して、CDNサーバ132は、1080pの要求コンテンツ解像度を480pに下げることができる。
一部の実施形態においては、信用パッケージから取得されたデータおよび動作310のコンテンツ要求から取得されたデータに不一致があるという判定に応答して、CDNサーバ132は、サーバ132が要求されたコンテンツを解放する前に1つまたは複数の追加の機能を実行するようにクライアントデバイス110に要求することができる。追加の機能は、ReCaptchaの検証を要求すること、サインインするようにクライアントデバイス110のユーザに要求することなどを含み得る。たとえば、クライアントデバイスが第1のIPアドレスを使用して認可データサービス124からのコンテンツを要求し、異なるIPアドレスを使用してCDNサーバ132からのコンテンツを要求したというCDNサーバ132による判定に応答して、CDNサーバ132は、クライアントデバイスが疑わしいと判定し、ユーザに自分のユーザアカウントにサインインするように要求することができる。
動作314において、クライアントデバイスの信用ステータスに基づいて、CDNサーバ132は、リソースロケータに関連するコンテンツによってコンテンツ要求に応答することができる。たとえば、応答は、クライアントデバイスの信用ステータスが、クライアントデバイスが信用されていることを示すときには、要求されたビデオアイテムを含むことができ、またはクライアントデバイスが疑わしいときには、要求されたよりも下のフォーマットの要求されたビデオアイテムを含むことができる。
一部の実施形態において、CDNサーバ132は、部分的信用測定基準、信用パッケージ、および/またはCDNによって決定された要因の任意の組合せを使用して、クライアントデバイスの信用ステータスを決定することができる。たとえば、認可データサービス124は、クライアントデバイス110がCDN 130から要求されたコンテンツを取得することを認可するための1つまたは複数のリソースロケータを生成することができる。認可データサービス124は、さらに、リソースロケータに部分的信用測定基準および信用パッケージを付加し、結果として得られる応答をクライアントデバイス110に送信することができ、加えて、認可データサービス124は、信用パッケージをCDNサーバ132に送信することができる。それから、CDNサーバ132は、部分的信用測定基準および信用パッケージを使用して、クライアントデバイスの信用ステータスを決定することができる。
図4は、本開示の実施形態による、部分的信用測定基準の生成を実行するための方法400の流れ図を示す。方法は、ハードウェア(回路、専用論理など)、ソフトウェア(たとえば、処理デバイス上で実行される命令)、またはこれらの組合せを含む場合がある処理論理によって実行される。一部の実施形態において、方法400の一部のまたはすべての動作は、図1のシステム100の1つまたは複数の構成要素によって実行されてよい。その他の実施形態において、方法400の1つまたは複数の動作は、図1~図2に関連して説明されたコンテンツ配布ネットワーク130の認可モジュールまたは認可データサービス124によって実行されてよい。図1~図3に関連して説明された構成要素が図4の態様を示すために使用される場合があることは、留意されてよい。
ブロック402において、方法400を実施する処理論理は、クライアントデバイスからコンテンツの要求を受信する。
ブロック404において、処理論理は、コンテンツ共有プラットフォームにとって利用可能なデータに基づいて、クライアントデバイスに関連する部分的信用測定基準を生成する。一部の実施形態において、部分的信用測定基準は、クライアントデバイスによる所望のコンテンツへのアクセスに関する判断を行うためにCDNサーバによって使用されることになり、クライアントデバイスが信用でき、要求されたコンテンツにアクセスすることを認可されるべきである見込みをCDNサーバに示すためのスコアを含み得る。一部の実施形態において、部分的信用測定基準は、クライアントデバイスに関連するユーザの視聴履歴、ユーザが要求されたコンテンツを前に見たかどうか、クライアントデバイスが以前にその他のコンテンツを成功裏に復号したかどうか、ユーザがログインしているかどうか、ユーザが未認可の活動に関与したことがあるもしくは関与した疑いがあるかどうか、クライアントデバイスのインターネットプロトコル(IP)アドレス、またはユーザに関連する暗号化ログなどの1つまたは複数の特性に基づいて生成される。部分的信用測定基準を生成するために使用された特性は、CDNサーバが利用可能でない場合がある。一部の実施形態において、部分的信用測定基準は、ヒューリスティックな規則を使用して生成される。一部の実施形態において、部分的信用測定基準は、訓練された機械学習モデルを使用して生成される。一部の実施形態において、部分的信用測定基準は、CDNサーバによる復号のために暗号化される。
ブロック406において、処理論理は、コンテンツ要求に対する応答を生成する。応答は、クライアントデバイスが要求されたコンテンツを取得することを認可するためにコンテンツ共有プラットフォームによって提供された1つまたは複数のリソースロケータを含み得る。応答は、部分的信用測定基準も含むことが可能であり、デジタル署名されることが可能である。一部の実施形態において、処理論理は、部分的信用測定基準に基づいてコンテンツ要求を拒否することができる。
ブロック408において、処理論理は、クライアントデバイスに応答を送信する。所望のコンテンツを要求するときにクライアントデバイスによってCDNサーバに部分的信用測定基準が提供され得るが、測定基準を生成するために使用された特性のいずれも提供され得ず、要求されたコンテンツをクライアントデバイスに提供するべきまたは要求されたコンテンツの品質をダウングレードするべきかどうかを判定するためにCDNサーバによって部分的信用測定基準が使用され得るが、測定基準を生成するために使用された特性のいずれも使用され得ない。一部の実施形態において、方法400は、図3で検討されたように信用パッケージを生成するために使用され得る。
図5は、本開示の実施形態による、クライアントデバイスの信用ステータスを決定するための方法500の流れ図を示す。方法は、ハードウェア(回路、専用論理など)を含む可能性がある処理論理、ソフトウェア(たとえば、処理デバイス上で実行される命令)、またはこれらの組合せによって実行される。一部の実施形態において、方法500の一部のまたはすべての動作は、図1のシステム100の1つまたは複数の構成要素によって実行される可能性がある。その他の実施形態において、方法500の1つまたは複数の動作は、図1~図3に関連して説明されたCDNサーバ132の認可モジュールまたは認可データサーバ124によって実行されてよい。図1~図3に関連して説明された構成要素が図5の態様を示すために使用される可能性があることは、留意され得る。
ブロック502において、方法500を実施する処理論理が、クライアントデバイスからコンテンツの要求を受信する。要求は、クライアントデバイスが要求されたコンテンツを取得することを認可するために認可データサービスによって提供されたリソースロケータを含む。リソースロケータは、部分的信用測定基準を付加され得る。
ブロック504において、処理論理は、部分的信用測定基準に基づいてクライアントデバイスの信用ステータスを決定する。クライアントデバイスの信用ステータスは、要求されたコンテンツをユーザに解放するべきかどうかを判定するために処理論理によって使用される任意の種類のインジケータであることが可能である。一部の実施形態において、処理論理は、部分的信用測定基準を1つまたは複数の閾値と比較して、クライアントデバイスの信用ステータスを決定することができる。比較に基づいて、処理論理は、要求されたコンテンツの解像度を下げるかまたはそれに上限を設けること、フレームレートを下げるかまたはそれに上限を設けること、クライアントデバイスに送信されるデータを絞ることなどが可能である。
ブロック506において、クライアントデバイスが要求されたコンテンツを受信することを認可されることを示すクライアントデバイスの信用ステータスに応答して、処理論理は、コンテンツの再生をクライアントデバイスに提供する。たとえば、処理論理は、リソースロケータに関連するビデオデータを提供することができる。一部の実施形態において、方法500は、図3で検討されたように信用パッケージに基づいてクライアントデバイスの信用ステータスを決定するために使用され得る。
図6は、本開示の一実施形態による例示的なコンピュータシステム600を示すブロック図である。コンピュータシステム600は、本明細書において検討される方法のうちのいずれか1つまたは複数をマシンに実行させる命令の1つまたは複数の組を実行する。命令のセット、命令などは、コンピュータシステム600によって実行されるときにコンピュータシステム600に初期再生モジュール142(図示せず)、認可モジュール138、および/または認可データサービス124(図示せず)の1つまたは複数の動作を実行させる命令を指す場合がある。マシンは、クライアント-サーバネットワーク環境内のサーバもしくはクライアントデバイスとして、またはピアツーピア(もしくは分散型)ネットワーク環境内のピアマシンとして動作する可能性がある。マシンは、パーソナルコンピュータ(PC)、タブレットPC、セットトップボックス(STB)、携帯情報端末(PDA)、モバイル電話、ウェブアプライアンス、サーバ、ネットワークルータ、スイッチもしくはブリッジ、またはそのマシンによって行われるべき行為を指定する(逐次的もしくはその他の)命令の組を実行することができる任意のマシンである可能性がある。さらに、単一のマシンだけが示されているが、用語「マシン」は、本明細書において検討される方法のうちのいずれか1つまたは複数を実行するための命令の組を個々にまたは連携して実行するマシンの任意の集合を含むとやはり受け取られる。
コンピュータシステム600は、バス608を介して互いに通信する処理デバイス602、メインメモリ604(たとえば、読み出し専用メモリ(ROM)、フラッシュメモリ、同期DRAM(SDRAM)またはRambus DRAM(RDRAM)などのダイナミックランダムアクセスメモリ(DRAM)など)、スタティックメモリ606(たとえば、フラッシュメモリ、スタティックランダムアクセスメモリ(SRAM)など)、およびデータストレージデバイス616を含む。
処理デバイス602は、マイクロプロセッサ、中央演算処理装置などの1つまたは複数の汎用処理デバイスを表す。より詳細には、処理デバイス602は、複合命令セットコンピューティング(CISC)マイクロプロセッサ、縮小命令セットコンピューティング(RISC)マイクロプロセッサ、超長命令語(VLIW)マイクロプロセッサ、またはその他の命令セットを実装する処理デバイスもしくは命令セットの組合せを実装する処理デバイスである可能性がある。処理デバイス602は、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、デジタル信号プロセッサ(DSP)、ネットワークプロセッサなど1つまたは複数の専用処理デバイスである可能性もある。処理デバイス602は、本明細書において検討される動作を実行するためのシステムアーキテクチャ100および認可モジュール151の命令を実行するように構成される。
コンピュータシステム600は、ローカルエリアネットワーク(LAN)、イントラネット、エクストラネット、またはインターネットなどのネットワーク618を介したその他のマシンとの通信を提供するネットワークインターフェースデバイス622をさらに含む可能性がある。コンピュータシステム600は、ディスプレイデバイス610(たとえば、液晶ディスプレイ(LCD)またはブラウン管(CRT))、英数字入力デバイス612(たとえば、キーボード)、カーソル制御デバイス614(たとえば、マウス)、および信号生成デバイス620(たとえば、スピーカ)も含む可能性がある。
データストレージデバイス616は、本明細書において説明された方法または機能のうちの任意の1つまたは複数を具現化するシステムアーキテクチャ100、認可データサービス124、または認可モジュール138(図示せず)の命令のセットが記憶される非一時的コンピュータ可読ストレージ媒体624を含んでよい。システムアーキテクチャ100、認可データサービス124、または認可モジュール138の命令のセットは、コンピュータシステム600によるそれらの命令の実行中にメインメモリ604内におよび/または処理デバイス602内に完全にまたは少なくとも部分的に存在する場合もあり、また、メインメモリ604および処理デバイス602は、コンピュータ可読ストレージ媒体を構成する。命令の組は、ネットワークインターフェースデバイス622を介してネットワーク618上でさらに送信または受信される可能性がある。
コンピュータ可読ストレージ媒体624の例は単一の媒体として示されているが、用語「コンピュータ可読ストレージ媒体」は、命令の組を記憶する単一の媒体または複数の媒体(たとえば、集中的なもしくは分散型のデータベース、ならびに/または関連するキャッシュおよびサーバ)を含み得る。用語「コンピュータ可読ストレージ媒体」は、マシンによる実行のために命令の組を記憶するか、符号化するか、または運ぶことができ、本開示の方法のうちのいずれか1つまたは複数をマシンに実行させる任意の媒体を含み得る。用語「コンピュータ可読ストレージ媒体」は、ソリッドステートメモリ、光学式媒体、および磁気式媒体を含み得るがこれらに限定され得ない。
上述の説明において、多くの詳細が説明されている。しかし、本開示がこれらの具体的詳細なしに実施される可能性があることは、本開示の恩恵に浴する当業者に明らかであろう。場合によっては、本開示を曖昧にすることを避けるために、よく知られた構造およびデバイスは、詳細にではなくブロック図の形態で示されている。
詳細な説明のいくつかの部分は、コンピュータメモリ内のデータビットに対する操作のアルゴリズムおよび記号表現の観点で提示された。これらのアルゴリズムの記述および表現は、データ処理技術に精通した者によって、それらの者の成果の内容を当該技術に精通したその他の者に最も効果的に伝えるために使用される手段である。ここでおよび概して、アルゴリズムは、所望の結果をもたらす自己矛盾のない一連の動作であると考えられる。動作とは、物理量の物理的操作を必要とする動作である。必ずではないが通常、これらの量は、記憶、転送、組合せ、比較、およびその他の操作を行われ得る電気的または磁気的信号の形態をとる。これらの信号をビット、値、要素、シンボル、文字、語、数などと呼ぶことが、主に共通使用の理由で便利な場合があることが分かっている。
しかし、これらのおよび同様の用語のすべてが適切な物理量に関連付けられるべきであり、これらの量に付される便宜的なラベルであるに過ぎないことは、留意されてよい。別途はっきりと記載されていない限り、説明全体を通じて、「生成する」、「提供する」、「調整する」、「受信する」、「取り消す」などの用語を利用する検討は、コンピュータシステムのメモリまたはレジスタ内の物理的(たとえば、電子的)量として表されるデータを操作し、コンピュータシステムのメモリまたはレジスタまたはその他のそのような情報ストレージ、送信、もしくは表示デバイス内の物理的量として同様に表されるその他のデータに変換するコンピュータシステムまたは同様の電子的なコンピューティングデバイスの行為およびプロセスを指すことが理解される。
本開示は、本明細書の動作を実行するための装置にも関する。この装置は、必要とされる目的のために特別に構築される可能性があり、またはコンピュータに記憶されたコンピュータプログラムによって選択的にアクティブ化もしくは再構成される汎用コンピュータを含む可能性がある。そのようなコンピュータプログラムは、フロッピーディスクを含む任意の種類のディスク、光ディスク、コンパクトディスク読み出し専用メモリ(CD-ROM)、光磁気ディスク、読み出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、消去可能プログラマブル読み出し専用メモリ(EPROM)、電気的消去可能プログラマブル読み出し専用メモリ(EEPROM)、磁気式もしくは光学式カード、または電子的な命令を記憶するのに好適な任意の種類の媒体などであるがこれらに限定されないコンピュータ可読ストレージ媒体に記憶される可能性がある。
語「例」または「例示的な」は、本明細書においては、例、具体例、または事例としての役割を果たすことを意味するために使用される。本明細書において「例」または「例示的な」と記載されたいずれの態様または設計も、必ずしもその他の態様または設計よりも好ましいかまたは有利であると解釈されるべきでない。むしろ、語「例」または「例示的な」の使用は、概念を具体化して提示するように意図される。本出願において使用されるとき、用語「または(or)」は、排他的な「または(or)」ではなく包含的な「または(or)」を意味するように意図される。つまり、別途明記されない限り、または文脈から明らかでない限り、「XはAまたはBを含む」は、自然な包含的順列(natural inclusive permutation)のいずれかを意味するように意図される。つまり、XがAを含む、XがBを含む、またはXがAとBとの両方を含む場合、「XがAまたはBを含む」は、上記の場合のいずれかの下で満足される。加えて、本出願および添付の請求項において使用される冠詞「a」および「an」は、別途明記されない限り、または文脈から単数形を対象とすることが明らかでない限り、通常「1つまたは複数の(one or more)」を意味するとみなされる可能性がある。さらに、用語「一実施形態(an embodiment)」、または「1つの実施形態(one embodiment)」、または「実装(an implementation)」、または「1つの実装(one implementation)」の使用は、全体を通じて、そのように説明されない限り同じ実施形態または実装を意味するように意図されていない。本明細書において使用される用語「第1の」、「第2の」、「第3の」、「第4の」などは、異なる要素を区別するためのラベルとして意図されており、必ずしも、それらの用語の数の指定に従った順序の意味を持たない可能性がある。
説明を簡単にするために、本明細書の方法は、一連の行為または動作として示され、説明される。しかし、本開示による行為は、様々な順序でおよび/または同時に、ならびに本明細書において提示および説明されないその他の行為とともに行われ得る。さらに、開示された対象による方法を実施するために、示されるすべての行為が必要とされるわけではない可能性がある。加えて、当業者は、方法が、代替的に状態図による一連の相互に関連した状態またはイベントとして表される可能性があることを理解し、認識するであろう。その上、本明細書において開示された方法は、そのような方法をコンピューティングデバイスに運び、転送することを容易にするための製品に記憶され得ることを理解されたい。本明細書において使用される製品という用語は、任意のコンピュータ可読デバイスまたはストレージ媒体からアクセス可能なコンピュータプログラムを包含するように意図される。
さらなる実施形態において、上述の実施形態の動作を実行するための1つまたは複数の処理デバイスが、開示されている。加えて、本開示の実施形態においては、非一時的コンピュータ可読ストレージ媒体が、説明された実施形態の動作を実行するための命令を記憶する。また、その他の実施形態においては、説明された実施形態の動作を実行するためのシステムも、開示されている。
上述の説明は例示的であるように意図されており、限定的であるように意図されていないことを理解されたい。その他の実施形態は、上の説明を読み、理解すると、当業者に明らかであろう。したがって、本開示の範囲は、添付の請求項が与えられる均等物の全範囲と併せたそのような請求項に関連して決定される可能性がある。
100 システムアーキテクチャ
104 ネットワーク
106 データストア
110 クライアントデバイス
110A~110Z クライアントデバイス
112 メディアプレイヤー、メディアビュワー
114 トークンモジュール
120 コンテンツ共有プラットフォーム
122 メディアアイテム
124 認可データサービス
130 コンテンツ配布ネットワーク(CDN)
132 サーバ、CDNサーバ
132A~132Z サーバマシン、サーバ
136 データファイル
137 暗号鍵
138 認可モジュール
142 初期再生モジュール
151 認可モジュール
200 システム
300 システム
400 方法
500 方法
600 コンピュータシステム
602 処理デバイス
604 メインメモリ
606 スタティックメモリ
608 バス
610 ディスプレイデバイス
612 英数字入力デバイス
614 カーソル制御デバイス
616 データストレージデバイス
618 ネットワーク
620 信号生成デバイス
622 ネットワークインターフェースデバイス
624 非一時的コンピュータ可読ストレージ媒体
104 ネットワーク
106 データストア
110 クライアントデバイス
110A~110Z クライアントデバイス
112 メディアプレイヤー、メディアビュワー
114 トークンモジュール
120 コンテンツ共有プラットフォーム
122 メディアアイテム
124 認可データサービス
130 コンテンツ配布ネットワーク(CDN)
132 サーバ、CDNサーバ
132A~132Z サーバマシン、サーバ
136 データファイル
137 暗号鍵
138 認可モジュール
142 初期再生モジュール
151 認可モジュール
200 システム
300 システム
400 方法
500 方法
600 コンピュータシステム
602 処理デバイス
604 メインメモリ
606 スタティックメモリ
608 バス
610 ディスプレイデバイス
612 英数字入力デバイス
614 カーソル制御デバイス
616 データストレージデバイス
618 ネットワーク
620 信号生成デバイス
622 ネットワークインターフェースデバイス
624 非一時的コンピュータ可読ストレージ媒体
Claims (20)
- コンテンツ共有プラットフォームの処理デバイスによって、クライアントデバイスから所望のコンテンツの要求を受信するステップであって、
前記コンテンツが、コンテンツ配信ネットワーク(CDN)に記憶されている、ステップと、
前記コンテンツ共有プラットフォームにとって利用可能なデータに基づいて、前記クライアントデバイスに関連する部分的信用測定基準を生成するステップであって、
前記部分的信用測定基準が、前記クライアントデバイスによる前記所望のコンテンツへのアクセスに関する判断を行うためにCDNサーバによって使用されることになる、ステップと、
前記コンテンツ要求に対する応答を生成するステップであって、
前記応答が、前記CDN内の前記所望のコンテンツにアクセスするための1つまたは複数のリソースロケータ、および前記部分的信用測定基準を含む、ステップと、
前記クライアントデバイスが前記1つまたは複数のリソースロケータおよび前記部分的信用測定基準を使用して前記CDNサーバからの前記所望のコンテンツを要求することを可能にするために、前記クライアントデバイスに前記応答を送信するステップと
を含む方法。 - 前記コンテンツ共有プラットフォームにとって利用可能な前記データが、
前記クライアントデバイスに関連するユーザの視聴履歴、
前記ユーザが以前に前記所望のコンテンツを見たかどうか、
前記クライアントデバイスが以前にその他のコンテンツを成功裏に復号したかどうか、
前記ユーザがログインしているかどうか、
前記ユーザが未認可の活動に関与したことがあるか、もしくは関与した疑いがあるかどうか、
前記クライアントデバイスのインターネットプロトコル(IP)アドレス、または
前記クライアントデバイスに関連する暗号化ログ
を含む複数の特性のうちの1つまたは複数を含む請求項1に記載の方法。 - 前記部分的信用測定基準が、ヒューリスティックな規則を使用して生成される請求項1に記載の方法。
- 前記部分的信用測定基準が、機械学習モデルを使用して生成される請求項1に記載の方法。
- 前記1つまたは複数のリソースロケータおよび前記部分的信用測定基準を含む前記応答が、
前記1つまたは複数のリソースロケータおよび/もしくは前記部分的信用測定基準の有効期限、
前記所望のコンテンツを配信するためのビットレート、または
前記所望のコンテンツの前記要求のために作成された再生イベントの識別子
のうちの少なくとも1つを提供する1つまたは複数の署名されたパラメータを使用してデジタル署名される請求項1に記載の方法。 - 前記部分的信用測定基準に基づいて前記コンテンツ要求を拒否するステップをさらに含む請求項1に記載の方法。
- 前記部分的信用測定基準が、前記所望のコンテンツを前記クライアントデバイスに解放するべきかどうか、または前記所望のコンテンツの品質をダウングレードするべきかどうかを判定するために前記CDNサーバによって使用されることになる請求項1に記載の方法。
- 前記部分的信用測定基準を生成するために使用された複数の特性が、前記CDNサーバによって利用可能でなく、
前記クライアントデバイスが前記所望のコンテンツを要求するときに、前記部分的信用測定基準が前記CDNサーバに提供されるが、前記複数の特性のいずれも前記CDNサーバに提供されない請求項1に記載の方法。 - 前記部分的信用測定基準が、前記所望のコンテンツを前記クライアントデバイスに解放するべきかどうか、または前記所望のコンテンツの品質をダウングレードするべきかどうかを判定するために、前記CDNサーバによって、1つまたは複数の追加的要因と組み合わされることになり、
前記1つまたは複数の追加的要因が、前記CDNサーバにとって利用可能なデータに基づいて前記CDNサーバによって特定される請求項1に記載の方法。 - 前記追加的要因が、
前記CDNサーバからの前記コンテンツを要求するために前記クライアントデバイスによって使用されたIPアドレス、
前記コンテンツ要求とともに前記CDNサーバに提供された1つまたは複数のクッキー、
前記クライアントデバイスによって前記CDNサーバに報告されたクライアントエージェント、
前記要求されたコンテンツの種類、
前記要求されたコンテンツのビットレート、または
前記コンテンツ要求で要求されたコンテンツの量
のうちの少なくとも1つを含む請求項9に記載の方法。 - メモリと、
前記メモリに結合された処理デバイスと
を備え、前記処理デバイスが、
コンテンツ共有プラットフォームの処理デバイスによって、クライアントデバイスから所望のコンテンツの要求を受信することであって、
前記コンテンツが、コンテンツ配信ネットワーク(CDN)に記憶されている、受信することと、
前記コンテンツ共有プラットフォームにとって利用可能なデータに基づいて、前記クライアントデバイスに関連する信用パッケージを生成することであって、
前記信用パッケージが、前記クライアントデバイスによる前記所望のコンテンツへのアクセスに関する判断を行うためにCDNサーバによって使用されることになる、生成することと、
前記コンテンツ要求に対する応答を生成することであって、
前記応答が、前記CDN内の前記所望のコンテンツにアクセスするための1つまたは複数のリソースロケータ、および前記信用パッケージを含む、生成することと、
前記クライアントデバイスが前記1つまたは複数のリソースロケータおよび前記信用パッケージを使用して前記CDNサーバからの前記所望のコンテンツを要求することを可能にするために、前記クライアントデバイスに前記応答を送信することと
を行うシステム。 - 前記コンテンツ共有プラットフォームにとって利用可能な前記データが、
前記クライアントデバイスに関連するユーザの視聴履歴、
前記ユーザが以前に前記所望のコンテンツを見たかどうか、
前記クライアントデバイスが以前にその他のコンテンツを成功裏に復号したかどうか、
前記ユーザがログインしているかどうか、
前記ユーザが未認可の活動に関与したことがあるか、もしくは関与した疑いがあるかどうか、
前記クライアントデバイスのインターネットプロトコル(IP)アドレス、または
前記クライアントデバイスに関連する暗号化ログ
を含む複数の特性のうちの1つまたは複数を含む請求項11に記載のシステム。 - 前記信用パッケージが、
前記クライアントデバイスのユーザがログインしているかどうか、
前記コンテンツを要求するために前記ユーザによって使用されたブラウザの種類、
前記クライアントデバイスの地理的位置、または
前記クライアントデバイスのIPアドレス
を示す複数の特性を含む請求項11に記載のシステム。 - 前記信用パッケージが、条件の充足に応答して1つまたは複数の機能を実行するように前記CDNサーバに命令する命令を含む請求項11に記載のシステム。
- 前記1つまたは複数のリソースロケータおよび前記信用パッケージを含む前記応答が、
前記1つまたは複数の複数のリソースロケータおよび/もしくは前記信用パッケージの有効期限、
前記所望のコンテンツを配信するためのビットレート、または
前記所望のコンテンツの前記要求のために作成された再生イベントの識別子
のうちの少なくとも1つを提供する1つまたは複数の署名されたパラメータを使用してデジタル署名される請求項11に記載のシステム。 - 前記処理デバイスが、
前記信用パッケージに基づいて前記コンテンツ要求を拒否するようにさらに動作可能である請求項11に記載のシステム。 - 前記信用パッケージが、前記所望のコンテンツを前記クライアントデバイスに解放するべきかどうか、または前記所望のコンテンツの品質をダウングレードするべきかどうかを判定するために前記CDNサーバによって使用されることになる請求項11に記載のシステム。
- 前記信用パッケージの複数の特性が、前記CDNサーバによって、前記CDNへの前記クライアントデバイスのコンテンツ要求から取得されたデータと比較されることになる請求項11に記載のシステム。
- 前記処理デバイスが、さらに、
前記コンテンツ共有プラットフォームにとって利用可能なデータに基づいて、前記クライアントデバイスに関連する部分的信用測定基準を生成することであって、
前記部分的信用測定基準が、前記クライアントデバイスによる前記所望のコンテンツへのアクセスに関する判断を行うために前記CDNサーバによって前記信用パッケージと一緒に使用されることになる、生成することを行う請求項11に記載のシステム。 - 処理デバイスによる実行に応答して、前記処理デバイスに、
クライアントデバイスから所望のコンテンツの要求を受信する動作であって、
前記コンテンツが、コンテンツ配信ネットワーク(CDN)に記憶されている、動作と、
コンテンツ共有プラットフォームにとって利用可能なデータに基づいて、前記クライアントデバイスに関連する部分的信用測定基準を生成する動作であって、
前記部分的信用測定基準が、前記クライアントデバイスによる前記所望のコンテンツへのアクセスに関する判断を行うためにCDNサーバによって使用されることになる、動作と、
前記コンテンツ要求に対する応答を生成する動作であって、
前記応答が、前記CDN内の前記所望のコンテンツにアクセスするための1つまたは複数のリソースロケータ、および前記部分的信用測定基準を含む、動作と、
前記クライアントデバイスが前記1つまたは複数のリソースロケータおよび前記部分的信用測定基準を使用して前記CDNサーバからの前記所望のコンテンツを要求することを可能にするために、前記クライアントデバイスに前記応答を送信する動作と
を含む動作を実行させる命令を記憶した非一時的コンピュータ可読媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/191,344 US20220286300A1 (en) | 2021-03-03 | 2021-03-03 | Systems and methods to evaluate client device trust in a distributed computing system |
US17/191,344 | 2021-03-03 | ||
PCT/US2022/018771 WO2022187537A1 (en) | 2021-03-03 | 2022-03-03 | Systems and methods to evaluate client device trust in a distributed computing system |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2024508595A true JP2024508595A (ja) | 2024-02-28 |
Family
ID=80952270
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2023541340A Pending JP2024508595A (ja) | 2021-03-03 | 2022-03-03 | 分散コンピューティングシステムにおいてクライアントデバイスの信用を評価するためのシステムおよび方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20220286300A1 (ja) |
EP (1) | EP4302483A1 (ja) |
JP (1) | JP2024508595A (ja) |
KR (1) | KR20230118918A (ja) |
CN (1) | CN116686295A (ja) |
WO (1) | WO2022187537A1 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102213918B1 (ko) * | 2020-08-19 | 2021-02-05 | 윤석찬 | 사용자 고유 식별키 등록 및 인증을 통한 공유서비스 관리 시스템 |
US12113796B2 (en) * | 2022-03-30 | 2024-10-08 | Hewlett Packard Enterprise Development Lp | Secured data access in virtual data processing |
US20240095327A1 (en) * | 2022-09-19 | 2024-03-21 | Capital One Services, Llc | Computer authentication using knowledge of former devices |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2616982A1 (en) * | 2010-09-13 | 2013-07-24 | Thomson Licensing | Method and apparatus for an ephemeral trusted device |
US10198581B2 (en) * | 2012-03-07 | 2019-02-05 | Rapid7, Inc. | Controlling enterprise access by mobile devices |
US10333945B2 (en) * | 2017-01-18 | 2019-06-25 | Oath Inc. | Automatic token based secure content streaming method and apparatus |
US12034724B2 (en) * | 2020-11-04 | 2024-07-09 | Microsoft Technology Licensing, Llc | Adverse user behavior detection and mitigation |
-
2021
- 2021-03-03 US US17/191,344 patent/US20220286300A1/en active Pending
-
2022
- 2022-03-03 KR KR1020237023225A patent/KR20230118918A/ko unknown
- 2022-03-03 CN CN202280008967.7A patent/CN116686295A/zh active Pending
- 2022-03-03 WO PCT/US2022/018771 patent/WO2022187537A1/en active Application Filing
- 2022-03-03 JP JP2023541340A patent/JP2024508595A/ja active Pending
- 2022-03-03 EP EP22713124.0A patent/EP4302483A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
KR20230118918A (ko) | 2023-08-14 |
WO2022187537A1 (en) | 2022-09-09 |
EP4302483A1 (en) | 2024-01-10 |
US20220286300A1 (en) | 2022-09-08 |
CN116686295A (zh) | 2023-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11528264B2 (en) | Merged video streaming, authorization, and metadata requests | |
US20160063223A1 (en) | Distributing protected content | |
US20220286300A1 (en) | Systems and methods to evaluate client device trust in a distributed computing system | |
JP7540019B2 (ja) | 複数の暗号学的デジタル署名を使用したコンテンツアクセスおよびコンテンツ配信の認可の分離 | |
US11228451B2 (en) | Authenticated content delivery platform | |
US20230217054A1 (en) | Systems and methods to deliver content during client authentication process in a distributed computing system | |
US12111891B2 (en) | DRM sharing and playback service specification selection | |
US10602094B1 (en) | Entitlement access token | |
US9122844B2 (en) | Proxy device for managing digital rights | |
JP7571305B2 (ja) | 分散コンピューティングシステムにおいてクライアント認証プロセス中にコンテンツを配信するためのシステムおよび方法 | |
US20230137767A1 (en) | Using co-located secondary devices to protect against cookie theft |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230906 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230906 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20240930 |