CN108781214B - 用于对等内容共享的访问控制技术 - Google Patents

用于对等内容共享的访问控制技术 Download PDF

Info

Publication number
CN108781214B
CN108781214B CN201680083642.XA CN201680083642A CN108781214B CN 108781214 B CN108781214 B CN 108781214B CN 201680083642 A CN201680083642 A CN 201680083642A CN 108781214 B CN108781214 B CN 108781214B
Authority
CN
China
Prior art keywords
media item
user device
media
user
peer
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.)
Active
Application number
CN201680083642.XA
Other languages
English (en)
Other versions
CN108781214A (zh
Inventor
亚德里恩·艾尔斯
阿尔温德·斯里尼瓦桑
塞缪尔·托马斯·登顿
泰·董
罗伯特·安德森
爱德华·纳普
乔纳森·莱维内
乔蒂马亚·阿卡德
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from US15/218,807 external-priority patent/US10298402B2/en
Application filed by Google LLC filed Critical Google LLC
Priority to CN202110187389.5A priority Critical patent/CN112910912B/zh
Publication of CN108781214A publication Critical patent/CN108781214A/zh
Application granted granted Critical
Publication of CN108781214B publication Critical patent/CN108781214B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/02Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/03Protecting confidentiality, e.g. by encryption
    • H04W12/033Protecting confidentiality, e.g. by encryption of the user plane, e.g. user's traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security
    • H04W12/084Access security using delegated authorisation, e.g. open authorisation [OAuth] protocol
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/20Services signaling; Auxiliary data signalling, i.e. transmitting data via a non-traffic channel
    • H04W4/21Services signaling; Auxiliary data signalling, i.e. transmitting data via a non-traffic channel for social networking applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/062Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying encryption of the keys

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

实施方式公开用于对等共享技术的访问控制机制。一种方法包括:由第一用户设备的处理设备经由对等连接从第二用户设备接收加密的媒体项和包装的加密密钥(502);由第一用户设备将包装的加密密钥和请求传送给媒体服务器以确定第一用户设备是否被核准播放加密的媒体项(504);从媒体服务器接收指示第一用户设备被核准播放加密的媒体项的响应(506),该响应包括从包装的加密密钥导出的加密密钥;以及使用加密密钥解密加密的媒体项以播放媒体项(508)。

Description

用于对等内容共享的访问控制技术
技术领域
本公开涉及内容共享平台领域,具体涉及支持用于对等共享系统的访问控制技术的用户界面。
背景技术
内容共享平台和他们对应的网站和移动应用(“应用”)使用户设备能够共享和播放串流(streaming)内容,诸如串流音乐和视频。串流内容可能需要大量带宽,并且一些连接可能无法提供串流内容所需的带宽。当使用更高带宽的连接时内容共享平台可以使用户能够下载或离线保存串流内容,并且当用户设备被断开连接或使用低带宽连接时该内容共享平台可以使用户能够随后播放串流内容。
发明内容
下述是本公开的简化概述以便于提供对本公开的一些方面的基本理解。本发明内容不是对本公开的广泛概述。其既不旨在标识本公开的关键或重要元素,也不旨在描绘本公开的特定实施方式的任何范围或权利要求的任何范围。其唯一目的是以简化形式呈现本公开的一些概念作为稍后呈现的更详细描述的序言。
在本公开的一个方面中,一种方法包括提供用户界面以供显示,该用户界面包括多个媒体项和多个媒体可用性指示符。用户界面的一部分可以表示正在接收媒体项的加密版本和加密密钥的包装版本。该方法可以包括更新媒体项的媒体可用性指示符以表示保存了媒体项的加密版本和加密密钥的包装版本。该方法还可以包括接收对媒体项的加密版本被解密的指示并且更新媒体可用性指示符以表示可用于体验的媒体项。在另一实施方式中,媒体可用性指示符可以被用于区分媒体项的三个状态,第一状态指示媒体项未保存在用户设备上,第二状态指示媒体项是以加密版来保存的,并且第三状态指示媒体项被保存并且可用于被体验。
在一个实施方式中,用户界面可以包括图形控制元素以通过对等连接发起媒体项的加密密钥的包装版本的接收。用户界面可以指示被用于接收媒体项的加密版本的对等连接,并且可以指示使用互联网连接来解密媒体项。在进一步的实施方式中,用户界面可以包括对等连接指示符,该对等连接指示符标识正在提供媒体项的加密版本的用户设备并且标识正在接收媒体项的加密版本的用户设备。
在另一实施方式中,通过包括第一图形部分和第二图形部分的媒体条目在用户界面内表示多个媒体项中的每一个。第一图形部分可以包括相应媒体项的图像,并且第二图形部分可以包括相应媒体项的文本信息。在进一步的实施方式中,该方法可以涉及接收与特定媒体项相对应的用户输入并且发起特定媒体项的呈现,并且用户界面可以包括用于在用户设备上呈现特定媒体项的部分。
在本公开的又一方面中,公开一种用于存储使处理设备执行上述操作的指令的系统和非暂时性机器可读存储介质。
在本公开的另一方面中,一种方法包括:由第一用户设备的处理设备经由对等连接从第二用户设备接收加密的媒体项和包装的加密密钥;由第一用户设备将包装的加密密钥和请求传送给媒体服务器以确定第一用户设备是否被核准播放加密的媒体项;从媒体服务器接收指示第一用户设备被核准播放加密媒体项的响应,该响应包括从包装的加密密钥导出的加密密钥;以及使用加密密钥解密加密的媒体项以播放媒体项。
在此方面的实施方式中,该方法还包括:接收指示对多个媒体项中的媒体项的选择的用户输入;和在接收加密媒体项之前,向第二用户设备传送对媒体项的请求。在此方面的一个实施方式中,包装的加密密钥包括使用来自媒体服务器的非对称加密密钥封装的对称加密密钥。在此方面的一个实施方式中,该方法还包括从媒体服务器接收补充媒体项并在播放媒体项之前、期间或之后呈现补充媒体项。在此方面的一个实施方式中,对等连接是对等无线网络连接。在该方面的一个实施方式中,确定第一用户设备是否被核准播放加密的媒体项的请求包括加密的媒体项的标识符。在该方面的一个实施方式中,该方法还包括:从第三用户设备接收对于媒体项的请求;使用第二加密密钥加密媒体项以生成第二加密媒体项;包装第二加密密钥以生成第二包装加密密钥;将第二加密媒体项和第二包装的加密密钥传送给第三用户设备。在此方面的一个实施方式中,该方法还包括在播放从第二计算设备接收的媒体项之前验证源自媒体服务器的媒体项。在此方面的一个实施方式中,验证包括:计算解密的媒体项的散列;和使用散列和由媒体服务器创建的数字签名来验证解密的媒体项。
在本公开的另一方面中,一种方法包括:由媒体服务器的处理设备向第一用户设备传送媒体项;在处理设备处从第二用户设备接收与媒体项相关联的可播放性请求和包装的加密密钥,可播放性请求询问第二用户设备是否被核准播放在第一用户设备和第二用户设备之间使用对等连接共享的媒体项;由处理设备确定第二用户设备被核准播放媒体项;以及由处理设备传送指示第二用户设备被核准播放媒体项的响应,其中,该响应包括从包装的加密密钥导出的加密密钥。
在此方面的一个实施方式中,该方法还包括:将与媒体项相对应的数字签名传送到第一用户设备。在此方面的一个实施方式中,可播放性响应包括补充媒体项。
在本公开的另一方面中,一种方法包括:由第一用户设备的处理设备经由网络从媒体服务器接收媒体项;在第一用户设备处本地存储媒体项;由第一用户设备使用加密密钥加密媒体项以生成加密的媒体项;响应于接收到与第二用户设备共享所存储的媒体项的请求,由第一用户设备包装加密密钥以生成包装的加密密钥;以及经由对等连接将加密的媒体项和包装的加密密钥传送给第二用户设备。
在此方面的一个实施方式中,用于加密媒体项的加密密钥是由第一用户设备生成的。在此方面的一个实施方式中,加密密钥的包装包括:使用媒体服务器的公钥加密加密密钥。在此方面的一个实施方式中,该方法还包括:将媒体项的元数据传送到第二计算设备,其中元数据是未加密的。在此方面的一个实施方式中,该方法还包括:在将加密的媒体项传送到第二计算设备之前,从第二计算设备接收对媒体项的请求。在此方面的一个实施方式中,该方法还包括:由处理设备从媒体服务器接收补充媒体项;和由处理设备将补充媒体项传送给第二计算设备。在此方面的一个实施方式中,该方法还包括:在将加密的媒体项传送到第二计算设备之前,接收选择媒体项的用户输入和选择第二计算设备的用户输入。在此方面的一个实施方式中,该方法还包括:响应于接收选择媒体项的用户输入,使媒体项可用于共享到第二计算设备。
在本公开的另一方面中,处理设备可操作或被配置来执行根据本文描述的任何方面或实施方式的方法。
在本公开的另一方面,一种系统包括数据处理系统和具有存储的指令的计算机可读介质,该指令在由数据处理系统执行时使得数据处理系统执行包括根据本文描述的任何方面或实施方式的方法的操作。
在本公开的另一方面中,一种计算机程序产品包括指令,该指令在程序由计算机执行时,使计算机执行根据本文描述的任何方面或实施方式的方法。
在本公开的另一方面,计算机可读介质具有存储的指令,该计算机可读介质可以是非暂时性计算机可读介质,尽管此方面不限于此,该指令在由处理器执行时,使处理器执行包括根据本文描述的任何方面或实施方式的方法的操作。
附图说明
在附图中,通过示例而非限制的方式图示本公开。
图1是图示根据本公开的实施方式的示例性系统架构的框图。
图2是图示根据本公开的实施方式的示例用户设备的组件和模块的框图。
图3是图示根据本公开的实施方式的媒体服务器的示例方法的流程图。
图4是图示根据本公开的实施方式的提供共享媒体项的用户设备的示例方法的流程图。
图5是图示根据本公开的实施方式的、正在接收共享媒体项的用户设备的示例方法的流程图。
图6A是根据本公开的实施方式的、用于使用户能够与用于对等共享的访问控制技术交互的示例图形界面。
图6B是根据本公开的实施方式的、用于使用户能够与用于对等共享的访问控制技术交互的另一示例图形界面。
图7至图9是根据本公开的实施方式的、用于正在提供共享媒体项的用户设备的示例图形界面。
图10至图14是根据本公开的实施方式的、用于正在接收共享媒体项的用户设备的示例性图形界面。
图15是图示根据本公开的实施方式的、用于提供使用户能够与用于对等共享的访问控制技术交互的图形界面的示例方法的流程图。
图16是图示根据本公开的实施方式的计算机系统的一个实施方式的框图。
具体实施方式
本公开的方面和实施方式涉及用于对等内容共享技术的用户界面。用户界面使用对等内容共享技术增强用户共享和接收媒体项的能力。传统的内容共享技术可以包括集中式共享系统,其需要具有大带宽的网络连接以便于流送在线内容。在许多新兴市场中,计算网络的能力被限制,并且它们通常具有低带宽、不可靠或不可用。当联网基础设施或互联网访问被限制时,对等联网可以允许内容交换。对等联网的问题在于它经常提供对交换的内容的不受限制的再现和访问,其可能是内容创建者和/或提供者未核准的并且可能是对监视或实施的挑战。
本公开的各方面通过为使用集中式访问控制机制的对等共享系统提供用户界面来解决上述和其他缺陷。将会理解的是,在一个方面或实施方式的场境(context)中描述的特征能够与在其他方面或实施方式的场境中描述的特征组合。集中式访问控制机制可以管理用户设备对存储在用户设备上的媒体项的访问。集中式访问控制机制可以支持一个或多个数字版权管理(DRM)方案,以控制受版权保护的媒体项的使用、修改和分发。在一个示例中,内容共享技术可以涉及媒体服务器和不同用户的多个用户设备。媒体服务器可以向第一用户的用户设备(“第一用户设备”)提供媒体项,并使第一用户设备能够与第二用户的用户设备(“第二用户设备”)共享该媒体项。用户设备可以是诸如电话、平板计算机或膝上型计算机的移动设备,并且可以能够在本地存储媒体项。
在一个示例中,第一用户设备可以从媒体服务器直接流送媒体项(例如,通过互联网),并且可以在本地存储串流媒体。第一用户设备可以使用本地生成的加密密钥对媒体项进行加密,并且可以使用来自媒体服务器的公钥来包装加密密钥。然后第一用户设备可以将加密的媒体项和包装的加密密钥传输到第二用户设备(例如,当第一用户设备和/或第二用户设备具有有限的或没有互联网访问时,经由对等连接传输)。第二用户设备可以访问加密的媒体项,但是可以限制其播放加密的媒体项,直到它与媒体服务器联系。第二用户设备可以使用可播放性请求来联系媒体服务器,该可播放性请求可以包括媒体项的被包装的加密密钥和识别信息。然后,媒体服务器可以执行可播放性检查以确保第二用户设备被核准查看媒体项。然后,媒体服务器可以使用包括未包装的加密密钥的可播放性响应进行响应,其可以使第二用户设备能够解密和播放媒体项。然而,如果可播放性检查未示出第二用户设备被核准观看媒体项,则媒体服务器可以不发送未包装的加密密钥。
对等内容共享技术可以包括一个或多个用户界面,其使用户能够控制共享哪些媒体项并且表示共享媒体项的状态。状态可以对应于媒体项的可用性。例如,第一状态可以对应于正被接收或传输到用户设备之一的媒体项。第二状态可以指示在用户设备上保存媒体项的加密版本和对应的包装的加密密钥。第三状态可以指示媒体项已被解密并准备好在用户设备上呈现。可以在使用期间更新用户界面以修改媒体项指示符,使得它们表示媒体项的当前状态。在其他示例中,用户界面还可以指示用于接收媒体项的加密版本的对等连接,并指示使用互联网连接来解密媒体项。
本文公开的技术是有利的,因为其增强用户使用具有有限或无互联网访问的对等共享技术来共享媒体项的能力,并且还提供管理和监视对共享媒体项的访问的中央机制。该技术可以减少共享媒体项所必需的带宽量,这可能对媒体服务器、中间联网基础设施(例如,互联网服务提供者(ISP))和用户设备有益,并且在新兴市场中可能特别有益。过去,每个用户设备可能已经从媒体服务器访问媒体项,并且现在许多用户设备能够从对等方访问媒体项,并且仅联系媒体服务器以接收对查看媒体项的核准。检查核准所需的网络流量可能比从媒体服务器流送或下载媒体项所需的网络流量或带宽小几个数量级。
为了简单和简洁,本公开的实施方式经常参考视频。然而,本公开的教导广泛应用于媒体项,并且能够被应用于各种类型的内容或媒体项,包括例如视频、音频、文本、图像、程序指令等。
图1图示根据本公开的一个实施方式的示例系统架构100。系统架构100包括媒体服务器110、用户设备120A-Z、对等连接130、对等网络140、网络150和数据存储160。
媒体服务器110可以是一个或多个计算设备(诸如机架式服务器、路由器计算机、服务器计算机、个人计算机、大型计算机、膝上型计算机、平板计算机、台式计算机等。)、数据存储(例如,硬盘、存储器、数据库)、网络、软件组件、和/或硬件组件,其可以被用于向用户提供对媒体项的访问和/或向用户提供媒体项。媒体服务器110可以是内容共享平台的一部分,其可以允许用户消费、上传、共享、搜寻、赞同(“喜欢”)、不喜欢、和/或评论媒体项。内容共享平台还可以包括可以被用于向用户提供对媒体项的访问的网站(例如,网页)或应用后端软件。
媒体服务器110可以托管诸如媒体项112和补充媒体项114的内容。媒体项112和补充媒体项114可以是用户选择的数字内容、用户可用的数字内容、用户上传的数字内容、由内容提供者选择的数字内容、由广播者选择的数字内容等。媒体项112和补充媒体项114的示例包括但不限于数字视频、数字电影、数字照片、数字音乐、网站内容、社交媒体更新、电子书(电子书)、电子杂志、数字报纸、数字有声读物、电子期刊、web博客、简易信息聚合(RSS)、电子漫画书、软件应用等。
可以经由互联网和/或经由移动设备应用来消费媒体项112和补充媒体项114。为了简洁和简单起见,在整个文档中使用在线视频(在下文中也称为视频)作为媒体项112的示例。如这里所使用的,“媒体”、媒体项、“在线媒体项”、“数字媒体”、“数字媒体项”、“内容”、以及“内容项”能够包括电子文件,其能够使用被配置成将数字媒体项呈现给实体的软件、固件或硬件来执行或加载。在一个实施方式中,内容共享平台可以使用数据存储160来存储媒体项112。在一个示例中,媒体项112可以是由用户设备120A的用户识别的用户生成的视频,并且可以通过媒体服务器110选择补充媒体项112以在一个或多个用户设备120A-Z上呈现媒体项112之前、期间或之后呈现。
用户设备120A-Z均可以包括计算设备,诸如个人计算机(PC)、膝上型计算机、移动电话、智能电话、平板计算机、上网本计算机、网络连接的电视等。在一些实施方式中,用户设备120A-Z还可以被称为“客户端设备”。用户设备120A-Z可以能够通过网络150从媒体服务器110接收媒体项112,并且能够经由对等连接130、对等网络140、网络150或其组合与其他用户设备共享媒体项112。。
对等连接130可以是一个或多个用户设备120A-Z之间的任何通信信道。对等连接130可以基于任何无线或有线通信技术,并且可以将第一用户设备直接或间接地(例如,涉及中间用户设备)连接到第二用户设备。无线通信技术可以包括
Figure BDA0001800799300000091
红外、超声或其他技术。有线通信可以包括通用串行总线(USB)、以太网、RS 232或其他有线连接。在其他示例中,对等连接130可以涉及在用户设备之间运输可移动存储介质以传输媒体项和其他数据。可移动存储介质可以是任何形式,包括安全数字(SD)卡、多媒体卡(MMC)、闪存驱动器、其他数据存储设备或其组合。对等连接可以是两个设备之间的单独连接,或者可以包括作为对等网络140的一部分的多个连接。
对等网络140可以是在用户设备120A-Z之间提供一个或多个通信信道的计算网络。在一个示例中,对等网络140可以是不依赖于预先存在的网络基础设施(例如,接入点、交换机、路由器)的对等网络,并且用户设备AZ可以替代联网基础设施来路由用户设备之间的通信。对等网络140可以是这样的无线网络,其是自配置的并且使用户设备120A-Z能够对对等网络140进行贡献并且动态地连接对等网络140和从其断开(例如,自组织无线网络)。在另一示例中,对等网络140可以是包括使用户设备能够与其他用户设备通信的联网基础设施的计算网络。在后一示例中,对等网络140可以或可以不具有对公用网络(例如,互联网)的访问。例如,交通工具(例如,公共汽车、火车)或位置(例如,教室、图书馆、咖啡馆)可以提供接入点或者可以用作接入点的用户设备,以使用户设备能够在没有提供互联网访问的情况下彼此通信。替选地,对等网络可以提供对诸如网络150(例如,互联网)的更大网络的访问。
网络150可以是公用网络,其向用户设备120A-Z中的一个或多个提供对媒体服务器110和其他公共可用计算设备的访问。网络150可以包括一个或多个广域网(WAN)、局域网(LAN)、有线网络(例如,以太网)、无线网络(例如,802.11网络或Wi-Fi网络)、蜂窝网络(例如,长期演进(LTE)网络)、路由器、集线器、交换机、服务器计算机、和/或其组合。
用户设备120A-Z中的每一个可以包括媒体查看器,其允许用户查看通过对等网络140和/或网络150共享的媒体项112。媒体查看器可以呈现图像、视频、音频、网页、文档等。在一个示例中,媒体查看器可以是由Web服务器服务的能够访问、检索、呈现和/或导航内容(例如,诸如超文本标记语言(HTML)页面、数字媒体项等的网页)的web浏览器。媒体查看器可以向用户渲染、显示、和/或呈现内容(例如,网页、媒体查看器)。媒体查看器还可以显示嵌入在网页中的嵌入式媒体播放器(例如,
Figure BDA0001800799300000101
播放器或HTML5播放器)(例如,可以提供关于由在线商家销售的产品的信息的网页)。在另一示例中,媒体查看器可以是允许用户查看数字媒体项(例如,数字视频、数字图像、电子书等)的独立应用(例如,移动应用或应用)。
根据本公开的方面,媒体查看器可以是供用户共享、记录、编辑内容和/或上传内容到内容共享平台的内容共享平台应用。媒体查看器可以由媒体服务器110或内容共享平台提供给用户设备120A-Z。例如,媒体查看器可以是嵌入在由内容共享平台提供的网页中的嵌入式媒体播放器。在另一示例中,媒体查看器可以是在用户设备120A-Z上安装和执行的应用。
在图1中所示的示例中,每个用户设备可以用作媒体共享设备(例如,用户设备120A)、媒体接收者设备(例如,用户设备120B)或两者的组合。每个用户设备可以包括数据存储122、共享接口组件124、提供者组件126、接收者组件128以及数据存储122。
数据存储122可以是存储器(例如,随机存取存储器)、驱动器(例如,硬盘驱动器、闪存驱动器)、数据库系统、或能够存储数据的其他类型的组件或设备。数据存储122可以包括可以跨越多个计算设备(例如,多个服务器计算机)的多个存储组件(例如,多个驱动器或多个数据库)。数据存储122可以包括存储从媒体服务器110接收的媒体项的副本的媒体高速缓存123。在一个示例中,每个媒体项112可以是从媒体服务器110下载的文件并且可以本地存储在媒体高速缓存123中。在另一示例中,每个媒体项112可以从媒体服务器110流送,并且可以作为短暂的副本存在于用户设备的存储器中,直到其被离线保存为止。离线保存指的是用户设备在该用户设备的持久性数据储存器中存储串流媒体的短暂副本。这可以使用户设备能够在不使用互联网连接的情况下在以后的时间点(例如,在重新启动之后)访问被流送的媒体项。在一个示例中,当呈现媒体项时,媒体项可以由用户设备流送到其自身。在一个示例中,用户设备可以通过将媒体项(例如,视频流、音频流)的一个或多个流复制到持久性数据储存器来离线保存被流送的媒体项。
共享接口组件124可以提供用户界面,该用户界面使用户能够选择与共享媒体项所涉及的一个或多个用户设备。共享接口组件124可以提供用户界面,该用户界面使用户能够从媒体高速缓存中选择要共享的一个或多个媒体项。媒体项可以在本地用户设备的媒体高速缓存或远程用户设备的媒体高速缓存内可用。用户界面可以使用户能够识别媒体项的状态以及它们是否被保存在本地用户设备上以及它们是否需要在可用于消费之前被解密。将关于图6A-14更详细地讨论示例用户界面。
提供者组件126可以包括使用户设备能够将媒体项共享给一个或多个其他用户设备的功能。提供者组件126可以生成加密密钥并加密媒体项以减少对媒体项的未核准访问。提供者组件126还可以包装加密密钥,并且可以与一个或多个其他用户设备(例如,接收者设备)共享包装的加密密钥和加密的媒体项。
接收者组件128可以包括使用户设备能够接收和处理加密的媒体项的功能。接收者组件128可以通过从媒体项、提供设备、接收者设备或其组合收集信息来处理传入的媒体项。可以将信息发送到媒体服务器,使得媒体服务器能够确定用户设备是否被核准播放媒体项。在一个示例中,接收用户设备可以以可播放性请求152来将包装的加密密钥发送到媒体服务器,并且媒体服务器可以解包该加密密钥并且以可播放性响应154将其发送回用户设备。然后,用户设备可以使用被解包的加密密钥来解密媒体项。
通常,在适当情况下,在一个实施方式中描述为由内容共享平台执行的功能也能够在其他实施方式中在客户端设备120A到120Z上执行。另外,归因于特定组件的功能能够由一起操作的不同或多个组件来执行。内容共享平台和媒体服务器110还能够作为由适当的应用编程接口提供给其他系统或设备的服务来访问,并且因此不限于在网站中使用。
在本公开的实施方式中,“用户”可以表示为单个个体。然而,本公开的其他实施方式涵盖“用户”是由一组用户和/或自动化源控制的实体。例如,联合为社交网络中的社区的一组个体用户可以被认为是“用户”。在另一个示例中,自动化消费者可以是内容共享平台的自动化摄取管道,诸如主题频道。
尽管就媒体服务器和内容共享平台而言讨论本公开的实施方式,但是实现方式通常也可以应用于提供用户之间的数字内容和连接的任何类型的社交网络。
在这里讨论的系统收集关于用户的个人信息或者可以利用个人信息的情形下,可以向用户提供机会来控制内容共享平台是否收集用户信息(例如,关于用户社交网络、社交动作或活动、职业、用户的偏好或用户的当前位置的信息),或控制是否和/或如何从内容服务器接收可能与用户更相关的内容。另外,某些数据可以在存储或使用之前以一种或多种方式处理,使得移除个人可识别信息。例如,可以处理用户的身份,使得无法确定用户的个人身份信息,或者可以在获得位置信息的情况下将用户的地理位置泛化(诸如至城市、邮政编码或州级别),使得无法确定用户的特定位置。因此,用户可以控制关于用户的信息如何被收集并由内容共享平台使用。
图2是图示示例用户设备200的框图。用户设备200可以与用户设备120A-Z相同或相似。在图2中所示的示例中,用户设备200包括共享接口组件124、提供者组件126、接收者组件128、和数据存储122。
共享接口组件124可以提供用户界面,该用户界面使用户设备200的用户能够查看和选择用于共享的可用用户设备和媒体项。共享接口组件124可以包括设备选择模块210、媒体项可用性模块212、和发起模块214。
设备选择模块210可以搜寻并显示可用于共享的一个或多个用户设备。设备选择模块210可以通过发送出广播消息并等待响应来识别用户设备。广播消息可以标识关于用户设备200的信息,诸如识别信息(例如,设备标识符、用户标识符)、设备资源(例如,处理能力、存储容量、电池电力)、媒体项呈现能力(例如,播放特定媒体项格式的能力)、其他信息或其组合。然后,用户设备200可以从一个或多个其他设备接收响应。该响应可以包括关于其他用户设备的信息,诸如媒体高速缓存信息(例如,可用媒体项)、识别信息(例如,设备标识符、用户标识符)、设备资源(例如,电池电力、网络连接、处理能力、存储容量)、其他信息或其组合。在一个示例中,请求和/或响应可以包括匿名化数据而不是识别信息。设备选择模块210可以在图形界面中显示响应的用户设备,其可以能够接收选择用户设备中的一个或多个的用户输入。将关于图8更详细地讨论示例图形用户界面。
媒体项可用性模块212可以确定哪些媒体项可用于共享。在一些示例中,在共享用户设备的媒体高速缓存中的所有媒体项都可以可用于共享。在其他示例中,用户设备可以识别媒体高速缓存中的媒体项的子集以进行共享。子集可以不包括媒体项、包括一些媒体项、包括所有媒体项或其他变体。该子集可以由用户设备根据用户输入、设备资源、媒体服务器输入或其组合来确定。在一个示例中,用户可以识别媒体高速缓存中的一个或多个特定媒体项以使其可用于共享。在另一示例中,用户设备可以分析设备资源(例如,电池电力、网络带宽)并确定应共享哪个媒体项(如果存在媒体项)。在又一示例中,媒体服务器可以提供标识要共享的一个或多个媒体项的输入。这可以是尝试分发具有特定媒体项的用户设备的数目,以增强媒体项可用性和共享,同时不会增加任何特定用户设备的负担。媒体项可用性模块212可以在图形用户界面中显示可用于共享的媒体项,其可以能够接收用户输入以选择用户设备中的一个或多个。
发起模块214可以与媒体项可用性模块212和设备选择模块210通信,以识别用于共享的特定用户设备和/或媒体项。共享可以涉及将媒体项推送到用户设备或从用户设备拉取媒体项或两者的组合。在一个示例中,用户设备200可以接收标识远程用户设备和本地媒体项的用户输入,并且发起模块214可以发起向远程用户设备对所标识的媒体项的推送。在另一示例中,用户设备200可以接收标识远程用户设备和远程用户设备上可用的媒体项的用户输入,并且发起模块214可以发起从远程用户设备的对所标识的媒体项的拉取。在其他示例中,用户设备可以从第一用户设备拉取媒体项,并且然后可以将媒体项推送到第二用户设备。
共享接口组件124可以以多种模式运行,包括一对一模式、公用模式和专用模式。一对一模式可以类似于上面讨论的推送和拉取特征,并且可以涉及接收标识用于共享的特定媒体项和特定设备的用户输入的用户设备。然后可以将媒体项从一个设备传输到另一个设备(即,一对一)。
公用模式可以类似于一对一模式,因为用户设备200可以接收选择特定媒体项的用户输入,但是当启用公用模式时,可以存在多个共享设备和多个接收者设备。共享设备中的一些或所有可以广播它们的可用媒体项。然后用户设备200可以在不选择特定用户设备的情况下选择一个或多个媒体项。在本示例中,正在共享所选媒体项的用户设备可以对用户设备200保持匿名。相反,当被其他用户设备请求时用户设备200可以作为共享设备参与并广播一组可用媒体项并匿名传输媒体项中的一个或多个。
专用模式可以类似于一对一模式和公用模式,但是可以包括批准阶段。在批准阶段期间,正在共享媒体项的用户设备可以接收对特定媒体项的共享请求,并且可以批准或不批准该共享请求。在一个示例中,批准或不批准可以基于用户输入,在这种情况下,交互模块可以通知用户并且用户可以提供批准或不批准共享的输入。
在共享接口组件124已经识别出媒体项并发起共享之后,它可以与提供者组件126或接收者组件128交互。当用户设备200将媒体项共享给另一个用户设备时,可以使用提供者组件126,并且当用户设备200正从另一用户设备接收共享媒体项时,可以使用接收者组件128。
提供者组件126可以包括密钥生成模块220、加密模块222和包装模块224。提供者组件126执行的功能可以在共享过程中的任何点执行——诸如在从媒体服务器接收媒体项或媒体项被选择以供共享之前、期间或者之后,或者在发起共享之后执行。
密钥生成模块220可以为用户设备创建一个或多个加密密钥240。每个加密密钥240可以包括确定密码函数的函数输出的信息段,并且可以用于加密和解密媒体项。密钥生成模块220可以使用随机数生成器、伪随机数生成器、密钥导出函数、其他机制、或其组合来生成加密密钥240。密钥生成模块220可以使用用户设备可用的信息来对密钥生成播种(seed),所述信息诸如设备标识符、时间戳、IP地址、MAC地址、用户标识符、其他信息或其组合。在一个替选的示例中,加密密钥240可以由媒体服务器或内容共享平台的其他部分生成并发送到用户设备200。
加密模块222可以使用由密钥生成模块220生成的加密密钥240来加密一个或多个媒体项。在一个示例中,用户设备200上的每个媒体项可以使用不同的加密密钥240加密。在另一示例中,用户设备200上的多个(例如,所有)媒体项可以使用加密密钥240加密。加密模块222可以使用诸如数据加密标准(DES)或高级加密标准(AES)的使用单个共享密钥的对称密钥加密系统来加密媒体项。在其他实施例中,加密模块222还可以或替选地使用非对称密码系统或公钥密码系统——诸如Rivest-Shamir-Adleman(RSA)——来加密媒体项,该密码系统诸如多个密钥(例如,公钥和私钥)。
包装模块224可以使用媒体服务器密钥244来包装加密密钥240。媒体服务器密钥244可以是由媒体服务器或内容共享平台的其他部分生成并发送到用户设备200的公钥。包装模块224可以使用媒体服务器密钥244连同密钥封装机制一起来保护加密密钥240,同时将其传输到另一个用户设备并存储在另一个用户设备上。
在一个示例中,加密模块222可以使用对称密钥密码系统来加密媒体项,并且包装模块224可以是非对称密码系统来包装加密密钥240。如上面所讨论的,非对称密码或公钥密码系统可以与RSA相同或相似。在包装加密密钥之后,用户设备200可以将加密的媒体项112(例如,密文)和包装的加密密钥240传输到另一个设备。
当用户设备200正在接收由另一用户设备共享的媒体项时——例如当用户设备200已经接收到如上所述的加密媒体项112和包装的加密密钥240时,可以使用接收者组件128。接收者组件128可以包括可播放性模块230、解密模块232和验证模块234。
可播放性模块230可以与媒体服务器通信以确定用户设备200是否被核准呈现媒体项。与媒体服务器的通信可以涉及传送可播放性请求和接收可播放性响应。可播放性请求可以包括被包装的加密密钥和与媒体项、接收者或共享设备、接收者或共享用户、其他信息、或其组合有关的信息。然后,媒体服务器可以分析此信息并将其与来自一个或多个数据存储(例如,数据库)的信息进行比较,以确定用户设备200是否被核准向用户呈现媒体项。分析可以涉及检查媒体项是否仍可用于呈现和是否其具有任何限制。例如,媒体项可以限于成熟的观众(例如,不限于儿童),或者可以限制于某些地理区域(例如,某些国家)或者排除某些地理区域(例如,某些国家)。在确定已经满足可播放性检查之后,媒体服务器可以解包已包装的加密密钥。解包加密密钥可以涉及用于包装加密密钥的类似密码系统,并且可以利用与媒体服务器密钥(例如,公钥)相关联的私钥。然后,媒体服务器可以以可播放性响应将未包装的加密密钥发送回到用户设备200。
解密模块232可以使用被解包的加密密钥来解密加密的媒体项112。解包加密密钥可以涉及如在上面关于加密模块222所讨论的、用于加密媒体项的类似的密码系统。
验证模块234可以确定媒体项是否是可信的并且其是否包括任何未经核准的修改。验证模块234可以使用与媒体项相关联的数字签名来验证媒体项。数字签名可以基于媒体项(例如,视频和/或音频字节)和媒体服务器的专用签名密钥,并且可以使用任何数字签名机制来计算。在一个示例中,数字签名机制可以与椭圆曲线数字签名算法(ECDSA)相同或相似,并且可以使用椭圆曲线密码学或任何其他形式的密码学来计算数字签名。数字签名可以由媒体服务器或内容共享平台的其他部分计算,并且可以由用户设备200从共享媒体项的用户设备(例如,与加密的媒体项一起)或者直接从媒体服务器(例如,与可播放性响应一起)接收。验证模块234可以鉴于数字签名来分析解密的媒体项以执行验证。在一个示例中,验证模块234可以计算媒体项的散列(例如,视频和/或音频字节)并使用该散列、数字签名和媒体服务器的公用验证密钥来验证解密的媒体项。可以使用诸如安全散列算法(SHA)的密码散列函数或任何其他散列函数来计算散列。
图3、图4和图5描绘实现用于对等媒体共享的访问控制机制的方法300、400和500的说明性示例的流程图。方法300从媒体服务器的角度图示示例处理流程,并且方法400和500分别是用于共享用户设备和接收者用户设备的示例方法。方法300、400和500可以由处理设备执行,该处理设备可以包括硬件(例如,电路、专用逻辑)、软件(诸如在通用计算机系统或专用机器上运行)、或两者的组合。方法300、400和500以及它们个体的功能、例程、子例程或操作中的每一个可以由执行该方法的计算机设备的一个或多个处理器执行。在某些实施方式中,方法300、400和500均可以由单个处理线程执行。替选地,方法300、400和500可以由两个或更多个处理线程执行,每个线程执行该方法的一个或多个个体的功能、例程、子例程或操作。
为了简化说明,将本公开的方法描绘和描述为一系列动作。然而,根据本公开的动作能够以各种顺序发生和/或同时发生,并且与本文未呈现和描述的其他动作一起发生。此外,可能不需要所有图示的动作来实现根据所公开的主题的方法。另外,本领域的技术人员将理解和领会,方法应经由状态图或事件替选地表示为一系列相互关连的状态。另外,将会理解,本说明书中公开的方法能够存储在制品上以促进将这样的方法运输和传输到计算设备。这里使用的术语“制品”旨在涵盖可从任何计算机可读设备或存储介质访问的计算机程序。在一个实施方式中,方法300可以由媒体服务器110执行,并且方法400和500可以由图1的用户设备120执行。
参考图3,方法300可以由媒体服务器的一个或多个处理设备执行,并且可以在框302处开始。在框302处,媒体服务器的处理设备可以将媒体项传输到第一用户设备。媒体项可以包括视频、音频、图像、文本、其他媒体或其组合。媒体服务器的处理设备还可以将一个或多个加密密钥传送到第一用户设备。第一用户设备可以使用加密密钥之一来包装由用户设备生成的设备密钥(例如,加密密钥)。包装(例如,封装)设备密钥可能是有利的,因为当加密密钥通过对等连接传送和/或存储在不可信对等方上时,它可以将加密密钥掩码成密文。在另一示例中,媒体服务器可以将第二加密密钥传送到第一用户设备。第二加密密钥可以由媒体项生成,并且可以用作由用户设备生成的用于加密媒体项的加密密钥的替代。
在框304处,处理设备可以从第二用户设备接收可播放性请求和与媒体项相关联的包装的加密密钥。可播放性请求可以询问第二用户设备是否被核准播放由第一用户设备经由对等连接与第二用户设备共享的媒体项。在一个示例中,包装的加密密钥可以包括使用非对称加密密钥封装的对称加密密钥。对称加密密钥可以是由用户设备生成并用于加密媒体项的加密密钥。非对称加密密钥可以是由媒体服务器提供的用于包装对称加密密钥的公钥。在一个示例中,可播放性请求可以包括被包装的加密密钥和与媒体项、接收者设备或共享设备、接收者或共享用户有关的信息、其他信息或其组合。
在框306处,处理设备可以确定第二用户设备被核准播放媒体项。该确定可以涉及媒体项分析可播放性请求中的信息并将其与来自一个或多个数据存储(例如,数据库)的信息进行比较。分析可以涉及检查媒体项是否仍可用于呈现并且媒体是否对复制或被查看具有任何限制。在一个示例中,媒体服务器的处理设备还可以验证媒体项不包括未经核准的修改。可以通过将与第二用户设备上的媒体项的版本相关联的信息(例如,散列)和与媒体服务器上的媒体项相关联的版本的信息(例如,数字签名)进行比较来执行验证。
在框308处,处理设备可以传送指示第二用户设备被核准播放媒体项的响应,该响应包括从包装的加密密钥导出的加密密钥。导出加密密钥可以涉及使用与用于包装密钥的公钥相对应的私钥来解包被包装的加密密钥。私钥和公钥可以是媒体服务器可访问的密钥对的一部分,并且媒体服务器先前可能已经向第一用户设备提供公钥来包装加密密钥/使得公钥可用于包装加密密钥。包装的加密密钥可以包括密文,并且解包加密密钥可以涉及结合非对称密码函数(例如,公钥密码函数)使用私钥以从密文导出加密密钥。第二用户设备可以使用加密密钥来解密媒体项,并且一旦解密,就可以将媒体项呈现给第二用户设备的用户。
媒体服务器的处理设备还可以在呈现媒体项之前、期间或之后提供要由第二用户设备呈现的补充媒体项。补充媒体项可以包括任何媒体内容。在一个示例中,可以将补充媒体项连同可播放性响应一起提供给第一用户设备。例如,可播放性响应可以包括补充媒体项或补充媒体项可以被包括在来自媒体服务器或其他设备(例如,合作伙伴、隶属机构)的另一响应中。在另一示例中,补充媒体项可以被提供给第一用户设备,并且可以在传送加密的媒体项之前、期间或之后从第一用户设备传送到第二用户设备。响应于参考框308完成上文所述的操作,该方法可以终止。
在其他示例中,方法300可以涉及验证由源自媒体服务器的第二用户设备接收的媒体项。验证可以在第二用户设备上播放媒体项之前的任何时刻发生,并且可以由媒体服务器、第一用户设备、第二用户设备、其他设备或其组合来执行。例如,其可以在第二用户设备从第一用户设备接收加密的媒体项之前,在解密第二用户设备上的媒体项之前,在播放媒体项之前或任何其他时间之前发生。在一个示例中,验证可以由第二设备(例如,接收者设备)执行,并且可以涉及分析散列。散列可以基于媒体项的解密版本,并且可以由第二设备计算。第二设备还可以分析由媒体服务器创建并直接从媒体服务器接收或从共享加密媒体项和包装的加密密钥的用户设备接收的数字签名。然后,第二用户设备可以分析散列和数字签名以确定解密的媒体项是可信的。
参考图4,方法400可以通过处理与另一用户设备共享媒体项的用户设备的设备来执行。共享可以由共享设备或接收者设备发起。由共享设备发起的共享可以被认为是基于推送的共享,因为可以将媒体项从共享设备推送到接收者设备。由接收者设备发起的共享可以被认为是基于拉取的共享,因为媒体项是从共享设备拉取到接收者设备的。
方法400可以在框402处开始,其中第一用户设备的处理设备可以经由网络从媒体服务器接收媒体项。可以使用任何串流或文件传输技术将媒体项从媒体服务器流送或下载到第一用户设备。串流技术可以将媒体项分离成音频流和视频流。可以使用诸如MP3、高级音频编码(AAC)、Opus、其他编码机制或其组合的音频编解码器来压缩音频流。可以使用诸如H.264、VP8、其他编码机制、或其组合的视频编解码器来压缩视频流。串流技术还可以或替选地将音频流和视频流组装成容器流(例如,比特流),诸如MP4、Flash视频(FLV)、高级系统格式(ASF)、互联网流媒体标准化团体(ISMA)、其他编码机制、或其组合。文件传输技术可以基于任何文件传输协议,诸如超文本传输协议(HTTP)、文件传输协议(FTP)、简单文件传输协议(TFTP)、BitTorrent、其他协议、或其组合。
在框404处,处理设备可以在第一用户设备处本地存储媒体项。当利用串流媒体时,存储可以涉及将流送的媒体项离线保存到持久性储存器。用户设备可以通过将媒体项的一个或多个流(例如,视频流、音频流)从存储器复制到持久性数据储存器来离线保存流送的媒体项。在一个示例中,第一用户设备可以请求来自媒体服务器的许可以便于离线保存媒体项,并且媒体服务器可以用加密密钥(例如,高速缓存令牌)进行响应以加密离线保存的媒体项。在另一示例中,与从媒体服务器接收加密密钥相反,第一用户设备本身可以生成加密密钥。
在框406处,处理设备可以使用加密密钥来加密媒体项以生成加密的媒体项。用于加密媒体项的加密密钥可以由处理设备或媒体服务器生成。在一个示例中,加密媒体项可以涉及使用使用单个共享密钥的对称密钥密码系统,诸如,数据加密标准(DES)或高级加密标准(AES)。在其他示例中,加密媒体项可以涉及使用诸如Rivest-Shamir-Adleman密码系统(RSA)的非对称密码系统或公钥密码系统,其使用多个密钥(例如,公钥和私钥)。
在框408处,响应于接收到与第二用户设备共享所存储的媒体项的请求,处理设备可以包装加密密钥以生成包装的加密密钥。如在上面所讨论的,共享设备(例如,第一用户设备)可以请求共享媒体项——在这种情况下,媒体项被推送到接收者设备(例如,第二用户设备),或者接收者设备可以请求共享——在这种情况下,媒体项由接收者设备从共享设备中拉取。当推送媒体项时,该请求可以基于从用户接收的用户输入,其可以选择媒体项、目的地设备或两者的组合。当拉取媒体项时,该请求可以基于接收者设备接收的消息,该消息指示接收者设备正在请求待共享的媒体项。在接收到请求之后,处理设备可以通过使用媒体服务器的公钥来对加密密钥进行加密来包装加密密钥。
在框410处,处理设备可以经由对等连接将加密的媒体项和包装的加密密钥传送到接收者设备。在一个示例中,共享设备还可以向接收者设备传送补充媒体项或指向补充媒体项的链接。补充媒体项或指向补充媒体项的链接可以源自媒体服务器并且可以与媒体项一起被传输。在另一示例中,共享设备还可以将媒体项的元数据传送到接收者设备,并且当元数据可以在未加密时传输。响应于参考框410完成上文所述的操作,该方法可以终止。
参考图5,可以由从共享设备接收媒体项的接收者用户设备的处理设备来执行方法500。当接收者用户设备的处理设备可以通过对等连接从共享用户设备接收加密的媒体项和包装的加密密钥时,方法500可以在框502处开始。在一个示例中,对等连接可以是使用无线技术、有线技术或可移动介质的在两个设备之间的直接连接。在另一示例中,对等连接可以是对等无线网络连接。在一个示例中,处理设备可以在向共享用户设备传送对媒体项的请求之后接收加密的媒体项。
在框504处,处理设备可以将包装的加密密钥和请求传送到媒体服务器以确定接收者用户设备是否被核准播放加密的媒体项。确定接收者用户设备是否被核准播放加密媒体项的请求可以包括媒体项的标识符。在一个示例中,接收者用户设备可以与共享用户设备绑定,并且可以使用共享用户设备的网络连接将请求和包装的密钥传送到媒体服务器。
在框506处,处理设备可以从媒体服务器接收指示接收者用户设备被核准播放加密的媒体项的响应。响应可以包括从包装的加密密钥导出的加密密钥。在一些示例中,来自媒体服务器的响应可以包括可以在播放媒体项之前、期间或之后呈现的补充媒体项或指向补充媒体项的链接。在其他示例中,可以在接收加密的媒体项时从共享用户设备接收补充媒体项。
在框508处,处理设备可以使用加密密钥对加密的媒体项进行解密。加密密钥可以是共享用户设备使用以加密媒体项的相同密钥。在解密媒体项之后,处理设备可以经由接收者用户设备的图形界面指示媒体项准备好被播放。关于图14更详细地讨论图形界面。在解密媒体项之后,例如根据如本文所述的方法,接收者用户设备可以将媒体项添加到媒体高速缓存并使其可用于与其他设备共享。将在下面关于图6A-9更详细地讨论与另一设备(例如,第三设备)共享媒体项。响应于参考框508完成上文所述的操作,该方法可以终止。
图6A-14图示包括访问控制机制的对等共享移动应用的示例图形界面。图6A和6B表示使用户能够查看与多个媒体项有关的信息并检测多个媒体项中的每一个的可用性的图形界面。图7-9表示用于选择媒体项并将媒体项传送到另一设备的图形界面。图10-14表示用于接收共享媒体项并处理媒体项以使其可用于呈现的示例图形界面。
参考图6A,用户界面600可以使用户能够查看一个或多个媒体项并发起对媒体项中的一个或多个的共享。一个或多个媒体项可以是在本地用户设备的媒体高速缓存中可用的媒体项的子集(例如,一些或全部)(例如,一组保存的媒体项)。用户设备可以响应于接收启动软件组件(例如,移动应用)的用户输入而向用户提供用户界面600,或者可以响应于从一个或多个其他用户设备接收共享(传送或接收)媒体项的请求而自动地起始用户界面600。用户界面600可以包括向用户设备的用户提供(例如,呈现、显示、指示、反映)图形信息的一个或多个图形元素。图形元素可以表示基础数据结构(例如,媒体项)的信息,并且当修改基础数据结构时可以被更新(例如,刷新)。在一个示例中,图形元素可以被配置成向用户提供信息,但是可以不被配置成从用户接收信息(例如,用户输入)。在另一示例中,图形元素可以是向用户提供信息的图形控制元素,并且还可以被配置成从用户接收信息,诸如接收用户输入。可以由用户设备经由触摸屏接收用户输入(例如,轻敲、轻扫或其他触摸手势)、经由鼠标/键盘接收用户输入(例如,点击、滚动、键入)、经由相机接收用户输入(例如,手势)、经由加速度计接收用户输入(例如,摇动)、其他感官设备接收用户输入、或其组合来接收用户输入。在图6A所示的示例中,用户界面600可以包括媒体条目区域610、一个或多个媒体条目620、一个或多个媒体可用性指示符626和626B、以及共享控制元素630。
媒体条目区域610可以是用户界面600的任何部分,其显示与一个或多个媒体项相对应的信息。媒体条目区域610可以包括组织成媒体项布局的多个媒体项。在一个示例中,媒体项布局可以是媒体项序列或媒体项列表。媒体条目区域610可以被配置成接收用户输入以在一个或多个方向(例如,水平、垂直或其他方向)上调整(例如,滚动、平移、缩放、移动、重新定位)媒体项布局。当调整媒体项布局时,特定媒体项的位置可以改变,并且可以显示新的媒体项并且可以隐藏现有的媒体项。媒体条目区域610中的每个媒体项可以由媒体条目620表示。
每个媒体条目620可以是提供与特定媒体项相对应的信息的图形数据结构。如图6A中所示,媒体条目620可以包括图像622、元数据624和媒体可用性指示符626A。图像622可以是表示媒体项的图像(例如,封面图像)或表示媒体项的一部分的图像,诸如媒体项的视频帧(例如,缩略图图像)。元数据624可以包括关于媒体项的任何信息,诸如标题、创建者、上传者、持续时间、创建日期/时间、上传日期/时间、观看者的数目、共享者的数目、其他信息或其组合。
媒体可用性指示符626A和626B可以是表示对应的媒体项是否在特定用户设备上可用的图形元素。媒体可用性指示符626A和626B可以是任何图形元素或图形控制元素,并且可以包括形状(例如,圆形、正方形、八边形)、符号(例如,锁、复选标记、箭头)、颜色(例如,蓝色、绿色、红色、黄色)、文本(例如,不同的字体、大小)、图像,其他图形或其组合。
图形元素可以位于媒体条目区域610内或对应的媒体条目620内的任何位置处。媒体可用性指示符626A、626B可以叠加在相应的媒体条目620的图像622上,或者可以被定位在媒体条目620或者图像的相邻位置(例如,上方、下方、侧面)处。在图6A中所示的示例中,媒体可用性指示符626A可以是具有蓝色圆形形状和嵌入式锁符号的覆盖图形元素并且媒体可用性指示符626B可以是具有蓝色圆形形状和嵌入的带下划线的复选标记符号的覆盖图形元素。在一个示例中,媒体可用性指示符中的一些或全部可以是图形控制元素,其接收用户输入并作为响应执行动作。例如,媒体可用性指示符626A可以指示媒体项处于锁定或加密状态。当媒体可用性指示符626A接收用户输入(例如,轻敲、点击、悬停、保持)时,其可以发起状态转变(例如,手动发起的解密)或呈现关于如何转变对应媒体项的信息(参见图12)。媒体可用性指示符的变化可以用于指示多个不同的媒体项状态,这将参考图6B更详细地讨论。
共享控制元素630可以被包括在用户界面600内,并且可以使用户能够共享一个或多个媒体项。共享控制元素630可以接收用户输入(例如,轻敲、轻扫、点击、击键),并且可以发起一个或多个用户界面以共享媒体项。共享媒体项可以涉及将一个或多个媒体项传送到另一个用户设备和/或从另一个用户设备接收一个或多个媒体项。共享控制元素630可以包括一个或多个图形元素,并且可以包括形状(例如,圆形、正方形、八边形)、符号(例如,箭头、锁、复选标记)、文本、图像、其他图形或其组合。共享控制元素630可以被定位在用户界面600内的任何位置,其可以包括或不包括媒体条目区域610。在图6A中所示的示例中,共享控制元素630可以是具有蓝色圆形形状的图形控制元素,该蓝色圆形形状带有指向相对方向的嵌入的平行水平箭头,并且一旦被选择,则可以使得用户界面前进到图7的用户界面700。
参考图6B,用户界面650可以类似于用户界面600,并且可以显示处于不同状态下的媒体项,并且媒体项中的一个或多个可以在状态之间转变。在一个示例中,用户界面650可以包括多个媒体项状态628A-B、媒体条目625和对等连接区域660。
媒体项状态628A-C可以图示在用户设备的使用期间媒体项目可以处于或者被转变到或者从其转变的一些状态。媒体项状态628A可以图示媒体项的示例第一状态,其中媒体项尚未被保存在用户设备上但是正处于从另一设备接收(例如,下载)的过程中。其他设备可以是一个或多个对等用户设备、服务器设备、其他设备、或其组合。如在上面所讨论的,正在接收的媒体项的版本可以是加密版本,并且可以伴有包装的加密密钥。用户设备可以在接收加密的媒体项之前、期间或之后接收包装的加密密钥,并且可以从传送加密的媒体项的相同设备或从不同的设备接收。
媒体项状态628B图示媒体项的第二状态,其中媒体项可以以加密形式保存在用户设备上。媒体项可以连同加密密钥的包装版本一起保存。当媒体项处于第二状态时,用户设备不能够解释或呈现媒体项,但是能够与一个或多个其他用户设备共享媒体项的加密版本。
媒体项状态628C图示媒体项的第三状态,其中媒体项可以保存在用户设备上并且可供用户体验。当用户设备解密媒体项的加密版本时,媒体项可以从第二状态转变到第三状态。如上所讨论的,用户设备可以通过将包装的加密密钥发送到远程设备(例如,内容共享平台)来解密媒体项,其执行可播放性检查并解包所包装的加密密钥。然后可以将加密密钥的解包版本发送到用户设备,并且用户设备可以使用其来解密媒体项,这可以使媒体项能够转变到媒体项状态628C。
媒体项状态628A-C中的每一个可以由相应的媒体可用性指示符626A和626B或不存在媒体可用性指示符来表示。例如,媒体项状态628A可以由不存在媒体可用性指示符(例如,隐藏的媒体可用性指示符)来表示,然而媒体项状态628B和628C可以分别由媒体可用性指示符626A和626B表示。特定媒体项可以在对等共享技术的操作期间在状态中的一个或多个之间转变。例如,当通过对等连接正从另一用户设备下载媒体项的加密版本和包装的加密密钥时,媒体项可以在媒体项状态628A中开始。一旦下载完成,媒体项可以转变到媒体项状态628B,并且可以更新用户界面650以将媒体指示符从媒体指示符626A转变到媒体指示符626B。
媒体项状态628A-C还可以由一个或多个其他图形特征表示。其他图形特征可以包括修改媒体条目或媒体条目的一部分以调整透明度(例如,灰化)、字体(例如,粗体、斜体、突出显示)、大小(例如,放大、缩小)、布局(例如,缩进或突出特定媒体条目)。在图6B中所示的示例中,媒体项状态628A可以由示例媒体条目625表示,其可以包括进度指示符627和图形控制元素629。进度指示符627、图形控制元素629、隐藏媒体可用性指示符、其他特征或特征的组合的存在可以指示媒体条目对应于媒体项状态628A。
进度指示符627可以是图形元素,其提供接收媒体项和/或包装的加密密钥的进展的图形表示。进度指示符627可以采用任何形状,诸如条(例如,进度条)、圆形(例如,转轮、动态浏览图示(throbber))、其他形状、或其组合。图形元素可以伴随百分比格式的进度的文本表示。进度指示符可以位于界面650上的任何位置处。在一个示例中,进度指示符627可以显示为与媒体图像和/或元数据相邻(例如,侧面、上方、下方)。在另一示例中,进度指示符627可以以半透明或不透明的方式显示在媒体图像和/或元数据上方,如图6B中所示。
图形控制元素629可以使用户能够取消媒体项的传输。取消媒体项的传输可以将媒体项从状态628A转变到表示下载媒体项的取消或失败尝试的另一状态(例如,第四状态)(第四状态未示出)。图形控制元素629可以是按钮、微件、其他元素、或其组合。
连接区域660可以是用户界面650的任何部分,其显示关于用于传送或接收媒体项的一个或多个连接的信息、加密密钥(包装或未包装的)、其他信息、或其组合。该连接可以是对等连接、互联网连接、其他连接或其组合。在一个示例中,可以显示连接(例如,对等连接),同时媒体项的加密版本和包装的加密密钥正由用户设备接收或从用户设备传送。在另一示例中,当被包装或未包装的加密密钥正被用户设备接收或从用户设备传送时可以显示连接(例如,互联网连接)。
对等连接指示符662可以显示在连接区域660内,并且可以是一种类型的连接的示例。对等连接指示符662可以包括一个或多个设备符号664A和664B、设备信息666A和666B、以及连接符号668。一个或多个设备符号664A和664B可以图形地表示设备并且可以具有用于诸如手机、平板计算机、笔记本计算机、台式机、服务器或其他设备的不同类型或者种类的设备的不同的符号。设备信息666A和666B可以包括设备的识别信息,诸如设备标识符(例如,设备名称、用户名、IP地址)和相对标识符,其可以指示设备标识符是否对应于本地设备(例如,“我的设备“)或远程设备(例如,“其他设备”、“传送设备”、“接收设备”)。在一个示例中,连接符号668可以指示被用于连接的基础技术,诸如wifi、蓝牙、蜂窝(例如,3G、4G)、其他技术或其组合。
参考图7,用户界面700可以显示所选媒体项的信息和用于共享所选媒体项的界面。用户界面700可以包括显示区域710和共享区域720。显示区域710可以包括用于呈现(例如,播放)媒体项的嵌入式媒体播放器。共享区域720可以包括用于共享媒体项的一个或多个选项。第一选项722可以使媒体项能够与附近的用户设备共享。第二选项724可以使媒体项能够与可通过互联网访问的用户共享。当用户输入指示选择第一选项722时,用户界面700可以前进到用户界面800。
参考图8,用户界面800可以使用户能够选择意图作为共享媒体项的接收者的一个或多个用户设备。在一个示例中,所显示的用户设备可以是位于用户设备的地理区域中(例如,在30英尺内)的用户设备。用户界面800可以包括显示共享设备812和一个或多个接收者设备814A和814B的接收者选择区域810。接收者设备814A和814B相对于共享设备812的位置可以对应于对应用户设备之间的实际物理距离。响应于指示对接收者设备814B的选择的用户输入,用户界面800可以前进到用户界面900。
参考图9,用户界面900可以在传输媒体项之前、期间和之后提供关于媒体项的共享的信息。用户界面900可以包括共享指示符区域910和对等连接指示符区域930。共享指示符区域910可以包括媒体条目920,其可以与图6A的媒体条目620相同或相似。对等连接指示符区域930可以显示本地用户设备和所选择的接收者设备。
图10-14可以包括与发送共享媒体项相反,在接收共享媒体项时呈现的用户界面的示例。参考图10,用户界面1000可以在接收媒体项之前、期间和之后提供关于媒体项的信息。用户界面1000可以类似于用户界面600和900,但是可以由接收设备而不是发送设备呈现。用户界面1000可以包括媒体列表1010和对等连接指示符区域1030。媒体列表1010可以包括与图6A的媒体条目620相同或相似的一个或多个媒体条目1020。与图9中所示的接收者设备相反,对等连接指示符区域1030可以显示本地用户设备和所选择的发送设备。
参考图11,用户界面1100可以提供关于本地用户设备的媒体高速缓存中的媒体项(例如,保存的媒体项)的信息。用户界面1100可以与用户界面600相同或相似,并且可以包括一个或多个媒体条目1120。每个媒体条目1120可以包括媒体可用性指示符1122A或1122B。媒体可用性指示符1122A可以指示媒体项存储在媒体高速缓存中(例如,离线保存)但是不可用于播放。这可能是因为媒体项可以被加密。媒体可用性指示符1122B可以指示媒体项可用于播放或与另一用户设备共享。
参考图12,用户界面1200可以提供关于验证和解密所接收的媒体项的信息。用户界面1200可以包括信息覆盖1240,其提供关于解密和验证媒体项的信息。其可以向用户指示可用性检查可用于确保视频可用并且能够执行验证检查以确保媒体项源自媒体服务器并且不具有未经核准的修改(例如,安全威胁)。
参考图13,用户界面1300可以提供与可播放性检查和验证检查相关的信息处理步骤。用户界面1300可以包括状态区域1350,其提供关于解密和验证过程的状态的信息。在一个示例中,其可以显示一个或多个过程中的每个过程是否已经完成。
参考图14,用户界面1400可以包括通知区域1460,其提供包括图形、文本、音频、触觉或其他组件的通知。
图15描绘用于为对等媒体共享应用提供用户界面的方法1500的说明性示例的流程图。方法1500可以类似于上面讨论的方法300、400和500,并且可以集中于在用户设备上提供图形界面,该图形界面使用户能够可视化方法300、400和500的一个或多个特征或步骤。方法1500可以由用户设备的一个或多个处理设备执行,并且可以在框1502处开始。
在框1502处,用户设备的处理设备可以提供包括多个媒体项和多个媒体可用性指示符的用户界面以供显示。用户界面可以与图6A的用户界面600相同或相似,并且可以包括媒体可用性指示符626A和626B。处理设备可以响应于接收启动软件组件(例如,移动应用)的用户输入而提供用户界面,或者可以响应于接收共享(传送或接收)媒体项的请求而自动发起。在一个示例中,多个媒体项中的每一个可以连同媒体可用性指示符一起显示。在另一示例中,媒体项中的一些可以与媒体可用性指示符一起显示,并且其他媒体项可以与隐藏媒体指示符一起显示或者在没有媒体指示符的情况下显示。在后一示例中,隐藏媒体指示符可以指示对应的媒体项(例如,媒体项的加密版本)正在被接收的过程中并且媒体项尚未保存在用户设备上或者可用于被体验。当用户设备正在接收媒体项时,可能存在用户界面的一部分,其表示正在从另一设备接收媒体项的加密版本和加密密钥的对应包装版本。
在一个示例中,用户界面可以包括图形控制元素(例如,图6A中的共享控制元素630)以发起通过对等连接接收媒体项的加密密钥的包装版本。在另一示例中,用户界面可以指示用于接收媒体项的加密版本的对等连接(例如,图1的对等连接130)并且指示互联网连接被用于解密媒体项(例如,图13中的状态区域1350)。对等连接可以被显示为对等连接指示符(例如,图6B中的对等连接指示符662),其标识正在提供媒体项的加密版本的用户设备,并且还标识正在接收媒体项的加密版本的用户设备。
在框1504处,处理设备可以更新所述媒体可用性指示符中的一个媒体可用性指示符以表示媒体项的加密版本和加密密钥被保存在本地设备上。更新可以响应于接收指示媒体项和加密密钥的下载已经完成的信号。在一个示例中,媒体可用性指示符可以被用于区分特定媒体项的三个不同状态。第一状态可以指示媒体项未保存在用户设备上。第二状态可以指示媒体项以加密形式被本地保存。第三状态可以指示媒体项被保存并且可用于被体验(例如,由用户设备的用户消费)。可以存在更多或更少的状态,并且可以经由用户界面向用户显示。
在框1506处,处理设备可以接收媒体项的加密版本被解密的指示。可以从用户设备的模块(例如,图2中的解密模块232)接收该指示。解密可以是鉴于可以被用于加密和解密媒体项的加密密钥。加密密钥可以由对等设备或其他远程设备(例如,内容共享平台)接收。在一个示例中,用户设备可以包括被包装的加密密钥,并且可以将包装的加密密钥传输到服务器,并且作为响应,可以接收未包装的加密密钥。然后用户设备可以使用未包装的加密密钥以及一个或多个密码函数来解密媒体项。
在框1508处,处理设备可以更新媒体可用性指示符以表示可用于被体验的媒体项。更新可以响应于接收媒体项的加密版本被解密的指示。更新媒体可用性指示符可以涉及用第二媒体可用性指示符替换第一媒体可用性指示符。更新媒体可用性指示符还可以或替选地涉及修改现有媒体可用性指示符以调整嵌入的符号、颜色、形状、格式、其他图形属性、或其组合。
在一个示例中,多个媒体项中的每一个可以通过媒体条目在用户界面内表示。媒体条目可以包括具有不同形式的数据(例如,图像、文本)的多个图形部分。第一图形部分可以包括媒体项的图像(例如,图6A的图像622),并且第二图形部分可以包括媒体项的文本信息(例如,图6A的元数据624)。用户界面或媒体条目的一个或多个部分可以被配置成接收与特定媒体项相对应的用户输入并且发起特定媒体项的呈现。可以经由触摸屏接收用户输入(例如,轻敲、轻扫或其他触摸手势)、经由鼠标/键盘接收用户输入(例如,点击、滚动、键入)、经由相机接收用户输入(例如,手势)、经由加速度计接收用户输入(例如,摇动)、经由其他感官设备接收用户输入或其组合用户设备接收用户输入。特定媒体项的呈现可以由嵌入在用户界面的一部分内的媒体播放器发生,或者可以在不同的用户界面内发生。响应于完成参考框1508在上文描述的操作,该方法可以终止。
如已经指出的,本文公开的技术是有利的,因为其增强用户使用具有有限或无互联网访问的对等共享技术来共享媒体项的能力,并且还提供管理和监视对共享媒体项的访问的中央机制。其可以减少共享媒体项所需的带宽量,这可能有益于媒体服务器、中间联网基础设施(例如,互联网服务提供者(ISP)和用户设备)并且可能在新兴市场中特别有益-用户设备能够从对等方访问媒体项,并且仅需要联系媒体服务器以接收查看媒体项的核准。检查核准所需的网络流量可能小于网络业务量或从媒体服务器流送或下载媒体项所需的带宽的数量级。该技术也是有利的,因为其可以增强媒体服务器确定经由对等连接共享的媒体项的收视率的能力,确定内容创建者或提供者的货币化,并提供补充媒体项(例如,相关视频、广告或其他媒体项)。
图16描绘根据本公开的一个或多个方面操作的计算机系统的框图。媒体服务器110可以根据图16的计算机系统实现和/或客户端设备120A-120Z可以根据图16的计算机系统实现。在某些实施方式中,计算机系统1600可以(例如,经由网络,诸如局域网(LAN)、内联网、外联网或互联网)连接到其他计算机系统。计算机系统1600可以在客户端-服务器环境中以服务器或客户端计算机的身份运行,或者作为对等或分布式网络环境中的对等方计算机运行。计算机系统1600可以由个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、蜂窝电话、web设备、服务器、网络路由器、交换机或桥接器、或能够执行指定要由该设备采取的动作的指令集(顺序或以其它方式)的任何设备提供。此外,术语“计算机”应包括单独或联合执行一组(或多组)指令以执行本文所述的方法中的任何一个或多个的任何计算机集合。
在又一方面中,计算机系统1600可包括处理设备1602、易失性存储器1604(例如,随机存取存储器(RAM))、非易失性存储器1606(例如,只读存储器(ROM)或者电可擦除可编程ROM(EEPROM))和数据存储设备1616,它们可以经由总线1608相互通信。
处理设备1602可以由一个或多个处理器提供,所述一个或多个处理器诸如通用处理器(诸如,复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、非常长的指令字(VLIW)微处理器、实现其他类型指令集的微处理器、或实现指令集类型组合的微处理器)或专用处理器(例如,专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)或网络处理器)。
计算机系统1600还可以包括网络接口设备1622。计算机系统1600还可以包括视频显示单元1610(例如,LCD)、字母数字输入设备1612(例如,键盘)、光标控制设备1614(例如,鼠标)和信号生成设备1620。
数据存储设备1616可以包括非暂时性计算机可读存储介质1624,其上可以存储编码本文描述的方法或功能中的任何一个或多个的指令1626,包括编码图2的共享接口组件124并且用于实现方法500的指令。
指令1626还可以在由计算机系统1600执行期间完全或部分地驻留在易失性存储器1604内和/或处理设备1602内,因此,易失性存储器1604和处理设备1602也可以组成机器可读存储介质。
虽然计算机可读存储介质1624在说明性示例中被示为单个介质,但术语“计算机可读存储介质”将包括存储一组或多组可执行指令的单个介质或多个介质(例如,集中式或分布式数据库、和/或被关联的高速缓存和服务器)。术语“计算机可读存储介质”还将包括能够存储或编码一组指令以供计算机执行的任何有形介质,该指令使计算机执行本文所述的任何一个或多个方法。术语“计算机可读存储介质”将包括但不限于固态存储器、光学介质和磁介质。
本文描述的方法、组件和特征可以由分立硬件组件实现,或者可以集成在诸如ASICS、FPGA、DSP或类似设备的其他硬件组件的功能中。另外,方法、组件和特征可以由硬件设备内的固件模块或功能电路实现。此外,方法、组件和特征可以以硬件设备和计算机程序组件的任何组合来实现,或者以计算机程序来实现。
除非另有明确说明,否则诸如“检测”、“确定”、“释放”、“销毁”、“发起”、“创建”、“放弃”等术语指的是由计算机系统执行或者实现的动作和过程,该计算机系统操纵被表示为计算机系统寄存器和存储器内的物理(电子)量的数据并且将其转换成类似地表示为计算机系统存储器或寄存器或其他这样的信息存储、传输或显示设备内的物理量的其他数据。此外,如这里使用的术语“第一”、“第二”、“第三”、“第四”等是指在不同元素当中区分的标签,并且可以不具有根据它们的数字标记的序数含义。
本文描述的示例还涉及用于执行本文描述的方法的装置。该装置可以专门构造用于执行这里描述的方法,或者其可以包括由存储在计算机系统中的计算机程序选择性地编程的通用计算机系统。这样的计算机程序可以存储在计算机可读有形存储介质中。
本文描述的方法和说明性示例并非固有地与任何特定计算机或其他装置相关。可以根据本文描述的教导使用各种通用系统,或者可以证明构造更专用的装置以执行方法300、400、500和/或其各个功能、例程、子例程或操作中的每一个是方便的。在以上描述中阐述用于各种这些系统的结构的示例。
以上描述旨在是说明性的而非限制性的。尽管已经参考特定说明性示例和实施方式描述本公开,但是将认识到本公开不限于所描述的示例和实施方式。应参考所附权利要求书连同该权利要求书所赋予的等效物的全部范围来确定本公开的范围。

