Methods and apparatus for premises content distribution

Information

  • Patent Grant
  • 10965727
  • Patent Number
    10,965,727
  • Date Filed
    Monday, January 8, 2018
    7 years ago
  • Date Issued
    Tuesday, March 30, 2021
    3 years ago
Abstract
Apparatus and methods for transfer and management of protected content in a network. In one embodiment, the apparatus comprises server and renderer devices including, for example, consumer premise equipment (CPE) having a content handler application adapted to run thereon. The content handler directs requests for content, directs searches of a device's storage, and directs transfers of content into the device as well as within the device. The content handler may, in another embodiment, be adapted to include a scheduler entity which maintains a schedule of upcoming content, and is adapted to maintain and manage requests for the upcoming content by reserving tuner resources. The content handler may be further adapted to implement authentication and authorization procedures.
Description
COPYRIGHT

A portion of the disclosure of this patent document contains material that is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent files or records, but otherwise reserves all copyright rights whatsoever.


BACKGROUND OF THE INVENTION
1. Field of Invention

The present invention relates generally to the field of content (e.g., multimedia, audiovisual, data, applications, etc.) delivery over a network. Specifically, in one aspect, the invention relates to the methods and apparatus for delivering content among a variety of devices of a network in communication with one another.


2. Description of Related Technology

Recent advances in digital information processing have made a wide range of services and functions available for delivery to consumers at their premises for very reasonable prices or subscription fees. These services and functions include digital programming (movies, etc.), digital video-on-demand (VOD), personal video recorder (PVR), Internet Protocol television (IPTV), digital media playback and recording, as well high-speed Internet access and IP-based telephony (e.g., VoIP). Other services available to network users include access to and recording of digital music (e.g., MP3 files), as well local area networking (including wire-line and wireless local area networks) for distributing these services throughout the user's premises, and beyond.


Increased deployment of wireless interfaces such as Wi-Fi, Wi-MAX and Bluetooth have also increased the prevalence and opportunity for ad hoc networking; i.e., substantially spontaneous or flexible network topologies between as few as two different entities.


Currently, many of these services are provided and delivered to the user via a wide variety of different equipment environments including, inter alia, cable modems, Wi-Fi hubs, Ethernet hubs, gateways, switches and routers, computers, servers, cable set-top boxes, PSTNs, cellular telephones/smartphones, PDAs, and portable digital music devices such as the Apple iPod™. Additionally, the services associated with such technology are typically provided by multiple vendors including e.g., a cable service provider (e.g., MSO), cellular service provider (CSP), wireless service provider (WSP), VoIP service provider, music download service, Internet service provider (ISP), PSTN telephone service, etc.


Some improvements in digital service integration have been made over time. For example, cable system subscribers (such as those of the Assignee hereof) can now access VOD, PVR, PPV and broadcast services simultaneously, as well an Internet access via cable modem, and even digital telephony (e.g., VoIP). However, these functions are still substantially disparate in terms of their hardware and software environments (i.e., the user must have a cable modem, set-top box, VoIP telephony unit, PC, etc.), and “cross-over” between the environments (e.g., moving content or data from one environment to the other) is often quite limited.


Furthermore, various mechanisms for the secure movement of content delivered by these services within the user's premises (or even outside) have been employed, including, inter alia, conditional access, encryption, the establishment of trusted domains, and digital rights management. However, methods for managing and transferring data inside and outside of a user's premises to date have required the assistance of one or more separate entities; i.e., entities separate from the premises devices themselves.


Thus, improved apparatus and methods for facilitating the distribution of digital content within a user premises are needed. These would advantageously manage and transfer data without requiring entities separate from the serving and the requesting devices (e.g., premises devices) themselves. Such improved apparatus and methods would ideally operate substantially so as to allow ready implementation on any number of different platforms and environments in a substantially agnostic fashion, and provide users the ability to browse and transfer content between equipment with different vendor's security package implementations.


Such improved apparatus and methods would also preferably be implemented in a manner that is both substantially automated and transparent to the user, and which can leverage the capabilities of existing or planned industry-standard interface technologies such as Universal Plug and Play (UPnP) if desired.


SUMMARY OF THE INVENTION

The present invention addresses the foregoing needs by disclosing apparatus and methods useful for managing and distributing content within a premises (and beyond), including inter alia (i) storing content, (ii) detecting devices or entities in communication with a premises network, (iii) browsing content within such devices or entities; and (iv) transfer of content to and from authorized devices.


In a first aspect of the invention, a content server device is disclosed. In one embodiment, the content server device is used in a premises network, and comprises: a storage medium, the storage medium adapted to store content; and a digital processor comprising at least one computer program configured to receive and process requests for content. The computer program is adapted to: direct a search of the storage medium for the requested content; and direct a transfer of the requested content.


In one variant, the request for content comprises a request from a requesting customer premises equipment (CPE) and the direction a transfer of the requested content comprises directing a transfer of the content to the requesting CPE. In another variant, the request for content comprises a request from a user of the content server device.


In yet another variant, the content server device further comprises an authentication apparatus, the authentication apparatus adapted to facilitate authentication of the content-requesting entity and authorization of the requested content.


In still another variant, the content server device further comprises a receiving apparatus, the receiving apparatus adapted to receive content from one or more content servers on the network. The receiving apparatus may also comprise a display apparatus.


In a second aspect of the invention, a method of managing content is disclosed. In one embodiment, the method of managing content is used within a content server device, and comprises: directing browsing of the content by a user; processing a request for the content; and directing a transfer of the at least portion of the content.


In one variant, the act of directing browsing comprises browsing of content presently available to the content server device which is stored on the content server device, stored on a headend entity to which the content server device has access, or received to the content server device via an RF tuner disposed on the content server device. In another variant, the direction of browsing comprises browsing a schedule of content which will be available at some future time to the content server device, and the direction of a transfer of at least a portion of the content comprising waiting until the future content becomes available.


In still another variant, the direction of a transfer comprises directing a transfer of the content to a storage apparatus or to a display apparatus.


In yet another variant, the method further comprises verifying that the requesting device comprises adequate security provisions for protecting the requested content before the transferring is commenced.


In a third aspect of the invention, a content requesting device is disclosed. In one embodiment, the content requesting device is configured for data communication with a content server device over a premises network, and the device comprises: a receiving apparatus, the receiving apparatus adapted to receive content from the server device; and a digital processor comprising at least one computer program. The computer program is adapted to: direct a request for content from the server device; direct a search of a storage medium associated with the server device for the requested content; and direct a transfer of the requested content.


In one variant, the content requesting device further comprises a storage medium adapted to store the requested content, and the direction of a transfer of the requested content comprises directing a transfer to the storage medium.


In another variant, the content requesting device further comprises a display apparatus adapted to display the requested content, and the act of direction of a transfer of the requested content comprises directing a transfer to the display apparatus.


In still another variant the content requesting device further comprises a scanning apparatus, the scanning apparatus being configured to locate one or more content server devices on the network.


In yet another variant, the content requesting device further comprises a software security architecture adapted to protect at least portions of the content after it is transferred to the rendering apparatus.


In still yet another variant, the stored content comprises a plurality of media files each having a respective substantially unique title.


In a fourth aspect of the invention, a method of transferring content is disclosed. In one embodiment, the method is used for transferring content between two devices associated with a network, and comprises: storing the content at a first of the two devices; directing browsing of stored content by a requesting device; receiving a request for transmission of at least a portion of the content; and directing a transfer of the at least portion of the content to the requesting device while maintaining the content protection.


In one variant, the method further comprises authenticating the requesting device, the authentication being accomplished by the computer program running on at least one of the two devices.


In another variant, the stored content comprises a plurality of media files each having a respective substantially unique title, and the browsing comprises searching the titles.


In yet another variant, the requesting device comprises adequate security provisions for protecting the requested content before the transferring is commenced. For example, the first and second devices may comprise an authorized service domain (ASD) for maintaining protection of the content.


In still yet another variant, the first and second devices are in data communication with one another via a substantially standardized communications interface (e.g., a Universal Plug and Play (UPnP) interface), and the first device completes the authentication using a substantially standardized security architecture.


In a fifth aspect of the invention, a method of sharing content is disclosed. In one embodiment, the method is used for sharing protected content within an ad hoc network, and comprises: establishing ad hoc a communication channel between first and second entities, at least the first and second entities forming the network when the channel is established; selectively allowing at least one of the entities to browse content of the other of the entity, the browsing directed at least in part by a computer program adapted to run on at least one of the entities; receiving at one of the entities a request for at least portion of the content from the other the entity; and selectively transferring at least a portion of the content from at least one of the entities to the other of the entities, the transferring being directed at least in part by the computer program adapted to run on at least one of the entities.


In one variant, the browsed content comprises content stored on the browsed entity.


In another variant, the browsing comprises viewing a schedule of the future content, and wherein the browsed content comprises content which will be available to the browsed entity at some time in the future.


In yet another variant, the method further comprises the browsed entity notifying the other entity when the content available to the browsed entity at some time in the future becomes available.


In another variant, the act of transferring at least a portion of the content comprises transferring at least a portion of the co the method further comprises authenticating content to a storage medium or a display apparatus.


In still another variant, the method further comprises authenticating at least one of: (i) the first entity to the second entity, or (ii) the second entity to the first entity. Authentication is accomplished by the computer program adapted to run on at least one of the entities, and the transfer of at least a portion of the content may be based, at least in part, on the authentication.


In yet another variant, the act of establishing comprises causing the first and second entities to be placed in data communication via at least a plug-and-play data interface.


In still yet another variant, the act of establishing comprises causing the first and second entities to be placed in data communication via a wireless interface wherein one of the first and second entities assumes a first role and the second entity assumes a second role with respect to the communication channel. The first role may comprise a master station, and the second role a slave station. For example, the first role may comprise an access point (AP), and the second role may comprise a station (STA), the AP providing data connectivity to at least one other entity other than the STA.


In a sixth aspect of the invention, a computer readable apparatus is disclosed. In one embodiment, the computer readable apparatus comprises media adapted to contain a computer program having a plurality of instructions, the plurality of instructions which, when executed: process requests for content; direct browsing of available content; and direct a transfer of the requested content.


In one variant, the computer program is run on a first device, the requests for content comprise requests from the first device, or a second device, and the available content comprises content stored on the first device.


In another variant, the computer program is further adapted to receive content over a network interface, and wherein the available content comprises content received from the interface. The network interface may comprise at least one RF tuner. The computer program may be run on a first device, and the requests for content may comprise requests from the first device, or a second device, for content received from the interface. The available content may comprise content available at some future time, the computer program further adapted to maintain the requests for the content available at some future time and implement the requests at some time after the future time when the content becomes available.


In yet another variant, the computer program is run on a first device, the requests for content comprise requests from the first device, and a transfer of the requested content to a storage apparatus or a display apparatus associated with the first device is performed.


In still another variant, the computer program is run on a first device, the requests for content comprise requests from a second device. A transfer is directed to a storage apparatus or a display apparatus associated with the second device.


In a seventh aspect of the invention, a first computerized user device configured for role-switching between server device role and a renderer device role is disclosed. In one embodiment, the first computerized user is configured for data communication with a second computerized user device via an ad hoc network, and includes: a data communication interface configured for data communication with at least second computerized user device via the ad hoc network; data storage apparatus; and processor apparatus configured for data communication with the data communication interface and the data storage apparatus, the storage apparatus having at least one computer program stored thereon. The computer program comprises a plurality of instructions which are configured to, when executed by the processor apparatus, cause the first computerized user device to: receive data indicative of a first user request to access content, the first user request comprising a request to access, via the first computerized user device, first digital content available at the second computerized user device; based at least on the data indicative of the first user request, cause the first computerized user device to assume the renderer device role; receive data indicative of a second user request to access content, the second user request comprising a request to access, via the second computerized user device, second digital content available at the first computerized user device; and based at least on the data indicative of the second user request, cause the first computerized user device to assume the server device role.


In an eighth aspect of the invention, a method of sharing protected digital content within a premises data network is disclosed. In one embodiment, the method includes establishing a communication channel between a first computerized entity and one or more other computerized entities, the first computerized entity and the one or more other computerized entities forming the premises data network; and selectively enabling role-switching of the first computerized entity between at least (i) a server device role and (ii) a renderer device role, each of the server device role and the renderer device role implemented for the sharing of the protected digital content with the one or more other computerized entities, the protected digital content comprising at least first digital content and second digital content.


These and other aspects of the invention shall become apparent when considered in light of the disclosure provided herein.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 is a functional block diagram illustrating an exemplary HFC cable network configuration useful with the present invention.



FIG. 1a is a functional block diagram illustrating one exemplary HFC cable network headend configuration useful with the present invention.



FIG. 1b is a functional block diagram illustrating one exemplary local service node configuration useful with the present invention.



FIG. 1c is a functional block diagram illustrating one exemplary broadcast switched architecture (BSA) network useful with the present invention.



FIG. 2 is a graphical representation of generalized network architecture implementing various devices having improved content distribution according to the present invention.



FIG. 3 is a functional block diagram of an exemplary embodiment of a consumer premises or client device implementing the content handler of the present invention.



FIG. 4a is a functional block diagram of an exemplary prior art OCAP stack.



FIG. 4b is a functional block diagram of an exemplary OCAP stack of a CPE 106 implementing the content handler of the present invention.



FIG. 5 is a functional block diagram of an exemplary client device implementing a content handler having a scheduler in accordance with the present invention.



FIG. 6a is a logical flow diagram of an exemplary method of content transfer utilizing a content handler, according to the present invention, which is adapted to request stored content from a server CPE 106, a VOD sever, or a network PVR for display and/or storage.



FIG. 6b is a logical flow diagram of another exemplary method of content transfer utilizing a content handler, according to the present invention, which is adapted to access content stored on the CPE itself.



FIG. 6c is a logical flow diagram of another exemplary method of content transfer utilizing a content handler, according to the present invention, which is adapted to enable a user to view and/or record content which is presently broadcast.



FIG. 6d is a logical flow diagram of another exemplary method of content transfer utilizing a content handler, according to the present invention, which is adapted to enable a user to view and/or record content which will broadcast at some time in the future.



FIG. 7a is a functional block diagram of another exemplary embodiment of a client device having a content handler and a scheduler in accordance with the present invention.



FIG. 7b is a functional block diagram of the exemplary client device of FIG. 7a utilizing a scheduler to resolve contention issues.



FIG. 7c is a logical flow diagram illustrating an exemplary method of resolving contention issues utilizing a content handler, according to the present invention.





DETAILED DESCRIPTION OF THE INVENTION

Reference is now made to the drawings wherein like numerals refer to like parts throughout.


As used herein, the term “application” refers generally to a unit of executable software that implements a certain functionality or theme. The themes of applications vary broadly across any number of disciplines and functions (such as on-demand content management, e-commerce transactions, brokerage transactions, home entertainment, calculator etc.), and one application may have more than one theme. The unit of executable software generally runs in a predetermined environment; for example, the unit could comprise a downloadable Java Xlet™ that runs within the JavaTV™ environment.


As used herein, the term “client device” includes, but is not limited to, set-top boxes (e.g., DSTBs), personal computers (PCs), and minicomputers, whether desktop, laptop, or otherwise, and mobile devices such as handheld computers, PDAs, personal media devices (PMDs), such as for example an iPod™, and smartphones.


As used herein, the term “codec” refers to an video, audio, or other data coding and/or decoding algorithm, process or apparatus including, without limitation, those of the MPEG (e.g., MPEG-1, MPEG-2, MPEG-4, etc.), Real (Real Video, etc.), AC-3 (audio), DiVX, XViD/ViDX, Windows Media Video (e.g., WMV 7, 8, or 9), ATI Video codec, or VC-1 (SMPTE standard 421M) families.


As used herein, the term “computer program” or “software” is meant to include any sequence or human or machine cognizable steps which perform a function. Such program may be rendered in virtually any programming language or environment including, for example, C/C++, Fortran, COBOL, PASCAL, assembly language, markup languages (e.g., HTML, SGML, XML, VoXML), and the like, as well as object-oriented environments such as the Common Object Request Broker Architecture (CORBA), Java™ (including J2ME, Java Beans, etc.), Binary Runtime Environment (BREW), and the like.


As used herein, the term “conditional access” refers to any access control scheme, whether implemented in hardware, software, or firmware (or combinations thereof), including without limitation members of the “Powerkey” family (Powerkey Book 2, Powerkey Book 3, etc.), NDS (including VideoGuard, mVideoGuard, etc.), ANSI/SCTE Standard 52 2003 (DVS-042), incorporated herein by reference in its entirety, and Motorola/General Instrument DigiCipher® family (DigiCipher II, etc.). These can be implemented using, for example, the so-called “CableCard” plug-in security module access technology, a downloadable CA system (DCAS), or otherwise.


The terms “Customer Premises Equipment (CPE)” and “host device” refer to any type of electronic equipment located within a customer's or user's premises and connected to a network. The term “host device” refers generally and without limitation to a terminal device that has access to digital television content via a satellite, cable, or terrestrial network. The host device functionality may be integrated into a digital television (DTV) set. The term “customer premises equipment” (CPE) includes without limitation electronic equipment such as set-top boxes (e.g., DSTBs), televisions, cable modems (CMs), embedded multimedia terminal adapters (eMTAs), whether stand-alone or integrated with other devices, Digital Video Recorders (DVR), gateways or gateway storage devices (Furnace), and ITV Personal Computers.


As used herein, the term “display” means any type of device adapted to display information, including without limitation CRTs, LCDs, TFTs, plasma displays, LEDs, incandescent and fluorescent devices. Display devices may also include less dynamic devices such as, for example, printers, e-ink devices, and the like.


As used herein, the term “DVR” (digital video recorder) refers generally to any type or recording mechanism and/or software environment whereby content sent over a network can be recorded and selectively recalled. Such DVR may be dedicated in nature, or part of a non-dedicated or multi-function system.


As used herein, the term “DOCSIS” refers to any of the existing or planned variants of the Data Over Cable Services Interface Specification, including for example DOCSIS versions 1.0, 1.1, 2.0 and 3.0. DOCSIS (version 1.0) is a standard and protocol for internet access using a “digital” cable network. DOCSIS 1.1 is interoperable with DOCSIS 1.0, and has data rate and latency guarantees (VoIP), as well as improved security compared to DOCSIS 1.0. DOCSIS 2.0 is interoperable with 1.0 and 1.1, yet provides a wider upstream band (6.4 MHz), as well as new modulation formats including TDMA and CDMA. It also provides symmetric services (30 Mbps upstream).


