The present disclosure is generally related to home entertainment systems, and more particularly, to self-configuring media players configured to automatically discover and couple to a hub device.
A home entertainment system may include a network configured to couple one or more media players with a hub device such that the media player(s) and the hub device are in communication over the network. The hub device may include, for example, a digital video recorder (DVR), and may have access to media content, such as movies, audio data, television data, other data, or any combination thereof. The media player(s) may communicate with the hub device through the network to retrieve media content and to play or reproduce the media content at a display device.
In some embodiments, a method may include automatically detecting a media server coupled to a network using a controller of a media player. The method may also include automatically mapping a shared volume of the media server to a local drive letter at the media player in response to detecting the media server.
In some embodiments, a media player may include a first interface configured to communicate with a network and a controller coupled to the first interface. The controller may be configured to automatically detect a hub device through the network and to automatically map a shared volume of the hub device to a local drive mapping in response to detecting the media server.
In still other embodiments, a data storage device, data storage medium, or computer-readable device may include instructions that, when executed by a controller of a media player, cause the media player to automatically detect a media server coupled to a network. The instructions may further cause the media player to automatically map a shared volume of the media server to a local drive letter at the media player in response to detecting the media server.
In the various figures, reference numerals may be reused to indicate the same or similar elements in the various embodiments.
In the following detailed description of embodiments, reference is made to the accompanying drawings which form a part hereof, and which are shown by way of illustrations. Features of various described embodiments may be combined, other embodiments may be utilized, and structural changes may be made without departing from the scope of the present disclosure. Also, features of the various embodiments and examples herein can be combined, exchanged, or removed without departing from the scope of the present disclosure.
In accordance with various embodiments, the methods and functions described herein may be implemented as one or more software programs, which may be executed by a processor. In some embodiments, the methods and operations may be implemented by a circuit, such as a field programmable gate array (FPGA), a controller, or any combination thereof. Dedicated hardware implementations including, but not limited to, application specific integrated circuits, programmable logic arrays, and other hardware devices can likewise be constructed to implement the methods and functions described herein. Further, the methods described herein may be implemented as a device, such as a computer readable storage medium or memory device, including instructions that when executed cause a processor to perform the methods.
Embodiments of devices, systems, and methods are described below that may include a self-configuring media player configured to automatically connect to a media content server on a network and to provide an interface through which a user may selectively play one or more media files from the media content server. In some embodiments, the media content server may store movies, television programs, images, music, and other data and may stream selected content to the media player in response to a request. In some embodiments, when the media player is coupled to a network and activated, the media player may perform a detection operation to detect a server device (such as a hub device). When the media player detects the server device, the media player may automatically mount a shared volume from the server device and, in some embodiments, may also register itself with the server device. One possible example of a system including one or more media players configured to self-register is described below with respect to
When coupled to a network to which a hub device is already coupled, a media player may automatically discover and mount a volume of the media server, at 101. In some embodiments, the media player may scan the network for the hub device, such as by sending queries to one or more devices coupled to the network. In some embodiments, the media player may ping multiple Internet Protocol (IP) addresses associated with the network, and may send a query to each IP address to attempt to identify the hub device. In some embodiments, the media player may detect the hub device based on a response to the query. In some embodiments, in response to detecting the hub device, the media player may mount a shared volume of the hub device by mapping the shared volume to a local drive.
At 102, the media player updates its media library database with data from a media database located on the hub device. In some embodiments, the media player may store a list of available media content in its media library database, which may be used to provide an electronic program guide to a display from which a user may select particular media content for playback.
At 103, the media player then self-configures, utilizing information found from the network identification and scan, updating web links (in its browser interface) to point to hub device services and updating local configuration files to include the hub device address information. In some embodiments, this self-configuration may be part of the automatic discovery and mounting of the volume described above at 101.
Once successfully configured, the media player checks to see if its name or other identification is listed in the hub device's configuration index database, at 104. The hub device's configuration index database may be accessible through the mounted volume. In some embodiments, the configuration index database may be a flat file, such as a text file, which may store a list of registered devices. If the media player determines that its identifier is not in the list, the media player may write its configuration data to the configuration index database.
The media player may be configured to perform a self-configuration operation, making the device plug-and-play with respect to a media content network. This self-configuring media player makes it possible for non-technical users to easily add the media player to an established home entertainment system with minimal guidance or technical ability, saving valuable time and effort by automating the set-up process.
Embodiments of a home entertainment system are described below that may include a device, such as the above-described media player, which may be configured to automatically configure itself, and to automatically register itself with a hub device of the home entertainment system through a network. The media player may automatically configure itself, for example, by detecting the hub device over the network, automatically determining media content stored by the hub device, and automatically mounting a network drive at the media player that is mapped to a shared volume that stores the media content. Further, in certain embodiments, the media player may automatically register itself with the hub device, if, for example, the media player is not yet registered with the hub device. One possible example of a system including a self-configuring media player is described below with respect to
The system 200 may further include an Internet Protocol (IP) address server 230 coupled to the network 215. The home entertainment system 200 may further include a database 225 coupled to the hub device 220. In some embodiments, the hub device 220 includes the database 225. Additionally, the home entertainment system 200 may include a modem 235 configured to couple one or more of the hub 220, the media players 210, or any combination thereof to a wide area network, such as the Internet. In some embodiments, the IP address server 230 may be part of the modem 235.
The database 225 may store media content, such as audio data, movie data, television data, image data, text data, other data, or any combination thereof. While a single database 225 is shown in
In some embodiments, upon installation, the media player 210 may be configured to automatically detect the hub device 220 and to automatically map a shared volume of the hub device to a local drive letter, mounting the network drive for access to data stored at that location of the hub device 220 (such as media content from the database 225). The media player 210 may automatically register itself with the hub device 220, by checking a configuration index at the hub device 220 to see if an identifier associated with the media player 210 is in the configuration index. If the identifier is missing from the configuration index, the media player 210 may add identifier information to the configuration index to register itself with the hub device 220. This self-configuration by the media player may eliminate the need for manual configuration of the media player 210 with the hub device 220.
In an example embodiment, when a media player 210 is coupled to the network 215, the media player 210 may acquire an IP address from the IP address server 230. Once the media player 210 is coupled to the network 215, the media player 210 may sweep or scan network addresses of devices coupled to the network 215 to detect the hub device 220. To scan, the media player 210 may send queries to IP addresses of the network 215 and may monitor the responses to detect a hub device 220 network. The network scan or sweep performed by the added media player 210 allows the media player 210 to detect the hub device 220 on the network 215 without the need for a user to manually program the (network) address of the hub device 220 into the media player 210, thereby automating installation and interoperability of the media player 210 with the home entertainment system 200.
In response to detecting the hub device 220, the media player 210 may automatically determine a shared volume of the hub device and may map the shared volume to a local drive letter of the media player to mount the shared volume. The media player 210 may then access the mounted volume to determine available media content. Further, the media player may check a list of registered devices that is maintained by the hub device 220 and that may be accessible via the shared volume to determine if it is already registered with the hub device 220. If the media player 210 is not already registered with the hub device 220, the media player 210 may register itself with the hub device 220 by writing an identifier and optionally other information into the list. Registration of the media player 210 with the hub device 220 may be subject to an authentication process performed by the hub device 220. By automatically mounting the shared volume and by automatically registering itself with the hub device 220, the media player 210 may reduce or eliminate manual programming of the media player 210 and the hub device 220, thereby automating installation and interoperability of the media player 210 with the home entertainment system 200.
Referring now to
The database 225 may include media content, which media players may access and reproduce. The media content may include audio data 225A, movie data 225B, television data 225C, and other data 225D. The database(s) 225 may be coupled to the controller 310. The hub device 220 may be configured to receive a request for media content from a media player 210, to retrieve the media content corresponding to the request from the database 225, and to stream the media content to the media player 210, such that the media players 210 may access audio, movies, TV and other data for reproduction at a display associated with the media player 210.
According to some embodiments, the memory 320 may include a shared volumes list 322, a media player list 324, and an authentication routine 326. The shared volumes list 322 may include information about the database(s) 225 and the media content stored in the database(s) 225. The media player list 324 may include identifiers corresponding to media players 210 registered with the hub device 220. The authentication routine 326 may include a routine executable by the controller 310 to authenticate a request from a media player 210.
The hub device 220 may receive a query from a media player 210 via the network 215. The query may correspond to a hub detection operation executed by the media player 210, and the query may include a request for a response from the hub device 220. In some embodiments, the hub device 220 may respond with a simple acknowledgment. In some embodiments, the hub device 220 may respond with network address and shared volume information.
In some embodiments, the hub device 220 may also receive a media query or valid network media shares test signal from the media player 210. In response to the test signal, the hub device 220 may send a media response indicating shared volumes or media shares available at the hub device 220, or other data, such as shared volumes data 322. The media response may also include link information for the services and libraries available through the hub device 220.
In some embodiments, the scan (detection) signal, the valid network media shares test signal, or both may include information about the requesting media player 210. In some embodiments, the controller 310 may utilize the authentication instructions 326 from the memory 320 to process the information to determine whether the media player 210 is authorized to access the media content in database(s) 225. The hub device 220 may communicate data related to those shared volumes to which the media player 210 has access, and may omit data related to the other volumes based on the authentication instructions 326.
Referring now to
In some embodiments, the controller 410 may receive input from the input interface 442. The controller 410 may utilize the received input to configure and control the media player 210.
According to some embodiments, the memory 420 may include a hub detection instructions 422 that, when executed, may cause the controller 410 to perform a detection operation to detect the hub device 220 through the network 215. The hub detection instructions 422 may cause the controller 410 to send one or more signals through the network 215 to one or more network addresses and to detect the hub device 220 based on a received response. The memory 420 may further include volume mapping instructions 424 that, when executed, cause the controller 410 to map a shared volume of the hub device 220 to a local drive of the media player 210. The memory 420 may further include registration instructions 428 that, when executed, cause the controller 410 to check a registered device list stored by the hub device 220 and to add information to the registered device list when the media player 210 is not identified in the registered device list.
When the media player 210 is coupled to the network 215 and powered on, the controller 410 may access the memory 420 and execute the hub detection instructions 422 to detect a hub device 220 coupled to the network 215. For example, running the hub detection instructions 422 may cause the controller 410 to send queries via the network interface 430 through the network 215 requesting a response from a hub device 220, and the media player 210 may detect a hub device on the network 215 based on received responses.
In response to receiving a response from the hub device 220, the controller 410 may access and run the volume mapping instructions 424 in the memory 420. The volume mapping instructions 424 may cause the media player 210 to communicate with the hub device 220 over the network 215 to map a shared volume of the hub device 220 to a local drive letter at the media player 210. In some embodiments, the volume mount routine 424, when executed, may cause the controller 410 to send a media query to the hub device 220 and to receive a media response indicating the media content supported or hosted by the hub device 220.
Referring now to
When the hub device 220 receives a detect query, the hub device 220 may respond, at 515. In some embodiments, the response may include information about the hub device 220, such as address information (media access control (MAC), IP address, subnet information, and so on), media content information, other information, or any combination thereof.
In response to receiving the detect response from the hub device 220, the media player 210 can send a media query to the hub device 220. In some embodiments, the media query may cause the hub device 220 respond with an indication of the media supported by the hub device 220. In some embodiments, the media query may ask the hub device for a list of shared volumes. In some embodiments, the media query may include authentication information, which may be used by the hub device 220 to determine which, if any, shared volumes may be accessed by the media player 210.
At 525, the hub device 220 may provide a media response to the media player 210. In some embodiments, the media response may include an indication of the media supported by the hub device 220. In some embodiments, the media response may include data identifying one or more databases including media content.
At 530, the media player 210 may map the shared volume of the hub device 220 to a local drive letter. In some embodiments, the media player 210 may access the shared volume of the hub device 220 via the local drive letter. At 535, the media player 210 may access the local drive letter to search a registration index stored at the hub device 220. In some embodiments, the media player may search the registration index for an identifier corresponding to the media player 210.
If the media player 210 is already registered in the registration index, the media player 210 may continue with its boot process. Otherwise, at 540, the media player 210 may perform a registration process. In some embodiments, the media player 210 may register itself with the hub device 220 by adding identifying information to the registration index. In some embodiments, the media player 210 may write an identifier corresponding to the media player 210 in the registration index of the hub device 220.
In some embodiments, a method may include automatically configuring a media player 210 based on network information and the at least one response associated with a hub device 220. Automatically configuring the media player 210 may include automatically updating one or more web links of a web browser interface of the media player 210 to correspond to services available at the media server (hub device 220), and automatically updating local configuration files of the media player 210 with address information corresponding to the media server (hub device 220). In some embodiments, the method may further include automatically checking to determine if configuration data associated with the media player 210 is included in a registration index of the media server (hub device 220), and when the configuration data is not included in the registration index, the method may include automatically writing data associated with the media player to the registration index.
In some embodiments, the media player 210 may include a first interface (such as a network interface) configured to communicate with a hub device 220 and may include a controller coupled to the first interface. In some embodiments, the controller of the media player 210 may be configured to automatically detect the hub device 220 via the first interface and automatically map a shared volume of the hub device 220 to a local drive mapping in response to the detection.
The method 600 may further include identifying one or more network addresses, at 602. In some embodiments, media player may receive a network address from an IP server and may determine or calculate a list of IP addresses of the network. The method 600 may also include sweeping or scanning the network addresses, at 603. In some embodiments, the process of sweeping or scanning the network addresses may include pinging, signaling, or otherwise communicating with the various IP addresses and monitoring responses to detect a hub device. In some embodiments, the responses may be analyzed by the media player and a hub device may be detected based on at least one of the responses.
At 604, if no response is received from a network address, the method 600 advances to 607 and the media player resets local initialization (INI) files and configuration (config) files and sets database file settings to default settings. The method 600 then proceeds to 613 to continue a boot process.
Otherwise, at 604, if a response is received, the method 600 proceeds to 605 and the responding device is tested for target shares. In an example, the media player may communicate with the responding device to determine if the responding device has shared volumes of media content. At 606, if no shares are found, the method 600 may advance to 607 and the local initialization (INI) files and the configuration (config) files may be reset, and the database file setting may be reset to default settings. The method 600 then proceeds to 613 to continue a boot process.
Otherwise, at 606, if target shares are found, the method 600 may proceed to 608 and the shares may be mounted. In some embodiments, the media player may mount the target shares by mapping each target share to a local drive letter. If multiple shared volumes are present, one or more of the shared volumes may be mounted locally. In some embodiments, the media player may have limited access, and only those shared volumes accessible to the particular media player (such as based on access permissions) may be mapped to a local drive, and others may be ignored. In some embodiments, a media player for a kid's room, for example, may have restricted access to media content, such as when adult content is stored in one shared volume while family friendly content is stored in another. In such an instance, the media player may map the shared volume containing the family friendly content.
At 609, the method 600 includes configuring the media player settings with the address of the hub device. In some embodiments, the media player may automatically update its server settings.
At 610, the method 600 may include updating links to the media server services and library of the hub device. In a particular example, the media player may update its links to the services and the libraries of the hub device. At 611, the method 600 may include checking to if a media player is named (identified) in a registration list or index. If not, the method 600 may include accessing the registration index and adding identifying information corresponding to the media player. In some embodiments, the identifying information may include a media access control identifier, an IP address, a device name, a serial number, another identifier, or any combination thereof. In some embodiments, the identifier may be unique to the media player as compared to other media players. The method 600 advances to 613 to continue the boot process. Otherwise, at 611, if the media player is already named in the registration index, the method 600 advances to 613 to continue the boot process.
In conjunction with the systems, devices, and methods described above with respect to
This disclosure is intended to cover any and all subsequent adaptations or variations of various embodiments. Combinations of the above examples, and other embodiments not specifically described herein, will be apparent to those of skill in the art upon reviewing the description. Additionally, the illustrations are merely representational and may not be drawn to scale. Certain proportions within the illustrations may be exaggerated, while other proportions may be reduced. Accordingly, the disclosure and the figures are to be regarded as illustrative and not restrictive.
The present disclosure claims priority to and is a non-provisional application of co-pending U.S. Provisional Patent Application No. 62/117,348, filed on Feb. 17, 2015, and entitled “A Method for Automated Configuration of Media Players and Media Server over a Switched Network”, which is incorporated herein by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
62117348 | Feb 2015 | US |