Claims (20)

1.一种用于控制对加密的媒体项的访问的方法,包括:
由第一用户设备的处理设备经由对等连接从第二用户设备接收所述加密的媒体项和包装的密钥,其中,所述包装的密钥包括相对于所述第一用户设备进行掩码的内容;
由所述第一用户设备将所述包装的密钥和请求传送给媒体服务器以确定所述第一用户设备是否被核准播放所述加密的媒体项;
从所述媒体服务器接收指示所述第一用户设备被核准播放所述加密的媒体项的响应,所述响应包括从所述包装的密钥导出的密码密钥;
使用所述密码密钥解密所述加密的媒体项;以及
由所述第一用户设备验证从所述第二用户设备接收的、源自所述媒体服务器的所述媒体项,其中所述验证是根据所解密的媒体项的散列和所述媒体服务器的数字签名。
2.根据权利要求1所述的方法,进一步包括:
接收指示对多个媒体项中的所述媒体项的选择的用户输入;以及
在接收所述加密的媒体项之前,将对所述媒体项的请求传送到所述第二用户设备。
3.根据权利要求1所述的方法,其中,所述包装的密钥包括使用来自所述媒体服务器的非对称密码密钥封装的对称密码密钥。
4.根据权利要求1所述的方法,进一步包括:在播放所述媒体项之前、期间或之后,从所述媒体服务器接收补充媒体项并且呈现所述补充媒体项。
5.根据权利要求1所述的方法,其中,所述对等连接是对等无线网络连接。
6.根据权利要求1所述的方法,其中,确定所述第一用户设备是否被核准播放所述加密的媒体项的所述请求包括所述加密的媒体项的标识符。
7.根据权利要求1所述的方法,进一步包括:
从第三用户设备接收对所述媒体项的请求;
由所述第一用户设备加密所述媒体项以生成第二加密的媒体项;
由所述第一用户设备包装密码密钥以生成第二包装的密钥;以及
将所述第二加密的媒体项和所述第二包装的密钥传送给所述第三用户设备。
8.根据权利要求1所述的方法,其中,验证所述媒体项包括:在播放从所述第二用户设备接收的所述媒体项之前,验证源自所述媒体服务器的所述媒体项。
9.根据权利要求1所述的方法,进一步包括:
由所述第一用户设备计算所解密的媒体项的所述散列;以及
接收源自所述媒体服务器的所述数字签名。
10.一种存储指令的非暂时性机器可读存储介质,所述指令在被执行时使得处理设备执行操作,所述操作包括:
由媒体服务器的处理设备向第一用户设备传送媒体项;
从第二用户设备接收与所述媒体项相关联的可播放性请求和包装的密钥,所述包装的密钥包括相对于所述第二用户设备进行掩码的内容,并且所述可播放性请求询问所述第二用户设备是否被核准播放在所述第一用户设备和所述第二用户设备之间使用对等连接共享的所述媒体项;
由所述处理设备确定所述第二用户设备被核准播放所述媒体项;以及
由所述处理设备传送指示所述第二用户设备被核准播放所述媒体项的响应,其中,所述响应包括从所述包装的密钥导出的密码密钥;以及
传送数字签名以实现验证使用所述对等连接共享的、源自所述媒体服务器的所述媒体项,其中所述验证是根据所述媒体项的散列和所述媒体服务器的所述数字签名。
11.根据权利要求10所述的非暂时性机器可读存储介质,其中,传送所述数字签名包括:将与所述媒体项相对应的数字签名传送到所述第一用户设备和所述第二用户设备中的至少一个。
12.根据权利要求10所述的非暂时性机器可读存储介质,其中,所述响应包括补充媒体项。
13.一种用于控制对媒体项的访问的方法,包括:
由第一用户设备的处理设备经由网络从媒体服务器接收所述媒体项;
在所述第一用户设备处本地存储所述媒体项;
由所述第一用户设备使用密码密钥加密所述媒体项以生成加密的媒体项;
响应于接收到与第二用户设备共享所存储的媒体项的请求,由所述第一用户设备包装所述密码密钥以生成包装的密钥;
经由对等连接将所述加密的媒体项和所述包装的密钥传送到所述第二用户设备,其中所述包装的密钥包括相对于所述第二用户设备进行掩码的内容;以及
由所述第一用户设备验证源自所述媒体服务器的所述媒体项,其中所述验证是根据所解密的媒体项的散列和所述媒体服务器的数字签名。
14.根据权利要求13所述的方法,其中,用于加密所述媒体项的所述密码密钥是由所述第一用户设备生成的。
15.根据权利要求13所述的方法,其中,包装所述密码密钥包括使用所述媒体服务器的公钥来包装所述密码密钥。
16.根据权利要求13所述的方法,进一步包括:将所述媒体项的元数据传送到所述第二用户设备,其中所述元数据是未加密的。
17.根据权利要求13所述的方法,进一步包括:在将所述加密的媒体项传送到所述第二用户设备之前,从所述第二用户设备接收对所述媒体项的请求。
18.根据权利要求13所述的方法,进一步包括:
由所述处理设备从所述媒体服务器接收补充媒体项;以及
由所述处理设备将所述补充媒体项传送到所述第二用户设备。
19.根据权利要求13所述的方法,进一步包括:在将所述加密的媒体项传送到所述第二用户设备之前,接收选择所述媒体项的用户输入和选择所述第二用户设备的用户输入。
20.根据权利要求13所述的方法,进一步包括:响应于接收选择所述媒体项的用户输入,使所述媒体项可用于共享到所述第二用户设备。
CN201680083642.XA 2016-06-27 2016-12-30 用于对等内容共享的访问控制技术 Active CN108781214B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110187389.5A CN112910912B (zh) 2016-06-27 2016-12-30 用于访问控制的方法和非暂时性机器可读存储介质

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201662355126P 2016-06-27 2016-06-27
US62/355,126 2016-06-27
US15/218,807 2016-07-25
US15/218,807 US10298402B2 (en) 2016-06-27 2016-07-25 Access control technology for peer-to-peer sharing
US201662399865P 2016-09-26 2016-09-26
US62/399,865 2016-09-26
PCT/US2016/069386 WO2018004738A1 (en) 2016-06-27 2016-12-30 Access control technology for peer-to-peer content sharing

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202110187389.5A Division CN112910912B (zh) 2016-06-27 2016-12-30 用于访问控制的方法和非暂时性机器可读存储介质

