Targeted merchandising on a user console

Advertising is targeted to a specific user of a user console. A product data request is received from a user console and includes a user identifier, user data, and at least a first product identifier. A user account record associated with the user identifier is identified. The user account record includes a subscription service level identifier and a user account history. The user data are then associated with the user account record. A product catalog is searched for any product related entries associated with the request, and when any product related entries associated with the product data request are found, each such product related entry is provided to the user console.

BACKGROUND

In recent years, game consoles have become quite popular consumer devices, becoming a ubiquitous fixture in homes around the world. In particular, the increasing market penetration of game consoles has inspired game developers and others to work diligently to develop new game titles and other applications for game consoles. Traditionally, when a new game or product for a game console is released, a marketing group places advertisements and develops merchandising materials for retail outlets to inform consumers about the newly available products. Common media channels for advertising include print and online magazines, fanzines, Internet retailers, select websites, television commercials, and the like. However, outside of such conventional media channels, it is often difficult to alert game console owners of new products for their console that may be of interest to them. Furthermore, there are often so many products available that are related to a single game title or game series, such as additional game levels and add-in components, that it is impractical to advertise all of them through some focused media channel in a conventional manner.

Similarly, it has historically been difficult to provide a simple and expedient way for consumers to learn about and purchase the multitude of new products that are available to them. Although desirable, it has been even more elusive to develop a way for consumers to learn about related products that might interest a consumer, based on the specific games, applications, and media already purchased by the consumer. Many companies presently market products to consumers based on a demographic profile created from the consumer's own purchases, using for example, credit and debit card purchase histories, models developed by marketing experts, and other data derived from online transactions by consumers. However, consumers such as children typically do not have a credit or debit card that is used in making purchases of goods and which can thus provide historical data for targeting these consumers based on their prior purchases. Furthermore, many adult consumers are concerned with the privacy of their credit account transactions and limit the use of debit and credit purchases or take steps to prevent data related to those purchases from being collected. Thus, there is a substantial need for alternative approaches that can facilitate more effective merchandising of electronic media related content.

SUMMARY

Various techniques are described for providing targeted marketing to a user console. One such technique involves receiving a product data request from a user console. The product data request includes a user identifier, user data, and at least a first product identifier. The technique also includes identifying a user account record associated with first user identifier. The user account record includes a subscription service level identifier, and a user account history. The user data are associated with the user account record. A product catalog having a plurality of product related records is searched for any product related records associated with the request, and when any product record associated with the product data request is identified, each such product related record is provided to the user console.

Another aspect is directed to a memory medium that stores machine instructions for presenting a marketplace dialog screen on a user console interface. The memory medium also stores machine instructions for enabling a request for product related data to be initiated. The request for product related data includes a user identifier associated with a user account record and at least one product identifier. The user account record includes a user service level indicator and a user account history. The memory medium further stores machine instructions for populating the marketplace dialog screen based on any received product data records. The product data records correspond to the requested product data and are based on the user account record, the service level indicator, and one or more predetermined criteria.

This Summary has been provided to introduce a few concepts in a simplified form that are further described in detail below in the Description. However, this Summary is not intended to identify key or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.

DESCRIPTION

Figures and Disclosed Embodiments are not Limiting

Exemplary embodiments are illustrated in referenced Figures of the drawings. It is intended that the embodiments and Figures disclosed herein are to be considered illustrative rather than restrictive.

Exemplary Gaming and Media System

FIG. 1shows an exemplary gaming and media system100. The following discussion of this Figure is intended to provide a brief, general description of a suitable environment in which certain methods may be implemented. As shown inFIG. 1, gaming and media system100includes a game and media console (hereinafter simply “console”)102, which an example of what is referred to in the claims that follow as a “user console.” In general console102is one type of computing device or system, as further described below, and is exemplary of a device that is used in connection with dynamically merchandising, but is not intended to be limiting. Console102is configured to accommodate one or more wireless controllers, as represented by controllers104(1) and104(2). Further, console102is equipped with an internal hard disk drive (not shown), and a portable media drive106that supports various forms of portable storage media, as represented by optical storage disc108. Examples of suitable portable storage media include DVD, CD-ROM, game discs, and so forth. Console102also includes two memory unit card receptacles125(1) and125(2), for receiving removable flash-type memory units140. A command button135on console102enables and disables wireless peripheral support.

