More and more content is available via the Internet. The content may be live content or may be prerecorded content. The content may be viewed on any device having an Internet connection and a display. The devices may range from stationary devices such as Internet enabled televisions or entertainment systems to portable devices such as cellular phones, tablet computers, lap top computers and portable media players. Many of the portable devices may be capable of connecting to the Internet either via a mobile network or via a local area network providing wireless communications, often referred to as a wireless network or a WiFi network. The WiFi network is connected to a broadband network and the broadband network connects to the Internet.
Regardless of the manner in which the wireless devices 160 connect to the content providers 110, for pre-recorded content the content may be downloaded to the wireless device 160 and stored thereon. The content may be then be played from storage so as to not have to stream in real time. However, all of the content need not be downloaded prior to playback. Rather after some initial content has been downloaded the content can be played while additional content is downloaded. The quality of the playback may vary based on the bandwidth that is available for, and the signal strength of, the network (e.g., mobile 130, wireless 150). If adaptive streaming is operational, the download bit rate may vary depending on the network bandwidth and signal strength and the quality and/or resolution of the content may vary according (e.g., low bandwidth and/or low signal strength equals low bit rate and accordingly low quality and/or low resolution).
When a WiFi network 150 is available, it is desirable to connect to the WiFi network 150 as the use of a WiFi network 150 and delivery network 140 is more cost effective than the mobile network 130. However, when a user is on the go and is not located within a known location the ability to connect to a WiFi network 150 may not be available and the only choice may be to connect via the mobile network 130. Accordingly, when a user is away from a WiFi network 150 and they want to view content the content is provided over the mobile network 130. When the user returns to where they can connect to the WiFi network 150, the wireless device may connect to the WiFi network 150 and the content may be provided therefrom.
However, the content download and playback on the WiFi network 150 depends on a number of factors including, but not limited to, available bandwidth, congestion on the network (e.g., how many devices are connected thereto), frequency bands supported (e.g., 2.4 GHz, 5 GHz). If the WiFi network 150 has available bandwidth and is not congested then when a wireless device 160 returns home and connects thereto, the playback quality may increase from that provided by the mobile network 130. However, if the WiFi network 150 is congested (many devices connected thereto) then the playback quality may actually decrease when the wireless device 160 connects to the WiFi network 150. In some situations, it is possible that the WiFi network 150 is so congested that the download and playback of content at that time may not be possible.
A method for utilizing a local area network to manage video playback on a wireless device associated with the local area network. The method includes receiving a message from the wireless device that includes information about content associated with the wireless device and a request for the local area network to download the content. The content is downloaded from a content provider offline via the local area network. The content is stored on a storage device connected to the local area network. A determination is made as to when the wireless device is connected to the local area network. The wireless device is provided access to the stored content.
A device to provide a wireless device an access point to a local area network and to manage video playback on the wireless device. The device includes a wireless interface to communicate with one or more wireless devices. A processor is communicatively coupled to a memory for storing network configuration information including network topology. A computer-readable storage medium to store instructions that when executed by the processor cause the processor to receive a message from the wireless device that includes information about content associated with the wireless device and a request for the local area network to download the content. The content is downloaded from a content provider offline via the local area network and stored on a storage device connected to the local area network. A determination is made as to when the wireless device is connected to the local area network. The wireless device is provided access to the stored content.
A system to manage video playback on a wireless device associated with a local area network. The system includes a mobile agent and a router agent. The mobile agent is to prepare a message including information about content associated with the wireless device, location of the wireless device and a request to download the content and send the message to the local area network. The router agent is to receive the message from the wireless device, download the content from a content provider offline, store the content on a storage device connected to the local area network, determine when the wireless device is connected to the local area network and provide the wireless device access to the stored content.
Various features of the embodiments described in the following detailed description can be more fully appreciated when considered with reference to the accompanying figures, wherein the same numbers refer to the same elements.
Providing communication and coordination between a wireless device and a wireless local area network (WiFi) network that the wireless device may connect to can ensure that content playback can occur on the WiFi network. Furthermore, the communications and coordination may ensure that the quality of the playback of content does not decrease when the wireless device connects to the WiFi network from a mobile network. The communications and coordination may include the wireless device sharing with an access point for the WiFi network the content that it is playing and/or is scheduled to be played on the wireless device. The WiFi network may utilize the information to download at least portions of the appropriate content in advance to avoid issues associated with congestion of the WiFi network.
In order for this communication to occur between the wireless device and the WiFi network (access point), the wireless device may include a mobile agent and the access point may include a router agent. The functions of the mobile agent and the router agent and the communications therebetween will be discussed in more detail below.
The video processor 230 may be to prepare audio video content for presentation on the wireless device 200. The video processor 230 may have to decompress the video content prior to presentation. The display 240 may be to present the content to the user, including the playback of video content. The GPS module 250 is to determine the location of the wireless device 200. The processor 260 is to control the operation of the mobile device 200 and execute processor executable instructions (e.g., software, apps). For example, the processor 260 may execute instructions that cause it to act as a mobile agent as will be discussed in more detail below. The memory 270 is to store the processor executable instructions and/or other data. The other data may include content that is to be displayed on the wireless device 200. The memory 270 may be located on the processor 260 and/or may be separate from the processor 260. The memory 270 storing the processor executable instructions may be processor readable memory so that the processor 260 can read and execute the processor executable instructions. The UI 280 may be to provide information to the subscriber and enable the subscriber to interact with the device 200. As one skilled in the art would recognize, the types of UIs 270 may vary greatly based on the device 200.
The broadband network interface 310 is to provide connectivity to and communications with a broadband network 140. The network interface 310 may include a connector, for example, a coaxial connector for receiving a coaxial cable and associated protocols for providing the necessary communications with the broadband network 140 (e.g., receiving data from and transmitting data to). The broadband network 140 provides access to external content and external systems including the Internet.
The first and second WiFi interfaces (antennas) 320, 330 are to provide WiFi communications between the gateway/router 300 and wireless devices (establish WiFi networks). The first WiFi interface 320 may be to establish a WiFi network operating at a first frequency (e.g., 5 GHz network pursuant to IEEE 802.11a) and the second WiFi interface 330 may be to establish a WiFi network operating at a second frequency (e.g., 2.4 GHz network pursuant to IEEE 802.11b,g). According to one embodiment, it is possible that a single chip includes multiple antennas and can provide communications at different frequencies (e.g., 2.4 and 5 GHz network pursuant to IEEE 802.11n). The wireless devices may utilize the gateway/router 300 to communicate with other wireless devices within the location or may use it as an access point to connect to the broadband network 140.
The wired interface 340 is to provide wired communications between the gateway/router 300 and other devices that can communicate via a wired interface. The other devices may use the gateway/router 300 to communicate with wireless devices (or wired devices) within the location. The other devices may use the gateway/router 300 to access, for example the Internet, via the broadband network 140. The other devices may be capable of wireless communications even if they connect via the wired interface 340. The other devices may be network extenders that extend the range of the wireless network within the location. The other devices may be various computing devices and/or Internet enable devices, including but not limited to a set top box (STB), an entertainment system, storage device and appliance. The wired interface 340 may include a connector (e.g., coaxial, Ethernet, USB) to receive an appropriate cable and associated protocols for receiving and transmitting data thereover.
The processor 350 is to control the operation of the gateway/router 300. The processor 350 is to execute computer-executable instructions (e.g., software, apps). The computer executable instructions, when executed, may cause the processor 350 to control the operations of the gateway/router 300 and perform various functions including, but not limited to, network configuration, activity monitoring and analysis (e.g., statistics, analytics), and adjusting the network configuration, device connectivity, and/or device operations as required. Some of the functions performed by the processor 350 are based on data that is collected about the network and the devices connected thereto. In addition, the processor 350 may execute instructions that cause it to act as a router agent as will be discussed in more detail below.
The memory 360 is to store the computer-executable instructions and/or other data. The other data may include, for example, configuration data (e.g., set-up of the wireless network), connectivity data (e.g., wireless devices actively connected to the wireless network, signal strength of connected devices, congestion of access points) and/or activity data (e.g., when a wireless device connects to an access point and whether it was a new connection or a transfer from another access point, when a device losses connectivity to an access point). The gateway/router 300 may receive data related to what is connected to the network extenders from the network extenders. The data may be received from the network extenders, for example, when wireless devices connect or disconnect from the network extenders, when the wireless devices communicate with the broadband network 140 which requires communications with the gateway/router 300 and/or at defined intervals (e.g., every few seconds).
The memory 360 may be located on the processor 350 and/or may be separate from the processor 350. The memory 360 storing the computer-executable instructions may be computer-readable memory so that the processor 350 can read and execute the computer-executable instructions.
The memory 360 may be supplement with external memory that may be located in other access points, in a set top box (STB) or any other device having storage that is connected to the wireless network (via a wireless or wired connection) and/or is in the cloud and can be accessed via a broadband network.
The user interface 370 may include, for example, lights to provide a user an indication about the operational status thereof. The user interface 370 may also include, for example, switches, buttons or the like to enable the user to, for example, power on/off and/or reset the gateway/router 300.
The mobile agent within a wireless device is to communicate with the router agent within an access point (e.g., router) for one or more wireless (WiFi) local area networks that the wireless device often connects to. The mobile agent is to communicate information about content that the wireless device is playing or desires to play with the one or more WiFi networks. The mobile agent may also utilize location data about wireless device and the one or more WiFi networks in order to determine when the wireless device will be available to connect to the one or more WiFi networks. It may also utilize the location information to determine if content that is currently playing will be complete when the wireless device connects to the one or more WiFi networks at which time the wireless device may switch to receiving the content from the WiFi network.
The WiFi network information 420 may include an indication of whether the wireless device is currently connected to a WiFi network and a list of WiFi networks that the wireless device has connected to (e.g., home network, work network, gym network, restaurant network). The WiFi network information 420 may also include connection details for these WiFi networks, including but not limited to, location of the WiFi network, day and time the WiFi connection was established and day and time the WiFi connection was terminated. The WiFi network information 420 may include statistics and/or analytics that were calculated for these WiFi networks including, but not limited to, details regarding when the wireless device typically connects to these WiFi networks (e.g., every evening around 6 pm, Mon-Fri around 9 am, weekends around 7 am), how often the wireless device connects to these WiFi networks (e.g., twice a day, once a week), how long the wireless device stays connected to these WiFi networks (e.g., 10 hours, 6 hours, 30 minutes), how long the wireless device is typically connected to a mobile network before it connects to these WiFi network (e.g., 20 minutes, 1 hour), whether the wireless device typically comes from another WiFi network prior to connecting to these WiFi networks (e.g., from work WiFi) and whether the wireless device typically goes to another WiFi network after disconnecting from a WiFi network (e.g., to home WiFi).
The wireless device location information 430 may include information about the location of the wireless device, whether the wireless device is moving and what direction the wireless device is headed. The wireless device location information 430 may be captured by the GPS module 250.
The mobile agent 400 may become active when the wireless device is playing content (or is scheduled to play content). Once activated, the mobile agent 400 may receive the content information 410, the WiFi network information 420 and the wireless device location information 430 and may begin processing the information received. Initially, the mobile agent 400 may make a determination about where the wireless device may be headed (e.g., is it headed to a specific WiFi network, are any WiFi networks excluded). It should be noted that the determination of which WiFi network the wireless device may or may not be headed to may be limited to those networks that the mobile agent 400 will have permission to communicate with and utilize the resources of (e.g., personal networks, home networks). That is, the mobile agent 400 may not be authorized to communicate with or use resources of a WiFi network that the wireless device connects to at, for example, a restaurant, a store or a gym.
The initial determination may be made based on historical data that has been collected about the wireless device. For example, at the end of a work day the wireless device may typically travel home and connect to the home WiFi network. On weekends, the wireless device may typically head to a cabin and connect to the cabin WiFi network. The initial determination may be augmented or replaced by comparing the movement of the wireless device captured in the wireless device location information 430 to locations of the WiFi networks captured in the WiFi network information 420. For example, if the device is traveling in a north bound direction and one or more of the WiFi networks are south from a current location of the device those WiFi networks may be excluded. The mobile agent 400 may interact with a mapping program (e.g., Google Maps®) 440 in order to compare the location and movement of the wireless device to the location of the WiFi networks. The interaction with the mapping program 440 may be via the Internet 120.
Once a set of possible WiFi networks is identified, the mobile agent 400 may determine an estimated time of arrival at each of the possible WiFi networks. The mobile agent 400 may interact with the mapping program 440 in order to determine the expected arrival time at each of the WiFi networks. The mobile agent 400 may compare the estimated travel time to the remaining content duration for currently-playing content to determine if the content will still be playing when the wireless device arrives at the WiFi network.
The mobile agent 400 may send messages to each of the possible WiFi networks. The messages may act as a request to download content and may include an actual request. The messages may be sent to router agents 500 for the possible WiFi networks. The messages may include, but is not limited to, information about any content being played (e.g., title, duration, current playback position, audio-video format, media container format), any content included in a wish list for the wireless device (e.g., title, duration, audio-video format, media container format), and location of the wireless device. The messages may be sent via the Internet 120. As the WiFi network (access point) is connected to the Internet 120 via the delivery network 140, the messages may be routed through the delivery network 140.
For content currently being played on the wireless device, the router agent 500 may determine an estimated playback point at the time that the wireless device arrives at the location (e.g., will be 44 minutes into the 60 minute movie, will have 16 minutes of the movie remaining).
The router agent 500 may communicate with the content providers 110 to download content. The content may be downloaded offline (e.g., not while the user is consuming it). The content may be downloaded by the access point (e.g., router) or the router agent may instruct other devices to download the content. The content may be downloaded via available wireless bandwidth or wired bandwidth. The downloaded content may be stored in storage 520 connected to the WiFi network. The storage 520 may be for example, a hard drive of a STB, available storage within any device connected to the WiFi network (e.g., entertainment system, computer) or a storage device connected to the WiFi network. The download of the content may be the entire content or at least a portion thereof so that the wireless device can play that portion from the storage 520 while additional content continues to be downloaded offline.
The router agent 500 may communicate the location of the storage 520 where the content is being stored to the mobile agent 400 when the wireless device connects to the WiFi network and the timing for switching to the stored content from the downloading of the content to provide a seamless transition. The switching to downloaded content when the user connects to the WiFi network should ensure that the quality of the content playback is maintained or increased as any bandwidth limitations with the WiFi network should not affect quality. Furthermore, as the wireless device need not connect to the Internet 120 via the WiFi network in order to obtain the content at that point, the impact to bandwidth of the wireless device joining the WiFi network is reduced.
When the routing agent receives the message, the routing agent may calculate an estimated arrival of the wireless device 650 and an estimated playback location of the content at the arrival time 660. The routing agent may then instruct the router or other device connected to the WiFi network (either via wireless connection or wired connection) to connect with the content providers 110 to download the content from the estimated playback location 670. The content may be downloaded at an appropriate bit rate offline. The content may be stored in a storage device connected to the WiFi network. The routing agent may detect when the wireless device connects to the WiFi network 680. It should be noted that if the message from the mobile agent was sent to more than one router agent, that a subset of the router agents may not detect the arrival of the wireless device. Once the wireless device has been detected by the WiFi network, the mobile agent and the router agent may communicate to have the content being presented switch from an active download to the stored content 690.
The method 600 is in no way intended to be limited to the illustrated processes. Rather, additional processes can be added, processes can be combined, processes can be deleted, processes can be modified and/or the order of the processes can be modified without departing from the current scope.
When the routing agent receives the message, the routing agent may calculate an estimated arrival of the wireless device 740. The routing agent may then instruct the router or other device connected to the WiFi network (either via wireless connection or wired connection) to connect with the content providers 110 to download the content from the wish list 750. The content may be downloaded at an appropriate bit rate offline. The content from the wish list is then stored in a storage device connected to the WiFi network. The routing agent may detect when the wireless device connects to the WiFi network 760. It should be noted that if the message from the mobile agent was sent to more than one router agent, that a subset of the router agents may not detect the arrival of the wireless device. Once the wireless device has been detected by the WiFi network, the mobile agent and the router agent may communicate so that when the content from the wish list is to be played that the content is taken from the stored content (and need not download) 770.
The method 700 is in no way intended to be limited to the illustrated processes. Rather, additional processes can be added, processes can be combined, processes can be deleted, processes can be modified and/or the order of the processes can be modified without departing from the current scope.
The method 800 is in no way intended to be limited to the illustrated processes. Rather, additional processes can be added, processes can be combined, processes can be deleted, processes can be modified and/or the order of the processes can be modified without departing from the current scope.
When the routing agent receives the message, the routing agent may instruct the router or other devices connected to the WiFi network, to connect with the content providers 110 to download and store the content in a storage device connected to the WiFi network 930. The content may be downloaded at an appropriate bit rate offline. If the wireless device was not connected to the WiFi network at the time the message was sent, the routing agent may detect when the wireless device connects to the WiFi network 940. After the content has been downloaded and the wireless device is connected to the WiFi network, the router agent may provide the wireless device with a location where the content is stored 950. The wireless device may then copy the content from the location where it is stored 960. Once the content has been copied to the wireless device the wireless device may view the content regardless of being connected to the Internet.
The method 900 is in no way intended to be limited to the illustrated processes. Rather, additional processes can be added, processes can be combined, processes can be deleted, processes can be modified and/or the order of the processes can be modified without departing from the current scope.
Computer-executable instructions (e.g., software, apps) may be stored on a computer-readable storage medium (e.g., 270, 360). The computer-executable instructions when executed by a processor (e.g., 260, 350) may cause the processor to perform any of the methods 600-900.
The various embodiment described above have been described with respect to the wireless device connecting to a local area (WiFi) network that they control (e.g., personal network, home network). The disclosure is in no way intended to be limited thereto. For example, a hotel may include access to a WiFi network and storage connected thereto as part of a reservation. A mobile agent may communicate with a router agent for the WiFi network to perform any of the functions described above in
Although the disclosure has been illustrated by reference to specific embodiments, it will be apparent that the disclosure is not limited thereto as various changes and modifications may be made thereto without departing from the scope. Reference to “one embodiment” or “an embodiment” means that a particular feature, structure or characteristic described therein is included in at least one embodiment. Thus, the appearances of the phrase “in one embodiment” or “in an embodiment” appearing in various places throughout the specification are not necessarily all referring to the same embodiment.
The various embodiments are intended to be protected broadly within the spirit and scope of the appended claims.