Publications (2)

Publication Number Publication Date
CN108781214A CN108781214A (zh) 2018-11-09
CN108781214B true CN108781214B (zh) 2021-03-09

Family

ID=60676883

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201680083642.XA Active CN108781214B (zh) 2016-06-27 2016-12-30 用于对等内容共享的访问控制技术
CN202110187389.5A Active CN112910912B (zh) 2016-06-27 2016-12-30 用于访问控制的方法和非暂时性机器可读存储介质

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202110187389.5A Active CN112910912B (zh) 2016-06-27 2016-12-30 用于访问控制的方法和非暂时性机器可读存储介质

Country Status (4)

Country Link
US (2) US10915216B2 (zh)
EP (2) EP4274277A3 (zh)
CN (2) CN108781214B (zh)
WO (1) WO2018004738A1 (zh)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3497975B1 (en) * 2016-08-10 2020-03-04 Telefonaktiebolaget LM Ericsson (publ) Packet forwarding in a wireless mesh network
US11405201B2 (en) 2016-11-10 2022-08-02 Brickell Cryptology Llc Secure transfer of protected application storage keys with change of trusted computing base
US11398906B2 (en) 2016-11-10 2022-07-26 Brickell Cryptology Llc Confirming receipt of audit records for audited use of a cryptographic key
US10855465B2 (en) 2016-11-10 2020-12-01 Ernest Brickell Audited use of a cryptographic key
US10498712B2 (en) * 2016-11-10 2019-12-03 Ernest Brickell Balancing public and personal security needs
US20180145938A1 (en) * 2016-11-22 2018-05-24 Facebook, Inc. Systems and methods for content sharing with a peer
US10652245B2 (en) 2017-05-04 2020-05-12 Ernest Brickell External accessibility for network devices
US10348706B2 (en) 2017-05-04 2019-07-09 Ernest Brickell Assuring external accessibility for devices on a network
US20200205155A1 (en) * 2018-12-20 2020-06-25 Arris Enterprises Llc Downloading and storing video content offline to manage video playback
US11386233B2 (en) 2019-04-30 2022-07-12 JFrog, Ltd. Data bundle generation and deployment
US11340894B2 (en) 2019-04-30 2022-05-24 JFrog, Ltd. Data file partition and replication
US11106554B2 (en) 2019-04-30 2021-08-31 JFrog, Ltd. Active-active environment control
US11886390B2 (en) 2019-04-30 2024-01-30 JFrog Ltd. Data file partition and replication
US10999314B2 (en) 2019-07-19 2021-05-04 JFrog Ltd. Software release tracking and logging
US10972289B2 (en) 2019-07-19 2021-04-06 JFrog, Ltd. Software release verification
US11695829B2 (en) * 2020-01-09 2023-07-04 JFrog Ltd. Peer-to-peer (P2P) downloading
US11860680B2 (en) 2020-11-24 2024-01-02 JFrog Ltd. Software pipeline and release validation
CA3208530A1 (en) * 2021-02-25 2022-09-01 Marcel Lafontaine Systems and methods for virtual interaction
USD1017634S1 (en) * 2021-11-02 2024-03-12 Abiomed, Inc. Display panel or portion thereof with graphical user interface
USD1014552S1 (en) * 2021-11-02 2024-02-13 Abiomed, Inc. Display panel or portion thereof with graphical user interface

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7170999B1 (en) * 2002-08-28 2007-01-30 Napster, Inc. Method of and apparatus for encrypting and transferring files
US8954740B1 (en) * 2010-10-04 2015-02-10 Symantec Corporation Session key proxy decryption method to secure content in a one-to-many relationship

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6229894B1 (en) * 1997-07-14 2001-05-08 Entrust Technologies, Ltd. Method and apparatus for access to user-specific encryption information
AU2262601A (en) 1999-12-21 2001-07-03 Tivo, Inc. Intelligent system and methods of recommending media content items based on userpreferences
US7231516B1 (en) 2002-04-11 2007-06-12 General Instrument Corporation Networked digital video recording system with copy protection and random access playback
US7370212B2 (en) * 2003-02-25 2008-05-06 Microsoft Corporation Issuing a publisher use license off-line in a digital rights management (DRM) system
GB0312877D0 (en) * 2003-06-05 2003-07-09 Koninkl Philips Electronics Nv Secure transfer of data
US7266847B2 (en) * 2003-09-25 2007-09-04 Voltage Security, Inc. Secure message system with remote decryption service
KR100533678B1 (ko) 2003-10-02 2005-12-05 삼성전자주식회사 공개 키 기반 구조의 도메인을 형성하여 UPnP를통하여 구현하는 방법
US20050177853A1 (en) 2004-02-11 2005-08-11 Alio, Inc. System and Methodology for Distributed Delivery of Online Content in Response to Client Selections from an Online Catalog
US20050177624A1 (en) 2004-02-11 2005-08-11 Alio, Inc. Distributed System and Methodology for Delivery of Media Content to Clients having Peer-to-peer Connectivity
US7711119B2 (en) * 2004-05-27 2010-05-04 Qualcomm Incorporated Method and apparatus for transition of encryption key during an ongoing media communication session
JP2006014035A (ja) 2004-06-28 2006-01-12 Toshiba Corp 記憶媒体処理方法、記憶媒体処理装置及びプログラム
JP2006031219A (ja) 2004-07-14 2006-02-02 Sony Corp コンテンツ利用システム、コンテンツ利用端末、参照サーバ、コンテンツ利用プログラム、及び、参照プログラム
US8312267B2 (en) 2004-07-20 2012-11-13 Time Warner Cable Inc. Technique for securely communicating programming content
JPWO2006022006A1 (ja) 2004-08-26 2008-05-08 富士通株式会社 コンテンツ管理プログラム、方法及び装置
CN100426718C (zh) * 2004-12-31 2008-10-15 北京中星微电子有限公司 一种媒体内容安全传输方法
US8165302B2 (en) * 2005-06-07 2012-04-24 Sony Corporation Key table and authorization table management
JP2007179410A (ja) 2005-12-28 2007-07-12 Sony Corp 情報処理システム、情報処理装置、および、情報処理方法、プログラム、並びに、記録媒体
JPWO2007122962A1 (ja) 2006-04-18 2009-09-03 シャープ株式会社 コンテンツ購入視聴システム、コンテンツ再生装置、及びコンテンツ再生認証サーバ
WO2008055172A2 (en) 2006-10-30 2008-05-08 Maxlinear, Inc. Targeted advertisement in the digital television environment
JP5139045B2 (ja) 2007-11-30 2013-02-06 Kddi株式会社 コンテンツ配信システム、コンテンツ配信方法およびプログラム
US8214890B2 (en) * 2008-08-27 2012-07-03 Microsoft Corporation Login authentication using a trusted device
US20100088399A1 (en) 2008-10-03 2010-04-08 Yoel Gluck Enterprise security setup with prequalified and authenticated peer group enabled for secure DHCP and secure ARP/RARP
US20100250704A1 (en) * 2009-03-26 2010-09-30 Verizon Patent And Licensing Inc. Peer-to-peer content distribution with digital rights management
US20110209224A1 (en) * 2010-02-24 2011-08-25 Christopher Gentile Digital multimedia album
US9244698B2 (en) * 2010-09-14 2016-01-26 Microsoft Technology Licensing, Llc Download bar user interface control
US9184917B2 (en) * 2011-05-27 2015-11-10 Google Technology Holdings LLC Method and system for registering a DRM client
US9514462B2 (en) 2012-03-02 2016-12-06 Google Inc. Obtaining and managing access to content
US8933776B2 (en) 2012-07-20 2015-01-13 Qualcomm Incorporated Relative positioning applications in wireless devices
US9197700B2 (en) 2013-01-18 2015-11-24 Apple Inc. Keychain syncing
US9847979B2 (en) 2013-03-15 2017-12-19 Verimatrix, Inc. Security and key management of digital content
CN104519013B (zh) * 2013-09-27 2018-08-14 华为技术有限公司 保证媒体流安全性的方法、设备和系统
US20150358297A1 (en) * 2014-06-06 2015-12-10 Dropbox, Inc. Secure peer-to-peer data sychronization
EP3507937B1 (en) 2016-09-26 2022-11-30 Google LLC A user interface for access control enabled peer-to-peer sharing

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7170999B1 (en) * 2002-08-28 2007-01-30 Napster, Inc. Method of and apparatus for encrypting and transferring files
US8954740B1 (en) * 2010-10-04 2015-02-10 Symantec Corporation Session key proxy decryption method to secure content in a one-to-many relationship