As used herein, the term “headend” refers generally to a networked system controlled by an operator (e.g., an MSO) that distributes programming to MSO clientele using client devices. Such programming may include literally any information source/receiver including, inter alia, free-to-air TV channels, pay TV channels, interactive TV, and the Internet. DSTBs may literally take on any configuration, and can be retail devices meaning that consumers may or may not obtain their DSTBs from the MSO exclusively. Accordingly, it is anticipated that MSO networks may have client devices from multiple vendors, and these client devices will have widely varying hardware capabilities. Multiple regional headends may be in the same or different cities.


As used herein, the term “integrated circuit (IC)” refers to any type of device having any level of integration (including without limitation VLSI, VLSI, and LSI) and irrespective of process or base materials (including, without limitation Si, SiGe, CMOS and GaAs). ICs may include, for example, memory devices (e.g., DRAM, SRAM, DDRAM, EEPROM/Flash, and ROM), digital processors, SoC devices, FPGAs, ASICs, ADCs, DACs, transceivers, memory controllers, and other devices, as well as any combinations thereof.


As used herein, the terms “Internet” and “internet” are used interchangeably to refer to inter-networks including, without limitation, the Internet.


As used herein, the term “memory” includes any type of integrated circuit or other storage device adapted for storing digital data including, without limitation, ROM. PROM, EEPROM, DRAM, SDRAM, DDR/2 SDRAM, EDO/FPMS, RLDRAM, SRAM, “flash” memory (e.g., NAND/NOR), and PSRAM.


As used herein, the term “digital processor” is meant generally to include all types of digital processing devices including, without limitation, digital signal processors (DSPs), reduced instruction set computers (RISC), general-purpose (CISC) processors, microprocessors, gate arrays (e.g., FPGAs), PLDs, reconfigurable compute fabrics (RCFs), array processors, and application-specific integrated circuits (ASICs). Such digital processors may be contained on a single unitary IC die, or distributed across multiple components.


As used herein, the terms “MSO” or “multiple systems operator” refer to a cable, satellite, or terrestrial network provider having infrastructure required to deliver services including programming and data over those mediums.


As used herein, the terms “network” and “bearer network” refer generally to any type of telecommunications or data network including, without limitation, hybrid fiber coax (HFC) networks, satellite networks, telco networks, and data networks (including MANs, WANs, LANs, WLANs, internets, and intranets). Such networks or portions thereof may utilize any one or more different topologies (e.g., ring, bus, star, loop, etc.), transmission media (e.g., wired/RF cable, RF wireless, millimeter wave, optical, etc.) and/or communications or networking protocols (e.g., SONET, DOCSIS, IEEE Std. 802.3, ATM, X.25, Frame Relay, 3GPP, 3GPP2, WAP, SIP, UDP, FTP, RTP/RTCP, H.323, etc.).


As used herein, the terms “network agent” and “network entity” refers to any network entity (whether software, firmware, and/or hardware based) adapted to perform one or more specific purposes. For example, a network agent or entity may comprise a computer program running in server belonging to a network operator, which is in communication with one or more processes on a CPE or other device.


As used herein, the term “network interface” refers to any signal, data, or software interface with a component, network or process including, without limitation, those of the Firewire (e.g., FW400, FW800, etc.), USB (e.g., USB2), Ethernet (e.g., 10/100, 10/100/1000 (Gigabit Ethernet), 10-Gig-E, etc.), MoCA, Serial ATA (e.g., SATA, e-SATA, SATAII), Ultra-ATA/DMA, Coaxsys (e.g., TVnet™), radio frequency tuner (e.g., in-band or OOB, cable modem, etc.), Wi-Fi (802.11a,b,g,n), Wi-MAX (802.16), PAN (802.15), or IrDA families.


As used herein, the term “QAM” refers to modulation schemes used for sending signals over cable networks. Such modulation scheme might use any constellation level (e.g. QPSK, QAM-16, QAM-64, QAM-256 etc.) depending on details of a cable network. A QAM may also refer to a physical channel modulated according to said schemes.


As used herein, the terms “render” and “renderer” refer to any device, process or entity which utilizes content for, without limitation, display, execution, or playback. For example, a renderer might comprise a DVR, television monitor, PC, mobile device with display capability, laptop computer, iPod or even an MP3 player.


As used herein, the terms “security framework” and “security package” refer generally to, without limitation, one of more of implementation guidelines, security policies, application programming interfaces (APIs), encryption or scrambling algorithms, and cryptographic element (e.g., symmetric or asymmetric key) generation and management algorithms.


As used herein, the term “server” refers to any computerized component, system or entity regardless of form which is adapted to provide data, files, applications, content, or other services to one or more other devices or entities on a computer network.


As used herein, the terms “PnP” and “Plug and Play” refer generally to a capability wherein devices can communicate when first placed in communication according to a substantially known or standardized capability. Such communication is generally without requiring reconfiguration or manual installation of device drivers. One exemplary embodiment of such PnP capability is the Universal PnP (UPnP) technology set forth in “UPnP™ Device Architecture” Version 1.0, dated Jun. 8, 2000, incorporated herein by reference in its entirety.


As used herein, the term “user interface” refers to, without limitation, any visual, graphical, tactile, audible, sensory, or other means of providing information to and/or receiving information from a user or other entity.


As used herein, the term “Wi-Fi” refers to, without limitation, any of the variants of IEEE-Std. 802.11 or related standards including 802.11a/b/g/i/n.


As used herein, the term “wireless” means any wireless signal, data, communication, or other interface including without limitation Wi-Fi, Bluetooth, 3G, HSDPA/HSUPA, TDMA, CDMA (e.g., IS-95A, WCDMA, etc.), FHSS, DSSS, GSM, PAN/802.15, Wi-MAX (802.16), 802.20, narrowband/FDMA, OFDM, PCS/DCS, analog cellular, CDPD, satellite systems, millimeter wave or microwave systems, acoustic, and infrared (i.e., IrDA).


Overview


In one salient aspect, the present invention provides apparatus and methods for the management of content within a single device and for several devices connected to a home network to transfer protected content (including for example audiovisual or multimedia content, applications or data) in a substantially “peer-to-peer” fashion and without resort to a central security server or other such entity. The management, transfer, and “browsing” of content on a single device or on a plurality of devices is accomplished via a content handler which, in one embodiment, is an application run on at least one of the devices and adapted to sit between the OCAP digital navigator and OCAP stack. The content handler utilizes various algorithms in conjunction with several “buckets” to make management, transfer, and browsing possible.


In one exemplary embodiment, the content handler is disposed on a server device and directs the browsing of stored and other available content as well as the transfer of selected content within the device itself and to other devices. It is noted that the server device may comprise a CPE, host device, or other entity, including, inter alia, a VOD server or PVR entity. The content handler of the present embodiment may also include authentication functionality to ensure transfer between authorized devices. Further, the content handler may also comprise a scheduler adapted to maintain a schedule of upcoming content (i.e. content that will be available at a future time), and manage tuner resources including scheduling the resources for receipt of future content.


In another exemplary embodiment, the content handler is disposed on a requesting device; the content handler of this embodiment is adapted to direct requests to server devices (including, e.g. CPE, VOD servers, PVR entities), directs searches of the server devices, and direct transfers from server devices to the various components of the CPE on which the content handler is present.


Methods for transfer of content within a device utilizing a content handler as well as methods for the transfer of content between two devices, where at least one device utilizes a content handler are also described.


Detailed Description of Exemplary Embodiments

Exemplary embodiments of the apparatus and methods of the present invention are now described in detail. While these exemplary embodiments are described in the context of the aforementioned hybrid fiber coax (HFC) cable system architecture having an multimedia specific operator (MSO), digital networking capability, and plurality of client devices/CPE, the general principles and advantages of the invention may be extended to other types of networks and architectures, whether broadband, narrowband, wired or wireless, or otherwise, the following therefore being merely exemplary in nature.


It will also be appreciated that while described generally in the context of a consumer (i.e., home) end user domain, the present invention may be readily adapted to other types of environments (e.g., commercial/enterprise, government/military, etc.) as well. Myriad other applications are possible.


Further, it is noted that, while the present discussion is given in terms of traditional CPE (i.e., devices which receive content from traditional RF tuner interfaces), other devices may be utilized in conjunction with the present invention as well. For example, in one embodiment, one or more of the server and/or renderer devices may comprise an IP video device (IVD); an IVD is a device which receives video stream from an IP connection (rather than RF connection). Exemplary IVD may include, inter alia, IP STB's, cellular telephones, laptops, general purpose PC's, gaming consoles, etc.


Further, it is appreciated that while described generally in the context of the OpenCable Application Platform (OCAP) operating system, other systems including, inter alia, MHP, ARIB, ACAP or proprietary may be utilized consistent with the present invention.


Lastly, it is recognized that while described primarily in the context of a consumer or enterprise premises having a prescribed geographic scope or boundaries, the invention is in no way limited to any such premises description. For example, a “premises” as used herein could refer to a psychologically proximate premises; e.g., a group of entities or locations that are not physically proximate, but rather logically proximate with respect to a user, such as that user's home, office, and car. Similarly, a “premises” could refer to psychologically proximate devices irrespective of their physical location (e.g., “my cellular phone”, “my DVR”, etc.), or even psychologically proximate users (“my girlfriend”, “my mother”, “my boss”, etc.) again irrespective of their location.


Content Delivery Network—



FIG. 1 illustrates a typical content-based network configuration with which the premises content distribution apparatus and methods of the present invention may be used. As will be described in greater detail subsequently herein, the premises content distribution apparatus and methods of the invention are advantageously both independent of and agnostic to the delivery mode for the content; hence, the following discussion regarding cable network architectures is purely illustrative of one of many possible delivery modalities for content. Moreover, the present invention is independent of the delivery paradigm used within the network to deliver the content (i.e., broadcast, session-based, etc.).


The various components of the exemplary content delivery network 100 include (i) one or more data and application origination points 102; (ii) one or more content sources 103, (iii) one or more application distribution servers 104; (iv) one or more VOD servers 105, and (v) consumer premises equipment (CPE) 106. The distribution server(s) 104, VOD servers 105 and CPE(s) 106 are connected via a bearer (e.g., HFC) network 101. A simple architecture comprising one of each of the aforementioned components 102, 104, 105, 106 is shown in FIG. 1 for clarity, although it will be recognized that comparable architectures with multiple origination points, distribution servers, VOD servers, and/or CPE devices (as well as different network topologies) may be utilized consistent with the invention. For example, the headend architecture of FIG. 1a (described in greater detail below) may be used.


The data/application origination point 102 comprises any medium that allows data and/or applications (such as a VOD-based or “Watch TV” application, or other application) to be transferred to a distribution server 104. This can include for example a third party data source, application vendor website, CD-ROM, external network interface, mass storage device (e.g., RAID system), etc. Such transference may be automatic, initiated upon the occurrence of one or more specified events (such as the receipt of a request packet or ACK), performed manually, or accomplished in any number of other modes readily recognized by those of ordinary skill.


The application distribution server 104 comprises a computer system where such applications can enter the network system. Distribution servers are well known in the networking arts, and accordingly not described further herein.


The VOD server 105 comprises a computer system where on-demand content can be received from one or more of the aforementioned data sources 102 and enter the network system. These servers may generate the content locally, or alternatively act as a gateway or intermediary from a distant source.


The CPE 106 includes any equipment in the “customers' premises” (or other locations, whether local or remote to the distribution server 104) that can be accessed by a distribution server 104 or other network agent or entity. Exemplary embodiments of the CPE of the invention are described subsequently herein with respect to FIGS. 3, 5, 7a and 7b. It may also include a network server, as described subsequently herein.


Referring now to FIG. 1a, one exemplary embodiment of network headend architecture useful with the present invention is described. As shown in FIG. 1a, the headend architecture 150 comprises typical headend components and services including billing module 152, subscriber management system (SMS) and CPE configuration management module 154, cable-modem termination system (CMTS) and OOB system 156, as well as LAN(s) 158, 160 placing the various components in data communication with one another. It will be appreciated that while a bar or bus LAN topology is illustrated, any number of other arrangements as previously referenced (e.g., ring, star, etc.) may be used consistent with the invention. It is also noted that the headend configuration depicted in FIG. 1a is high-level, conceptual architecture and that each MSO may have multiple headends deployed using custom architectures.


The architecture 150 of FIG. 1a further includes a multiplexer/encrypter/modulator (MEM) 162 coupled to the HFC network 101 adapted to “condition” content for transmission over the network. The distribution servers 104 are coupled to the LAN 160, which provides access to the MEM 162 and network 101 via one or more file servers 170. The VOD servers 105 are coupled to the LAN 160 as well, although other architectures may be employed (such as for example where the VOD servers are associated with a core switching device such as an 802.3z Gigabit Ethernet device). As previously described, information is carried across multiple channels. Thus, the headend must be adapted to acquire the information for the carried channels from various sources. Typically, the channels being delivered from the headend 150 to the CPE 106 (“downstream”) are multiplexed together in the headend and sent to neighborhood hubs (FIG. 1b) via a variety of interposed network components.


A digital rights management (DRM) server, not shown, may also reside at the headend 150, and used for serving DRM requests from downstream devices such as the CPE 106. The exemplary DRM server comprises a computer system where the security and encryption aspects of content transferred over the network 101 are managed. The content servers described above may implement encryption and CA technology in conjunction with the DRM server such that the content made available over the network can be received and decoded by specific CPE 106 only.


Content (e.g., audio, video, etc.) is provided in each downstream (in-band) channel associated with the relevant service group. To communicate with the headend or intermediary node (e.g., hub server), the CPE 106 may use the out-of-band (OOB) or DOCSIS channels and associated protocols. The OCAP 1.0, 2.0, 3.0 (and subsequent) specifications provide for exemplary networking protocols both downstream and upstream, although the invention is in no way limited to these approaches.


It will also be recognized that the multiple servers (broadcast, VOD, or otherwise) can be used, and disposed at two or more different locations if desired, such as being part of different server “farms”. These multiple servers can be used to feed one service group, or alternatively different service groups. In a simple architecture, a single server is used to feed one or more service groups. In another variant, multiple servers located at the same location are used to feed one or more service groups. In yet another variant, multiple servers disposed at different location are used to feed one or more service groups.


As shown in FIG. 1b, the network 101 of FIGS. 1 and 1a comprises a fiber/coax arrangement wherein the output of the MEM 162 of FIG. 1a is transferred to the optical domain (such as via an optical transceiver 177 at the headend or further downstream). The optical domain signals are then distributed to a fiber node 178, which further distributes the signals over a distribution network 180 to a plurality of local servicing nodes 182. This provides an effective 1:N expansion of the network at the local service end.


“Switched” Networks—



FIG. 1c illustrates exemplary “switched” network architecture also useful with the premises content distribution architecture and methods of the present invention. While a so-called “broadcast switched architecture” or BSA network is illustrated in this exemplary embodiment, the present invention is in no way limited to such architectures.


Switching architectures allow improved efficiency of bandwidth use for ordinary digital broadcast programs. Ideally, the subscriber is unaware of any difference between programs delivered using a switched network and ordinary streaming broadcast delivery.



FIG. 1c shows the implementation details of one exemplary embodiment of this broadcast switched network architecture. Specifically, the headend 150 contains switched broadcast control and media path functions 190, 192; these element cooperating to control and feed, respectively, downstream or edge switching devices 194 at the hub site which are used to selectively switch broadcast streams to various service groups. A BSA server 196 is also disposed at the hub site, and implements functions related to switching and bandwidth conservation (in conjunction with a management entity 198 disposed at the headend). An optical transport ring 197 is utilized to distribute the dense wave-division multiplexed (DWDM) optical signals to each hub in an efficient fashion.


Co-owned U.S. patent application Ser. No. 09/956,688 filed Sep. 20, 2001, entitled “Technique for effectively providing program material in a cable television system”, and issued as U.S. Pat. No. 8,713,623 on Apr. 29, 2014, incorporated herein by reference in its entirety, describes one exemplary broadcast switched digital architecture useful with the present invention, although it will be recognized by those of ordinary skill that other approaches and architectures may be substituted.


In addition to “broadcast” content (e.g., video programming), the systems of FIGS. 1a-1c also deliver Internet data services using the Internet protocol (IP), although other protocols and transport mechanisms of the type well known in the digital communication art may be substituted. One exemplary delivery paradigm comprises delivering MPEG-based video content, with the video transported to user PCs (or IP-based STBs) over the aforementioned DOCSIS channels comprising MPEG (or other video codec such as H.264 or AVC) over IP over MPEG. That is, the higher layer MPEG- or other encoded content is encapsulated using an IP protocol, which then utilizes an MPEG packetization of the type well known in the art for delivery over the RF channels. In this fashion, a parallel delivery mode to the normal broadcast delivery exists; i.e., delivery of video content both over traditional downstream QAMs to the tuner of the user's STB or other receiver device (e.g., converged device, as discussed subsequently herein) for viewing on the television, and also as packetized IP data over the DOCSIS QAMs to the user's PC or other IP-enabled device via the user's cable modem.


Referring again to FIG. 1c, the IP packets associated with Internet services are received by edge switch 194, and forwarded to the cable modem termination system (CMTS) 199. The CMTS examines the packets, and forwards packets intended for the local network to the edge switch 194. Other packets are discarded or routed to another component.


The edge switch 194 forwards the packets receive from the CMTS 199 to the QAM modulator 189, which transmits the packets on one or more physical (QAM-modulated RF) channels to the CPEs. The IP packets are typically transmitted on RF channels that are different that the RF channels used for the broadcast video and audio programming, although this is not a requirement. The CPE 106 are each configured to monitor the particular assigned RF channel (such as via a port or socket ID/address, or other such mechanism) for IP packets intended for the subscriber premises/address that they serve.


Co-pending U.S. patent application Ser. No. 11/013,665 filed Dec. 15, 2004, entitled “Method and apparatus for high bandwidth data transmission in content-based networks”, and issued as U.S. Pat. No. 8,522,293 on Aug. 27, 2013, incorporated herein by reference in its entirety, describes yet another delivery model for the aforementioned content, based on a high-speed VOD-based infrastructure.


