English:
[0001] Different users may consume digital content in different ways. For example, in the example of a video game, some users may play the game slowly and methodically, trying to solve all challenges in a level before progressing to a next level, while others may skip optional challenges and instead progress to higher levels as soon as possible. Likewise, different users may choose to play a game as different characters, and/or otherwise customize a digital content experience differently.
[0003] This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter. Furthermore, the claimed subject matter is not limited to implementations that solve any or all disadvantages noted in any part of this disclosure.
[0004] Figure 1 shows an example embodiment of a digital content provision and consumption environment.
[0005] Figure 2 shows a flow diagram depicting an embodiment of a method for providing digital content recommendations.
[0006] Figure 3 shows a schematic depiction of an embodiment of content access information for two example users of a digital content item.
[0007] Figure 4 shows a schematic depiction of a grouping of users based upon content access patterns for a plurality of digital content items.
[0008] Figure 5 shows a block diagram illustrating an example embodiment of a computing device.
[0009] As mentioned above, different users may consume digital content items in different ways. For example, users may play various areas in a video game world in different orders, may choose to play as certain characters, etc. Such behaviors may be evident in the way that the users access various portions of a digital content item.
[0011] As a downloadable digital content item may be accessed by multiple users, tracking temporal information regarding how each user accesses the content portions of the selected digital content item may allow groups of users with similar content access patterns to be identified. This may allow content to be recommended based upon such groupings of users.
[0012] It will be appreciated that such content access patterns may be tracked without reference to what the content portions represent, for example, by tracking accessed content portions in the form of identifications of specific portions of memory, such as memory locations, disk segments, memory offsets from a beginning of a digital content item, etc. at which the portions are stored. This may allow users to be grouped without having to define any particular grouping scenario up front (e.g. user play style, avatar/character preference, genre preference, etc.), and without having to understand the underlying basis for the similarities in content access patterns.
[0013] In other embodiments, descriptive metadata may exist that describes one or more content portions. In such embodiments, users may additionally be grouped by the comparison of such metadata. This may help to provide an understanding of the nature of the similarities underlying each grouping, and may offer additional information for determining an order in which content portions of other content items are provided to users.
[0014] Prior to discussing these embodiments in more detail, an example embodiment of a use environment 100 is described with reference to Figure 1. Use environment 100 comprises a plurality of client devices each configured to present digital content, wherein each client device is associated with a corresponding user. In some instances, more than one client device may be associated with a user. For example, a user may have a video game console, a mobile device, a computer (laptop, desktop, tablet), a wearable device (e.g. head-mounted display), etc., and may consume digital content on each of these devices. This is shown in Figure 1 as a first user 102 having a first associated client device 104 (e.g. video game console) and a second associated client device 106 (e.g. mobile device, wearable device, portable device, computer, etc.). Figure 1 also shows two other client devices associated with other users as client device 3 108 associated with user 2 109, and client device n 110 associated with user n 11 1 to illustrate the multi-user nature of use environment 100. While described in the context of a client-server environment, it will be understood that other embodiments may utilize any other suitable architecture, including peer-to-peer arrangements.
[0016] Each digital content item comprises a plurality of content portions, examples of which are shown as content portion 1 128 and content portion n 130 for digital content item 1 124. Digital content items 124, 126 may represent any suitable type of digital content, including but not limited to interactive content such as video games, interactive video, and social media. Other examples include, but are not limited to, movies, television shows and other videos, music, photographs, websites, etc. Likewise, content portions 128, 130 may take any suitable form. For example, content portions 128, 130 may take the form of specific portions of memory, or, by extension, specific files, etc.
[0017] As mentioned above, in some embodiments one or more content portions may have associated descriptive metadata that describes an identity, characteristic, and/or other property of the content portion. For example, in the case of a video game, metadata 132 may comprise information regarding an identity of one or more virtual objects (e.g. character/object identification, location/setting, etc.) represented (partially or fully) by a content portion. Metadata 132 also may comprise information regarding the digital content item as a whole (e.g. genre), and/or any other suitable information. Such metadata is illustrated in Figure 1 as being stored in a metadata store 132 that is located remotely from the digital content store 120. However, it will be understood that metadata 132 may be stored in any suitable location, including with the corresponding content item in some embodiments.
[0018] As mentioned above, content access information regarding how users access content items may be used to provide recommendations of other content items for the users. Thus, a recommendations service 140 may receive and track temporal information regarding how users accessed content portions of digital content items, and may provide recommendations of digital content to client devices based upon similarities in the content access patterns of users. The depicted recommendations service 120 comprises a content access tracking module 142 configured to track content access information for users of recommendations service 120, and to store this information in a content access information store 144. Content access information store 144 may store content access information for a plurality of users, illustrated as user 1 information 146 and user n information 148, and likewise may store content access information for each digital content item accessed by each user, illustrated for user 1 146 as access information for content item 1 150 and access information for content item n 152. The content access information stored for each digital content item accessed by each user may comprise any suitable information, including but not limited to an order in which content portions of each digital content item were accessed by that user, and/or other such temporal information, as described below with reference to Figure 3.
[0019] Content access information may be provided to the recommendations service by client devices as users download and consume digital content on the client devices (or at a later time after downloading), by a digital content provision service that provides digital content to clients, and/or from any other suitable source. Further, in some embodiments, the recommendations service may be included with a digital provision service, and thus may monitor content access patterns as content is downloaded from the digital provision service.
[0020] Recommendations service 140 further comprises an analysis and grouping module 154 configured to analyze content access information, and to identify groups of users based, for example, upon similarities in content access patterns. Analysis and grouping module 154 may be configured to compare any suitable content access information to identify such groups of users. For example, analysis and grouping module 154 may compare content access information for a single interactive content item, within a family of titles, within a selected genre, within multiple titles of different genres, and/or for any other suitable content. Further, as mentioned above, where descriptive metadata is available that describe content portions, such metadata also may be compared to help identify groups of similar users. It will be understood that information regarding the identities of users in each group of similar users may be stored in some embodiments. This is shown in Figure 1 as user grouping info 156 comprising information on n groups of similar users.
[0021] Recommendations service 140 further may include a recommendations module 158 configured to identify digital content recommendations to send to users based upon digital content consumed by other users identified as similar. Recommendations module 158 may identify recommendations based upon any suitable factor or factors. For example, the recommendations may be selected based upon content consumption information stored for the other users in a group of similar users. Any suitable content consumption information may be used to generate recommendations. For example, in some embodiments, such information may include digital content consumed previously by the other users in the group, digital content commented upon by other users in the group, digital content liked by other users in the same group, digital content consumed/commented/liked by social network contacts of the other users in the group, etc. Further, the recommendations may be made based upon similarities of the recommended digital content items to digital content consumed/etc. previously by the other users in the group, such as similar title, genre, artist, actor, character, etc. The recommended content may be of a same type or different type as the interactive content used for correlating content access information.
[0022] Figure 2 shows a flow diagram depicting an embodiment of a method 200 for providing digital content recommendations to a user based upon comparing content access information of a plurality of users of a digital content service. Method 200 may be implemented via any suitable computing system, example embodiments of which are described below.
[0023] Method 200 comprises, at 202, receiving and storing content access information for a selected digital content item. The content access information may be received from a client device used to download and consume digital content, as indicated at 204, from a content provision service that provides digital content to users, as indicated at 206, and/or from any other suitable source. As mentioned above, in some embodiments, a same service may provide content and track content access information, as indicated at 208.
[0024] The content access information may comprise any suitable information, including but not limited to an order in which portions of the selected digital content item were accessed by users. As another example, the content access information may comprise well as temporal information regarding a relative elapsed time at which each asset was accessed. As mentioned above, the content portions take any suitable form, including but not limited to specific memory locations at which the accessed portions of the content item are stored. The selected digital content item may be a video game 208, and/or any other suitable type of digital content.
[0025] Figure 3 shows a schematic depiction of a simplified example set of content access information for each of two users that accessed digital content item 1. In the depicted embodiment, digital content item 1 comprises an arbitrary set of content portions including portions a, b, c and d. A relative order in which these content portions were accessed by each user is illustrated on a vertical time axis, and shows that these four content portions were requested and sent in different orders for the two users. It will be understood that such content access information may be collected for any number of users that access a digital content item.
[0026] Continuing, method 200 next comprises, at 210, comparing the content access information stored for the user to content access information stored for a plurality of other users that consumed the selected interactive content item to identify other users with similar content access patterns. As mentioned above, content access information may be compared for the same content item, as indicated by 212, and/or for other content items that are related by title 214, by genre 216, and/or by any other suitable relationship. Additionally, as indicated at 218, in some embodiments, descriptive metadata associated with the content portions may be compared to help identify similar users.
[0027] Based upon comparing the content access information for the users, method 200 next comprises, at 220, determining other users with similar content access patterns. Such a determination may be made in any suitable manner. For example, as indicated at 222, such a determination may comprise grouping a plurality of users into two or more groups via a computing system-implemented collaborative filtering algorithm(s) that correlates the content access patterns of the users to identify users with similar access patterns.
[0028] Method 200 further comprises, at 224, sending digital content recommendations to the user based upon content consumption information for other users with similar content access patterns. Any suitable recommendations may be provided, including but not limited to recommendations of interactive digital content (e.g. video games, interactive video, social media, etc.), as well as non-interactive content (e.g. movies, television shows, music, etc. Figure 4 shows a schematic example of a grouping of users based upon content access patterns for a group of different interactive content items, illustrated as video games A, B and C. Video games A, B and C may be related by title, genre, other characteristic or quality, or unrelated. It will be understood that any other suitable interactive content other than video games also may be used.
[0029] As shown, it may be determined via the above-described processes that user 1 and user 2 accessed game A and/or game B in similar manners. Based upon this determination, user 1 and user 2 may be grouped together. Likewise, it may be determined that user 6 and user 8 accessed game B and/or game C in a similar manner. Thus, user 6 and user 8 may be similarly grouped together. Content recommendations then may be provided to each user based upon other users in the same group. This may help to identify content enjoyed by other users with similar interests and/or content consumption styles. Further, in some embodiments, providing recommendations of content may comprise pre-fetching recommended content so that the user receiving the recommendation may begin to play the recommended content with less time lag.
[0030] The recommendations may be made based upon any suitable factor or factors. For example, the recommendations may be selected based upon content consumption information stored for the other users in the group. Such information may include digital content consumed previously by the other users in the group, as indicated at 226. Such information also may include additional information, such as digital content commented upon by other users in the group, digital content liked by other users in the same group, digital content consumed/commented/liked by social network contacts of the other users in the group, etc. Further, the recommendations may be made based upon similarities of the recommended digital content items to digital content consumed/etc. previously by the other users in the group, such as similar title, genre, artist, actor, character, etc. Such information may be stored and accessed locally to a recommendations service, and/or stored and accessed remotely.
[0031] The recommended content may be of a same type or different type as the interactive content used for correlating content access information. In the embodiment of Figure 4, recommended content is illustrated as including downloadable content (DLC), games, movies, music, and social media, but any other suitable types of digital content may be recommended.
[0032] The recommendations may be sent to any suitable device. For example, the recommendations may be sent to the device used for the gathering of content access information, and/or may be sent to another device associated with the user. As one non- limiting example, the content access information for a user may be collected as the user plays a video game via a video game console, and recommendations may be sent to a user's mobile device. Further, as indicated via the arrows in Figure 4, recommendations may be made to individual group members, or to the group as a whole, depending upon the context in which the recommendations are being provided.
[0033] In some embodiments, the methods and processes described above may be tied to a computing system of one or more computing devices. In particular, such methods and processes may be implemented as a computer-application program or service, an application-programming interface (API), a library, and/or other computer-program product.
[0034] Figure 5 schematically shows a non-limiting embodiment of a computing system 500 that can enact one or more of the methods and processes described above. Computing system 500 is shown in simplified form. It will be understood that virtually any computer architecture may be used without departing from the scope of this disclosure. In different embodiments, computing system 500 may take the form of a mainframe computer, server computer, desktop computer, laptop computer, tablet computer, home-entertainment computer, network computing device, gaming device, mobile computing device, mobile communication device (e.g., smart phone), etc.
[0035] Computing system 500 includes a logic subsystem 502 and a storage subsystem 504. Computing system 500 may optionally include a display subsystem 506, input subsystem 508, communication subsystem 510, and/or other components not shown in Figure 5.
[0036] Logic subsystem 502 includes one or more physical devices configured to execute instructions. For example, logic subsystem 502 may be configured to execute instructions that are part of one or more applications, services, programs, routines, libraries, objects, components, data structures, or other logical constructs. Such instructions may be implemented to perform a task, implement a data type, transform the state of one or more components, or otherwise arrive at a desired result.
[0037] Logic subsystem 502 may include one or more processors configured to execute software instructions. Additionally or alternatively, logic subsystem 502 may include one or more hardware or firmware logic machines configured to execute hardware or firmware instructions. The processors of logic subsystem 502 may be single-core or multi-core, and the programs executed thereon may be configured for sequential, parallel or distributed processing. Logic subsystem 502 may optionally include individual components that are distributed among two or more devices, which can be remotely located and/or configured for coordinated processing. Aspects of logic subsystem 502 may be virtualized and executed by remotely accessible, networked computing devices configured in a cloud- computing configuration.
[0038] Storage subsystem 504 includes one or more physical, non-transitory, devices configured to hold data and/or instructions executable by the logic subsystem to implement the methods and processes described herein. When such methods and processes are implemented, the state of storage subsystem 504 may be transformed— e.g., to hold different data.
[0039] Storage subsystem 504 may include removable media and/or built-in devices. Storage subsystem 504 may include optical memory devices (e.g., CD, DVD, HD-DVD, Blu-Ray Disc, etc.), semiconductor memory devices (e.g., RAM, EPROM, EEPROM, etc.) and/or magnetic memory devices (e.g., hard-disk drive, floppy-disk drive, tape drive, MRAM, etc.), among others. Storage subsystem 506 may include volatile, nonvolatile, dynamic, static, read/write, read-only, random-access, sequential-access, location- addressable, file-addressable, and/or content-addressable devices.
[0040] It will be appreciated that storage subsystem 504 includes one or more physical, non- transitory devices. However, in some embodiments, aspects of the instructions described herein may be propagated in a transitory fashion by a pure signal (e.g., an electromagnetic signal, an optical signal, etc.) that is not held by a physical device for a finite duration. Furthermore, data and/or other forms of information pertaining to the present disclosure may be propagated by a pure signal.
[0041] In some embodiments, aspects of logic subsystem 502 and of storage subsystem 504 may be integrated together into one or more hardware-logic components through which the functionally described herein may be enacted. Such hardware-logic components may include field-programmable gate arrays (FPGAs), program- and application-specific integrated circuits (PASIC / ASICs), program- and application-specific standard products
[0042] The terms "module" and "program" may be used to describe an aspect of computing system 500 implemented to perform a particular function. In some cases, a module or program may be instantiated via logic subsystem 502 executing instructions held by storage subsystem 504. It will be understood that different modules and/or programs may be instantiated from the same application, service, code block, object, library, routine, API, function, etc. Likewise, the same module and/or program may be instantiated by different applications, services, code blocks, objects, routines, APIs, functions, etc. The terms "module" and "program" may encompass individual or groups of executable files, data files, libraries, drivers, scripts, database records, etc.
[0043] It will be appreciated that a "service", as used herein, is an application program executable across multiple user sessions. A service may be available to one or more system components, programs, and/or other services. In some implementations, a service may run on one or more server-computing devices.
[0044] When included, display subsystem 506 may be used to present a visual representation of data held by storage subsystem 506. This visual representation may take the form of a graphical user interface (GUI). As the herein described methods and processes change the data held by the storage subsystem, and thus transform the state of the storage subsystem, the state of display subsystem 506 may likewise be transformed to visually represent changes in the underlying data. Display subsystem 506 may include one or more display devices utilizing virtually any type of technology. Such display devices may be combined with logic subsystem 502 and/or storage subsystem 504 in a shared enclosure, or such display devices may be peripheral display devices.
[0045] When included, input subsystem 508 may comprise or interface with one or more user-input devices such as a keyboard, mouse, touch screen, or game controller. In some embodiments, the input subsystem may comprise or interface with selected natural user input (NUI) componentry. Such componentry may be integrated or peripheral, and the transduction and/or processing of input actions may be handled on- or off-board. Example NUI componentry may include a microphone for speech and/or voice recognition; an infrared, color, steroscopic, and/or depth camera for machine vision and/or gesture recognition; a head tracker, eye tracker, accelerometer, and/or gyroscope for motion detection and/or intent recognition; as well as electric-field sensing componentry for assessing brain activity.
[0046] When included, communication subsystem 510 may be configured to communicatively couple computing system 500 with one or more other computing devices. Communication subsystem 510 may include wired and/or wireless communication devices compatible with one or more different communication protocols. As non-limiting examples, communication subsystem 510 may be configured for communication via a wireless telephone network, or a wired or wireless local- or wide-area network. In some embodiments, communication subsystem 510 may allow computing system 500 to send and/or receive messages to and/or from other devices via a network such as the Internet.
[0047] It will be understood that the configurations and/or approaches described herein are exemplary in nature, and that these specific embodiments or examples are not to be considered in a limiting sense, because numerous variations are possible. The specific routines or methods described herein may represent one or more of any number of processing strategies. As such, various acts illustrated and/or described may be performed in the sequence illustrated and/or described, in other sequences, in parallel, or omitted. Likewise, the order of the above-described processes may be changed.
[0048] The subject matter of the present disclosure includes all novel and nonobvious combinations and subcombinations of the various processes, systems and configurations, and other features, functions, acts, and/or properties disclosed herein, as well as any and all equivalents thereof.

中文:
[0001]不同用户可以以不同方式消费数字内容。例如,以视频游戏为例,一些用户可以缓慢并且有条不紊地玩该游戏,在前进到下一关卡之前试图解决关卡内的全部挑战,而其他用户可以跳过可选挑战并相反尽快前进到更高关卡。同样,不同用户可以选择作为不同人物和/或否则相异地定制数字内容体验来玩游戏。
[0003]提供本摘要是为了以简化形式介绍精选的概念,所述概念下面在详细说明书中进一步描述。本摘要不旨在标识所要求权利的主题的关键特征或必要特征,也不旨在用于限制所要求权利的主题的范围。此外,所要求权利的主题不限于解决任意或全部在本公开的任意部分中指出的缺点的实现。
[0004]图1示出了数字内容提供和消费环境的示例性实施例。
[0005]图2示出了流程图,其描绘用于提供数字内容推荐的方法的实施例。
[0006]图3示出了针对数字内容项目的两个示例用户的内容访问信息的实施例的示意描绘。
[0007]图4示出了基于针对多个数字内容项目的内容访问模式进行的用户分组的示意描绘。
[0008]图5示出了框图,其图解计算设备的示例性实施例。
[0009]如上面提到的,不同用户可以以不同方式消费数字内容项目。例如,用户可以按不同顺序玩视频游戏世界中的各个区域,可以选择作为特定人物来玩等。这样的行为在用户访问数字内容项目的各个部分的方式上可以是显而易见的。
[0011]由于可下载数字内容项目可以被多个用户访问,跟踪关于每个用户如何访问所选数字内容项目的内容部分的时间信息可以允许识别具有相似内容访问模式的用户分组。这可以允许内容基于所述用户分组而被推荐。
[0012]应当认识到,所述内容访问模式可以在不参考内容部分代表什么的情况下被跟踪,例如通过所述部分被存储于的存储器特定部分的标识的形式来跟踪被访问内容部分,所述存储器特定部分的标识例如是存储器位置、磁盘段、来自数字内容项目开头的存储器偏移等。这可以允许在不必前期定义任意特定分组场景(例如用户游戏风格、头像/人物偏好、类型偏好等),且不必理解内容访问模式中的相似性的底层基础的情况下对用户进行分组。
[0013]在其它实施例中,可以存在描述一个或多个内容部分的描述性元数据。在所述实施例中,可以另外通过比较所述元数据来对用户进行分组。这可以帮助提供对每个分组之下的相似性的本质的理解,并且可以提供用于确定其它内容项目的内容部分被提供给用户所按照的顺序的另外信息。
[0014]在详细讨论这些实施例之前,参考图1描述了使用环境100的示例性实施例。使用环境100包括每个被配置为呈现数字内容的多个客户端设备,其中,每个客户端设备与对应用户关联。在某些情况下,多于一个客户端设备可以与用户关联。例如,用户可以拥有视频游戏机、移动设备、计算机(膝上、桌面、平板)、可穿戴设备(例如头戴式显示器)等,并且可以在这些设备的每个上消费数字内容。这在图1中被示为拥有第一关联客户端设备104(例如视频游戏机)和第二关联客户端设备106(例如移动设备、可穿戴设备、便携式设备、计算机等)的第一用户102。图1还将关联于其他用户的两个其它客户端设备示为关联于用户2 109的客户端设备3 108和关联于用户n 111的客户端设备n 110,以便示出使用环境100的多用户本质。尽管在客户端-服务器环境的上下文中进行了描述,但应当理解,其它实施例可以使用任意其它合适的体系结构,包括端到端布局。
[0016]每个数字内容项目包括多个内容部分,所述多个内容部分的示例被示为针对数字内容项目1 124的内容部分1 128和内容部分n 130。数字内容项目124、126可以代表任意合适类型的数字内容,包括但不限于例如视频游戏、交互式视频和社交媒体的交互式内容。其它示例包括但不限于电影、电视节目和其它视频、音乐、图片、网站等。同样,内容部分128、130可以采用任意合适的形式。例如,内容部分128、130可以采用存储器的特定部分、或推而广之特定文件等的形式。
[0017]如上面提到的,在某些实施例中,一个或多个内容部分可以具有描述该内容部分的身份、特征和/或其它属性的关联描述性元数据。例如,在视频游戏的情况下,元数据132可以包括这样的信息,所述信息与由内容部分(部分或完全)代表的一个或多个虚拟对象(例如人物/对象标识、位置/设置等)的身份有关。元数据132还可以包括与数字内容整体有关的信息(例如类型)和/或任意其它合适的信息。所述元数据在图1中被示为存储在位于数字内容存储120远端的元数据存储132中。然而应当理解,元数据132可以存储在任意合适的位置,包括在某些实施例中与对应内容项目一起存储。
[0018]如上面提到的,关于用户如何访问内容项目的内容访问信息可以用于为用户提供其它内容项目的推荐。由此,推荐服务140可以接收并跟踪关于用户如何访问数字内容项目的内容部分的时间信息,并且可以基于用户的内容访问模式中的相似性向客户端设备提供数字内容的推荐。所示的推荐服务120包括内容访问跟踪模块142,该模块被配置为:跟踪针对推荐服务120的用户的内容访问信息,以及,将该信息存储在内容访问信息存储144中。内容访问信息存储144可以存储被示为用户1信息146和用户n信息148的针对多个用户的内容访问信息,并且同样可以存储针对被每个用户访问的每个数字内容项目的内容访问信息,对于用户1 146被示为针对内容项目1 150的访问信息和针对内容项目n 152的访问信息。针对被每个用户访问的每个数字内容项目存储的内容访问信息可以包括任意合适的信息,包括但不限于每个数字内容项目的内容部分被该用户访问所按照的顺序和/或其它这样的时间信息,如下面参考图3所描述的。
[0019]内容访问信息可以由客户端设备当用户在该客户端设备上下载和消费数字内容时(或在下载之后的稍后时间)、由向客户端提供数字内容的数字内容提供服务来提供给推荐服务,和/或来自任意其它合适的源。进一步地,在某些实施例中,推荐服务可以包括在数字提供服务中,并且由此可以当内容被从数字提供服务下载时监视内容访问模式。
[0020]推荐服务140进一步包括分析和分组模块154,该模块被配置为:分析内容访问信息,以及,基于例如内容访问模式中的相似性识别用户组。分析和分组模块154可以被配置为,比较任意合适的内容访问信息以识别所述用户组。例如,分析和分组模块154可以比较针对单一交互式内容项目的、一族标题内的、所选类型内的、不同类型的多个标题内的和/或针对任意其它合适内容的内容访问信息。进一步地,如上面提到的,在描述内容部分的描述性元数据是可用的情况下,还可以比较所述元数据以辅助识别相似用户的组。应当理解,在某些实施例中,可以存储关于每个相似用户组中的用户身份的信息。这在图1中被示为包括关于n个相似用户组的信息的用户分组信息156。
[0021]推荐服务140进一步可以包括推荐模块158,该模块被配置为,基于由被识别为相似的其他用户消费的数字内容,识别数字内容推荐以发送给用户。推荐模块158可以基于任意合适的一个或多个因素来识别推荐。例如,推荐可以基于针对相似用户组中的其他用户存储的内容消费信息来选择。任意合适的内容消费信息可以用于生成推荐。例如,在某些实施例中,所述信息可以包括之前被组中的其他用户消费的数字内容、被组中的其他用户评论的数字内容、被同一组中的其他用户喜欢的数字内容、被组中的其他用户的社交网络联系人消费/评论/喜欢的数字内容等。进一步地,可以基于所推荐数字内容项目与之前被组中的其他用户消费/等的数字内容的相似性来做出推荐,所述相似性例如是相似的标题、类型、艺术家、演员、人物等。所推荐内容可以与用于关联内容访问信息的交互式内容具有相同类型或不同类型。
[0022]图2示出了描述方法200的实施例的流程图,该方法用于,基于对数字内容服务的多个用户的内容访问信息的比较,向用户提供数字内容推荐。方法200可以经由任意合适的计算系统来实现,其示例性实施例在下面描述。
[0023]方法200包括,在202处,接收并存储针对所选数字内容项目的内容访问信息。内容访问信息可以如204处所示从用于下载和消费数字内容的客户端设备、如206处所示从向用户提供数字内容的内容提供服务和/或从任意其它合适的源接收。如上面提到的,在某些实施例中,如208处所示,同一服务可以提供内容并跟踪内容访问信息。
[0024]内容访问信息可以包括任意合适的信息,包括但不限于所选数字内容项目的部分被用户访问所按照的顺序。作为另一示例,内容访问信息可以还包括关于每个资产被访问时的相对逝去时间的时间信息。如上面提到的,内容部分采用任意合适的形式,包括但不限于内容项目的受访问部分被存储于的特定存储器位置。所选数字内容项目可以是视频游戏208和/或任意其它合适类型的数字内容。
[0025]图3示出了针对访问数字内容项目1的两个用户的每个的内容访问信息的简化示例集合的示意描绘。在所示实施例中,数字内容项目1包括含有部分a、b、c和d的内容部分的任意集合。这些内容部分被每个用户访问所按照的相对顺序在纵向时间轴上示出,并且显示,对于所述两个用户,这四个内容部分被按照不同顺序请求和发送。应当理解,可以针对访问数字内容项目的任意数量的用户收集所述内容访问信息。
[0026]接着,方法200接下来包括,在210处,将针对所述用户而存储的内容访问信息与针对消费所选交互式内容项目的多个其他用户而存储的内容访问信息进行比较,以便识别具有相似内容访问模式的其他用户。如上面提到的,可以如由212所示针对同一内容项目、和/或针对在标题214、类型216和/或任意其它合适的关系上相关的其它内容项目来比较内容访问信息。另外,如218处所示,在某些实施例中,可以对关联于内容部分的描述性元数据进行比较以辅助识别相似用户。
[0027]基于比较针对所述用户的内容访问信息,方法200接下来包括,在220处,确定具有相似内容访问模式的其他用户。可以通过任意合适的方式做出所述确定。例如,如222处所示,所述确定可以包括经由对系统实现的(多个)协同过滤算法进行计算来将多个用户分组为两个或更多组,所述算法关联用户的内容访问模式以识别具有相似访问模式的用户。
[0028]方法200进一步包括,在224处,基于针对具有相似内容访问模式的其他用户的内容消费信息,向用户发送数字内容推荐。可以提供任意合适的推荐,包括但不限于交互式数字内容(例如视频游戏、交互式视频、社交媒体等)以及非交互式内容(例如电影、电视节目、音乐等)的推荐。图4示出了基于针对一组不同交互式内容项目的内容访问模式对用户进行分组的示意性示例,所述一组不同的交互式内容项目被示为视频游戏A、B和C。视频游戏A、B和C可以在标题、类型、其它特征或品质上相关或者不相关。应当理解,也可以使用除视频游戏外的任意其它合适的交互式内容。
[0029]如所示,经由上面描述的过程可以确定,用户1和用户2以相似方式访问了游戏A和/或游戏B。基于该确定,可以将用户1和用户2分组到一起。同样可以确定,用户6和用户8以相似方式访问了游戏B和/或游戏C。由此,可以相似地将用户6和用户8分组到一起。然后可以基于同一组中的其他用户向每个用户提供内容推荐。这可以辅助识别被具有相似兴趣和/或内容消费风格的其他用户享用的内容。进一步地,在某些实施例中,提供内容推荐可以包括预获取被推荐的内容,以致接收推荐的用户可以以较少时间滞后开始播放被推荐的内容。
[0030]可以基于任意合适的一个或多个因素做出推荐。例如,可以基于针对组中的其他用户而存储的内容消费信息来选择推荐。如226处所示,所述信息可以包括之前被组中的其他用户消费的数字内容。所述信息还可以包括另外的信息,例如被组中的其他用户评论的数字内容、被同一组中的其他用户喜欢的数字内容、被组中的其他用户的社交网络联系人消费/评论/喜欢的数字内容等。进一步地,可以基于被推荐数字内容项目与之前被组中的其他用户消费/等的数字内容的相似性来做出推荐,所述相似性例如是相似的标题、类型、艺术家、演员、人物等。可以在推荐服务本地存储和访问和/或远程地存储和访问所述信息。
[0031]被推荐内容可以与用于关联内容访问信息的交互式内容具有相同类型或不同类型。在图4的实施例中,被推荐内容被示为包括可下载内容(DLC)、游戏、电影、音乐和社交媒体,但可以推荐任意其它合适类型的数字内容。
[0032]推荐可以被发送到任意合适的设备。例如,推荐可以被发送到用于收集内容访问信息的设备,和/或可以被发送到关联于用户的另一设备。作为非限制性示例,可以当用户经由视频游戏机玩视频游戏时收集针对用户的内容访问信息,以及,推荐可以被发送到用户的移动设备。进一步地,如经由图4中的箭头所示,取决于推荐被提供所处的上下文,可以对单独的组成员或对组整体做出推荐。
[0033]在某些实施例中,可以将上面描述的方法和过程与一个或多个计算设备的计算系统联系在一起。特别地,所述方法和过程可以被实现为计算机应用程序或服务、应用编程接口(API)、库和/或其它计算机程序产品。
[0034]图5示意地示出了可以实施上面描述的方法和过程中的一个或多个的计算系统500的非限制性实施例。以简化形式示出了计算系统500。应当理解,在不脱离本公开的范围的情况下,基本上可以使用任意计算机体系结构。在不同实施例中,计算系统500可以采用大型机计算机、服务器计算机、桌面计算机、膝上计算机、平板计算机、家用娱乐计算机、网络计算设备、游戏设备、移动计算设备、移动通信设备(例如智能电话)等的形式。
[0035]计算系统500包括逻辑子系统502和存储子系统504。计算系统500可以可选地包括显示子系统506、输入子系统508、通信子系统510和/或图5中未示出的其它部件。
[0036]逻辑子系统502包括一个或多个被配置为执行指令的物理设备。例如,逻辑子系统502可以被配置为执行指令,所述指令是一个或多个应用、服务、程序、例程、库、对象、组件、数据结构或其它逻辑结构的一部分。所述指令可以被实现为执行任务、实现数据类型、转换一个或多个组件的状态或到达所需的结果。
[0037]逻辑子系统502可以包括一个或多个被配置为执行软件指令的处理器。另外或可替换地,逻辑子系统502可以包括一个或多个被配置为执行硬件或固件指令的硬件或固件逻辑机器。逻辑子系统502的处理器可以是单核或多核的,并且在其上被执行的程序可以被配置用于顺序、并行或分布式处理。逻辑子系统502可以可选地包括分布在两个或更多设备中的单独的部件,所述两个或更多设备被放置在远端和/或被配置用于协同处理。逻辑子系统502的方面可以被虚拟化,并被云计算配置中配置的远程可访问、联网的计算设备执行。
[0038]存储子系统504包括一个或多个物理的、非暂态的设备,所述设备被配置为,保持可被逻辑子系统执行为实现本文中描述的方法和过程的数据和/或指令。当所述方法和过程被实现时,存储子系统504的状态可以被转换为例如保持不同的数据。
[0039]存储子系统504可以包括可移除媒体和/或内置设备。存储子系统504可以包括光存储器设备(例如CD、DVD、HD-DVD、蓝光光盘等)、半导体存储器设备(例如RAM、EPROM、EEPROM等)和/或磁存储器设备(例如硬盘驱动器、软盘驱动器、磁带驱动器、MRAM等)等。存储子系统506可以包括易失性、非易失性、动态、静态、读/写、只读、随机访问、顺序访问、位置可寻址、文件可寻址和/或内容可寻址设备。
[0040]应当认识到,存储子系统504包括一个或多个物理的、非暂态的设备。然而,在某些实施例中,本文中描述的指令的方面可以由纯信号(例如电磁信号、光信号等)以暂态方式来传播,其中,所述纯信号不被物理设备保持有限的持续时间。此外,属于本公开的数据和/或其它形式的信息可以被纯信号传播。
[0041]在某些实施例中,逻辑子系统502和存储子系统504的方面可以被一起集成为一个或多个硬件逻辑部件,其中,本文中描述的功能可以通过所述一个或多个硬件逻辑部件来实施。所述硬件逻辑部件可以包括例如现场可编程门阵列(FPGA)、程序和应用专用集成电路(PASIC/ASIC)、程序和应用专用标准产品(PSSP/ASSP)、片上系统(SOC)系统和复杂可编程逻辑设备(CPLD)。
[0042]术语“模块”和“程序”可以用于描述被实现为执行特定功能的计算系统500的方面。在某些情况下,模块或程序可以经由执行由存储子系统504保持的指令的逻辑子系统502来实例化。应当理解,不同模块和/或程序可以通过同一应用、服务、代码块、对象、库、例程、API、函数等来实例化。同样,同一模块和/或程序可以通过不同应用、服务、代码块、对象、例程、API、函数等来实例化。术语“模块”和“程序”可以包括单独或成组的可执行文件、数据文件、库、驱动器、脚本、数据库记录等。
[0043]应当认识到,“服务”当用在本文中时是可跨多个用户会话执行的应用程序。服务可以对一个或多个系统部件、程序和/或其它服务可用。在某些实现中,服务可以在一个或多个服务器计算设备上运行。
[0044]当被包括时,显示子系统506可以用于呈现由存储子系统506保持的数据的视觉表示。该视觉表示可以采用图形用户界面(GUI)的形式。当本文中描述的方法和过程改变由存储子系统保持的数据,并且由此转换存储子系统的状态时,显示子系统506的状态可以同样被转换为视觉上表示底层数据的改变。显示子系统506可以包括一个或多个使用基本上任意类型技术的显示设备。所述显示设备可以在共享的外壳中与逻辑子系统502和/或存储子系统504合并在一起,或者所述显示设备可以是外围显示设备。
[0045]当被包括时,输入子系统508可以包括或接合一个或多个用户输入设备,例如键盘、鼠标、触摸屏或游戏控制器。在某些实施例中,输入子系统可以包括或接合所选择的自然用户输入(NUI)元件部分。所述元件部分可以是集成或外围的,并且输入动作的传导和/或处理可以在板上或板下来处理。示例性NUI元件部分可以包括:用于语音和/或声音识别的麦克风;用于机器视觉和/或手势识别的红外、颜色、立体和/或深度相机;用于运动检测和/或意图识别的头部跟踪器、眼睛跟踪器、加速度计和/或陀螺仪;以及用于评估脑活动的电场感应元件部分。
[0046]当被包括时,通信子系统510可以被配置为将计算系统500与一个或多个其它计算设备通信地耦接。通信子系统510可以包括与一个或多个不同通信协议兼容的有线和/或无线通信设备。作为非限制性示例,通信子系统510可以被配置为,经由无线电话网络或者有线或无线的局域或广域网络进行通信。在某些实施例中,通信子系统510可以允许计算系统500经由诸如互联网的网络向和/或从其它设备发送和/或接收消息。
[0047]应当理解,本文中描述的配置和/或方法是本质上示例性的,并且不在限制性的意义上看待这些特定实施例或示例,因为可能有众多变型。本文中描述的特定例程或方法可以代表任意数量的处理策略中的一个或多个。同样,所示和/或所描述的各种动作可以以所示和/或所描述的顺序、以其它顺序、并行地被执行,或被忽略。同样,可以改变上面描述的过程的顺序。
[0048]本公开的主题包括本文中公开的各种过程、系统和配置、和其它特征、功能、动作和/或属性以及其任意和全部等价物的全部新颖和非显而易见的组合和子组合。