The present disclosure relates generally to broadcast media, and specifically to a method, system and mobile electronic device for purchasing media.
As the numbers of mobile electronic devices such as cellular phones and smart phones increase, the capabilities of both the devices and the associated networks within which these devices operate continue to grow. As a result, ever greater functionality is made available to these devices. Among the functions available to many such devices is the ability to purchase media (e.g. ring tones, music and the like) from online stores. The integration of these purchasing capabilities with media-playing devices such as radio tuners, however, remains cumbersome and inefficient.
Embodiments are described with reference to the following figures, in which:
According to an aspect of the present disclosure, a method of purchasing media is provided, comprising receiving metadata at a communications interface of a mobile electronic device, the metadata comprising an identifier for media being played by a second device; determining whether input data has been received at the mobile electronic device, the input data representing a purchase command; and when the determination is affirmative, transmitting a purchase request from the mobile electronic device for purchasing the media, the purchase request including the identifier.
According to another aspect of the present disclosure, a mobile electronic device is provided, comprising a memory; a communications interface for receiving metadata, the metadata comprising an identifier for media being played by a second device; and a processor configured to determine whether input data has been received at the mobile electronic device, the input data representing a purchase command; and, when the determination is affirmative, to transmit, via the communications interface, a purchase request for purchasing the media, the purchase request including the identifier.
According to a further aspect of the present disclosure, a non-transitory computer readable storage medium having computer-readable instructions embodied therein for execution by a processor, the computer-readable instructions implementing a method, the method comprising: receiving metadata at a communications interface of a mobile electronic device, the metadata comprising an identifier for media being played by a second device; determining whether input data has been received at the mobile electronic device, the input data representing a purchase command; and when the determination is affirmative, transmitting a purchase request from the mobile electronic device for purchasing the media, the purchase request including the identifier.
Referring to
Mobile electronic device 104 further includes one or more output devices interconnected with processor 200, such as a display 208. It will be appreciated that other output devices are also contemplated. For example, mobile electronic device 104 can also include a speaker 212, a light-emitting indicator such as a Light Emitting Diode (LED) 216, and the like. Display 208 includes display circuitry 220 controllable by processor 200 for generating representations of data and/or applications maintained in memory 204. Display 208 includes a flat panel display (e.g. Liquid Crystal Display (LCD), plasma display, Organic Light Emitting Diode (OLED) display). Circuitry 220 can thus include any suitable combination of display buffers, transistors, LCD cells, plasma cells, phosphors, and the like. It will also now be apparent that a touch screen input device can be integrated with display 208.
Mobile electronic device 104 additionally includes one or more input apparatuses interconnected with processor 200, including without limitation a microphone 224, a keypad 228 (which, in some example embodiments, includes a keyboard such as a QWERTY keyboard or reduced QWERTY keyboard, and a plurality of additional function keys), an input navigation device such as a trackball 232 and a camera 234. It will now be apparent that in some example embodiments, other combinations of input apparatuses can be provided. In some non-limiting embodiments, for example, trackball 232 can be replaced with a touchpad (not shown). In further non-limiting embodiments, one or both of keypad 228 and trackball 232 can be omitted, and a touch screen input device (not shown) can be integrated with display 208. In still other non-limiting embodiments, the touch screen input device can be provided in addition to keypad 228 and trackball 232. Further variations will occur to those skilled in the art. In general, input apparatuses of mobile electronic device 104 are configured to provide input data to processor 200.
Mobile electronic device 104 also includes a communications interface 236 interconnected with processor 200. As seen in
General Packet Radio Service (“GPRS”), Enhanced Data rates for GSM Evolution (“EDGE”), and the third-generation mobile communication system (3G), Institute of Electrical and Electronic Engineers (“IEEE”) 802.11 (WiFi), or other wireless protocols. It will be understood that link 108 can also include any base stations and backhaul links necessary to connect mobile electronic device 104 to network 112.
Another example link 116 is shown in
The various components of mobile electronic device 104 are interconnected, for example via a communication bus (not shown). Mobile electronic device 104 can be powered by a battery (not shown), though it will be understood that mobile electronic device 104 can also be supplied with electricity by a wired connection to a wall outlet or other power source, for example when docked.
System 100 also includes a player device 120, such as a radio tuner, configured for receiving and playing media. Player device 120 can be, for example, a satellite radio tuner within a vehicle 124. In other non-limiting embodiments, player device 120 can be, for example, a digital cable receiver connected to a network via a wired link. Referring now to
Player device 120 includes a processor 300 interconnected with a computer readable storage (i.e. non-transitory) medium such as memory 304. Memory 304 can be any suitable combination of volatile (e.g. Random Access Memory (“RAM”)) and non-volatile (e.g. read only memory (“ROM”), Electrically Erasable Programmable Read Only Memory (“EEPROM”), flash memory, magnetic computer storage device, or optical disc) memory.
Player device 120 also includes one or more output devices interconnected with processor 300, such as a display 308 and one or more speakers 312. In some example embodiments, speakers 312 are housed separately from player device 120. For example, in some embodiments, speakers 312 can be embedded within vehicle 124. Display 308 includes display circuitry 320 controllable by processor 300 for generating representations of data and/or applications maintained in memory 304. Display 308 includes a flat panel display (e.g. Liquid Crystal Display (LCD), plasma display, Organic Light Emitting Diode (OLED) display). Circuitry 320 can thus include any suitable combination of display buffers, transistors, LCD cells, plasma cells, phosphors, and the like. It will also now be apparent that a touch screen input device can be integrated with display 308.
Player device 120 can also include one or more input apparatuses interconnected with processor 300, including without limitation a microphone 324 and a keypad 328. In some example embodiments, other combinations of input apparatuses can be provided, including touch pads, touch screens integrated with display 308, and the like. Moreover, either or both of microphone 324 and keypad 328 can be omitted in some example embodiments. In general, input apparatuses of player device 120 are configured to provide input data to processor 300.
Player device 120 also includes a communications interface 336 interconnected with processor 300. Communications interface 336 allows player device 120 to communicate with other devices via communications links. In some embodiments, player device 120 can communicate with mobile electronic device 104 via link 116 (which, as mentioned above, can be a short-range wireless link based on Bluetooth™ or a wired link, such as a USB link). Player device 120 can additionally communicate with a media broadcast source, such as a radio satellite 340 in the presently described example embodiment. It will be appreciated that other media broadcast sources than radio satellite 340 are also contemplated. For example, in some example embodiments player device 120 can communicate with terrestrial media broadcast sources instead of, or in addition to, radio satellite 340.
Player device 120 can thus be configured to receive media from one or more remote broadcasting sources and to play the received media within vehicle 124, via output devices such as speakers 312, display 308 or any suitable combination thereof. In some example embodiments, the media received for playing can be maintained temporarily in memory 304 at a media cache 344 or other temporary memory placeholder. Player device 120 also receives, from radio satellite 340, metadata associated with the media. The received metadata can also be maintained temporarily in media cache 344. In the presently described example embodiment, the media and associated metadata are maintained in media cache 344 until playback of the media by player device 120 is complete. Once playback of the media is complete, the media and associated metadata are deleted from media cache 344 and can be replaced by different media and associated metadata received from radio satellite 340, which is in turn temporarily stored in media cache 344 for playback and eventual deletion. In other words, at any given time media cache 344 contains “current” media and metadata—that is, the media currently being received or played, or both, as well as the metadata associated with that media. The metadata includes an identification of the media with which it is associated. The metadata can also include various characterizing information for the media in media cache 344. In some example embodiments, metadata includes, without limitation, song name, artist name, album name, or other identifiers. Metadata can also include a purchase price for the media.
Mobile electronic device 104 can be configured for communications with player device 120 via link 116 when mobile electronic device 104 is itself within vehicle 124. It will now be appreciated, however, that player device 120 and mobile electronic device 104 need not be within vehicle 124, and that this non-limiting arrangement is presented for illustrative purposes.
Referring back to
Referring now to
It is contemplated that various mechanisms can be used for the performance of block 405 as described below. In some example embodiments, processor 300 of player device 120 is configured to automatically transmit the current metadata stored in media cache 344 over link 116. Thus, having received the current metadata from radio satellite 340, processor 300 can be configured to forward that metadata directly to mobile electronic device 104. Processor 300 can be configured to effect the automatic forwarding at predetermined time intervals. In other example embodiments, processor 300 can be configured to effect the automatic forwarding whenever the current metadata changes (i.e. is overwritten by different metadata associated with the next media file to be played).
In other example embodiments, mobile electronic device 104 is configured to transmit periodic metadata requests over link 116. Such requests can be made automatically (that is, without the receipt of input data from any of the input apparatuses of mobile electronic device 104). The time period between each request can be predetermined, and configurable by receipt of input data from one or more of mobile electronic device 104's input apparatuses. In still other example embodiments, the time period can be determined by processor 200 based on the current metadata. For example, the current metadata can include the duration of a song with which it is associated. Processor 200 can be configured to determine when the current metadata will expire (i.e. after the specified duration has elapsed, indicating that playback of the song has completed and that the current media and metadata within media cache 344 has changed or will soon change) and to transmit a metadata request to player device 120 upon such expiry.
In further example embodiments, the performance of block 405 can include the capture of current metadata from display 308 of player device 120. Referring now to
Having received current metadata, processor 200 completes the performance of block 405 by storing a copy of the current metadata in memory 204. Referring briefly to
Referring back to
Following a negative determination at block 410—indicating that no purchase command has been received—method 400 waits at block 410. It will be appreciated that during such periods of waiting, the current metadata in media cache 344 can change responsive to additional media broadcasts being received at player device 120. In such instances, method 400 can start over with the performance of block 405, where processor 200 receives the updated current metadata.
When the determination at block 410 is affirmative (that is, when processor 200 determines that it has received input data representing a purchase command), method 400 proceeds to block 415.
At block 415, processor 200 can be configured to generate and transmit a purchase request in response to the purchase command received at block 410. The purchase request is transmitted, via communications interface 236, over link 108, network 112 and link 132 to server 128. The purchase request includes an identifier of the media to be purchased. The identifier to be included in the purchase request is obtained from current metadata 244 maintained in memory 204. As seen from the performance of blocks 405 and 410, the identifier is therefore an identifier for the media currently being played by player device 120, allowing for the purchase to be effected by mobile electronic device 104 substantially simultaneously with the playing of the media by player device 120. It will now be appreciated that the performance of block 415 can include the transmission of any suitable authentication information to server 128. Authentication information can include a username and password for an account maintained by server 136 and associated with mobile electronic device 104. Other items of authentication information are also contemplated, such as credit card numbers, birthdates and the like. It is contemplated that authentication information can be encrypted prior to transmission to server 128.
Proceeding to block 420, in response to the purchase request transmitted at block 415, and dependent on successful authentication and balance or credit verification at server 128, processor 104 is configured to receive the purchased media from server 128 and store the purchased media in memory 204 at 248. Purchased media 248, which corresponds to the current media being played by player device 120 (or for which playback recently completed), can then be played back by mobile electronic device 104, transmitted to other devices, or both. For example, in some example embodiments, method 400 can proceed to block 425, at which processor 200 is configured to transmit purchased media 248, via communications interface 236, to player device 120. Such performance of block 425 allows player device 120 to play purchased media 248 at a later time, after purchased media 248 no longer corresponds to the current media stored in media cache 344.
Referring now to
Thus, system 600 includes a mobile electronic device 604 connected to a network 612 via a link 608. System 600 also includes a player device 620 connected to mobile electronic device 604 via a link 616, and a server 628 maintaining a store 636 and connected to network 612 via a link 632. The above-mentioned elements of system 600 are as described in connection with their counterparts in system 100. System 600 also includes an additional computing device 640, such as a personal computer. Personal computer 640 can be based on any well known computing environment, and thus includes an enclosure housing a processor and a memory. Personal computer 640 also includes input apparatuses such as a keyboard and a mouse, and output devices such as a display and speakers. Personal computer 640 can be associated with mobile electronic device 604. For example, both personal computer 640 and mobile electronic device 604 can be associated with the same media-purchasing account on server 628.
Referring again to
Those skilled in the art will appreciate that in some embodiments, the functionality of processor 200 executing application 240 can be implemented using pre-programmed hardware or firmware elements (e.g., application specific integrated circuits (ASICs), electrically erasable programmable read-only memories (EEPROMs), etc.), or other related components.
Persons skilled in the art will appreciate that there are yet more alternative implementations and modifications possible for implementing the embodiments, and that the above implementations and examples are only illustrations of one or more embodiments. The scope, therefore, is only to be limited by the claims appended hereto.