As depicted inFIG. 1, console102also includes an optical port130for communicating wirelessly with one or more devices and two Universal Serial Bus (USB) ports110(1) and110(2) to support a wired connection for additional controllers, or other peripherals. In some implementations, the number and arrangement of additional ports may be modified. A power button112and an eject button114are also positioned on the front face of game console102. Power button112is selected to apply power to the game console, and can also provide access to other features and controls, and eject button114alternately opens and closes the tray of a portable media drive106to enable insertion and extraction of a storage disc108.

Console102connects to a television or other display via A/V interfacing cables120. In one implementation, console102is equipped with a dedicated A/V port (not shown) configured for content-secured digital communication using A/V cables120(e.g., A/V cables suitable for coupling to a High Definition Multimedia Interface “HDMI” port on a high definition monitor150or other display device). A power cable122provides power to the game console. Console102may be further configured with broadband capabilities, as represented by a cable or modem connector124to facilitate access to a network, such as the Internet.

Each controller104is coupled to console102via a wired or wireless interface. In the illustrated implementation, the controllers are USB-compatible and are coupled to console102via a wireless or USB port110. Console102may be equipped with any of a wide variety of user interaction mechanisms. In an example illustrated inFIG. 1, each controller104is equipped with two thumbsticks132(1) and132(2), a D-pad134, buttons136, and two triggers138. These controllers are merely representative, and other known gaming controllers may be substituted for, or added to, those shown inFIG. 1.

In one implementation (not shown), a memory unit (MU)140may also be inserted into controller104to provide additional and portable storage. Portable MUs enable users to store game parameters for use when playing on other consoles. In this implementation, each controller is configured to accommodate two MUs140, although more or less than two MUs may also be employed.

Gaming and media system100is generally configured for playing games and other electronic content stored on a memory medium (internal and/or portable as discussed below), shopping for and purchasing products such as electronic media including game and game component downloads, and reproducing pre-recorded music and videos, from both electronic and hard media sources. With the different storage offerings, titles can be played from the hard disk drive, from optical disk media (e.g.,108), from an online source, or from MU140. A sample of some of the types of media that gaming and media system100is capable of playing include:Game titles played from CD and DVD discs, from the hard disk drive, or from an online source.Digital music played from a CD in portable media drive106, from a file on the hard disk drive (e.g., music in the Windows Media Audio (WMA) format), or from online streaming sources.Digital audio/video played from a DVD disc in portable media drive106, from a file on the hard disk drive (e.g., Active Streaming Format), or from online streaming sources.
Functional Details of Exemplary Gaming and Media System

FIG. 2is a functional block diagram of gaming and media system100and shows functional components of gaming and media system100in more detail. Console102has a central processing unit (CPU)200, and a memory controller202that facilitates processor access to various types of memory, including a flash Read Only Memory (ROM)204, a Random Access Memory (RAM)206, a hard disk drive208, and portable media drive106. In one implementation, CPU200includes a level 1 cache210, and a level 2 cache212to temporarily store data and hence reduce the number of memory access cycles made to the hard drive, thereby improving processing speed and throughput.

CPU200, memory controller202, and various memory devices are interconnected via one or more buses (not shown). The details of the bus that is used in this implementation are not particularly relevant to understanding the subject matter of interest being discussed herein. However, it will be understood that such a bus might include one or more of serial and parallel buses, a memory bus, a peripheral bus, and a processor or local bus, using any of a variety of bus architectures. By way of example, such architectures can include an Industry Standard Architecture (ISA) bus, a Micro Channel Architecture (MCA) bus, an Enhanced ISA (EISA) bus, a Video Electronics Standards Association (VESA) local bus, and a Peripheral Component Interconnects (PCI) bus also known as a Mezzanine bus.

