U.S. patent application number 12/576165 was filed with the patent office on 2010-11-25 for configuring a network connection.
Invention is credited to Michael Denis O'CONNOR, Terence WILSON.
Application Number | 20100296654 12/576165 |
Document ID | / |
Family ID | 43124359 |
Filed Date | 2010-11-25 |
United States Patent
Application |
20100296654 |
Kind Code |
A1 |
WILSON; Terence ; et
al. |
November 25, 2010 |
CONFIGURING A NETWORK CONNECTION
Abstract
A communication system for accessing media items via a display
device. A receiver is coupled to the display device and a
transmitter is coupled to a computer system. Media items stored
locally on the computer system and/or remotely on a remote server
may be wirelessly transferred from the transmitter to the receiver
for display on the display device. In addition, the transmitter and
the receiver may be pre-paired prior to delivery to the user,
allowing for the network to be configured without any user input.
Advantageously, embodiments provide a user with the ability to
conveniently view content stored on a computer or a web server
without the user having to perform any wireless network setup
procedures.
Inventors: |
WILSON; Terence; (Alameda,
CA) ; O'CONNOR; Michael Denis; (Cary, NC) |
Correspondence
Address: |
PATTERSON & SHERIDAN, LLP/CISC
3040 POST OAK BLVD., SUITE 1500
HOUSTON
TX
77056-6582
US
|
Family ID: |
43124359 |
Appl. No.: |
12/576165 |
Filed: |
October 8, 2009 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
61179688 |
May 19, 2009 |
|
|
|
Current U.S.
Class: |
380/270 |
Current CPC
Class: |
H04N 21/43637 20130101;
H04N 21/4122 20130101; H04N 7/163 20130101 |
Class at
Publication: |
380/270 |
International
Class: |
H04L 9/00 20060101
H04L009/00 |
Claims
1. A method for generating network parameters for a communications
system, the method comprising: calculating a hash value based on a
unique identifier associated with a receiver device and a first
encryption value, wherein the communications system includes a
transmitter device configured to perform two-way wireless
communications with the receiver device; generating one or more
network parameters for use in establishing a network connection
between the transmitter device and the receiver device within the
communications system based on the hash value; and storing the one
or more network parameters in a non-volatile memory included in the
transmitter device.
2. The method of claim 1, wherein the one or more network
parameters include at least one of an SSID (Service Set Identifier)
and a network password.
3. The method of claim 2, further comprising the step of generating
the SSID by performing an encoding operation that includes at least
the hash value as an input.
4. The method of claim 3, wherein the encoding operation comprises
calculating a base-N logarithm of the hash value.
5. The method of claim 4, wherein N equals 62.
6. The method of claim 2, further comprising the steps of:
calculating a second hash value based on the unique identifier and
a second encryption value; generating the SSID associated with the
network connection based at least in part on the hash value; and
generating the network password associated with the network
connection based at least in part on the second hash value.
7. The method of claim 6, further comprising the step of encrypting
the network password prior to the step of storing the one or more
network parameters in the non-volatile memory included in the
transmitter device.
8. The method of claim 1, wherein the first encryption value
comprises a 128-bit value.
9. The method of claim 1, wherein the step of calculating the hash
value comprises performing a Secure Hash Algorithm (SHA) hashing
operation that includes the sum of the unique identifier and the
first encryption value as an input to the SHA hashing
operation.
10. The method of claim 1, wherein the unique identifier comprises
a serial number of the receiver device.
11. A computer-readable storage medium storing instructions that,
when executed by a processor, cause a computer system to generate
network parameters for a communications system, by performing the
steps of: calculating a hash value based on a unique identifier
associated with a receiver device and a first encryption value,
wherein within the communications system includes a transmitter
device configured to perform two-way wireless communications with
the receiver device; generating one or more network parameters for
use in establishing a network connection between the transmitter
device and the receiver device within the communications system
based on the hash value; and storing the one or more network
parameters in a non-volatile memory included in the transmitter
device.
12. The computer-readable storage medium of claim 11, wherein the
one or more network parameters include at least one of an SSID
(Service Set Identifier) and a network password.
13. The computer-readable storage medium of claim 12, further
comprising the step of generating the SSID by performing an
encoding operation that includes at least the hash value as an
input.
14. The computer-readable storage medium of claim 13, wherein the
encoding operation comprises calculating a base-N logarithm of the
hash value.
15. The computer-readable storage medium of claim 14, wherein N
equals 62.
16. The computer-readable storage medium of claim 12, further
comprising the steps of: calculating a second hash value based on
the unique identifier and a second encryption value; generating the
SSID associated with the network connection based at least in part
on the hash value; and generating the network password associated
with the network connection based at least in part on the second
hash value.
17. The computer-readable storage medium of claim 16, further
comprising the step of encrypting the network password prior to the
step of storing the one or more network parameters in the
non-volatile memory included in the transmitter device.
18. The computer-readable storage medium of claim 11, wherein the
first encryption value comprises a 128-bit value.
19. The computer-readable storage medium of claim 11, wherein the
step of calculating the hash value comprises performing a Secure
Hash Algorithm (SHA) hashing operation that includes the sum of the
unique identifier and the first encryption value as an input to the
SHA hashing operation.
20. A computer system for generating network parameters for a
communications system, the computer system comprising: a processor
configured to: calculate a hash value based on a unique identifier
associated with a receiver device and a first encryption value,
wherein the communications system that includes a transmitter
device configured to perform two-way wireless communications with
the receiver device, generate one or more network parameters for
use in establishing a network connection between the transmitter
device and the receiver device within the communications system
based on the hash value, and store the one or more network
parameters in a non-volatile memory included in the transmitter
device.
21. The computer system of claim 20, further comprising a memory
storing instructions that, when executed by the processor,
configure the processor to: calculate the hash value; generate the
one or more network parameters; and store the one or more network
parameters in the non-volatile memory.
Description
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims benefit of U.S. provisional patent
application Ser. No. 61/179,688, filed on May 19, 2009, which is
hereby incorporated herein by reference.
BACKGROUND OF THE INVENTION
[0002] Digital video cameras enable a user to capture video
footage, which can be viewed on a computer or television, uploaded
to video sharing websites, or recorded onto a recording medium such
as a DVD. Typically, transferring video footage from a digital
video camera to an external device such as a television or computer
requires the use of a video cable and software to connect the
digital video camera to the external device. Some models of digital
video cameras provide a built-in Universal Serial Bus (USB)
connector to facilitate transfer of video footage from/to the
digital video camera and the external device. In order to view
video footage on a television, a user typically uses a cable (e.g.,
a cable with both video and audio connectors) to connect the
digital video camera to the inputs of the television, and then uses
a user interface on the digital video camera to initiate and
control the playback of the video footage displayed on the
television. Some digital video cameras also utilize a remote
control to supplement or replace the user interface on the digital
video camera during playback to the television. This method of
viewing video footage on a television presents several
difficulties, including either using the batteries in the digital
video camera or providing external power to the digital video
camera during playback, positioning of the digital video camera
close to the television while the user is typically sitting farther
from the television during video playback, and the like.
[0003] If the user has already downloaded the video content
recorded on the digital video camera to a computer, the video
content can be viewed on the computer display. However, many users
prefer to watch video footage on a television, which is typically
located at a distance (e.g., in a separate room) from the computer.
One approach is to use the computer to burn a digital versatile
disc (DVD) including the video content. However, burning a DVD is a
complicated operation for some users and requires use of DVD media.
Additionally, DVDs have limits on the length of videos that can be
stored on the DVD, typically one or two hours of video. Thus, for
video footage of longer durations, multiple DVDs are typically
required. Another approach is to transmit the video footage from
the computer to the television. 802.11-based media extenders have
been developed for this purpose. Using 802.11-based wireless
networks is a challenging endeavor for many users. Setting up the
network is a complicated process that many users find difficult and
frustrating, including issues related to firewalls, port
forwarding, dynamic Domain Name System (DNS), etc. The challenges
of setting up and operating 802.11-based networks is a contributing
factor to the high return rate of wireless networking
equipment.
[0004] Despite the capabilities of currently available systems, the
viewing experience of digital video for many users is less than
desirable. Thus, there is a need in the art for improved methods
and systems for viewing video footage on a display device.
SUMMARY
[0005] One embodiment of the invention provides a method for
generating network parameters for a communications system. The
method includes calculating a hash value based on a unique
identifier associated with a receiver device and a first encryption
value, where the communications system includes a transmitter
device configured to perform two-way wireless communications with
the receiver device; generating one or more network parameters for
use in establishing a network connection between the transmitter
device and the receiver device within the communications system
based on the hash value; and storing the one or more network
parameters in a non-volatile memory included in the transmitter
device.
[0006] Another embodiment of the invention provides a system for
establishing a network connection. The system includes a
transmitter device coupled to a first computer system and a
receiver device. The receiver device is configured to receive a
DHCP (Dynamic Host Configuration Protocol) request broadcast by the
transmitter device, assign an IP (Internet Protocol) address to the
transmitter device from a list of available IP addresses, and
establish the network connection between the transmitter device and
the receiver device based on the IP address.
[0007] Many benefits are achieved by way of embodiments of the
present invention over conventional techniques. For example,
embodiments of the present invention provide an enhanced user
experience in comparison with conventional wireless communications
networks. Additionally, embodiments provide a user with the ability
to conveniently view video footage stored on a computer or a web
server on a television without having to perform any wireless
network setup procedures. As an example, embodiments of the present
invention provide a simple and reliable way for viewing videos,
movies, photos, and other media on a home television. Utilizing the
embodiments described herein, consumers can effectively bring their
multimedia content onto their primary viewing device (i.e., the TV)
and enjoy this media in a comfortable setting such as a living
room. These and other embodiments of the invention along with many
of its advantages and features are described in more detail in
conjunction with the text below and attached figures.
BRIEF DESCRIPTION OF THE DRAWINGS
[0008] FIG. 1 is a simplified illustration of elements of a
communications system, according to an embodiment of the present
invention;
[0009] FIG. 2 is a simplified illustration of an exemplary use of
the communications system, according to an embodiment of the
present invention;
[0010] FIG. 3 is a simplified schematic diagram of a receiver,
according to an embodiment of the present invention;
[0011] FIG. 4 is a simplified schematic diagram of a transmitter,
according to an embodiment of the present invention;
[0012] FIG. 5 is a flow diagram of method steps for operating a
communications system, according to an embodiment of the present
invention.
[0013] FIG. 6 is a flow diagram of method steps for generating
network parameters, according to an embodiment of the present
invention.
[0014] FIG. 7 is a flow diagram of method steps for establishing a
network connection between a transmitter and a receiver, according
to an embodiment of the present invention.
[0015] FIG. 8 is a flow diagram of method steps for transmitting
data between a transmitter and a receiver, according to an
embodiment of the present invention.
DESCRIPTION OF EXAMPLE EMBODIMENTS
[0016] Embodiments of the present invention relate to transmitting
video footage from a source to a display device. Merely by way of
example, embodiments of the invention are applied to a
communications system including a transmitter coupled to a computer
and a receiver coupled to any type of display device, such as a
television, a monitor, or any other type of display device. The
methods and techniques can be applied to video footage stored on a
web server, a local machine, a remote machine, and the like.
[0017] According to an embodiment of the present invention, a
system for transmitting video content from a computer to a display
device is provided. The system includes a receiver operable to
communicate with the display device. The receiver includes a first
wireless transceiver, a video output, and an audio output. The
system also includes a transmitter operable to communicate with the
computer. The transmitter also includes a wireless transceiver. The
receiver and the transmitter are operable to perform two-way
wireless communication with each other.
[0018] According to yet another embodiment of the present
invention, a method of transmitting video content is provided. The
method includes establishing a connection between a receiver and a
display device. The receiver includes a first wireless transceiver,
a video output, and an audio output. The method also includes
establishing a connection between a transmitter and a computer. The
transmitter includes a second wireless transceiver and memory and
the transmitter is operable to operate in a first mode and a second
mode. The method further includes uploading software from the
memory of the transmitter to the computer while operating in the
first mode and transmitting the video content from the transmitter
to the receiver while operating in the second mode.
System Overview
[0019] FIG. 1 is a simplified illustration of elements of a
communications system 100, according to an embodiment of the
present invention. The communications system 100 includes a
receiver 110 operable to communicate with a display device. The
receiver 110, which may be a transceiver, includes the ability to
both transmit and to receive data from a matched transceiver (i.e.,
transmitter 120). Because receiving data for display on the display
device is the primary function of the receiver 110, it is referred
to as a receiver, despite the fact that in some embodiments the
receiver 110 includes the functionality of transmitting data as
well. In one embodiment, the receiver 110 includes a wireless
transceiver 350 as illustrated in FIG. 3. The receiver 110 also
includes one or more video outputs and one or more audio outputs as
described more fully below. As shown in FIG. 1, the receiver
includes a High-Definition Multimedia Interface (HDMI) output 112
that carries both audio and video signals, as well as RCA outputs
114, including separate output ports for composite video and stereo
audio (left and right). In another embodiment, component video
outputs may be provided as appropriate to the particular
application. Preferably, the RCA audio outputs will be active
concurrently with the HDMI output so that the RCA audio outputs can
be used in parallel with the HDMI output. The receiver includes a
power port 111 to receive power from a power source and to power
the various components of the receiver 110.
[0020] The communications system 100 also includes a transmitter
120. The transmitter 120, which may also be a transceiver, includes
the ability to both transmit and receive data from a matched
transceiver (i.e., receiver 110). Because transmitting data for
subsequent display on the display device is, in some embodiments,
the primary function of the transmitter 120, the transmitter 120 is
referred to as a "transmitter," despite the fact that the
transmitter 120 includes the functionality of receiving data as
well. In a particular embodiment, the transmitter 120 is a dongle
including a connector 122 compliant with the Universal Serial Bus
(USB) standard and operable to be inserted into a USB port of a
computer, for example, a personal computer. As described in greater
detail in FIG. 4, the transmitter 120 includes a wireless
transceiver 450 that is operable to transmit data from the computer
to the receiver 110. For example, the data may include video and
audio data for display on the display device.
[0021] According to embodiments of the present invention, the
receiver 110 and the transmitter 120 are pre-paired during the
manufacturing process. Thus, when a user first sets up the
communications systems, there is no need for the user to pair or
define settings associated with the communication that occurs
between the receiver 110 and the transmitter 120. This embodiment
contrasts with conventional wireless networking equipment, for
which a user typically needs to manually pair the various devices
prior to use. As an example, in a conventional 802.11-based
network, a user needs to set the Service Set Identifier (SSID),
password, and/or other network parameters that enable the various
network elements to communicate. In the embodiments described
herein, such settings are pre-set at the time of manufacturing as
part of the manufacturing process or at other time prior to
delivery to the user. Thus, when the user first installs the
equipment, the parameters necessary for two-way communications
between the receiver 110 and the transmitter 120 are already set.
As a result, the user is provided with a fully functioning
communications system straight "out-of-the-box."
[0022] In some embodiments, the communications system 100 may also
include a remote control 130. The remote control is operable to
communicate with receiver 110 and may be used to control the
playback of video footage on the display device. Like the
transmitter 120, the remote control 130 is also pre-paired with the
receiver 110 prior to delivery to the user. In some embodiments,
the remote control 130 is also able to control operation of the
transmitter 120, although this feature is not required by
embodiments of the present invention. As described in more detail
in FIG. 2, the receiver 110, transmitter 120, and/or the remote
control 130 provide a system used to view video footage stored in
various manners, such as on a computer, stored on a remote site
such as a web server, or the like.
[0023] The remote control 130 includes user input buttons including
play, pause, fast forward, rewind, next track, previous track,
volume up, volume down, mute, and the like. Other functionality as
appropriate to the particular embodiment can be implemented in the
remote control 130 as needed. For example, a "favorites" button may
be provided that allows a user to mark a particular media item as a
favorite. A signal is transmitted from the remote control 130 to
the receiver 110 that indicates that a selected media item should
be marked as a favorite. The receiver 110, then, transmits a signal
to the transmitter 120 indicating that the selected media item
should be marked as a favorite. The transmitter 120, in turn,
conveys this information to the software executing on the computer
220 by sending a signal to the computer 220. The software executing
on the computer 220 updates the metadata associated with a local
copy of the selected media item to indicate that the selected media
item should be marked as a favorite. If the selected media item is
also stored on a remote server and is being accessed remotely, then
metadata associated with the copy of the media item stored on the
remote server is updated as well. As another example, another
button may be provided on the remote control 130 that allows a user
to mark a selected media item to be transmitted to a particular
person or stored on a remote server. One of ordinary skill in the
art would recognize many variations, modifications, and
alternatives.
[0024] FIG. 2 is a simplified illustration of an exemplary use of
the communications system, according to an embodiment of the
present invention. As shown, the receiver 110 is connected to
display device 210, for example, a television or other video
display monitor. The embodiment illustrated in FIG. 2 utilizes an
HDMI cable carrying both audio and video data from the receiver 110
to the display device 210. In one embodiment, in order to view
content received by the receiver 110, the user may select an input
on the display device 210 corresponding to the input connector to
which the HDMI cable or other cable(s) is connected. In another
embodiment, composite video and stereo audio RCA outputs, component
video outputs, analog audio/visual outputs, or the like are
utilized. In one embodiment, the receiver 110 communicates with the
transmitter 120 as a dedicated solution. One of the benefits
provided by embodiments of the present invention is that the
various components of communications system 100 can be configured
to not interact with other, non-system components and devices. In a
typical use case of an embodiment of the invention, there may be
additional wireless devices in the proximity of communication
system 100. However, embodiments of the present invention provide a
"walled garden" approach in which no configuration actions on the
part of the user are needed. Because the receiver 110, the
transmitter 120, and/or the remote control 130 are pre-paired prior
to shipment from the manufacturer and/or delivery to the user, the
user does not need to configure these devices and the user
experience is more streamlined--the user just plugs-in the devices
and they operate as intended. As an example, the receiver 110 is
coupled to a television using an HDMI cable, the transmitter 120 is
inserted into the USB port of a computer containing video files,
and with no wireless setup actions, the user is able to watch the
videos on the television. This contrasts sharply with conventional
wireless networking system setup procedures.
[0025] Target customers for the products described herein include
owners of digital video cameras. As described more fully in
relation to FIG. 4, the transmitter 120 may includes software that
is configured to access video footage stored on a computer or on a
web server accessible through the Internet. In some embodiments,
when the transmitter 120 is plugged into the computer for the first
time, the software may be uploaded to and installed on the computer
(automatically in some embodiments). Using the installed software,
the user is able to access video footage or other media stored on
the computer, transmit the media to the receiver 110, and view
and/or listen to the media on the display device 210. In other
embodiments, a user is able to download the appropriate software
from the Internet.
[0026] The ease of installation and use enables users that are not
particularly technology savvy to enjoy the benefits of more widely
present video footage. As an example, it may be desirable to share
videos on a user's computer with a family member without a digital
video camera or a wireless network, but with a television, a
computer, and an Internet connection. The family member purchases a
system as described herein, couples the receiver 110 to the
television and couples the transmitter 120 to the computer. After
the installation of software resident on the transmitter, typically
only requiring an acceptance of a click-through license agreement
by the family member, the family member is able to receive videos
from the user and then watch them on their television. In other
implementations, a user account may be created or other setup
procedures may be performed. Other content that is downloaded to
the computer can also be viewed on the television, which is
typically a more comfortable viewing environment than the computer,
using the communications system described herein. It should be
noted that various methods for identifying the receiver 110 as a
network element may be used, as described in greater detail
herein.
[0027] Embodiments of the present invention provide for a variety
of sources of media for viewing using communications system 100. As
an example, videos may be stored on the computer or on a web server
accessible through the Internet. Additionally, in some embodiments,
a user is able to define one or more channels and associate other
users with these channels. Video content is then shared using these
channels to the associated users.
[0028] Although the system illustrated in FIG. 2 includes receiver
110, other embodiments replace the receiver 110 with a router that
is operable to communicate with the transmitter 120. The router can
serve other functions than delivering content to the display
device, for example, other wireless communications functions. The
router in this embodiment is operable to interact with not only the
transmitter but the software resident on the computer.
[0029] In still further embodiments, the receiver 110 may be
replaced by any device that would typically be plugged into a
computer and would typically require a driver, such as a computer
peripheral (e.g., a printer or a scanner), among others. For
example, a transmitter 120 (i.e., a dongle) may be provided that is
configured to communicate with one or more of other devices. One or
more drivers and/or software for the other devices may be stored in
a mass storage portion of the transmitter 120. When the transmitter
120 is plugged-in to the computer, the transmitter 120 is detected
as a mass storage device and the drivers and/or software stored in
the mass storage portion may be automatically installed on the
computer, as described herein. Once the drivers and/or software are
installed and executed on the computer, the drivers and/or software
may transmit a signal to the transmitter 120 (i.e., to the dongle)
indicating to the transmitter 120 to switch from mass storage
device mode to wireless mode. Again, the transmitter 120 may be
configured to communicate with a single device or with multiple
devices of the same or different types. One advantage of these
embodiments is that manufacturing costs are reduced since a CD
(compact disc) or DVD (digital versatile disc) that includes the
drivers and/or software does not need to be shipped or sold with
the transmitter 120. A second advantage is ease of installation,
since no user input is required to install and configure the
device.
[0030] Referring once again to the embodiment shown in FIG. 2, the
display device 210 may show a user interface generated either by
the receiver 110, the transmitter 120, the computer 220, or some
combination thereof. As an example, the user interface displayed
could be a version of software executing on the computer 220
modified for display on a television. Depending on the particular
implementation, the processing load for generating the user
interface and processing of the video signal may be distributed
between the receiver 110 and/or the combination of the transmitter
120 and/or computer 220. Since the computer typically has
significant computing resources available, a specific embodiment
utilizes the computer 220 to perform the vast majority of
processing, merely relying on the receiver 110 to receive and
display the received data. In this specific embodiment, the
computer renders the information to be displayed as the user
interface, the computer renders video footage at 30 frames per
second (or another appropriate frame rate) that is broadcast to the
television, and the like. Since a broadcast-ready video signal is
transmitted to the receiver in this embodiment, the receiver only
needs to pass this video signal through to the display device,
greatly reducing the processing load on the receiver 110.
[0031] In another embodiment, at the other end of the processing
spectrum, much of the processing may be performed in the receiver
110. In this alternative embodiment, the receiver 110 may have
significant computing resources. Video processing, buffering,
storage, and the like may be performed in the receiver. Other
embodiments also fall at other points along the spectrum, dividing
the processing tasks between the computer 220, the transmitter 120,
and the receiver 110.
[0032] As an example use case, a user uses remote control 130 to
control the receiver 110. The user interface is displayed on the
display device 210 and two-way communication is established between
the receiver 110 and the transmitter 120. Requests from the user
may pass from the remote control 130 to the receiver 110, through
the wireless connection to the transmitter 120, and then from the
transmitter 120 to the computer 220. For an application executing
on the computer 220, information related to the available videos
(i.e., metadata) may be transmitted from the transmitter 120 to the
receiver 110 and displayed on the display device 210. Using the
remote control 130, the user may select a video to be played and
the selected video footage may be transmitted from the computer 220
through the transmitter 120 to the receiver 110 and then displayed
on the display device 210.
[0033] In various embodiments, metadata associated with the video
content stored on the computer 220 or on the Internet is available
to the system and can be used to sort, categorize, or otherwise
manage the video content. As an example, if a particular video is
marked as a favorite, given a name, placed in one or more
particular folders, or the like, this information may be available
to the user through the user interface displayed on the display
device 210. The availability of this metadata contrasts with
conventional media extenders in which only video content is
available. Additionally, since embodiments of the present invention
provide custom software solutions, the methods and systems
described herein make available proprietary features such as
user-defined channels that are not available using conventional
techniques.
[0034] In one embodiment, the user interface displayed on the
display device 210 is simple to use and requires little or no
training. Some embodiments provide for customization of the user
interface although this is not required by embodiments of the
present invention. As an example, keyboard shortcuts could be
included, although not used by all users. Additionally, in some
embodiments, changes made by a user interacting with the software
executing on the computer 220 may be reflected in the user
interface displayed to the user on the display device 210. For
example, one or more media items may be marked as "favorites" or
"new." Media items that are marked as new, in some embodiments,
include those media items that have not yet been viewed.
[0035] In some embodiments, the communications channel between the
transmitter 120 and the receiver 110 is provided in accordance with
commercially available wireless communications standards. For
example, using the IEEE 802.11n wireless standard, bandwidth
suitable for high definition (HD) videos (e.g., 10 megabits per
second) is provided. Other wireless standards providing suitable
bandwidth can also be utilized. One of ordinary skill in the art
would recognize many variations, modifications, and alternatives.
For example, the bandwidth of the connection between the
transmitter 120 and the receiver 110 may be limited to a predefined
level when the content being transmitted over the communication
channel is being transmitted from a remote server, e.g., 1 megabits
per second. The predefined level, in some embodiments, may be
configurable by the user.
[0036] In some implementations, the bandwidth of the communications
channel can be conserved by performing some video processing at the
receiver 110. For example, if video content is stored on the
computer 220 at a resolution of 480p, up-scaling could be performed
on the receiver 110 to provide a 720p signal for display on the
display device 210 (e.g., the television). A benefit of using an
HDMI connector to couple the receiver 110 and the display device
210 is that the television is able to scale video content received
over an HDMI connection to a scale appropriate for the particular
television. For example, if the television can display 1080p video
content and the content provided by the HDMI connection is 720p,
then the television can upscale the content to 1080p for
display.
[0037] Embodiments of the present invention provide for
personalization of content provided in channels the user has
established. For example, if a channel is associated with a hockey
team of a user, the display on the display device 210 could be
personalized with hockey-related themes or the like. The background
of the user interface, generated either at the computer 220 or the
receiver 110, could be hockey-based. More sophisticated
environments and attributes related to hockey could also be
provided, such as news or information feeds. One of ordinary skill
in the art would recognize many variations, modifications, and
alternatives.
[0038] According to embodiments of the present invention, the
connection between the remote control 130 and the receiver 110 is a
radio frequency (RF) connection so that line-of-sight is not
required between the remote control 130 and the receiver 110. This
feature enables the receiver 110 to be placed at a location behind
other components, for example, at the back of an entertainment
center in a user's home. Thus, the receiver 110 does not have to be
a "front row" device, competing for shelf space with other
audio-visual system components. In addition to non line-of-sight
communications, the range for RF connections is typically greater
than that available with infrared connections. The RF nature of the
remote control 130 allows the remote control to also be used in
conjunction with the transmitter 120, which may be coupled to a
computer 220 that is not located in the room with the receiver 110
and display device 210. In an alternative embodiment, the remote
control operates using infrared technology.
[0039] The pre-pairing of the remote control with the receiver also
solves potential problems with cross-talk between adjacent systems.
As an example, if a user is installing communications system 100 in
an apartment complex in which another user has already installed a
similar communications system, it would be undesirable to have one
user's remote control controlling another user's receiver. The
pre-pairing of the remote control and receiver during manufacturing
prevents this undesirable cross-talk, thereby enhancing the user
experience.
[0040] In one embodiment, the receiver is configured to operate in
a "pass-through" mode. In the pass-through mode, the receiver is
installed between another user device (e.g., a set-top box, a DVD
player, or the like) and the display device (e.g., a television).
The signal from the user device passes through the receiver during
normal operation of the user device. However, when the receiver
begins to receive data from the transmitter, a switch in the
receiver switches the video path from the user device to the
transmitter. In another embodiment, when the receiver is powered
on, the receiver could switch the video path. In yet another
embodiment, the switch includes a sensor responsive to incoming
video signals and switches to the active video signal, with
priority being given to video from the transmitter. In these
embodiments, the user does not need to switch the input on the
display device in order to view content received by the receiver.
Referring to FIG. 1, an optional pass-through HDMI input 116 and
optional pass-through RCA inputs 118 are illustrated. In other
embodiments, these optional inputs are not utilized and data is
received at the receiver using only the wireless connection to the
transmitter.
[0041] In addition to switching from one video input to another
video input in the pass-through configuration, overlay technologies
are included within the scope of the present invention. Using these
overlay technologies, a signal from a set-top box or other user
device could be provided to the television, but overlaid with a
signal from the transmitter. Typically, the overlaying of the
signal would be performed using a processor in the receiver and
would not involve processing of the video signal received from the
set-top box, but merely overlaying of an additional signal. As an
example, if a new video is available for viewing, a logo could be
displayed on the television, overlaid on the video signal from the
set-top box, indicating the availability of the new video. One of
ordinary skill in the art would recognize many variations,
modifications, and alternatives.
[0042] According to some embodiments of the present invention,
status indicators 115 are provided on the receiver, through the
user interface, or combinations thereof. As an example, LED status
indicators 115 are illustrated on the receiver in FIG. 1 and may be
used to indicate lack of connection to a paired device (e.g., a
transmitter or remote control), presence of connection, but at a
data rate unsuitable for video signals or certain types of video
signals (e.g., HD signals), or the presence of a suitable
connection, among others. Additional status indicators could be
provided on the transmitter indicating similar or other
characteristics. Moreover, status indicators could be provided
through software on the computer, delivered to the user through the
user interface.
[0043] It should be noted that communications both downstream
(i.e., transmitter to receiver) and upstream (i.e., receiver to
transmitter) are provided by embodiments of the present invention.
In addition to control commands transmitted from the remote control
to the receiver and then to the transmitter, status information is
also transmitted upstream, providing the user with enhanced control
in comparison with conventional systems.
[0044] Utilizing the system illustrated in FIG. 2, users can enjoy
multimedia content after minimal setup requiring little technical
know-how. The system includes one or more of the following features
and benefits: (1) no cables between the TV and the computer; (2) no
need for wireless network setup or configuration by the user; (3)
no complex software installation or online setup; (4) no long
delays, video download, or general "wait time;" and/or (5)
completely secure (e.g., no one else can view personal videos).
Once the system is operational, in some embodiments, the user can
access some or all of the videos, movies, and/or photos stored on
their computer, as well as online content accessible through the
Internet. Using the remote control, users can easily play back
videos on their TV as well as potentially interact with the
computer, opening up many possibilities for future features and
services.
[0045] The system illustrated in FIG. 2 can be characterized by a
number of technical specifications. The following specifications
are not intended to limit the scope of embodiments of the present
invention but merely to provide an example of system specifications
for a particular embodiment. Specifications for the overall system
are provided in Table 1, specifications for the receiver are
provided in Table 2, specifications for the transmitter are
provided in Table 3, and specifications for the remote control are
provided in Table 4.
TABLE-US-00001 TABLE 1 Feature Specification Wireless Range Up to
200 ft with clear line of sight with up to 50 ft reduction per wall
(construction material dependent) Wireless Bandwidth 12 Mbits/sec
Wireless Security Proprietary streams; No access to computer
through transmitter Wireless Compliance with FCC and WiFi
requirements Interference Pairing Pre-pairing of receiver,
transmitter, and remote control as a component of the manufacturing
process Response Durations No longer than 3 seconds of latency for
starting playback on the display device; Minimal latency for
selection/navigation, preferably less than 1/10th of a second;
Pause and continue playing - nearly instantaneous; Skip
next/previous - up to 3 seconds; Enter new folder (populate one
screen's worth of thumbnails) - nearly instantaneous; Display a
screen's worth of folder names -- nearly instantaneous; Boot time
for receiver - up to 10 seconds; Initial sync or re-sync between
transmitter and receiver - nearly instantaneous feedback that
syncing is underway, syncing complete within 5 seconds.
Localization Country specific Co-existence Multiple systems can
co-exist within range of each other; no cross-talk between systems
Updates Software and firmware update process similar to Flip
camcorder products; Receiver updates are sent remotely via wireless
connection; Remote control and transmitter are not anticipated to
require firmware upgrades Video Pass-through Overlay of graphics on
video passed through receiver; Notification of newly arrived videos
Video Controls Play; Pause; Fast Forward; Rewind; Skip next/
previous Out-of-the-box user Components can be connected in any
order; experience On-screen guide (PC or TV) to assist with setup
and/or troubleshooting; Signal strength indicator on receiver
and/or shown graphically as a signal meter on the TV and/or PC as
part of setup and troubleshooting
TABLE-US-00002 TABLE 2 Feature Specification Inputs Optional HDMI;
Optional RCA Composite Video + Stereo Audio; Power Outputs HDMI;
RCA Composite Video + Stereo Audio; Optional DVI Optional Pass- RCA
Composite Video + Stereo Audio pass-through; through HDMI
pass-through; Pass-through functionality is active when receiver is
not in use Display NTSC: 720 .times. 480 interlaced, 30 fps; PAL:
720 .times. 576 Resolution interlaced, 25 fps; HDMI (US): 1280
.times. 720 progressive, 30 fps; HDMI (EU): 1280 .times. 720
progressive, 25 fps TV Standards NTSC; PAL Status LED(s) OK
(Wireless connection; Acceptable bandwidth); Reduced Bandwidth;
(Wireless connection; Bandwidth lower than specification); No
connection (No wireless connection); Power indicator File Format
640 .times. 480, 30 fps MPEG-4 AVI; 640 .times. 480, 30 fps
Playback MPEG-4 AVI; 1280 .times. 720, 30 fps H.264 MP4; 640
.times. Compatibility 480, 30 fps H.264 MP4; 480 .times. 360 H.264
MP4; 480 .times. 270 H.264 MP4; 1280 .times. 720, 30 fps H.264 MP4;
640 .times. 480, 30 fps H.264 MP4 Boot Time Less than 10 seconds
Playback Mode Pause/Play/Previous Clip/Next Clip/Exit; Ability to
mark favorites Screen Saver Plays videos with no audio
TABLE-US-00003 TABLE 3 Feature Specification Range Non-line of
sight (RF); Up to 50 ft Battery Life More than 1 year Battery
Indicator Notification to receiver when batteries are low Buttons
Up/Down/Left/Right; Select/Enter Universal Compatibility
Programmable into universal remote controls Find my Remote
Activated through software on computer; Beeps beeper in remote
TABLE-US-00004 TABLE 4 Feature Specification Interface USB 2.0
Power USB bus power Co-existence Can co-exist with Flip camcorder
Storage 256 MB capacity; Pre-loaded with software
[0046] FIG. 3 is a simplified schematic diagram of a receiver 110,
according to an embodiment of the present invention. The receiver
110 includes a power connector 310 configured to receive power from
a power supply, such as a 110-volt electric supply. In one
embodiment, a power port 111 on the side of the receiver 110, as
illustrated in FIG. 1, is utilized as the power connector 310. The
receiver 110 also includes processor 330 and transceiver 350, which
is coupled to antenna 352. The transceiver 350 is operable to
provide two-way communications with a matched transceiver in the
transmitter 120. In some embodiments, the receiver 110 provides for
two-way communications. However, since the dominant operation of
the receiver is receiving video content transmitted by the
transmitter 120, the nomenclature of "receiver" is used herein to
describe this component of the communications system.
[0047] The receiver 110 includes one or more audio outputs 370 and
one or more video outputs 372. The audio outputs 370 provide an
audio signal to a display device, such as a television. The video
outputs 372 provide a video signal to the display device. A wide
variety of audio and video outputs are included within the scope of
embodiments of the present invention. For example, the audio and
video outputs can be combined in an HDMI output configured to
connect to an HDMI cable. Since HDMI cables carry both audio and
video signals, only a single cable is needed to couple the receiver
110 to the display device. In other applications, RCA component
video outputs, optical-fiber based outputs, composite video
outputs, S-Video outputs, or the like are utilized. One of ordinary
skill in the art would recognize many variations, modifications,
and alternatives.
[0048] Optional audio inputs 380 and video inputs 382 are
illustrated in FIG. 3. These optional inputs, which correspond to
optional HDMI input 116 and optional RCA inputs 118 illustrated in
FIG. 1, are utilized, in some embodiments, when the receiver 110 is
employed in a "pass-through" configuration. In a pass-through
configuration, audio and video signals from a device, such as a
set-top box, are provided to the audio in 380 and the video in 382,
respectively, of the receiver 110, which then pass these signals to
the audio out 370 and the video out 372, respectively, in a first
mode of operation. Alternatively, when video content from the
transmitter 120 is received by the transceiver 350, the signal
passed to the audio and video out is changed to display the video
content received through the wireless connection on the display
device. In some embodiments, this is a second mode of operation.
Thus, in configurations where the number of inputs to the display
device is limited, only a single input or cable is needed to
display content from either the other device or from the
transmitter 120. The mechanism for transitioning from one input
signal to another may depend on the particular application and
should not be understood to limit embodiments of the present
invention. For example, the receiver may include non-volatile
memory 320 used to store settings and the like. In a particular
embodiment of the present invention, the receiver 110 may be
integrated into the display device, thus further reducing
complexity and the need of providing a cable between the receiver
110 and the display device.
[0049] FIG. 4 is a simplified schematic diagram of a transmitter
120, according to an embodiment of the present invention. The
transmitter 120 includes a USB connector 410 connected to processor
430. Although the USB connector 410 is illustrated in FIG. 4, the
USB connector 410 is not required by embodiments of the present
invention and other suitable communications protocols and standards
can be utilized by other embodiments of the present invention. The
ubiquity of the USB standard and the availability of USB ports,
either on the computer or on a USB extender connected to the
computer, make the use of a USB connection a suitable connector for
embodiments of the present invention. The transmitter 120 also
includes transceiver 450 and antenna 452, providing for two-way
communications with the receiver 110 paired with the transmitter
120. In some embodiments, the transceiver 450 and antenna 452
provide for two-way communications. However, since the dominant
operation of the transmitter 120 is transmitting video content to
the receiver 110, the nomenclature of "transmitter" is used to
describe this component of the communications system.
[0050] In some embodiments, when the transmitter 120 is coupled to
computer 220 for the first time, the transmitter 120 may identify
itself to the computer 220 as a mass storage device, such as a
removable disk drive. In one embodiment, for instance, after the
transmitter 120 is coupled to the computer 220, the transmitter 120
may identify itself as a removable disk drive to an operating
system executing on the computer 220. The operating system can then
treat the internal non-volatile memory 420 of the transmitter 120
like any other removable disk. This behavior is similar to the
behavior discussed in relation to the camcorder described in U.S.
patent application Ser. No. 11/497,039, filed on Jul. 31, 2006, the
disclosure of which is hereby incorporated herein by reference in
its entirety for all purposes.
[0051] In one embodiment, a resident software application is stored
in the non-volatile memory 420 of the transmitter 120. When a
connection between the transmitter 120 and the computer 220 is
detected by the computer 220, an operating system executing on the
computer may automatically execute the resident software
application. For example, a Windows.RTM. operating system may be
configured to check the contents of the non-volatile memory of the
transmitter for an "autoplay.inf" file upon detecting a connection
between the transmitter and the computer. The "autoplay.inf" file
then directs the operating system to the resident software
application, which is stored in the non-volatile memory 420 of the
transmitter 120. The operating system of the computer 220 then
executes the resident software application.
[0052] In some embodiments, upon execution, the resident software
application may check the computer 220 to determine whether
required software components are available on the computer 220, and
then install the software components in the computer 220 when the
software components are not available on the computer 220. If
appropriate software is already installed on the computer 220, then
the resident software application may check the installed software
to determine if the software is a current version and then update
the computer, if needed. For example, the resident software
application may determine whether certain compression/decompression
algorithms (codecs) are available on the computer 220. If the
resident software application determines that the codecs are not
available on the computer 220, the resident software application
may then automatically install the codecs on the computer 220
without additional user intervention. In other embodiments, the
resident software application may wait for verification from a user
before installing the software components. The resident software
application may also install other software components such as
software libraries or application files. The resident software, in
one embodiment, may also cause data to be written to memory in the
computer 220 for tracking purposes. For instance, the resident
software may add entries or keys to the registry of a computer 220
running the Windows.RTM. operating system so that upon a subsequent
connection to the same computer 220, the resident software
application can simply check the registry entries or keys to
determine which codecs or software components were previously
installed. In still further embodiments, if the version of the
resident software application stored in the non-volatile memory 420
is older than the version of the software application installed on
the computer, then the resident software application stored in the
non-volatile memory 420 may be over-written to update the software
stored in the non-volatile memory 420 to the most recent
version.
[0053] In one embodiment, the resident software application may
produce a graphical user interface (GUI) on a display associated
with the computer 220. The GUI may present a user with graphical
controls to help the user to perform various tasks. Such tasks may
include playing digital video footage present on the computer 220,
and the like.
[0054] As described above, in some embodiments, during an initial
connection, the transmitter 120 may identify itself to the computer
220 as a mass storage device and a resident software application
present on the transmitter 120 may be used to install software on
the computer 220. After completion of these tasks, the transmitter
120 may modify its own operation to function as a transmitter 120
of video footage. This dual-purpose use of transmitter 120 differs
from conventional systems in which pluggable devices serve only one
of the two roles.
[0055] In one embodiment, the processor 430 and switch 460 are
operable to convert the use of the transmitter 120 from a mass
storage device, as described above, to a wireless transceiver.
Logic stored in the non-volatile memory 420 may be utilized in
making this switch from the first state of operation (e.g., mass
storage device mode) to the second state of operation (e.g.,
wireless transceiver mode). In an embodiment, after installation of
the software on the computer 220, the transmitter 120 may "eject"
itself, ceasing to function as a mass storage device, and may begin
operation as a wireless transceiver in communication with receiver
110.
[0056] It should be noted that, in some embodiments, the
transmitter 120 includes not only the functionality of switching
from a mass storage device to a wireless transceiver, but also the
functionality of switching back to a mass storage device as
appropriate. For example, if after use with a first computer, the
transmitter is moved to another computer, then the transmitter may
repeat the processes described above, acting as a mass storage
device, determining if appropriate software is installed,
installing and/or updating the software if needed, and/or then
switching into the wireless transceiver mode.
[0057] FIG. 5 is a flow diagram of method steps for operating a
communications system, according to an embodiment of the present
invention. The method 500 includes establishing a connection
between a receiver and a display device (510). The receiver
includes a first wireless transceiver, a video output, and an audio
output. An exemplary receiver is illustrated as receiver 110 in
FIG. 1 in which the video and audio outputs can be combined as an
HDMI connector or kept separate in the form of component RCA
video/audio outputs. In some embodiments, as described in relation
to FIG. 1, the receiver provides for two-way communications.
However, since the dominant operation of the receiver is receiving
video content from the transmitter 120, the nomenclature of
"receiver" is used to describe this component of the communications
system. An example of a display device is a television.
Establishing the connection between the receiver and the display
device may take the form of connecting the two devices using one or
more cables, for example, an HDMI cable.
[0058] The method 500 also includes establishing a connection
between a transmitter and a computer (512). The transmitter
includes a second wireless transceiver and a memory. An exemplary
transmitter is transmitter 120 with USB connector 122 (i.e., a USB
dongle) illustrated in FIG. 1. The transmitter is operable to
operate in a first mode and a second mode. In some embodiments, as
discussed in relation to FIG. 1, the transmitter provides for
two-way communications. However, since the dominant operation of
the transmitter is transmitting video content to the receiver 110,
the nomenclature of "transmitter" is used to describe this
component of the communications system.
[0059] The transmitter initially operates in a first mode
associated with a mass storage device. Thus, when the transmitter
is connected to the computer, for example, by plugging the USB
connector of the transmitter into a USB port on the computer, the
transmitter appears or is registered as a mass storage device in
the operating system. In some embodiments, software stored on the
memory of the transmitter can be uploaded and installed on the
computer while the transmitter is operating in the first mode
(514). This feature of the transmitter enables for distribution of
desired software for use in conjunction with embodiments of the
invention.
[0060] The method 500 also includes an optional process of
modifying a state of the transmitter (516) from a first state to a
second state. In the second state, the second wireless transceiver
is activated and the mass storage device characteristics of the
transmitter are turned off. This can be considered as dismounting
or ejecting the mass storage device from the computer. Although the
transmitter is not physically disconnected from the computer, the
transmitter ceases to appear as a mass storage device in the
operating system of the computer. This "ejection" operation is
similar to ejecting a mass storage device through operating system
commands, at which point the mass storage device ceases to be
listed as an available disk. In alternative embodiments, the
transmitter continues to be displayed as a mass storage device.
[0061] The method further includes transmitting the video content
from the transmitter to the receiver while operating in the second
mode (518). The second mode of operation continues while the
transmitter is connected to the computer. The video content can be
displayed on the display device (520) as an optional process.
[0062] As illustrated in FIG. 1, a remote control 130 is provided
in some embodiments of the present invention. In these embodiments,
the method 500 can include transmitting one or more control signals
from the remote control to the receiver. In turn, the one or more
control signals, some subset of the control signals, or additional
control signals based on the one or more control signals, can be
transmitted from the receiver to the transmitter. Thus, user
control over software executing on the receiver or executing on the
computer can be provided by use of the remote control. In
alternative embodiments, the software application executing on the
computer may be configured to allow the user to control the
transmitter and/or receiver from the computer. For example, the
user may cause a video to be displayed on the display device
coupled to the receiver, which is in communication with the
transmitter, by selecting the video from the software application
executing on the computer.
[0063] It should be appreciated that the specific steps illustrated
in FIG. 5 provide a particular method of transmitting video content
according to an embodiment of the present invention. Other
sequences of steps may also be performed according to alternative
embodiments. For example, alternative embodiments of the present
invention may perform the steps outlined above in a different
order. Moreover, the individual steps illustrated in FIG. 5 may
include multiple sub-steps that may be performed in various
sequences as appropriate to the individual step. Furthermore, steps
may be added or removed depending on the particular applications.
One of ordinary skill in the art would recognize many variations,
modifications, and alternatives.
Generating Network Parameters
[0064] As described herein, embodiments of the invention provide a
communication system where a transmitter coupled to a computer can
communicate with a receiver coupled to a display device to playback
media items on the display device. As also described herein,
embodiments of the invention provide for "pre-pairing" the receiver
and the transmitter during the manufacturing process and/or before
delivery to the end-user. One advantage of embodiments of the
invention is that no user input is required to configure the
network connection between the transmitter and the receiver.
Additionally, embodiments of the invention provide the pre-pairing
of the transmitter and the receiver in a manner that is both unique
and re-createable.
[0065] FIG. 6 is a flow diagram of method steps for generating
network parameters, according to an embodiment of the present
invention. Persons skilled in the art will understand that, even
though the method 600 is described in conjunction with the systems
of FIGS. 1-4, any system configured to perform the steps of the
method 600 illustrated in FIG. 6, in any order, is within the scope
of the invention.
[0066] As shown, the method 600 begins at step 602, where a
processor receives a unique identifier associated with a receiver.
In one embodiment, the unique identifier is a serial number for the
receiver. In one embodiment, the processor performing the steps of
the method 600 is included in a computer operated by a manufacturer
of the transmitter and the receiver. In alternative embodiments,
the processor may be included in a computer operated by another
entity in the supply chain that configures the network parameters
of the transmitter and the receiver. In various embodiments, the
serial number may include letters, numbers, and/or other
characters. According to embodiments of the invention, each
receiver made by the manufacturer has a unique serial number.
[0067] At step 604, the processor receives a first encryption
value. The first encryption value, also known in cryptography as a
"salt," is used as part of a cryptographic algorithm. In one
embodiment, the first encryption value is a 128-bit value. At step
606, the processor calculates a hash of the serial number and the
first encryption value. In some embodiments, a hash value is
calculated by performing a hashing function using the sum of the
serial number and the first encryption value as input to the
hashing function. For example, the a Secure Hashing Algorithm
(SHA), such as the SHA1 hash algorithm, may be used to compute the
hash value. In other embodiments, the MD5 (Message-Digest algorithm
5) is used to computer the hash value. Additionally, in some
embodiments, the result of the hash algorithm is a 160-bit value
(e.g., when using SHA1) or a 128-bit value (e.g., when using
MD5).
[0068] At step 608, the processor generates a SSID (Service Set
identifier) based on the hash of the serial number and the first
encryption value. As known, a SSID identifies an 802.11-based
network. In one embodiment, the SSID has a maximum length of
thirty-two (32) characters, and performing step 608 comprises
mapping the 160-bit value to 32 characters or less. Mapping the
160-bit value to 32 characters or less may include calculating the
logarithm of the 160-bit value with base N. In one embodiment, N
comprises sixty-two (62), i.e., calculating "base-62 of the 160-bit
value." In this embodiment, each of the sixty-two (62) encoding
values may correspond to one of twenty-six (26) lower-case
alphabetic characters (i.e., "a" through "z"), twenty-six (26)
upper-case alphabetic characters (i.e., "A" through "Z"), or ten
(10) digits (i.e., 0 through 9). For example, calculating 160 bits
base-62 may result in a twenty-nine (29) character alpha-numeric
result. This result may be used as the SSID in configuring the
network connection for the receiver-transmitter pairing. At step
610, the processor encrypts the SSID. Various encryption techniques
may be used to encrypt the SSID. In some embodiments, the SSID
remains unencrypted and step 610 is omitted.
[0069] At step 612, the processor stores the SSID in the
non-volatile memory of the transmitter. When the transmitter is
plugged-in to a computer by an end-user, software executing on the
computer and/or on the transmitter can configure the network
connection between the transmitter and the receiver without
requiring user input by reading the SSID from the non-volatile
memory.
[0070] Additionally, the method 600 described in FIG. 6 may be used
to generate a network password for the network connection. In some
embodiments, a second encryption value that is different from the
first encryption value may be used to generate the network
password. In alternative embodiments, the first and second
encryption values are the same. The hash function may calculate the
hash of the sum of the serial number and the second encryption
value. Calculating base-62 of the hashed result provides a network
password that may be associated with the SSID. Additionally, the
network password may be optionally encrypted, and is stored in the
non-volatile memory of the transmitter. In one embodiment, the
network password is created in compliance with the WPA2 (Wi-Fi
Protected Access 2) security protocol. In alternative embodiments,
the network password is created in compliance with any other
security protocol.
[0071] Advantageously, embodiments of the invention provide network
parameters (i.e., the SSID and the network password) that are both
unique and re-createable. Uniqueness is preserved by generating the
SSID before delivery to the user, thereby eliminating the
possibility of a first user manually creating an SSID that is the
same as another SSID manually created by a second user within close
proximity to the first user. Moreover, the network parameters are
re-createable. For example, a user may accidentally damage or
misplace either the transmitter or receiver. The user could then
contact a customer service department for the communication system
and provide the serial number of the receiver to the customer
service department. Since the transmitter and receiver were
pre-paired during manufacturing, the manufacturer (or another
entity in the supply chain) has access to the first and/or second
encryption values. Once the serial number is provided by the user,
the manufacturer can re-generate the SSID and/or network password
from the serial number and replace the receiver or the transmitter,
without having to replace both. Additionally, the SSID and network
password would remain the same as in the original communication
system purchased by the user.
Configuring the Network Connection
[0072] As described above, the end-user may purchase the
transmitter and receiver as a pair. When the transmitter is coupled
to a computer, software components executing on the computer are
operable to configure the network connection between the
transmitter and the receiver based on the SSID and the network
password stored in the non-volatile memory of the transmitter. In
one embodiment, the network is an IP (Internet Protocol) network,
where each client device (i.e., each transmitter) includes a unique
IP address.
[0073] In one embodiment, the receiver executes a DHCP (Dynamic
Host Configuration Protocol) server as part of an embedded system
included in the receiver. For example, the receiver may include a
memory and a processor, where the memory stores an operating system
that is executed by the processor. The operating system may include
a DHCP server that maintains a list of IP addresses and is
configured to assign IP addresses to one or more client devices
(i.e., transmitters) in communication with the receiver.
[0074] FIG. 7 is a flow diagram of method steps for establishing a
network connection between a transmitter and a receiver, according
to an embodiment of the present invention. Persons skilled in the
art will understand that, even though the method 700 is described
in conjunction with the systems of FIGS. 1-4, any system configured
to perform the steps of the method 700 illustrated in FIG. 7, in
any order, is within the scope of the invention.
[0075] As shown, the method 700 begins at step 702, where a
transmitter broadcasts a DHCP request. At step 704, the receiver
executing a DHCP server receives the DHCP request that is broadcast
by the transmitter. At step 706, the receiver generates and/or
assigns an IP address to the transmitter from a list of available
IP addresses. At step 708, the receiver responds to the transmitter
with the IP address.
[0076] At step 710, the transmitter receives the IP address from
the receiver. At step 712, the transmitter stores the IP address in
a memory included in the transmitter. In various embodiments, the
receiver also stores the IP address assigned to the transmitter in
a memory included in the receiver. In this manner, the receiver is
able to communicate with the transmitter based on the IP
address.
[0077] Additionally, in various embodiments, two or more receivers
may be in communication with a single transmitter. In these
embodiments, each of the two or more receivers would be executing a
DHCP server and would independently assign an IP address to the
transmitter. Moreover, in alternative embodiments, a single
receiver may be in communication with two or more transmitters.
Accordingly, the single receiver would assign a different IP
address to each transmitter. In still further embodiments, a first
receiver and a first transmitter may be in communication with one
another, and a second receiver and a second transmitter may be in
communication with one another, where the first transmitter and the
second transmitter are both coupled to the same computer. Since
each of the first and second receivers execute its own DHCP server,
conflicts are avoided.
[0078] Advantageously, since the DHCP server is executed by the
receiver, instead of by the transmitter or by the computer to which
the transmitter is coupled, operating system neutrality is
achieved. According to embodiments of the invention, the receiver
is configured to assign IP addresses to the transmitter without any
information about what type of operating system (e.g.,
Windows.RTM., Mac.RTM., UNIX, or other) is executing on the
computer to which the transmitter is coupled. Providing operating
system neutrality provides for simpler engineering implementation
of the communication system and for compatibility with new
operating systems that have not yet been created.
Accessing Content Over the Network Connection
[0079] As described above, embodiments of the invention provide a
communication system that allows a user to playback media items on
the display device via the receiver and transmitter. In some
embodiments, the communication system also includes a remote
control in communication with the receiver. In one embodiment, the
remote control is paired with the receiver in the same manner as
the transmitter is paired with the receiver. In alternative
embodiments, the remote control is paired with the receiver in any
technically feasible manner.
[0080] FIG. 8 is a flow diagram of method steps for transmitting
data between a transmitter and a receiver, according to an
embodiment of the present invention. Persons skilled in the art
will understand that, even though the method 800 is described in
conjunction with the systems of FIGS. 1-4, any system configured to
perform the steps of the method 800 illustrated in FIG. 8, in any
order, is within the scope of the invention.
[0081] As shown, the method 800 begins at step 802, where a
receiver receives a user request to play a media item. In one
embodiment, as described above, the receiver may receive a signal
transmitted from the remote control that indicates that a selected
media item should be played on the display device coupled to the
receiver. In alternative embodiments, the user request may
originate at the computer coupled to the transmitter, and may be
received by the receiver from the transmitter.
[0082] At step 804, the receiver transmits a request to an IP
address associated with the transmitter for the media item. In one
embodiment, the IP address is assigned to the transmitter by the
DHCP server executing on the receiver, as described in FIG. 7. In
one embodiment, the IP address is a link-local address that
provides a point-to-point communication link between the receiver
and the transmitter, without providing the ability for the receiver
to access the WAN (wide area network), LAN (local area network), or
Internet to which the computer coupled to the transmitter has
access.
[0083] At step 806, the transmitter communicates with a web server
executing in software on the computer system coupled to the
transmitter. In one embodiment, the communication protocol between
the transmitter and the web server is a HTTP (Hypertext Transfer
Protocol) protocol, where the transmitter transmits HTTP requests
to the web server and the web server responds to the HTTP requests
with data. At step 808, the transmitter receives a media item to be
played from the web server in response to the request from the
transmitter to the web server. In one embodiment, the request is an
HTTP request for a particular byte range of the media item, and the
web server is configured to return the byte range of the media item
in the request. In some embodiments, the media item, or the portion
of the media item associated with the byte range request, is stored
locally on the computer executing the web server. In these
embodiments, the web server simply returns the data requested. In
other embodiments, the media item, or the portion of the media item
associated with the byte range request, is not stored locally on
the computer executing the web server and is stored on remote
computer system or server. In these embodiments, the web server
executing on the computer is configured to retrieve the data being
requested from the remote server and cache a local copy of the
media item on the computer executing the web server. In some
embodiments, the web server executing on the computer is configured
to pre-fetch content that the web server anticipates will be
requested based on heuristics. Additionally, in some embodiments,
once remote content has been cached locally on the computer in
response to a request, if the same data is requested in a
subsequent request, then the web server is configured to recognize
that the data is already cached locally and does not retrieve the
remote content again.
[0084] At step 810, the transmitter transmits the media item, or
the portion of the media item associated with the byte range
request, to the receiver for playback on the display device coupled
to the receiver.
[0085] Advantageously, embodiments of the invention provide a
secure "closed system," which is no less secure than the user's
Internet connection. Even though the receiver and the transmitter
communicate with one another wirelessly, the connection may be a
point-to-point link-local connection where there is no routing
entry to allow the receiver to access the WAN.
[0086] Various embodiments of the invention may be implemented as a
program product for use with a computer system. The program(s) of
the program product define functions of the embodiments (including
the methods described herein) and can be contained on a variety of
computer-readable storage media. Illustrative computer-readable
storage media include, but are not limited to: (i) non-writable
storage media (e.g., read-only memory devices within a computer
such as CD-ROM disks readable by a CD-ROM drive, flash memory, ROM
chips or any type of solid-state non-volatile semiconductor memory)
on which information is permanently stored; and (ii) writable
storage media (e.g., floppy disks within a diskette drive or
hard-disk drive or any type of solid-state random-access
semiconductor memory) on which alterable information is stored.
[0087] It is also understood that the examples and embodiments
described herein are for illustrative purposes only and that
various modifications or changes in light thereof will be suggested
to persons skilled in the art and are to be included within the
spirit and purview of this application and scope of the appended
claims.
* * * * *