It will be appreciated that the content delivery network used with the premises distribution functions of the present invention may also include a downloadable conditional access (CA), DRM, or trusted domain (TD) apparatus such as those described in co-pending and co-owned U.S. patent application Ser. No. 11/584,208 filed Oct. 20, 2006, entitled “Downloadable security and protection methods and apparatus”, and issued as U.S. Pat. No. 8,520,850 on Aug. 27, 2013, incorporated herein by reference in its entirety. Such download apparatus is useful at, inter alia, the headend or distribution hub of a cable network, for implementing a download paradigm for legacy or newly developed CA, TD, and DRM software and cryptographic protection schemes. This allows the network operator, and even the third party content provider by proxy, to exert additional control on viewing, reproduction, and migration of content distributed over the network. In one embodiment, these capabilities comprise downloadable personalized software modules (images), and an associated decryption key that facilitates decryption of the downloaded software images. In contrast to prior art approaches of merely encrypting the content itself (such as via a DES or AES algorithm via a symmetric or asymmetric key approach), the exemplary embodiments referenced above allow for the download of secure software images, which may be used to, inter alia, ensure security of the downloaded images and also migrate protected content to other platforms in the user or client domain so as to extend the trusted or authorized service domain. Advantageously, outside of the conditional access system (CAS), the personalized software image is never rendered in an unprotected form or otherwise made accessible.


Premises Content Distribution System—


Referring now to FIG. 2, an exemplary embodiment of a premise content distribution system 200 according to the invention is described in detail. A simple architecture comprising one of each of the aforementioned components is shown in FIG. 2 for clarity, although it will be recognized that comparable architectures with multiple components, as well as different network topologies, may be utilized consistent with the present invention.


As shown in FIG. 2, the exemplary content distribution system 200 comprises a plurality of components in communication with one another. The various components directly or indirectly communicating may include (i) one or more Premises Gateways 206, (ii) one or more “server” consumer premises equipment (CPE) 106a functioning as a content source or server, and (iii) one or more “renderer” CPE 106b functioning as a renderer of content. It will be appreciated that a single device or entity may also switch roles (i.e., from server to renderer, or vice-versa), and may carry out both functions (i.e., server and renderer), albeit not necessarily for the same process or thread. Moreover, role switching can occur as part of the underlying transport or PHY functions (e.g., a Wi-Fi AP/STA role switch, or Bluetooth Master/Slave role switch) while the server-renderer functions described herein are preserved.


The premises gateway 206 includes a hardware platform that is generally installed either inside or outside of the premises. The premises gateway 206 platform is connected to the bearer network 204 (e.g., HFC 101, satellite network, Telco DSL network, etc.) via an appropriate interface such as a coaxial cable or DOCSIS connection, a digital subscriber line (DSL) telephony connection, an Internet Protocol Television (IPTV) connection over copper wire, a satellite receiver coupled to an antenna, etc. The premises gateway 206 is also connected on its back end to other equipment that is installed in the premises (not shown). In one embodiment, the premises gateway 206 is connected to the other premises equipment via a premises local area network, or PLAN, interface such as that described in co-owned U.S. patent application Ser. No. 11/592,054 entitled “Methods and apparatus for premises content distribution” and issued as U.S. Pat. No. 8,732,854 on May 20, 2014, which is hereby incorporated by reference in its entirety.


The connection of the premises gateway to the other premises equipment may take literally any form, whether wired or wireless, including, inter alia a 10/100/1000/10-Gig-E NIC, a Wi-Fi interface card, or a coaxial RF interface, or any other mechanism known in the art.


In some implementations, the premises gateway 206 might be connected to more than one bearer network, and/or may have multiple various connections to various PLAN (not shown) or CPE 106. For example, a premises gateway 206 may be connected to some devices over a wireless connection and other devices over a wired connection such as a telephone line, power line, or indigenous coaxial cable.


The present invention accordingly contemplates various implementations of the premises gateway functionality. For example, one exemplary converged device useful with the present invention is described in co-owned U.S. patent application Ser. No. 11/378,129 filed Mar. 16, 2006, entitled “Methods and apparatus for centralized content and data delivery”, and issued as U.S. Pat. No. 8,347,341 on Jan. 1, 2013, incorporated herein by reference in its entirety, although it will be recognized by those of ordinary skill that other devices and approaches may be substituted.


In the illustrated embodiment, the present invention utilizes at least two CPE 106a, 106b in communication with one another. One of the CPE 106a functions as a content server, while the other CPE 106b functions as a content renderer. The server CPE 106a therefore functions to store content. The content can be stored using one or more storage media such as a hard drive (HDD), flash memory card or USB key, optical disc, memory array, RAID, etc. The storage may be present “in the box”, or may comprise an attached external device 210 attached to the server CPE 106a via a dedicated or shared connection. It is appreciated that in one embodiment, the content server CPE 106a and the premises gateway 206 may be implemented on the same physical platform. In such as case, the content server/premises gateway might take the form of, e.g., a DVR or a multi-room DVR device that interfaces to one or more distribution networks 101. It may also comprise one or more high-speed interfaces (e.g., USB 2.0, IEEE-Std. 1394 “Firewire”, etc.) over which plug-and-play functionality may be implemented. Further, as noted above, the functions of the content server CPE 106a may also be implemented by the renderer CPE 106b. It is also appreciated that, in other embodiments, the content server CPE 106a may comprise a headend entity such as a VOD server 105, or network PVR; or BSA hub entity.


Both CPE 106a, 106b of the illustrated embodiment comprise a hardware/software platform including a content handler 208, which will be discussed in greater detail below. However, it is appreciated that in alternative embodiments, only one CPE 106 comprises a content handler 208. Generally, the content handler 208 permits the content server CPE 106a and the content renderer CPE 106b to be in communication with one another to send and receive content between them. The content handler 208 is also adapted to communicate with the resource manager (not shown), content manager (not shown), and other components of the CPE 106, as well as other components of other CPE 106 which do not have content handlers 208 of their own. According to this embodiment, the CPE 106 having a content handler 208 would still be adapted to send and receive content to and from a legacy device (a CPE 106 which does not have a content handler 208) as well as other network components.


Similarly, the content server CPE 106a may merely act as a proxy for an upstream device connected to multiple distribution networks. One such device is disclosed in a co-owned U.S. patent application Ser. No. 11/440,490 filed May 24, 2006, entitled “Personal content server apparatus and methods”, and issued as U.S. Pat. No. 8,280,982 on Oct. 2, 2012, incorporated herein by reference in its entirety. In one embodiment, the device comprises a personal content server located, e.g., at the headend of the bearer (cable) network or at a BSA switching hub; this server distributes content to the remote requesting location(s), thereby eliminating repetitious traffic to and from subscriber's premises to fulfill the requests for remote content delivery.


It will be appreciated that the present invention can also be used in a complementary or layered fashion with other content acquisition, management and control technologies. For example, the methods and apparatus described in co-owned U.S. patent application Ser. No. 11/080,693 filed Mar. 14, 2005 entitled “Method and apparatus for network content downloading and recording”, and issued as U.S. Pat. No. 8,028,322 on Sep. 27, 2011, incorporated herein by reference in its entirety, may be used consistent with the present invention to provide network users with the ability to purchase and record content to a physical medium, while also obeying the security policies imposed by the relevant security architecture (e.g., TD or ASD).


CPE Architecture—


Referring now to FIG. 3, one exemplary embodiment of a server or renderer CPE 106a, 106b according to the present invention is described. As previously noted, server CPE 106a or render CPE 106b can be identical, and even perform both functions (i.e., serving content and rendering content at different times, or at the same time for different processes/threads); thus will be collectively and generally referred to as CPE 106.


As shown in the simplified diagram of FIG. 3, the device 106 generally comprises a computerized system (e.g., embedded DSTB, converged premises device, etc.) having an RF tuner 302 for interface with the delivery network 101 (or any interposed gateway devices) of FIG. 2, digital processor(s) 304, storage device 306, and a plurality of interfaces 308 (e.g., video/audio interfaces, IEEE-1394 “Firewire”, USB, serial/parallel ports, etc.) for interface with other end-user apparatus such as televisions, personal electronics, computers, Wi-Fi or other network hubs/routers, etc. It is appreciated that although only one tuner 302 is depicted, other embodiments of the present invention may comprise more than one tuner 302 or a wideband or ultra-wideband tuner consistent with the present invention.


Other components which may be utilized within the device (deleted from FIG. 3a for simplicity) include various processing layers (e.g., DOCSIS MAC or DAVIC OOB channel, MPEG, etc.) as well as media processors and other specialized SoC or ASIC devices. A separate cable modem (e.g., DOCSIS) tuner may also be included for receiving downstream cable modem signals over the coaxial cable. The CPE 106a may also comprise an integrated HD decoder, thereby relieving any connected monitors or other devices from the requirement of having such a decoder. These additional components and functionality are well known to those of ordinary skill in the cable and embedded system fields, and accordingly not described further herein.


Alternatively, the CPE 106 may comprise a “head-less” configuration, wherein the only user interaction with the device occurs over a network connection; e.g., in a PVR-like fashion.


The CPE 106 of FIG. 3 is also adapted include a content handler 208. The content handler 208 is an OCAP-compliant Java-based middleware application which, inter alia, manages the operation of the device 106 and other applications running thereon. The software architecture of the content handler 208 is discussed in further detail below.


It will be recognized by those of ordinary skill that myriad different device and software architectures may be used consistent with the tuning and channel request functions of the present invention, the device of FIG. 3 being merely exemplary. For example, different middleware (e.g., MHP ARIB, ACAP or proprietary) may be used in place of the OCAP middleware of the illustrated embodiment.


Likewise, the content handler 208 of the CPE 106 may contain application layer programs which allow interactivity with other devices 106 on the network. Because the content handler 208 is OCAP compliant, the content handler 208 of the present invention may be adapted to communicate and interact with the content handler 208 of another CPE 106, or with the resource manager (not shown) or other entity present on another CPE 106 via the other entity's OCAP system. It is appreciated that a variety of protocols may be utilized to effectuate such communication. In one embodiment, the communication protocol is Internet Protocol based. Examples of such programs include UPnP application, a program guide, and so on. The content handler 208 may be implemented such that a user can control a renderer CPE 106b “directly” or “over the network.” The direct control to a user may be in the form of a remote control, control switches and buttons (e.g., volume control knob). When the renderer CPE 106b is controlled “over the network”, a user may be able to configure the device by accessing its controls via a network connection and content handler 208 present in one or both CPE 106. In one embodiment, one network may be used for accessing and controlling the device 106b; in another embodiment, a separate network may be used for accessing and controlling respectively. However, in a preferred embodiment, the same network is used to achieve both tasks, such as for example the PLAN network of previously incorporated U.S. application Ser. No. 11/592,054.


The exemplary content handler 208 of the present invention may also further comprise a personal media application, which allows a user to manage his personal media tasks. Such management includes, but is not limited to, the ability to browse through programs stored locally or on a server to see which programs are available for viewing. Previewing and similar extended “browsing” functionality may also be provided. In the virtual PVR or network PVR scenarios described elsewhere herein, such programming or content may be stored on a server located at the headend, with the CPE 106 acting effectively as its proxy. The personal media application may also be made responsive to a network-side application that queries the CPE to check on the program titles stored on the CPE 106.


As previously noted, either of the CPE 106a, 106b of the invention may be embodied as a multi-function or converged premises device, such as that described in co-owned U.S. patent application Ser. No. 11/378,129 filed Mar. 16, 2006 previously incorporated herein. This exemplary configuration (not shown) comprises a remotely manageable premises device that, inter alia, acts as a centralized client networking platform providing gateway services such as network management as well as traditional content and high-speed data delivery functions. The device also acts as the shared internet (e.g., Internet) connection for all devices in the premises via a cable modem or other such interface, sharing personal and DVR content such as video, music and photos (and any associated metadata) throughout the premises via a content handler 208 running thereon, and providing both a wired and wireless network in the home. Telephony services utilizing e.g., embedded multimedia terminal adapter (eMTA) and/or Wi-Fi architectures may also be provided via the device; these services can make use of the network operator's indigenous VoIP or comparable telephony capability if desired, thereby providing an even more unified service environment and a mechanism for the various devices 106 to communicate and interact with one another via at least one content handler 208.


In another embodiment, a wired home network utilizing existing coaxial cable in the premises is created, by using e.g., an Ethernet-to-coaxial bridge technology based on the MoCA specification. According to this embodiment, existing devices and DVRs (i.e. those not having content handlers 208) are permitted to connect and share content with a CPE 106 via a connection to its content handler 208.


In yet another embodiment, the CPE 106 is advantageously accessible via any remote device with internetworking (e.g., Internet) capability. The content handler 208 of the CPE 106 would be adapted accordingly and would thereby allow personal content to be accessed by the user from outside the premises.


Content Handler Architecture—



FIG. 4a is a generalized representation of the OCAP stack 400 as traditionally employed in prior art CPE 106. As illustrated, the OCAP stack 400 generally comprises an applications layer 412 and a middleware layer 420. The applications layer 412 is where various applications, bestowing various functions, are placed. The illustrated embodiment shows an applications layer 412 having a TWC OCAP Digital navigator (ODN) application 402, such as that described in co-owned U.S. patent application Ser. No. 11/607,663 entitled “Methods and apparatus for software provisioning of a network device” and issued as U.S. Pat. No. 10,104,432 on Oct. 16, 2018, which is incorporated herein by reference in its entirety; however it is appreciated that other navigators may be utilized consistent with the present invention. The applications layer also comprises a plurality of other applications 404 which may be run including, for example, a TWC Monitor, a Watch TV application, etc. The middleware layer 420 generally comprises native applications 410, a cable network interface 406, and a plurality of modules (not shown) run on an execution engine 408.



FIG. 4b illustrates an exemplary embodiment of the OCAP stack 450 of a CPE 106 having a content handler 208 in accordance with the present invention. As illustrated, the content handler 208 sits between the OCAP digital navigator (ODN) application 402 and the OCAP middleware layer 420. As discussed above, other embodiments may utilize alternative navigation applications and/or alternative application platforms consistent with the present invention. Thus, it is appreciated that the present architecture is merely exemplary in nature and not intended to represent the only architecture for employing the content handler 208; other configurations are incorporated herein as well.


The content handler 208 comprises multiple algorithms in several buckets. The content handler 208 uses the various algorithms in conjunction with the buckets to perform various functions related to finding, selecting and transferring content. The buckets of the illustrated embodiment are associated with a resource manager 452, a QoS manager 456, an authorized service provider, ASP, 454, a scheduler 458, and a content manager 460. However, it is appreciated that buckets associated with other CPE 106 components may be incorporated consistent with the present invention. The buckets serve as intermediate locations where the various components may communicate with and transfer data with the content handler 208. The method by which the buckets are utilized will be discussed in greater detail below with regard to the functional aspects of the content handler 208.


The resource manager 452 described above as associated with the content handler 208 buckets may be similar to that described in co-owned U.S. patent application Ser. No. 12/070,560, entitled “Multi-stream premises apparatus and methods for use in a content-based network” and issued as U.S. Pat. No. 9,743,142 on Aug. 22, 2017, which is hereby incorporated by reference in its entirety. The resource manager 452 functions in the present invention to, inter alia, process and maintain information from the RF front-end and utilize the information to monitor and to control the tune of the various tuner resources of the system (which may be controlled individually), as well as to route various individual content streams to various individual receiving devices simultaneously. The resource manager 452 with which the content handler 208 is in communication may be located on the CPE 106 having the content handler 208 or on a separate CPE 106.


The resource manager 452 arbitrates the hardware resources without requiring the OCAP application to have knowledge of those resources. It hides all the resource management from the OCAP application. The OCAP application only knows that it has content available from a single resource, but under this architecture, that single resource is representative of multiple resources.


The authorized service provider (ASP) 454 associated with the content handler 208 bucket comprises any entity which is adapted to send content to the CPE 106 having the content handler 208. The ASP 454 may comprise, inter alia, an HFC network entity 101, a distribution server 104, a VOD server 105, a digital rights management server, a broadcast switch server, or an edge switch device 194 associated with a hub.


The ASP 454 is an authorization engine that determines whether the client is able to access content. Again the content handler 208 assumes that responsibility so that all of these services are transparent to the application. The ASP 454 implements policies and enforces obligations with respect to the content.


The QoS manager 456 associated with the content handler 208 bucket described above may be similar to that described in co-owned, co-pending U.S. patent application Ser. No. 12/070,666, entitled “Apparatus and methods for utilizing statistical multiplexing to ensure quality of service in a network”; which is hereby incorporated by reference in its entirety. Accordingly, the QoS manager 456 associated with the content handler 208 bucket described above would comprise a computer application adapted to run on a CPE 106 (whether separate from the CPE 106 having the content handler 208, or not) and configure/implement a QoS policy for each content stream sent to a receiving device.


The QoS manager 456 in the stack relies on the QoS manager in the content hander 208 for the policy information and conflict resolution. The QoS manager 456 is a simple QoS organizer; all of the QoS definition, conflict resolution, etc. occurs at the content handler 208.


The content manager 460 described above as associated with the content handler buckets is a management entity, whether disposed at the headend or hub of the network, for management of media content received at the network.


The content manager 460 aggregates all of the content detected from the home network (and other sources) into a single interface (DVR EXT interface for OCAP) so that there are no additional requirements for the OCAP Digital Navigator.


The scheduler 458 described above is also a management entity, however, the scheduler 458 is disposed within the CPE 106 on which the content manager 208 is disposed. As will be discussed in greater detail below, the scheduler 458 manages the tuner resources 302 of the CPE 106 and reserves disk space on a storage device for programming that is pre-set to record. Thus, the scheduler 458 is charged with complex management functions; and, when more than one tuner 302 is present, the scheduler 458 streamlines their management. It is of note that in another embodiment, the abovementioned functionality of the scheduler 458 of the present invention may be incorporated into a resource manager or other management entity present on the CPE 106 having the content handler 208. Alternatively, the scheduler 458 of the present invention may further comprise the additional functionality generally attributed to a resource manager, as discussed above. Further, the scheduler 458 with which the content handler 208 is in contact may be the scheduler 458 disposed on the same CPE 106, or may be associated with the content handler 208 of a separate CPE 106.


Referring now to FIG. 5, a CPE 106 is shown having a content handler 208 and scheduler 458 in accordance with the present invention. As discussed above, the scheduler 458 manages the tuner 302 resource of the CPE 106, and in the exemplary embodiment, enables the content handler 208 to direct the content to a receiving apparatus 502. It is appreciated, however that several tuner resources 302 may be managed by a single scheduler 458. It is further understood that the receiving apparatus 502 of the present invention may comprise a display, storage, or other device. As will be discussed in greater detail below, the ability of the scheduler 458 to manage the tuner resources 302 is particularly advantageous in instances where a viewer would like to view or record a broadcast that will air at some future time (as discussed above). In that case, the scheduler is responsible for maintaining the request and, at the correct time, informing the content handler 208 that the content is available at the tuner.


Again the scheduler is abstracting the responsibility of scheduling recording events not only on local storage but also manages whether the recordings could be scheduled on a remote device over the home network.