In one implementation, CPU200, memory controller202, ROM204, and RAM206are integrated onto a common module214. In this implementation, ROM204is configured as a flash ROM that is connected to memory controller202via a Peripheral Component Interconnect (PCI) bus and a ROM bus (neither of which are shown). RAM206is configured as multiple Double Data Rate Synchronous Dynamic RAM (DDR SDRAM) modules that are independently controlled by memory controller202via separate buses (not shown). Hard disk drive208and portable media drive106are shown connected to the memory controller via the PCI bus and an AT Attachment (ATA) bus216. However, in other implementations, dedicated data bus structures of different types can also be applied in the alternative.

A three-dimensional graphics processing unit220and a video encoder222form a video processing pipeline for high speed and high resolution (e.g., High Definition) graphics processing. Data are carried from graphics processing unit220to video encoder222via a digital video bus (not shown). An audio processing unit224and an audio codec (coder/decoder)226form a corresponding audio processing pipeline for multi-channel audio processing of various digital audio formats. Audio data are carried between audio processing unit224and audio codec226via a communication link (not shown). The video and audio processing pipelines output data to an A/V (audio/video) port228for transmission to a television or other display. In the illustrated implementation, video and audio processing components220-228are mounted on module214.

FIG. 2shows module214including a USB host controller230and a network interface232. USB host controller230is shown in communication with CPU200and memory controller202via a bus (e.g., PCI bus) and serves as host for peripheral controllers104(1)-104(4). Network interface232provides access to a network (e.g., Internet, home network, etc.) and may be any of a wide variety of various wire or wireless interface components including an Ethernet card, a modem, a Bluetooth module, a cable modem, and the like.

In the implementation depicted inFIG. 2, console102includes a controller support subassembly240, for supporting four controllers104(1)-104(4). The controller support subassembly240includes any hardware and software components needed to support wired and wireless operation with an external control device, such as for example, a media and game controller. A front panel I/O subassembly242supports the multiple functionalities of power button112, the eject button114, as well as any LEDs (light emitting diodes) or other indicators exposed on the outer surface of console102. Subassemblies240and242are in communication with module214via one or more cable assemblies244. In other implementations, console102can include additional controller subassemblies. The illustrated implementation also shows an optical I/O interface235that is configured to send and receive signals that can be communicated to module214.

MUs140(1) and140(2) are illustrated as being connectable to MU ports “A”130(1) and “B”130(2) respectively. Additional MUs (e.g., MUs140(3)-140(6)) are illustrated as being connectable to controllers104(1) and104(3), i.e., two MUs for each controller. Controllers104(2) and104(4) can also be configured to receive MUs (not shown). Each MU140offers additional storage on which games, game parameters, and other data may be stored. In some implementations, the other data can include any one or more of a digital game component, an executable gaming application, an instruction set for expanding a gaming application, and a media file. When inserted into console102or a controller, MU140can be accessed by memory controller202.

A system power supply module250provides power to the components of gaming system100. A fan252cools the circuitry within console102.

To implement one or more method steps, an application260comprising machine instructions is stored on hard disk drive208. When console102is powered on, various portions of application260are loaded into RAM206, and/or caches210and212, for execution on CPU200. Application260is described below in more detail. In general, application260can include one or more program modules for performing various display functions, such as controlling dialog screens for presentation on a display (e.g., high definition monitor150), controlling transactions based on user inputs and controlling data transmission and reception between the console100and externally connected devices.

Gaming system100may be operated as a standalone system by simply connecting the system to high definition monitor150(FIG. 1), a television, a video projector, or other display device. In this standalone mode, gaming system100enables one or more players to play games, or enjoy digital media, e.g., by watching movies, or listening to music. However, with the integration of broadband connectivity made available through network interface232, gaming system100may further be operated as a participating component in a larger network gaming community or system, as discussed below in connection withFIG. 4.

Exemplary Computing System

FIG. 3is a functional block diagram of an exemplary computing system and/or computer server for serving digital media to the computing device of connected clients, such as gaming and media system100or a similar computing system, and for use in implementing dynamically merchandising when connected in communication with one or more consoles operated by users. In one or more embodiments, it should be emphasized that only users with specific consoles are able to benefit from the dynamic merchandising provided by the exemplary computing system and/or computer server like that shown inFIG. 3, since only such consoles are permitted to connect with the computing system and/or computer server offering the dynamic merchandising.

