The present invention relates generally to communication systems and, more particularly to the remote access of content through a service provider.
The ability to store and playback digital video has led to an increased demand for personal video products. Digital video devices are capable of obtaining video and storing it in a variety of formats. This provides a convenient way to store and playback media on a single device.
One of the problems with conventional storage and playback of digital video has been that providing digital video to other devices has been difficult, as no single programmable interface exists that allows for dissimilar devices to display content in a single format or bitrate. For instance, a first media device may be capable of displaying and storing video at a first bitrate and data format while a second device may be capable of a display video with a second bitrate and second data format. Therefore, content from the first device will need to be prepared, or transcoded, prior to delivery on the second device.
In addition, the first device and the second device may not be directly connected. This compounds the problem of providing content to the second device from the first device, as there may be limited bandwidth available to the second device. Therefore, the bandwidth required to display the content may need to be adjusted prior to transmission to the second device.
Moreover, as content has started to shift from being passive to allowing active user interaction, the need for a unified communications application programmable interface has increased. With the advent of interactive media, the ability to dynamically program media devices and user interfaces has become more important.
Accordingly, there is needed an effective application programmable interface that delivers content to users.
In accordance with one embodiment, systems and methods for providing digital content are disclosed, which include registering an application to be used during a session, loading policies to be used during the session, and identifying hardware features to be used during the session. These systems and methods also include steering data to be used during a session and presenting data to an end device during the session. The content is delivered from a first device to a second device according to the policies and hardware features that are available during the session.
In accordance with another embodiment, a method of delivering content to a device is shown that includes receiving a request for content from a requesting device, accessing the requested content, and verifying the access privileges of the requesting device to view the content. This method also includes preparing the content for transmission, providing the content to the requesting device, and allowing the requesting device to interact with the content through a unified media application programmable interface.
In yet another embodiment, a system for providing content is disclosed that includes a content providing device and a content requesting device. In this embodiment, the content requesting device requests content from the content providing device. In addition, an interface is disclosed that connects the content providing device and the content requesting device. This interface may include a unified media application programmable interface.
Other technical features may be readily apparent to one skilled in the art from the following figures, descriptions, and claims.
For a more complete understanding of the present disclosure, and the advantages thereof, reference is now made to the following descriptions taken in conjunction with the accompanying drawings, wherein like numbers designate like objects, and in which:
In
One of the innovative features of the unified communications API is that the provider network allows content to be accessed by a user from any location using the disclosed systems and methods. The presently disclosed systems and methods allow for authorized users to remotely access content stored in a carrier-grade data repository. Content can be in the form of multimedia content such as that downloaded from a subscriber service.
It is understood that in each endpoint, a “provider application portal” (PAP) may be provided from which the unified communications API may be executed. The PAP may be embodied as a software application loaded onto the endpoint and may comprise a number of different elements within the software based upon the type of deployment. The PAP allows for remote access of content through a carrier grade communications network.
Stationary endpoint 102 is a location that comprises a connection to wired network 108 through a physical connection at a static location. Examples of a physical connection include, but are not limited to, fiber optics, telephone lines, cable lines, or any other system or method of delivering network connectivity through a physical connection to the stationary endpoint 102. It is contemplated that a wireless connection may be used at stationary endpoint 102, such as a WiFi connection, that allows a plurality of devices at stationary endpoint 102 to be connected to wired network 108.
Examples of stationary devices located at stationary endpoint 102 may include, but are not limited to, home consumer devices (e.g., blue ray devices, home personal video recorders (PVRs)), home computers, home security devices, or any other device that may be located at stationary endpoint 102.
Mobile endpoint 104 is intended to refer to any location that has a connection to the wired network 108, but does not have a static set of devices connected to the mobile endpoint 104. For example, a notebook computer may connect to the managed IP network through the wired network 108, but the notebook computer will not necessarily be at the same location at all times. The mobile device can be similar to the stationary device, except that the location for which the mobile endpoint 104 will connect to the wired network 108 is subject to change.
Cellular endpoint 106 is intended to refer to an endpoint created when a mobile device connecting through a cellular network is connected to the wireless network 110. Examples of devices that may use a cellular endpoint include, but are not limited to, cell phones (including those with photographic, music, or messaging functionality, as well those including internet capability alone or in combination with any of the foregoing features and functionalities), mobile computer devices with a cellular modem, or any other device as known by one skilled in the art with a cellular modem.
Wireless network 110 may be any type of wireless network, including, but not limited to, wireless local area network (WLAN) cards, radio transceiver cards such as code division multiple access (CDMA) and/or global system for mobile communications (GSM) radio transceiver cards, and other well-known network devices.
Managed IP network 112 is intended to refer to the backend of the network that comprises a provider network 114 with a provider server. The provider server will reside in the service provider (SP) network comprising content that can be distributed to one or more users. The provider network 114 may also function as a gateway for services enabled by the unified communications API, such as the purchasing of goods or services made through the unified communications API.
The PAP has a plurality of different functions that are enabled through the unified communications API. These functions include, but are not limited to, the application register function, session policy function, session steer function, session present function, and the session Digital Living Network Alliance (DNLA) function.
The application register function allows the user to register with the service provider for any service offered. For instance, the application register function may allow the user to register for a video streaming function. In addition, the application register function may allow the user to create an account from which the user may purchase goods or services, including, but not limited to digital video, directly from a service provider. These purchases may be made available to any device that is connected to system 100 and has the PAP installed.
The session policy function allows the service provider to authenticate and authorize the user based on the user's subscription profile. This function allows the user to have secure credential to access consumer electronic devices at home. This serves to both authenticate the user to the provider network 114 as well as to authenticate the user to the user's consumer electronic (CE) devices located at any one of the endpoints within system 100.
Another one of the features of the unified communications API is the ability to dynamically configure the hardware of devices with the PAP in system 100. For instance, the session buttons function allows for the dynamic configuration of hardware options by the user based upon the applications. In addition, these session buttons allow for session disposition such as receive, ignore or reroute the call, join into a chat session, and up/download content to/from network. The use of the unified communications API allows for a plurality of functions (e.g., streaming video while simultaneously interacting in a video conference) to be preformed through a dynamic interface through dissimilar devices and dissimilar network connections.
The session steer allows the service provider to steer the content between end devices or between an end device and an network storage. One example of this network storage is a digital locker stored in provider network 114. The “digital locker” is a secure storage device that affords a level of security by allowing the backend server to manage user rights and other security features.
The session presentence function allows the content data to be sent to the client using device specific parameters, such as a specific codec, format, throughput, bitrate, quality of service (QoS) parameters, as well as other information needed to deliver content to an end user device.
The session DLNA Proxy allows any consumer electronic device (such as a media storage, surveillance camera, etc.) at home to be accessible—via DLNA (Digital Living Network Alliance) proxy function—by the user.
It is expressly understood that the presently disclosed systems and methods allow for users to be provided with a number of unique abilities. For instance, the presently disclosed systems and methods allow for access to user multimedia content, such as personal video stored in a home computer, live content from the cable/satellite feed to the home or personal/commercial content stored at a digital locker within the network, from a mobile or a nomadic device (such as a laptop PC connected to the SP network from a hotel and/or WiFi hotspot). In addition, the use of the presently disclosed systems allows for a user to access, store, and manage any personal and/or commercial multimedia content to/from a digital locker that resides in the service provider's network. Finally, the presently disclosed systems and methods allow the user to access a unified communication service in the CE (consumer equipment) devices (e.g., TV screen, laptop/PC screen, camera, etc.).
An example of this unified service is one that permits a user to receive/ignore/reroute a phone call from his/her TV screen while watching a show. Having a pop-up window in the laptop/PC screen with the calling name ID is another example of a unified communication service. Yet another advantage is that the presently disclosed systems allow the user to engage in a social networking event from the CE device, such as, discuss the current TV show within the friends listed in the ‘facebook’ or ‘myspace’, or participate in live interactive voting (similar to voting for a contestant in a “reality” television program).
Any element of the disclosed system, including devices at endpoints 102, 104 and 106, described above may be implemented on any general-purpose computer 600 with sufficient processing power, memory resources, and network throughput capability to handle the necessary workload placed upon it.
The secondary storage 602 is typically comprised of one or more disk drives or tape drives and is used for non-volatile storage of data and as an over-flow data storage device if RAM 606 is not large enough to hold all working data. Secondary storage 602 may be used to store programs that are loaded into RAM 606 when such programs are selected for execution. The ROM 604 is used to store instructions and perhaps data that are read during program execution. ROM 604 is a non-volatile memory device that typically has a small memory capacity relative to the larger memory capacity of secondary storage. The RAM 606 is used to store volatile data and perhaps to store instructions. Access to both ROM 604 and RAM 606 is typically faster than to secondary storage 602.
I/O 608 devices may include printers, video monitors, liquid crystal displays (LCDs), touch screen displays, keyboards, keypads, switches, dials, mice, track balls, voice recognizers, card readers, paper tape readers, or other well-known input devices. The network connectivity devices 392 may take the form of modems, modem banks, Ethernet cards, universal serial bus (USB) interface cards, serial interfaces, token ring cards, fiber distributed data interface (FDDI) cards, wireless local area network (WLAN) cards, radio transceiver cards (such as code division multiple access (CDMA) and/or global system for mobile communications (GSM) radio transceiver cards), and other well-known network devices. These network connectivity devices 610 may enable the processor 612 to communicate with an Internet or one or more intranets. With such a network connection, it is contemplated that the processor 612 might receive information from the network, or might output information to the network in the course of performing the above-described method steps. Such information, which is often represented as a sequence of instructions to be executed using processor 612, may be received from and outputted to the network, for example, in the form of a computer data signal embodied in a carrier wave.
Such information, which may include data or instructions to be executed using processor 612 for example, may be received from and outputted to the network, for example, in the form of a computer data baseband signal or signal embodied in a carrier wave. The baseband signal or signal embodied in the carrier wave generated by the network connectivity devices 610 may propagate in or on the surface of electrical conductors, in coaxial cables, in waveguides, in optical media, for example optical fiber, or in the air or free space. The information contained in the baseband signal or signal embedded in the carrier wave may be ordered according to different sequences, as may be desirable for either processing or generating the information or transmitting or receiving the information. The baseband signal or signal embedded in the carrier wave, or other types of signals currently used or hereafter developed, referred to herein as the transmission medium, may be generated according to several methods well known to one skilled in the art.
The processor 612 executes instructions, codes, computer programs, scripts that it accesses from hard disk, floppy disk, optical disk (these various disk based systems may all be considered secondary storage 602), ROM 604, RAM 606, or the network connectivity devices 610.
While several embodiments have been provided in the present disclosure, it should be understood that the disclosed systems and methods might be embodied in many other specific forms without departing from the spirit or scope of the present disclosure. The present examples are to be considered as illustrative and not restrictive, and the intention is not to be limited to the details given herein. For example, the various elements or components may be combined or integrated in another system or certain features may be omitted, or not implemented.
In some embodiments, some or all of the functions or processes of the one or more of the devices are implemented or supported by a computer program that is formed from computer readable program code and that is embodied in a computer readable medium. The phrase “computer readable program code” includes any type of computer code, including source code, object code, and executable code. The phrase “computer readable medium” includes any type of medium capable of being accessed by a computer, such as read only memory (ROM), random access memory (RAM), a hard disk drive, a compact disc (CD), a digital video disc (DVD), or any other type of memory.
It may be advantageous to set forth definitions of certain words and phrases used throughout this patent document. The terms “include” and “comprise,” as well as derivatives thereof, mean inclusion without limitation. The term “or” is inclusive, meaning and/or. The phrases “associated with” and “associated therewith,” as well as derivatives thereof, mean to include, be included within, interconnect with, contain, be contained within, connect to or with, couple to or with, be communicable with, cooperate with, interleave, juxtapose, be proximate to, be bound to or with, have, have a property of, or the like.
While this disclosure has described certain embodiments and generally associated methods, alterations and permutations of these embodiments and methods will be apparent to those skilled in the art. Accordingly, the above description of example embodiments does not define or constrain this disclosure. Other changes, substitutions, and alterations are also possible without departing from the spirit and scope of this disclosure, as defined by the following claims.
This application claims priority under 35 USC 119(e) to U.S. Provisional Application Ser. No. 61/016,124 filed on Dec. 21, 2007, and which is incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
61016124 | Dec 2007 | US |