Content Transfer Methodology—


The content handler 208 is adapted to communicate with the various other components within the CPE 106, as well as components within other CPEs and/or within other network entities, in order to facilitate the transfer of content between these entities. The various methods by which the content handler 208 promotes various content transfers are described in detail below.


Referring now to FIG. 6a, one exemplary embodiment of the generalized method 600 of content transfer utilizing the content handler 208 of the present invention is described. In the described embodiment, a CPE 106 having a content handler 208 functions as a renderer CPE 106b and requests stored content from a server CPE 106a or a VOD sever or a network PVR entity for display and/or storage (collectively referred to as a “server device”). The server device may or may not also advantageously comprise a content handler 208 as well.


At step 602 of the method 600, the content handler 208 of the renderer device 106b is allowed to discover the server device; or to discover the content handler 208 of the server device. The two devices thereby may form a client/server (e.g., renderer/server) relationship, although other relationships may be formed as well. This discovery 602 can occur via any number of approaches, including for example: (i) the renderer device 106b sending, through its content handler 208, a general or broadcast inquiry to all devices (and/or content handlers 208) in the network; or (ii) the server device advertising its capabilities unsolicited to the content handler 208 of the first device 106a. The server device may advertise its capabilities via its content handler 208 in one embodiment.


At step 604, the security capabilities and requirements of the renderer and server devices are checked in order to authenticate the devices. The authentication 604 may occur via a message exchange protocol, in a one-way or, alternatively, two-way authentication manner. Messages sent between the devices can be used to identify compatible security packages that each device possesses; e.g., AES or DES algorithms, public/private key pairs, support for certain security protocols, etc. Methods of authentication are well known in the communication arts and thus are not discussed further herein. In one embodiment, the method of authentication described in previously referenced U.S. patent application Ser. No. 11/592,054 is utilized consistent with the present invention.


At step 606, the renderer device 106b browses content associated with the sever device. It is noted that browsing of the server device may occur substantially through the device's content manager 208. Thus, the content handler 208 of the renderer CPE 106b comprises necessary hardware and software architecture to receive and process browsing requests by a user. The content handler 208 then communicates with the content handler 208 of the server CPE 106a, VOD server 105 or network PVR; or alternatively with another management entity disposed therein, via the aforementioned algorithms associated with the various buckets. In situations where the sever device has a content manager 208, that content manager 208 guides the browsing function in a manner similar to that of the content manager 208 of the renderer device 106b. This browsing may include review of titles, and optionally other information associated with the content (e.g., DRM or copyright requirements, file creation date, size, codec format, etc.). Such browsing functions may also allow for preview of the content by the requesting device, such as via a short pre-stored “trailer” or sample of the content, or simply accessing the content file itself for a limited duration of time. Various preview technologies known to those of ordinary skill in the art may be used consistent with the invention.


The requesting (e.g., rendering) device 106b then indicates the choice of a particular content element (e.g., movie, MP3 file, etc.) title for viewing per step 608. In one embodiment, this is accomplished via the aforementioned functionality of the renderer device's 106b content manager 208. Once this selection 608 is communicated to the server device, it determines the requesting device's 106b authorization to receive the selected content (step 610), via the requesting device's content handler 208 and, in some instances, the server's content handler 208. The authorization may not necessarily coincide with the requesting device's 106b permissions to browse or preview content. For example, a content owner or MSO might restrict unlimited or full access to content to certain selected populations of prospective users (e.g., Time Warner Cable subscribers), whereas a larger subset of potential users can browse and preview, without having full access. This access differentiation can be used as the basis of a business model; i.e., enticing prospective subscribers or one-time purchasers by providing unlimited “teasers” or previews.


If access is allowed, then, at step 612, the selected content is formatted (if required) and then transferred over the designated communication channel from the serving device (the server CPE 106a, VOD server 105, or network PVR) to the requesting device's content handler 208. This is accomplished via placement of the content in the aforementioned buckets associated with the server device (the server CPE 106a, VOD server 105, or network PVR) on the renderer device's content handler 208. The buckets serve as reservoirs where content is placed during transfer. Thus, the management entity (content handler 208 or other) of the server CPE 106b, VOD server 105, or network PVR, accesses the requested content and transfer the content to an appropriate bucket in the content handler 208 of the renderer CPE 106b. In the instance where the CPE 106a utilizes a content handler 208 the requested content is accessed in a manner similar to that discussed below with regard to a self-search of storage.


At step 614, the content handler 208 transfers the content of the bucket associated with the sever device to the display and/or storage associated bucket of the rendering device 106b. Lastly, at step 616, the display and/or storage device is directed by the content handler 208 to display and/or store the content.


Referring now to FIG. 6b, a second exemplary embodiment of the generalized method 620 of content transfer utilizing the content handler 208 of the present invention is described. In the described embodiment, a CPE 106 having a content handler 208 is able to access content stored on the CPE 106 itself. The method 620 comprises first, at step 622, receiving a user request within the content handler 208. The user request is generally accomplished by a selection on a user's remote control, etc. Accordingly, the content handler 208 comprises the necessary hardware and software architecture to receive and process the user request. The content handler 208 may also optionally authenticate the request as being from a permissible user. Then, at step 624, the content handler 208 utilizes one of the aforementioned algorithms to access the storage device and browse the contents. Once located, appropriate content is selected (step 626); an authorization may also optionally occur, wherein the content handler 208 may authorize the specific user to retrieve the content, e.g. when the content his protected or otherwise. At step 628, the content handler 208 directs the storage device to transfer the requested content to its associated bucket. Then, at step 630, the content handler 208 transfers the requested content from the storage device bucket to a bucket associated with a display device. Finally, at step 632, the content handler 208 directs the display device to display the content.


Referring now to FIG. 6c, the method 640 by which the content handler 208 enables a user to view and/or record content which is presently broadcast is given.


In the instance that the request is made of an entity separate from the CPE 106 itself, such as to a separate server CPE 106a, a VOD server 105, or a network PVR entity (collectively referred to as a “server device”), pathway (A1) dictates that, first, the content handler 208 of the requesting device 106 must discover, at step 642, the server device from which content is requested. It is appreciated that the server devices may comprise their own content handlers 208, and where this is true, discovery 642 comprises discovery of the content handler 208. The discovery function 642 of the content handler(s) 208 is accomplished in a manner similar to that described above. Also as described above, the two devices may form a client/server (e.g., renderer/server) relationship, although other relationships may be formed as well. This discovery 642 can occur via any number of approaches, including for example: (i) the content handler 208 directing the requesting device 106 to advertise its capabilities unsolicited to the server device; or (ii) the server device sending a general or broadcast inquiry to all devices 106 (and/or content handlers 208) in the network. The server device may send the inquiry via their content handler(s) 208 in one embodiment. The functioning of the content handler(s) 208 is accomplished in a manner similar to that described above.


Then, per step 644, the server device authenticates the requesting device by checking the security capabilities and requirements. The authentication may occur via several mechanisms, including, inter alia, those discussed above.


In the instance where the request is made of the CPE 106 itself, pathway (B1) is followed; it indicates that, at step 645, a user request to access the scheduler 458 is received. The scheduler 458, as discussed above, manages the tuner resources 302 of the CPE 106; and, as above, the content handler 208 comprises necessary hardware and software architecture to receive and process the user request.


Pathways (A1) and (B1) converge, at step 646 where browsing of the schedule of presently broadcast programs occurs. The schedule is accessible on the CPE 106 itself and/or on the sever device. It is noted that devices having a content manager 208, including inter alia, the CPE 106 advantageously utilize a scheduler 458 entity to facilitate browsing of the schedule. Thus, the content handler 208 must comprise necessary hardware and software architecture to receive and process browsing requests by a user.


The content handler 208 communicates with the content handler 208 of the server device; or alternatively with another management entity disposed therein, via the aforementioned algorithms associated with the various buckets. In situations where the server device has a content manager 208, that content manager 208 guides the browsing function in a manner similar to that described above, including review of titles, and optionally other associated information (e.g., DRM or copyright requirements, file creation date, size, codec format, etc.). Also as discussed above, the browsing functions may additionally allow for preview of the content by the requesting device, such as via a short pre-stored “trailer” or sample of the content, or simply accessing the content file itself for a limited duration of time.


Then, at step 648, the requesting device selects a particular content element (e.g., movie, MP3 file, etc.) for viewing. In one embodiment, this is accomplished via the aforementioned functionality of the device's content manager 208.


Where the content is requested of a server device, the selection must be communicated to the device, pathway (A2) indicates that, at step 650, the request must be authorized by the server device. Authorization 650 refers to the determination of the requesting device's 106b authorization to receive the selected content via the device's 106b content handler 208 and, in some instances, the server device's content handler 208. As discussed above, the authorization 650 may not necessarily coincide with the requesting device's 106 permissions to browse or preview content, thereby giving way to one or more business models; such as enticing prospective subscribers or one-time purchasers by providing unlimited “teasers” or previews.


If access is allowed, then, at step 652, the selected content is formatted (if required) and then transferred over the designated communication channel to the requesting device's 106b content handler 208. This is accomplished via placement of the content in the aforementioned buckets associated with the server device on the requesting device's 106b content handler 208. The buckets serve as reservoirs where content is placed during transfer. Thus, the management entity (content handler 208 or other) of the server device accesses the requested content and transfers the content to an appropriate bucket in the content handler 208 of the requesting CPE 106b (step 654).


At step 654 and per pathway (B2), where the request is made of the CPE 106 itself, the content handler 208 directs the transfer of the content to a display device associated bucket and/or a storage device associated bucket (depending on the user request). Next, at step 656, the content handler 208 directs the display device to display the content, and/or the storage device to store the content.



FIG. 6d illustrates the method 660 by which the content handler 208 enables a user to view and/or record content which is will broadcast at some future time.


In the instance that the request is made of an entity separate from the CPE 106 itself, such as to a separate “server” CPE 106a, a VOD server 105, or a network PVR entity (collectively referred to as a “server device”), pathway (C1) dictates that, first, the content handler 208 of the requesting device 106 must discover, at step 662, the server device from which content is requested. It is appreciated that if the server devices comprises a content handler 208, discovery 662 comprises discovery of the content handler 208. The discovery function 662 of the content handler(s) 208 is accomplished in a manner similar to that described above. Discovery 662 can occur via any of the aforementioned approaches, including for example: (i) the content handler 208 directing the requesting device 106 to advertise its capabilities unsolicited to a server device; or (ii) the server device sending a general or broadcast inquiry to all devices 106 (and/or content handlers 208) in the network (such as via a content handler 208).


Next, per step 664, the server device authenticates the requesting device 106b by checking the security capabilities and requirements. The authentication may occur via several mechanisms, including, inter alia, those discussed above.


In the instance where the request is made of the CPE 106 itself, pathway (D1) is followed; it indicates that, at step 665, a user request to access the scheduler 458 is received.


Pathways (C1) and (D1) converge, at step 666 where browsing of the schedule of future broadcast programs occurs. The schedule is accessible on the CPE 106 itself and/or on the sever device. It is noted that devices having a content manager 208, including inter alia, the CPE 106 advantageously utilizes a scheduler 458 entity to facilitate browsing of the schedule. Thus, the content handler 208 must comprise necessary hardware and software architecture to receive and process browsing requests by a user.


The content handler 208 communicates with the content handler 208 of the server device; or alternatively with another management entity disposed therein, and where the server device has a content manager 208, that content manager 208 guides the browsing function as discussed above.


Then, per step 668, the requesting device 106b selects a particular content element (e.g., movie, MP3 file, etc.) for viewing. In one embodiment, this is accomplished via the aforementioned functionality of the device's 106b content manager 208.


Where the content is requested of a server device, the selection must be communicated to the device, pathway (C2) indicates that, at step 670, the request must be authorized by the server device as discussed above.


If access is allowed, or per pathway (D2) in the instance the request is of the CPE 106 itself, the selected future content request is maintained by the scheduler 458 until the appropriate time for the content to broadcast arrives (step 672). At that time, per step 674, the content handler 208 is informed that the request is waiting and the content is available. This will be determined based at least in part on a determination of the day and time in which the content was set to broadcast (as determined by the schedule).


In the instance the content is requested from a server device, pathway (C3) indicates that at step 676, the selected content, once available, will be formatted (if required) and then transferred over the designated communication channel to the requesting device's content handler 208. This is accomplished via placement of the content in the aforementioned buckets associated with the server device on the requesting device's content handler 208. The buckets serve as reservoirs where content is placed during transfer. Thus, the management entity (content handler 208 or other) of the server CPE 106a, VOD server 105, or network PVR, accesses the requested content and transfer the content to an appropriate bucket in the content handler 208 of the requesting CPE 106b.


Next, at step 678, and, in the instance where the request is made to the CPE 106 itself, pathway (D3) indicates, the content handler 208 directs the transfer of the content to a display device associated bucket and/or a storage device associated bucket (depending on the user request). Lastly, at step 680, the content handler 208 directs the display device to display the content, and/or the storage device to store the content.


Communication and Authentication—


As discussed above, the exemplary content handler 208 is adapted to facilitate various CPE 106 communication with other network CPE 106 and devices as well as internal communication. The communication thus leads to performance of various functions including, inter alia, scanning, advertising, authentication, browsing, selection, authorization, transfer, receipt and viewing content. Accordingly, methods by which the content handler 208 facilitates the data exchange between the entities may include a message exchange mechanism such as that previously referenced herein. The aforementioned communication may occur via a UPnP service such as that disclosed in co-owned U.S. patent application Ser. No. 11/592,054 entitled “Methods and apparatus for premises content distribution” and issued as U.S. Pat. No. 8,732,854 on May 20, 2014, incorporated herein by reference in its entirety.


Contention Issues—


Contention is a condition that arises when two or more data attempts occur at the same time. The present invention contemplates that when these conflicts arise, the content handler 208 notifies the user. The user resolves contention issues by choosing one of the data to be displayed and/or stored; and the user's selection is understood and carried out by the content handler 208.



FIG. 7a illustrates another embodiment of a CPE 106 having a content handler 208 and a scheduler 458 in accordance with the present invention. As indicated above, the scheduler 458 is utilized to manage the tuner resources. In the illustrated embodiment, the CPE 106 advantageously comprises two tuners. However, it is appreciated that more may be utilized consistent with the present invention. Specifically, having two tuners 302 enables the CPE 106 to receive content from two separate RF channels simultaneously; the scheduler 458 enables the content handler 208 to direct the transfer of the content received from the two data streams for display and/or storage to two separate receiving devices simultaneously.



FIG. 7b illustrates the instance where one or more of the tuners is faced with a contention issue, such as where a user has requested to receive one content stream and there exists a pre-set request for a separate content stream in the scheduler 458 which would be implemented at the same time. It is also appreciated that contention issues may arise for alternate reasons or where more than two program streams are in contention; the scheduler 458 of the present invention is adapted to rectify these situations as well.


When a contention issue arises, the scheduler 458 identifies the tuner 302 with a contention issue and retrieves identification data about the program streams. The scheduler then notifies the user via the user interface 708 by sending a message 704 including identifying information about the contending program streams. The identifying information may advantageously comprise, inter alia, the title, running time, summary, or other details about the program stream content which will give the user adequate information to enable him/her to select which of the contending streams he/she would like to display or store. The user's selection will then be transmitted to the scheduler 458 via message 706 also containing identifying information at least for the selected program stream. The response message 706 is recognized and processed by the scheduler 458. Accordingly, the scheduler 458 enables the content handler 208 to direct the transfer of the selected content to the appropriate receiving device 602.


In another embodiment (not shown) it is further appreciated that when a contention issue arises, the scheduler 458 may be adapted to resolve the issue itself, according to pre-set rules, and not notify the user. Alternatively, the scheduler 458 may default to pre-set rules only if there is no response from the user after a set period of time. The pre-set rules will utilize the identifying information about the content stream that was previously gathered, at least in part, to facilitate the computer's selection. For example, the identifying information may comprise priority information including the date/time the program stream was selected for delivery. In one embodiment, program streams that were selected earlier may, according to the pre-set rules, be selected over newly selected streams. Alternatively, the rules may indicate that newly selected program streams be favored. In another example, the identifying information may comprise historical information about the frequency with which that particular content stream is requested by the CPE 106. Accordingly, the scheduler 458 chooses program streams which the user often requests over those that are less familiar. It is appreciated that other identifying information may be utilized with various pre-set rules to implement various selection criteria for the CPE 106, the above being merely exemplary.


A method 720 of resolving contention issues is given by FIG. 7c. As illustrated and discussed above, the method 720 comprises first, at step 722, identifying the tuner having a contention issue. At step 724, information regarding the program streams in contention is retrieved. As discussed above, the information retrieved may comprise, inter alia, details regarding the content associated with the program stream, priority information and/or historical information. In one embodiment, pathway E, the user is notified at step 726 and requested to make a selection. The notification will comprise at least permitting the user to view the retrieved information. In the instance where the user makes a selection, that information will be transmitted at step 730 via pathway F to a processing function of the content handler 208; however, if the user does not make a selection after a given period of time, via pathway G, the scheduler 458 is directed to select (step 728) and that selection will be transmitted at step 730 to the content handler 208. The selection by the scheduler 458 will be based at least in part on the retrieved information. In a second embodiment, pathway H, the user is not notified and instead, the scheduler 458 is adapted to select one of the contenting program streams (step 728). Selection by the scheduler 458 is accomplished via the aforementioned rules within the scheduler 458, and, at step 730 the scheduler's 458 selection is transmitted to a processing function of the content handler 208. Finally, at step 732, the content handler 208 will direct the transfer of the selected content to a receiving apparatus 702 for storage and/or display.


Software Architecture—


In another aspect of the invention, software adapted to enable a CPE 106 to further comprise a content handler 208 is given. The software described is advantageously adapted to permit the CPE 106 on which it is run to process requests for content, direct browsing of available content and direct a transfer of the requested content to a receiving apparatus 702. The receiving apparatus 702 may include, inter alia, a display device, a storage device, etc.


As noted above, the content handler 208 may be run on and adapted to manage content within only one device 106. Further, the content handler 208 is also adapted to run on one device 106 yet manage content transfer between the device 106 it is run on and a second device 106 which may or may not also comprise a content handler 208.