The following discussion is intended to provide a brief, general description of a suitable computing environment in which certain methods may be implemented. Further, the following discussion illustrates a context for implementing computer-executable instructions, such as program modules, with a computing system. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. The skilled practitioner will recognize that other computing system configurations may be applied, including multiprocessor systems, mainframe computers, personal computers, processor-controlled consumer electronics, personal digital assistants (PDAs) (but likely not when used as a server of digital media content), and the like. One implementation includes distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.

With reference toFIG. 3, an exemplary computing system300is shown having a general purpose computing device320that further includes a processing unit321, a system memory322, and a system bus323that couples various system components, including system memory322, to processing unit321. System bus323may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures. The system memory includes ROM324and RAM325.

A basic input/output system (BIOS)326of fundamental routines that enable the transfer of information between elements within personal computer320, such as during start-up, is stored in ROM324. Personal computer320further includes mass storage including a hard disk drive327, a magnetic disk drive328for use with a removable magnetic disk329, and an optical disk drive330for reading from or writing to a removable optical disk331such as a CD ROM or other optical media. Hard disk drive327, magnetic disk drive328, and optical disk drive330are coupled to system bus323via a hard disk drive interface332, a magnetic disk drive interface333, and an optical disk drive interface334, respectively. The drives327,328, and330and their associated computer-readable media provide nonvolatile storage of computer readable instructions, data structures, program modules, and other data for personal computer320. Although the exemplary environment described herein employs a hard disk, a removable magnetic disk329, and a removable optical disk331, other types of computer readable media, such as for example, magnetic cassettes, flash memory cards, digital video disks, Bernoulli cartridges, RAMs, ROMs, may also be used in the exemplary operating environment.

A number of program modules can be stored on the hard disk, magnetic disk329, optical disk331, ROM324or RAM325, including an operating system335, one or more application programs336, other program modules337, and program data338. A user may enter commands and information into personal computer320through input devices such as a keyboard340and pointing device342. Other input devices (not shown) may include a microphone, joystick, game controller, satellite dish, scanner, or the like. These and other input devices can be connected to processing unit321through a serial port interface346that is coupled to the system bus, but can also be connected by other interfaces, such as a parallel port, game port, an IEEE 1394-compliant port, a universal serial bus (USB) or any of a variety of ports compliant with one of several adopted wireless standards (e.g., Bluetooth, IEEE 802.xx, etc). A monitor347or other type of display device is also connected to system bus323via an interface, such as a video adapter348. In addition to the monitor, computers can also include other peripheral output devices (not shown), such as speakers and printers.

Computer320may operate in a networked environment using logical connections to one or more remote computers, such as a remote computer349. Remote computer349may be personal computer, a server, a router, a network PC, a peer device or other common network node, and can include many or all of the elements described above relative to personal computer320, although only a remote memory storage device350has been illustrated inFIG. 3. The logical connections depicted inFIG. 3include a local area network (LAN)351and a wide area network (WAN)352. Such networking environments are commonplace in offices, enterprise-wide computer networks, intranets, and the Internet.

When used in a LAN networking environment, computer320is connected to local network351through a network interface or adapter353. When used in a WAN networking environment, computer320typically includes a modem354or other means for establishing communications over WAN352, such as the Internet. Modem354, which may be internal or external, is connected to system bus323via serial port interface346. In one implementation, computer320is a server computer operating in a networked environment, and program modules depicted relative to computer320, or portions thereof, can be stored in the remote memory storage device350.

Exemplary Operating Environment

FIG. 4is a block diagram of an exemplary operating environment400for various methods and systems for enabling dynamic merchandising of products on a user console.FIG. 4shows a console service410in communication with a plurality of consoles100A-100N via communication system450. Console service410further includes one (or more) server computing system(s)300(i.e., only one shown), a catalog420, and a console service database430. Catalog420has a plurality of product related entries, illustrated inFIG. 4by way of example, as products421, product information422, product offers423, and user products424. Console service database430is shown as including a user account record431having a plurality of entries, illustrated again by way of example, as a service level indicator432, products433, a user history434, user controls435, and a user identifier (ID)436.

