WO2009052086A2 - Content delivery proxy system and method - Google Patents
Content delivery proxy system and method Download PDFInfo
- Publication number
- WO2009052086A2 WO2009052086A2 PCT/US2008/079793 US2008079793W WO2009052086A2 WO 2009052086 A2 WO2009052086 A2 WO 2009052086A2 US 2008079793 W US2008079793 W US 2008079793W WO 2009052086 A2 WO2009052086 A2 WO 2009052086A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- client device
- content
- delivery system
- content delivery
- unsupported
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 54
- 238000013519 translation Methods 0.000 claims description 39
- 238000006243 chemical reaction Methods 0.000 claims description 12
- 238000007726 management method Methods 0.000 claims description 10
- 230000014616 translation Effects 0.000 description 36
- 230000006870 function Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 6
- 238000012986 modification Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 230000001413 cellular effect Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 229920001690 polydopamine Polymers 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 244000132059 Carica parviflora Species 0.000 description 1
- 235000014653 Carica parviflora Nutrition 0.000 description 1
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 239000010979 ruby Substances 0.000 description 1
- 229910001750 ruby Inorganic materials 0.000 description 1
- 230000009131 signaling function Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/16—Analogue secrecy systems; Analogue subscription systems
- H04N7/173—Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
- H04N7/17309—Transmission or handling of upstream communications
- H04N7/17318—Direct or substantially direct transmission and handling of requests
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/58—Message adaptation for wireless communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/222—Secondary servers, e.g. proxy server, cable television Head-end
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/234309—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4 or from Quicktime to Realvideo
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/235—Processing of additional data, e.g. scrambling of additional data or processing content descriptors
- H04N21/2355—Processing of additional data, e.g. scrambling of additional data or processing content descriptors involving reformatting operations of additional data, e.g. HTML pages
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/254—Management at additional data server, e.g. shopping server, rights management server
- H04N21/2541—Rights Management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/258—Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
- H04N21/25866—Management of end-user data
- H04N21/25875—Management of end-user data involving end-user authentication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/414—Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
- H04N21/4143—Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance embedded in a Personal Computer [PC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/418—External card to be used in combination with the client device, e.g. for conditional access
- H04N21/4181—External card to be used in combination with the client device, e.g. for conditional access for conditional access
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/432—Content retrieval operation from a local storage medium, e.g. hard-disk
- H04N21/4325—Content retrieval operation from a local storage medium, e.g. hard-disk by playing back content from the storage medium
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/472—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
- H04N21/47202—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/472—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
- H04N21/47211—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting pay-per-view content
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/633—Control signals issued by server directed to the network components or client
- H04N21/6332—Control signals issued by server directed to the network components or client directed to client
- H04N21/6334—Control signals issued by server directed to the network components or client directed to client for authorisation, e.g. by transmitting a key
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/426—Internal components of the client ; Characteristics thereof
Definitions
- the present invention relates generally to content delivery or middleware systems which couple user devices such as set top boxes (STBs) to content providers such as IPTV (internet protocol television), cable network operators, satellite television providers or VOD (video on demand) providers, and is particularly concerned with an interface or proxy for an existing content delivery system or middleware system.
- STBs set top boxes
- IPTV internet protocol television
- cable network operators cable network operators
- satellite television providers satellite television providers
- VOD video on demand providers
- the present invention can be used in other systems where subscriber management is involved including music download and streaming services, game services, document services and other services where there is a need to couple disparate unsupported client devices to a service.
- service and network software provides subscriber management, electronic program guide (EPG), client login, client firmware download and client provisioning, broadcast TV, and Video On Demand (VOD) services.
- EPG electronic program guide
- client login client firmware download and client provisioning
- broadcast TV broadcast TV
- VOD Video On Demand
- this software is provided by so-called "middleware".
- Most internet protocol television (IPTV) systems support a limited number of device types and require a client device application that supports the system middleware.
- the client device application is often called a client middleware.
- client middlewares are not easily ported to other devices without major software development efforts.
- most closed network video and content delivery systems cannot deliver content securely to devices outside the closed network because of security issues in addition to middleware compatibility issues.
- IPTV and VOD middleware systems typically provide for programs to be viewed on STBs and do not support PC (personal computer) type devices such as computers, mobile phones, personal digital assistants, and the like.
- PC personal computer
- current middleware for live television and video on demand is provided over a network such as a telephone company (Telco) network or satellite TV provider or cable TV provider, and allows viewing of electronic program guide (EPG) listings and of the programs themselves in a format suitable for a television screen.
- EPG electronic program guide
- Such content cannot be viewed on other, PC based devices such as personal computers, laptop computers, or mobile phones, personal digital assistants, personal media players, and the like because the middleware system does not support such devices.
- a content delivery or middleware proxy system in one embodiment provides PC client to system translation functions allowing network systems that support only certain types of clients to also support PC or other unsupported client devices, without any major changes to an existing content delivery system or middleware of a content provider.
- the system and method is designed to make any client device look like a standard or middleware supported client device.
- the proxy system may also support multiple Digital Rights Management (DRM) systems without requiring changes to the existing middleware system or the client device.
- DRM Digital Rights Management
- the proxy system may be used with an IPTV network content delivery or middleware system in one embodiment, but can also be applied to cable, satellite, broadcast TV, broadband internet, and any other network or data delivery system.
- a content delivery or middleware proxy system has a client log-in translation module and an electronic program guide (EPG) translation module which convert between the client device language and the existing content delivery or middleware system language to permit an unsupported client device to log on to a network or data delivery system and to receive the EPG in a format they can understand.
- EPG electronic program guide
- a VOD/live TV signal interface module transmits the VOD or broadcast signals from the network provider in a video format viewable on the client device.
- the middleware proxy system allows for additional channels which are viewable on mobile phones, personal computers, and other PC-based client devices, and these are added to the available programs which the existing middleware system lists on the EPG without the existing middleware needing to be aware that they are not standard or existing middleware supported STB channels.
- the content delivery or middleware proxy system connects unsupported client devices to a content delivery system or middleware system without requiring changes to the content delivery system system, so that operators may add support for client devices without modifications to the client or the system middleware.
- the content delivery proxy system may be adapted to allow support of client devices containing multiple Digital Rights Management (DRM) formats that are not supported by the content delivery system or middleware.
- DRM Digital Rights Management
- translation between multiple different native languages such as JAVA, HyperText Markup Language (HTML), and others, may be provided in a single unit, as well as support for multiple different DRM systems, without requiring each new client device to be modified in order to communicate via a network such as a telephone company (Telco) network with a content provider through existing content provider middleware which may be configured for supporting only one specific type of client device, and without modification of the existing content provider middleware or content delivery system to support the new client device.
- a method of delivering content to an unsupported client device within a content delivery system is provided.
- log in information from an unsupported client device is translated from the client device message format to the content delivery system message format and is then transmitted to the content delivery system
- a user interface provided by the content delivery system is translated from the content delivery system supported format to a client device supported format and then displayed on the client device
- client content selections on the user interface are translated from the client device format to the content delivery system format and provided to the content delivery system
- selected content is provided to the client device in the proper format for playback on the client device.
- the term 'translate' was used in the above explanation other methods can be used instead of translation including have a protocol adapter to adapt a client based message and display format to a content delivery system format, or to have a client based application output system format messages, or a parallel graphical user interface (GUI) different than the content delivery system supported GUI, or a parallel processing element to the processing performed by the content delivery system or middleware system.
- GUI graphical user interface
- the user interface may be an electronic program guide (EPG) or the like which displays available channels and VOD selections.
- the content delivery proxy system is designed for translation of messages, message data, middleware system data, or middleware protocol between the client device and the existing middleware or content delivery system, and may translate back and forth between JAVA and HyperText Markup Language (HTML), for example.
- HTTP HyperText Markup Language
- Other such message or data translations or data format support appropriate for adapting a client device that is not supported by the content delivery system is also envisioned, including translations including interfacing to binary, extended (XML) markup language, Java, abstract syntax notation one (ASN.1), C/C++ and other data formats.
- the translations may include translation between different versions or forms of JAVA, binary, or other languages. Data conversions or data translations, protocol conversions or translations, message conversions or translations, and other translations or conversions may be applied as necessary to couple a content delivery system or middleware system to a client device not normally supported by the content delivery system.
- the system middleware or service and network software does not have to know the device type of the client device and there is no need for additional native middleware support on the client device to interface to the operator's headend system. Since the middleware proxy system translates between the middleware system and the client device so that the client device looks like a set top box or middleware supported client device to the existing middleware system, the client device operates or appears to the headend system as a device with native support.
- the content delivery or middleware proxy system and method in one embodiment allows support for different types of client devices having multiple digital rights management (DRM) formats without requiring changes to the existing system middleware designed for STB DRM formats or support for systems without DRMs as well.
- DRM digital rights management
- OMA open mobile alliance
- the system provides any client with existing network system middleware translation functions, such as existing IPTV system middleware, allowing IPTV systems that previously did not support PC or other types of clients to support PC clients.
- the IPTV system does not know that the client device is a PC because the system operation looks exactly the same as a STB operation or middleware supported client to the IPTV middleware headend.
- the content delivery proxy system and method couples a client device or client device DRM to a middleware system that may not have native support for the client device and allows the unsupported client device to use the services of the operator with appropriate provisioning of the adapted client device.
- this system supports any type of content such as video, audio, computer program, game and other forms of digital data.
- a distributor can distribute content to devices over the open Internet and off the content distributors network with billing, accounting, client provisioning, and client security acceptable to movie studios, broadcasters and other content providers.
- Figure 1 is a block diagram of one embodiment of a content delivery system architecture for coupling various client devices to a content provider;
- Figure 2 is a block diagram of one embodiment of the content delivery or middleware proxy system of Figure 1 for use when content is delivered through a private network;
- Figure 3 is a block diagram illustrating an entitlement checking procedure
- Figure 4 is a flow diagram illustrating an embodiment of a method of delivering content to an unsupported client device using the content delivery proxy system of Figure
- Certain embodiments as disclosed herein provide a content delivery or middleware proxy system and method for delivering content to different types of unsupported client devices within a content delivery system without requiring existing "middleware" or content and delivery software to run on the client device.
- one method as disclosed herein allows for delivery of content to a personal computer (PC) based client device through existing internet protocol television (IPTV) middleware which only supports set top box (STB) client devices, using a middleware proxy system to translate between the client device messaging protocol and the IPTV middleware messaging protocol.
- PC personal computer
- IPTV internet protocol television
- STB set top box
- a client device may be any type of device capable of computing and receiving data from a network, such as a set top box (STB), personal computer, game console, cellular or mobile phone, personal digital assistant (PDA), personal media player, video equipment such as a digital video receiver (DVR), digital video disc (DVD) player (DVD), compact disc (CD) player, smart card, or the like.
- a network may refer to a network or combination of networks spanning any geographical area, such as a local area network, wide area network, regional network, national network, and/or global network.
- the Internet is an example of a current global computer network. Those terms may refer to hardwire networks, wireless networks, or a combination of hardwire and wireless networks.
- Hardwire networks may include, for example, fiber optic lines, cable lines, ISDN lines, copper lines, etc.
- Wireless networks may include, for example, cellular systems, personal communications service (PCS) systems, satellite communication systems, packet radio systems, and mobile broadband systems.
- a cellular system may use, for example, code division multiple access (CDMA), time division multiple access (TDMA), personal digital phone (PDC), Global System Mobile (GSM), or frequency division multiple access (FDMA), among others.
- CDMA code division multiple access
- TDMA time division multiple access
- PDC personal digital phone
- GSM Global System Mobile
- FDMA frequency division multiple access
- digital content provided to a client device may be a movie or television show, but may alternatively or additionally be a music recording or other type of digital content file in alternative embodiments, such as music, games, software, multi-media presentations, images, and other materials that can be represented digitally.
- a digital content provider may be the creator of the digital content, such as a movie or motion picture studio or television studio, or may be a content provider which distributes content created by others, such as a home box office or video on demand provider, IPTV provider, cable TV provider, satellite content provider, broadcast TV provider, broadband internet provider, international distributor, amateur content provider, or any other network or data delivery system.
- digital content is supplied through a telephone company network, but the network which couples the digital content provider to the client device may alternatively be a network of a cable television provider, satellite television provider, Internet service provider, or the like.
- the proxy system is described below as a middleware proxy system, this language should be considered to include a content delivery proxy system or middleware proxy system for use in conjunction with any content delivery system which delivers content to supported client devices.
- a content delivery system comprising a content provider 20 such as an IPTV provider and associated middleware 24 through a network 22 such as a telephone company (Telco) or other distribution network.
- the content provider 20 has an existing middleware or content delivery system 24 which only supports certain client devices, such as supported set top boxes 25 and, in some cases, limited types of PC device 26.
- Middleware system 24 is connected to the client devices 10, 12, 14, and 15 through a content delivery proxy system or middleware proxy system 28 which adapts any unsupported client devices to the middleware system 24 without requiring changes to the existing middleware or content delivery system 24, as described in more detail below with reference to Figures 2 to 4.
- Content delivery system 24 may be integrated in the content provider 20 in some system architectures, or may be a separate middleware platform.
- the middleware proxy system 28 may be one or more servers running on the Telco network, as illustrated, and may be provided in a single housing or unit for easy installation.
- the proxy system may be provided on a client device running on an open network wherein the proxy system running locally on the client performs the appropriate translations necessary to couple the client device not normally supported by the middleware system to the middleware system.
- the proxy running on the client device may use screen resolution and message data not normally supported by the client device and couples the middleware supported resolutions and data to ones supported by the client.
- FIG 1 also illustrates a modified middleware proxy system 28A which allows similar, unsupported client devices 10, 12, 14, and 15 to receive content from the content provider 20 over the open Internet 30.
- the middleware proxy system 28A is similar to the system 28 but additionally includes software filters 29 such as geo filters which may include restrictions on geographical locations to which content may be distributed, rights filters which may restrict the types of client device to which content may be distributed, and service access filters which may restrict the type of service which is allowed over the open Internet.
- the client devices 10, 12, 14, and 15 linked to the content provider through middleware proxy system 28 or 28A are client device models which are unsupported by the existing content provider middleware 22, while the client devices 25 and 26 are models which are supported by middleware 22.
- VOD purchase and Broadcast network signaling or network service control for example performing a middleware system format appropriate multicast join, controlling a VOD movie stream, controlling the download of content, performing personal video recorder or PVR functions, firmware download, system and network client management, and provisioning services and the like.
- FIG. 2 is a block diagram illustrating functional modules of the middleware proxy system 28 or 28A.
- the middleware proxy system 28A which provides content over the open Internet includes the modules of Figure 2 and also includes the appropriate software filters (geographic, rights, and service access) for such content, as discussed above and indicated in Figure 1.
- the main functions provided by the middleware proxy system are translation modules which allow translation back and forth between the native middleware messaging protocol or format and the client device messaging protocol or format for client login and authentication (module 32), user interface or electronic program guide (module 34), and client or subscriber account service functions (module 35) such as customer care or management, billing, and the like.
- An optional data base 36 may be linked to these modules in addition to a VOD/live TV signal interface module 38, or other support modules (not shown) for supporting PVR, firmware download, system and network client management, provisioning services and the like.
- An interface module is also provided for entitlement checking, as illustrated in Figure 3 and described in more detail below. [29] While Figure 2 shows multiple functional blocks, the proxy system can operate with as little as one of these functional blocks. For example, coupling of an unsupported client device to a middleware system may only require a Log-in/Authentication Translation Module 32.
- the middleware proxy system or server has a first communication device which communicates with the existing middleware and a second communication device which communicates with the unsupported client devices.
- client login and authentication for an unsupported client device i.e. a client device which is not supported by the existing content provider middleware 24, uses the same content provider middleware provisioning interfaces as a supported client device, such as a supported STB 25 as illustrated in Figure 1.
- IPTV Middleware This allows an IPTV Middleware system that only supports certain types of STB client devices to support PC based client devices such as PCs, mobile phones, PDAs, and the like, and other client devices such as unsupported types of STB, without modifications to the existing middleware system.
- any unsupported client device connecting through the middleware proxy system or server 28 or 28A looks like a supported client device, such as an STB client device.
- the middleware proxy system can therefore extend an IPTV system to support any client device (or even a different legacy STB middleware) to an IPTV middleware that does not provide native support for the client device.
- the PC Client Login and Authentication protocol uses standard or middleware supported STB Client Login and Authentication protocol which may include clone detection as described in co-pending Application Serial No. 11/625,045 filed on January 19, 2007, the contents of which are incorporated herein by reference.
- the log in and authentication module 32 of Figure 2 translates the client login and authentication function to that required by the IPTV middleware 24.
- FIG. 4 is a flow diagram illustrating one example of a method of providing content to an unsupported client device in the system of Figures 1 and 2.
- the client device is a PC based device using HTML protocol and the native middleware protocol uses JAVA
- the client log in request message 40 is received in HTML format and is translated by module 32 to JAVA format with appropriate data conversion at step 42 before being sent to the existing middleware client log in module (step 44).
- Messages back and forth between the client device and middleware system 24 are translated from HTML to JAVA and from JAVA to HTML as needed in the translation module 32.
- the log-in and authentication module may be programmed for translation between standard languages other than JAVA and HTML depending on the type of client device to which service is to be provided. In some systems translations may not be required in one or more of the modules shown, or translations between the same language such as between two JAVA interfaces or two C/C+ + interfaces.
- a standard entitlement interface 45 is used to interface to the IPTV middleware 24 for VOD purchase or broadcast entitlement checking, as generally illustrated in Figure 3.
- an entitlement interface as provided in the Content Security Manager system available from Verimatrix, Inc. of San Diego, California may be provided in the middleware proxy system 28 or connected to the middleware proxy system as indicated in Figure 3.
- the middleware proxy system server obtains none, some or all of the business rules and subscriber entitlements for disparate client devices over the entitlement interface 45. In this way, any IPTV middleware may be extended to support additional devices and services without needing a new IPTV headend system middleware.
- the proxy system 28 determines the subscriber rights associated with the client device using the subscriber ID or identification number or translated client ID for the client device.
- One example of an entitlement check procedure is generally illustrated in Figure 3.
- Existing middleware systems normally provide service to STBs based on the Media Access Control (MAC) address or connection ID associated with the specific STB, or a subscriber ID or translated subscriber ID, and the subscriber entitlement information is associated with unique MAC addresses or device serial number of client ID or other identifier.
- MAC Media Access Control
- the mobile phone number is associated with a proxy or fake MAC address and the proxy MAC address is provided to the existing middleware system 24. This may be done when the prospective subscriber calls an 800 number of the IPTV provider to sign up for service.
- the actual connection ID of the unsupported client device may be stored along with the proxy MAC address in the middleware proxy data base 36. The actual connection ID is the phone number of the device in the case of a mobile phone or PDA.
- a client unique identifier is managed by the proxy system translating an unsupported client unique ID to a middleware support ID, and an example includes using a client unique ID and mapping it to look like a MAC address.
- the middleware system creates a graphical user interface (GUI) comprising an Electronic Program Guide (EPG) or On Screen Display and User Interface for that client, indicating available channels and videos which may be selected.
- GUI graphical user interface
- This EPG is in the standard language for client devices supported by the middleware system 24, typically STBs, and may be in JAVA, for example. It is also in an STB screen format.
- client devices supported by the middleware system 24 typically STBs, and may be in JAVA, for example. It is also in an STB screen format.
- the channels and videos available are dependent on the type of client devices supported by the operator and include channels and videos provided by the content provider 20 in the proper format for display on the screen of the client device, such as mobile phone video display format, STBs, PDA, gaming consoles, portable media players or PC display format.
- the middleware system 24 is not aware that these channels and videos are anything other than standard, middleware supported STB channels and videos.
- data not normally associated with a standard subscriber ID is used to indicate to the system operator that the subscriber STB information is actually for a middleware unsupported device.
- This can be achieved by having non-supported client system middleware data that is obviously different from a standard client device supported by middleware.
- all client IDs for mobile devices can begin with the letter 'M' when the system middleware supports an alphabetic character in the client ID fields, and other system middleware compatible identifiers can be created so that the operator can immediately identify a non-supported client by a system middleware data field.
- the middleware proxy system 28 receives the EPG in supported client language from the middleware system 24 at step 48, and the EPG is translated from the supported client/existing middleware language or message format into the unsupported client device message format by EPG translation module 34 (step 50).
- the proxy STB connection ID for the client device is changed to the actual connection ID such as the mobile phone number for the client device, and the translated EPG is then forwarded to the client device (step 52).
- the translated EPG is in a format and size suitable for display on the screen of the client device.
- the translation step 50 may comprise translation from JAVA to HTML, for example, or may comprise translation between other languages or data format or message format. HTML pages may be used to generate PC client browser EPG screens and browser based VOD purchase options.
- existing IPTV middleware metadata is used to create a VOD or Broadcast TV EPG, automatically generating EPG data without any modifications to the IPTV Middleware.
- This step may be performed using various web development tool languages such as Ruby On Rails, Hypertext Preprocessor (PHP), Pearl or other web development tool languages.
- Additional Hyper Text Transfer Protocol (HTTP) servers may be deployed by the Telco network for serving the HTTP EPG data for VOD and broadcast TV. The EPG gives the user options for purchasing additional channels or purchasing selected videos.
- HTTP Hyper Text Transfer Protocol
- EPG data and other data can also be prepared for a client device not supported by the middleware system outside of proxy to avoid CPU overhead of on-the-fly translation and as such unsupported clients can obtain EPG from an EPG server that is not the supported STB only system middleware EPG server.
- any of the translations functions, message protocol conversion functions or other modules or functions as described above can also be statically prepared and delivered to the non-supported client without on-the fly translation.
- Non-supported client data and system middleware data can use any type of data format, data type, programming language, the system described above is not limited to certain types of data or protocols.
- Network control command message translation or generation or deletion is performed to control video download or video play out.
- a conversion from real time streaming protocol (RTSP) to a non-RTSP protocol may be necessary or the client device may not support an IP Multimedia Subsystem (IMS) layer control signal that is required to start a video or start or control a broadcast TV channel and this may be performed by the proxy service in the VOD/Live TV Signal Interface Module 38 in Figure 2.
- IMS IP Multimedia Subsystem
- Other application (music, video, game, document) service specific signaling may be incorporated to perform control plane signal functions and translations when required.
- a broadcast channel or VOD request received from the client device (step 54) using the EPG is translated from the client device language to the middleware language (e.g. HTML to JAVA) at module 34, and then forwarded to the middleware 24.
- middleware language e.g. HTML to JAVA
- the requested content stream (VOD or broadcast channel) is started at the content provider headend and sent to the middleware proxy in association with the proxy connection ID such as a proxy STB ID, or directly to the client without the stream going through the proxy client.
- the middleware proxy system translates the proxy connection ID into the proper connection ID for the client device, and the requested content is forwarded to the client device (step 55) by VOD/live TV signal interface module 38.
- the VOD/live TV signal interface module 38 may not be needed and client devices not supported by the system middleware may in fact be supported at the VOD or broadcast TV signal control layer when protocols such as RTP/RTSP streaming or Multicast Joins are required by the network to control video streams.
- the middleware proxy system 28 also provides secure subscriber signup support and subscriber customer care functions such as billing review and account cancellation via account service translation module 35, with all the standard account service or customer care functions being provided by the existing middleware system 24 and translated by module 35 for customer care interactions with the unsupported client device.
- the procedure for client devices 10, 12, 14 or 15 requesting content over the open Internet 30 through middleware proxy system 28A is substantially the same as described above. However, in this case, appropriate geo filters, rights files, and service access filters determine whether service over the Internet is permitted.
- the existing middleware system 24 does not have to be modified to handle multiple different types of client device, since each new client device looks like a standard, middleware supported STB client device to the existing middleware. To a Telco or other network, it appears as if the IPTV middleware they purchased has been extended to support multiple client device types (and maybe networks) without purchasing a new system and without modification to their existing system.
- content is king, and the availability of content on different subscriber devices can be a key business differentiator for an IP based network when compared to satellite and cable systems. When an operator can deliver their content to different types of client devices such as Set Top Boxes, Mobile Phones, PCs, and PDAs, the perceived value of the service increases.
- the middleware proxy system described above can also provide content on different client devices without requiring changes to the existing Operational and Business Support (OSS/BSS) system, and can be adapted supply content to devices not supported by the OSS/BSS system.
- OSS/BSS Operational and Business Support
- the proxy system described above is utilized to map non-supported client devices to a format understood by the OSS/BSS using similar steps as applied for adapting the nonsupported client to a middleware system.
- the technology used in the middleware proxy system may be used with security protocols, conditional access system technology and encryption based on many open standards such as Advanced Encryption Standard (AES), Secure Socket Layer (SSL) and public key infrastructure (PKI) based encryption, remote procedure call protocol encoded in Extensible Markup Language (XML), or XML RPC, Simple Object Access Protocol (SOAP), H.264 video compression standard, 3rd Generation Partnership Project (3GPP), Internet Engineering Task Force (IETF), Digital Video Broadcast (DVB) and other standards.
- AES Advanced Encryption Standard
- SSL Secure Socket Layer
- PKI public key infrastructure
- SOAP Simple Object Access Protocol
- H.264 video compression standard 3rd Generation Partnership Project
- 3GPP 3rd Generation Partnership Project
- IETF Internet Engineering Task Force
- DVD Digital Video Broadcast
- the middleware proxy system may be used in conjunction with existing security certificate authority systems such as the Video Content Authority System (VCAS) provided by Verimatrix, Inc.
- VCAS Video Content Authority
- DSP digital signal processor
- a general-purpose processor can be a microprocessor, but in the alternative, the processor can be any processor, controller, microcontroller, or state machine and the processing can be performed on a single piece of hardware or distributed across multiple servers or running on multiple computers that are housed in a local area or dispersed across different geographic locations.
- a processor can also be implemented as a combination of computing devices, for example, a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration.
- a software module can reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, a removable disk, a CD-ROM, or any other form of storage medium including a network storage medium.
- An exemplary storage medium can be coupled to the processor such the processor can read information from, and write information to, the storage medium.
- the storage medium can be integral to the processor.
- the processor and the storage medium can also reside in an ASIC.
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Human Computer Interaction (AREA)
- Computer Graphics (AREA)
- General Engineering & Computer Science (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Information Transfer Between Computers (AREA)
Abstract
A content delivery proxy system and method delivers content to an unsupported client device within a content delivery system by converting messages and data from the unsupported client device into content delivery system supported messages and data. Client log-in messages are converted into a content delivery system supported format and sent to the content delivery system, and user entitlement information is requested from the content delivery system. If the user is a subscriber of the content provider, an unsupported client device identifier is created for the client device. A user interface for selecting content from the content delivery system is displayed on the client device in a client device supported format, and selections on the user interface are sent to the content delivery system. Selected content is provided to the client device in the proper format for playback on the client device.
Description
CONTENT DELIVERY PROXY SYSTEM AND METHOD
Background
1. Field of the Invention
[01] The present invention relates generally to content delivery or middleware systems which couple user devices such as set top boxes (STBs) to content providers such as IPTV (internet protocol television), cable network operators, satellite television providers or VOD (video on demand) providers, and is particularly concerned with an interface or proxy for an existing content delivery system or middleware system. The present invention can be used in other systems where subscriber management is involved including music download and streaming services, game services, document services and other services where there is a need to couple disparate unsupported client devices to a service.
2. Introduction
[02] In content delivery systems which deliver entertainment media and the like to client devices, service and network software provides subscriber management, electronic program guide (EPG), client login, client firmware download and client provisioning, broadcast TV, and Video On Demand (VOD) services. In some systems, this software is provided by so-called "middleware". Most internet protocol television (IPTV) systems support a limited number of device types and require a client device application that supports the system middleware. The client device application is often called a client middleware. In most cases, client middlewares are not easily ported to other devices without major software development efforts. In addition, most closed network video and content delivery systems cannot deliver content securely to devices outside the closed network because of security issues in addition to middleware compatibility issues. [03] Current IPTV and VOD middleware systems typically provide for programs to be viewed on STBs and do not support PC (personal computer) type devices such as computers, mobile phones, personal digital assistants, and the like. Typically, current middleware for live television and video on demand is provided over a network such as a telephone company (Telco) network or satellite TV provider or cable TV provider, and allows viewing of electronic program guide (EPG) listings and of the programs themselves in a format suitable for a television screen. Such content cannot be viewed on other, PC based devices such as personal computers, laptop computers, or mobile phones, personal
digital assistants, personal media players, and the like because the middleware system does not support such devices.
[04] Therefore, what is needed is a system and method that overcomes these significant problems found in the conventional systems as described above.
Summary
[05] A content delivery or middleware proxy system in one embodiment provides PC client to system translation functions allowing network systems that support only certain types of clients to also support PC or other unsupported client devices, without any major changes to an existing content delivery system or middleware of a content provider. The system and method is designed to make any client device look like a standard or middleware supported client device. The proxy system may also support multiple Digital Rights Management (DRM) systems without requiring changes to the existing middleware system or the client device. The proxy system may be used with an IPTV network content delivery or middleware system in one embodiment, but can also be applied to cable, satellite, broadcast TV, broadband internet, and any other network or data delivery system. [06] In one embodiment, a content delivery or middleware proxy system has a client log-in translation module and an electronic program guide (EPG) translation module which convert between the client device language and the existing content delivery or middleware system language to permit an unsupported client device to log on to a network or data delivery system and to receive the EPG in a format they can understand. A VOD/live TV signal interface module transmits the VOD or broadcast signals from the network provider in a video format viewable on the client device. In one embodiment, the middleware proxy system allows for additional channels which are viewable on mobile phones, personal computers, and other PC-based client devices, and these are added to the available programs which the existing middleware system lists on the EPG without the existing middleware needing to be aware that they are not standard or existing middleware supported STB channels.
[07] The content delivery or middleware proxy system connects unsupported client devices to a content delivery system or middleware system without requiring changes to the content delivery system system, so that operators may add support for client devices without modifications to the client or the system middleware. In addition, the content delivery proxy system may be adapted to allow support of client devices containing multiple Digital Rights Management (DRM) formats that are not supported by the content
delivery system or middleware. In this system, translation between multiple different native languages, such as JAVA, HyperText Markup Language (HTML), and others, may be provided in a single unit, as well as support for multiple different DRM systems, without requiring each new client device to be modified in order to communicate via a network such as a telephone company (Telco) network with a content provider through existing content provider middleware which may be configured for supporting only one specific type of client device, and without modification of the existing content provider middleware or content delivery system to support the new client device. [08] According to another aspect, a method of delivering content to an unsupported client device within a content delivery system is provided. In the method of one embodiment, log in information from an unsupported client device is translated from the client device message format to the content delivery system message format and is then transmitted to the content delivery system, a user interface provided by the content delivery system is translated from the content delivery system supported format to a client device supported format and then displayed on the client device, client content selections on the user interface are translated from the client device format to the content delivery system format and provided to the content delivery system, and selected content is provided to the client device in the proper format for playback on the client device. While the term 'translate' was used in the above explanation other methods can be used instead of translation including have a protocol adapter to adapt a client based message and display format to a content delivery system format, or to have a client based application output system format messages, or a parallel graphical user interface (GUI) different than the content delivery system supported GUI, or a parallel processing element to the processing performed by the content delivery system or middleware system. [09] In one embodiment, the user interface may be an electronic program guide (EPG) or the like which displays available channels and VOD selections. In one embodiment, where the existing content delivery system only supports STBs in JAVA programming language format, for example, and the client device is PC based, the content delivery proxy system is designed for translation of messages, message data, middleware system data, or middleware protocol between the client device and the existing middleware or content delivery system, and may translate back and forth between JAVA and HyperText Markup Language (HTML), for example. Other such message or data translations or data format support appropriate for adapting a client device that is not supported by the content delivery system is also envisioned, including translations including interfacing to binary,
extended (XML) markup language, Java, abstract syntax notation one (ASN.1), C/C++ and other data formats. The translations may include translation between different versions or forms of JAVA, binary, or other languages. Data conversions or data translations, protocol conversions or translations, message conversions or translations, and other translations or conversions may be applied as necessary to couple a content delivery system or middleware system to a client device not normally supported by the content delivery system.
[10] In this system, the system middleware or service and network software does not have to know the device type of the client device and there is no need for additional native middleware support on the client device to interface to the operator's headend system. Since the middleware proxy system translates between the middleware system and the client device so that the client device looks like a set top box or middleware supported client device to the existing middleware system, the client device operates or appears to the headend system as a device with native support.
[11] The content delivery or middleware proxy system and method in one embodiment allows support for different types of client devices having multiple digital rights management (DRM) formats without requiring changes to the existing system middleware designed for STB DRM formats or support for systems without DRMs as well. For example, open mobile alliance (OMA) DRM support can be added to a middleware system without the middleware vendor making any system software changes on the headend and without having a middleware client for the target device. The system provides any client with existing network system middleware translation functions, such as existing IPTV system middleware, allowing IPTV systems that previously did not support PC or other types of clients to support PC clients. In fact, the IPTV system does not know that the client device is a PC because the system operation looks exactly the same as a STB operation or middleware supported client to the IPTV middleware headend.
[12] The content delivery proxy system and method couples a client device or client device DRM to a middleware system that may not have native support for the client device and allows the unsupported client device to use the services of the operator with appropriate provisioning of the adapted client device. Unlike prior art VOD and IPTV middleware systems, this system supports any type of content such as video, audio, computer program, game and other forms of digital data. In one embodiment, a distributor can distribute content to devices over the open Internet and off the content distributors
network with billing, accounting, client provisioning, and client security acceptable to movie studios, broadcasters and other content providers.
[13] Other features and advantages of the present invention will become more readily apparent to those of ordinary skill in the art after reviewing the following detailed description and accompanying drawings.
Brief Description of the Drawings
[14] The details of the present invention, both as to its structure and operation, may be gleaned in part by study of the accompanying drawings, in which like reference numerals refer to like parts, and in which:
[15] Figure 1 is a block diagram of one embodiment of a content delivery system architecture for coupling various client devices to a content provider;
[16] Figure 2 is a block diagram of one embodiment of the content delivery or middleware proxy system of Figure 1 for use when content is delivered through a private network;
[17] Figure 3 is a block diagram illustrating an entitlement checking procedure; and
[18] Figure 4 is a flow diagram illustrating an embodiment of a method of delivering content to an unsupported client device using the content delivery proxy system of Figure
2.
Detailed Description
[19] Certain embodiments as disclosed herein provide a content delivery or middleware proxy system and method for delivering content to different types of unsupported client devices within a content delivery system without requiring existing "middleware" or content and delivery software to run on the client device. For example, one method as disclosed herein allows for delivery of content to a personal computer (PC) based client device through existing internet protocol television (IPTV) middleware which only supports set top box (STB) client devices, using a middleware proxy system to translate between the client device messaging protocol and the IPTV middleware messaging protocol. Although the embodiment below describes a proxy system used in conjunction with IPTV system middleware, the system and method described is not limited to IPTV networks, and may be applied to cable, satellite, broadcast TV, broadband internet, and any other network or data delivery system in alternative embodiments. The use of the term PC in this patent application refers not only to a Personal Computer but also any other
type of client device such as a cellular telephone, Personal Digital Assistant (PDA), portable media player, game player, unsupported STBs, and other computer type devices. [20] After reading this description it will become apparent to one skilled in the art how to implement the invention in various alternative embodiments and alternative applications. However, although various embodiments of the present invention will be described herein, it is understood that these embodiments are presented by way of example only, and not limitation. As such, this detailed description of various alternative embodiments should not be construed to limit the scope or breadth of the present invention.
[21] In the following description, a client device may be any type of device capable of computing and receiving data from a network, such as a set top box (STB), personal computer, game console, cellular or mobile phone, personal digital assistant (PDA), personal media player, video equipment such as a digital video receiver (DVR), digital video disc (DVD) player (DVD), compact disc (CD) player, smart card, or the like. [22] A network may refer to a network or combination of networks spanning any geographical area, such as a local area network, wide area network, regional network, national network, and/or global network. The Internet is an example of a current global computer network. Those terms may refer to hardwire networks, wireless networks, or a combination of hardwire and wireless networks. Hardwire networks may include, for example, fiber optic lines, cable lines, ISDN lines, copper lines, etc. Wireless networks may include, for example, cellular systems, personal communications service (PCS) systems, satellite communication systems, packet radio systems, and mobile broadband systems. A cellular system may use, for example, code division multiple access (CDMA), time division multiple access (TDMA), personal digital phone (PDC), Global System Mobile (GSM), or frequency division multiple access (FDMA), among others. [23] Also in the following description, digital content provided to a client device may be a movie or television show, but may alternatively or additionally be a music recording or other type of digital content file in alternative embodiments, such as music, games, software, multi-media presentations, images, and other materials that can be represented digitally. A digital content provider may be the creator of the digital content, such as a movie or motion picture studio or television studio, or may be a content provider which distributes content created by others, such as a home box office or video on demand provider, IPTV provider, cable TV provider, satellite content provider, broadcast TV provider, broadband internet provider, international distributor, amateur content provider,
or any other network or data delivery system. In the illustrated embodiment, digital content is supplied through a telephone company network, but the network which couples the digital content provider to the client device may alternatively be a network of a cable television provider, satellite television provider, Internet service provider, or the like. [24] Although the proxy system is described below as a middleware proxy system, this language should be considered to include a content delivery proxy system or middleware proxy system for use in conjunction with any content delivery system which delivers content to supported client devices.
[25] As illustrated in Figure 1 , different types of unsupported client devices which have different native messaging or data structures and different DRM formats, such as a personal computer 10, a personal digital assistant 12, a mobile phone 14, and a set top box or STB 15, receive content from a content delivery system comprising a content provider 20 such as an IPTV provider and associated middleware 24 through a network 22 such as a telephone company (Telco) or other distribution network. In this embodiment, the content provider 20 has an existing middleware or content delivery system 24 which only supports certain client devices, such as supported set top boxes 25 and, in some cases, limited types of PC device 26. Middleware system 24 is connected to the client devices 10, 12, 14, and 15 through a content delivery proxy system or middleware proxy system 28 which adapts any unsupported client devices to the middleware system 24 without requiring changes to the existing middleware or content delivery system 24, as described in more detail below with reference to Figures 2 to 4. Content delivery system 24 may be integrated in the content provider 20 in some system architectures, or may be a separate middleware platform. The middleware proxy system 28 may be one or more servers running on the Telco network, as illustrated, and may be provided in a single housing or unit for easy installation. In an alternative embodiment, the proxy system may be provided on a client device running on an open network wherein the proxy system running locally on the client performs the appropriate translations necessary to couple the client device not normally supported by the middleware system to the middleware system. In this case the proxy running on the client device may use screen resolution and message data not normally supported by the client device and couples the middleware supported resolutions and data to ones supported by the client.
[26] Figure 1 also illustrates a modified middleware proxy system 28A which allows similar, unsupported client devices 10, 12, 14, and 15 to receive content from the content provider 20 over the open Internet 30. The middleware proxy system 28A is similar to the
system 28 but additionally includes software filters 29 such as geo filters which may include restrictions on geographical locations to which content may be distributed, rights filters which may restrict the types of client device to which content may be distributed, and service access filters which may restrict the type of service which is allowed over the open Internet. In Figure 1, the client devices 10, 12, 14, and 15 linked to the content provider through middleware proxy system 28 or 28A are client device models which are unsupported by the existing content provider middleware 22, while the client devices 25 and 26 are models which are supported by middleware 22.
[27] The main functions provided by the middleware proxy system 28 and 28A are as follows:
1. Client Login and Authentication.
2. Middleware interface for VOD purchase or Broadcast entitlement checking.
3. Electronic Program Guide or On Screen Display and User Interface for PC.
4. VOD purchase and Broadcast network signaling or network service control (for example performing a middleware system format appropriate multicast join, controlling a VOD movie stream, controlling the download of content, performing personal video recorder or PVR functions, firmware download, system and network client management, and provisioning services and the like)
5. Subscriber account activation and account services.
[28] Figure 2 is a block diagram illustrating functional modules of the middleware proxy system 28 or 28A. The middleware proxy system 28A which provides content over the open Internet includes the modules of Figure 2 and also includes the appropriate software filters (geographic, rights, and service access) for such content, as discussed above and indicated in Figure 1. The main functions provided by the middleware proxy system are translation modules which allow translation back and forth between the native middleware messaging protocol or format and the client device messaging protocol or format for client login and authentication (module 32), user interface or electronic program guide (module 34), and client or subscriber account service functions (module 35) such as customer care or management, billing, and the like. An optional data base 36 may be linked to these modules in addition to a VOD/live TV signal interface module 38, or other support modules (not shown) for supporting PVR, firmware download, system and network client management, provisioning services and the like. An interface module is also provided for entitlement checking, as illustrated in Figure 3 and described in more detail below.
[29] While Figure 2 shows multiple functional blocks, the proxy system can operate with as little as one of these functional blocks. For example, coupling of an unsupported client device to a middleware system may only require a Log-in/Authentication Translation Module 32. Other applications of this system may require one or more of the modules shown in Figure 2 and these modules can be distributed running on different computers running on one or more networks (Ethernet, or Ethernet and mobile, or mobile, etc.) Although not illustrated in Figure 2, the middleware proxy system or server has a first communication device which communicates with the existing middleware and a second communication device which communicates with the unsupported client devices. [30] In the middleware proxy system of this embodiment, client login and authentication for an unsupported client device, i.e. a client device which is not supported by the existing content provider middleware 24, uses the same content provider middleware provisioning interfaces as a supported client device, such as a supported STB 25 as illustrated in Figure 1. This allows an IPTV Middleware system that only supports certain types of STB client devices to support PC based client devices such as PCs, mobile phones, PDAs, and the like, and other client devices such as unsupported types of STB, without modifications to the existing middleware system. To the IPTV middleware, any unsupported client device connecting through the middleware proxy system or server 28 or 28A looks like a supported client device, such as an STB client device. The middleware proxy system can therefore extend an IPTV system to support any client device (or even a different legacy STB middleware) to an IPTV middleware that does not provide native support for the client device. In one embodiment, the PC Client Login and Authentication protocol uses standard or middleware supported STB Client Login and Authentication protocol which may include clone detection as described in co-pending Application Serial No. 11/625,045 filed on January 19, 2007, the contents of which are incorporated herein by reference. The log in and authentication module 32 of Figure 2 translates the client login and authentication function to that required by the IPTV middleware 24.
[31] Figure 4 is a flow diagram illustrating one example of a method of providing content to an unsupported client device in the system of Figures 1 and 2. In one example, where the client device is a PC based device using HTML protocol and the native middleware protocol uses JAVA, the client log in request message 40 is received in HTML format and is translated by module 32 to JAVA format with appropriate data conversion at step 42 before being sent to the existing middleware client log in module
(step 44). Messages back and forth between the client device and middleware system 24 are translated from HTML to JAVA and from JAVA to HTML as needed in the translation module 32. It should be understood that the same procedure is used regardless of the native language of the client device and the middleware 22, and the log-in and authentication module may be programmed for translation between standard languages other than JAVA and HTML depending on the type of client device to which service is to be provided. In some systems translations may not be required in one or more of the modules shown, or translations between the same language such as between two JAVA interfaces or two C/C+ + interfaces.
[32] In one embodiment, a standard entitlement interface 45 is used to interface to the IPTV middleware 24 for VOD purchase or broadcast entitlement checking, as generally illustrated in Figure 3. In one example, an entitlement interface as provided in the Content Security Manager system available from Verimatrix, Inc. of San Diego, California may be provided in the middleware proxy system 28 or connected to the middleware proxy system as indicated in Figure 3. The middleware proxy system server obtains none, some or all of the business rules and subscriber entitlements for disparate client devices over the entitlement interface 45. In this way, any IPTV middleware may be extended to support additional devices and services without needing a new IPTV headend system middleware. [33] In step 46, the proxy system 28 determines the subscriber rights associated with the client device using the subscriber ID or identification number or translated client ID for the client device. One example of an entitlement check procedure is generally illustrated in Figure 3. Existing middleware systems normally provide service to STBs based on the Media Access Control (MAC) address or connection ID associated with the specific STB, or a subscriber ID or translated subscriber ID, and the subscriber entitlement information is associated with unique MAC addresses or device serial number of client ID or other identifier. When a new subscriber having an unsupported client device, such as a mobile phone, for example, wishes to sign up for IPTV broadcast or video on demand (VOD) service, the mobile phone number is associated with a proxy or fake MAC address and the proxy MAC address is provided to the existing middleware system 24. This may be done when the prospective subscriber calls an 800 number of the IPTV provider to sign up for service. The actual connection ID of the unsupported client device may be stored along with the proxy MAC address in the middleware proxy data base 36. The actual connection ID is the phone number of the device in the case of a mobile phone or PDA. For other types of unsupported client devices, a client unique identifier is managed by the proxy
system translating an unsupported client unique ID to a middleware support ID, and an example includes using a client unique ID and mapping it to look like a MAC address. [34] Once the log on and authentication procedure is completed and the entitlement rights of the subscriber have been checked, the appropriate broadcast and/or VOD keys are delivered to the client device and the proxy STB ID for the client device is provided to the middleware system 24. The middleware system creates a graphical user interface (GUI) comprising an Electronic Program Guide (EPG) or On Screen Display and User Interface for that client, indicating available channels and videos which may be selected. This EPG is in the standard language for client devices supported by the middleware system 24, typically STBs, and may be in JAVA, for example. It is also in an STB screen format. For video (or other services) the channels and videos available are dependent on the type of client devices supported by the operator and include channels and videos provided by the content provider 20 in the proper format for display on the screen of the client device, such as mobile phone video display format, STBs, PDA, gaming consoles, portable media players or PC display format. The middleware system 24 is not aware that these channels and videos are anything other than standard, middleware supported STB channels and videos.
[35] In one embodiment, data not normally associated with a standard subscriber ID is used to indicate to the system operator that the subscriber STB information is actually for a middleware unsupported device. This can be achieved by having non-supported client system middleware data that is obviously different from a standard client device supported by middleware. For example, all client IDs for mobile devices can begin with the letter 'M' when the system middleware supports an alphabetic character in the client ID fields, and other system middleware compatible identifiers can be created so that the operator can immediately identify a non-supported client by a system middleware data field. Another example is to have all non-supported client devices start with a client ID of 90xxx where a client id prefix of 910xxx indicates a mobile client, 992xxx a PDA, 993xxx a PC and middleware supported devices have IDs from OOOxxx to 899xxx such as 8993425721. [36] The middleware proxy system 28 receives the EPG in supported client language from the middleware system 24 at step 48, and the EPG is translated from the supported client/existing middleware language or message format into the unsupported client device message format by EPG translation module 34 (step 50). The proxy STB connection ID for the client device is changed to the actual connection ID such as the mobile phone number for the client device, and the translated EPG is then forwarded to the client device
(step 52). The translated EPG is in a format and size suitable for display on the screen of the client device. The translation step 50 may comprise translation from JAVA to HTML, for example, or may comprise translation between other languages or data format or message format. HTML pages may be used to generate PC client browser EPG screens and browser based VOD purchase options. In this step, existing IPTV middleware metadata is used to create a VOD or Broadcast TV EPG, automatically generating EPG data without any modifications to the IPTV Middleware. This step may be performed using various web development tool languages such as Ruby On Rails, Hypertext Preprocessor (PHP), Pearl or other web development tool languages. Additional Hyper Text Transfer Protocol (HTTP) servers may be deployed by the Telco network for serving the HTTP EPG data for VOD and broadcast TV. The EPG gives the user options for purchasing additional channels or purchasing selected videos.
[37] In one embodiment, EPG data and other data can also be prepared for a client device not supported by the middleware system outside of proxy to avoid CPU overhead of on-the-fly translation and as such unsupported clients can obtain EPG from an EPG server that is not the supported STB only system middleware EPG server. In this embodiment, any of the translations functions, message protocol conversion functions or other modules or functions as described above can also be statically prepared and delivered to the non-supported client without on-the fly translation. Non-supported client data and system middleware data can use any type of data format, data type, programming language, the system described above is not limited to certain types of data or protocols. Network control command message translation or generation or deletion is performed to control video download or video play out. For example, a conversion from real time streaming protocol (RTSP) to a non-RTSP protocol may be necessary or the client device may not support an IP Multimedia Subsystem (IMS) layer control signal that is required to start a video or start or control a broadcast TV channel and this may be performed by the proxy service in the VOD/Live TV Signal Interface Module 38 in Figure 2. Other application (music, video, game, document) service specific signaling may be incorporated to perform control plane signal functions and translations when required. [38] A broadcast channel or VOD request received from the client device (step 54) using the EPG is translated from the client device language to the middleware language (e.g. HTML to JAVA) at module 34, and then forwarded to the middleware 24. The requested content stream (VOD or broadcast channel) is started at the content provider headend and sent to the middleware proxy in association with the proxy connection ID
such as a proxy STB ID, or directly to the client without the stream going through the proxy client. The middleware proxy system translates the proxy connection ID into the proper connection ID for the client device, and the requested content is forwarded to the client device (step 55) by VOD/live TV signal interface module 38. In some systems the VOD/live TV signal interface module 38 may not be needed and client devices not supported by the system middleware may in fact be supported at the VOD or broadcast TV signal control layer when protocols such as RTP/RTSP streaming or Multicast Joins are required by the network to control video streams. In some cases only address translations or address format translations maybe required and not stream control protocols, and in other cases data format conversions and stream control protocol translations are required to support a client device not normally supported by the system middleware. The requested content is in the correct screen format for the requesting client device since only channels and videos in that screen format are listed on the EPG created for that client device.
[39] The modules and processing shown in Figure 2 and in other Figures of this patent application can be performed at any point in the system including on the middleware server, in network equipment, on a separate proxy system or even in the client device not supported by the system middleware.
[40] The middleware proxy system 28 also provides secure subscriber signup support and subscriber customer care functions such as billing review and account cancellation via account service translation module 35, with all the standard account service or customer care functions being provided by the existing middleware system 24 and translated by module 35 for customer care interactions with the unsupported client device. [41] The procedure for client devices 10, 12, 14 or 15 requesting content over the open Internet 30 through middleware proxy system 28A is substantially the same as described above. However, in this case, appropriate geo filters, rights files, and service access filters determine whether service over the Internet is permitted.
[42] In this system, the existing middleware system 24 does not have to be modified to handle multiple different types of client device, since each new client device looks like a standard, middleware supported STB client device to the existing middleware. To a Telco or other network, it appears as if the IPTV middleware they purchased has been extended to support multiple client device types (and maybe networks) without purchasing a new system and without modification to their existing system.
[43] In video delivery systems content is king, and the availability of content on different subscriber devices can be a key business differentiator for an IP based network when compared to satellite and cable systems. When an operator can deliver their content to different types of client devices such as Set Top Boxes, Mobile Phones, PCs, and PDAs, the perceived value of the service increases. The middleware proxy system described above can also provide content on different client devices without requiring changes to the existing Operational and Business Support (OSS/BSS) system, and can be adapted supply content to devices not supported by the OSS/BSS system. When the proxy system described above is used in systems where it is desired to support devices not supported by the OSS/BSS, then the proxy system is utilized to map non-supported client devices to a format understood by the OSS/BSS using similar steps as applied for adapting the nonsupported client to a middleware system.
[44] The above approach to cross-platform content distribution is different from the techniques being proposed by Coral, Microsoft, and others. This approach offers a middleware proxy solution that transparently extends the services and capabilities associated with a user to device rights for devices running on unsupported by system middleware without native support for the unsupported device from the OSS/BSS system. Using the middleware proxy system, subscriber entitlements are extended into device entitlements, allowing an operator that does not have native support for mobile phones to add such support without changing the existing OSS/BSS system, for example. The technology used in the middleware proxy system may be used with security protocols, conditional access system technology and encryption based on many open standards such as Advanced Encryption Standard (AES), Secure Socket Layer (SSL) and public key infrastructure (PKI) based encryption, remote procedure call protocol encoded in Extensible Markup Language (XML), or XML RPC, Simple Object Access Protocol (SOAP), H.264 video compression standard, 3rd Generation Partnership Project (3GPP), Internet Engineering Task Force (IETF), Digital Video Broadcast (DVB) and other standards. The middleware proxy system may be used in conjunction with existing security certificate authority systems such as the Video Content Authority System (VCAS) provided by Verimatrix, Inc. of San Diego, California, producing a cross-platform CA system that extends the operators content distribution system with encrypted content using off-the-shelf standards based networking and head-end equipment and standards based security of Digital Rights Management systems.
[45] Those of skill in the art will appreciate that the various illustrative logical blocks, modules, circuits, and method steps described in connection with the above described figures and the embodiments disclosed herein can often be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled persons can implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the invention. In addition, the grouping of functions within a module, block, circuit or step is for ease of description. Specific functions or steps can be moved from one module, block or circuit to another without departing from the invention.
[46] Moreover, the various illustrative logical blocks, modules, and methods described in connection with the embodiments disclosed herein can be implemented or performed with a general purpose processor, a digital signal processor ("DSP"), an ASIC, FPGA or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general-purpose processor can be a microprocessor, but in the alternative, the processor can be any processor, controller, microcontroller, or state machine and the processing can be performed on a single piece of hardware or distributed across multiple servers or running on multiple computers that are housed in a local area or dispersed across different geographic locations. A processor can also be implemented as a combination of computing devices, for example, a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration.
[47] Additionally, the steps of a method or algorithm described in connection with the embodiments disclosed herein can be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. A software module can reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, a removable disk, a CD-ROM, or any other form of storage medium including a network storage medium. An exemplary storage medium can be coupled to the processor such the processor can read information from, and write information to, the
storage medium. In the alternative, the storage medium can be integral to the processor. The processor and the storage medium can also reside in an ASIC.
[48] The above description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles described herein can be applied to other embodiments without departing from the spirit or scope of the invention. Thus, it is to be understood that the description and drawings presented herein represent a presently preferred embodiment of the invention and are therefore representative of the subject matter which is broadly contemplated by the present invention. It is further understood that the scope of the present invention fully encompasses other embodiments that may become obvious to those skilled in the art and that the scope of the present invention is accordingly limited by nothing other than the appended claims.
Claims
1. A method of delivering content to an unsupported client device within a content delivery system, comprising: receiving a client log in message from a client device at a content delivery proxy system, the client device comprising an unsupported client device which is not supported by a content delivery system of a content provider from which service is requested in the message; converting the received client log in message into a content delivery system supported message format; sending the converted message to the content delivery system and requesting the entitlement rights of a user from the content delivery system for the unsupported client device to receive content from the content provider; creating an unsupported client identifier associated with the user if the user is found to be a subscriber in the content delivery system of the content provider, the unsupported client identifier associating the unsupported client device with the subscriber, whereby the unsupported client device appears to be a content delivery system supported client device to the content delivery system; displaying a user interface for selecting content from the content delivery system on the unsupported client device in a message and display format which is supported by the client device; receiving a content request entered at the user interface on the unsupported client device; sending the user interface entered content request to the content delivery system; and providing the requested content from the content delivery system to the client device in a client device display format for playback on the client device.
2. The method of claim 1, wherein the step of sending messages to the content delivery system includes modifying the unsupported client device identifier into a content delivery system supported client device identifier.
3. The method of claim 2, further comprising receiving a message from the content delivery system for the unsupported client device, the message being associated with the content delivery system supported client device identifier, converting the message into a message display format which is supported by the client device, and sending the converted message to the client device, the step of converting the message including modifying the content delivery system supported client device identifier into the unsupported client device identifier.
4. The method of claim 1, further comprising sending messages from the content delivery system to the unsupported client device in a message display format which is supported by the client device.
5. The method of claim 1, wherein the step of sending the user interface entered content request to the content delivery system includes converting the content request into a content delivery system message format.
6. The method of claim 1, wherein the step of converting the client log in message into the content delivery system message format comprises translating the message from a machine language used by the client device into a different machine language used by the content delivery system.
7. The method of claim 6, wherein the languages comprise two different languages selected from the group consisting of JAVA, Hypertext Markup Language (HTML), binary, extended mark up language (XML), Abstract Syntax Notation One (ASN.1), and
C/C++.
8. The method of claim 1 , wherein the step of converting a message received from the client device into a content delivery system supported format comprises conversion between two different versions of the same machine language.
9. The method of claim 8, wherein the step of converting comprises conversion between different forms of binary, JAVA, or C/C++.
10. The method of claim 1 , wherein the step of converting a message received from the client device into a content delivery system supported format comprises using a protocol adapter to adapt a client device based message format to a content delivery system based message format.
11. The method of claim 1 , further comprising conversion of messages between the content delivery system and unsupported client device between different digital rights management (DRM) formats.
12. The method of claim 1, wherein the user interface comprises an electronic program guide (EPG) of the content distributor converted from the existing content delivery system format into a format which can be displayed on the unsupported client device.
13. The method of claim 1, further comprising storing a plurality of different user interfaces of different content delivery systems in a format supported by the unsupported client device, and displaying the user interface of a selected content delivery system on the unsupported client device in the format supported by the client device on request by a user of the unsupported client device.
14. The method of claim 1, wherein the user interface is an electronic program guide (EPG).
15. The method of claim 1, wherein the user interface is a graphical user interface (GUI).
16. The method of claim 15, wherein the step of displaying a user interface comprises selecting a GUI which is in a message and display format supported by the client device from a series of parallel GUIs in different message and display formats and displaying the selected GUI on the client device.
17. The method of claim 1, wherein the content provided to the unsupported client device is selected from the group consisting of video content, audio content, games, software, documents, binary data, images, and multi-media content.
18. The method of claim 1, wherein the unsupported client device is selected from the group consisting of set top boxes (STBs), personal computers (PC), mobile phones, personal digital assistants, personal media players, and smart cards.
19. The method of claim 1, wherein the content provider is selected from the group consisting of motion picture studios, television studios, video on demand (VOD) providers, internet protocol TV (IPTV) providers, cable TV providers, satellite content providers, broadcast TV providers, broadband internet providers, international distributors, audio content providers, amateur content providers, game providers, and data delivery systems.
20. The method of claim 1, wherein the step of providing an unsupported client device identifier comprises assigning a unique proxy Media Access Control (MAC) address supported by the existing content delivery system to the unsupported client device, and creating a content delivery system supported client device identifier which includes the unique proxy MAC address.
21. The method of claim 20, further comprising associating a connection identifier (ID) for the unsupported client device with the proxy MAC address, and providing the proxy MAC address to the content delivery system.
22. The method of claim 1, further comprising requesting entitlement for the user of the unsupported client device if entitlement is not confirmed, receiving entitlement information from the content delivery system, and granting access by the unsupported client device to the requested content in a format compatible with the unsupported client device on receipt of the subscriber entitlement information from the content delivery system.
23. The method of claim 1, further comprising receiving client log in messages from at least two different client devices which are unsupported by the content delivery system, the client devices having different message formats, converting the received messages received from the client devices into a content delivery system supported message format, sending the converted messages to the content delivery system, displaying a user interface for selecting content from the content provider on each unsupported client device in a message and display format which is supported by the respective client device, receiving content requests entered at the user interfaces, sending user interface entered content requests to the content delivery system, and providing the requested content from the content delivery system to the respective client devices in a client device display format for playback on the respective client devices.
24. The method of claim 23, wherein the unsupported client devices are selected from the group consisting of set top boxes (STBs), personal computers (PC), mobile phones, personal digital assistants, personal media players, game players and smart cards.
25. The method of claim 24, wherein the unsupported client devices are associated with a single user on the content delivery system.
26. The method of claim 1, further comprising providing content requests comprising video or live TV selection requests from the unsupported client device to the content delivery system, and providing the requested video or live TV to the unsupported client device.
27. The method of claim 26, wherein the step of providing the requested video or live TV to the unsupported client device includes conversion between real time streaming protocol (RSTP) to non-RTSP protocol.
28. A content delivery proxy system associated with at least one unsupported client device for delivering content from a content delivery system to the unsupported client device, comprising: a client log in module which receives log in messages from the unsupported client device, converts the client log in message into a content delivery system supported format, and sends the converted message to the content delivery system of a content provider; an entitlement interface which requests the entitlement rights of a user of the unsupported client device from the content delivery system to determine if the user is an authorized subscriber entitled to access content available from the content delivery system; a client identifier module which creates an unsupported client identifier associated with the user if the user is found to be a subscriber in the content delivery system of the content provider, the unsupported client identifier associating the unsupported client device with the subscriber to the content delivery system if the user is found to be an authorized subscriber; a user interface module which displays a user interface for selecting content from the content delivery system on the unsupported client device in a message and display format which is supported by the client device, receives a content request entered at the user interface on the unsupported client device, and sends the content request to the content delivery system; and a display module which displays requested content received from the content delivery system on the client device in a client device display format for playback on the client device.
29. The system of claim 28, wherein the client log in module, user interface module, and display module include at least one translation module which translates between at least two different machine languages.
30. The system of claim 29, further comprising parallel translation modules which translate between multiple different machine languages.
31. The system of claim 29, wherein the machine languages comprise at least two languages selected from the group consisting of JAVA, Hypertext Markup Language (HTML), binary, extended mark up language (XML), Abstract Syntax Notation One (ASN.1), and C/C++.
32. The system of claim 31, wherein the translation modules include modules which convert between different versions of the same language.
33. The system of claim 28, wherein the client log-in module comprises a protocol adapter which adapts messages from the content delivery system into client device supported message format and adapts messages from the unsupported client device to a content delivery system supported format.
34. The system of claim 28, further comprising a plurality of parallel client log-in modules which receive messages from a plurality of unsupported client devices which support different message formats and which are unsupported by the content delivery system, convert received messages in each of the formats of the respective client devices into the content delivery system supported format, and provide converted messages to the content delivery system.
35. The system of claim 34, wherein more than one of the unsupported client devices are associated with a single user of the content delivery system.
36. The system of claim 34, further comprising a plurality of user interface modules which display a user interface for the content provider on each client device, each user interface module displaying the user interface in a format supported by the respective client device on which it is displayed.
37. The system of claim 28, wherein the user interface module comprises an electronic program guide (EPG) module which provides an EPG of content available from the content provider to the unsupported client device in a client device display format for display on the unsupported client device, and which receives content selections made on the EPG by a user of the unsupported client device and provides the content selections to the content delivery system in a content delivery system supported format.
38. The system of claim 28, wherein the content comprises at least one type of content selected from the group consisting of video content, audio content, multi-media content, documents, images, binary data, games, and software.
39. The system of claim 28, wherein the user log in module uses the same provisioning interfaces as the content delivery system.
40. The system of claim 28, wherein the unsupported client device identifier (ID) includes a unique proxy Media Access Control (MAC) address.
41. The system of claim 28, wherein the display module comprises a video on demand(VOD)/live TV signal interface module which provides video or live TV from the content provider to the unsupported client device in a format viewable on the client device.
42. The system of claim 41, wherein the VOD/live TV signal interface module comprises a protocol converter which converts from real time streaming protocol (RTSP) to non-RTSP protocol.
43. A method of delivering content to an unsupported client device within a content delivery system by converting messages and data from the unsupported client device into content delivery system supported messages and data, comprising:
receiving a client log in message from a client device at a content delivery proxy system, the client device comprising an unsupported client device which is not supported by content delivery system of a content provider from which service is requested in the message;
converting the received client log in message into a content delivery system supported message format;
sending the converted message to the content delivery system and requesting the entitlement rights of a user from the content delivery system for the unsupported client device for receiving content from the content provider; displaying a user interface for selecting content from the content delivery system on the unsupported client device in a message and display format which is supported by the client device;
receiving a content request entered at the user interface on the unsupported client device;
sending the user interface entered content request to content delivery system; and
providing the requested content from the content delivery system to the client device in a client device display format for playback on the client device.
44. The method of claim 43, wherein sending the user interface entered content request to content delivery system includes converting the content request into a content request message format supported by the content delivery system.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP08839334.3A EP2210190B1 (en) | 2007-10-15 | 2008-10-14 | Content delivery proxy system and method |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US97990707P | 2007-10-15 | 2007-10-15 | |
US60/979,907 | 2007-10-15 |
Publications (2)
Publication Number | Publication Date |
---|---|
WO2009052086A2 true WO2009052086A2 (en) | 2009-04-23 |
WO2009052086A3 WO2009052086A3 (en) | 2009-06-11 |
Family
ID=40535478
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2008/079793 WO2009052086A2 (en) | 2007-10-15 | 2008-10-14 | Content delivery proxy system and method |
Country Status (3)
Country | Link |
---|---|
US (1) | US7962947B2 (en) |
EP (1) | EP2210190B1 (en) |
WO (1) | WO2009052086A2 (en) |
Families Citing this family (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8074248B2 (en) | 2005-07-26 | 2011-12-06 | Activevideo Networks, Inc. | System and method for providing video content associated with a source image to a television in a communication network |
US9826197B2 (en) | 2007-01-12 | 2017-11-21 | Activevideo Networks, Inc. | Providing television broadcasts over a managed network and interactive content over an unmanaged network to a client device |
US9355681B2 (en) | 2007-01-12 | 2016-05-31 | Activevideo Networks, Inc. | MPEG objects and systems and methods for using MPEG objects |
JP2009130750A (en) * | 2007-11-27 | 2009-06-11 | Hitachi Ltd | Content distribution method, control terminal, and display terminal |
EP2269364A4 (en) * | 2008-04-25 | 2016-12-28 | ERICSSON TELEFON AB L M (publ) | Methods and arrangements for interactive caller information services in a communication network |
US9602775B2 (en) * | 2009-05-07 | 2017-03-21 | Centurylink Intellectual Property Llc | Auto discovery and auto provisioning of set top boxes |
CN101931786A (en) * | 2009-06-18 | 2010-12-29 | Tcl集团股份有限公司 | IPTV (Internet Protocol Television) set top box and method for realizing IPTV |
US8560731B2 (en) * | 2010-04-09 | 2013-10-15 | Mobila, Inc. | Subscription-based dynamic content optimization |
US8898719B2 (en) * | 2010-05-20 | 2014-11-25 | Comcast Cable Communications, Llc | Communication for one way devices |
US8964740B2 (en) | 2010-07-28 | 2015-02-24 | CSC Holdings, LLC | Group signaling using synthetic media access control addresses |
US9276979B2 (en) | 2010-09-01 | 2016-03-01 | Vuclip (Singapore) Pte. Ltd. | System and methods for resilient media streaming |
US9083999B2 (en) * | 2010-09-02 | 2015-07-14 | Mobitv, Inc. | User based electronic program guides |
US9021541B2 (en) * | 2010-10-14 | 2015-04-28 | Activevideo Networks, Inc. | Streaming digital video between video devices using a cable television system |
US8930575B1 (en) * | 2011-03-30 | 2015-01-06 | Amazon Technologies, Inc. | Service for automatically converting content submissions to submission formats used by content marketplaces |
US9204203B2 (en) | 2011-04-07 | 2015-12-01 | Activevideo Networks, Inc. | Reduction of latency in video distribution networks using adaptive bit rates |
KR20120122616A (en) * | 2011-04-29 | 2012-11-07 | 삼성전자주식회사 | Method and apparatus for providing service |
KR101561092B1 (en) | 2011-05-12 | 2015-10-19 | 지멘스 악티엔게젤샤프트 | Methods and devices for handling an extended proxy information item |
US9071854B2 (en) * | 2011-09-12 | 2015-06-30 | Disney Enterprises, Inc. | System and method for transmitting a services list to a playback device |
CN102510371B (en) * | 2011-09-30 | 2017-12-22 | 中兴通讯股份有限公司 | A kind of method and device for controlling digital mobile network alliance content |
EP2611067A1 (en) * | 2011-12-30 | 2013-07-03 | Thomson Licensing | System and method for combining multiple communication links |
US10409445B2 (en) | 2012-01-09 | 2019-09-10 | Activevideo Networks, Inc. | Rendering of an interactive lean-backward user interface on a television |
US9800945B2 (en) | 2012-04-03 | 2017-10-24 | Activevideo Networks, Inc. | Class-based intelligent multiplexing over unmanaged networks |
US9123084B2 (en) | 2012-04-12 | 2015-09-01 | Activevideo Networks, Inc. | Graphical application integration with MPEG objects |
US9177158B2 (en) * | 2012-11-07 | 2015-11-03 | Theplatform, Llc | Methods and systems for processing content rights |
WO2014145921A1 (en) | 2013-03-15 | 2014-09-18 | Activevideo Networks, Inc. | A multiple-mode system and method for providing user selectable video content |
US9386341B2 (en) * | 2013-05-09 | 2016-07-05 | Espial Group Inc. | Optimized HTML5 electronic programming guide application |
US9294785B2 (en) | 2013-06-06 | 2016-03-22 | Activevideo Networks, Inc. | System and method for exploiting scene graph information in construction of an encoded video sequence |
WO2014197879A1 (en) | 2013-06-06 | 2014-12-11 | Activevideo Networks, Inc. | Overlay rendering of user interface onto source video |
US9219922B2 (en) | 2013-06-06 | 2015-12-22 | Activevideo Networks, Inc. | System and method for exploiting scene graph information in construction of an encoded video sequence |
US9788029B2 (en) | 2014-04-25 | 2017-10-10 | Activevideo Networks, Inc. | Intelligent multiplexing using class-based, multi-dimensioned decision logic for managed networks |
US10264322B2 (en) | 2015-02-18 | 2019-04-16 | Mobitv, Inc. | Unified playlist |
US9832504B2 (en) * | 2015-09-15 | 2017-11-28 | Google Inc. | Event-based content distribution |
CN106101744B (en) * | 2016-06-23 | 2020-07-10 | 深圳创维-Rgb电子有限公司 | Method and device for playing television online |
US11375267B2 (en) | 2017-12-12 | 2022-06-28 | Arris Enterprises Llc | Playback resume between mobile entertainment system and set-top box |
US11431698B2 (en) * | 2018-10-31 | 2022-08-30 | NBA Properties, Inc. | Partner integration network |
US20230388283A1 (en) * | 2018-10-31 | 2023-11-30 | NBA Properties, Inc. | Partner integration network |
CN111756844B (en) * | 2020-06-24 | 2025-05-13 | 深圳前海微众银行股份有限公司 | A multi-language message agent method and device |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006092840A1 (en) | 2005-02-28 | 2006-09-08 | Mitsubishi Denki Kabushiki Kaisha | Content distribution system |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5996022A (en) * | 1996-06-03 | 1999-11-30 | Webtv Networks, Inc. | Transcoding data in a proxy computer prior to transmitting the audio data to a client |
US6049821A (en) * | 1997-01-24 | 2000-04-11 | Motorola, Inc. | Proxy host computer and method for accessing and retrieving information between a browser and a proxy |
US7168086B1 (en) * | 1998-11-30 | 2007-01-23 | Microsoft Corporation | Proxy for video on demand server control |
EP1117050A1 (en) | 2000-01-14 | 2001-07-18 | Sun Microsystems, Inc. | Individual data representation |
US20040172484A1 (en) * | 2000-04-04 | 2004-09-02 | Gudmundur Hafsteinsson | Device-specific communicating between a transmitting device and a receving device |
US7216177B1 (en) | 2000-06-16 | 2007-05-08 | Palm, Inc. | Apparatus and method for supplying electronic content to network appliances |
US7103906B1 (en) * | 2000-09-29 | 2006-09-05 | International Business Machines Corporation | User controlled multi-device media-on-demand system |
US7013351B2 (en) | 2000-10-02 | 2006-03-14 | Microsoft Corporation | Template architecture and rendering engine for web browser access to databases |
US7149969B1 (en) | 2000-10-18 | 2006-12-12 | Nokia Corporation | Method and apparatus for content transformation for rendering data into a presentation format |
US20020083201A1 (en) * | 2000-12-22 | 2002-06-27 | Sridhar Iyengar | Formatting and delivering arbitrary content to wireless handheld devices |
US7305697B2 (en) * | 2001-02-02 | 2007-12-04 | Opentv, Inc. | Service gateway for interactive television |
US7016963B1 (en) | 2001-06-29 | 2006-03-21 | Glow Designs, Llc | Content management and transformation system for digital content |
US7634795B2 (en) * | 2002-01-11 | 2009-12-15 | Opentv, Inc. | Next generation television receiver |
US6826608B1 (en) * | 2002-03-01 | 2004-11-30 | Networks Associates Technology, Inc. | System, method and computer program product for translating SNMP (ASN.1) protocol decodes |
US9118774B2 (en) * | 2005-07-21 | 2015-08-25 | Google Inc. | Dispatch system to remote devices |
US7738863B2 (en) * | 2005-08-25 | 2010-06-15 | Nokia Corporation | IP datacasting middleware |
US7509124B2 (en) * | 2005-09-16 | 2009-03-24 | At&T Intellectual Property I, L.P. | Methods, systems, and computer program products for providing multimedia information services over a communication network |
US8213412B2 (en) * | 2005-09-29 | 2012-07-03 | Comcast Cable Holdings, Llc | System and method for providing multimedia services utilizing a local proxy |
US20070079345A1 (en) * | 2005-09-30 | 2007-04-05 | Microsoft Corporation | Television-based client device messaging |
US8583758B2 (en) * | 2005-11-30 | 2013-11-12 | Qwest Communications International Inc. | Network based format conversion |
US20070283048A1 (en) * | 2006-06-01 | 2007-12-06 | Nokia Corporation | Method, Apparatus and Computer Program Product for Providing Universal Information Transcoding |
US8683538B2 (en) * | 2006-11-30 | 2014-03-25 | Centurylink Intellectual Property Llc | Multi-access content server with security management for IPTV |
WO2008121967A2 (en) * | 2007-03-30 | 2008-10-09 | Google Inc. | Interactive media display across devices |
-
2008
- 2008-10-14 WO PCT/US2008/079793 patent/WO2009052086A2/en active Application Filing
- 2008-10-14 EP EP08839334.3A patent/EP2210190B1/en active Active
- 2008-10-14 US US12/250,846 patent/US7962947B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006092840A1 (en) | 2005-02-28 | 2006-09-08 | Mitsubishi Denki Kabushiki Kaisha | Content distribution system |
Also Published As
Publication number | Publication date |
---|---|
EP2210190A4 (en) | 2012-10-03 |
WO2009052086A3 (en) | 2009-06-11 |
EP2210190B1 (en) | 2013-09-11 |
EP2210190A2 (en) | 2010-07-28 |
US20090100465A1 (en) | 2009-04-16 |
US7962947B2 (en) | 2011-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7962947B2 (en) | Content delivery proxy system and method | |
US20220278964A1 (en) | Method and apparatus to distribute media content | |
US9202022B2 (en) | Method and apparatus for providing DRM service | |
US10334319B2 (en) | System and method of cloud-based manifest processing | |
KR101346531B1 (en) | Information processing device, information communication system, information processing method, and computer readable recording medium storing computer program therein | |
EP2194691B1 (en) | Remote access of drm protected internet protocol (ip)-based content over an ip multimedia subsystem (ims)-based network | |
US8544061B2 (en) | Object model for domain-based content mobility | |
CN101159577B (en) | Apparatus for receiving adaptive broadcast signal and method thereof | |
US8973026B2 (en) | Decoding media content at a wireless receiver | |
US20120017282A1 (en) | Method and apparatus for providing drm service | |
US20130145016A1 (en) | Methods and apparatuses for domain management | |
US20110197237A1 (en) | Controlled Delivery of Content Data Streams to Remote Users | |
US8510851B2 (en) | Method and apparatus for accessing content protected media streams | |
US20080155628A1 (en) | Method and system for content sharing | |
US11490161B2 (en) | Content rights management for mobile devices | |
CN103782572A (en) | System and method for providing message and event based video services control plane | |
US12081317B2 (en) | Information processing apparatus, client apparatus, and data processing method | |
CN102017477A (en) | Method for providing iptv service and internet broadcasting system therefor | |
US20120167155A1 (en) | Method for provisioning a multimedia service | |
US10440097B1 (en) | Profile based streaming | |
KR20120054898A (en) | Method for home service of digital cinema contents using peer to peer communication, and apparatus for the same | |
US20070083936A1 (en) | Methods and apparatuses for authorizing use of an information processing feature | |
SECTOR | FG IPTV-C-0260 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 08839334 Country of ref document: EP Kind code of ref document: A2 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2008839334 Country of ref document: EP |