In one instance, the content handler 208 is adapted to receive requests from the device 106 on which it is being run and direct the browsing of a storage device attached thereto. It is noted that the storage device may comprise an internal storage device and/or may comprise storage devices external to the CPE 106 having the content handler 208. Accordingly, a user is permitted, via a content handler 208, to request to view stored content, browse the content and select content for display. The content handler 208 is adapted direct the above functions. The content handler 208 may also direct the search and display of content presently available to the device 106 via a network connection, including inter alia, an RF tuner, a wideband tuner, more than one RF tuner. The content handler 208 software may be further adapted to include scheduler 458 functionality. Accordingly, the scheduler 458 of the content handler 208 enables a user to browse content which will be available at a future time and set the CPE 106 to record and/or display that future content.


In a second instance, the content handler 208 is run on a server device 106a and requests are received from a separate, requesting device 106b. Accordingly, the user of the requesting device 106b requests to search the storage of the server device 106a. As discussed above, the request may be generated by the requesting device's 106b content handler 208. The request is received by the server device 106 as content handler 208, and processed. The content handler 208 also directs the search or browsing and once a selection is made, directs the transfer of content to the requesting device 106b. Accordingly, a user is permitted, via a content handler 208 on the server device 106a, to request to view stored content, browse the content and select content for display and/or storage. The content handler 208 software of the server device 106a may be further adapted to include scheduler 458 functionality. As discussed above, the scheduler 458 of the content handler 208 enables the user of the requesting device 106b to browse content which will be available at a future time to the server device 106a and set the server device 106a to record and/or transfer that future content to the requesting device 106b for storage and/or display when the future content becomes available.


In another instance, the content handler 208 is run on a requesting device 106b and requests are made to a separate server device 106a. Accordingly, the user of the requesting device 106b requests to search the storage of the server device 106a. As discussed above, the request may be processed and managed by the server device's 106a content handler 208. Once the content is received, the content handler 208 directs the transfer of content to the receiving apparatus 702. The content handler 208 software of the requesting device 106b may be further adapted to include scheduler 458 functionality. As discussed above, the scheduler 458 of the content handler 208 enables the user of the requesting device 106b to browse content which will be available at a future time to the server device 106a and set the server device 106a to record and/or transfer that future content to the requesting device 106b for storage and/or display when the future content becomes available.


Network Server Architecture—


It will be appreciated that, in another embodiment, various CPE 106 in a network may communicate with one overarching network server (not shown) having a content handler 208 consistent with the present invention. According to this embodiment, the various CPE 106 both inside and outside of a particular user/subscriber's premises may be permitted to browse, request, and receive content stored on the network server. It is further appreciated that the network CPE 106 may, in another embodiment, be permitted to browse, request and receive content on other CPE 106 on the network via the network server entity as well.


Business Methods and Operational “Rules” Engine—


In another aspect of the invention, an operational or business “rules” engine can be implemented consistent with the invention as a higher layer or supervisory process that imposes particular rules on the previously described server and client processes in order to produce desired business or operations goals. The rules engine can be considered an overlay of sorts to the more fundamental processes used to accomplish required device advertising/discovery, security package negotiation, browsing, etc.


In one embodiment, this rules engine is implemented a computer programs or programs running on one or more of the CPE 106 that are party to a renderer-server transaction. As previously discussed, the server CPE 106a, renderer CPE 106b, VOD server 105 and/or PVR entity can implement logic to exchange messages and negotiate a common security framework that can be used for communication. This allows for mixing and matching of different vendor's equipment and overcomes the “single source” economic inefficiency introduced by proprietary conditional access and DRM solutions. The selection and utilization of the particular aspect of this common security framework, as well as other features such as the communication channels that may be used to effectuate scanning, authentication, browsing, and content transfer, may be governed by the higher layer “rules” processes as well.


The supervisory rules may comprise a separate entity or process which is substantially autonomous of the network operator, and may be fully integrated within other processing entities (such as the aforementioned content handler 208). Alternatively, the rules engine may be controlled via e.g., a remote MSO user interface 708 such as a GUI on a PC connected to the relevant device via a network interface, so as to allow the MSO to adjust or reprogram aspects of the rules engine, reload it with updates, etc.


Included within these rules are the implementation of security management policies that can increase or enhance: (i) content security or protection, (ii) network optimization and reliability, (iii) subscriber or user satisfaction, (iv) profit or revenue, and so forth.


For example, one rule implemented by the rules engine may comprise only providing certain types or program recording and/or distribution features to certain subscribers or classes of subscribers. The subscriber server CPE 106a, VOD server 105, and/or PVR entity may possess UPnP capability for interfacing with and transmitting content to a connected device for example, but the ability to transfer such protected content out of the server entity (CPE 106a, VOD server 105, and/or PVR entity) not be made available to such subscribers unless they met certain criteria (e.g., “premium” subscription, etc.).


Moreover, premium subscribers might be given a greater scope of options and choices; e.g., the ability to use a wider range of CPE (e.g., new DSTBs introduced in the retail market), while more basic subscribers are limited as to the type of device they may use as part of their subscription.


The present invention also contemplates the partial disclosure of content by a server CPE based on the level of authentication achieved by a renderer device. These levels of authentication may be controlled by the network operator, such as where higher levels of access or authentication are provided to subscribers or users with greater privileges. For example, when a renderer is not authenticated at all, the server entity (CPE 106a, VOD server 105, and/or PVR entity) may be configured to not give the requesting CPE any access to browsing protected material of any kind. At a higher tier of authentication or permission, the server may give access to the renderer to only a subset of titles, or alternatively all titles, but without access to the substantive content itself (other than perhaps a trailer or preview).


Similarly, a server entity may be configured by the rules engine to only provide access to content that originated from a cable WAN (e.g., HFC 101) for requesting devices that authenticate themselves as a “cable operator authorized renderer”, or provide some other indicia of trust for that particular type or origin of content.


Further, different rules or grades of access can be provided to different types of content; e.g., content that is more mature or has been in distribution for a longer period of time may be viewed as less risky from a theft or unauthorized copying standpoint, and hence the authentication level or permissions required to browse and even transfer that content may be relaxed somewhat as compared to new release content.


The server entity (CPE 106a, VOD server 105, and/or PVR entity) may also segregate content (based, e.g., on AssetContentID or a similar variable) and apply different access and transfer rules based on such segregation. For example, all content with an AssetContentID of a certain form might require extended permissions (e.g., parental control) and authentication before that content can be previewed or transferred.


The server may also be advantageously used as an advertisement platform to provide occasional browsing access to showcased content to attract a user to purchase additional titles, or a subscription or membership.


The business rules engine previously described, or another functional entity within the network, may also be used to implement and enforce so-called “copy once” rules or protection mechanisms of the type well known in the content reproduction and distribution arts. Similar rules such as e.g., “never copy” and “no more copying” can also be implemented as desired. For example, the Philips Video Content Protection System (VCPS), which enables content delivered over a cable network to be marked as “copy once”, meaning it can be burned onto VCPS-enabled DVD+R and DVD-RW disks, although many other types of systems and rules are envisaged for use within the current invention.


It will be recognized that while certain aspects of the invention are described in terms of a specific sequence of steps of a method, these descriptions are only illustrative of the broader methods of the invention, and may be modified as required by the particular application. Certain steps may be rendered unnecessary or optional under certain circumstances. Additionally, certain steps or functionality may be added to the disclosed embodiments, or the order of performance of two or more steps permuted. All such variations are considered to be encompassed within the invention disclosed and claimed herein.


While the above detailed description has shown, described, and pointed out novel features of the invention as applied to various embodiments, it will be understood that various omissions, substitutions, and changes in the form and details of the device or process illustrated may be made by those skilled in the art without departing from the invention. The foregoing description is of the best mode presently contemplated of carrying out the invention. This description is in no way meant to be limiting, but rather should be taken as illustrative of the general principles of the invention. The scope of the invention should be determined with reference to the claims.

Claims
  • 1. A first computerized user device configured for data communication with a second computerized user device over an ad hoc network, the first computerized user device further configured for role-switching between a server device role and a renderer device role, the first computerized user device comprising: a data communication interface configured for data communication with at least the second computerized user device via the ad hoc network;data storage apparatus; andprocessor apparatus configured for data communication with each of the data communication interface and the data storage apparatus, the data storage apparatus having at least one computer program stored thereon, the at least one computer program comprising a plurality of instructions which are configured to, when executed by the processor apparatus: cause the first computerized user device to receive data indicative of a first user request to access content, the first user request comprising a request to access, via the first computerized user device, first digital content available at the second computerized user device;based at least on the data indicative of the first user request, cause the first computerized user device to assume the renderer device role;receive data indicative of a second user request to access content, the second user request comprising a request to access, via the second computerized user device, second digital content available at the first computerized user device; andbased at least on the data indicative of the second user request, cause the first computerized user device to assume the server device role.
  • 2. The first computerized user device of claim 1, wherein the plurality of instructions are further configured to, when executed by the processor apparatus, cause the first computerized user device to establish an ad hoc communication channel between the first computerized user device and the second computerized user device.
  • 3. The first computerized user device of claim 1, wherein the role-switching comprises utilization of a wireless air interface protocol, the wireless air interface protocol configured to cause switch from a first role specified by the wireless air interface protocol, to a second, different role specified by the wireless air interface protocol.
  • 4. The first computerized user device of claim 3, further comprising: a first software process configured to manage the role-switching; anda second software process configured to manage the data communication interface;wherein the utilization of the wireless air interface protocol for the role-switching is conducted via data communication between the first software process and the second software process.
  • 5. The first computerized user device of claim 1, wherein the plurality of instructions are further configured to, when executed by the processor apparatus, cause the first computerized user device to enable the second computerized user device to establish an ad hoc communication channel between the first computerized user device and the second computerized user device.
  • 6. The first computerized user device of claim 1, wherein the causation of the first computerized user device to assume the renderer device role at least in part comprises: causation of the first computerized user device to access a schedule of content available at the second computerized user device;receipt, at the first computerized user device, of data indicative of a user selection of the first digital content, the data indicative of the user selection generated by a user input device associated with the first computerized user device; andreceipt of at least a portion of the first digital content at the first computerized user device from the second computerized user device, the at least portion of the first digital content transmitted based at least in part on the data indicative of the user selection.
  • 7. The first computerized user device of claim 6, wherein: the access of the schedule of content available at the second computerized user device comprises access of a schedule of content available at the second computerized user device at a future time; andthe causation of the first computerized user device to assume the renderer device role further comprises: enablement of automatic reservation of one or more media storage resources of the second computerized user device for recording of the first digital content; andenablement of automatic recordation of the first digital content by the second computerized user device at the future time.
  • 8. The first computerized user device of claim 1, wherein the causation of the first computerized user device to assume the server device role at least in part comprises: enablement of the second computerized user device to access a schedule of content available at the first computerized user device;receipt, at the first computerized user device from the second computerized user device, of data indicative a user selection of the second digital content; andcausation of transmission of at least a portion of the second digital content from the first computerized user device to the second computerized user device, the causation of the transmission based at least in part on the data indicative of the user selection.
  • 9. The first computerized user device of claim 8, wherein: the access of the schedule of content available at the first computerized user device comprises access of a schedule of content available at the first computerized user device at a future time; andthe causation of the first computerized user device to assume the server device role further comprises: causation of automatic reservation of one or more media storage resources of the first computerized user device for recordation of the second digital content; andcausation of automatic recordation of the second digital content by the first computerized user device at the future time.
  • 10. Computerized apparatus configured for data communication with a plurality of computerized entities over a local area communication network, the computerized apparatus comprising: a first data communication interface configured for data communication with at least one of the plurality of computerized entities via the local area communication network;a second data communication interface configured for data communication with at least a content delivery network;data storage apparatus; andprocessor apparatus configured for data communication with each of the first data communication interface, the second data communication interface, and the data storage apparatus, the data storage apparatus having at least one computer program stored thereon, the at least one computer program comprising a plurality of instructions which are configured to, when executed by the processor apparatus, cause the computerized apparatus to: establish an ad hoc communication channel between the computerized apparatus and the plurality of computerized entities via at least the local area communication network;receive data representative of a first user request to access, via at least the computerized apparatus, first digital content stored at a first one of the plurality of computerized entities;based at least in part on the data representative of the first user request, enable a rendering functionality at the computerized apparatus;receive at least a portion of the first digital content from the first one of the plurality of computerized entities, the at least portion of the first digital content transmitted based at least in part on the data representative of the first user request;receive data representative of a second user request to access, via at least one of the first one or a second one of the plurality of computerized entities, second digital content stored at the computerized apparatus; andbased at least in part on the receipt of the data representative of the second user request: enable a server functionality at the computerized apparatus; andenable the at least one of the first one or the second one of the plurality of computerized entities to access the second digital content.
  • 11. The computerized apparatus of claim 10, wherein the local area communication network comprises a Wi-Fi network, the Wi-Fi network comprising at least a Wi-Fi access point (AP) device and a Wi-Fi station (STA) device; and wherein the computerized apparatus functions as the Wi-Fi AP device, and the plurality of computerized entities function as Wi-Fi STA devices.
  • 12. The computerized apparatus of claim 11, wherein the plurality of instructions are further configured to, when executed by the processor apparatus, cause the computerized apparatus to switch to assume a Wi-Fi STA functionality while at least one of the rendering functionality or the server functionality is/are maintained.
  • 13. The computerized apparatus of claim 10, wherein the local area communication network comprises a Bluetooth network, the Bluetooth network comprising at least a master device and a slave device; and wherein the computerized apparatus functions as the master device, and the at least one of the first one or the second one of the plurality of computerized entities functions as the slave device.
  • 14. The computerized apparatus of claim 13, wherein the plurality of instructions are further configured to, when executed by the processor apparatus, cause the computerized apparatus to switch to assume a Bluetooth slave device functionality while at least one of the rendering functionality or the server functionality is/are maintained.
  • 15. The computerized apparatus of claim 10, wherein the plurality of instructions are further configured to, when executed by the processor apparatus, cause the computerized apparatus to provide a gateway service for the plurality of computerized entities to perform at least one of (i) connection to the content delivery network, or (ii) search for additional content available via the local area communication network.
  • 16. A computerized method for establishing data communication between at least a first computerized client device and a second computerized client device over an ad hoc network, the first computerized client device configured for role-switching between a server device role and a renderer device role, the computerized method comprising: receiving data representative of a first request to access, via the first computerized client device, first digital content available at the second computerized client device;based at least on the data representative of the first request, causing the first computerized client device to assume the renderer device role;receiving data indicative of a second request to access, via the second computerized client device, second digital content available at the first computerized client device; andbased at least on the data representative of the second request, causing the first computerized client device to assume the server device role.
  • 17. The computerized method of claim 16, further comprising causing establishment of an ad hoc communication channel between the first computerized client device and the second computerized client device.
  • 18. The computerized method of claim 16, wherein the role-switching comprises utilizing a wireless air interface protocol, the wireless air interface protocol configured to cause switch from a first role specified by the wireless air interface protocol, to a second, different role specified by the wireless air interface protocol.
  • 19. The computerized method of claim 16, wherein the causing the first computerized client device to assume the renderer device role comprises: causing the first computerized client device to access a schedule of content available at the second computerized client device;receiving data representative of a user selection of the first digital content, the data representative of the user selection generated by a user input device associated with the first computerized client device; andcausing receipt of at least a portion of the first digital content at the first computerized client device from the second computerized client device, the at least portion of the first digital content transmitted based at least in part on the data indicative of the user selection.
  • 20. The computerized method of claim 19, wherein: the causing the first computerized client device to access the schedule of the content available at the second computerized client device comprises causing the first computerized client device to access of the schedule of the content available at the second computerized client device at a future time; andthe causing the first computerized client device to assume the renderer device role further comprises: enabling automatic reservation of one or more media storage resources of the second computerized client device for recording the first digital content; andenabling automatic recordation of the first digital content by the second computerized client device at the future time.
PRIORITY

This application is a continuation of and claims priority to U.S. patent application Ser. No. 12/480,591 filed Jun. 8, 2009 and entitled “METHODS AND APPARATUS FOR PREMISES CONTENT DISTRIBUTION”, which issued as U.S. Pat. No. 9,866,609 on Jan. 9, 2018.

US Referenced Citations (946)
Number Name Date Kind
4521881 Stapleford et al. Jun 1985 A
4546382 McKenna et al. Oct 1985 A
4602279 Freeman Jul 1986 A
4930120 Baxter et al. May 1990 A
5155591 Wachob Oct 1992 A
5233423 Jernigan et al. Aug 1993 A
5313454 Bustini et al. May 1994 A
5361091 Hoarty et al. Nov 1994 A
5369707 Follendore, III Nov 1994 A
5528284 Iwami et al. Jun 1996 A
5577209 Boyle et al. Nov 1996 A
5600364 Hendricks et al. Feb 1997 A
RE35651 Bradley et al. Nov 1997 E
5708961 Hylton et al. Jan 1998 A
5715403 Stefik Feb 1998 A
5734380 Adams et al. Mar 1998 A
5758257 Herz et al. May 1998 A
5774170 Hite et al. Jun 1998 A
5787172 Arnold Jul 1998 A
5793410 Rao Aug 1998 A
5815662 Ong Sep 1998 A
5818438 Howe et al. Oct 1998 A
5828832 Holden et al. Oct 1998 A
5862312 Mann et al. Jan 1999 A
5870474 Wasilewski et al. Feb 1999 A
5878324 Borth et al. Mar 1999 A
5886995 Arsenault et al. Mar 1999 A
5897635 Torres et al. Apr 1999 A
5914945 Abu-Amara et al. Jun 1999 A
5926205 Krause et al. Jul 1999 A
5935206 Dixon et al. Aug 1999 A
5963844 Dail Oct 1999 A
5982412 Nulty Nov 1999 A
6002393 Hite et al. Dec 1999 A
6009103 Woundy Dec 1999 A
6047327 Tso et al. Apr 2000 A
6081830 Schindler Jun 2000 A
6092178 Jindal et al. Jul 2000 A
6105134 Pinder et al. Aug 2000 A
6124878 Adams et al. Sep 2000 A
6128316 Takeda et al. Oct 2000 A
6134532 Lazarus et al. Oct 2000 A
6148400 Arnold Nov 2000 A
6154844 Touboul et al. Nov 2000 A
6157377 Shah-Nazaroff et al. Dec 2000 A
6157719 Wasilewski et al. Dec 2000 A
6161142 Wolfe et al. Dec 2000 A
6167432 Jiang Dec 2000 A
6167521 Smith et al. Dec 2000 A
6169728 Perreault et al. Jan 2001 B1
6175856 Riddle Jan 2001 B1
6181697 Nurenberg et al. Jan 2001 B1
6182050 Ballard Jan 2001 B1
6211869 Loveman et al. Apr 2001 B1
6211901 Imajima et al. Apr 2001 B1
6212636 Boyle et al. Apr 2001 B1
6216129 Eldering Apr 2001 B1
6216152 Wong et al. Apr 2001 B1
6219710 Gray et al. Apr 2001 B1
6219840 Corrigan et al. Apr 2001 B1
6233341 Riggins May 2001 B1
6233687 White May 2001 B1
6240243 Chen et al. May 2001 B1
6240553 Son et al. May 2001 B1
6252964 Wasilewski Jun 2001 B1
6256393 Safadi Jul 2001 B1
6259701 Shur et al. Jul 2001 B1
6266421 Domyo et al. Jul 2001 B1
6330609 Garofalakis et al. Dec 2001 B1
6337715 Inagaki et al. Jan 2002 B1
6345279 Li et al. Feb 2002 B1
6353626 Sunay et al. Mar 2002 B1
6378130 Adams Apr 2002 B1
6434141 Oz et al. Aug 2002 B1
6446261 Rosser Sep 2002 B1
6456716 Arnold Sep 2002 B1
6463508 Wolf et al. Oct 2002 B1
6463585 Hendricks et al. Oct 2002 B1
6487721 Safadi Nov 2002 B1
6498783 Lin Dec 2002 B1
6502139 Birk et al. Dec 2002 B1
6516412 Wasilewski et al. Feb 2003 B2
6519062 Yoo Feb 2003 B1
6523696 Saito et al. Feb 2003 B1
6560578 Eldering May 2003 B2
6590865 Ibaraki et al. Jul 2003 B1
6594699 Sahai Jul 2003 B1
6601171 Carter et al. Jul 2003 B1
6601237 Ten et al. Jul 2003 B1
6604138 Virine et al. Aug 2003 B1
6615039 Eldering Sep 2003 B1
6615251 Klug et al. Sep 2003 B1
6640145 Hoffberg et al. Oct 2003 B2
6651103 Markowitz et al. Nov 2003 B1
6657991 Akgun et al. Dec 2003 B1
6671736 Virine et al. Dec 2003 B2
6687735 Logston et al. Feb 2004 B1
6694145 Riikonen et al. Feb 2004 B2
6700624 Yun Mar 2004 B2
6718551 Swix et al. Apr 2004 B1
6725459 Bacon Apr 2004 B2
6728269 Godwin et al. Apr 2004 B1
6728840 Shatil et al. Apr 2004 B1
6738978 Hendricks et al. May 2004 B1
6742116 Matsui et al. May 2004 B1
6742187 Vogel May 2004 B1
6745245 Carpenter Jun 2004 B1
6760768 Holden et al. Jul 2004 B2
6763391 Ludtke Jul 2004 B1
6771290 Hoyle Aug 2004 B1
6772435 Thexton Aug 2004 B1
6775843 McDermott Aug 2004 B1
6782475 Sumner Aug 2004 B1
6782550 Cao Aug 2004 B1
6785810 Lirov et al. Aug 2004 B1
6788676 Partanen et al. Sep 2004 B2
6799196 Smith Sep 2004 B1
6807573 Saito et al. Oct 2004 B2
6813505 Walley et al. Nov 2004 B2
6839757 Romano Jan 2005 B1
6842783 Boivie et al. Jan 2005 B1
6859535 Tatebayashi et al. Feb 2005 B1
6859839 Zahorjan et al. Feb 2005 B1
6868439 Basu et al. Mar 2005 B2
6891841 Leatherbury et al. May 2005 B2
6898708 Hori et al. May 2005 B2
6898800 Son et al. May 2005 B2
6910064 Astarabadi et al. Jun 2005 B1
6917628 McKinnin et al. Jul 2005 B2
6925257 Yoo Aug 2005 B2
6944150 McConnell et al. Sep 2005 B1
6944166 Perinpanathan Sep 2005 B1
6948183 Peterka Sep 2005 B1
6954632 Kobayashi Oct 2005 B2
6957261 Lortz Oct 2005 B2
6957328 Goodman et al. Oct 2005 B2
6961430 Gaske et al. Nov 2005 B1
6973576 Giobbi Dec 2005 B2
6975730 Kuroiwa et al. Dec 2005 B1
6977691 Middleton et al. Dec 2005 B1
6981045 Brooks Dec 2005 B1
6985355 Allirot Jan 2006 B2
6985934 Armstrong et al. Jan 2006 B1
6986156 Rodriguez et al. Jan 2006 B1
6996544 Sellars et al. Feb 2006 B2
7006881 Hoffberg et al. Feb 2006 B1
7007170 Morten Feb 2006 B2
7009972 Maher et al. Mar 2006 B2
7010801 Jerding et al. Mar 2006 B1
7016963 Judd et al. Mar 2006 B1
7017174 Sheedy Mar 2006 B1
7017189 Demello et al. Mar 2006 B1
7024461 Janning et al. Apr 2006 B1
7024676 Klopfenstein Apr 2006 B1
7027460 Iyer et al. Apr 2006 B2
7039048 Monta et al. May 2006 B1
7039116 Zhang et al. May 2006 B1
7039169 Jones May 2006 B2
7039614 Candelore May 2006 B1
7039938 Candelore May 2006 B2
7047309 Baumann et al. May 2006 B2
7054443 Jakubowski et al. May 2006 B1
7054902 Toporek et al. May 2006 B2
7055040 Klemba et al. May 2006 B2
7058387 Kumar et al. Jun 2006 B2
7065216 Benaloh et al. Jun 2006 B1
7068639 Varma et al. Jun 2006 B1
7069449 Weaver et al. Jun 2006 B2
7069573 Brooks et al. Jun 2006 B1
7069578 Prus et al. Jun 2006 B1
7072950 Toft Jul 2006 B2
7073189 McElhatten et al. Jul 2006 B2
7073199 Raley Jul 2006 B1
7075945 Arsenault et al. Jul 2006 B2
7085839 Baugher et al. Aug 2006 B1
7086077 Giammaressi Aug 2006 B2
7088910 Potrebic Aug 2006 B2
7089577 Rakib et al. Aug 2006 B1
7092397 Chandran et al. Aug 2006 B1
7093272 Shah-Nazaroff et al. Aug 2006 B1
7099308 Merrill et al. Aug 2006 B2
7100183 Kunkel et al. Aug 2006 B2
7103181 Ananth Sep 2006 B2
7103906 Katz et al. Sep 2006 B1
7106382 Shiotsu Sep 2006 B2
7107326 Fijolek et al. Sep 2006 B1
7107462 Fransdonk Sep 2006 B2
7110457 Chen et al. Sep 2006 B1
7127619 Unger et al. Oct 2006 B2
7133837 Barnes, Jr. Nov 2006 B1
7143431 Eager et al. Nov 2006 B1
7146627 Ismail et al. Dec 2006 B1
7149772 Kalavade Dec 2006 B1
7152237 Flickinger et al. Dec 2006 B2
7154912 Chong et al. Dec 2006 B2
7155508 Sankuratripati et al. Dec 2006 B2
7165268 Moore et al. Jan 2007 B1
7174126 McElhatten et al. Feb 2007 B2
7174127 Otten et al. Feb 2007 B2
7174371 Elo et al. Feb 2007 B2
7174385 Li Feb 2007 B2
7178161 Fristoe et al. Feb 2007 B1
7181010 Russ et al. Feb 2007 B2
7181760 Wallace Feb 2007 B1
7191461 Arsenault et al. Mar 2007 B1
7194752 Kenyon et al. Mar 2007 B1
7194756 Addington et al. Mar 2007 B2
7200788 Hiraki et al. Apr 2007 B2
7203940 Barmettler et al. Apr 2007 B2
7207055 Hendricks et al. Apr 2007 B1
7209458 Ahvonen et al. Apr 2007 B2
7216265 Hughes et al. May 2007 B2
7225164 Candelore et al. May 2007 B1
7225333 Peinado et al. May 2007 B2
7225458 Klauss et al. May 2007 B2
7228427 Fransdonk Jun 2007 B2
7228555 Schlack Jun 2007 B2
7237112 Ishiguro et al. Jun 2007 B1
7237250 Kanojia et al. Jun 2007 B2
7242960 Van et al. Jul 2007 B2
7246150 Donoho et al. Jul 2007 B1
7246172 Yoshiba et al. Jul 2007 B2
7246366 Addington et al. Jul 2007 B1
7248694 Husemann et al. Jul 2007 B2
7254608 Yeager et al. Aug 2007 B2
7257227 Chen et al. Aug 2007 B2
7257650 Maciesowicz Aug 2007 B2
7266198 Medvinsky Sep 2007 B2
7266611 Jabri et al. Sep 2007 B2
7266726 Ladd et al. Sep 2007 B1
7283782 Sinnarajah et al. Oct 2007 B2
7289534 Bailey et al. Oct 2007 B1
7296074 Jagels Nov 2007 B2
7299290 Karpoff Nov 2007 B2
7299502 Schmeling et al. Nov 2007 B2
7305460 Park Dec 2007 B2
7305691 Cristofalo Dec 2007 B2
7308415 Kimbrel et al. Dec 2007 B2
7313611 Jacobs et al. Dec 2007 B1
7317728 Acharya et al. Jan 2008 B2
7320134 Tomsen et al. Jan 2008 B1
7324531 Cho Jan 2008 B2
7325073 Shao et al. Jan 2008 B2
7327692 Ain et al. Feb 2008 B2
7330483 Peters, Jr. et al. Feb 2008 B1
7330967 Pujare et al. Feb 2008 B1
7334044 Allen Feb 2008 B1
7340759 Rodriguez Mar 2008 B1
7343614 Hendricks Mar 2008 B1
7346688 Allen et al. Mar 2008 B2
7346917 Gatto Mar 2008 B2
7352775 Powell Apr 2008 B2
7353543 Ohmori et al. Apr 2008 B2
7355980 Bauer et al. Apr 2008 B2
7356246 Kobb Apr 2008 B1
7363371 Kirkby et al. Apr 2008 B2
7370120 Kirsch et al. May 2008 B2
7373506 Asano et al. May 2008 B2
7376386 Phillips et al. May 2008 B2
7376976 Fierstein et al. May 2008 B2
7379494 Raleigh et al. May 2008 B2
7397825 Woodward et al. Jul 2008 B2
7403618 Van et al. Jul 2008 B2
7409546 Platt Aug 2008 B2
7434245 Shiga et al. Oct 2008 B1
7457520 Rosetti et al. Nov 2008 B2
7464179 Hodges et al. Dec 2008 B2
7472280 Giobbi Dec 2008 B2
7486869 Alexander et al. Feb 2009 B2
7487363 Alve et al. Feb 2009 B2
7506367 Ishibashi Mar 2009 B1
7555006 Wolfe et al. Jun 2009 B2
7567565 La Jul 2009 B2
7577118 Haumonte et al. Aug 2009 B2
7592912 Hasek et al. Sep 2009 B2
7602820 Helms et al. Oct 2009 B2
7617516 Huslak et al. Nov 2009 B2
7630401 Iwamura Dec 2009 B2
7673004 Sherstinsky et al. Mar 2010 B1
7689995 Francis Mar 2010 B1
7690020 Lebar Mar 2010 B2
7693171 Gould Apr 2010 B2
7707644 Choi et al. Apr 2010 B2
7720986 Savoor et al. May 2010 B2
7721313 Barrett May 2010 B2
7721314 Sincaglia et al. May 2010 B2
7730321 Gasparini et al. Jun 2010 B2
7742074 Minatogawa Jun 2010 B2
7752617 Blinick et al. Jul 2010 B2
7757101 Nonaka et al. Jul 2010 B2
7757251 Gonder et al. Jul 2010 B2
7763360 Paul et al. Jul 2010 B2
7779097 Lamkin et al. Aug 2010 B2
7783316 Mitchell Aug 2010 B1
7783891 Perlin et al. Aug 2010 B2
7805052 Nakamura et al. Sep 2010 B2
7805741 Yeh Sep 2010 B2
7809942 Baran et al. Oct 2010 B2
7836178 Bedell et al. Nov 2010 B1
7865440 Jaquette Jan 2011 B2
7870599 Pemmaraju Jan 2011 B2
7908626 Williamson et al. Mar 2011 B2
7917008 Lee Mar 2011 B1
7925592 Issa et al. Apr 2011 B1
7930558 Hori Apr 2011 B2
7930715 Hendricks et al. Apr 2011 B2
7954131 Cholas et al. May 2011 B2
7983418 Oyama et al. Jul 2011 B2
8122479 Britt Feb 2012 B2
8166508 Mitsuji et al. Apr 2012 B2
8170065 Hasek et al. May 2012 B2
8181262 Cooper et al. May 2012 B2
8234387 Bradley et al. Jul 2012 B2
8280982 La et al. Oct 2012 B2
8290351 Plotnick et al. Oct 2012 B2
8291453 Boortz Oct 2012 B2
8332370 Gattegno et al. Dec 2012 B2
8332657 Eskicioglu et al. Dec 2012 B1
8341242 Dillon et al. Dec 2012 B2
8359351 Istvan Jan 2013 B2
8365212 Orlowski Jan 2013 B1
8392952 Carlucci et al. Mar 2013 B2
8458125 Chong, Jr. et al. Jun 2013 B1
8468099 Headings et al. Jun 2013 B2
8472627 Denning et al. Jun 2013 B2
8516533 Davis Aug 2013 B2
8520850 Helms et al. Aug 2013 B2
8561116 Hasek Oct 2013 B2
8634703 Barton Jan 2014 B1
8726303 Ellis, III May 2014 B2
8732854 Cholas May 2014 B2
8761402 McAvoy et al. Jun 2014 B2
8804519 Svedberg Aug 2014 B2
8843973 Morrison Sep 2014 B2
8949923 Muvavarirwa Feb 2015 B2
8997136 Brooks et al. Mar 2015 B2
9071859 Lajoie Jun 2015 B2
9178634 Tidwell et al. Nov 2015 B2
9215423 Kimble et al. Dec 2015 B2
9247308 Diaz Perez Jan 2016 B2
9277266 Riedl et al. Mar 2016 B2
9300919 Cholas et al. Mar 2016 B2
9521463 Lee Dec 2016 B2
9706160 Marsh et al. Jul 2017 B2
9742768 Cholas Aug 2017 B2
9866609 Sarosi Jan 2018 B2
9906838 Cronk et al. Feb 2018 B2
10045070 Markley Aug 2018 B2
10069836 Cholas Sep 2018 B2
20010004768 Hodge et al. Jun 2001 A1
20010013123 Freeman et al. Aug 2001 A1
20010014946 Ichinoi et al. Aug 2001 A1
20010019614 Madoukh et al. Sep 2001 A1
20010029581 Knauft Oct 2001 A1
20010030785 Pangrac et al. Oct 2001 A1
20010050901 Love et al. Dec 2001 A1
20010053223 Ishibashi et al. Dec 2001 A1
20010053226 Akins et al. Dec 2001 A1
20010056541 Matsuzaki et al. Dec 2001 A1
20020004912 Fung Jan 2002 A1
20020007485 Rodriguez Jan 2002 A1
20020013772 Peinado Jan 2002 A1
20020019984 Rakib Feb 2002 A1
20020026575 Wheeler et al. Feb 2002 A1
20020027883 Belaiche Mar 2002 A1
20020032754 Logston et al. Mar 2002 A1
20020044549 Johansson Apr 2002 A1
20020048367 Maillard Apr 2002 A1
20020049902 Rhodes Apr 2002 A1
20020049980 Hoang Apr 2002 A1
20020053082 Weaver, III May 2002 A1
20020054589 Ethridge et al. May 2002 A1
20020056125 Hodge et al. May 2002 A1
20020059577 Lu et al. May 2002 A1
20020059619 Lebar May 2002 A1
20020062440 Akama May 2002 A1
20020063621 Tseng et al. May 2002 A1
20020066033 Dobbins et al. May 2002 A1
20020077984 Ireton Jun 2002 A1
20020087975 Schlack Jul 2002 A1
20020087976 Kaplan et al. Jul 2002 A1
20020090914 Kang Jul 2002 A1
20020095684 St John et al. Jul 2002 A1
20020100059 Buehl Jul 2002 A1
20020104083 Hendricks et al. Aug 2002 A1
20020112240 Bacso et al. Aug 2002 A1
20020120498 Gordon et al. Aug 2002 A1
20020123928 Eldering et al. Sep 2002 A1
20020124182 Bacso et al. Sep 2002 A1
20020124249 Shintani et al. Sep 2002 A1
20020126654 Preston et al. Sep 2002 A1
20020129358 Buehl et al. Sep 2002 A1
20020129378 Cloonan et al. Sep 2002 A1
20020141732 Reese Oct 2002 A1
20020144067 Jeong Oct 2002 A1
20020144262 Plotnick et al. Oct 2002 A1
20020144263 Eldering et al. Oct 2002 A1
20020144275 Kay et al. Oct 2002 A1
20020147771 Traversat et al. Oct 2002 A1
20020152299 Traversat et al. Oct 2002 A1
20020152393 Thoma et al. Oct 2002 A1
20020154655 Gummalla et al. Oct 2002 A1
20020154885 Covell et al. Oct 2002 A1
20020162109 Shteyn Oct 2002 A1
20020163928 Rudnick et al. Nov 2002 A1
20020164151 Jasinschi et al. Nov 2002 A1
20020166119 Cristofalo Nov 2002 A1
20020170057 Barrett et al. Nov 2002 A1
20020174430 Ellis Nov 2002 A1
20020178447 Plotnick et al. Nov 2002 A1
20020183985 Hori et al. Dec 2002 A1
20020184154 Hori et al. Dec 2002 A1
20020188744 Mani Dec 2002 A1
20020188869 Patrick Dec 2002 A1
20020196939 Unger et al. Dec 2002 A1
20020199105 Ishiguro et al. Dec 2002 A1
20030002862 Rodriguez et al. Jan 2003 A1
20030004810 Eldering Jan 2003 A1
20030005453 Rodriguez et al. Jan 2003 A1
20030007516 Abramov et al. Jan 2003 A1
20030009681 Harada et al. Jan 2003 A1
20030014759 Van Jan 2003 A1
20030021412 Candelore et al. Jan 2003 A1
20030021421 Yokota et al. Jan 2003 A1
20030023981 Lemmons Jan 2003 A1
20030025832 Swart et al. Feb 2003 A1
20030033199 Coleman Feb 2003 A1
20030037331 Lee Feb 2003 A1
20030041336 Del et al. Feb 2003 A1
20030046560 Inomata et al. Mar 2003 A1
20030046704 Laksono et al. Mar 2003 A1
20030048380 Tamura Mar 2003 A1
20030056217 Brooks Mar 2003 A1
20030061619 Giammaressi Mar 2003 A1
20030067554 Klarfeld Apr 2003 A1
20030069965 Ma et al. Apr 2003 A1
20030074565 Wasilewski et al. Apr 2003 A1
20030074571 Fujiwara et al. Apr 2003 A1
20030077067 Wu et al. Apr 2003 A1
20030084003 Pinkas et al. May 2003 A1
20030088876 Mao et al. May 2003 A1
20030093311 Knowlson May 2003 A1
20030093784 Dimitrova et al. May 2003 A1
20030093790 Logan May 2003 A1
20030093792 Labeeb et al. May 2003 A1
20030095791 Barton et al. May 2003 A1
20030097340 Okamoto et al. May 2003 A1
20030101449 Bentolila et al. May 2003 A1
20030101451 Bentolila et al. May 2003 A1
20030110499 Knudson et al. Jun 2003 A1
20030115267 Hinton et al. Jun 2003 A1
20030115612 Mao et al. Jun 2003 A1
20030118014 Iyer et al. Jun 2003 A1
20030122966 Markman Jul 2003 A1
20030126086 Safadi Jul 2003 A1
20030135860 Dureau Jul 2003 A1
20030139980 Hamilton Jul 2003 A1
20030140227 Asano et al. Jul 2003 A1
20030140351 Hoarty et al. Jul 2003 A1
20030145323 Hendricks et al. Jul 2003 A1
20030149975 Eldering et al. Aug 2003 A1
20030161473 Fransdonk Aug 2003 A1
20030163697 Pabla et al. Aug 2003 A1
20030163739 Armington et al. Aug 2003 A1
20030165241 Fransdonk Sep 2003 A1
20030166401 Combes et al. Sep 2003 A1
20030174838 Bremer Sep 2003 A1
20030179773 Mocek et al. Sep 2003 A1
20030182261 Patterson Sep 2003 A1
20030187799 Sellars et al. Oct 2003 A1
20030205763 Park et al. Nov 2003 A1
20030208763 McElhatten et al. Nov 2003 A1
20030208767 Williamson et al. Nov 2003 A1
20030208783 Hillen et al. Nov 2003 A1
20030214962 Allaye-Chan et al. Nov 2003 A1
20030217137 Roese et al. Nov 2003 A1
20030217365 Caputo Nov 2003 A1
20030229681 Levitan Dec 2003 A1
20030229900 Reisman Dec 2003 A1
20030235393 Boston Dec 2003 A1
20030237090 Boston Dec 2003 A1
20040006625 Saha et al. Jan 2004 A1
20040010807 Urdang et al. Jan 2004 A1
20040024688 Bi et al. Feb 2004 A1
20040031053 Lim et al. Feb 2004 A1
20040034877 Nogues Feb 2004 A1
20040045030 Reynolds et al. Mar 2004 A1
20040045032 Cummings et al. Mar 2004 A1
20040045035 Cummings et al. Mar 2004 A1
20040045037 Cummings et al. Mar 2004 A1
20040052377 Mattox et al. Mar 2004 A1
20040078602 Rothbarth et al. Apr 2004 A1
20040078809 Drazin Apr 2004 A1
20040088558 Candelore May 2004 A1
20040101271 Boston May 2004 A1
20040103437 Allegrezza May 2004 A1
20040109569 Ellison et al. Jun 2004 A1
20040109672 Kim et al. Jun 2004 A1
20040113936 Dempski Jun 2004 A1
20040117836 Karaoguz et al. Jun 2004 A1
20040123129 Ginter et al. Jun 2004 A1
20040123313 Koo et al. Jun 2004 A1
20040128499 Peterka et al. Jul 2004 A1
20040133907 Rodriguez et al. Jul 2004 A1
20040133923 Watson et al. Jul 2004 A1
20040137918 Varonen et al. Jul 2004 A1
20040146006 Jackson Jul 2004 A1
20040148503 Sidman Jul 2004 A1
20040158858 Paxton et al. Aug 2004 A1
20040163109 Kang et al. Aug 2004 A1
20040177369 Akins Sep 2004 A1
20040179605 Lane Sep 2004 A1
20040181800 Rakib et al. Sep 2004 A1
20040184616 Morten Sep 2004 A1
20040187150 Gonder et al. Sep 2004 A1
20040187159 Gaydos et al. Sep 2004 A1
20040190714 Masui et al. Sep 2004 A1
20040190721 Barrett et al. Sep 2004 A1
20040193609 Phan et al. Sep 2004 A1
20040193648 Lai Sep 2004 A1
20040193680 Gibbs et al. Sep 2004 A1
20040193704 Smith Sep 2004 A1
20040194134 Gunatilake et al. Sep 2004 A1
20040224425 Gjerde et al. Nov 2004 A1
20040226044 Goode Nov 2004 A1
20040237100 Pinder et al. Nov 2004 A1
20040244058 Carlucci et al. Dec 2004 A1
20040250273 Swix et al. Dec 2004 A1
20040255336 Logan et al. Dec 2004 A1
20040260798 Addington et al. Dec 2004 A1
20040261093 Rebaud et al. Dec 2004 A1
20040261114 Addington et al. Dec 2004 A1
20040261116 McKeown et al. Dec 2004 A1
20040267880 Patiejunas Dec 2004 A1
20040267965 Vasudevan Dec 2004 A1
20040268386 Logan et al. Dec 2004 A1
20050005287 Claussen Jan 2005 A1
20050010697 Kinawi et al. Jan 2005 A1
20050015810 Gould et al. Jan 2005 A1
20050021985 Ono et al. Jan 2005 A1
20050022227 Shen et al. Jan 2005 A1
20050034171 Benya Feb 2005 A1
20050039205 Riedl Feb 2005 A1
20050039206 Opdycke Feb 2005 A1
20050039212 Baran et al. Feb 2005 A1
20050041679 Weinstein et al. Feb 2005 A1
20050047596 Suzuki Mar 2005 A1
20050049886 Grannan et al. Mar 2005 A1
20050050160 Upendran et al. Mar 2005 A1
20050055220 Lee et al. Mar 2005 A1
20050055685 Maynard et al. Mar 2005 A1
20050058115 Levin et al. Mar 2005 A1
20050060742 Riedl et al. Mar 2005 A1
20050060745 Riedl et al. Mar 2005 A1
20050060758 Park Mar 2005 A1
20050063541 Candelore Mar 2005 A1
20050065888 Benaloh Mar 2005 A1
20050071663 Medvinsky Mar 2005 A1
20050071669 Medvinsky Mar 2005 A1
20050071882 Rodriguez Mar 2005 A1
20050076092 Chang Apr 2005 A1
20050086326 Manning Apr 2005 A1
20050086683 Meyerson Apr 2005 A1
20050086691 Dudkiewicz et al. Apr 2005 A1
20050091173 Alve Apr 2005 A1
20050097006 Nyako May 2005 A1
20050097598 Pedlow, Jr. May 2005 A1
20050108529 Juneau May 2005 A1
20050108763 Baran et al. May 2005 A1
20050108768 Deshpande et al. May 2005 A1
20050108769 Arnold et al. May 2005 A1
20050111844 Compton et al. May 2005 A1
20050114141 Grody May 2005 A1
20050114686 Ball et al. May 2005 A1
20050114900 Ladd May 2005 A1
20050120386 Stone Jun 2005 A1
20050123001 Craven et al. Jun 2005 A1
20050125528 Burke et al. Jun 2005 A1
20050125832 Jost et al. Jun 2005 A1
20050135476 Gentric et al. Jun 2005 A1
20050138357 Swenson et al. Jun 2005 A1
20050152397 Bai et al. Jul 2005 A1
20050168323 Lenoir et al. Aug 2005 A1
20050169468 Fahrny et al. Aug 2005 A1
20050172127 Hartung et al. Aug 2005 A1
20050177740 Athaide et al. Aug 2005 A1
20050177741 Chen et al. Aug 2005 A1
20050177855 Maynard et al. Aug 2005 A1
20050182931 Robert et al. Aug 2005 A1
20050182972 Apostolopoulos Aug 2005 A1
20050188210 Perlin et al. Aug 2005 A1
20050190912 Hopkins et al. Sep 2005 A1
20050195975 Kawakita Sep 2005 A1
20050198686 Krause et al. Sep 2005 A1
20050198693 Choi et al. Sep 2005 A1
20050204065 Son Sep 2005 A1
20050210500 Stone Sep 2005 A1
20050210510 Danker Sep 2005 A1
20050216942 Barton Sep 2005 A1
20050223409 Rautila et al. Oct 2005 A1
20050251821 Pina Nov 2005 A1
20050268107 Harris et al. Dec 2005 A1
20050273629 Abrams et al. Dec 2005 A1
20050276284 Krause et al. Dec 2005 A1
20050278259 Gunaseelan et al. Dec 2005 A1
20050289618 Hardin Dec 2005 A1
20050289619 Melby Dec 2005 A1
20060002551 Brown et al. Jan 2006 A1
20060004662 Nadalin et al. Jan 2006 A1
20060008256 Khedouri et al. Jan 2006 A1
20060010075 Wolf Jan 2006 A1
20060015352 Wynn et al. Jan 2006 A1
20060020786 Helms et al. Jan 2006 A1
20060020950 Ladd et al. Jan 2006 A1
20060020984 Ban et al. Jan 2006 A1
20060021004 Moran et al. Jan 2006 A1
20060036750 Ladd et al. Feb 2006 A1
20060037060 Simms et al. Feb 2006 A1
20060041903 Kahn et al. Feb 2006 A1
20060041905 Wasilewski Feb 2006 A1
20060041910 Hatanaka Feb 2006 A1
20060047801 Haag et al. Mar 2006 A1
20060047957 Helms et al. Mar 2006 A1
20060050784 Lappalainen Mar 2006 A1
20060059098 Major et al. Mar 2006 A1
20060059342 Medvinsky Mar 2006 A1
20060062059 Smith et al. Mar 2006 A1
20060064583 Birnbaum et al. Mar 2006 A1
20060064728 Son et al. Mar 2006 A1
20060066632 Wong et al. Mar 2006 A1
20060073843 Aerrabotu et al. Apr 2006 A1
20060075449 Jagadeesan et al. Apr 2006 A1
20060080408 Istvan Apr 2006 A1
20060084417 Melpignano et al. Apr 2006 A1
20060085824 Bruck Apr 2006 A1
20060088063 Hartung et al. Apr 2006 A1
20060095940 Yearwood May 2006 A1
20060117374 Kortum Jun 2006 A1
20060127039 Van Jun 2006 A1
20060130099 Rooyen Jun 2006 A1
20060130107 Gonder Jun 2006 A1
20060130113 Carlucci et al. Jun 2006 A1
20060133398 Choi et al. Jun 2006 A1
20060133644 Wells et al. Jun 2006 A1
20060136964 Diez et al. Jun 2006 A1
20060137005 Park Jun 2006 A1
20060137015 Fahrny et al. Jun 2006 A1
20060140584 Ellis Jun 2006 A1
20060148362 Bridges Jul 2006 A1
20060149850 Bowman Jul 2006 A1
20060156352 Smith Jul 2006 A1
20060161635 Lamkin et al. Jul 2006 A1
20060168219 Ahluwalia et al. Jul 2006 A1
20060171390 La Aug 2006 A1
20060171423 Helms et al. Aug 2006 A1
20060173783 Marples Aug 2006 A1
20060179138 Van et al. Aug 2006 A1
20060184972 Rafey et al. Aug 2006 A1
20060187900 Akbar Aug 2006 A1
20060197828 Zeng et al. Sep 2006 A1
20060200856 Salowey et al. Sep 2006 A1
20060206712 Dillaway et al. Sep 2006 A1
20060209799 Gallagher et al. Sep 2006 A1
20060212400 Kamperman et al. Sep 2006 A1
20060212906 Cantalini Sep 2006 A1
20060218601 Michel Sep 2006 A1
20060218604 Riedl et al. Sep 2006 A1
20060218620 Nadarajah Sep 2006 A1
20060218647 Hars et al. Sep 2006 A1
20060235800 Furlong Oct 2006 A1
20060236131 Vauclair Oct 2006 A1
20060248553 Mikkelson Nov 2006 A1
20060248555 Eldering Nov 2006 A1
20060253328 Kohli et al. Nov 2006 A1
20060253864 Easty Nov 2006 A1
20060256376 Hirooka Nov 2006 A1
20060259927 Acharya et al. Nov 2006 A1
20060271946 Woundy et al. Nov 2006 A1
20060277569 Smith Dec 2006 A1
20060291506 Cain Dec 2006 A1
20060294250 Stone et al. Dec 2006 A1
20070011335 Burns et al. Jan 2007 A1
20070019645 Menon Jan 2007 A1
20070022459 Gaebel et al. Jan 2007 A1
20070022469 Cooper et al. Jan 2007 A1
20070033531 Marsh Feb 2007 A1
20070039033 Ota Feb 2007 A1
20070046791 Wang et al. Mar 2007 A1
20070047449 Berger et al. Mar 2007 A1
20070049245 Lipman Mar 2007 A1
20070053293 McDonald Mar 2007 A1
20070058924 Yeh Mar 2007 A1
20070061149 Chang Mar 2007 A1
20070061818 Williams et al. Mar 2007 A1
20070067851 Fernando et al. Mar 2007 A1
20070076728 Rieger et al. Apr 2007 A1
20070078910 Bopardikar Apr 2007 A1
20070079342 Ellis Apr 2007 A1
20070079381 Hartung et al. Apr 2007 A1
20070089127 Flickinger et al. Apr 2007 A1
20070094691 Gazdzinski Apr 2007 A1
20070098178 Raikar May 2007 A1
20070101157 Faria May 2007 A1
20070101370 Calderwood May 2007 A1
20070104456 Craner May 2007 A1
20070106805 Marples May 2007 A1
20070113243 Brey May 2007 A1
20070118852 Calderwood May 2007 A1
20070121569 Fukui et al. May 2007 A1
20070121678 Brooks et al. May 2007 A1
20070124416 Casey et al. May 2007 A1
20070124488 Baum et al. May 2007 A1
20070124602 Wald et al. May 2007 A1
20070124781 Casey et al. May 2007 A1
20070130581 Del et al. Jun 2007 A1
20070133405 Bowra et al. Jun 2007 A1
20070150963 Lee Jun 2007 A1
20070153820 Gould Jul 2007 A1
20070156539 Yates Jul 2007 A1
20070157234 Walker Jul 2007 A1
20070157295 Mangalore et al. Jul 2007 A1
20070162927 Ramaswamy et al. Jul 2007 A1
20070162971 Blom Jul 2007 A1
20070174888 Rubinstein Jul 2007 A1
20070192615 Varghese et al. Aug 2007 A1
20070204300 Markley et al. Aug 2007 A1
20070204310 Hua et al. Aug 2007 A1
20070204311 Hasek et al. Aug 2007 A1
20070204313 McEnroe et al. Aug 2007 A1
20070204314 Hasek et al. Aug 2007 A1
20070206799 Wingert et al. Sep 2007 A1
20070209059 Moore et al. Sep 2007 A1
20070217436 Markley et al. Sep 2007 A1
20070219910 Martinez Sep 2007 A1
20070220024 Putterman et al. Sep 2007 A1
20070223380 Gilbert et al. Sep 2007 A1
20070233857 Cheng et al. Oct 2007 A1
20070241176 Epstein et al. Oct 2007 A1
20070250872 Dua Oct 2007 A1
20070250880 Hainline Oct 2007 A1
20070261116 Prafullchandra et al. Nov 2007 A1
20070271386 Kurihara et al. Nov 2007 A1
20070274400 Murai et al. Nov 2007 A1
20070276925 La et al. Nov 2007 A1
20070276926 Lajoie et al. Nov 2007 A1
20070294178 Pinder et al. Dec 2007 A1
20080008321 Gagnon et al. Jan 2008 A1
20080008371 Woods et al. Jan 2008 A1
20080015997 Moroney Jan 2008 A1
20080016526 Asmussen Jan 2008 A1
20080021836 Lao Jan 2008 A1
20080022012 Wang Jan 2008 A1
20080022308 Garcea Jan 2008 A1
20080022330 Barrett Jan 2008 A1
20080040403 Hayashi Feb 2008 A1
20080046922 Jankins Feb 2008 A1
20080052157 Kadambi et al. Feb 2008 A1
20080059804 Shah et al. Mar 2008 A1
20080066112 Bailey Mar 2008 A1
20080081699 Haeuser Apr 2008 A1
20080082688 Yi Apr 2008 A1
20080091805 Malaby et al. Apr 2008 A1
20080091807 Strub et al. Apr 2008 A1
20080092181 Britt Apr 2008 A1
20080098212 Helms et al. Apr 2008 A1
20080098446 Seckin et al. Apr 2008 A1
20080101460 Rodriguez May 2008 A1
20080103976 Read et al. May 2008 A1
20080103977 Khosravy et al. May 2008 A1
20080112405 Cholas May 2008 A1
20080117920 Tucker May 2008 A1
20080118063 Guzman May 2008 A1
20080123862 Rowley May 2008 A1
20080133551 Wensley et al. Jun 2008 A1
20080133569 Vu Jun 2008 A1
20080134156 Osminer et al. Jun 2008 A1
20080134165 Anderson Jun 2008 A1
20080134615 Risi et al. Jun 2008 A1
20080141175 Sarna et al. Jun 2008 A1
20080141317 Radloff et al. Jun 2008 A1
20080141353 Brown Jun 2008 A1
20080148362 Gilder et al. Jun 2008 A1
20080152316 Sylvain Jun 2008 A1
20080154626 Gounares et al. Jun 2008 A1
20080155059 Hardin Jun 2008 A1
20080159714 Harrar Jul 2008 A1
20080162353 Tom et al. Jul 2008 A1
20080165460 Whitby-Strevens Jul 2008 A1
20080177998 Apsangi et al. Jul 2008 A1
20080184297 Ellis Jul 2008 A1
20080189617 Covell Aug 2008 A1
20080192820 Brooks et al. Aug 2008 A1
20080201748 Hasek Aug 2008 A1
20080209464 Wright-Riley Aug 2008 A1
20080212945 Khedouri et al. Sep 2008 A1
20080212947 Nesvadba Sep 2008 A1
20080222684 Mukraj et al. Sep 2008 A1
20080229354 Morris et al. Sep 2008 A1
20080235732 Han et al. Sep 2008 A1
20080235746 Peters Sep 2008 A1
20080244667 Osborne Oct 2008 A1
20080244682 Sparrell Oct 2008 A1
20080256510 Auerbach Oct 2008 A1
20080267403 Boult Oct 2008 A1
20080270307 Olson et al. Oct 2008 A1
20080271068 Ou et al. Oct 2008 A1
20080273591 Brooks Nov 2008 A1
20080276270 Kotaru et al. Nov 2008 A1
20080282299 Koat et al. Nov 2008 A1
20080288618 Vardi et al. Nov 2008 A1
20080288996 Walter Nov 2008 A1
20080307339 Boro Dec 2008 A1
20090007234 Birger et al. Jan 2009 A1
20090010610 Scholl Jan 2009 A1
20090019485 Ellis Jan 2009 A1
20090019492 Grasset Jan 2009 A1
20090025027 Craner Jan 2009 A1
20090025075 Chow et al. Jan 2009 A1
20090028182 Brooks Jan 2009 A1
20090031371 Munsell et al. Jan 2009 A1
20090037960 Melby Feb 2009 A1
20090052863 Parmar Feb 2009 A1
20090052870 Marsh Feb 2009 A1
20090055213 Kawahata Feb 2009 A1
20090077614 White Mar 2009 A1
20090083813 Dolce et al. Mar 2009 A1
20090089882 Hofmann Apr 2009 A1
20090098861 Kalliola et al. Apr 2009 A1
20090100147 Igarashi Apr 2009 A1
20090100182 Chaudhry Apr 2009 A1
20090100459 Riedl et al. Apr 2009 A1
20090102983 Malone et al. Apr 2009 A1
20090144237 Branam Jun 2009 A1
20090151006 Saeki et al. Jun 2009 A1
20090165053 Thyagarajan Jun 2009 A1
20090182815 Czechowski, III et al. Jul 2009 A1
20090185576 Kisel et al. Jul 2009 A1
20090199238 Kummer Aug 2009 A1
20090201917 Maes et al. Aug 2009 A1
20090207866 Cholas Aug 2009 A1
20090210899 Lawrence-Apfelbaum et al. Aug 2009 A1
20090210912 Cholas Aug 2009 A1
20090217326 Hasek Aug 2009 A1
20090217332 Hindle Aug 2009 A1
20090220216 Marsh Sep 2009 A1
20090225760 Foti Sep 2009 A1
20090254600 Lee Oct 2009 A1
20090260042 Chiang Oct 2009 A1
20090265750 Jones et al. Oct 2009 A1
20090274212 Mizutani et al. Nov 2009 A1
20090282241 Prafullchandra et al. Nov 2009 A1
20090282449 Lee Nov 2009 A1
20090285391 Johnson Nov 2009 A1
20090290711 Bloom et al. Nov 2009 A1
20090292922 Park Nov 2009 A1
20090293101 Carter et al. Nov 2009 A1
20090317065 Fyock Dec 2009 A1
20100017627 Princen et al. Jan 2010 A1
20100030578 Siddique et al. Feb 2010 A1
20100031299 Harrang et al. Feb 2010 A1
20100033331 Bautovich Feb 2010 A1
20100042478 Reisman Feb 2010 A1
20100043030 White Feb 2010 A1
20100061708 Barton Mar 2010 A1
20100070997 Friedman Mar 2010 A1
20100082983 Shah et al. Apr 2010 A1
20100083329 Joyce et al. Apr 2010 A1
20100088236 Karabulut et al. Apr 2010 A1
20100088292 Tirpak et al. Apr 2010 A1
20100106846 Noldus et al. Apr 2010 A1
20100131973 Dillon et al. May 2010 A1
20100138900 Peterka et al. Jun 2010 A1
20100142448 Schlicht Jun 2010 A1
20100153997 Baumgartner Jun 2010 A1
20100157928 Spinar et al. Jun 2010 A1
20100169977 Dasher et al. Jul 2010 A1
20100185855 Margolus et al. Jul 2010 A1
20100198888 Blomstedt Aug 2010 A1
20100217837 Ansari et al. Aug 2010 A1
20100218223 Simpson Aug 2010 A1
20100223491 Ladd et al. Sep 2010 A1
20100223660 Scott Sep 2010 A1
20100223673 Scott Sep 2010 A1
20100247067 Gratton Sep 2010 A1
20100251289 Agarwal et al. Sep 2010 A1
20100251304 Donoghue et al. Sep 2010 A1
20100281506 Schmidt Nov 2010 A1
20100287609 Gonzalez Nov 2010 A1
20100310076 Barzilai et al. Dec 2010 A1
20100312826 Sarosi Dec 2010 A1
20100313225 Cholas et al. Dec 2010 A1
20100313226 Cholas et al. Dec 2010 A1
20110010741 Liao Jan 2011 A1
20110071841 Fomenko Mar 2011 A1
20110078721 Wang Mar 2011 A1
20110093900 Patel Apr 2011 A1
20110103374 Lajoie et al. May 2011 A1
20110107379 Lajoie et al. May 2011 A1
20110138409 Svensson Jun 2011 A1
20110162007 Karaoguz et al. Jun 2011 A1
20110164753 Dubhashi Jul 2011 A1
20110169977 Masuda Jul 2011 A1
20110179196 Friedman Jul 2011 A1
20110197070 Mizrah Aug 2011 A1
20110206200 Sovio et al. Aug 2011 A1
20110213688 Santos et al. Sep 2011 A1
20110219229 Cholas Sep 2011 A1
20110252236 De et al. Oct 2011 A1
20110252243 Brouwer Oct 2011 A1
20110264530 Santangelo et al. Oct 2011 A1
20120008786 Cronk et al. Jan 2012 A1
20120011567 Cronk et al. Jan 2012 A1
20120014255 Svedberg Jan 2012 A1
20120030714 Sweatt, III et al. Feb 2012 A1
20120089699 Cholas Apr 2012 A1
20120131629 Shrum, Jr. et al. May 2012 A1
20120159603 Queck Jun 2012 A1
20120167173 Nadalin et al. Jun 2012 A1
20120210382 Walker et al. Aug 2012 A1
20120260346 Carey et al. Oct 2012 A1
20120278841 Hasek et al. Nov 2012 A1
20120291062 Pearson et al. Nov 2012 A1
20130191443 Gan et al. Jul 2013 A1
20130227608 Evans et al. Aug 2013 A1
20130309971 Kiukkonen et al. Nov 2013 A1
20130318629 Lajoie et al. Nov 2013 A1
20130325870 Rouse et al. Dec 2013 A1
20130347089 Bailey et al. Dec 2013 A1
20140189749 Gordon et al. Jul 2014 A1
20140233923 Bradley et al. Aug 2014 A1
20140281489 Peterka et al. Sep 2014 A1
20140282750 Civiletto Sep 2014 A1
20140283137 Rebaud et al. Sep 2014 A1
20140344897 Cholas Nov 2014 A1
20150271541 Gonder et al. Sep 2015 A1
20150324379 Danovitz et al. Nov 2015 A1
20160050190 Mooij et al. Feb 2016 A1
20160165650 Kim et al. Jun 2016 A1
20160165651 Pathuri et al. Jun 2016 A1
20160301525 Canard et al. Oct 2016 A1
20160307596 Hardin et al. Oct 2016 A1
20180069862 Cholas Mar 2018 A1
20180131975 Badawiyeh et al. May 2018 A1
20180219931 Sarosi Aug 2018 A1
20190068677 Sarosi Feb 2019 A1
20190268643 Raley Aug 2019 A1
Foreign Referenced Citations (74)
Number Date Country
2643806 Jun 2013 CA
1139198 Oct 2001 EP
2113860 Nov 2009 EP
2381709 May 2003 GB
2405567 Mar 2005 GB
H08263440 Oct 1996 JP
2000156676 Jun 2000 JP
2000332746 Nov 2000 JP
2001243707 Sep 2001 JP
2001274786 Oct 2001 JP
2001274788 Oct 2001 JP
2001285821 Oct 2001 JP
2002163396 Jun 2002 JP
2002352094 Dec 2002 JP
2003058657 Feb 2003 JP
2003162600 Jun 2003 JP
2003233690 Aug 2003 JP
2003248508 Sep 2003 JP
2003296484 Oct 2003 JP
2003348508 Dec 2003 JP
2004030111 Jan 2004 JP
2004072721 Mar 2004 JP
2004120736 Apr 2004 JP
2004120738 Apr 2004 JP
2004303111 Oct 2004 JP
2005506627 Mar 2005 JP
2005519365 Jun 2005 JP
2005519501 Jun 2005 JP
2005339093 Dec 2005 JP
2006185473 Jul 2006 JP
2006311267 Nov 2006 JP
2007020144 Jan 2007 JP
2007534030 Nov 2007 JP
2007336553 Dec 2007 JP
2008005047 Jan 2008 JP
2008015936 Jan 2008 JP
2008021293 Jan 2008 JP
2008507905 Mar 2008 JP
2008167018 Jul 2008 JP
2008186272 Aug 2008 JP
2008206039 Sep 2008 JP
2008539631 Nov 2008 JP
2009071786 Apr 2009 JP
2009515238 Apr 2009 JP
2009176060 Aug 2009 JP
2009211632 Sep 2009 JP
2010502109 Jan 2010 JP
2010079902 Apr 2010 JP
2012505436 Mar 2012 JP
2012523614 Oct 2012 JP
WO-0103410 Jan 2001 WO
WO-0110125 Feb 2001 WO
WO-0137479 May 2001 WO
WO-0169842 Sep 2001 WO
WO-0176236 Oct 2001 WO
WO-0177778 Oct 2001 WO
WO-0191474 Nov 2001 WO
WO-0213032 Feb 2002 WO
WO-0219581 Mar 2002 WO
WO-0221841 Mar 2002 WO
WO-0242966 May 2002 WO
WO-02080556 Oct 2002 WO
WO-03038704 May 2003 WO
WO-03087799 Oct 2003 WO
WO-03093944 Nov 2003 WO
WO-2004008693 Jan 2004 WO
WO-2004027622 Apr 2004 WO
WO-2005015422 Feb 2005 WO
WO-2006020141 Feb 2006 WO
WO-2006063194 Jun 2006 WO
WO-2008070062 Jun 2008 WO
WO-2008080556 Jul 2008 WO
WO-2009020476 Feb 2009 WO
WO-2012021245 Feb 2012 WO
Non-Patent Literature Citations (59)
Entry
Wikipedia, Digital Video Recorder, obtained from the Internet Nov. 11, 2014.
5C Digital Transmission Content Protection White Paper, Hitachi, Ltd., et al., dated Jul. 14, 1998, 15 pages.
CableLabs Asset Distribution Interface (ADI) Specification, Version 1 1, MD-SP-ADI1.103-040107, Jan. 7, 2004. pp. 1-26.
Cantor, et al., Assertions and Protocols for the OASIS Security Assertion Markup Language (SAML) V2.0, Oasis Standard, Mar. 15 2005. Document ID: saml-core-2.0-os (http://docs.oasis-open.org/security/saml/v2.0/saml-core-2.0-os.pdf).
Cantor, et al., Bindings for the OASIS Security Assertion Markup Language (SAML) V2.0, Oasis Standard, Mar. 2005, Document ID saml-bindings-2.0-os ,(http://docs.oasis-open.org/security/saml/v2.0/saml-bindings-2.0-os.pdf).
Cisco Intelligent Network Architecture for Digital Video—SCTE Cable-Tec Expo 2004 information page, Orange County Convention Center, Jun. 2004, 24 pages.
DCAS Authorized Service Domain, Version 1.2, dated Nov. 4, 2008, 58 pages.
DCAS Authorized Service Domain, Version 1.2, Nov. 30, 2005, 56 pages.
DCAS Licensed Specification Abstracts, CableLabs Confidential Information, Jan. 12, 2006, 4 pages.
Deering et al., Internet Protocol, Version 6 (Ipv6) Specification, IETF RFC 2460 (Dec. 1998).
Digital Video Broadcasting (DVB); DVB SimulCrypt; Part 1: “Head-end architecture and synchronization” Technical Specification—ETSI TS 101 197 V1.2.1 (Feb. 2002), 40 pages.
DOCSIS 1.0: Cable Modem to Customer Premise Equipment Interface Specification, dated Nov. 3, 2008, 64 pages.
DOCSIS 1.1: Operations Support System Interface Specification, dated Sep. 6, 2005, 242 pages.
DOCSIS 1.1: Radio Frequency Interface Specification, dated Sep. 6, 2005, 436 pages.
DOCSIS 2.0: Radio Frequency Interface Specification, dated Apr. 21, 2009, 499 pages.
DOCSIS 3.0: Cable Modem to CPE Interface Specification, dated May 9, 2017, 19 pages.
DOCSIS 3.0: MAC and Upper Layer Protocols Interface Specification, dated Jan. 10, 2017, 795 pages.
DOCSIS 3.0: Operations Support System Interface Specification, dated Jan. 10, 2017, 547 pages.
DOCSIS 3.0: Physical Layer Specification, dated Jan. 10, 2017, 184 pages.
DOCSIS 3.1: Cable Modem Operations Support System Interface Specification, dated May 9, 2017, 308 pages.
DOCSIS 3.1: CCAP Operations Support System Interface Specification, dated May 9, 2017, 703 pages.
DOCSIS 3.1: MAC and Upper Layer Protocols Interface Specification, dated May 9, 2017, 838 pages.
DOCSIS 3.1: Physical Layer Specification, dated May 9, 2017, 249 pages.
DVB (Digital Video Broadcasting), DVB Document A045 Rev. 3, Jul. 2004, “Head-end Implementation of SimulCrypt,” 289 pages.
Federal Information Processing Standards Publication, US FIPS PUB 197, Nov. 26, 2001, “Advanced Encryption Standards (AES),” 47 pages.
Griffith, et al.,Resource Planning and Bandwidth Allocation in Hybrid Fiber-Coax Residential Networks, National Institute of Standards and Technology (NIST), 10 pages, no date.
High-bandwidth Digital Content Protection System, Revision 1.091, dated Apr. 22, 2003, Digital Content Protection LLC Draft, 78 pages.
Internet Protocol DARPA Internet Program Protocol Specification, IETF RFC 791 (Sep. 1981).
Kanouff, Communications Technology: Next-Generation Bandwidth Management—The Evolution of the Anything-to-Anywhere Network, 8 pages, Apr. 1, 2004.
Marusic, et al., “Share it!—Content Transfer in Home-to-Home Networks.” IEEE Melecon 2004, May 12-15, 2004, Dubrovnik, Croatia.
Media Server; 1 Device Template Version 1.01 Jun. 25, 2002.
Motorola DOCSIS Cable Module DCM 2000 specifications, 4 pages, copyright 2001.
OpenCable Application Platform Specification, OCAP 2.0 Profile, OC-SP-OCAP2.0-101-020419, Apr. 19, 2002.
OpenCable Application Platform Specifications, OCAP Extensions, OC-SP-OcAP--HNEXT-I03-080418, 2005-2008.
OpenCable Host Device, Core Functional Requirements, OC-SP-HOST-CFR-I13-030707, Jul. 7, 2003.
OpenCable, HOST-POD Interface Specification, OC-SP-HOSTPOD-IF-113-030707, Jul. 7, 2003.
OpenCable Specification, Home Networking Protocol 2.0, OC-SP-HNP2.0-101-08418, 2007.
OpenCable Specifications, Home Networking Security Specification, OC-SP-HN-SEC-DO1-081027, draft (Oct. 27, 2008).
OpenVision Session Resource Manager—Open Standards-Based Solution Optimizes Network Resources by Dynamically Assigning Bandwidth in the Delivery of Digital Services article, 2 pages, (copyright 2006), (http://www.imake.com/hopenvision).
OpenVision Session Resource Manager features and information, 2 pages, no date, (http://www.imake.com/hopenvision).
Primergy BX300 Switch Blade user's manual, Fujitsu Corp., Sep. 30, 2002, first edition, pp. 1 to 20.
Zhang, et al., “A Flexible Content Protection System for Media-On-Demand” Multimedia Software Engineering, 2002 Proceedings. Fourth International Symposium on Dec. 11-13, 2002, Piscataway, NJ, USAA, IEEE, Dec. 11, 2002, pp. 272-277, XP010632760ISBN: 978-0- 7695-1857-2.
Real System Media Commerce Suite (Technical White Paper), at http://docs.real.com/docs/drm/DRM.sub-WP1.pdf, 12 pages, Nov. 2001.
Real System Media Commerce Suite Technical White Paper, Copyright 2011, Real Networks, Inc., 16 pages, (http://www.realnetworkis).
RealSystem Media Commerce Suite Technical White Paper, Copyrgt, 2001 RealNetworks, Inc., http://www.realnetworks.com, 16 pages.
SCTE 130-1 2008 Digital Program Insertion—Advertising Systems Interfaces standards.
SCTE 130-1 2013. Part 1: Digital Program Insertion—Advertising Systems Interfaces, Part 1—Advertising Systems Overview, 20 pages.
SCTE 130-10 2013: Digital Program Insertion—Advertising Systems Interfaces Part 10—Stream Restriction Data Model.
SCTE 130-2 2008a: Digital Program Insertion—Advertising Systems Interfaces Part 2—Core Data Elements.
SCTE 130-2 2014 Digital Program Insertion—Advertising Systems Interfaces standards.
SCTE 130-3 2013: Digital Program Insertion—Advertising Systems Interfaces Part 3—Ad Management Service Interface.
SCTE 130-4 2009: Digital Program Insertion—Advertising Systems Interfaces Part 4—Content Information Service.
SCTE 130-5 2010: Digital Program Insertion—Advertising Systems Interfaces Part 5—Placement Opportunity Information Service.
SCTE 130-6 2010: Digital Program Insertion—Advertising Systems Interfaces Part 6—Subscriber Information Service.
SCTE 130-7 2009: Digital Program Insertion—Advertising Systems Interfaces Part 7—Message Transport.
SCTE 130-8 2010a: Digital Program Insertion Advertising Systems Interfaces Part 8—General Information Service.
SCTE 130-9 2014: Recommended Practices for SCTE 130 Digital Program Insertion—Advertising Systems Interfaces.
SCTE130-3 2010: Digital Program Insertion—Advertising Systems Interfaces Part 3—Ad Management Service Interface.
Van Moffaert, K., et al. (“Digital Rights Management: DRM is a key enabler for the future growth of the broadband access market and the telecom/networking market in general”, Alcatel Telecommunications Review, Alcatel, Paris Cedex FR, Apr. 1, 2003, XP007005930ISSN; 8 pages.
Related Publications (1)
Number Date Country
20180219931 A1 Aug 2018 US
Continuations (1)
Number Date Country
Parent 12480591 Jun 2009 US
Child 15865103 US