Also Published As

Publication number Publication date
EP4274277A3 (en) 2024-01-03
EP3412040A1 (en) 2018-12-12
CN108781214A (zh) 2018-11-09
US20170371499A1 (en) 2017-12-28
CN112910912A (zh) 2021-06-04
US10915216B2 (en) 2021-02-09
CN112910912B (zh) 2023-08-01
EP3412040B1 (en) 2023-09-13
EP4274277A2 (en) 2023-11-08
US20210149529A1 (en) 2021-05-20
US11675472B2 (en) 2023-06-13
WO2018004738A1 (en) 2018-01-04

Similar Documents

Publication Publication Date Title
CN108781214B (zh) 用于对等内容共享的访问控制技术
US11025432B2 (en) Access control technology for peer-to-peer sharing
EP3404891B1 (en) Method and system for distributing digital content in peer-to-peer network
JP6189438B2 (ja) メディア・セキュリティ・コントローラを使用したメディア・アイテムの保護
EP3482568B1 (en) Providing online media content via a satellite broadcast system
JP7095047B2 (ja) アクセス制御対応ピアツーピア共有のためのユーザインターフェース
US20210374211A1 (en) Drm sharing and playback service specification selection
US20220166633A1 (en) Separating the authorization of content access and content delivery using multiple cryptographic digital signatures
US20220286300A1 (en) Systems and methods to evaluate client device trust in a distributed computing system
CN117121437A (zh) 使用共置的次要设备来防止Cookie盗窃

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant