Method and apparatus for sharing streaming media links
Claim Score by NHIP
Abstract
A method for a computer system having a display, an audio output device, and a user input device includes displaying a graphical user interface on the display, the graphical user interface including a tuning portion and a first, user-selectable icon, receiving a first user selection on the display, the first user selection of the tuning portion, determnining a selection of a pre-defined identifier in response to the first user selection, identifying a streaming media source in response to the pre-defined identifier outputting streaming media data from the streaming media source to the audio output device, receiving a second user selection on the display, the second user selection of the first user-selectable icon, determining a selection of a new identifier in response to the second user selection, associating the new identifier with the streaming media source, thereafter receiving a third user selection on the display, the third user selection of the tuning portion, determining another selection of the new identifier in response to the third user selection, identifying the streaming media source in response to the another selection of the new identifier, and thereafter outputting additional streaming media data from the streaming media source to the audio output device.
Term
Term ended
Expired 26 May 2020, 6.3 years ago.
- Priority
- Filed
- Granted
- Expired
- Today
72 claims: 16 independent, 56 dependent
- 1A method for a computer server comprises:receiving a profile identifier from a first client computer;receiving a pre-defined identifier from the first client computer, the pre-defined identifier determined in response to a first user selection of a graphical user interface on a display of the first client computer, the graphical user interface including a tuning portion and a first icon, the first user selection of the tuning portion;determining a uniform resource locator for a streaming media source in response to the pre-defined identifier and in response to the profile identifier;sending the uniform resource locator to the first client computer;receiving a save request from the first client computer, the save request determined in response to a second user selection of the graphical user interface on the display of the first client computer, the second user selection of the first icon;associating a new identifier with the pre-defined identifier, and the profile identifier in response to the save request;storing the association among the new identifier, the pre-defined identifier, and the profile identifier;thereafter receiving the profile identifier from the first client computer;receiving the new identifier from the first client computer, the new identifier determined in response to a third user selection of the graphical user interface on the display of the first client computer, the third user selection of the tuning portion;retrieving the pre-defined identifier in response to the profile identifier and the new identifier;determining the uniform resource locator for the streaming media source in response to the pre-defined identifier;and sending the uniform resource locator to the first client computer.
- 7A computer server having system, comprising:a processor further comprises: ;and a tangible media coupled to the processor, the tangible media comprising having stored thereon : information indicative of an association among a new identifier, a pre-defined identifier, and a profile identifier received from a first client computer;and instruction executable by the computer system to cause the computer system to: code that directs the processor to receive the profile identifier from a second client computer;code that directs the processor to receive the new identifier from the second client computer, the new identifier having been determined in response to using a first user selection of a tuning portion of a graphical user interface on a display of the second client computer , the graphical user interface including a tuning portion, the first user selection of the tuning portion ;code that directs the processor to retrieve the pre-defined identifier in response to the received profile identifier and the received new identifier;code that directs the processor to using the pre-defined identifier, determine the a uniform resource locator for the a streaming media source in response to the pre-defined identifier ;and code that directs the processor to send the uniform resource locator to the second client computer.
- 14A method for a computer system comprises:sending a request to a computer server, the request comprising an identifier associated with a first user and tuning data, the tuning data comprising a band selection and a channel selection, the tuning data determined in response to input from a second user of a tuner portion of a remote tuner coupled to the computer system;receiving a network address of a streaming media source from the computer server in response to the request, the network address determined in response to the identifier associated with the first user and the tuning data determined in response to the input from the second user;requesting streaming media data from a content server at the network address;decoding the streaming media data received from the content server to form a stream of audio data;and outputting the audio data to speakers coupled to the computer system.
- 21A method comprising:displaying a graphical user interface on a display of a client computer, the graphical user interface including a channel selector;sending, from the client computer, a request to a computer server, the request comprising an identifier associated with a first user and tuning data, the tuning data comprising an indication of a designated channel selected by the first user using the graphical user interface;receiving, at the client computer, a network address of a streaming media source from the computer server in response to the request, the network address determined in response to the identifier associated with the first user and the tuning data;the client computer requesting streaming media data from a content server at the network address;and sending, from the client computer, a save request to the computer server to cause the computer server to associate the designated channel and network address with a different channel selectable on the graphical user interface, wherein the save request is sent in response to the first user selecting a save icon on the graphical user interface.
- 22A non-transitory computer-readable medium having instructions stored thereon, the instructions being executable by a computing device to cause the computing device to:receive a profile identifier from a first client computer;receive a pre-defined identifier from the first client computer, the pre-defined identifier determined in response to a first user selection of a graphical user interface on a display of the first client computer, the graphical user interface including a tuning portion and a first icon, the first user selection of the tuning portion;determine a uniform resource locator for a streaming media source in response to the pre-defined identifier and in response to the profile identifier;send the uniform resource locator to the first client computer;receive a save request from the first client computer, the save request determined in response to a second user selection of the graphical user interface on the display of the first client computer, the second user selection of the first icon;associate a new identifier with the pre-defined identifier, and the profile identifier in response to the save request;and store the association among the new identifier, the pre-defined identifier, and the profile identifier, and thereafter: receive the profile identifier from the first client computer;receive the new identifier from the first client computer, the new identifier determined in response to a third user selection of the graphical user interface on the display of the first client computer, the third user selection of the tuning portion;retrieve the pre-defined identifier in response to the profile identifier and the new identifier;determine the uniform resource locator for the streaming media source in response to the pre-defined identifier;and send the uniform resource locator to the first client computer.
- 23A non-transitory computer-readable medium having instructions stored thereon, wherein the instructions are executable by a computing device to cause the computing device to:send a request to a computer server, the request comprising an identifier associated with a first user and tuning data, the tuning data comprising a band selection and a channel selection, the tuning data determined in response to input from a second user of a tuner portion of a remote tuner coupled to the computer system;receive a network address of a streaming media source from the computer server in response to the request, the network address determined in response to the identifier associated with the first user and the tuning data determined in response to the input from the second user;request streaming media data from a content server at the network address;decode the streaming media data received from the content server to form a stream of audio data;and output the audio data to speakers coupled to the computer system.
- 24A method comprising:displaying a graphical user interface on a display of a client device, the graphical user interface including a channel selector;receiving, at the client device, tuning data from a first user of the client device;sending, from the client device, a media request to a computer server, the media request specifying both the first user and the received tuning data, the tuning data comprising an indication of a designated channel selected by the first user using the channel selector of the graphical user interface;receiving, at the client device, a network address of a streaming media source from the computer server in response to the media request, the network address determined based on the tuning data associated with the first user;the client device requesting streaming media data from a content server at the network address;and the client device using the graphical user interface to send a save request to the computer server, wherein the save request is a request for the computer server to associate the designated channel and network address with a first channel selectable on the graphical user interface.
- 43A method comprising:receiving tuning data at a client device from a portable device including a channel selector, the tuning data comprising an indication of a designated channel selected by a first user using the channel selector of the portable device;sending, from the client device, a media request to a computer server, the media request specifying both the first user and the received tuning data;receiving, at the client device, a network address of a streaming media source from the computer server in response to the media request, the network address determined based on the tuning data associated with the first user;requesting, using the client device, streaming media data from a content server at the network address;receiving, at the client device, a save request from the portable device;and sending, using the client device, the save request to the computer server, wherein the save request is a request for the computer server to associate the designated channel and network address with a first channel selectable on the portable device.
- 44A system comprising:a client device;and a portable device including a channel selector, wherein the portable device is configured to send tuning data to the client device, the tuning data comprising an indication of a designated channel selected by a first user using the channel selector of the portable device;wherein, in response to receiving the tuning data, the client device is configured to send a media request to a computer server, the media request specifying both the first user and the received tuning data;wherein the client device is configured to receive a network address of a streaming media source from the computer server in response to the media request, the network address determined based on the tuning data associated with the first user;wherein the client device is configured to request streaming media data from a content server at the network address;wherein the portable device is configured to send a save request to the client device;wherein the client device is configured to send the save request to the computer server, wherein the save request is a request for the computer server to associate the designated channel and network address with a first channel selectable on the portable device.
- 45A non-transitory computer readable storage medium having program instructions stored thereon that, in response to execution by a computing device, cause the computing device to:display a graphical user interface on a display of a client device, the graphical user interface including a channel selector;receive tuning data from a first user of the client device;send a media request to a computer server, the media request specifying both the first user and the received tuning data, the tuning data comprising an indication of a designated channel selected by the first user using the channel selector of the graphical user interface;receive a network address of a streaming media source from the computer server in response to the media request, the network address determined based on the tuning data associated with the first user;request streaming media data from a content server at the network address;and using the graphical user interface to send a save request to the computer server, wherein the save request is a request for the computer server to associate the designated channel and network address with a first channel selectable on the graphical user interface.
- 46Broadest claimClaim Score 54, average(NHIP)A method comprising:receiving a media request at a computer server from a client device in response to a first user selecting a tuning portion of a graphical user interface displayed on the client device, the media request specifying both the first user and tuning data, the tuning data comprising an indication of a designated channel selected by the first user of the graphical user interface;in response to receiving the media request, the computer server determining a network address for a streaming media source based on the tuning data associated with the first user;the computer server sending the network address to the client device;the computer server receiving a save request from the client device;in response to receiving the save request, the computer server associating a first channel selectable on the graphical user interface of the client device with the designated channel and the network address;and storing the association of the first channel of the graphical user interface with the designated channel and the network address.
- 67A server system, comprising:one or more processors;and memory, coupled to the one or more processors, having instructions stored thereon that in response to execution by the server system cause the server system to: receive a media request from a client device in response to a first user selecting a tuning portion of a graphical user interface displayed on the client device, the media request specifying both the first user and tuning data, the tuning data comprising an indication of a designated channel selected by the first user of the graphical user interface;determine a network address for a streaming media source in response to receiving the media request, the network address determined based on the tuning data associated with the first user;send the network address to the client device;receive a save request from the client device;associate a first channel selectable on the graphical user interface of the client device with the designated channel and the network address in response to receiving the save request;and store the association of the first channel of the graphical user interface with the designated channel and the network address.
- 68A system comprising:a client device configured to display a graphical user interface, wherein the graphical user interface includes a channel selector;and a computer server configured to receive a media request from the client device, the media request specifying both the first user and tuning data, the tuning data comprising an indication of a designated channel selected by the first user using the channel selector of the graphical user interface;wherein, in response to receiving the media request, the computer server is configured to determine a network address for a streaming media source based on the tuning data associated with the first user;wherein the computer server is configured to send the network address to the client device;wherein the computer server is configured to receive a save request from the client device;wherein, in response to receiving the save request, the computer server is configured to associate a first channel selectable on the graphical user interface of the client device with the designated channel and the network address;and wherein the computer server is configured to store the association of the first channel of the graphical user interface with the designated channel and the network address.
- 69A non-transitory computer readable storage medium having program instructions stored thereon that, in response to execution by a device, cause the device to:receive a media request at a computer server from a client device in response to a first user selecting a tuning portion of a graphical user interface displayed on the client device, the media request specifying both the first user and tuning data, the tuning data comprising an indication of a designated channel selected by the first user of the graphical user interface;in response to receiving the media request, determine a network address for a streaming media source based on the tuning data associated with the first user;send the network address to the client device;receive a save request from the client device;in response to receiving the save request, associate a first channel selectable on the graphical user interface of the client device with the designated channel and the network address;store the association of the first channel of the graphical user interface with the designated channel and the network address.
- 70A method comprising:receiving, at a computer system, a profile identifier from a first client device;receiving, at the computer system, a pre-defined identifier from the first client device, the pre-defined identifier determined in response to a first user selection of a graphical user interface on a display of the first client device, the graphical user interface including at least a tuning portion and a first icon, the first user selection including a selection of the tuning portion;determining, using the computer system, a uniform resource locator for a streaming media source in response to receiving the pre-defined identifier and the profile identifier;sending, from the computer system, the uniform resource locator to the first client device;receiving, at the computer system, a save request from the first client device, the save request determined in response to a second user selection of the graphical user interface on the display of the first client device, the second user selection including a selection of the first icon;in response to receiving the save request, the computer system determining an association of a new identifier with the pre-defined identifier and the profile identifier;and the computer system causing storing of the association of the new identifier, the pre-defined identifier, and the profile identifier.
- 72A server system, comprising:one or more processors;and memory, coupled to the one or more processors, having instructions stored thereon that in response to execution by the server system cause the server system to: receive a profile identifier from a first client device;receive a pre-defined identifier from the first client device, the pre-defined identifier determined in response to a first user selection of a graphical user interface on a display of the first client device, the graphical user interface including at least a tuning portion and a first icon, the first user selection including a selection of the tuning portion;determine a uniform resource locator for a streaming media source in response to receiving the pre-defined identifier and the profile identifier;send the uniform resource locator to the first client device;receive a save request from the first client device, the save request determined in response to a second user selection of the graphical user interface on the display of the first client device, the second user selection including a selection of the first icon;associate a new identifier with the pre-defined identifier and the profile identifier in response to receiving the save request;and store the association among the new identifier, the pre-defined identifier, and the profile identifier.
Independent claims16
131 paragraphs in 5 sections, as filed
CROSS-REFERENCES TO RELATED APPLICATIONS
0001The present invention disclosure incorporates U.S. patent application Ser. No. 09/334,846, filed Jun. 16, 1999, entitled “Internet Radio Receiver and Interface”, and U.S. patent application Ser. No. 08/984,772, filed Dec. 4, 1997, entitled “Apparatus for Distributing and Playing Audio Information” by reference for all purposes.
BACKGROUND OF THE INVENTION
0002This present invention generally relates to apparatus and techniques for streaming media distribution via computer networks. More particularly, the present invention provides a system and a method for maintaining and sharing lists of selected media sources. Merely by way of example, the present invention is implemented on a personal computer, but it would be recognized that the invention has a much broader range of applicability. The invention can be applied to other computing devices, such as cellular phones, internet appliances, personal digital assistants, laptop computers, set top boxes, television, wireless devices, and the like.
0003A long time ago, music could only be heard at a live performance. Here, a performer would stand in front of an audience and sing a piece in a manner to please the audience. “Star Spangled Banner” would echo out to the audience. The live performer could only sing so loud to carry his/her audio signals out to the audience. Only a limited number of people could actually enjoy and listen to the performer at the live performance. One would find the performer in a park or theater singing a musical piece to a limited number of people. Musicians who played instruments could also be heard only at a live performance. Sounds from piano, trumpets, and drums would ring out! The beat of drums! Piano keys! Ring from trumpets sound out!-only as far as the sounds travel through air. Accordingly, only live performances could be used for people to enjoy music.
0004As time progressed, radio replaced, in part, some aspects of the live performances. Radio uses a wireless transmission and reception of electric impulses or signals by means of electric waves, which travel through air. By way of radio, audio information from sounds or songs would be transmitted from a broadcasting station to numerous radio receiving units, commonly called radios. These radios would tune into one of a plurality of broadcasting stations, which transmitted audio information from the station to each of the radios within a specific geographic region. High school students tuned into stations on a frequency modulated format called “FM” to listed to jazz, rock, country, and pop music. Amplitude modulated formats, commonly called “AM,” often transmitted signals more efficiently over longer distances than FM. Since the electronic waves traveled through air, transmission distance was still limited, often to geographical regions.
0005In the 1990's, computers were coupled to each other through a world wide area network, commonly the Internet. The Internet revolutionized communication throughout the world. These computers began carrying audio information from a source location to a destination or client. Some source locations began transmitting audio information in the form of songs or sounds to destination locations. Unfortunately, most of these source locations failed to provide an easy to use interface device, which allowed users to freely use such audio information. In most cases, such sources provided Internet radio by merely providing source addresses, such as http://www.bbc.co.uk/worldservice/ram/live<sub>13 </sub>infent.ram, which would make it difficult to easily reach many channels in an efficient manner.
0006From the above, it is seen that an improved way to transmit radio station information is highly desirable.
SUMMARY OF THE INVENTION
0007According to the present invention, a technique including a method and system for storing lists of streaming media sources is provided. More particularly, the invention provides a server-side method for allowing different users to access different lists of streaming media sources using the same client software. Merely by way of example, the present invention is implemented on a personal computer, but it would be recognized that the invention has a much broader range of applicability. The invention can be applied to other computing devices, such as cellular phones, internet appliances, personal digital assistants, laptop computers, set top boxes, game consoles such as Sony Playstation2, Sega Dreamcast, Microsoft X Box, Nintendo, and the like, television, wireless devices, and the like.
0008According to an aspect of the invention, a method for a computer system having a display, an audio output device, and a user input device is disclosed. The method includes displaying a graphical user interface on the display, the graphical user interface including a tuning portion and a first user-selectable icon, receiving a first user selection on the display, the first user selection of the tuning portion, and determining a selection of a pre-defined identifier in response to the first user selection. The technique may also include identifying a streaming media source in response to the pre-defined identifier, outputting streaming media data from the streaming media source to the audio output device, and receiving a second user selection on the display, the second user selection of the first user-selectable icon.
0009Determining a selection of a new identifier in response to the second user selection and associating the new identifier with the streaming media source are also performed. Thereafter, the method may include receiving a third user selection on the display, the third user selection of the tuning portion, determining another selection of the new identifier in response to the third user selection, and identifying the streaming media source in response to the another selection of the new identifier. Thereafter the step of outputting additional streaming media data from the streaming media source to the audio output device may be performed.
0010According another aspect of the invention, a computer server having a processor includes a tangible media coupled to the processor. The tangible media includes an association among a new identifier, a pre-defined identifier, and a profile identifier from a first client computer. The tangible media also includes code that directs the processor to receive the profile identifier from a second client computer, code that directs the processor to receive the new identifier from the second client computer, the new identifier determined in response to a first user selection of a graphical user interface on a display of the second client computer, the graphical user interface including a tuning portion, the first user selection of the tuning portion, code that directs the processor to retrieve the pre-defined identifier in response to the profile identifier and the new identifier, and code that directs the processor to determine the uniform resource locator for the streaming media source in response to the pre-defined identifier; and code that directs the processor to send the uniform resource locator to the second client computer.
0011According to yet another aspect of the invention, a method for a computer system includes sending a request to a computer server, the request comprising an identifier associated with a first user and tuning data, the tuning data comprising a band selection and a channel selection, the tuning data determined in response to input from a second user of a tuner portion of a remote tuner coupled to the computer system, and receiving a network address of a streaming media source from the computer server in response to the request, the network address determined in response to the identifier associated with the first user and the tuning data determined in response to the input from the second user. The technique may also include requesting streaming media data from a content server at the network address, decoding the streaming media data received from the content server to form a stream of audio data, and outputting the audio data to speakers coupled to the computer system.
0012Various additional objects, features and advantages of the present invention can be more fully appreciated with reference to the detailed description and accompanying drawings that follow.
BRIEF DESCRIPTION OF THE DRAWINGS
0013<figref idref="DRAWINGS">FIG. 1</figref> is a simplified diagram of a network computer system according to an embodiment of the present invention;
0014<figref idref="DRAWINGS">FIG. 2</figref> is a block diagram of a typical computer system according to an embodiment of the present invention;
0015<figref idref="DRAWINGS">FIG. 3</figref>, illustrates a graphical user interface according to an embodiment of the present invention;
0016<figref idref="DRAWINGS">FIG. 4</figref> illustrates another embodiment of the present invention;
0017<figref idref="DRAWINGS">FIGS. 5A-C</figref> illustrate a block diagram of a flow chart according to an embodiment of the present invention;
0018<figref idref="DRAWINGS">FIGS. 6A-B</figref> illustrate a block diagram of a flow chart according to an embodiment of the present invention;
0019<figref idref="DRAWINGS">FIG. 7A</figref> illustrates an example of an embodiment of the present invention;
0020<figref idref="DRAWINGS">FIG. 7B</figref> illustrates an example of another embodiment of the present invention; and
0021<figref idref="DRAWINGS">FIG. 7C</figref> illustrates an example of another embodiment of the present invention.
DESCRIPTION OF THE SPECIFIC EMBODIMENTS
0022<figref idref="DRAWINGS">FIG. 1</figref> is a simplified diagram of a network computer system <b>100</b> according to an embodiment of the present invention. This diagram is merely an example, which should not limit the scope of the claims herein. One of ordinary skill in the art would recognize many other variations, modifications, and alternatives. <figref idref="DRAWINGS">FIG. 1</figref> includes a client system <b>110</b>, a server system <b>120</b>, and content servers <b>130</b>, coupled via a network <b>140</b>.
0023Network <b>140</b> allows for communication between computers on network <b>140</b>, such as a client system <b>110</b>, or the like. In the present embodiment, network <b>140</b> may be, for example, a wide area network, the Internet, local area networks, intranets, and the like.
0024In the present embodiment, server system <b>120</b> may include a terminal <b>150</b> and a database <b>160</b>. In embodiments of the present invention, server system <b>120</b> may comprise one or more physical servers, further, database <b>160</b> may be a distributed database, and the like. As will be described further below, a server system <b>120</b> may include data associating identifiers from client system <b>110</b> with uniform resource locators (URLs) of content servers <b>130</b>, or with another server system <b>120</b> that may have the desired URL, or the like.
0025Client system <b>110</b> may be configured with many different hardware components and can be made in many sizes, styles and locations (e.g., laptop, palmtop, pen, server, workstation, mainframe, or the like). For example, a client system may be embodied as a lap top computer <b>170</b>, a wireless computing device <b>180</b>, or the like. Other examples of client systems may include, for example, a cellular phone, a personal digital assistant, a pager, an internet appliance, or the like.
0026Terminal <b>150</b> is typically directly coupled to server system <b>120</b>. This connection can be by a network such as Ethernet, asynchronous transfer mode, IEEE standard 1553 bus, modem connection, universal serial bus, etc. The communication link need not be a wire but can be infrared, radio wave transmission, and the like. In turn, server system <b>120</b> is typically coupled to the Internet via a network connection <b>190</b>. In the present embodiment, network connection <b>140</b> may be a relatively high bandwidth transmission medium such as a T<b>1</b> or T<b>3</b> line, but can also be others.
0027Network <b>140</b> is shown symbolically as a cloud. However, it is well known that such large computer networks actually include a large collection of server routers, computers, and other devices.
0028In an embodiment of the present invention, server system <b>120</b> and database <b>160</b> store data and disseminate the data to client systems over network <b>140</b>. The concepts of “client” and “server,” as used in this application and the industry, are loosely defined and, in fact, are not fixed with respect to machines or software processes executing on the machines. Typically, a server is a machine, e.g., or process that is providing information to another machine or process, i.e., the “client,” e.g. that requests the information. In this respect, a computer or process can be acting as a client at one point in time (because it is requesting information) and can be acting as a server at another point in time (because it is providing information). Some computers are consistently referred to as “servers” because they usually act as a repository for a large amount of information that is often requested. For example, a WEB site, which is an electronic site commonly on the World Wide Web (“WWW”), is often hosted by a server computer with a large storage capacity, high-speed processor and Internet link having the ability to handle many high-bandwidth communication lines.
0029In one embodiment, network <b>140</b> is coupled to a plurality of content servers <b>130</b>. In this example, each content server <b>130</b> is associated with a broadcast radio station having conventional call letters, e.g., BBC, WKRZ, KQED, KGO. Each of these content servers <b>130</b> may be coupled directly to network <b>140</b> or through intermediary computers, such as client <b>110</b>. Each of the content servers may be similar in design or may be different, depending upon the specific application.
0030In the present embodiment, content servers may also include a source library of music and/or spoken information, a pre-programmed audio web server, a connection to a broadcast radio station, or the like. The audio information is communicated across network <b>140</b> and to client system (client computer) <b>110</b>. In the present embodiment, the audio information is typically converted into a digital streaming format for transmission through network <b>140</b>. Various streaming formats may be used including Windows Media format, QuickTime format, Real Player format, and the like.
0031Further details of the processing hardware and software are discussed below and illustrated by the figures.
0032<figref idref="DRAWINGS">FIG. 2</figref> is a block diagram of a typical computer system <b>200</b> (client) according to an embodiment of the present invention. Embodiments of client systems <b>110</b> may be embodied as computer system <b>200</b>. Further, embodiments of servers <b>120</b> also may be embodied as computer system <b>200</b> with appropriate configuration.
0033In the present embodiment, computer system <b>200</b> typically includes a monitor <b>210</b>, a computer <b>220</b>, a keyboard, a sound card <b>230</b>, a graphical input device, a network interface <b>240</b>, and the like. In some embodiments, as a client system, computer system <b>200</b> may also include a receiver <b>250</b>.
0034In this example, receiver <b>250</b> is typically used to receive data from a remote tuner, described further below. For example, receiver <b>250</b> may receive tuning instructions, button pushes, and the like. In embodiments of the present invention, receiver <b>250</b> may be coupled to computer system <b>200</b> via a computer bus <b>290</b>, via a serial port, via a Universal Serial Bus (USB), wireless peripheral interface, or the like. In other embodiments of the present invention, receiver <b>250</b> may be a transceiver that can also send data to the remote tuner.
0035In the present embodiment, sound card <b>230</b> and speakers may be used for audio output of streaming data received from the Internet, audio output of data stored within computer system <b>200</b>, or the like. Sound card <b>230</b> is a typical sound card available on most multi-media equipped computers. As is well known, sound card <b>230</b> typically includes analog to digital (AtoD) and digital to analog (DtoA) conversion hardware. In this embodiment, sound card <b>230</b> may be a sound card that includes processing hardware such as is available from Creative Labs, or the like. In an alternative embodiment, functionality of sound card <b>230</b> may be on the motherboard of computer <b>220</b>. In embodiments of the present invention, microphones and speakers may be directly coupled to sound card <b>230</b> via dedicated connections, however in other embodiments, microphones and speakers may be coupled via serial buses such as the Universal Serial Bus (USB), or the like.
0036Graphical input devices are provided to allow a user at computer system <b>200</b> to graphically select objects, icons, text and the like that are displayed on monitor <b>210</b>. As is well known, graphical input devices are operated in combination with cursors that are also displayed on monitor <b>210</b>. In the present embodiment, a graphical input device is typically embodied as a computer mouse, a trackball, a track pad, wireless remote, and the like.
0037In the present embodiment, network interface <b>240</b> provides the interface for exchange of data between computer system <b>200</b> and a server. Such data typically includes text, graphics, streaming audio data, audio/visual data, and the like. Embodiments of network interface <b>240</b> include an Ethernet card, a modem (telephone, satellite, cable, ISDN), (asynchronous) digital subscriber line (DSL) units, wireless network interface, and the like. Network interface <b>240</b> is typically coupled to a computer network as shown. However, in other embodiments, network interface <b>240</b> may be on the motherboard of computer <b>220</b>, may be a software program, such as soft DSL, or the like.
0038In the present embodiment, computer <b>220</b> includes familiar computer components such as a processor <b>260</b>, and memory storage devices, such as a random access memory (RAM) <b>270</b>, a disk drive <b>280</b>, and system bus(es) <b>290</b> interconnecting the above components.
0039In one embodiment, computer <b>220</b> is a PC compatible computer having an x86 based microprocessor, such as an Duron™ or Athlon™ microprocessor from Advanced Micro Devices, Inc. Further, in the present embodiment, as a client system, computer <b>220</b> typically includes Windows98 operating system, and as a server, computer <b>220</b> may include WindowsNT operating system, both from Microsoft Corporation.
0040RAM <b>270</b> and disk drive <b>280</b> are examples of tangible media for storage of data, audio message files, computer programs, web browser software, voice communication protocol software, streaming media decoders, embodiments of the herein described invention, applet interpreters or compilers, virtual machines, web pages, databases and the like. Other types of tangible media include floppy disks, removable hard disks, optical storage media such as CD-ROMS and bar codes, semiconductor memories such as flash memories, read-only-memories (ROMS), and battery-backed volatile memories, and the like. In embodiments of the present invention, such as set top boxes, mass storage, such as disk drive <b>280</b>, and the like may be dispensed with.
0041In the present embodiment, computer system <b>200</b> also includes software that enables communication via a packetized network such as those using the HTTP, TCP/IP, RTP/RTSP protocols, and the like. In alternative embodiments of the present invention, other software and transfer and communication protocols may also be used, for example IPX, UDP or the like.
0042<figref idref="DRAWINGS">FIG. 2</figref> is representative of types of system for embodying the present invention. It will be readily apparent to one of ordinary skill in the art that many other hardware and software configurations are suitable for use with the present invention. For example, other types of processors are contemplated, such as the Pentium™ or Celeron™ microprocessor from Intel Corporation, Crusoe™ processor from Transmeta Corporation, PowerPC G3, G4 microprocessors from Motorola, Inc., and the like. Further, other types of operating systems are contemplated, such as Solaris, LINUX, UNIX, MAC OS 9 from Apple Computer Corporation, BeOS, and the like.
0043It will be appreciated that client systems may include a sub-set of the above components, a different set of components, reduced performance components in different embodiments of the present invention. For example, when computer system <b>200</b> is embodied as a PDA, network interface <b>240</b> may be a wireless network interface; processor <b>260</b> may be a processor such as a DragonBall™ processor from Motorola, a VR4121 processor from NEC; or the like.
0044<figref idref="DRAWINGS">FIG. 3</figref>, illustrates a graphical user interface according to an embodiment of the present invention. In particular, <figref idref="DRAWINGS">FIG. 3</figref> illustrates a monitor (display) of a graphical user interface (GUI) <b>300</b> on a client computer, such as client computer <b>110</b>. In one embodiment, GUI <b>300</b> is embodied as Sonicbox™ iM™ Software Tuner. Client software embodying GUI <b>300</b> is available for download from the assignee of the current application.
0045By using GUI <b>300</b>, a user can choose to receive data from a multitude of streaming media sources on the client computer. In one embodiment, the data include audio data, and the streaming media sources include on-the-Internet radio stations. In alternative embodiments, the data may also include visual data, graphics, or the like. Further, the streaming media sources may include on-the Internet television stations, on-demand audio/video sources, and the like. In this embodiment, the audio data that is received is output to the user, typically via speakers coupled to the client computer. In alternative embodiments, other types of audio output devices may also used, such as headphones, speakers coupled to a stereo system, and the like.
0046In the present example, GUI <b>300</b> includes displays <b>310</b>. In this embodiment, displays <b>310</b> are used to display the name of an Internet-based radio station, the genre of programming, the format type, status, and other descriptive information. For example, the name may include the call letters, such as WGN, WLS, WBBM, or the like; the station number, such as AM 760, FM107.9, NOAA radio, or the like; the internet address may appear as http://wgnradio.com/listen/livewgn.ram, or the like. Further, the genre may include “talk radio”, “sports radio”, “all news”, “public broadcast”, or the like; and the format may include “mp3”, Windows Media player format, Quicktime format from Apple Computer, Real Media format from Real Networks, and the like.
0047Further details regarding description of displays <b>310</b> may be found in co-pending U.S. patent application Ser. No. 09/578,993, filed May 25, 2000, titled “Improved User Display Method and Apparatus for Internet Radio”. This application is incorporated by reference for all purposes.
0048In this embodiment, displays <b>310</b> may also include description information regarding the status of the playback process. For example, descriptive information may include the time elapsed on the track, the amount of time remaining in the track, the current time, the amount of time without a commercial break, a user-defined count-up or count-down timer, and the like.
0049In <figref idref="DRAWINGS">FIG. 3</figref>, displays <b>310</b> include media source tuning information including, a band <b>340</b>, and a station <b>350</b>. In the present embodiment, genres of streaming data are created, such as Jazz, Electronic, New Age, Oldies, Sports, and the like. Streaming media sources, for example, radio stations on the Internet are then classified by these genres. Radio stations, and the like, that are of the same genre are then assigned to the same band, as illustrated by band <b>340</b>. As an example, <figref idref="DRAWINGS">FIG. 3</figref> illustrates that, alternative music is categorized in band “A.” Within each band, radio stations, and the like are uniquely identified by a station number, a channel number, or the like, as illustrated by station <b>350</b>.
0050In the present embodiment, 26 unique bands are provided. Bands A-Y are typically pre-determined genres. Z band (or band Z) is reserved for user-selected stations. The technique of the user storing and retrieving stations from the Z band will be described in more detail below. In other embodiments, a larger number or a smaller number of bands may be provided. In other embodiments, bands may be nested in other bands to create a hierarchical structure of bands, leaf nodes in the tree may be the actual stations. In other embodiments, the organization of the bands may be represented by a ,directed acyclic graph of bands, wherein a band may contain both bands and stations.
0051In alternative embodiments of the present invention, the nomenclature may be reversed, and station <b>350</b> may specify the genre, and band <b>340</b> may specify the specific radio station of that genre. In still other embodiments, other classification of radio stations and the like may be made. For example, classifications may be made based upon where the radio station is located, for example, out-of state, in Australia, in Canada, or the like; the spoken language of the station, for example, French, English, Spanish, or the like; the “cost” of the station, for example, subscription radio stations, free radio stations, or the like; the broadcasting bandwidth of the radio station, for example 56 Kbps stations, 128 kbps stations, and the like. Other types of classification are envisioned in light of the present patent disclosure. In still other embodiments, a “flat” file structure may be used to store the radio stations. For example, all available radio stations may have a unique number from 1 to 1024, or the like.
0052In the present embodiment, 32 stations are provided for each band (A-Z). Not all 32 stations may be pre-assigned to different stations, however. In other embodiments, a larger number or a smaller number of channels may be provided.
0053In <figref idref="DRAWINGS">FIG. 3</figref>, icon <b>330</b> is provided to allow the user to store a station onto the Z band. In particular, if the user is listening to a station that she likes she may select icon <b>330</b>. In response, the station is duplicated onto a band reserved for storing the user's favorite stations. In this example, the Z band is used to store that station identifier, although in other example, other bands may similarly be reserved. Later, in order to quickly access stations that the user likes, instead of dialing each band and each channel, the user may simply dial within the Z band to peruse her favorite stations. Further details regarding the techniques for storing and retrieving preferred channels will be described below.
0054In <figref idref="DRAWINGS">FIG. 3</figref>, icons <b>360</b> are provided to allow the user to select a particular band and icons <b>370</b> are provided to allow the user to select a particular station. Together, icons <b>360</b> and icons <b>370</b> are referred to as a tuning portion of GUI <b>300</b>. As is well known, the user can use a graphical input device to select particular icons <b>360</b> and icons <b>370</b> on the display. For example, in <figref idref="DRAWINGS">FIG. 3</figref>, the user clicks upon icons <b>360</b> to change bands, e.g. to change from band A to B to C, and the like. In this embodiment, selection of the band wraps around, thus the A band and Z band are considered logically adjacent to each other.
0055In this example, the user clicks upon icons <b>370</b> (station+, station−) to change channels, e.g. to change from channel 24 to 23 to 22, and the like. In this embodiment, selection of the channel also wraps around, thus channel 32 is considered only one click away from channel 32.
0056As illustrated in <figref idref="DRAWINGS">FIG. 3</figref>, one icon <b>370</b> resembles a knob. In the present embodiment, the user uses the graphical input device to “rotate” the knob on the display. In response to the “rotation”, the selection of the channels change. For example, by “rotating” the knob clock-wise, the channel number generally increases, similarly, “rotating” the knob on the display counter-clock-wise, the channel number generally decreases.
0057In one embodiment of the present invention, icons <b>360</b> may not be provided. Further, station+ and station− icons <b>370</b> may not be provided. In such an embodiment, all tuning is performed via graphical “rotation” of the knob icon <b>370</b>. In this example, band A, channel 32 may be followed by band B, channel 1, and the like.
0058GUI <b>300</b> may also include icons <b>380</b>. In the present embodiment, in response to user selection of icons <b>380</b> on the display, information may be given to the user. For example, in one embodiment, selection of icons <b>380</b> is translated into opening of a web browser and opening the home page of the radio station the user is listening to.
0059In other embodiments, selection of icons <b>380</b> opens a web page related to the current artist, for example, the artist's home page; in another embodiment, selection of icons <b>380</b> opens a web page regarding the subject matter being discussed, for example, if a Sierra Club executive is discussing de-forestation, a Sierra Club web page regarding deforestation may be opened; and in another embodiment, selection of icons <b>380</b> opens an e-commerce page where the user can purchase service or merchandise related to what is being played, for example, if a Cubs game is on, the Cubs home page may be opened.
0060In other embodiments of the present invention, selection of icon <b>380</b> may cause other actions to occur. For example, selection of icon <b>380</b> may cause an e-mail to be sent to the user including a coupon, a music clip, graphics, or the like; may cause a physical mail to be sent to the user; may cause the song to be played again; may request that the song be purchased and/or placed in a user library; and the like. Icons <b>380</b> may be referred to herein as “tell me more” buttons.
0061In the present example, GUI <b>300</b> also includes icons <b>390</b>. Logically, icons <b>390</b> allow the user to give feedback regarding the current programming the user is listening (and/or viewing) to. For example, if the user likes a song she hears, she may select the smiley icon <b>390</b>. In response to the selection of smiley icon <b>390</b>, that input is returned to the server. In the server, the user's listening profile is built using this input. In particular, the user's likes and dislikes may be monitored.
0062In one embodiment of the present invention, based upon the user's listening profile, programming may be tailored. For example, when a station is about to play a song that the user has pressed a frowny icon <b>390</b> on previously, the server may switch streams to another radio station for at least part of the disliked song. After that song is completed, the server may switch back to the original station. In other embodiments, if a user presses smiley icon <b>390</b> when she hears a particular artist, the user may be referred to a web page where she can get a special deal on sale of that artist's CD, merchandise, other services, or the like.
0063In the present embodiment, the server receives feedback from many users regarding their likes and dislikes and stores this data. Later, this data can be used to give radio stations feedback regarding their programming; to give advertisers an indication of listenership of different stations; to give record companies an indication of which stations to release new material, and the like. Many other functions are contemplated in embodiments of the present invention in light of the present patent disclosure.
0064Other functional icons are contemplated in this and other embodiment of the present invention in light of the current patent disclosure. For example, as shown in <figref idref="DRAWINGS">FIG. 3</figref>, CD player controls are provided. By the user pressing appropriate control icons on GUI <b>300</b>, a user may request playing of a CD from her CD-ROM, mp3 from her hard disk, and the like.
0065<figref idref="DRAWINGS">FIG. 4</figref> illustrates another embodiment of the present invention. In particular, <figref idref="DRAWINGS">FIG. 4</figref> illustrates an embodiment of a remote tuner <b>400</b> as was described briefly in <figref idref="DRAWINGS">FIG. 2</figref>. Remote tuner <b>400</b> is typically coupled to a client computer within a user's home or work. Remote tuner <b>400</b> typically interacts with client software on the client computer. In one embodiment, the client software and remote tuner <b>400</b> are embodied as Sonicbox™ iM™ Remote Tuner and software, to become available for purchase from the assignee of the current application.
0066In the present embodiment, remote tuner <b>400</b> uses signals around 900 MHz to send data to receiver <b>250</b> (<figref idref="DRAWINGS">FIG. 2</figref>). In alternative embodiments, other methods for communication are contemplated. For example, in one embodiment, remote tuner <b>400</b> may be coupled via wires; in another embodiment, remote tuner may be coupled via a home wireless network, such as AnyPoint™ from Intel Corporation, or the like; and in another embodiment, remote tuner <b>400</b> may be coupled via FM signals, infrared or the like.
0067In the present embodiment, signals from remote tuner <b>400</b> are received by the client computer. In response, client computer processes the input in the same manner as though the user entered the input via GUI <b>300</b>. In the present embodiment, appropriate software is provided on the user's computer interacts that with remote tuner <b>400</b> to provide the functionality described above, and below.
0068In one embodiment of the present invention, the user may use both GUI <b>300</b> and remote tuner <b>400</b> to specify bands, channels, give feedback and the like. In alternative embodiments, GUI <b>300</b> and remote tuner <b>400</b> may be exclusive of each other.
0069Functionally, remote tuner <b>400</b> has many of the same functionality described above with GUI <b>300</b>, for example, remote tuner <b>400</b> includes band buttons <b>410</b>. In this example, user selection of band buttons <b>410</b> allows the user to switch between bands. As another example, remote tuner <b>410</b> includes a tuning knob <b>420</b>. In this example, when the user rotates the tuning knob <b>420</b>, the current channel is changed. In alternative embodiments band buttons <b>410</b> are not included, and tuning know <b>420</b> is used to tune the band and the channel.
0070The embodiment in <figref idref="DRAWINGS">FIG. 4</figref> also includes button <b>430</b>. Similar to icon <b>330</b>, above, when the user hits button <b>430</b>, the current station the user is listening to is saved onto a user band (band Z). Later, the user can simply tune into the Z band to peruse her favorite channels. Further description regarding the technique for storing and retrieving desired stations will be described below.
0071As illustrated in <figref idref="DRAWINGS">FIG. 4</figref>, display <b>440</b> and display <b>450</b> are provided on remote tuner <b>400</b>. In the present embodiment, display <b>440</b> includes a display of the band and the channel the user is presently requesting the server to provide. Further, display <b>450</b> is a graphical representation of the band and the channel the user is requesting. As can be seen, a small hand <b>460</b> graphically indicates the band, band A, and a large hand <b>470</b> graphically indicates the channel, channel 15.
0072In the present embodiment, smiley button <b>480</b>, frowny button <b>490</b>, and a “tell me more” button <b>495</b> are also provided. The functionality of these buttons are typically similar to that described above with icons <b>380</b> and <b>390</b>, above. In particular, selection of these buttons may provide benefits to the user and provides feedback to the server. For example, in response, the user may be sent special coupons or target advertisements related to the programming, the user may hear the programming again, and the like. Further, in response, the feedback from the user or users may be used to determine listenership, may be used to determine unpopular stations, may be used to set advertising rates, and the like. In alternative embodiments, the functionality of the icons on GUI <b>300</b> and Remote Tuner <b>400</b> may be different.
0073<figref idref="DRAWINGS">FIGS. 5A-C</figref> illustrate a block diagram of a flow chart according to an embodiment of the present invention. In particular, <figref idref="DRAWINGS">FIGS. 5A-C</figref> illustrates a technique for storing user-selected stations using client software and GUI <b>300</b> and/or using remote tuner <b>400</b> in combination with client software on the client computer.
0074After invoking the client software, the user sends her user name, or the like to the server, step <b>500</b>. In the present embodiment, the user may first manually register with the server in response to prompts from the server. For example, the server via a web page, or the like may prompt the user for her name, a user identification, age, demographic data, a list of her interests, password, payment information, or the like. Typically in response, the user enters such data via a web browser, or the like, and the data is submitted as a form to the server. In alternative embodiments, the user may have an account already filled-out for her, based upon data gathered from other sources, thus registration may not be needed.
0075In other embodiments of the present invention, the client software or the client device sends an identifier associated with the user automatically when the client is powered-up or initiated. In such embodiments, a returning user does not have to manually enter a user name when the client is activated.
0076The user information, and the like may be stored via cookies, registry entry, or the like on the client computer. In such a case, upon subsequent use of the client software, the user name, log-in information, or the like may be automatically retrieved by the server. For example, upon power-up of remote tuner <b>400</b> and activation of the client software, the user information may automatically be sent to the server. In alternative embodiments, the user may manually log-in each time. In still other embodiments, different users using the same client computer may have their own account, thus individually they can log-in to their accounts. In other embodiments, the user simply starts the client software and the client software communicates with the server using an identifier which was generated by the server on the basis of prior requests made by the client when the client software was installed.
0077Next, the user selects a particular station to listen to, step <b>510</b>. As illustrated in <figref idref="DRAWINGS">FIG. 3</figref>, the user typically performs this by selecting icons <b>360</b> and icons <b>370</b> (the tuner portion of GUI <b>300</b>). For example, the user can select a particular band to listen to (genre) by selecting icons <b>360</b> (band+, band−) in the tuner portion. Further, the user can select a particular channel to listen to (station) by selecting icons <b>370</b> (station+, station−, tuning knob). When using remote tuner <b>400</b>, the user can use buttons <b>410</b> and tuner knob <b>420</b> to specify the band and channel, respectively.
0078After the tuner data has been determined, the client computer outputs the tuner data to the user, step <b>515</b>. In one example, the client computer determines one or more audio messages associated with the band and channel. These audio messages are then played to the user via speakers, headphones, or the like, coupled to the client computer.
0079In one embodiment, these audio messages are termed “pre-roll” messages, as they are played before the audio programming begins. As an example, the user tunes in band B (a classical music band), and channel 31 (radio station WFMT), in response, the client computer may retrieve audio files that can be assembled and played to the user in the following order: “Classical music, WFMT”. In other embodiments, other pre-roll messages may also be played, for example, “Band B, channel 31”, “Classical band B, channel 31, WFMT”, or the like. Many similar types of audio cues can be output to the user to confirm a selection of a band and a station. Further, in other embodiments, audio cues may be used to confirm other types of user selections on GUI <b>300</b> or remote tuner <b>400</b>.
0080The client computer then sends the data to the server, step <b>520</b>. In this example, the data includes a band selection and a channel selection, as discussed above, and the user name, user ID, internal identifier, and the like. In alternative embodiments, additional information may be provided, such as the bandwidth of the connection, IP data, and the like. In still other embodiments, only the band and channel selection is provided. Many alternatives are envisioned. In the present embodiment, the data are packetized and sent back to the server using TCP/IP protocols, or the like.
0081On the server side, based upon the user name or information, data associated with the user is accessed from a database, step <b>530</b>. In the present embodiment, the database includes a table that maps tuner data into actual uniform resource locators, URLs, and the like. As discussed above, in the present embodiment, tuner data includes a selection of a band and a selection of a channel. For example, the table may include data such as: band A (jazz), channel 1 is associated with URL: “http://208.133.73.201/nightgrooves2.asx”; band A, channel 2 is associated with URL: “http://www.phoenixradionet.com/streams/jazz.ask”; and the like.
0082Next, based upon the band selection and the channel selection the server determines a specific URL, step <b>540</b>. For example, if the user specified band A, channel 2, the server identifies URL “www.phoenixradionet.com/streams/jazz.ask”. In alternative embodiments, the server may return data associated with the URL, for example data may include a login, a password, a referrer identifier, or the like. For example, a subscription or fee-based station, or the like may require login data. The URL and associated data are packetized and sent back to the client computer, step <b>550</b>. Alternatively, the client request is simply redirected to the URL specified by the server's response.
0083Once the client computer receives the URL and associated data, the client computer contacts the web site specified by the URL, step <b>560</b>. In addition, at the same time, or after, the associated data may be sent to the web site.
0084In the present embodiment, after successfully authentication, the web site provides streaming media data to the client computer, step <b>570</b>. In the present embodiment, discussion regarding media has focused upon audio data. However, in alternative embodiments, the streaming media data may include visual data, video, graphics, and the like in addition or instead of audio data. In such embodiments, the web site provides audio/visual data to the client computer. In the present example, the streaming media data is typically encoded prior to transmission to the client computer.
0085Next, when the client computer receives the streaming media data, the client computer decodes the data, step <b>580</b>. In embodiments of the present invention, many different types of streaming media encoding/decoding schemes are contemplated. For example, formats may include those appropriate for the Windows Media Player, Quicktime, Real Player, and the like. In other embodiments, many other schemes for encoding and decoding streaming media are contemplated.
0086The data recovered is then played out via the client computer, step <b>590</b>. In one embodiment, the data includes audio data, which is played out to speakers, headphones, and the like, coupled to the client computer. In another embodiment, the data may include video data, which is played out to a display or external monitor coupled to client computer, and the like. In this example, the data played out via the client computer is a radio station that the user wishes to listen to.
0087In the present embodiment, if the user likes the particular “radio station” and wants to add or “save” that station to her preferred list, the user selects icon <b>330</b> on GUI <b>300</b> in <figref idref="DRAWINGS">FIG. 3</figref>, step <b>600</b>. In another embodiment, the save request is initiated via the user selecting button <b>430</b> on remote tuner <b>400</b> in <figref idref="DRAWINGS">FIG. 4</figref>. In the present embodiment, as will be discussed further below, the user's preferred list resides on band Z, and the added station is assigned a channel on the Z band.
0088In response to the save request, the client computer sends the server the save request, the current band selection, the current station selection, and the user identification, step <b>610</b>. In alternative embodiments, different types of information may be sent, for example, the client computer may simply send the save request, the client computer may simply send the user identification, or the like. In this embodiment, the current band selection and current station selection may be the same ones sent to the server in step <b>520</b>, above. By providing these values again, the server need not keep track of the current channel or band the user is receiving.
0089Next, the server receives the data and determines the URL in response to the current band selection, the current band selection, and the user information, step <b>620</b>. As discussed above, in step <b>530</b> and <b>540</b>, above, the server first determines a table associated with the user. Next, the server looks-up the URL associated with the current band and channel selection. As an example, if the user is currently listening to band A, channel 1, the URL “http://208.133.73.201/nightgrooves2.asx” may be determined.
0090In this embodiment, the server again refers to the table associated with the user to determine the next available Z band channel, step <b>630</b>. For example, the server may refer to the table associated with the user to determine whether there are any URLs, or the like associated in all Z band channels. Once a channel on the Z band is located that does not currently have an associated URL, or the like, that channel is used as the next available Z band channel. In one example, if the user is pushing the save button for the first time, channel 1 of the Z band is the next available channel. As another example, if the user has already saved 5 channels on the Z band, the next available Z band channel is channel 6. In alternative embodiments, different methods for determining and assigning channels within the Z band are contemplated.
0091Next, the server associates the URL determined in step <b>620</b> with the Z band channel determined in step <b>630</b> and with the user name, step <b>640</b>. In the present embodiment, the table of cross-references between bands/channels and URLs, is updated to reflect this new association. In embodiment of the present invention the term user name is also known as a log-in name, user profile name, profile identifier, and the like. As will be discussed further below, when the Z band channel associated with a user name is subsequently requested by another client computer, the server retrieves the URL associated the Z band and channel.
0092In another embodiment, the server associates the current band and channel determined in step <b>610</b> with the Z band channel determined in step <b>630</b> in the table. As will be discussed further below, when the Z band channel is subsequently requested by the client computer, the server first retrieves the associated band and channel information, then server retrieves the URL associated with the associated band and channel information. In another embodiment, the URL of the current band and channel is directly stored in association with the Z band channel.
0093In one embodiment of the present invention, the server then sends the Z channel information back to the client computer, step <b>650</b>. In response, the client computer maintains the association between the current band and channel with the Z band and Z channel received for the particular user name, log-in name, or the like, step <b>660</b>. For example, the user may be on J band, channel 25 when she pushes the save button. In response, the server determines that that channel should be saved onto the channel 16 of the Z band. In this example, the client computer would then associate Z band channel 16 to J band channel 25. As will be discussed further below, when the user subsequently selects Z band channel 16, the client computer knows that what is really desired is J band, channel 25. Accordingly, the client computer inserts a pre-roll announcement of “J band, channel <b>25</b>”.
0094In another embodiment, instead of the client sending back the Z band channel information, based upon a list maintained in the client computer, the actual channel and band are sent to the server. For example, in the example above, the client computer merely sends to the server “J,25”.
0095In one embodiment of the present invention, the server monitors a list of stations (via channels and bands) that are saved onto the Z band, step <b>670</b>. This enables the server to keep track of which stations, presumably, appeal to listeners. Based upon such data, stations that have small number of save selections may be dropped. Further, for advertising revenue purposes, stations that have a large number of save selections may command higher priced advertising spots.
0096The save selections may also be correlated to demographic profiles of listeners. In such a case, stations can position themselves to target particular demographic groups. Many other types of marketing and sales related information may be drawn from the above save requests. Use of such information is contemplated in different embodiments of the present invention.
0097In some embodiments, steps <b>630</b> and <b>650</b> need not be performed. In such embodiments, the client computer may keep track of the Z band channels that are available. Thus, when the user presses the save button, the client computer may determine and send to the server, the Z band channel where the station should be saved under.
0098<figref idref="DRAWINGS">FIGS. 6A-B</figref> illustrate a block diagram of another flow chart according to an embodiment of the present invention. In particular, <figref idref="DRAWINGS">FIGS. 6A-B</figref> illustrate a technique for retrieving selected stations using client software and GUI <b>300</b> and/or using remote tuner <b>400</b>.
0099Similar to <figref idref="DRAWINGS">FIG. 5</figref>, above, after invoking the client software, the user sends her user name, log-in name or the like to the server, step <b>700</b>. In the present embodiment, because the user is typically a repeat user, the user need only enter a user name and/or password. Alternatively, such data are stored within cookies or a registry, thus the user need not log-in manually.
0100In one embodiment, the user may invoke the client software on a machine other than their “regular” client computer. For example, the user may be at a friend's house, or the like. In such an embodiment, when the user logs in, she can retrieve her favorite stations, stored on the Z band, from any client computer.
0101In other embodiments a first user defines associations between radio stations, or the like onto a Z band. The first user can use the technique in <figref idref="DRAWINGS">FIGS. 5A-C</figref> to perform this step. Next, a second user can enter the first user's user name, log-in name, or other identifier associated with the first user, to the server. If the server recognizes the first users log-in name, password, or the like, the second user has access to the stations saved by the first user onto the Z band.
0102An a example of, a professor locates a web radio station that broadcasts important speeches of the 20th century. The professor assigns that web radio station to her Z band, for example Z,6. The professor then gives her students her log-in name, password, group name, or the like, and tells them to listen to channel Z,6 before the next class. Students can then log-in as the professor or as a guest of the professor and tune-into channel Z,6, using the method described below. The following week, the professor may assign a different web radio station to channel Z,6.
0103As mentioned above, in one embodiment of the present invention a group of users may be able to store and retrieve links stored by other group members. These communities of users may share common interests, the same medical conditions, may be taking the same class, and the like. In one embodiment, a personal user name, log-in ID, or the like will have community membership associated therewith. For example, a user may be able to access her personal Z band links, as well as links set by members of a special interest group.
0104Next, the user selects a particular station to listen to, in the same manner as described if <figref idref="DRAWINGS">FIG. 5</figref>, step <b>710</b>. The user may perform this action by selecting icons <b>360</b> and icons <b>370</b> (the tuner portion of GUI <b>300</b>). For example, the user can again select a particular band to listen to (genre) by selecting icons <b>360</b> (band+, band−) in the tuner portion. Further, the user can also select a particular channel to listen to (station) by selecting icons <b>370</b> (station+, station−, tuning knob) in the tuner portion. When using remote tuner <b>400</b>, the user can use buttons <b>410</b> and tuner knob <b>420</b> to specify the band and channel, respectively.
0105The client computer then sends the tuner data to the server, step <b>720</b>. In this example, the data includes a band selection and a channel selection, as discussed above, and the user name. Other embodiments may include different information, as discussed above. For example, a first user may want to log in as a guest of a second user so the first user can listen to the second users' saved Z band stations. In the present embodiment, the data are packetized and sent back to the server using TCP/IP protocols, or the like.
0106On the server side, based upon the user name (log-in name) or information, data associated with the user is accessed from a database, as described above, step <b>730</b>. In particular, a table that maps tuner data into actual uniform resource locators, URLs, and the like is retrieved. In this embodiment, the table also includes mapping information from Z band Z channel selections. The mapping may be to URLs, to other bands and channels, and the like.
0107In the present embodiment, the server then determines whether the tuner data received from the client includes a selection of the Z band, step <b>740</b>. If not, the method may continue with step <b>540</b>, in <figref idref="DRAWINGS">FIG. 5A</figref>, where the URL corresponding to the associated band and channel is determined. If so, the method continues, as described below.
0108In this example, if the tuner data includes a selection of a channel in the Z band the client computer determines an associated band and channel for that log-in name, user name, or the like, step <b>750</b>. In this embodiment, the client computer has previously stored the association between a desired channel and band selection and a Z band channel for a particular user in step <b>660</b>, in <figref idref="DRAWINGS">FIG. 5</figref>. Thus in this step, if the client computer has these associations for a particular user name, the client computer recalls the association. In the example in step <b>660</b>, above, the client computer associated Z band channel 16 to J band channel 11 in association with a first user name. Thus in the present step, if the first user name is entered and if the tuner data includes a selection of channel 16 in the Z band, the client computer retrieves channel 11 of the J band.
0109In an alternative embodiment of the present invention, step <b>750</b> occurs before step <b>720</b>. In such an case, the tuner data from the client computer to the server will include the actual tuner data (e.g. J band, channel 25) and not the Z band data.
0110After the client computer has identified the associated channel, the client computer plays an audio message to the user, step <b>760</b>. In the present embodiment, the audio message includes messages confirming to the user that the associated channel has be selected. For example, messages such as “Band J, channel 11”; “New Age Station, WXRT”; and the like may be played. These types of messages are termed “pre-roll” messages. These messages are typically played before the audio programming, or the like from the desired source begins. If the association is not identified for the given user name, the message played may reflect the current Z band channel, for example, “Z, 16” and not “J,11”.
0111In the present embodiment, in response to the tuner data from the client computer, i.e. a selection of a channel in the Z band, the server retrieves the association stored in the database table, step <b>770</b>. In one embodiment, if the selection of the Z band channel is associated with a URL in the table, step <b>780</b>, that URL is provided back to the client computer in step <b>550</b>, in <figref idref="DRAWINGS">FIG. 5A</figref>.
0112If the selection of the Z band channel is associated with another channel in another band in the table, the associated band and channel are retrieved. For example, in response to Z band, channel 16, J band, channel 11 is retrieved. Next, the URL corresponding to the other band and other channel is retrieved from the table, step <b>790</b>.
0113In one embodiment of the present invention, the server monitors a list of stations (via channels and bands) that are requested from the Z band, step <b>800</b>. This enables the server to keep track of which stations appeal to listeners. Based upon such data, stations that have low repeat selections may be dropped from the programming choices. Further, for advertising revenue purposes, stations that have a high repeat selection may command higher priced advertising spots.
0114The repeat selections may also be correlated to demographic profiles of listeners. In such a case, stations can position themselves to target particular demographic groups. Many other types of marketing and sales related information may be drawn from the above save requests. Use of such information is contemplated in different embodiments of the present invention.
0115In the present embodiment, the method continues with step <b>550</b>, in <figref idref="DRAWINGS">FIG. 5A</figref>, where the URL corresponding to the associated band and channel is determined.
0116<figref idref="DRAWINGS">FIG. 7A</figref> illustrates an example of an embodiment of the present invention. In particular, <figref idref="DRAWINGS">FIG. 7A</figref> illustrates the exchange of data between a remote tuner <b>900</b>, client computer <b>910</b>, a content server <b>920</b>, and a server <b>930</b>, during normal operation.
0117In <figref idref="DRAWINGS">FIG. 7A</figref>, the first user at remote tuner <b>900</b> tunes in the F band, station <b>11</b>. In response, remote tuner <b>900</b> sends “F,11” or the like to client computer <b>910</b>. In turn, client computer <b>910</b>, may play a pre-roll message, such as “Band F, Channel 11”, to the first user via the stereo speakers of a stereo <b>915</b>. At the same time, client computer <b>910</b> sends the first user name, for example “JeffP”, and the tuner data “F,11” to server <b>930</b>. In response to the data from client computer <b>910</b>, server <b>930</b> accesses an entry indexed by “F,11” in a database table <b>940</b>. In this example, data associated with F,11 is “URL A”.
0118Next, server <b>930</b> sends back “URL A” to client computer <b>910</b> via a network <b>925</b>. Client computer <b>910</b> then accesses content server <b>920</b> that has the address “URL A” In response, server <b>920</b> provides streaming media data to client computer <b>910</b>. Client computer <b>910</b> decodes the stream of data and then plays the audio programming to the first user.
0119<figref idref="DRAWINGS">FIG. 7B</figref> illustrates another example of an embodiment of the present invention. In particular, <figref idref="DRAWINGS">FIG. 7B</figref> illustrates the exchange of data between a remote tuner <b>900</b>, client computer <b>910</b>, a content server <b>920</b>, and a server <b>930</b> during a save command.
0120In <figref idref="DRAWINGS">FIG. 7B</figref>, the first user is listening to an audio program from URL A. When the first user likes the audio programming, the first user selects the save button on remote tuner <b>900</b>. In response, client computer <b>910</b> sends the first user name, current band, current station, and save command to server <b>930</b>. Server <b>930</b> accesses the database table <b>940</b> associated with the first user name to determine the next available Z band channel. In this case “Z,2” is available.
0121In this embodiment, server <b>930</b> then stores “F,11” in association with “Z,2” and sends “Z,2” back to client computer <b>990</b>. In response, client computer <b>990</b> may also store the association between “Z,2” and “F,11”.
0122<figref idref="DRAWINGS">FIG. 7C</figref> illustrates another example of an embodiment of the present invention. In particular, <figref idref="DRAWINGS">FIG. 7C</figref> illustrates the exchange of data between a GUI <b>950</b>, client computer <b>990</b>, a content server <b>920</b>, and a server <b>930</b> during a Z band selection.
0123In <figref idref="DRAWINGS">FIG. 7C</figref>, a second user a graphical user interface <b>950</b> tunes in the Z band, station 2 on display <b>960</b> of the client computer <b>990</b>. In this example, client computer <b>990</b> does not know an association of“Z,2” for the user name “JeffP”, thus, client computer <b>990</b>, may play a pre-roll message, such as “Band Z, Channel 2”, to the user via the stereo speakers. At the same time, client computer <b>990</b> sends the user name, such as “JeffP”, and the tuner data “Z,2” to server <b>930</b>. In response to the data from client computer <b>990</b>, server <b>930</b> accesses a database table <b>940</b> for JeffP. In this example, data associated with “Z,2” is “F,11”.
0124Next, Server <b>930</b> looks up “F,11” in database table <b>940</b> and determines the content server address is “URL A”. Server <b>930</b> sends back “URL A” to client computer <b>990</b>. Client computer <b>990</b> then accesses content server <b>920</b> that has the address “URL A” In response, server <b>920</b> provides streaming media data to client computer <b>910</b>. Client computer <b>910</b> decodes the stream of data and then plays the audio programming to the user.
0125As illustrated, the database <b>935</b> in server <b>930</b> may include tables of associations for other users. For example if the second user at client computer <b>990</b> entered the username (log-in name, profile identifier, user identifier) “NickO”, and channel Z,2, the database would return A,1 to server <b>930</b>. In response, server <b>930</b> looks up A,1 in the table to determine URL: “www.abc.com”, for example. Server <b>930</b> would then return “www.abc.com” to client computer <b>990</b>. As illustrated, for channel Z,2 if the user name were JeffP, “URL A” is returned, and if the user name were NickO, “www.abc.com” is returned.
0126As another example if the second user at client computer <b>990</b> entered the username “DianeE”, and channel Z,1, the database would return F,11 to server <b>930</b>. In response, server <b>930</b> looks up F,11 in the table to determine “URL A”, for example. Server <b>930</b> would then return “URL A” to client computer <b>990</b>. As illustrated, if the user name were JeffP, for channel Z,2 “URL A” is returned, and if the user name were DianeE, for channel Z,1, “URL A” is returned.
0127In the foregoing specification, the invention has been described with reference to specific exemplary embodiments thereof. Many changes or modifications are readily envisioned. For example, many different types of streaming protocol than those described above can be used. Further, data other than audio data alone can be transferred from content servers, for example, video data, graphics, text, and the like.
0128In one embodiment, it is contemplated that a table associated with a user is not actually stored in one particular location. Further it is contemplated that a table is never actually retrieved. Instead, based upon tuner data (a channel/band pair) from the client computer, the server merely determines the appropriate URL. URLs of other channel/band pairs that are not input from the client computer are not determined until needed. Accordingly, steps <b>530</b> and <b>540</b> and steps <b>720</b>-<b>770</b> are simply described as separate steps for sake of understanding. In another embodiment, the server determines appropriate URLs for all channels with a particular band, at one time.
0129In another embodiment, the URL returned by the server may not necessarily be the URL of the content server. Instead, the URL returned may be to a another server. As discussed above, because server system <b>120</b> may comprise one or more physical servers, a first server may not store the content server URL that was requested. Thus, in response, the URL that the first server provides may be the URL of a second server, that may include the content server URL. If the second server <b>120</b> does not have the desired content server URL, the second server may provide a URL of a third server, and so on. It is contemplated that after one or more redirections, as described above, the content server URL is located and returned to the user.
0130The block diagrams of the architecture and flow charts are grouped for ease of understanding. However it should be understood that combinations of blocks, additions of new blocks, re-arrangement of blocks, and the like are contemplated in alternative embodiments of the present invention.
0131The foregoing description of embodiments of the present invention has been provided for the purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise forms disclosed. Obviously, many modifications and variations will be apparent to the practitioners skilled in this art in light of the present patent disclosure. It is intended that the scope of the invention be defined by the following claims and their equivalents.
Contents5
Every citation, both waysCites: the store holds 45 of 46
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US10318647B2 | Cited by | United States of America | Applicant |
| US9779095B2 | Cited by | United States of America | Applicant |
| US2001034219A1 | Cites | United States of America | Applicant |
| US2002072326A1 | Cites | United States of America | Applicant |
| US5142528A | Cites | United States of America | Applicant |
| US5557541A | Cites | United States of America | Applicant |
| US5572442A | Cites | United States of America | Applicant |
| US5629867A | Cites | United States of America | Applicant |
| US5636140A | Cites | United States of America | Search report |
| US5726909A | Cites | United States of America | Applicant |
| US5778187A | Cites | United States of America | Applicant |
| US5790423A | Cites | United States of America | Applicant |
| US5809246A | Cites | United States of America | Applicant |
| US5828839A | Cites | United States of America | Applicant |
| US5841979A | Cites | United States of America | Applicant |
| US5859660A | Cites | United States of America | Applicant |
| US5892536A | Cites | United States of America | Applicant |
| US5917830A | Cites | United States of America | Applicant |
| US5922045A | Cites | United States of America | Applicant |
| US5926624A | Cites | United States of America | Applicant |
| US5928330A | Cites | United States of America | Search report |
| US5933811A | Cites | United States of America | Applicant |
| US5956681A | Cites | United States of America | Applicant |
| US6012086A | Cites | United States of America | Applicant |
| US6014569A | Cites | United States of America | Applicant |
| US6088455A | Cites | United States of America | Applicant |
| US6248946B1 | Cites | United States of America | Applicant |
| US6249810B1 | Cites | United States of America | Applicant |
| US6289207B1 | Cites | United States of America | Applicant |
| US6314094B1 | Cites | United States of America | Applicant |
| US6317761B1 | Cites | United States of America | Applicant |
| US6339761B1 | Cites | United States of America | Applicant |
| US6349329B1 | Cites | United States of America | Applicant |
| US6351736B1 | Cites | United States of America | Applicant |
| US6381314B1 | Cites | United States of America | Applicant |
| US6389463B2 | Cites | United States of America | Applicant |
| US6389467B1 | Cites | United States of America | Applicant |
| US6418138B1 | Cites | United States of America | Applicant |
| US6434621B1 | Cites | United States of America | Applicant |
| US6463468B1 | Cites | United States of America | Applicant |
| US6484156B1 | Cites | United States of America | Search report |
| US6487663B1 | Cites | United States of America | Applicant |
| US6496857B1 | Cites | United States of America | Applicant |
| US6546421B1 | Cites | United States of America | Applicant |
| US6557028B2 | Cites | United States of America | Applicant |
| US6560651B2 | Cites | United States of America | Applicant |
| US6615039B1 | Cites | United States of America | Applicant |
| Kim Campbell; ''Don't Touch that URL''; May 2000; http//:csmweb2.emcweb.com/durable/2000/05/04/p11s1.htm, 5 pages. | Non-patent | – | Applicant |
| Jim Davis, "Kerbango launches Web site, plans Net radio appliance", http://news.comcom/2100-1040-231320.html, Oct. 13, 1999, 2 pages. | Non-patent | – | Applicant |
| Winamp v2.60 Nullsoft, Inc., http://www.winamp.com, Feb. 11, 2000, 7 pages. . Shoutcast.com, Oct. 24, 2002, 3 pages. | Non-patent | – | Applicant |
| RealPlayer Plus(TM) G2 Manual, http://service.real.com/help/player/plus.sub.-manual.g2/htmfiles/notice.htm, Oct. 23, 2002, 18 pages. | Non-patent | – | Applicant |
| Yahoo launces digital music endeavor, news.com, Oct. 23, 2002, 3 pages. | Non-patent | – | Applicant |
| Frankel, Justin; Greely, Dave; Sawyer, Ben; "MP3 Power? With Winamp"; May 15, 1999; Muska & Lipman Publishing; Paperback; 11 pages. | Non-patent | – | Applicant |
| Nullsoft Winamp Screenshots; version 2.11 (x86); Apr. 13, 1999, Figures 1-7. | Non-patent | – | Applicant |
2 members in 1 office
Priority claims6
| Document | Office | Kind | Date |
|---|---|---|---|
| 57958000 | United States of America | A | |
| 57958000 | United States of America | A | |
| 49475206 | United States of America | A | |
| 09579580 | – | – | – |
| US20000579580 | – | – | – |
| US20060494752 | – | – | – |
Members2
| Document | Office | Kind | |
|---|---|---|---|
| US6769028B1 | United States of America | B1 | |
| USRE44298EThis record | United States of America | E |
81 transactions on the USPTO file
Allowed after 2 non-final rejections, 1 final rejection and 1 RCE.
- Non-final rejections
- 2
- Final rejections
- 1
- RCEs
- 1
- Appeals
- 0
Over time
Point at a mark for the transactionTransactions
| Event | Code | |
|---|---|---|
| Recordation of Patent Grant MailedPGM/ | PGM/ | |
| Email NotificationEML_NTR | EML_NTR | |
| Issue Notification MailedAllowedWPIR | WPIR | |
| Dispatch to FDCD1935 | D1935 | |
| Email NotificationEML_NTR | EML_NTR | |
| Printer Rush- No mailingTCPB | TCPB | |
| Mail Response to 312 Amendment (PTO-271)MN271 | MN271 | |
| Response to Amendment under Rule 312N271 | N271 | |
| Pubs Case Remand to TCPUBTC | PUBTC | |
| Application Is Considered Ready for IssuePILS | PILS | |
| Amendment after Notice of Allowance (Rule 312)AllowedA.NA | A.NA | |
| Response to Reasons for AllowanceREAS | REAS | |
| Issue Fee Payment VerifiedN084 | N084 | |
| Issue Fee Payment ReceivedIFEE | IFEE | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Notice of AllowanceAllowedMN/=. | MN/=. | |
| Notice of Allowance Data Verification CompletedAllowedN/=. | N/=. | |
| Miscellaneous Incoming LetterLET. | LET. | |
| Reasons for AllowanceEX.R | EX.R | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Ex Parte Quayle ActionA.QU | A.QU | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Ex Parte Quayle Action (PTOL - 326)MCTEQ | MCTEQ | |
| Quayle actionCTEQ | CTEQ | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Disposal for a RCE / CPA / R129AbandonedABN9 | ABN9 | |
| Request for Continued Examination (RCE)RCEX | RCEX | |
| Email NotificationEML_NTR | EML_NTR | |
| Mail-Petition Decision - DismissedMPTDI | MPTDI | |
| Petition Decision - DismissedPTDI | PTDI | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Final ActionA.NE | A.NE | |
| Petition EnteredPET. | PET. | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Final Rejection (PTOL - 326)Final rejectionMCTFR | MCTFR | |
| Final RejectionFinal rejectionCTFR | CTFR | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Non-Final ActionA... | A... | |
| Email NotificationEML_NTR | EML_NTR | |
| Mail Notice of Informal or Non-Responsive AmendmentNINA | NINA | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Informal or Non-Responsive Amendment after Examiner ActionA.I. | A.I. | |
| Response after Non-Final ActionA... | A... | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Non-Final ActionA... | A... | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| IFW TSS Processing by Tech Center CompleteTSSCOMP | TSSCOMP | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Electronic Information Disclosure StatementEIDS. | EIDS. | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Filing Receipt - UpdatedFLRCPT.U | FLRCPT.U | |
| Application Is Now CompleteCOMP | COMP | |
| Application Dispatched from OIPEOIPE | OIPE | |
| Notice of Reissue Published in Official GazetteNRE. | NRE. | |
| Mail-Petition Decision - GrantedMPTGR | MPTGR | |
| Petition Decision - GrantedPTGR | PTGR | |
| Petition EnteredPET. | PET. | |
| Mail-Petition Decision - DismissedMPTDI | MPTDI | |
| Petition Decision - DismissedPTDI | PTDI | |
| Preliminary AmendmentA.PE | A.PE | |
| Payment of additional filing fee/PreexamFLFEE | FLFEE | |
| A statement by one or more inventors satisfying the requirement under 35 USC 115, Oath of the ApplicOATHDECL | OATHDECL | |
| The identification of one or more legal entities other than the inventor(s), each such legal entityASGMT | ASGMT | |
| Petition EnteredPET. | PET. | |
| Cleared by OIPE CSRL194 | L194 | |
| Notice Mailed--Application Incomplete--Filing Date AssignedINCD | INCD | |
| Cleared by OIPE CSRL194 | L194 | |
| Preliminary AmendmentA.PE | A.PE | |
| Claim Preliminary AmendmentCLAIM | CLAIM | |
| Initial Exam Team nnIEXX | IEXX |
5 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Fee paymentFPAY | FPAY | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS |
Numbers
- Publication
- RE044298
- Publication, DOCDB
- RE44298
- Publication, EPODOC
- USRE44298E
- Application
- 11494752
- Application, DOCDB
- 49475206
- Application, EPODOC
- US20060494752
Titles
- English
- Method and apparatus for sharing streaming media links
Classification
- CPC, 11
- H04N7/17318
- H04L61/30
- H04L61/301
- H04N21/25891
- H04N21/4383
- H04N21/4753
- H04N21/482
- H04N21/6125
- H04N21/6175
- H04N21/8106
- H04L61/45
- IPC, 1
- G06F15 16
- USPC, 3
- 709231000
- 709203000
- 709236000