In one implementation, each of the plurality of consoles (e.g., each of consoles100A-100N is a gaming and media system, such as gaming and media system100ofFIGS. 1 and 2. In general, consoles100A-100N can be a set of electronic devices that are enabled for communication with console service410. In one or more implementations, console service410is configured to provide dialog screens to a display device to enable interaction with a user. In one or more implementations, consoles100A-100N are configured to enable transactions with console service410using a credit card, a prepaid card, or an electronic user account (e.g., a micro-point balance account).

Generally, any console of the above-described variety can be configured for on-line and off-line use, such that a user of an off-line console can access product information about software and components stored in memory on the console, or that has been viewed or accessed by a user and then recorded in a user history file. Furthermore, in an on-line mode, such a console can be configured to request, automatically or based on a user action, various information from the console service410. Additionally, console service410can be configured to push information to the console, periodically or as discrete events, based on various data provided from the console. Console service410can also be configured to provide various user dialog screens for enabling a user to interact with the console service to facilitate different functions, such as shopping via a marketplace dialog screen.

Communication system450can be any communication system configured to communicate signals between consoles100A-100N and console service410. In one implementation, communication system450is configured as a virtual private network (VPN) that utilizes a secure protocol (e.g., secure socket layer “SSL”) to communicate encrypted information through the Internet between consoles100A-100N and console service410. In another application, communication system450is implemented with calls to dedicated application program interfaces (APIs) using a secure communication protocol that enables closed-network communication between the consoles100A-100N and console service410. Communication system450thus excludes other general purpose computing devices from communicating with console service410, so that only consoles100A-100N are able to enjoy the benefit of the dynamic merchandising provided by the console service.

In general, console service410is any combination of one or more server-side devices and applications or modules configured to facilitate dynamic merchandising of products on a user console. In one implementation, console service410includes a server300, a catalog420, and a console service database430, all in communication with each other. Console service410can include additional components or modules that are not relevant to the present discussion, and which are therefore omitted from the Figure for clarity.

Service data base430can include one or more relational databases stored in one or more data storage devices (not separately shown in this Figure) at one or more locations. In one embodiment, service database430includes a plurality of data records, including user account records431.

User account records431can include a variety of information related to each user ID, such as an associated unique identification code or key for each user. A user account record thus associates information related to a specific user ID with other information for that user, such as a subscription service level indicator432, i.e., an ID code that establishes the specific services available to the user ID436through console service410. Each user account record431can also include a user history434that can incorporate a record of each product accessed, purchased, or viewed by the user, a tally of purchased electronic payment units and other information tied to a specific subscription-based user account. Products432, including user products, e.g., products and content created by a user, can also be included in user account record431. Alternatively, products432can contain a bundle of rights that grants permission to download a product on-demand, rather than containing an actual product. Products are generally goods and services including executable applications and application components such as games and digital game components, game levels, and game player enhancements. Products can also include various media, coupons, tangible goods, and rights in tangible goods, e.g., when a tangible good is purchased via a console and a postal fulfillment for the good is pending. In yet another implementation, user account records431can contain information such as user controls435that can indicate preferences or selections, such as parental controls selectively applied by a parent to a child's account to filter product related information, or to affect the purchase of products, or to control the display of product offers and other product related data.

Catalog420can include one or more data storage and processing systems (not shown) that are implemented to store and retrieve product records (e.g., products421, product information422, product offers423, and user products424). In one implementation, catalog420is a distributed data storage system that includes one or more databases located in one or more locations, which can be in communication via a communication system (not shown). In another implementation, catalog420is a component of a so-called “server farm” comprising a plurality of servers or server computing systems. In general, catalog420stores product related data (e.g. product records), such as executable programs including games, and/or other media or digital content, such as new game levels, game components and digital media files for movies, music, and other digital media. Product offer423can be metadata that can be linked with a specific product or good, such as a game, a game component, or a media file, by reference to a specific product ID, in order to advertise features of the specific product. Product offer423can also be a promotional offer that includes terms for purchase of a product, and the various rights that are granted with the purchase. In other implementations, product offer423represents a license, limited or unlimited, for a specific time period. In this case, an activation code or a prepaid card code can be used to determine when the time period begins to run for the license, or to define other aspects of the license.

In one implementation, catalog420stores a plurality of encapsulated executable programs (e.g., products421) indexed for quick access and parallel download by a plurality of consoles, such as any of consoles100A-100N that are authorized to download such products. In some implementations, each distinct product record stored in catalog420has a unique ID. The unique ID can include a data structure that includes product ID codes and linking codes that can indicate related products or product families, which can be useful in conducting targeted marketing to merchandise products related to other products that a user has already accessed and/or purchased.

Exemplary Methods for Marketing Goods and Digital Content on a Console

FIG. 5is a flow diagram illustrating an exemplary method500. Method500can be implemented in some embodiments with components, devices, and techniques as discussed with reference toFIGS. 1-4. In some implementations, one or more steps of method500are embodied on a computer readable medium containing computer readable code or machine instructions such that a series of steps are implemented when the computer readable code is executed by a processor. In the following description, various steps of method500are described with respect to one or more console service processors performing the method steps. In some implementations, certain steps of method500can be combined, performed simultaneously, or in a different order, without deviating from the objective of method500or without producing different results. Method500begins at a step510.

In step510, a product related request received from a user console is identified. In one implementation, the product related request includes a first user ID and a product ID. In one embodiment, the product related request can be identified at any time after it is received at the console service. In another embodiment, the product related request is identified by the user ID. In some implementations, the product related request can be for one or more type of data, for example, product information, pricing for a product, a product offer, or information about a user product.

In a step520, a user account record is determined based on the user ID. In one implementation, the user ID is associated with the user account record. In this implementation, the user account record can include a subscription service level ID, and a user history associated with the user ID. The user account record can be determined at any time after the request is identified.

In a step530, a determination is made whether any product records in the product catalog are associated with the product related request based on the user account record and the product ID. The determination whether any product records in the product catalog are associated with the product related request can be made at any time after the user account is determined.

In a step540, when it is determined that at least one product record is associated with the product related request, the at least one product record is provided to the user console. While this step can occur at any time after the determination is made that at least one product record is associated with the product related request, in some implementations, the product record or records can be provided periodically or at discrete times.

Another implementation of method500can include the step of filtering the product records based on predetermined criteria. Next each of the filtered product records that matches the predetermined criteria is identified. Finally, each identified product record is associated with the user account record. In some implementations, the predetermined criteria can be one or more filters including the user history, any new product records that are identified and parental control settings. In other implementations, the predetermined criteria can be one or more filters such as any related products that are identified; any product offers that are identified, a product category and a search term received from the user console, for example.

Although not shown inFIG. 5, yet another implementation of method500can include the step of identifying each product record associated with the user account record that is related to the received product ID. A targeted product offer can then be generated based on one or more identified product records. In some implementations, the targeted product offer includes targeted product information related to one or more identified product records, such as a related title, a similar genre, a title by the same publisher, a component for an existing application of the first user, a cross-merchandised item, and the like. The targeted product offer is then provided to the first user console.

In another implementation of method500, the product related request includes a product purchase order for a product associated with the product ID. In this implementation, the console service is enabled to receive payment for the purchase order submitted from a user console in the form of a credit card number, a prepaid card number; or debit of an electronic user account.

In one implementation, method500further includes the step of identifying a predetermined code received from the user console. In this implementation, the predetermined code is associated with a specific predetermined console service operation. The predetermined code can be from, for example, a prepaid card that can be redeemed for an electronic user account value, or a service, or a product. The identified predetermined code is then matched to the specific console service operation. The predetermined code and the specific console service operation are associated with the first user account record. The specific console service operation is then enabled for use with the user ID associated with the user account record.

In some implementations, the console service operation can be an operation such as upgrading a subscription service level, enabling the sale of a specific tangible good identified by the predetermined code, or enabling the grant of a license to a specific product identified by the predetermined code. In other implementations, the console service operation can be an operation such as adding negotiable value to an electronic user account, adding additional usable time to an existing license term, enabling access to a specific online service, or enabling a coupon redemption.

Another implementation of method500includes detecting when a product related request is associated with a specific user product. A user product can be a digital product created by a user such as media, graphics, game levels and skins, or a commercial product for which the user has unrestricted user rights, or even a transferable license bundle to a commercial product. In this implementation, the product ID can incorporate a second user account ID that is associated with the specific user product. Next, a determination is made as to whether any user product records associated with the second user account ID and the user product ID are in the product catalog. Finally, when at least one user product record is determined to be in the product catalog, the user product record(s) is/are provided to the first user console. In another implementation, the first user account record can be linked with a second user account record based on the second user account ID. A transfer of a user product record associated with the second user account record to the first user account record can then be carried out.

In various implementations, as discussed briefly above, the user product record can contain any of a number of digitally transferable items, such as but not limited to a digital game component, a license bundle, user created digital content or an executable application. In other implementations, the user product record can be any of a number of other digitally transferable items, including without limitation, an electronically exchangeable unit of payment, an event ticket, a redeemable coupon, a predetermined code for a console service operation, and a media file. Furthermore, a user product record can be linked to a “personal marketplace” that is associated with the user account, which enables a user to offer a “virtual store” to other users for user products, so that the virtual store is facilitated by the console service.

FIG. 6is a flow diagram illustrating another exemplary method600. Method600can be implemented in some embodiments with components, devices and techniques as discussed with reference toFIGS. 1-4. In some implementations, one or more steps of method600are embodied on a computer readable medium containing computer readable code or machine instructions, such that a series of steps are implemented when the computer readable code is executed on a computing device, such as by a processor. In the following description, various steps of method600are described with respect to a processor of a user console in a gaming and media system that is performing the method steps, in communication (as appropriate) with a console service. In some implementations, certain steps of method600can be combined, and performed simultaneously or in a different order, without deviating from the objective of method600or without producing different results. Method600begins at a step610.

In step610, a marketplace dialog screen is presented on a user console interface. The marketplace dialog screen can be any dialog screen that enables a user to access products and services from a dedicated dynamic dialog screen using a user console. On one implementation, the marketplace dialog screen can be presented when invoked by a user. In another implementation, the marketplace dialog screen can be presented automatically when a console is powered up. In yet another implementation, the electronic marketplace dialog screen can be accessed, for example, from a user guide dialog screen, an entry point from within a game that is executing, or through a promotional banner on a dialog screen.

A step620enables a request for product data to be initiated. In some implementations, the request for product data includes a user ID associated with a user account record, and at least one product ID. In another implementation, the user account record additionally can include a user service level indicator, and a user account history.

In a step630, the marketplace dialog screen is populated based on one or more received product data records. In some implementations, the product data records can correspond to the requested product data and can also be based on the user account record, the service level indicator, and one or more predetermined criteria. In some implementations, the predetermined criteria can be one or more filters, including the user history, any new product records or previously accessed product records that are identified, and parental control settings. In other implementations, the predetermined criteria can be, for example, one or more filters such as any related products that are identified, any product offers that are identified, a product category, or a search term received from the user console.

Another implementation of method600provides access to a merchandising dialog screen from within an active application screen. In one example, the merchandising dialog screen can be a fly-out screen that is targeted to a selected range of dialog box options, such as information about a particular product, and/or a purchase option. In some implementations, the merchandising screen can be accessed from an indicator for a new item within the active application screen, a promotional banner within the active application screen, or an indicator of unviewed items within the active application screen.

Yet another implementation of method600includes presenting a payment dialog screen to a user display to enable a purchase transaction. In some implementations, the payment dialog screen can present payment options including use of a credit card, a prepaid card, or an electronic user account to pay for a product. A payment option selection is made, and payment information is received. In response to receiving the payment information, the payment information is provided to the console service.

Another implementation of method600includes the steps of accessing a specific product data application programming interface (API), and providing the product data request to a console service using the specific product data API. In some implementations, a separate API is dedicated for each type of product data request, transaction and access of the console service that can be made with a user console. In one example, a game is enabled to invoke a specific API in order to obtain information about products available for that specific game. The information can include a list of items related to the game that are available for purchase. In another example, a product record can be marked as “hidden” and is not listed to a user, but can be obtained automatically by a game or application directly through invoking an API. In this example, the product record (e.g., a new game level or a new capability) can be obtained when a user completes a prior game level or achieves at least a predefined score. In this manner, each new game level of a game can be transparently delivered to a user console on demand through an API as a game is played.

Exemplary Dialog Screens

FIGS. 7-10graphically illustrate, through exemplary dialog screens, some interactions of the system, components and methods described in reference toFIGS. 1-6. The following description and corresponding Figures are meant only to serve as illustrative dialog screens that aid in understanding certain functionality, but are in no way intended to represent all possible combinations of dialog screens or of possible uses of the described system and methods.

FIG. 7illustrates an exemplary main dialog screen700. The main dialog screen illustrates menu options from which a user can select using a user input device at a console or other computing device. In the example shown, main dialog screen700includes selections for a “Game Downloads”710, “Memberships”720, “Demos & Trailers”730, “Themes & Pictures”740, a “My Download History option”750, and a “Redeem Prepaid Card or Promotional Code” option760, as well as enabling the user to navigate to other dialog screens and other selections. A “Featured Download” portion770of main dialog screen700can be used for promotional items, such as games, that are advertised in a graphical window771. Generally, a menu item can be invoked by selecting the field of the desired menu item. Dialog screen751ofFIG. 7represents a screen that can be presented in response to a user invoking the “My Download History” menu item in main dialog screen700. As illustrated inFIG. 7, dialog screen751can include information associated with a user account, such as any digital content, e.g., games752, that has previously been downloaded by the user associated with the specific user ID for that account.

By way of further illustration,FIG. 8is a schematic diagram of another exemplary graphical user interface dialog screen810, which represents a screen that can be presented in response to a user invoking “Game Downloads” menu item710in main dialog screen700(FIG. 7). Dialog screen810includes tab selections, including a “My Games” tab811, and an “All Games” tab813, and can include promotional items812for games and game components. “My Games” tab811provides a list of content titles814for previously purchased products, along with identifying information about the products, including the amount of related content that has been downloaded and an indication of whether new products have become available that relate to the content title.

As a further illustration of the relationship of content to available downloads, an exemplary dialog screen820is presented to a user when content is invoked that is not yet downloaded. A dialog message821can indicate that an additional component, or even a full program, needs to be downloaded in order to proceed with the content invocation. As illustrated inFIG. 8, dialog screen820can present a selection822to continue downloading content, and a selection823to cancel a content download.

By way of another illustration,FIG. 9illustrates an exemplary dialog screen910that can be presented to a user for prompting the user to obtain a digital game component. Dialog screen910includes details describing a game title911, and a description of a component with an offer for acquiring a digital component914. A user can invoke an acquisition of the digital component by selecting a “Continue” field912, or obtain additional information about the license rights that a user obtains with the digital component, by selecting a “Licensing Details” field913.

By way of yet another illustration,FIG. 10illustrates an exemplary dialog screen1010that can be presented to a user for prompting the user to submit payment information. Dialog screen1010includes a prompt description1011indicating the options available to the user for making payment. The payment options are depicted as dialog action buttons labeled: “Visa”1012, “Redeem Prepaid Card”1013, “Add Credit Card”1014, “Add Debit Card”1015, and “Other”1016. Each dialog action button can invoke payment via the indicated means, or invoke another dialog screen (not shown) for enabling a user to enter information such as user account codes, passwords, and other data.

Invoking an action button can also invoke an information window1017in the dialog screen that provides details for the selected payment option. For example,FIG. 10illustrates that “Visa4321” (dialog action button1012) is a payment option, and that a dialog window1017illustrates information submitted by the user to activate the payment option. In some implementations, an action button for a payment option can be used to make a purchase. For example, the “Add Micro Points” action button1018can invoke a purchase or transfer of value to an electronic user account from one of the payment options of dialog screen1010.

Each of the above-described dialog screens illustrated inFIGS. 7-10can be employed with the components of the exemplary operating environment illustrated inFIG. 4, in order to facilitate the methods described with reference toFIGS. 5 and 6. In particular, the illustrative dialog screens can be displayed to a user by a console as described inFIGS. 1 and 2, in order to enable user interaction with a console service, such as that illustrated inFIG. 4.