Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP4465348B2 - System for remote control of client recording and storage operations - Google Patents
[go: Go Back, main page]

JP4465348B2 - System for remote control of client recording and storage operations - Google Patents

System for remote control of client recording and storage operations Download PDF

Info

Publication number
JP4465348B2
JP4465348B2 JP2006500884A JP2006500884A JP4465348B2 JP 4465348 B2 JP4465348 B2 JP 4465348B2 JP 2006500884 A JP2006500884 A JP 2006500884A JP 2006500884 A JP2006500884 A JP 2006500884A JP 4465348 B2 JP4465348 B2 JP 4465348B2
Authority
JP
Japan
Prior art keywords
client system
capture request
client
recording
request
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2006500884A
Other languages
Japanese (ja)
Other versions
JP2006516078A (en
Inventor
ポール ウェストブルック
ハワード ルック
ジェームス ヤング
ステフェン レーシー
ティモシー ダビソン
Original Assignee
ティヴォ インク
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=32711150&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JP4465348(B2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by ティヴォ インク filed Critical ティヴォ インク
Publication of JP2006516078A publication Critical patent/JP2006516078A/en
Application granted granted Critical
Publication of JP4465348B2 publication Critical patent/JP4465348B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/654Transmission by server directed to the client
    • H04N21/6543Transmission by server directed to the client for forcing some client operations, e.g. recording
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2181Source of audio or video content, e.g. local disk arrays comprising remotely distributed storage units, e.g. when movies are replicated over a plurality of video servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2407Monitoring of transmitted content, e.g. distribution time, number of downloads
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • H04N21/4147PVR [Personal Video Recorder]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4331Caching operations, e.g. of an advertisement for later insertion during playback
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4334Recording operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4335Housekeeping operations, e.g. prioritizing content for deletion because of storage space restrictions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44213Monitoring of end-user related data
    • H04N21/44222Analytics of user selections, e.g. selection of programmes or purchase activity
    • H04N21/44224Monitoring of user activity on external systems, e.g. Internet browsing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/4508Management of client data or end-user data
    • H04N21/4516Management of client data or end-user data involving client characteristics, e.g. Set-Top-Box type, software version or amount of memory available
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/4508Management of client data or end-user data
    • H04N21/4532Management of client data or end-user data involving end-user characteristics, e.g. viewer profile, preferences
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/458Scheduling content for creating a personalised stream, e.g. by combining a locally stored advertisement with an incoming stream; Updating operations, e.g. for OS modules ; time-related management operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management e.g. creating a master electronic programme guide from data received from the Internet and a Head-end or controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4622Retrieving content or additional data from different sources, e.g. from a broadcast channel and the Internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/466Learning process for intelligent management, e.g. learning user preferences for recommending movies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/466Learning process for intelligent management, e.g. learning user preferences for recommending movies
    • H04N21/4667Processing of monitored end-user data, e.g. trend analysis based on the log file of viewer selections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47214End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for content reservation or setting reminders; for requesting event notification, e.g. of sport results or stock market
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/475End-user interface for inputting end-user data, e.g. personal identification number [PIN], preference data
    • H04N21/4755End-user interface for inputting end-user data, e.g. personal identification number [PIN], preference data for defining user preferences, e.g. favourite actors or genre
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/858Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
    • H04N21/8586Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot by using a URL
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/765Interface circuits between an apparatus for recording and another apparatus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/78Television signal recording using magnetic recording
    • H04N5/782Television signal recording using magnetic recording on tape
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/025Systems for the transmission of digital non-picture data, e.g. of text during the active part of a television frame
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/162Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Social Psychology (AREA)
  • Strategic Management (AREA)
  • Finance (AREA)
  • Business, Economics & Management (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Description

本発明は、クライアント・システムの格納および記録動作の制御に関する。特に、本発明は、サーバからクライアント・システムの格納および記録動作を遠隔制御することに関する。   The present invention relates to control of storage and recording operations of a client system. In particular, the present invention relates to remote control of client system storage and recording operations from a server.

コンピュータ・メインフレーム・システムまたはワールドワイド・ウェブのような純粋なクライアント・サーバに基づくシステムと、アトミック・ブラストをモデル化するまたは暗号鍵を壊すような、複雑なコンピューター・トラブルを解決するために使用されるワークステーションのネットワーク(NOWS)のような純粋な分散システムとの間の、自動化データ処理システムの設計には、古典的な緊張が、存在する。   Systems based on pure client servers such as computer mainframe systems or the World Wide Web and used to solve complex computer problems such as modeling atomic blasting or breaking encryption keys There is a classic tension in the design of automated data processing systems with purely distributed systems such as the Network of Workstations (NOWS).

クライアント・サーバ・システムは、それらがサーバとクライアントの間の責任を明確に分離することに依存するので、普及している。サーバは、それが計算を実行しまたは多数のクライアントのためのデータを格納するので、しばしば費用が高く、かつ特別に運営される。各クライアントは、システムのユーザと対話するために必要なローカル資源しか有さないので、安価である。合理的なパフォーマンスのネットワークは、サーバとクライアントを接続するものとみなされる。これらのシステムの経済的モデルは、クライアント・システムを配備するために増大する費用を低下させて、管理と制御を集中化させたモデルである。   Client-server systems are popular because they rely on a clear separation of responsibilities between the server and the client. Servers are often expensive and specially run because it performs calculations or stores data for a large number of clients. Each client is inexpensive because it has only the local resources necessary to interact with the user of the system. A reasonable performance network is considered to connect servers and clients. The economic model of these systems is a model that centralizes management and control at a reduced cost to deploy client systems.

しかしながら、このモデルは、かなりの経費を考慮する必要がある。例えば、新規なクライアント・システムを加える増分費用は、非常に高くなる場合がある。付加されたネットワーク容量は利用できなければならないし、充分な計算リソースが、格納、メモリ、およびコンピューティング・サイクルを含むそのクライアントをサポートするために利用できなければならず、かつ、付加的な動作オーバーヘッドが、これらの付加的な情報資源のために各クライアントに対して必要となる。中央管理サーバがより大きくかつ複雑になるにつれて、それらの信頼性はより低くなる。最終的に、サーバのシステム故障は、全てのクライアントが事業を失う結果になる。   However, this model requires considerable expense considerations. For example, the incremental cost of adding a new client system can be very high. The added network capacity must be available, sufficient computing resources must be available to support its clients, including storage, memory, and computing cycles, and additional operations Overhead is required for each client due to these additional information resources. As central management servers become larger and more complex, their reliability becomes lower. Ultimately, a server system failure results in all clients losing business.

分散システムは、システムの情報資源が各クライアントに分散されるので、普及している。これは、クライアントの範囲内でより複雑な機能性を可能にする。プログラムまたはデータへのアクセスは、それらがクライアントに位置するので、より速くなり、これは、ネットワーク自体の負荷を減らす。このシステムは、ノードの故障がそれにしか影響を及ぼさないので、信頼性がより高くなる。多くの計算作業は、独立して計算することができる部分に容易に分解され、かつ、これらの部分は、関係するシステムに廉価に分散される。このことは、ネットワーク・バンド幅に必要な条件を緩和し、かつ欠陥のあるノードの影響も制限する。   Distributed systems are popular because the information resources of the system are distributed to each client. This allows for more complex functionality within the client. Access to programs or data is faster because they are located at the client, which reduces the load on the network itself. This system is more reliable because a node failure only affects it. Many computational tasks are easily broken down into parts that can be calculated independently, and these parts are inexpensively distributed to the systems involved. This relaxes the requirements for network bandwidth and also limits the impact of defective nodes.

一方で、分散システムは管理者にはより複雑であり、かつ、ハードウェアまたはソフトウェアの故障を診断しかつ解決することはより困難となる場合がある。   On the other hand, distributed systems are more complex for administrators and can be more difficult to diagnose and resolve hardware or software failures.

テレビの視聴は、クライアント・サーバ・システムとモデル化することができるが、サーバからクライアントへのネットワーク経路が、全ての目的に対し無限の速度であり、かつクライアントからサーバへの経路が非干渉性でかつ管理されていないモデルである。これは、テレビの放送特性から来る当然の結果である。他の視聴者を加えるためのコストはゼロであり、かつ、配信されるサービスは、全ての他の視聴者へのものと同じである。   TV viewing can be modeled as a client-server system, but the network path from server to client is infinite speed for all purposes and the path from client to server is incoherent This is an unmanaged model. This is a natural consequence of the broadcast characteristics of television. The cost to add other viewers is zero, and the service delivered is the same as for all other viewers.

インターネットのようなコンピュータ・ネットワーク上で、またはネットワークとして作動するローカルケーブル・テレビ設備によりテレビ番組を配信するための多くの試みが為されてきている。コンピュータ・ネットワークのポイント・ツー・ポイントの本質は、付加された情報資源が各々の付加された視聴者のために必要であるので、これらの試みを扱いにくくかつ高価にする。視聴者が、クライアント・セットトップ装置によりビデオ・ストリーミング・バンド幅を、全体的に制御する完全な双方向テレビシステムは、各クライアントに対するサーバ情報資源の献身が、利益を出しかつ管理することができるシステムのサイズを急速に制限するので、経済的ではないことが判明した。   Many attempts have been made to distribute television programs over computer networks such as the Internet or with local cable television facilities operating as a network. The essence of computer network point-to-point makes these attempts cumbersome and expensive as the added information resources are needed for each added viewer. A complete interactive television system in which viewers have overall control of video streaming bandwidth through client set-top devices can benefit and manage the dedication of server information resources to each client It turns out that it is not economical because it rapidly limits the size of the system.

しかしながら、テレビ視聴者は、テレビの視聴についての選択と制御に非常に高い興味を示す。この関心は、クライアント・システムが、視聴者が記録したい番組マテリアルに対するメモリの必要性を、効果的に、管理する必要性をもたらす。加えて、所望の番組マテリアルの記録の管理は、メモリー管理作業と等しく重要である。   However, television viewers are very interested in selection and control of television viewing. This interest results in the need for the client system to effectively manage the memory needs for the program material that the viewer wishes to record. In addition, managing the recording of the desired program material is equally important as the memory management task.

多くの家庭内の民生用電子機器デバイスは、すでに大容量記憶域を含み、これはさらに大容量になりつつある。これらの装置において利用できる格納の量は、すでに膨大であり、かつ、ディスク駆動装置に対しては「毎年2倍になる」と言う指針には限界が無い。コンパクトフラッシュ(登録商標)、SmartMedia(登録商標)、ジップ、フラッシュメモリー・スティック、MicroDrive、PocketDrive、およびSuperDiskの他方式の記憶媒体も、記憶容量を毎年増大させている。   Many consumer electronics devices already include mass storage, which is becoming even larger. The amount of storage available in these devices is already enormous, and there is no limit to the guideline that “doubles every year” for disk drives. Other types of storage media such as CompactFlash®, SmartMedia®, Zip, Flash Memory Stick, MicroDrive, PocketDrive, and SuperDisk also increase storage capacity each year.

この格納の明確な制御は、自分自身のTVショー、音楽、画像などを彼のクライアント・システムに格納する視聴者によって行なわれる。明確さがより少ないが、アプリケーションおよび重要性が増し続けるであろうものが、サービス・プロバイダによるこの格納の制御である。サービス・プロバイダには、視聴者が物理的に所有する格納を制御する、絶えず増大する欲求があるであろう。   This clear control of storage is performed by a viewer who stores his own TV show, music, images, etc. on his client system. Less obvious, but what will continue to increase in application and importance is the control of this storage by the service provider. Service providers will have an ever-growing desire to control the storage physically owned by the viewer.

サービス・プロバイダがクライアント・システムの格納動作を遠隔制御することを可能にするクライアント記録および格納動作を遠隔制御するためのシステムを提供することは、有利であろう。サービス・プロバイダがクライアント・システムの記録動作を遠隔制御する、クライアント記録および格納動作を遠隔制御するためのシステムを提供することは、更に有利であろう。   It would be advantageous to provide a system for remotely controlling client recording and storage operations that allows a service provider to remotely control the storage operations of the client system. It would be further advantageous to provide a system for remotely controlling client recording and storage operations where the service provider remotely controls the recording operations of the client system.

米国特許第6,233,389号U.S. Patent No. 6,233,389 米国特許第6,327,418号U.S. Pat.No. 6,327,418 John Wiley and Sons社, 1995年発行、Bruce Schneier著「応用される暗号:プロトコール、アルゴリズムおよびCにおけるソースコード」John Wiley and Sons, 1995, Bruce Schneier "Applied cryptography: protocols, algorithms and source code in C"

本発明は、クライアント記録および格納動作を遠隔制御するシステムを提供する。このシステムは、サービス・プロバイダが、クライアント・システムの格納動作を遠隔制御することを可能にする。加えて、本発明は、サービス・プロバイダがクライアント・システムの記録動作を遠隔制御することを可能にするシステムを提供する。   The present invention provides a system for remotely controlling client recording and storage operations. This system allows the service provider to remotely control the storage operation of the client system. In addition, the present invention provides a system that allows a service provider to remotely control the recording operation of a client system.

本出願人が所有する米国特許第6,233,389号に示されるクライアント装置は、典型的には、大量のビデオ・コンテンツの格納のような、中央管理ビデオ・サーバが、要求に基づいてこのコンテンツを選択しかつ再生する能力、および、本出願人が所有する米国特許第6,327,418号に示されるコンテンツの配送を完全に「VCRのように」制御することに関する機能を提供する。   The client device shown in U.S. Pat. No. 6,233,389 owned by the Applicant typically has a centralized video server, such as the storage of large amounts of video content, selecting this content based on the request. And provides the ability to play and control the delivery of the content shown in commonly owned U.S. Pat. No. 6,327,418 completely “like a VCR”.

本発明の好ましい実施例では、クライアント・システムの格納デバイスのマルチメディア・コンテンツについて記録、格納および削除について予約が行なわれる。本発明は、入力として、番組案内オブジェクトのデータベースと比較される番組視聴嗜好の優先化リストを受け入れる。番組案内オブジェクトは、興味があるコンテンツが実際に放送される時刻を示す。   In the preferred embodiment of the present invention, reservations are made for recording, storing and deleting multimedia content of the storage device of the client system. The present invention accepts as input a prioritized list of program viewing preferences that is compared to a database of program guide objects. The program guide object indicates the time when the content of interest is actually broadcast.

視聴者が明確に好むまたは導出された好ましいコンテンツに対し適切である、利用できる格納空間に対する時間の予約が、生成される。視聴者は、あるコンテンツの取込みを要請することができ、これは、結果としてそれらのコンテンツに対する最高の可能な優先順位になる。   A time reservation for the available storage space is generated that is appropriate for the preferred content that the viewer specifically likes or derives. Viewers can request the capture of certain content, which results in the highest possible priority for those content.

視聴者は、また、視聴者インタフェースを介して与えられる付属物を使用して、嗜好を明確に表すことができる。加えて、嗜好は、視聴パターンから推定することができる。これらの嗜好は、複製データベースに格納されているオブジェクトに対応する。   The viewer can also clearly express the preferences using attachments provided via the viewer interface. In addition, the preference can be estimated from the viewing pattern. These preferences correspond to the objects stored in the duplicate database.

本発明は、サービス・プロバイダによってクライアント・システムに送られる取込み要求と呼ばれるオブジェクトを提供する。取込み要求は、どのようにクライアント・システムの格納が割り当てられている(分割されている)かについてのローカル記憶管理決定を反映する。取込み要求は、時間に対し編集しかつ変更することが出来る。取込み要求は、サービス・プロバイダが、あるコンテンツが記録されることを視聴者が要請するのと同じ態様でクライアント・システムによって記録されるべきコンテンツを決定することも可能にする。   The present invention provides an object called a capture request that is sent by a service provider to a client system. The capture request reflects the local storage management decision on how the client system's storage is allocated (partitioned). Capture requests can be edited and changed over time. The capture request also allows the service provider to determine the content to be recorded by the client system in the same manner that the viewer requests that some content be recorded.

取込み要求は、視聴者が要請することが出来るものより強力である。取込み要求のための記録要求は、視聴者の要求を先取りすることができ、または視聴者の要求と同じまたはより低い優先順位で入力させることができる。取込み要求は、記録要求の全ての態様を調整し、かつ取込み要求自体に影響を及ぼすことができる。クライアント・システム動作機能性は、取込み要求を使用するサービス・プロバイダによってもマニュピレートされる。   Capture requests are more powerful than what viewers can request. The recording request for the capture request can preempt the viewer's request or can be entered at the same or lower priority as the viewer's request. The capture request can coordinate all aspects of the recording request and affect the capture request itself. Client system operational functionality is also manipulated by service providers using capture requests.

本発明は、新規なコンテンツの記録を予約し、かつ記録の競合を解決するために、各入力源に対し空いていてかつ占有された時間スロットを追尾する入力予約を、全ての現在記録されているコンテンツと将来記録されるように予約されているコンテンツを追尾するスペース予約に相関させる。もし記録が開始される時とそれが終了する時の間の全ての時間で、充分なスペースがそれを保持するために利用できるならば、コンテンツは記録される。推定された嗜好に基づいて記録が予約されるコンテンツは、自動的に全ての競合の決定を失う。全ての予約競合は、可能な限り早期に解決される。集約オブジェクトの記録から生じる予約競合は、関係するコンテンツの嗜好の加重を使用して解決される。   The present invention reserves all currently recorded input reservations that track free and occupied time slots for each input source in order to reserve recording of new content and resolve recording conflicts. And a space reservation that tracks content reserved for future recording. If enough space is available to hold it at all times between when the recording starts and when it ends, the content is recorded. Content that is scheduled for recording based on estimated preferences automatically loses all conflict decisions. All reservation conflicts are resolved as soon as possible. Reservation conflicts resulting from the recording of aggregate objects are resolved using related content preference weights.

バックグラウンド・スケジューラは、好ましいコンテンツのリストが、使用済みとなるまで、または記録する機会がなくなるまで、順番に、各好ましいコンテンツを予約することを試みる。他の予約のコンテンツと競合がない場合に限り、好ましいコンテンツが予約される。   The background scheduler tries to reserve each preferred content in turn until the list of preferred content is used up or has no opportunity to record. Preferred content is reserved only if there is no contention with other reserved content.

他の態様および本発明の効果は、具体例として、本発明の原理を例示する添付の図面と共に以下の詳細な説明から明らかになるであろう。   Other aspects and advantages of the present invention will become apparent from the following detailed description, taken in conjunction with the accompanying drawings, illustrating by way of example the principles of the invention.

本発明は、クライアント記録および格納動作を遠隔制御するためのシステムにより示される。本発明のシステムは、サービス・プロバイダが、クライアント・システムの格納動作を遠隔制御することを可能にする。加えて、本発明は、サービス・プロバイダが、クライアント・システムの記録動作を遠隔制御することを可能にする。   The present invention is illustrated by a system for remotely controlling client recording and storage operations. The system of the present invention allows a service provider to remotely control the storage operation of a client system. In addition, the present invention allows the service provider to remotely control the recording operation of the client system.

本発明は、サービス・プロバイダが視聴経験を強化しかつ案内する機会を設ける一方、個々の視聴者がテレビ番組を選択しかつ自動的にタイムシフトさせる能力を改善するテレビ視聴情報伝送および捕集システムにより実施される。本発明は、視聴の習慣、嗜好または購入品に関する情報の信頼性が高い集約演算および伝播を提供する一方、個々の視聴者に対する計算が、ローカルクライアント装置内での個々の視聴者に対して個人的に実行される、完全に分散されているシステムについて記載する。   The present invention provides a television viewing information transmission and collection system that improves the ability of individual viewers to select and automatically time-shift television programs while providing opportunities for service providers to enhance and guide the viewing experience. Is implemented. The present invention provides reliable aggregation operations and propagation of information about viewing habits, preferences or purchases, while calculations for individual viewers are personal to individual viewers within a local client device. Describes a fully distributed system that is implemented dynamically.

テレビ視聴情報のデータベース
図1は、本発明の図式的な概観を示す。本発明の要部は、中央管理サイト100および極めて多数のクライアント・コンピューティング・システム101のコンピュータ・システムのテレビ視聴情報の分散型データベースを維持するための方法および装置である。データベースの中心のコピーの適切なサブセットを抽出するプロセスは、「スライシング」102と呼ばれ、結果として生じる「スライス」をクライアントに配信することは、「伝送」103と呼ばれ、視聴者についてまたは視聴者に代わって収集された情報を中央管理サイトに配信することは、「収集」104と呼ばれ、かつ、新規なテレビ視聴オブジェクトまたはレポートを生成するために、収集した情報を処理することは、「分析」107と呼ばれる。全ての場合において、他のデータベース内の1つのデータベースからオブジェクトを再現する行為は、「複製」105と呼ばれる。伝送されたまたは収集されたデータ項目は、「オブジェクト」106と呼ばれ、かつ、クライアント装置の範囲内に含まれる中央管理データベースの中央管理データベースおよび各繰り返されたサブセットは、「オブジェクト・ベースの」データベースである。このデータベース内のオブジェクトは、それらの用途を強調するために、しばしば、「テレビ視聴オブジェクト」、「視聴オブジェクト」または単に「オブジェクト」と呼ばれる。しかしながら、当業者は、オブジェクトを、任意のデータのタイプとしても良いことを容易に理解するであろう。
TV Viewing Information Database FIG. 1 shows a schematic overview of the present invention. A key part of the present invention is a method and apparatus for maintaining a distributed database of television viewing information for a central management site 100 and a large number of client computing system 101 computer systems. The process of extracting an appropriate subset of the central copy of the database is called “slicing” 102, and delivering the resulting “slice” to the client is called “transmission” 103, for the viewer or for viewing. Distributing the information collected on behalf of the person to the central administration site is referred to as “collection” 104 and processing the collected information to generate a new television viewing object or report Called “Analysis” 107. In all cases, the act of reproducing an object from one database within another database is called “replication” 105. The transmitted or collected data items are referred to as “objects” 106 and the central management database and each repeated subset of the central management database contained within the client device is “object-based”. It is a database. Objects in this database are often referred to as “television viewing objects”, “viewing objects” or simply “objects” in order to highlight their use. However, those skilled in the art will readily understand that an object may be any type of data.

視聴オブジェクト・データベースは、本願明細書において記述される複製活動と独立にかつ並列して、それが含むオブジェクトの一貫した抽象的なソフトウェア・アクセス・モデルを提供する。このインタフェースを使用することにより、アプリケーションは、基本的活動を懸念することなく、かつデータベースのオブジェクトおよびそれらの関係の一貫しかつ信頼性が高い観点が、常に維持されることを保証して、データベースにおけるオブジェクトを、創造し、破壊し、読み込み、書込み、かつ、マニュピレートする。   The viewing object database provides a consistent abstract software access model of the objects it contains, independently and in parallel with the replication activities described herein. By using this interface, applications can ensure that a consistent and reliable view of database objects and their relationships is always maintained without concern for basic activities. Create, destroy, read, write, and manipulate objects in.

テレビ視聴オブジェクトの基本原理
図2を参照すると、テレビ視聴オブジェクトは、「属性」200の集合として構築される。各属性は、タイプ201(例えば、整数、ストリングまたはブーリアン、および値202)を有する。全ての属性タイプは、データベースでサポートされる基本型の固定プールから引き出される。
Basic Principle of Television Viewing Object Referring to FIG. 2, a television viewing object is constructed as a set of “attributes” 200. Each attribute has a type 201 (eg, integer, string or boolean, and value 202). All attribute types are drawn from a basic fixed pool supported by the database.

オブジェクトの属性は、2つのグループ、「基本」属性(視聴オブジェクトの作者またはメインテナによって供給される)と、「導出」属性(自動的に作成され、かつデータベース内のメカニズムによって維持される)とに分けられる。基本属性は、オブジェクト自体の特性を記述し、導出属性は、オブジェクトの関係を記述する。基本属性がデータベースの間で自己複製されるのに対し、導出属性は自己複製されない。   The attributes of an object are in two groups: a “basic” attribute (supplied by the viewing object author or maintainer) and a “derived” attribute (created automatically and maintained by a mechanism in the database) Divided. The basic attribute describes the characteristics of the object itself, and the derived attribute describes the relationship of the object. Basic attributes are self-replicating between databases, while derived attributes are not self-replicating.

図3に示されるように、本発明によって規定される小さな組の基本的なオブジェクト・タイプが存在する。各オブジェクト・タイプは、本願明細書では「スキーマ」と呼ばれる、関係する属性300の特定の組として表わされる。スキーマは、タイプ302および属性303の名前を含む各属性タイプ301に対するテンプレートを規定する。実際のテレビ視聴オブジェクトは、情報資源をオブジェクトに割り当て、かつ値がスキーマによって規定される属性に割り当てることによって作成される。たとえば、「番組」スキーマは、プロデューサー、監督または俳優のような属性を、番組、スクリーン上のアイコン、番組コンテンツの複数行記載、番組の編集評価などに含むかもしれない。物理的な番組オブジェクトは、それに対して格納を割り当て、かつ属性を関連したデータによって満たすことによって作成される。   As shown in FIG. 3, there is a small set of basic object types defined by the present invention. Each object type is represented as a specific set of related attributes 300, referred to herein as a “schema”. The schema defines a template for each attribute type 301 that includes the name of type 302 and attribute 303. An actual television viewing object is created by assigning information resources to the object and assigning values to attributes defined by the schema. For example, a “program” schema may include attributes such as producers, directors, or actors in programs, icons on the screen, multi-line descriptions of program content, program edit ratings, and the like. A physical program object is created by assigning storage to it and filling attributes with associated data.

スキーマ・タイプと呼ばれる全てのデータベースのためにあらかじめ定義される1つの特別なオブジェクト・タイプが、ある。データベースによってサポートされる各スキーマは、スキーマ・オブジェクトによって表される。これは、アプリケーションが、データベース上の「内観」を実行すること、すなわち、どんなオブジェクト・タイプがサポートされているか、およびそれらのスキーマを、動的に発見することを可能にする。スキーマが変更され、加えられまたは削除されるときには、これは、アプリケーション・ソフトウェアを大きく単純化し、かつアプリケーション・ソフトウェアを変更する必要性を回避する。スキーマ・オブジェクトは、本発明の方法の下では、他の全ての視聴オブジェクトと同様に扱われる。   There is one special object type that is predefined for all databases, called the schema type. Each schema supported by the database is represented by a schema object. This allows the application to perform “introspection” on the database, ie dynamically discover what object types are supported and their schemas. When the schema is changed, added or deleted, this greatly simplifies the application software and avoids the need to change the application software. Schema objects are treated like all other viewing objects under the method of the present invention.

再び図2を参照すると、データベースの各オブジェクトには、データベース内で一意でなければならない「オブジェクトID」203が、割り当てられる。各オブジェクトIDが一意である限り、このオブジェクトIDは多くの形をとることができる。好ましい実施例においては、それが、演算速度と、許される一意のオブジェクトの数との間で役立つトレードオフを供給するので、オブジェクトIDに対し32ビット整数が使用される。各オブジェクトは、現在のオブジェクトを参照するデータベースの他のオブジェクトの数を与える整数である「参照カウント」204も含む。ゼロの参照カウントを有するオブジェクトは、データベースに残存しない(下記参照)。   Referring again to FIG. 2, each object in the database is assigned an “object ID” 203 that must be unique within the database. As long as each object ID is unique, this object ID can take many forms. In the preferred embodiment, a 32-bit integer is used for the object ID because it provides a useful tradeoff between computation speed and the number of unique objects allowed. Each object also includes a “reference count” 204 which is an integer giving the number of other objects in the database that refer to the current object. Objects with a reference count of zero do not remain in the database (see below).

視聴オブジェクトの1つの特定タイプは、「ディレクトリ」オブジェクトである。ディレクトリー・オブジェクトは、オブジェクトに対するオブジェクトIDのリストと関連した単純名とを維持する。ディレクトリー・オブジェクトは、リストの一部として他のディレクトリー・オブジェクトを含むことができ、かつ「ルート」ディレクトリと呼ばれる単一の識別されたオブジェクトが存在する。ルートディレクトリから始まり、かつ興味があるオブジェクトが発見されるまで、続く横断ディレクトリー・オブジェクトのシーケンスは、オブジェクトへの「パス」と呼ばれる。このパスは、したがって、データベースに存在する全てのディレクトリー・オブジェクトの中で作成される階層的な名前空間の中で、特定の位置を示す。オブジェクトは、多数のパスによって参照させることができ、これは、1つのオブジェクトが多くの名前を有することができることを意味する。視聴オブジェクトの参照カウントは、それを指す各ディレクトリに対し1つずつインクリメントされる。   One particular type of viewing object is a “directory” object. A directory object maintains a simple name associated with a list of object IDs for the object. Directory objects can contain other directory objects as part of the list, and there is a single identified object called the “root” directory. The sequence of traversing directory objects starting from the root directory and continuing until an object of interest is found is called the “path” to the object. This path thus points to a specific location within the hierarchical namespace created within all directory objects that exist in the database. An object can be referenced by multiple paths, which means that an object can have many names. The reference count of the viewing object is incremented by 1 for each directory that points to it.

データベースの整合性と精度を保守する方法
本発明の好ましい実施例の特徴のうちの1つは、各データベース複製が、いつでも内部的に整合して残留し、かつ、この整合性が、他のデータベースへの参照または中央管理サイトとの結合の必要性なく自動的に維持されることを保証することである。伝送または収集動作が、タイムリな態様でまたは任意の保証された周期で起こることについては、何の保証も無い。例えば、クライアント・システムは、何ヶ月もの間閉鎖されているかもしれないが、システムに対する伝送が最終的に可能になると、例え、中央管理およびクライアント・データベースを完全な同期にもたらすために必要な全てのオブジェクトを伝送することが可能でない場合であっても、オブジェクトの複製は、常に、サーバデータベースの一貫したサブセットと言う結果にならなければならない。
Method for Maintaining Database Consistency and Accuracy One of the features of the preferred embodiment of the present invention is that each database replica remains internally consistent at any time, and this consistency is consistent with other databases. To ensure that it is automatically maintained without the need for reference to or binding to a central administration site. There is no guarantee that the transmission or collection operation will occur in a timely manner or at any guaranteed period. For example, a client system may have been closed for months, but once transmission to the system is finally possible, all that is needed to bring the central management and client database into full synchronization, for example Even if it is not possible to transmit a single object, the replication of the object must always result in a consistent subset of the server database.

さらにより深刻なことは、データベースが使用中または更新されている間に、安定操作環境を保証することができないことである。たとえば、装置への電力が、停止することがある。本発明は、全業務が完了し、またはそれのいずれも完了しないことを意味する、全てのデータベースの更新を「処理」として処理する。選択される特定の技術は、処理の全ての要素が調べられかつ記録され、続いて、実際の更新が実行される「2相コミット」と呼ばれる。従来技術に精通している者は、障害が起こったときに進行中であった部分的更新を繰り返すためにログを使用する前進復帰テクニックと結合した、別個のログに、処理が、展開される標準ジャーナリング・テクニックを理解するであろう。   Even more serious is that a stable operating environment cannot be guaranteed while the database is in use or being updated. For example, power to the device may stop. The present invention treats all database updates as “processing”, meaning that all tasks are completed or none of them are completed. The particular technique chosen is called “two-phase commit”, where all elements of the process are examined and recorded, followed by the actual update. For those familiar with the prior art, processing is deployed in a separate log combined with a forward recovery technique that uses the log to repeat the partial updates that were in progress when the failure occurred. You will understand standard journaling techniques.

あらゆるオブジェクトの導出属性に必要なものは、オブジェクトへの各変化と共に変化する「バージョン」である。バージョン属性は、バージョンの単調な順位付けを作成する単調に増大する整数または他の表現として表すことができる。自己複製することができる各オブジェクトに対するスキーマは、これが自己複製されたオブジェクトのバージョンを示す「ソース・バージョン」と呼ばれる属性を含む。   What is needed for the derived attributes of any object is a “version” that changes with each change to the object. The version attribute can be represented as a monotonically increasing integer or other representation that creates a monotonic ranking of versions. The schema for each object that can be self-replicated includes an attribute called "source version" that indicates the version of the object that is self-replicated.

視聴オブジェクトの伝送については、すべてのクライアントがそのオブジェクトを受信することは保証されない。例えば、オブジェクトが放送されている間、太陽黒点のような外部の要因が伝送シーケンスの一部を破壊することがある。視聴オブジェクトは、これらの問題を解決するために、絶えず再伝送させる(同じオブジェクトを複製のために複数回提示することを意味する)ことができる。変化が実際には発生しなかったがバージョン・ナンバはインクリメントされるので、自己複製されるべきオブジェクトが受信されるたびに、単にデータベース・オブジェクトを更新することは不適切である。加えて、相当なシステム資源が、処理の間、消費されるので、もしそれが不必要であるならば、オブジェクトを更新する処理を始めることを回避することは、望ましい。   For transmission of a viewing object, it is not guaranteed that all clients will receive the object. For example, while an object is being broadcast, external factors such as sunspots can destroy part of the transmission sequence. The viewing object can be continually retransmitted (meaning presenting the same object multiple times for duplication) to solve these problems. Since no change actually occurred, but the version number is incremented, it is inappropriate to simply update the database object each time an object to be replicated is received. In addition, since significant system resources are consumed during processing, it is desirable to avoid initiating processing to update an object if it is unnecessary.

この問題を解決するために、2つの方法が結合される。第一に、ほとんどのオブジェクトは、「失効」と呼ばれる基本属性を有するであろう。これは、オブジェクトがもはや有効でないであって、かつ廃棄されなければならない日付と経過時間である。新規なオブジェクトが受信されると、失効タイムが点検され、かつ、もしそれが失効しているのであれば、そのオブジェクトは廃棄される。失効は、その伝送が何らかの理由で遅れているオブジェクトを扱うが、それは同じもので期限満了になっていないオブジェクトの多重受信は扱わない。   To solve this problem, two methods are combined. First, most objects will have a basic attribute called “revocation”. This is the date and time that the object is no longer valid and must be discarded. When a new object is received, the expiration time is checked, and if it has expired, the object is discarded. Revocation deals with objects whose transmission is delayed for some reason, but it does not deal with multiple receptions of the same and unexpired objects.

ソース・バージョン属性が、この問題を扱う。視聴オブジェクトが伝送されると、この属性はソースオブジェクトの現在のバージョン属性から複製される。視聴オブジェクトが受信されると、受信されたオブジェクトのソース・バージョンが現在のオブジェクトのソース・バージョンと比較される。新規なオブジェクトがより高いソース・バージョン属性を有する場合には、それは既存のオブジェクトに複製され、それを有しない場合には、そのオブジェクトは廃棄される。   The source version attribute addresses this issue. When the viewing object is transmitted, this attribute is duplicated from the current version attribute of the source object. When a viewing object is received, the source version of the received object is compared with the source version of the current object. If a new object has a higher source version attribute, it is replicated to an existing object, otherwise it is discarded.

極めて多くの視聴オブジェクトが、任意の特定のクライアント・システムに伝送されていると仮定する。たとえば、他のケーブルシステムに属するクライアントは、特定のケーブルシステムのチャンネルを記述する「チャンネル」視聴オブジェクトには、興味がない。オーバーヘッドが新規なオブジェクトをデータベースに取込みかつ加えるので、受信されたオブジェクトが、上記した属性に加えて他の属性にフィルタ処理されることは、有利であろう。本発明は、オブジェクト・タイプおよび属性値に基づいてフィルタ処理を使用することにより、これを達成する。一実施例では、おそらく、さまざまなオブジェクト・タイプおよびそれらがどのようにフィルタ処理されなければならないかという特定の知識によって書込まれた一連の命令として、このフィルタ処理は、ある種の動作中の実行可能なコードに基づいている。   Assume that a very large number of viewing objects are being transmitted to any particular client system. For example, clients belonging to other cable systems are not interested in “channel” viewing objects that describe the channels of a particular cable system. As overhead introduces and adds new objects to the database, it may be advantageous for received objects to be filtered to other attributes in addition to the attributes described above. The present invention accomplishes this by using filtering based on object type and attribute values. In one embodiment, this filtering may be performed in certain operations, perhaps as a series of instructions written with specific knowledge of the various object types and how they must be filtered. Based on executable code.

本発明の好ましい実施例の場合、「フィルタ」オブジェクトは、どの属性が必要であるか、存在すべきではないか、またはデータベースへの追加を受け入れ可能にする属性に対する値の範囲を示す各オブジェクトのタイプに対し、規定される。当業者は、このフィルタ・オブジェクトが、おそらく一連の実行可能な命令として、何らかの形で実行可能なコードを含むことができることを容易に認識するであろう。これらの命令は、フィルタ処理されているオブジェクトの属性および属性値を調べかつ比較し、この結果このオブジェクトが更なる処理の対象とすべきか否かが示されることになろう。   In the preferred embodiment of the present invention, a “filter” object is provided for each object that indicates what attributes are required, should not be present, or a range of values for attributes that are acceptable for addition to the database. Specified for type. Those skilled in the art will readily recognize that this filter object may contain some form of executable code, possibly as a series of executable instructions. These instructions will examine and compare the attributes and attribute values of the object being filtered, which will indicate whether this object should be subject to further processing.

視聴オブジェクトは、他のオブジェクトから独立していることはまれである。たとえば、(特定のチャンネルの特定のタイムを記述する)「表示」オブジェクトは、(特定のテレビ番組を記述する)「番組」オブジェクトに依存している。整合性を維持する一つの重要な点は、全ての従属オブジェクトが、すでにデータベースの中に存在しているか、または新規な視聴オブジェクトを加えることを試みる前に、単一トランザクションの一部として加えられるべきであるかを、保証することである。これは、単純に、新規なオブジェクトが依存するオブジェクトのオブジェクトIDおよびソース・バージョンの一覧を示す、「依存」属性と呼ばれる新規な視聴オブジェクトの基本属性を使用して、達成される。明らかに、新規なバージョンを規定するスキーマが、同じであるまたは元々のスキーマの属性の厳密な上位版を有するという意味で、オブジェクトの新規なバージョンは、互換性を持たなければならない。   A viewing object is rarely independent of other objects. For example, a “display” object (which describes a particular time on a particular channel) depends on a “program” object (which describes a particular television program). One important aspect of maintaining consistency is that all subordinate objects already exist in the database or are added as part of a single transaction before attempting to add a new viewing object. It is to guarantee that it should be. This is accomplished simply using a basic attribute of the new viewing object called the “dependency” attribute that lists the object ID and source version of the object on which the new object depends. Obviously, the new version of the object must be compatible, in the sense that the schema that defines the new version is the same or has a strict superversion of the attributes of the original schema.

新規な視聴オブジェクトが受信されると、データベースは、先ず、そのオブジェクトの全ての依存性が、存在するか否かがチェックされ、存在する場合には、そのオブジェクトは、データベースに加えられる。存在しない場合には、その新規なオブジェクトは「ステージされ」、全ての従属オブジェクトも、また、ステージされるまで、それは保持領域に保存される。明らかに、新規な一組の視聴オブジェクトをデータベースに加えるために、従属グラフは、オブジェクトIDおよびソース・バージョンに基づいて、すでにデータベース内に存在している中間領域とオブジェクトの間で閉じていなければならない。閉鎖が実行されると(これは、全ての従属オブジェクトが存在することを意味するが)、新規なオブジェクトが、単一のアトミックトランザクションのデータベースに加えられる。   When a new viewing object is received, the database is first checked to see if all the dependencies of that object exist, and if so, the object is added to the database. If not, the new object is “staged” and all subordinate objects are also saved in the holding area until they are also staged. Obviously, in order to add a new set of viewing objects to the database, the dependency graph must be closed between the intermediate region and the object already in the database, based on the object ID and source version. Don't be. When the closure is performed (which means that all subordinate objects exist), the new object is added to the database for a single atomic transaction.

テレビ視聴オブジェクトの命名および発見
ディレクトリー・オブジェクトは、以前に記述されている。図4を参照すると、ディレクトリー・オブジェクトの収集と、ルート・パス400から始め、かつ視聴オブジェクトに全ての可能なパスを列挙することによって形成された有向グラフは、「名前空間」と呼ばれる。特化オブジェクトIDを知らずにオブジェクトを発見するために、この名前空間の一つ以上のパスは、それを参照しなければならない。例えば、アプリケーション・ソフトウェアが、オブジェクトIDにほとんど関心がなく、その代わりに、このソフトウェアが、例えば、「/tvschedule/today」のパスによってオブジェクトを参照することを望む例では、システムの他のいかなる部分における変更も必要とせずに、参照される実際のオブジェクトを、毎日変えることができる。
Naming and discovery of television viewing objects Directory objects have been previously described. Referring to FIG. 4, the directed graph formed by collecting directory objects and starting from the root path 400 and enumerating all possible paths to the viewing object is called a “namespace”. In order to discover an object without knowing the specialized object ID, one or more paths in this namespace must refer to it. For example, in an example where the application software has little interest in the object ID and instead wants the software to reference the object, for example by the path "/ tvschedule / today", any other part of the system The actual object referenced can be changed daily without requiring any changes in.

オブジェクトに対するパスを決める一つの方法は、オブジェクト上の「パス名」基本属性を特定することである。オブジェクトはデータベースに加えられ、かつパスのコンポーネントを記述するディレクトリー・オブジェクトが、作成されまたは更新されて、オブジェクトに加えられる。このような命名は、典型的には、複製メカニズムをデバッグすることのみに使用される。各クライアント・システムに自己複製される中央管理データベースの部分が異なり、データベースの全てのレプリカのパス名を管理することが、非常に困難になるので、明確なパスを設定することは行なわれない。   One way to determine the path to an object is to specify the “path name” basic attribute on the object. Objects are added to the database, and directory objects that describe the components of the path are created or updated and added to the objects. Such nomenclature is typically used only for debugging replication mechanisms. Since the portion of the central management database that is self-replicated to each client system is different and it becomes very difficult to manage the path names of all replicas of the database, no clear path is set.

オブジェクトをデータベースの名前空間に加えるための好ましい方法は、「インデクシング」と呼ばれる。本発明の好ましい実施例の場合、「インデクサ」オブジェクトは、データベースの名前空間にそれをインデックス付与するときに、どんな属性が使用されるかを示す各オブジェクト・タイプに対して、規定される。当業者は、このインデクサ・オブジェクトが、何らかの形で、おそらく一連の実行可能な命令として、実行可能なコードを含むことができることは、容易に認識するであろう。これらの命令は、インデックスが付けられているオブジェクトの属性および属性値を調べかつ比較する。これは、結果的に、オブジェクトが名前空間で位置すべき場所を示すことになろう。   A preferred method for adding objects to the database namespace is called "indexing". In the preferred embodiment of the present invention, an "indexer" object is defined for each object type that indicates what attributes are used when indexing it into the database namespace. Those skilled in the art will readily recognize that this indexer object can include executable code in some form, perhaps as a series of executable instructions. These instructions examine and compare the attributes and attribute values of the indexed object. This will result in indicating where the object should be located in the namespace.

オブジェクト・タイプに基づいて、インデクサは、オブジェクトに付けられている特定の一組の属性を調べる。このような属性が発見されると、インデクサは、データベースのディレクトリのグラフによって表される階層的な名前空間の中で、属性の値に基づいて、自動的にオブジェクトに対し名前を加える。再び図4を参照すると、番組オブジェクトは、値「John Wayne」を有する「俳優」属性と、値「John Ford」401を有する「監督」属性を有することができる。ルートディレクトリは、2つのサブディレクトリ、「byactor」402、および「bydirector」403を示すかもしれない。インデクサは、次いで、その両方が同じオブジェクト401を参照するパス/byactor/John Wayneおよび/bydirector/John Fordをデータベースに加えるであろう。   Based on the object type, the indexer looks at a specific set of attributes attached to the object. When such an attribute is found, the indexer automatically names the object based on the value of the attribute in the hierarchical namespace represented by the database directory graph. Referring again to FIG. 4, the program object may have an “actor” attribute having the value “John Wayne” and a “director” attribute having the value “John Ford” 401. The root directory may show two subdirectories, “byactor” 402 and “bydirector” 403. The indexer will then add the paths / byactor / John Wayne and / bydirector / John Ford, both of which reference the same object 401 to the database.

導出属性は、このオブジェクト404を参照するディレクトリー・オブジェクトの一覧を示す各オブジェクトに対し維持される。インデクサが、このオブジェクトに対しパスを名前空間に加えるので、それはパスの最終のディレクトリIDをこのリストに加える。これは、オブジェクトが発見されると、オブジェクトグラフが閉鎖されることを保証し、データベースの範囲内のそのオブジェクトに対する全ての参照も、それらがパスであるか依存であるかに拘わらず、発見される。   Derived attributes are maintained for each object that lists directory objects that reference this object 404. Since the indexer adds a path to the namespace for this object, it adds the final directory ID of the path to this list. This ensures that when an object is discovered, the object graph is closed, and all references to that object within the database are also discovered, regardless of whether they are paths or dependencies. The

オブジェクトをデータベースに加えるこの一意のかつ新しい方法には、標準的アプローチに勝る重要な効果がある。インデクサは、それが加えられると、オブジェクトをデータベースにソートする。したがって、特定のパスに関連するオブジェクトの検索は順序リストからの一連の選択であり、これは、技術に精通している者によって効率的に実施することができる。   This unique and new way of adding objects to the database has significant advantages over the standard approach. The indexer sorts the object into the database as it is added. Thus, the search for objects associated with a particular path is a series of selections from an ordered list, which can be efficiently performed by those skilled in the art.

データベースからのオブジェクトの削除
オブジェクトをデータベースに加えるルールは重要であるが、データベースからオブジェクトを除去することに対するルールも、また、整合性および精度を維持する上で重要である。たとえば、もしオブジェクトを除去することに強いルールが存在しないならば、今や使われていないオブジェクトが蓄積するにつれ、データベースは時間とともに無限に増大するかもしれない。
Deleting objects from the database The rules for adding objects to the database are important, but the rules for removing objects from the database are also important for maintaining consistency and accuracy. For example, if there are no strong rules for removing objects, the database may grow indefinitely over time as unused objects accumulate.

データベースからオブジェクトを削除するための基本的なルールは、参照カウントに基づく。参照カウントがゼロに落ちたオブジェクトは、即座に削除される。例えば、これは、オブジェクトが、ディレクトリまたはデータベースに残存するいくつかの他のオブジェクトの何れかによって参照されなければならないことを意味する。このルールは、削除されているオブジェクトに基づいて、閉じた従属グラフの全てのオブジェクトに適用される。したがって、もし(ディレクトリのような)他のオブジェクトを参照するオブジェクトが削除されると、参照される全てのオブジェクト上の参照カウントは、減少し、かつこれらのオブジェクトは、同じようにゼロ・カウントまで削除され続ける。   The basic rules for deleting objects from the database are based on reference counts. Objects whose reference count has dropped to zero are deleted immediately. For example, this means that the object must be referenced by either a directory or some other object that remains in the database. This rule applies to all objects in the closed dependency graph based on the deleted object. Thus, if an object that references another object (such as a directory) is deleted, the reference count on all referenced objects is decreased, and these objects are similarly reduced to zero count. Continue to be deleted.

「リーパー」と呼ばれるデータベースからオブジェクトを削除する自動プロセスも、存在する。リーパーは、周期的に、データベースの全てのオブジェクトを調べ、かつもしオブジェクトがデータベースに保持されるべきであるならば、オブジェクト・タイプに従い、更に、さまざまな属性および属性値を調べ、決定する。たとえば、失効属性は、オブジェクトがもはや有効でないことを示すことができ、かつ、リーパーはそのオブジェクトを削除するであろう。   There is also an automated process for deleting objects from a database called “reaper”. The reaper periodically examines all objects in the database and, if the object is to be retained in the database, further examines and determines various attributes and attribute values according to the object type. For example, the revocation attribute can indicate that the object is no longer valid, and the reaper will delete the object.

好ましい具体例の場合、上述したフィルタリングおよびインデクシング方法に類似した(またはおそらく同一である)方法を使用して、リーパーは、その代わりに、現在のオブジェクトのオブジェクト・タイプに関連するリーパー・オブジェクトにアクセスすることができる。これは、さまざまな種類(おそらく一連の実行可能な命令)の実行可能コードを含むことができる。このコードは、現在のオブジェクトの属性および属性値を調べ、かつオブジェクトが削除されるべきか否かを決定する。   In the preferred embodiment, using a method similar to (or possibly identical to) the filtering and indexing methods described above, the reaper instead accesses the reaper object associated with the object type of the current object. can do. This can include various types (possibly a series of executable instructions) of executable code. This code examines the attributes and attribute values of the current object and determines whether the object should be deleted.

参照カウントがゼロまで減らされたあらゆるオブジェクトを個々に削除するオーバーヘッドは、このようなあらゆる削除がデータベースとの処理と言う結果になるので、極めて高くなり得る。フォアグラウンドの動作が最高速度で続行するように、オブジェクトを獲得するパフォーマンス・インパクトを制限することは、有利であろう。好ましい実施例の場合、これは、一般的なガーベジ収集方法に基づく技術を使用して達成される。   The overhead of individually deleting every object whose reference count has been reduced to zero can be very high because any such deletion results in processing with the database. It would be advantageous to limit the performance impact of acquiring objects so that foreground operations continue at maximum speed. In the preferred embodiment, this is accomplished using techniques based on common garbage collection methods.

例えば、参照カウントがゼロまで減らされたオブジェクトを削除する代わりに、リーパーは、他のいかなるアクションも実行しない。周期的に、ガーベジ・コレクタと呼ばれるバックグラウンド・タスクは、データベースの各オブジェクトを調べる。もしオブジェクトがゼロの参照カウントを有するならば、それは削除されるオブジェクトのリストに加えられる。一実施例の場合、ガーベジ・コレクタが全データベースを調べると、それは、一回のトランザクションでこのような全てのオブジェクトを削除するであろう。この技術に精通している者は、オブジェクトが削除されている間にデータベースへの他のアクセスが遅れることがあるので、この方法が、また、重要なパフォーマンス・ペナルティと言う結果になり得ることを認識するであろう。加えて、もし全てのオブジェクトが適切に削除されるべきであるならば、ガーベジ・コレクタが動作中の間に、データベースに対する変更を遅らせなければならないかもしれない。これは、パフォーマンスをより悪くさせることにさえなる。   For example, instead of deleting an object whose reference count has been reduced to zero, the reaper does not perform any other action. Periodically, a background task called a garbage collector looks at each object in the database. If the object has a reference count of zero, it is added to the list of objects to be deleted. In one embodiment, if the garbage collector examines the entire database, it will delete all such objects in a single transaction. Those familiar with this technology may find that this method can also result in an important performance penalty, as other access to the database may be delayed while the object is deleted. You will recognize. In addition, if all objects should be deleted properly, changes to the database may have to be delayed while the garbage collector is running. This can even make performance worse.

好ましい実施例においては、ガーベジ・コレクタは、一連のパスのデータベースを調べる。オブジェクトの特定の数が集められると、それらは一回のトランザクションで削除される。当該プロセスは、全てのオブジェクトが調べられるまで、続く。この技術は、並列アクティビティが以前調べられたオブジェクトを解放することができるので、全てのゴミ・オブジェクトが、審査プロセスの間に集められることを保証しない。しかしながら、ガーベジ・コレクタが動作する次のとき、これらのオブジェクトは発見されるであろう。各パスにおいて削除されるオブジェクトの数は、他のデータベース活動に対し受け入れ可能なパフォーマンスを成し遂げるよう調整可能である。   In the preferred embodiment, the garbage collector examines a series of path databases. When a certain number of objects are collected, they are deleted in a single transaction. The process continues until all objects have been examined. This technique does not guarantee that all garbage objects are collected during the review process, as parallel activities can free previously examined objects. However, these objects will be discovered the next time the garbage collector operates. The number of objects deleted in each pass can be adjusted to achieve acceptable performance for other database activities.

分散されたテレビ視聴オブジェクト・データベースの動作
分散された視聴オブジェクト・データベースを維持するための考慮
分散型データベースのインスタンスのテレビ視聴オブジェクトの複製は、必然的に、信頼できず、かつ安全でない分散チャネル上のオブジェクトの伝送を必要とする。
Behavior of a distributed television viewing object database Considerations for maintaining a distributed viewing object database Replication of television viewing objects in a distributed database instance is necessarily unreliable and secure Not require the transmission of objects on distributed channels.

例えば、オブジェクトが、無線またはテレビ放送のような放送メカニズムにより伝送される場合、データを正確にまたは完全に伝送することを保証することは出来ない。暴風雨のような天候によって、伝送のドロップアウトが生じることがある。混信の他の原因は、他の放送信号、大型装備、家庭内機器などである。   For example, if an object is transmitted by a broadcast mechanism such as wireless or television broadcast, it cannot be guaranteed that the data will be transmitted accurately or completely. Some weather conditions such as storms can cause transmission dropouts. Other causes of interference are other broadcast signals, large equipment, home appliances and the like.

当業者は、反復伝送、エラー訂正コード等を含む、信頼できないチャネル上のデータ伝送を管理する、伝送に用いることができる複数の標準技術が、存在し、そして、これらのいずれかまたは全てを、いかなる特定のインスタンスにも使用することができることは、容易に認識するであろう。   There are several standard techniques that can be used for transmission to manage data transmission over unreliable channels, including repetitive transmissions, error correction codes, etc., and any or all of these can be It will be readily appreciated that it can be used for any particular instance.

簡単化のために、本願明細書においては、自己複製されるオブジェクトは、「スライス」と呼ばれる分散パッケージに集められる。スライスは、地理的領域または衛星送信機のサービス地域のような特定領域内でのクライアントに関連するテレビ視聴オブジェクト・データベースのサブセットである。   For simplicity, the self-replicating objects are collected here in a distributed package called a “slice”. A slice is a subset of a television viewing object database associated with clients in a particular region, such as a geographic region or a satellite transmitter service area.

これらのスライスに対するセキュリティは、非常に重要である。スライスは、データベースのユーザに有用なサービスを提供するため、および私的なまたは秘密であると考えることができる情報を蓄積するために使用されるデータベースに、オブジェクトを加えるのに用いられる。スライス伝送の放送による性質から、スライスは、それらが伝送されるときに、第三者によって容易に複製される可能性がある。これらの問題に対する実際的な解決法は、伝送の間、スライスを暗号化することである。本発明で使用される技術に関する最良の参照テキストは、 John Wiley and Sons社, 1995年発行、Bruce Schneier著「応用される暗号:プロトコル、アルゴリズムおよびCにおけるソースコード」である。   Security for these slices is very important. Slices are used to add objects to a database that is used to provide useful services to database users and to store information that can be considered private or private. Due to the broadcast nature of slice transmission, slices can be easily duplicated by a third party when they are transmitted. A practical solution to these problems is to encrypt the slice during transmission. The best reference text on the technique used in the present invention is “Applied Cryptography: Protocols, Algorithms and Source Code in C”, published by John Wiley and Sons, 1995, Bruce Schneier.

本発明の好ましい実施例においては、安全な、暗号化された通信路は、しばしば、非対称の鍵暗号化、またはしばしば公開鍵/秘密鍵の対の暗号化として記載されている、米国特許第4,405,829号に記載されている技術に類似した技術を用いて、確立される。当該技術に熟練した実務家は、非対称鍵暗号化に基づくプロトコルが、クライアント・デバイスの認証に対し信頼性が高くかつ効果的な基礎として役立ちかつ情報の分散を確実にすることを認識するであろう。一般に、認証は、クライアントと中央管理システムとの間の符号付きメッセージの交換を使用して、提供される。安全に分散させることは、認証段階の間に送られる短期対称キーを使用して全ての通信を暗号化することによって行われる。   In the preferred embodiment of the present invention, secure, encrypted channels are often described as asymmetric key encryption, or often as public / private key pair encryption, US Pat. No. 4,405,829. Established using techniques similar to those described in this issue. Practitioners skilled in the art will recognize that a protocol based on asymmetric key encryption serves as a reliable and effective basis for authenticating client devices and ensures the distribution of information. Let's go. In general, authentication is provided using an exchange of signed messages between the client and the central management system. Distributing securely is done by encrypting all communications using a short-term symmetric key sent during the authentication phase.

セキュリティを成功させるためには、発信者および受信者が、暗号化のために使用される非対称の鍵の対について前もって同意しておくことが必要である。このようなキーの分散は、電子データを保護するためのいかなる暗号システムにおいても最も弱いリンクである。本出願人が所有する、1999年7月19日に出願された、米国特許第6,385,739号「自動テスト電子アセンブリおよびシステム」は、クライアント・デバイスが、製造工程の最終ステップとして、自動的に非対称の鍵の対を生成する機構を記載する。このようにして生成された秘密キーは、このキーが外部デバイスに決して示されないように、クライアント・デバイス内に埋め込まれている安全なマイクロ・プロセッサ内に格納される。このようにして生成された公開鍵は、ローカル製造システムに伝送され、ここで、安全なデータベースのもとでクライアント・シリアルナンバーとともにキーが記録される。このデータベースは、後に、中央管理分散システムに安全に伝送され、ここでは、それが、クライアントとの安全な通信を実行するために用いられる。   In order for security to be successful, it is necessary for the sender and receiver to agree in advance on the asymmetric key pair used for encryption. Such key distribution is the weakest link in any cryptographic system for protecting electronic data. U.S. Patent No. 6,385,739, "Automatic Test Electronic Assembly and System", filed July 19, 1999, owned by the present applicant, is a client device that is automatically asymmetric as a final step in the manufacturing process. A mechanism for generating key pairs is described. The secret key generated in this way is stored in a secure microprocessor embedded in the client device so that this key is never presented to the external device. The public key thus generated is transmitted to the local manufacturing system where the key is recorded along with the client serial number under a secure database. This database is later securely transmitted to the centrally managed distributed system, where it is used to perform secure communications with clients.

秘密キーは、クライアントの外部構成要素に決して示されないので、キー生成のこのユニークでかつ新しい応用は、キー分散の課題を解決する。ここで、それは、ロジックアナライザのような、特別なツールを使用して識別されるかもしれない。この代わりに、これを、セキュリティ・マイクロ・プロセッサ自体の範囲内で、元々公開鍵によって暗号化されたメッセージを解読する(次いで、その結果を外部構成要素に提供する)ことのみに用いても良い。   This unique and new application of key generation solves the key distribution problem because the secret key is never presented to the external component of the client. Here it may be identified using a special tool, such as a logic analyzer. Alternatively, it may be used only to decrypt the message originally encrypted with the public key (and then provide the result to the external component) within the security microprocessor itself. .

以下の考察においては、クライアントと中央管理システムとの間の全ての通信が、認証されかつ上述したように暗号化されていると仮定する。   In the following discussion, it is assumed that all communications between the client and the central management system are authenticated and encrypted as described above.

クライアント・システムへの視聴オブジェクトの伝送
再び図1に戻ると、本発明の好ましい実施例の場合、以下のステップは、スライスを使用した中央管理データベースからのテレビ視聴オブジェクトの「伝送」を構成する。
Transmission of Viewing Objects to Client System Returning again to FIG. 1, in the preferred embodiment of the present invention, the following steps constitute a “transmission” of television viewing objects from a central management database using slices.

1. クライアント視聴デバイスの祖集団にスライスを伝送するメカニズムは、多く存在する。例えば、スライスは、電話変調復調器またはケーブルモデム 109を通じて直接ダウンロードさせることができ、または、それらを標準のテレビ放送108の垂直帰線消去期間(VBI)のラインに変調させ、または私的データ・チャネルとしてデジタルテレビ・マルチプレックス信号に追加させることが出来る。当業者は、デジタル情報を伝送することができるいかなるメカニズムも、テレビ視聴オブジェクト・データベースのスライスを伝送するのに用いることができることを容易に認識するであろう。   1. There are many mechanisms for transmitting slices to an ancestral group of client viewing devices. For example, slices can be downloaded directly through a telephone modulation demodulator or cable modem 109, or they can be modulated into a standard television broadcast 108 vertical blanking interval (VBI) line, or private data Channels can be added to digital television multiplex signals. Those skilled in the art will readily recognize that any mechanism capable of transmitting digital information can be used to transmit a slice of a television viewing object database.

伝送のためにテレビ視聴オブジェクトを準備する際の第一ステップは、この特定インスタンスのために用いられる伝送メカニズムを認識し、かつそのメカニズムのためにカスタマイズされているデータベースのサブセットのスライスを作ることである。例えば、データベースは、国の全ての番組に関するテレビ視聴オブジェクトを含むことができる。しかしながら、もし、テレビ視聴オブジェクトが、ローカル・テレビ信号上のVBI変調を使用して送られる場合には、それらを担持するのに用いられているテレビ放送のサービス地域内で視聴可能な番組に関連するこれらのテレビ視聴オブジェクトのみが、該当するスライスの範囲内に含まれるべきである。これに代えて、いくつかのテレビ視聴オブジェクトが、特定の地理的領域に関連した販促用の材料を含む場合、これらのオブジェクトは、他の地理的領域に伝送されてはならない。   The first step in preparing a TV viewing object for transmission is to recognize the transmission mechanism used for this particular instance and create a slice of a subset of the database that is customized for that mechanism. is there. For example, the database may include television viewing objects for all programs in the country. However, if TV viewing objects are sent using VBI modulation on local television signals, they are related to programs that are viewable within the television broadcast service area used to carry them. Only those TV viewing objects that should be included should fall within the scope of the corresponding slice. Alternatively, if some television viewing objects contain promotional material associated with a particular geographic area, these objects should not be transmitted to other geographic areas.

本発明の好ましい実施例の場合、データベースを横断しかつ伝送のためのスライスを生成する速度および周期性は、有用なコスト/パフォーマンスのトレードオフを可能にするために任意の形態で調整可能である。例えば、ある伝送方法に対しては、一日おきにまたは毎時スライスを作りさえすれば良いかもしれない。   In the preferred embodiment of the present invention, the speed and periodicity of traversing the database and generating slices for transmission can be adjusted in any manner to allow useful cost / performance tradeoffs. . For example, for some transmission methods, it may be sufficient to make slices every other day or every hour.

各スライスを準備する際の最終ステップは、短期対称キーを使用して、スライスを暗号化することである。安全なプロトコルを使用してすでに認証されたクライアント・デバイスのみが、この対称キーのコピーを有し、これは、それらがこのスライスを解読しかつその中のテレビ視聴オブジェクトにアクセスすることを可能にするであろう。   The final step in preparing each slice is to encrypt the slice using a short-term symmetric key. Only client devices that have already been authenticated using a secure protocol will have a copy of this symmetric key, which will allow them to decrypt this slice and access the television viewing objects within it. Will do.

2. 一旦スライスが完全になると、それは、伝送メカニズムがデータ110を取得しかつ送信することができる位置にコピーされる。電話接続に対しては、スライスは、それがコールインするときに、各クライアントにデータを提供する電話通信サーバ111に配置される。テレビ放送が使用される場合には、スライスは、局テレビ送信機と共に常駐する機器に複製され、ここで、それは、信号に変調される。これらおよび類似した放送向けのケースの場合、スライスは、「カルーセルされる」、すなわち、新しいスライスが伝送に提供されるまで、スライスを記述しているデータは、絶えず繰り返される。   2. Once a slice is complete, it is copied to a location where the transmission mechanism can obtain and transmit data 110. For telephone connections, the slice is placed on the telephony server 111 that provides data to each client when it calls in. If television broadcast is used, the slice is replicated to equipment that resides with the station television transmitter, where it is modulated into a signal. For these and similar broadcast cases, the slice is “carouseled”, ie, the data describing the slice is constantly repeated until a new slice is provided for transmission.

データを担持する信号が確実に各クライアントに達する保証が無いので、スライスのこの反復放送は、必要である。クライアント・デバイスの電源が入っていないかもしれないし、または、信号の受信に障害があるかもしれない。伝送されたスライスが、高度な確率で、全てのクライアント・デバイスで適切に受信されるということを達成するために、更新されたスライスが伝送で利用可能となるまで、それらは絶えず再放送される。   This repeated broadcast of slices is necessary because there is no guarantee that the signal carrying the data will reach each client reliably. The client device may not be turned on or there may be a failure to receive the signal. In order to achieve that the transmitted slices are properly received by all client devices with a high probability, they are continually rebroadcast until updated slices are available for transmission. .

本発明の好ましい実施例は、スライスを伝送するために、テレビ信号のような放送メカニズムを使用する。しかしながら、モデムまたはインターネット接続のような、接続に基づくメカニズムによってダウンロードを提供することが、望ましい。接続に基づくメカニズムを使用することは、通常、タイム使用料金と言う結果となり、このため、スライスの伝送に費やされるタイムは最小化させることが望ましい。   The preferred embodiment of the present invention uses a broadcast mechanism, such as a television signal, to transmit slices. However, it is desirable to provide downloads via a connection-based mechanism, such as a modem or Internet connection. Using a connection-based mechanism usually results in a time usage fee, and therefore it is desirable to minimize the time spent transmitting slices.

これは、二段階プロセスを使用して達成される。接続が確立されると、クライアント・システムは、以前に受信されたスライスの目録を電話通信サーバ111に送る。サーバは、この目録を、そのクライアントによって処理されるべきであったスライスのリストと比較する。処理されなかったスライスは、クライアント・システムに伝送される。   This is achieved using a two-stage process. When the connection is established, the client system sends a list of previously received slices to the telephony server 111. The server compares this inventory with a list of slices that should have been processed by that client. Unprocessed slices are transmitted to the client system.

3. このスライスは、暗号化されたスライスを、短い番号がつけられた一連のデータパケットに分解することによって伝送される。シーケンスの全てのパケットが存在するまで、これらのパケットは、クライアント・システムによって取込まれかつ中間領域に保持される。パケットは、スライスに再組立てされ、そして、それは次いで解読される。スライスの範囲内のテレビ視聴オブジェクトは、次いで、適用可能性のためにフィルタ処理され、それは、おそらく、ローカル・テレビ視聴オブジェクト・データベースに加えられる。このプロセスは、テレビ視聴オブジェクトの一部の中央管理データベースを確実にクライアントに模写する。   3. This slice is transmitted by breaking the encrypted slice into a series of short numbered data packets. These packets are captured by the client system and held in the intermediate area until all packets in the sequence are present. The packet is reassembled into slices and it is then decrypted. Television viewing objects within the slice are then filtered for applicability, which is probably added to the local television viewing object database. This process ensures that some central management database of television viewing objects is replicated to the client.

本発明は、データパケットが受信されるタイムを追跡し続ける。選択された時間間隔より古いデータパケットは、周期的な基準で、中間領域からパージされる。これは、スライスの全ての部分が送信されるのを待つ一方で、特定されていない間隔に対しスペースを消費することを回避する。   The present invention keeps track of the time at which data packets are received. Data packets older than the selected time interval are purged from the intermediate area on a periodic basis. This avoids consuming space for unspecified intervals while waiting for all parts of the slice to be transmitted.

特に、放送媒体によりオブジェクトを伝送するとき、さまざまな種類の誤りが、伝送データに起こり得る。各データパケットには、エラー検出コード(たとえば、パリティフィールドまたはCRCコード)がスタンプされる。誤りが検出されると、データパケットは単に廃棄される。この放送カルーセルは、結局データパケットを再伝送し、これは適切に受信される可能性が大きい。この様にして、任意のサイズのスライスも、確実に送ることができる。これは、全ての部分が適切に受信されるまで、クライアント上のオブジェクトの受信された部分を示すことを犠牲にして、達成される。   In particular, when transmitting an object via a broadcast medium, various types of errors can occur in the transmitted data. Each data packet is stamped with an error detection code (eg, a parity field or CRC code). If an error is detected, the data packet is simply discarded. This broadcast carousel eventually retransmits the data packet, which is likely to be properly received. In this way, slices of any size can be sent reliably. This is achieved at the expense of showing the received part of the object on the client until all parts are properly received.

4. サービスに関連するデータ、特に、サービス認可情報を、クライアント・システムに通信する一つ以上の伝送された「特別な」スライスが、存在してもよい。視聴者が彼の請求を支払わない場合、または他の操作上の理由により、サービス・プロバイダが、プレミアム・サービスへのクライアント・システムのアクセスを制御することが可能であることは、重要である。   4. There may be one or more transmitted “special” slices that communicate data related to the service, in particular service authorization information, to the client system. It is important that the service provider be able to control client system access to premium services if the viewer does not pay his bills or for other operational reasons.

特別なスライスの特定の一タイプは、「認可」オブジェクトを含む。認可オブジェクトは、通常、特定のクライアントに関連している公開鍵/秘密鍵の対に基づいて非対称のキー暗号化を使用して暗号化される。スライスが、埋め込まれた秘密キーを用いて、セキュリティ・マイクロ・プロセッサによってうまく解読することができた場合、スライスは、他の認可オブジェクトが受信される前に、許容可能な時間遅延を示すオブジェクト、および短い時間間隔に対する一つ以上の対称キーを含むであろう。遅延値は、クライアント・システムがサービスの提供を止めるときを示すデータベースのタイム・スタンプをリセットするために用いられる。受信することができる新しいスライスを解読するために用いるために、対称キーは、ローカル・テレビ視聴オブジェクト・データベースに格納される。   One particular type of special slice includes an “authorization” object. The authorization object is typically encrypted using asymmetric key encryption based on the public / private key pair associated with a particular client. If the slice can be successfully decrypted by the security microprocessor using the embedded secret key, the slice is an object that exhibits an acceptable time delay before other authorization objects are received; And one or more symmetric keys for short time intervals. The delay value is used to reset the database time stamp indicating when the client system stops providing service. The symmetric key is stored in the local television viewing object database for use to decrypt new slices that can be received.

クライアントが、データベースにセットされているタイムまでに適切な認証オブジェクトを受信しなかった場合、それは、(サービス・プロバイダによって特定されるように)視聴者への大部分のサービスの拒絶を始めるであろう。伝送されるスライスを解読するために必要である一つ以上の有効期間が限られたダウンロード・キーも、認証オブジェクト中に含まれている。クライアント・システムが、それ自体を認証することができない場合、それはいかなるオブジェクトも解読することが出来ないことは明らかであろう。   If the client does not receive the appropriate authentication object by the time set in the database, it will begin to refuse most services to the viewer (as specified by the service provider). Let's go. Also included in the authentication object is a download key that has one or more valid lifetimes required to decrypt the transmitted slice. It will be clear that if the client system is unable to authenticate itself, it cannot decrypt any object.

各々の認可スライスは、個々に、生成されかつ伝送される。同報伝送がスライスのために用いられる場合、全ての関連した認可は、他の全てのスライスと同様に処理されてかつ他の全てのデータと共にカルーセルされる。電話接続を介するような直接の伝送が用いられる場合、そのクライアントのための認証スライスのみが伝送される。   Each authorized slice is generated and transmitted individually. When broadcast transmission is used for a slice, all associated grants are processed like all other slices and carouseled with all other data. If direct transmission, such as over a telephone connection, is used, only the authentication slice for that client is transmitted.

5. クライアント・デバイスが完全なデータベース・スライスを受信すると、それは、その中に含まれる新規なオブジェクトをデータベースに加えるために前述した方法を使用する。   5. When the client device receives a complete database slice, it uses the method described above to add new objects contained within it to the database.

クライアント・システムからの情報収集
再び図1を参照すると、本発明の好ましい実施例の場合、以下のステップは、各々のクライアント・データベースからのテレビ視聴オブジェクトの「収集」を構成する。
Collecting Information from Client Systems Referring again to FIG. 1, in the preferred embodiment of the present invention, the following steps constitute a “collection” of television viewing objects from each client database.

1. 視聴者が彼に利用可能なテレビチャンネルを進行させるにつれて、クライアント・システムは、同調されたチャネル、同調のタイム、滞在の持続時間、VCRの様なアクション(例えば、休止、巻戻し)および他の興味深い情報のような、興味深い情報を記録する。このデータは、ローカル・テレビ視聴オブジェクト内に格納される。   1. As the viewer progresses through the TV channels available to him, the client system will tune the channel, the time of tuning, the duration of the stay, the action like VCR (eg pause, rewind) and Record interesting information, like other interesting information. This data is stored in the local television viewing object.

加えて、視聴者は、利用可能にされる申し込みまたは販売促進に対する関心を示すことができ、または、彼はアイテムを購入したいという願望を示すことができる。この情報は、また、ローカル・テレビ視聴オブジェクトにも記録される。   In addition, the viewer can indicate interest in the subscription or promotion being made available, or he can indicate a desire to purchase the item. This information is also recorded in the local television viewing object.

加えて、クライアント・デバイスの作動は、結果として、テレビ視聴オブジェクトに記録されなければならない重要なデータとなるようにすることができる。例えば、誤りは、クライアントのハードディスクドライブから読出し、または、デバイスの内部温度が、動作パラメータを超えるときに、発生する。情報の他の類似したタイプは、適切にオブジェクトをダウンロードすることに失敗し、これにより、さまざまなディスクベースの作動または急速なパワーサイクリングに対するスペースが消費されてしまうことになるかもしれない。   In addition, the operation of the client device can result in important data that must be recorded on the television viewing object. For example, an error may occur when reading from a client hard disk drive or when the internal temperature of the device exceeds operating parameters. Other similar types of information may fail to properly download objects, which may consume space for various disk-based operations or rapid power cycling.

2. 即時のまたは周期的な基準に基づいていてもよい特定のタイムで、クライアント・システムは、直接の接続104を介して(通常、電話および/またはインターネット接続を介して)、中央管理サイトと接触する。クライアント・デバイスは、その秘密キーによって暗号化されているそれ自体を識別するバイト列を送る。サーバは、データベースからのクライアント・デバイスに対しテレビ視聴オブジェクトをマッチングさせることをフェッチし、かつバイト列を解読するためにそこに格納されているキーを使用する。同時に、サーバは、その秘密キーにおいて暗号化されているバイト列をクライアントに送り、これは、セッションに対する新規な1回限りの暗号化キーをクライアントに与える。   2. At a particular time, which may be based on immediate or periodic criteria, the client system can communicate with the central administration site via a direct connection 104 (usually via a telephone and / or internet connection). Contact. The client device sends a byte string that identifies itself that is encrypted by its private key. The server fetches matching television viewing objects for the client device from the database and uses the key stored therein to decrypt the byte string. At the same time, the server sends a byte sequence encrypted in its private key to the client, which gives the client a new one-time encryption key for the session.

両側とも、通信するために、それらの認証メッセージをうまく解読しなければならない。これは、クライアントおよびサーバの両者に、他方が有効であることを保証するので、この双方向ハンドシェイクは重要である。このような認証は、クライアント・システムに発生し得るさまざまな攻撃を回避するために必要である。例えば、通信がこのような形態において認証されない場合、悪意の者は、不正なテレビ視聴オブジェクト・データベースにより「アリアス」中央管理サイトを作成し、かつ、クライアント・システムに悪い情報を提供し、誤操作を引き起こさせるかもしれない。全ての更なる通信は、1回限りのセッションキーを使用して暗号化される。情報は、インターネットのようなネットワークによって伝えられるので、暗号化された通信が必要である。ここで、データトラフィックは、それが通過する全ての器材による点検に対しオープンである。収集したオブジェクト存在がそうすることができる視聴は私的であると考えられる情報を含むので、情報はいつでも完全に保護されていなければならない。   Both sides must successfully decrypt their authentication messages in order to communicate. This two-way handshake is important because it ensures both the client and the server that the other is valid. Such authentication is necessary to avoid various attacks that can occur on the client system. For example, if the communication is not authenticated in such a form, the malicious party creates an “Arias” central administration site with a fraudulent television viewing object database and provides bad information to the client system, resulting in misoperation. May cause it. All further communications are encrypted using a one-time session key. Since information is transmitted over a network such as the Internet, encrypted communication is required. Here, the data traffic is open for inspection by all equipment that it passes through. Since the viewing that the collected object presence can do contains information that is considered private, the information must always be fully protected.

認証段階が成功していると仮定するならば、両当事者は、全二重電話線を2つの一方向の放送型通信路とみなす。新しいスライスがクライアントに配られ、かつ集められるべき視聴データが、送り返される。全てのデータが届けられると、接続は終わる。   Assuming that the authentication phase is successful, both parties consider the full-duplex telephone line as two one-way broadcast channels. A new slice is distributed to the client and the viewing data to be collected is sent back. When all the data is delivered, the connection ends.

当業者は、この接続が、標準のTCP/IPプロトコルを走らせているインターネットのような、ネットワークによって、システムの他の全てのソフトウェアに、透過的に、起こることができることを容易に認識するであろう。   Those skilled in the art will readily recognize that this connection can occur transparently to all other software in the system by a network, such as the Internet running the standard TCP / IP protocol. Let's go.

3. アップロードされた情報は、サーバによって同様に処理される。つまり、中央管理データベースに模写されるべきテレビ視聴オブジェクトを提示することが仮定されている。しかしながら、サービス・プロバイダのクライアントは多く存在することが出来るので、アップロードされた視聴オブジェクトは、多く存在することが出来る。アップロードされたオブジェクトには、従って、それらのソースに関するナビゲート可能な属性を含む情報が割り当てられている。つまり、オブジェクトは、次いで、それが加えられるとき、独自にデータベース名前空間にインデックスされる。   3. Uploaded information is processed in the same way by the server. That is, it is assumed that the TV viewing object to be copied to the central management database is presented. However, since there can be many service provider clients, there can be many uploaded viewing objects. Uploaded objects are therefore assigned information including navigable attributes about their source. That is, the object is then uniquely indexed into the database namespace when it is added.

アップロードされた視聴オブジェクトは、直ちには、中央管理データベースに加えられない。その代わりに、それらは、データベースへの後の挿入のために待ち行列に入れられる。このステップは、列の処理が、クライアント・デバイスの接続パターンから独立していることを可能にする。例えば、多くのデバイスは、一度に、多数のオブジェクトを生成して、接続することができる。これらのオブジェクトが、直ちに、中央管理データベースに加えられる場合、全ての接続のパフォーマンスは損なわれ、かつ接続タイムは増大するであろう。電話料金は使用時間によって請求されるので、接続タイムがロードの関数として増大するいかなるシステムも受け入れられない。   Uploaded viewing objects are not immediately added to the central management database. Instead, they are queued for later insertion into the database. This step allows column processing to be independent of the connection pattern of the client device. For example, many devices can create and connect many objects at once. If these objects are immediately added to the central management database, the performance of all connections will be compromised and the connection time will increase. Since telephone charges are charged by usage time, any system whose connection time increases as a function of load is not acceptable.

この分離の他の効果は、マシンまたはネットワークの障害に容易に耐えることができることである。加えて、視聴オブジェクトが処理されかつ中央管理データベースに加えられる速度は、コストまたはパフォーマンスの目標を達成するように、コンピュータ・システムおよびそれらの構成を変化させることによって、サービス・プロバイダによって制御させることができる。   Another effect of this isolation is that it can easily withstand machine or network failures. In addition, the rate at which viewing objects are processed and added to the central management database can be controlled by the service provider by changing computer systems and their configurations to achieve cost or performance goals. it can.

この分離のもう一つの効果は、それが、個々の視聴者を識別するかもしれないサービス・オペレーションおよびデータを改善するために収集されたデータを分離するメカニズムを提供することである。法的理由、および、個人がサービス・プロバイダ内で有する信用を増大させることの理由から、このような識別データを、私的に保つことは重要である。例えば、視聴者の視聴選択の記録を含む視聴オブジェクトに割り当てられるナビゲート可能な属性は、視聴者の郵便番号だけを含むことができる。これは、これらのオブジェクトの更なる処理が、個々の識別へのパスを建設することができないことを意味する。   Another effect of this separation is that it provides a mechanism to separate the collected data to improve service operations and data that may identify individual viewers. It is important to keep such identification data private for legal reasons and to increase the confidence that individuals have within the service provider. For example, a navigable attribute assigned to a viewing object that includes a record of the viewer's viewing selection may include only the viewer's zip code. This means that further processing of these objects cannot build a path to individual identification.

周期的な作業は、サーバに、データベースからこれらのオブジェクトを選別し、かつ、それらを適切に処分することを実行させる。例えば、視聴者の挙動を示すオブジェクトは、全体の視聴者の挙動モデルに集計され、かつ、個々の視聴者を識別するかもしれない情報は廃棄される。運用情報を含むオブジェクトは、分析作業に送り届けられ、これは、潜在的問題に対してカスタマーサービス要員に警戒させることができる。トランザクション情報を含むオブジェクトは、実行するための処理または商業システムに送り届けられる。   Periodic work causes the server to perform a selection of these objects from the database and dispose of them appropriately. For example, objects indicating viewer behavior are aggregated into an overall viewer behavior model, and information that may identify individual viewers is discarded. Objects that contain operational information are sent to the analytical work, which can alert customer service personnel to potential problems. The object containing the transaction information is delivered to a processing or commercial system for execution.

これらの活動のいずれも、中央管理データベースに加えられている新規なテレビ視聴オブジェクト、または更新されている既存のオブジェクトと言う結果になり得る。これらのオブジェクトは、結局、クライアント・デバイスに伝送されるであろう。したがって、テレビ視聴管理システムは、いかなる数のクライアント・システムもサポートすることができる自己-保守複製されたデータ・ベース・システム105を作成する閉ループである。   Any of these activities can result in new television viewing objects being added to the central management database, or existing objects being updated. These objects will eventually be transmitted to the client device. Thus, the television viewing management system is a closed loop that creates a self-maintained replicated database system 105 that can support any number of client systems.

クライアント・システムによるテレビジョン視聴オブジェクトの処理
テレビジョン視聴オブジェクトは、以下のタイプの情報を含むであろう。すなわち、
テレビジョン番組の説明および表示時間と、
チャネルの番号付けおよび識別といった、ケーブル、衛星または放送信号の発信者情報と、
俳優、ジャンル、表示時間といった視聴者の嗜好情報と、
改良された、データベース・ソフトウェア、アプリケーション・ソフトウェア、オペレーティングシステム・ソフトウェアといったソフトウェアと、
嗜好のベクトル、人口統計学的分析などといった、統計的なモデル化情報と、
デジタルデータとして提示することができる他のいかなる任意の情報とを含む。
Processing of the television viewing object by the client system The television viewing object will contain the following types of information: That is,
TV program description and display time,
Cable, satellite or broadcast signal originator information such as channel numbering and identification,
Viewer preference information such as actor, genre, display time,
Improved software such as database software, application software, operating system software,
Statistical modeling information such as preference vectors, demographic analysis,
And any other optional information that can be presented as digital data.

番組案内オブジェクトに適用される方法
番組案内オブジェクトは、クライアント・システムで動作しているソフトウェアが、データベースの範囲内でオブジェクトによって記述される全ての利用可能な番組およびチャネルの中から選ぶために、クライアント・システムのユーザが興味を持つ番組に同調し、それを受信し、記録しかつ視聴するために必要な全ての情報を含む。
Method applied to the program guide object The program guide object is used by the software running on the client system to select among all available programs and channels described by the object within the database. -Includes all the information necessary to tune in, receive, record and watch programs of interest to users of the system.

この番組案内情報は、サービス・プロバイダによって定期的に更新される。これは、例えば、このような情報の商業的供給者または他の放送予約情報源から、ある方法で、番組案内情報を得ているプロバイダによって扱われる。このデータは、次いで、この情報を相互関係のある視聴オブジェクトの収集に減少させるために、良く理解されているソフトウェア技術を使用して、処理される。   This program guide information is regularly updated by the service provider. This is handled, for example, by providers obtaining program guide information in some way from commercial suppliers of such information or other broadcast reservation information sources. This data is then processed using well-understood software techniques to reduce this information to a collection of interrelated viewing objects.

再び図4を参照すると、番組案内オブジェクト間の典型的関係が、示されている。テレビ「ネットワーク」オブジェクト407は、その放送が、空中、ケーブル、衛星または他の適切な媒体を介して行われるか否かに関係なく、テレビ番組の予約を入れかつこれを放送する任意の実体である。テレビ「番組」オブジェクト401は、特定の番組、商業的広告、局の販売促進、オープナ、トレーラ、またはテレビ信号の他の任意の囲まれた部分のような、テレビ放送信号の任意の異なったセグメントの記述である。「表示」オブジェクト406は、番組が放送されるネットワークに対する放送予約の一部である。「チャネル・マップ」オブジェクトは、使用されている媒体に対する特定の放送チャネルにネットワーク放送をマップする。例えば、衛星放送サービスのためのチャネル・マップ・オブジェクトは、トランスポンダーおよび放送を含むデータの流れに関する情報を含むであろう。先に述べた方法を使用すると、この番組案内データは、中央管理サイトからクライアント・システムに自己複製される。ここで、クライアント・システムのアプリケーション・ソフトウェアは、このデータを用いて、テレビ視聴を管理する。   Referring again to FIG. 4, a typical relationship between program guide objects is shown. A television “network” object 407 is any entity that reserves and broadcasts a television program, regardless of whether the broadcast is made over the air, cable, satellite or other suitable medium. is there. A television “program” object 401 can be any different segment of a television broadcast signal, such as a particular program, commercial advertisement, station promotion, opener, trailer, or any other enclosed part of the television signal. It is a description. A “display” object 406 is part of a broadcast reservation for the network on which the program is broadcast. The “Channel Map” object maps a network broadcast to a specific broadcast channel for the medium being used. For example, a channel map object for a satellite broadcast service will contain information about the flow of data including transponders and broadcasts. Using the previously described method, this program guide data is self-replicated from the central administration site to the client system. Here, the application software of the client system uses this data to manage TV viewing.

サービス・プロバイダは、また、ある形態で相互関係を有する一組の番組案内オブジェクトを記述する集積視聴オブジェクトも提供することができる。例えば、「宇宙大作戦 (Star-Trek)」の収集は、この商標名に関連する全ての番組案内オブジェクトの参照を含むことができる。明らかに、任意の一組の番組は、この形態で集計することができる。集積オブジェクトは、ディレクトリに類似している。例えば、宇宙大作戦の収集は、階層的な名前空間に"/showcase/Star Trek"で見いだされるかもしれない。集積オブジェクトは、また、番組案内オブジェクトでもあって、かつ集積オブジェクト等を集計することを含めた同様な形態で、操作することができる。   The service provider can also provide an aggregate viewing object that describes a set of program guide objects that are interrelated in some form. For example, the collection of “Star-Trek” may include a reference to all program guide objects associated with this trade name. Obviously, any set of programs can be aggregated in this form. Aggregated objects are similar to directories. For example, a collection of space operations may be found in a hierarchical namespace with "/ showcase / Star Trek". The accumulation object is also a program guide object, and can be operated in the same form including aggregation of accumulation objects and the like.

クライアント・システムは、番組オブジェクトの収集を更に洗練することができる。プログラミングを内部記憶装置に取込むことができるシステムの場合、各々の取込まれた番組は、新規な番組案内オブジェクトによって表され、これは、視聴、集積などに利用可能になる。明確な視聴者アクションは、また、番組案内オブジェクトを作成すると言う結果ももたらす。例えば、視聴者は、いくつかの番組を選ぶことができ、かつ新規な集積オブジェクトを作成させるようにすることができる。   The client system can further refine the collection of program objects. For systems that can capture programming to internal storage, each captured program is represented by a new program guide object, which is made available for viewing, aggregation, and the like. A clear viewer action also results in creating a program guide object. For example, the viewer can select several programs and have a new aggregate object created.

番組案内オブジェクトのタイプの記述が、含まれていることは、意味しない。本発明の基本的な方法から利益を得ることができる、本願明細書において記述されていない番組案内オブジェクトを生成する、多くの異なった使用法および方法を用いることもできる。番組案内オブジェクトは、5つの方法でアプリケーション・ソフトウェアによって用いられる。   It does not mean that a description of the type of program guide object is included. Many different uses and methods of generating program guide objects not described herein that can benefit from the basic method of the present invention can also be used. Program guide objects are used by application software in five ways.

1. 最も単純なケースの場合、視聴者は、現在のまたはすぐに利用可能となるであろうプログラミングを識別するためにこれらのオブジェクトを閲覧したい。アプリケーション・ソフトウェアは、視聴者にとって便利でかつ有用である、視覚出来かつ可聴のインタフェースの形態で、データベースによって記述されたオブジェクト関係をマップするであろう。視聴者は、特定の番組に関心があり、それが放送されるときにローカル記憶装置に番組を記録するような、あるアプリケーションに特有のアクションと言う結果になるべきことを、示すことができる。   1. In the simplest case, viewers want to browse these objects to identify programming that will be available now or soon. The application software will map the object relationships described by the database in the form of a visual and audible interface that is convenient and useful to the viewer. Viewers can indicate that they are interested in a particular program and should result in an application specific action, such as recording the program in local storage when it is broadcast.

2. アプリケーション・ソフトウェアは、また、視聴者が興味を持つかもしれない番組を選択するために、番組案内オブジェクトを直接処理することができる。このプロセスは、基本的には、統計モデルと組み合わせられた以前に見られた番組の分析に基づいていて、これは、結果的に、利用可能な全ての番組の優先順位付けになる。最高優先度の番組は、それが放送されるときに、ローカル記憶装置に番組を録画するようなアプリケーションに特有な方法で処理することができる。このようにして形成された優先順位付けの部分は、ケース1の場合のように、付加的な選択に対し、視聴者に提示することができる。   2. The application software can also directly process program guide objects to select programs that the viewer may be interested in. This process is basically based on the analysis of previously seen programs combined with a statistical model, which results in prioritization of all available programs. The highest priority program can be processed in an application-specific manner such as recording the program on local storage when it is broadcast. The prioritized part formed in this way can be presented to the viewer for additional selections as in case 1.

当業者は、以前の視聴履歴および明確な嗜好に基づいて、視聴者のためにプログラミングを選ぶための方法に集中している多くの従来技術(例えば、米国特許第5,758,257号)が存在することは、容易に認識するであろう。この特許に記載されている方法は、これらの方法が、プログラミングの放送または伝送ではなく、プログラミングの取込みのための優先度を提案し、かつ、プログラミングをいつ放送するかについては時間の制約がないので、これらの技術に比較し、ユニークでかつ新しい。これらの方法に関する更なる詳細は、この説明の後に示される。   Those skilled in the art will recognize that there are many prior arts (eg, US Pat. No. 5,758,257) that concentrate on methods for choosing programming for viewers based on previous viewing history and explicit preferences. Will be easily recognized. The methods described in this patent suggest a priority for capturing programming rather than broadcasting or transmitting programming, and there is no time constraint on when to broadcast programming So unique and new compared to these technologies. Further details regarding these methods are given after this description.

一般に、視聴者がプログラミングを明確に選択することは、取込みに対する最高優先度を有する。この後には、本願明細書において記述されている嗜好技術を使用して選択されたプログラミングが続く。   In general, the clear choice of programming by the viewer has the highest priority for capture. This is followed by programming selected using the preference techniques described herein.

3. クライアント・システムは、テレビ放送を受信し、またはイントラネットまたはインターネットのようなネットワーク全体のウェブページにアクセスすることができる少数の入力を有する。予約方法は、各々の入力がどのように同調され、かつ結果として取込まれたテレビ信号またはウェブページによって何がなされるかを選択するために用いられる。   3. The client system has a small number of inputs that can receive television broadcasts or access network-wide web pages such as an intranet or the Internet. The reservation method is used to select how each input is tuned and what is done by the resulting captured television signal or web page.

図6を参照すると、視聴者が興味を持つ番組は、通常、番組案内オブジェクトによって記述される、任意のチャネルに、任意の時間で放送することができる。加えて、興味がある番組は、イントラネットまたはインターネットのような、ネットワーク全体のウェブページUniversal Resource Locators(URL)であってもよい。チャネルメタファーは、また、特定のウェブ・サイトまたはページの場所またはURLを記述するのにも用いられる。   Referring to FIG. 6, a program in which a viewer is interested can be broadcast at an arbitrary time on an arbitrary channel described by a program guide object. In addition, the program of interest may be a network-wide web page Universal Resource Locators (URL), such as an intranet or the Internet. Channel metaphors are also used to describe the location or URL of a particular web site or page.

視聴者は、例えば、ウェブ・サイトURLをチャネルに指定することによって、サイトをウェブに「同調させることができる」。そのチャネルが選ばれるときはいつでも、ウェブ・サイトが示される。ウェブページは、また、興味がある番組に指定することができ、かつ、ウェブページのスナップショットが、撮られかつ所定時間に記録されるであろう。   The viewer can “tune” the site to the web, for example by assigning a web site URL to the channel. Whenever that channel is chosen, a web site is shown. A web page can also be assigned to a program of interest, and a snapshot of the web page will be taken and recorded at a predetermined time.

スケジューラは、おそらく上記のケースに従って生成された番組視聴嗜好603の優先するリストを入力として受け入れる。予約方法601は、次いで、このリストを、興味がある番組が実際に放送されるときを示す番組案内オブジェクト604のデータベースと比較する。それは、次いで、時間607に対する、視聴者の明確なまたは導出された好適な番組に対し最適である利用可能な記憶空間606の予約を生成する。これらの方法に関する更なる詳細は、この説明の後に示される。   The scheduler accepts as input a preferential list of program viewing preferences 603, possibly generated according to the above case. The reservation method 601 then compares this list to a database of program guide objects 604 that indicates when the program of interest is actually broadcast. It then generates a reservation of available storage space 606 that is optimal for the viewer's explicit or derived preferred program for time 607. Further details regarding these methods are given after this description.

4. 取込まれた番組が視聴されるときには、マッチング番組案内オブジェクトは、任意の適切な技術(好ましくは、ある形のOn Screen Display(OSD)で)を使用して、ディスプレイにかぶせられた番組についての追加情報を提供するために用いられる。このような情報は、次のものを含むが、番組名、元々の放送番組の時間、チャネルまたはネットワーク、失効時間、実行時間または他の情報に限定されるものではない。   4. When the captured program is watched, the matching program guide object uses any suitable technique (preferably with some form of On Screen Display (OSD)) to show the program overlaid on the display. Used to provide additional information about. Such information includes, but is not limited to, program name, original broadcast program time, channel or network, expiration time, execution time or other information.

5. 有効なプログラミングが見られるときに、アプリケーションはマッチング番組案内オブジェクトを発見するために現在の時刻、チャンネル、およびチャンネル・マップを使用する。このオブジェクトからの情報は、上述したように、任意の適切な技術を使用して示される。視聴者がチャンネルを変更すると、新規な番組が、コマーシャル後に番組が再開されるときに、視聴者により、または他の状況に基づく要求により開始するときに、情報は、自動的に示すことができる。   5. When valid programming is seen, the application uses the current time, channel, and channel map to find a matching program guide object. Information from this object is presented using any suitable technique, as described above. When the viewer changes channels, the information can be automatically indicated when a new program is started by the viewer, when the program resumes after a commercial, or by a request based on other circumstances .

6. ケース2において記述されているものに類似した技術を使用して、アプリケーション・ソフトウェアは、また、視聴者が興味を持つことが出来る販促用のマテリアルも取込むことができる。この情報は、視聴者の要求により提示することができ、また、それは、ある都合のいい位置に出力テレビ信号に自動的に挿入することができる。例えば、放送番組の広告は、より高い嗜好優先度を有する異なる広告と置換されるかもしれない。1998年7月30日に出願された、米国特許番号6,233,389(「マルチメディアの時間ワーピング・システム」と言う発明の名称)に記載されている時間ワーピング装置を使用すると、いかなる位置でも出力テレビ信号に任意のオーバーレイ番組を挿入することが可能になる。オーバーレイ番組が、この作業を行うために挿入される一方で、時間ワーピング装置は、オーバーレイされた番組を遅延させることを可能にする。   6. Using techniques similar to those described in Case 2, the application software can also incorporate promotional material that the viewer may be interested in. This information can be presented at the viewer's request and it can be automatically inserted into the output television signal at some convenient location. For example, broadcast program advertisements may be replaced with different advertisements with higher preference priorities. Using the time warping device described in US Pat. No. 6,233,389 (named “Multimedia Time Warping System”), filed July 30, 1998, the output television signal can be output at any location. Arbitrary overlay programs can be inserted. While an overlay program is inserted to perform this task, the time warping device allows the overlaid program to be delayed.

好みの番組のリストを生成する方法
視聴者嗜好は、多くの方法で得ることができる。視聴者は、特定の番組を取込むよう要請することができる。これは、結果として、それらの番組に対し最も高い優先度となる。これに代えて、視聴者は、おそらく、特定の番組のための販促スポットに応答して、または番組の視聴の間にさえ、視聴者インタフェースで提供される付属物を使用して、嗜好を明確に表すことができる。最後に、嗜好は、過去に見られた番組、視聴されたまたはスキップされた等の商業的な広告等の視聴パターンから推定することができる。
How to Generate a List of Favorite Programs Viewer preferences can be obtained in a number of ways. The viewer can request to capture a specific program. This results in the highest priority for those programs. Instead, viewers may clarify preferences using attachments provided in the viewer interface, perhaps in response to a promotional spot for a particular program, or even during the viewing of a program. Can be expressed as Finally, preferences can be inferred from viewing patterns such as previously viewed programs, commercial advertisements such as viewed or skipped.

いずれの場合においても、このような嗜好は、複製データベースに格納されているテレビ視聴オブジェクトに対応しなければならない。番組オブジェクトは、題名、説明、監督、プロデューサー、俳優、評価等の各特定番組に関する豊かな情報を含む。これらの要素は、番組オブジェクトに付けられた属性として格納される。   In any case, such preferences must correspond to television viewing objects stored in the replica database. The program object includes rich information regarding each specific program such as a title, description, director, producer, actor, and evaluation. These elements are stored as attributes attached to the program object.

個々の属性は、結果として、嗜好オブジェクトを生成させることができる。このようなオブジェクトは、以下の情報を格納する。
1. 嗜好の俳優または監督のような、嗜好アイテムの種類、
2. 多数回のボタン押圧または他の手段によって示されるかもしれない視聴者によって与えられる嗜好の重み、
3. たとえば、俳優の嗜好が、監督の嗜好より重要であると言うような、他の嗜好に対する嗜好の静的に割り当てられた重要性、
4. 例えば、監督の名前のような嗜好項目の実効値。
Individual attributes can result in preference objects being generated. Such an object stores the following information.
1. the type of preference item, such as a favorite actor or director,
2. Preference weight given by the viewer, which may be indicated by multiple button presses or other means
3. Statically assigned importance of preference over other preferences, for example, actor preference is more important than director preference,
4. For example, the effective value of a preference item such as the director's name.

図5に関して、嗜好オブジェクトは、番組案内オブジェクトに対して記載されているものに類似した階層としてデータベースに格納される。しかしながら、この階層は、嗜好が表されるに連れて500、インクリメンタルに構築される。このように構成された階層は、「直接の」嗜好、例えば、視聴者アクションまたは推定された嗜好から導出されるもの、に基づく。   With respect to FIG. 5, preference objects are stored in the database as a hierarchy similar to that described for program guide objects. However, this hierarchy is built incrementally as the preference is expressed, 500. The hierarchy thus constructed is based on “direct” preferences, such as those derived from viewer actions or estimated preferences.

類似した階層は、同じ嗜好オブジェクト501を示している「間接的な」嗜好に基づいて作成される。一般に、間接的な嗜好は、集約オブジェクトのための嗜好が、発生し、かつ直接の嗜好が集計されたオブジェクトの収集によって暗示された更なる重みに使用されるときに、発生する。間接的な嗜好階層によって参照される嗜好オブジェクトは、集約オブジェクト502の部分である利用できる番組オブジェクトを列挙し、かつこのようにして発見された各属性のための嗜好オブジェクトを生成または更新することによって、発生しまたは更新される。   Similar hierarchies are created based on “indirect” preferences indicating the same preference object 501. In general, indirect preferences occur when preferences for aggregate objects are generated and direct preferences are used for further weights implied by the aggregated object collection. The preference object referenced by the indirect preference hierarchy enumerates the available program objects that are part of the aggregate object 502 and creates or updates a preference object for each attribute found in this way Occur or be updated.

特定の嗜好503の重みはゼロから始まり、そして、次に、標準値が、(おそらく多数回のボタン押圧によって)表される嗜好または標準の程度に基づいて、加えられ、またはもし無関心が表明されたならば、標準値は減算される。もし嗜好が集積された視聴オブジェクトに基づいて表されるならば、集計されたオブジェクトに従属する全ての視聴オブジェクトによって、発生する全ての嗜好は、同じように重み付けされる。従って、関連した嗜好要素の新規な重みづけは、以前の重みづけから生成される。このプロセスは、表すことを可能にする嗜好の程度によって、決められ、したがって、全ての重みづけが、限られた範囲に入る。   The weight of a particular preference 503 starts at zero, and then a standard value is added based on the preference or standard degree represented (possibly by multiple button presses), or indifference expressed If so, the standard value is subtracted. If preferences are expressed based on aggregated viewing objects, all preferences generated by all viewing objects subordinate to the aggregated objects are weighted in the same way. Thus, a new weighting of the associated preference element is generated from the previous weighting. This process is determined by the degree of preference that it is possible to represent, so all weights fall within a limited range.

本発明の好ましい実施例の場合、非線形組合せを、嗜好項目を重みづけするために使用することができる。例えば、中央管理サイトによって提供される統計モデルを使用して、クライアントは、3個の属性に対して大きく重みづけされた嗜好が、第4の属性も同様に重みづけされるべきであることを示すことを、推測することが出来る。   In the preferred embodiment of the invention, non-linear combinations can be used to weight preference items. For example, using the statistical model provided by the central administration site, the client can determine that a preference heavily weighted for three attributes should be weighted for the fourth attribute as well. You can guess what to show.

好ましい番組のリストは、以下のように発生する。
1. テーブル504は、各々可能な番組オブジェクト属性の一覧を示すように構成され、かつ存在するその属性に対する任意の嗜好オブジェクトが、そのエントリにリスト化される。
2. もし嗜好項目が俳優名のようなストリングであるならば、そのストリングに対する32ビット・デジタル署名は、32ビットCRCアルゴリズムを使用して計算され、かつストリング自体よりむしろ、テーブル項目と共に格納される。これは、ストリングの比較が回避されるので、2つの異なるストリングが同じデジタル署名を生成する危険性を低くしたままで、テーブルのより速いスキャンを可能にする。
3. データベースの各番組オブジェクトのため、およびその番組の各属性のために、属性は、テーブルで見られる。存在する場合には、その属性のための嗜好オブジェクトのリストが、現行番組オブジェクトの属性とのマッチのために調べられる。もしマッチが起こると、その嗜好オブジェクトに関連している重みは、この番組に対する単一の重みを生成するために番組オブジェクトに関連している重みづけに加えられる。
4. 最終的に、番組オブジェクトは、各番組のための全体の重みづけに基づいて順位づけされ、これは、結果として、最も好ましい番組から最も好ましくない番組のリストとなる。
A list of preferred programs occurs as follows.
1. Table 504 is configured to show a list of each possible program object attribute, and any preference object for that existing attribute is listed in that entry.
2. If the preference item is a string such as an actor name, the 32-bit digital signature for that string is calculated using a 32-bit CRC algorithm and stored with the table item rather than the string itself . This allows for faster scanning of the table while keeping the risk of two different strings generating the same digital signature, since string comparison is avoided.
3. For each program object in the database, and for each attribute of that program, the attributes are seen in a table. If present, the list of preference objects for that attribute is examined for a match with the attributes of the current program object. If a match occurs, the weight associated with that preference object is added to the weight associated with the program object to generate a single weight for this program.
4. Eventually, the program objects are ranked based on the overall weight for each program, which results in a list of most preferred to least preferred programs.

この最終の優先化リストが与えられると、記録予約が、後述する方法を使用して生成される。これは、結果として、視聴者が最も興味を持つ記録された番組の集まりとなる。   Given this final priority list, a recording reservation is generated using the method described below. This results in a collection of recorded programs that the viewer is most interested in.

利用できる格納空間に対する記録の予約に適用される方法
前述したように、記録された番組は、一般に、記録された番組がクライアントの格納から除去される失効日を有する。視聴者は、番組がより長く保存されるべきことをいつでも示すことができ、これは、視聴者が選択した間隔まで失効を遅延させる。本発明は、番組を記録するための利用できる格納を「キャッシュ」と見る。見られなかった番組は、もし記録の直後に見られなければ、それらは将来も見られないであろうという仮定に基づいて、しばらくして除去される。見られた番組は、それらがもはや興味を持たれないという仮定に基づいて、即座に削除されるべき候補になる。
Method Applied to Recording Reservation for Available Storage Space As noted above, recorded programs generally have an expiration date when the recorded program is removed from the client's storage. The viewer can indicate at any time that the program should be stored longer, which delays expiration until the interval selected by the viewer. The present invention views the available storage for recording programs as “cache”. Programs that were not watched are removed after a period of time based on the assumption that if they are not watched immediately after recording, they will not be watched in the future. Watched programs become candidates for immediate deletion based on the assumption that they are no longer interested.

記録の適切な予約および古い番組の削除により、古い番組の進行中のフラッシングおよび新規な番組の追加があるので、より小さい記憶領域をはるかに大きく見せることが、可能となる。加えて、もし情報資源が利用できるならば、記録を、視聴者の推定された嗜好に基づいて、番組の予約に用いることができる。これらは「ファジーな」記録と呼ばれる。これは、結果として、番組記憶領域が、常に、視聴者が興味を持つ「完全な」番組であるシステムになり、他の番組が、その位置に記録されまたは視聴者が明確にそれを削除するまで、番組は除去されない。   Proper recording reservations and deletion of old programs allow a smaller storage area to appear much larger because there is ongoing flushing of old programs and the addition of new programs. In addition, if the information resource is available, the recording can be used to reserve a program based on the viewer's estimated preferences. These are called “fuzzy” records. This results in a system where the program storage area is always the “complete” program that the viewer is interested in, and other programs are recorded at that location or the viewer explicitly deletes it. Until the program is not removed.

加えて、視聴者は、記録するための番組を任意の時間に選択することができ、かつ、記録するウインドウは、他の予約された記録と競合するかもしれず、または、番組を記録しなければならないときに入手できるスペースは、充分でない場合がある。本発明は、このような競合を解決する固有でかつ新しい方法を含む。   In addition, the viewer can select a program for recording at any time and the recording window may compete with other reserved recordings or must record the program. There may not be enough space available when not. The present invention includes a unique and new way to resolve such conflicts.

競合は、格納空間の欠如または入力源の欠如と言う2つの理由から起こる。本願明細書において記述されるテレビ視聴システムは、記録ビデオを格納するための有限容量の磁気ディスクのような、ビデオおよび記憶媒体を記録するための固定した数の入力源を含む。任意の有意な期間にわたって全てのテレビ番組放送を記録することは、不可能である。従って、資源限界を原因として起こる競合を解決することは、正しい番組を視聴可能にするキーとなる。   Conflicts arise for two reasons: lack of storage space or lack of input sources. The television viewing system described herein includes a fixed number of input sources for recording video and storage media, such as a finite capacity magnetic disk for storing recorded video. It is impossible to record all television program broadcasts over any significant period. Therefore, resolving contention that occurs due to resource limitations is the key to enabling the correct program to be viewed.

再び図6を参照すると、本発明は、2つの予約、Space Schedule 601、およびInput Schedule 602を維持する。Space Scheduleは、現時点で記録済の全ての番組、および将来記録が予約されている番組を追尾する。時間内の任意の所定の時点で利用できるスペースの合計は、全ての占有されたスペース(またはその時間に占有されるであろうスペース)の合計を生成し、かつその番組を格納するために利用できる総容量からそれを減算することによって、見出すことができる。推定された嗜好(「ファジーな」記録)に基づいて記録することが予約されている番組は、この算出においては計数されない。このような番組は、自動的に全ての競合の決定を失う。   Referring again to FIG. 6, the present invention maintains two reservations, Space Schedule 601 and Input Schedule 602. Space Schedule tracks all programs that have been recorded at the present time, and programs that are scheduled to be recorded in the future. The total space available at any given time in time generates the sum of all occupied space (or space that will be occupied at that time) and is used to store the program It can be found by subtracting it from the total capacity it can. Programs that are scheduled to be recorded based on estimated preferences ("fuzzy" recording) are not counted in this calculation. Such programs automatically lose all contention decisions.

記録が始まる時とそれが失効する時の間の全ての時点で、それを保持するための充分なスペースが利用できる場合には、番組は、記録することができる603。加えて、番組の間に、それを記録するために使える入力が存在しなければならない。Input Schedule 602は、各入力源に対して空いているおよび占有されたタイムスロットを追尾する。本発明の好ましい実施例の場合、入力源は、同一のサービスに対して使用することはできない。例えば、一方の入力を、ディジタル・テレビ信号とし、他方の入力を、異なるプログラミングを有するアナログ・テレビ信号としてもよい。この場合、所望の番組を記録することができるそれらの入力のみが、予約の間、考察される。   The program can be recorded 603 if sufficient space is available to hold it at all times between when the recording begins and when it expires. In addition, during the program there must be input that can be used to record it. Input Schedule 602 tracks the free and occupied time slots for each input source. In the preferred embodiment of the present invention, the input source cannot be used for the same service. For example, one input may be a digital television signal and the other input may be an analog television signal with different programming. In this case, only those inputs that can record the desired program are considered during the reservation.

図7に関して、フローチャートは、好ましい実施形態で記録を予約するためにとられるステップの記述を示す。先ず、興味がある番組の表示が順序づけされたリストが、生成される701。本発明の好ましい実施例は、記録ができるだけ早く行われるように、時間によってこれらの表示を順序づけるが、任意の特定の順位付けも選択出来る。次いで、このリスト702の各表示が、入力703またはスペース704の競合が上述したように起こる否かを見るために、点検される。もし表示に競合が発見されないならば、この番組は、記録705が予約される。   With reference to FIG. 7, the flowchart shows a description of the steps taken to reserve a recording in the preferred embodiment. First, a list 701 is generated in which the display of programs of interest is ordered. The preferred embodiment of the present invention orders these displays by time so that recording is done as soon as possible, but any particular ranking can be selected. Each display of this list 702 is then checked to see if contention for input 703 or space 704 occurs as described above. If no conflict is found in the display, this program is reserved for record 705.

競合が発見された場合には、本発明の好ましい実施例は、入力競合706を有しない番組の表示しか選択しない。再び図6を参照すると、その記録の有効期間にわたって、他の番組が記録されまたは失効するに連れて、空きスペースの量が変化することを、理解することができる。次いで、表示のこのリストは、好ましくは、候補記録の有効期間の間の空きスペースの最小量によって、ソートされる。他の順位付けを、選択することもできる。   If a conflict is found, the preferred embodiment of the present invention selects only the display of programs that do not have an input conflict 706. Referring again to FIG. 6, it can be seen that over the lifetime of the recording, the amount of free space changes as other programs are recorded or expire. This list of displays is then preferably sorted by the minimum amount of free space during the lifetime of the candidate record. Other rankings can also be selected.

再び図7を参照すると、各候補の表示に対し、視聴者には、競合する番組708、709の失効日を短くするオプションが与えられる。この順位付けにより、予約された番組に最小から最大までの順位で707、これらを選択することが、視聴者に提示される結果になる。本発明は、この順位付けを、他のものに対して使用する必要性を有しない。   Referring again to FIG. 7, for each candidate display, the viewer is given the option of shortening the expiration date of competing programs 708, 709. By this ranking, selecting 707 of the reserved programs in the order of minimum to maximum results in being presented to the viewer. The present invention has no need to use this ranking against others.

視聴者が、失効タイムを短くする全ての機会を拒絶する場合には、最終ステップは、入力競合でこれらの表示を選択し710、かつ第1の競合解決フェーズ内でこれらの表示をソートする711ことを含む。視聴者には、次いで、所望の番組712、713のために各々以前に予約した記録をキャンセルするオプションが、与えられる。もちろん、視聴者は、新規な如何なるものも、記録されない714ことを最終的に決めることもできる。   If the viewer rejects all opportunities to reduce the expiration time, the final step is to select 710 these displays in the input conflict and sort these displays in the first conflict resolution phase 711 Including that. The viewer is then given the option to cancel each previously reserved recording for the desired program 712,713. Of course, the viewer can finally decide that anything new is not recorded 714.

本発明の好ましい実施例の場合、全ての競合は、視聴者に何が記録されるかをより多く制御出来るように、可能な限り早急に解決される。視聴者が、記録する番組の明確な選択を行うときには、図7に記述されるアルゴリズムが、直ちに記録を予約し、かつ生じた如何なる競合も管理するために使用される。   In the preferred embodiment of the present invention, all conflicts are resolved as soon as possible so that the viewer has more control over what is recorded. When the viewer makes a clear selection of the program to record, the algorithm described in FIG. 7 is used to immediately reserve the recording and manage any contention that has occurred.

明確な選択が行われ、かつ、視聴者が、その記録がなされるであろうことを知らせた場合には、それは視聴者の明確な承認なしにはキャンセルされない。   If a clear choice is made and the viewer informs that the recording will be made, it will not be canceled without the viewer's explicit approval.

ファジーな記録は、クライアント装置上のバックグラウンド・タスクによって、周期的に予約される。前述したような好ましい番組の優先化リストが与えられる場合には、バックグラウンド・スケジューラは、リストが、使い果たされるまで、または記録する更なる機会が無くなるまで、順番に、各好ましい番組を予約することを試みる。予約済の他の番組と競合がない場合に限り、好ましい番組は、予約される。予約済の好ましい番組は、第一に、それが明確な選択と競合する場合、および第二に、視聴者の嗜好の変化がその時に記録することができるより高い優先順位番組を識別する場合と言う、2つの条件の下で削除することができる。   Fuzzy recordings are periodically reserved by background tasks on the client device. Given a prioritized list of preferred programs as described above, the background scheduler reserves each preferred program in turn until the list is exhausted or there are no more opportunities to record. Try that. A preferred program is reserved only if there is no conflict with other reserved programs. Preferred preferred programs that are reserved are firstly when they compete with a clear choice and secondly when a change in viewer preference identifies higher priority programs that can then be recorded Say, can be deleted under two conditions.

記録が要請される集約視聴オブジェクトを扱うときには、更なる複雑化が起こる。もし競合解決が、このようなオブジェクトに対し上述した方法により扱われるならば、潜在的にかなりの数の競合が、生成されるかもしれない。これは、競合を解決する際の視聴者に、混乱させかつストレスがたまる経験をもたらす。したがって、集約オブジェクトが記録のために選択されると、競合は,既存の予約を生かすように自動的に解決される。   Further complications arise when dealing with aggregate viewing objects that require recording. If conflict resolution is handled by the method described above for such objects, potentially a significant number of conflicts may be generated. This provides a confusing and stressful experience for viewers in resolving conflicts. Thus, when an aggregate object is selected for recording, the conflict is automatically resolved to take advantage of existing reservations.

本発明の好ましい実施例において、集約オブジェクトの記録から生じる競合は、多数の競合が集約オブジェクト内の特定の番組によって生じる場合には、関係する番組の嗜好の重みづけを使用して解決されるであろう。その嗜好が、全ての競合する番組のそれを越える場合には、それは、記録されるだけであろう。   In the preferred embodiment of the present invention, the conflicts resulting from the recording of the aggregate object can be resolved using the related program preference weighting if multiple conflicts are caused by a particular program in the aggregate object. I will. If that preference exceeds that of all competing programs, it will only be recorded.

ソフトウェア・オブジェクトに適用される方法
クライアント・システムは、適切な動作のために複雑なソフトウェア環境を必要とする。オペレーティング・システムは、クライアントのハードウェア・デバイスとこれらの装置をマニュピレートするソフトウェア・アプリケーションとの間の対話処理を管理する。テレビ視聴オブジェクト・データベースは、明白なソフトウェア・アプリケーションによって管理される。時間ワーピング・ソフトウェア・アプリケーションは、さらにもう一つのアプリケーションである。
Methods applied to software objects Client systems require a complex software environment for proper operation. The operating system manages the interaction between the client hardware devices and the software applications that manage these devices. The television viewing object database is managed by an explicit software application. Time warping software applications are yet another application.

クライアント・ハードウェア・デバイスに働くこれらおよび他のソフトウェアサブシステム内に、新規な特徴を加えまたは欠陥を補正することが好ましい。本願明細書において記述される方法を使用して、更新されたソフトウェア・モジュールを含む視聴オブジェクトをクライアント・システムのデータベースに自己複製することは、可能である。クライアント・システムのデータベース内に存在するようになると、更新されたソフトウェアをインストールし、かつクライアント・システムに新規なソフトウェアの実行を開始させるために、以下の固有のかつ新しい方法が、使用される。   It is preferable to add new features or correct defects in these and other software subsystems that work for client hardware devices. Using the methods described herein, it is possible to self-replicate a viewing object that includes an updated software module into a client system database. Once present in the client system database, the following unique and new methods are used to install the updated software and have the client system start running the new software.

装置のソフトウェア環境は、電源が装置に最初に印加される際に行われる一連のステップとして、インスタンス化される。ここで、各ステップは、次の工程の適切なアプリケーションをサポートする状態情報を作る。最終工程は、装置を管理しかつ視聴者と対話するアプリケーションを開始する。これらのステップは、以下の通りである。
1. 装置の読取り専用または電気的にプログラムすることが可能なメモリは、命令の初期ブート・ストラップ・シークエンスを保持する。これらの命令は、クライアント装置の低レベルのパラメータを初期化する、ディスク記憶システムを初期化し、かつディスクからメモリにブート・ストラップ・ローダをロードし、次いで、メモリが実行される。この初期ブート・ストラップは、もしそれが電気的にプログラム可能なメモリ内にあるならば、変更することができる。
2. 第二段階のブート・ローダは、次いで、ディスク駆動装置のオペレーティング・システムを捜し、オペレーティング・システムをメモリにロードし、そして、オペレーティング・システムを実行させる。このローダーは、イニシャルローダが容易に捜せるように、ディスク上の特定の位置に存在しなければならない。
The software environment of the device is instantiated as a series of steps that take place when power is first applied to the device. Here, each step creates state information that supports the appropriate application for the next process. The final step starts an application that manages the device and interacts with the viewer. These steps are as follows.
1. The device's read-only or electrically programmable memory holds the initial bootstrap sequence of instructions. These instructions initialize the low-level parameters of the client device, initialize the disk storage system, and load the bootstrap loader from disk to memory, which is then executed. This initial bootstrap can be changed if it is in electrically programmable memory.
2. The second stage boot loader then looks for the disk drive's operating system, loads the operating system into memory, and causes the operating system to execute. This loader must be at a specific location on the disk so that the initial loader can easily find it.

オペレーティング・システムは、必要なハードウェアとソフトウェアの初期化を実行する。それは、次いで、ディスク駆動装置から視聴オブジェクト・データベース・ソフトウェアをロードし、そしてアプリケーションの実行を開始する。時間ワーピング・ソフトウェアおよび視聴者対話処理ソフトウェアのような他のアプリケーション・ソフトウェアも、また、ロードされかつ開始される。このソフトウェアは、通常、オブジェクト・データベースまたは取込まれたテレビ番組からディスク上の別々の領域に置かれる。   The operating system performs the necessary hardware and software initialization. It then loads the viewing object database software from the disk drive and begins executing the application. Other application software, such as time warping software and viewer interaction software, is also loaded and started. This software is usually placed in a separate area on the disc from the object database or the captured television program.

理想的には、新規なソフトウェアは、単純に、それをディスク駆動装置上の適切な場所にコピーし、かつ装置を再起動することによってインストールされるであろう。この動作は、特に家庭環境で、危険に満ちている。ソフトウェアを複製している間に、パワーがダウンし、その結果ソフトウェア画像が誤ったものとなりかつ潜在的な動作上の問題をもたらすことになるかもしれない。この新規なソフトウェアは、適切な動作を妨げる欠陥を有するかもしれない。障害はディスク駆動装置で起こり、ソフトウェア画像を損なうかもしれない。   Ideally, the new software would be installed by simply copying it to the appropriate location on the disk drive and restarting the device. This behavior is full of danger, especially in the home environment. While duplicating software, power may be reduced, resulting in software images that are incorrect and may cause potential operational problems. This new software may have defects that prevent proper operation. Failures occur in the disk drive and may damage the software image.

本発明の方法は、ディスク駆動装置について説明されたが、当業者は、ここで記述される方法が、一般に、任意の持続的な記憶システムに適用することが出来ることを容易に認識するであろう。ディスク駆動装置および他の永続的な記憶システムは、典型的には、一連のセクターと呼ばれる固定サイズのブロックにフォーマットされる。「分割」とは、格納を論理的に独立した領域に分解するこのシーケンスの経時的な、重なり合わないサブセットである。   Although the method of the present invention has been described for a disk drive, those skilled in the art will readily recognize that the method described herein can generally be applied to any persistent storage system. Let's go. Disk drives and other persistent storage systems are typically formatted into fixed size blocks called a series of sectors. A “split” is a non-overlapping subset of this sequence over time that decomposes the storage into logically independent regions.

図8に示されるように、本発明は、「ブート・セクタ」804と呼ばれるディスク駆動装置803の固定位置に情報のセクターを維持する。ブート・セクタ804は、ドライブ803の分割を理解し、かつ第二段ブート・ローダ806を捜すために、初期ブート・ストラップ801に対し充分な情報を含む。   As shown in FIG. 8, the present invention maintains a sector of information in a fixed position on the disk drive 803 called “boot sector” 804. The boot sector 804 contains sufficient information for the initial boot strap 801 to understand the partitioning of the drive 803 and search for the second stage boot loader 806.

ディスクは、少なくとも、7つの区画に仕切られる。第二段階ブート・ローダ806のコピーの保持専用の2つの小さい区画、作動するシステム・カーネル807のコピーを保持する2つの区画、アプリケーション・ソフトウェア808のコピーを含む2つの区画、およびスクラッチメモリ809として使用される区画が、存在する。重複する区画に対しては、区画の一つが「第一」とマークされ、かつ第二のものが「バックアップ」とマークされて、指標が、ブート・セクタ805に記録される。   The disc is divided into at least seven sections. As two small partitions dedicated to holding a copy of the second stage boot loader 806, two partitions holding a copy of the working system kernel 807, two partitions containing a copy of the application software 808, and scratch memory 809 There is a partition used. For overlapping partitions, one of the partitions is marked “first” and the second is marked “backup” and an index is recorded in the boot sector 805.

当業者は、本願明細書においては冗長性に対し2つの区画しか記述されていないが、3重、4重またはそれ以上の冗長性を、区画をより多く重複させることによって達成することができることは、容易に認識するであろう。   Those skilled in the art have described only two partitions for redundancy herein, but that triple, quadruple or more redundancy can be achieved by more overlapping of partitions. Will be easily recognized.

図9aおよび9bを参照すると、ブート901で、初期ブート・ストラップ・コードは、ブート・セクタ902を読込み、区画テーブルを走査し、かつ第二段階ブート・ローダに対し「主要な」区画を捜す。それは、次いで、この番組をメモリ903へロードすることを試みる。もし、例えば、ディスク駆動装置の障害のために、それが失敗するならば904、ブート・ローダは「バックアップ」区画の番組をメモリ905へロードすることを試みる。何れかの試みが成功すると、ブート・ローダは、次いで、番組がロードされた区画の指標906とともに、新しくロードされた番組に制御を渡す。   Referring to FIGS. 9a and 9b, at boot 901, the initial bootstrap code reads the boot sector 902, scans the partition table, and looks for the “primary” partition for the second stage boot loader. It then tries to load this program into memory 903. If it fails 904, for example due to a disk drive failure, the boot loader attempts to load the “backup” partition program into memory 905. If any attempt is successful, the boot loader then passes control to the newly loaded program along with the indicator 906 of the partition in which the program was loaded.

同様に、第二段階ブート・ローダは、区画テーブルを読込み、かつ「主要な」作動システム・カーネル907を捜す。カーネルをロードすることができない908場合には、その代わりに、「バックアップ」カーネルがロードされる909。いずれにせよ、上から渡されたソース区画とともに910、制御は、ソース区画の指標とともに、オペレーティング・システムに渡される。   Similarly, the second stage boot loader reads the partition table and looks for the “primary” operating system kernel 907. If the kernel cannot be loaded 908, a “backup” kernel is loaded 909 instead. In any case, with the source partition passed from above 910, control is passed to the operating system along with an indication of the source partition.

最終的に、オペレーティング・システムは、アプリケーション・ソフトウェアを含む「主要な」区画を捜し、かつ初期アプリケーション911をロードすることを試みる。これが失敗すると912、オペレーティング・システムは、「バックアップ」区画を捜し、かつそれから初期アプリケーションをロードする913。ソース区画の指標が、以前のステップからのソース区画情報とともに、初期アプリケーションに渡される。この時点で、アプリケーション・ソフトウェアはクライアント・システムを引き継ぎ、かつ通常の視聴管理動作を開始する914。   Eventually, the operating system looks for the “major” partition containing the application software and attempts to load the initial application 911. If this fails 912, the operating system looks for a “backup” partition and then loads 913 the initial application. The source partition index is passed to the initial application along with the source partition information from the previous step. At this point, the application software takes over the client system and begins 914 normal viewing management operations.

動作のこのシーケンスは、ディスクのアクセス誤りからの保護に適切なレベルを提供する。これは、また、これらのレベルの何れかで新規なソフトウェアをインストールし、かつ確実に動作させることを可能にする方法を可能にする。   This sequence of operations provides an appropriate level of protection from disk access errors. This also allows a method that allows new software to be installed and operated reliably at any of these levels.

オブジェクト・データベースの「インストーラ」視聴オブジェクトは、ソフトウェアのインストールの試みの状態を記録するために使用される。それは、新規なソフトウェアをインストールする試みが進行中である915ことを示す指標を含む、上記各々の3つのレベルに対する分割の状態を記録する。この動作は、データベースの処理の性質から、信頼性が高い。   The “Installer” viewing object in the object database is used to record the status of software installation attempts. It records the split status for each of the three levels above, including an indicator that indicates that an attempt to install new software is in progress 915. This operation is highly reliable due to the nature of database processing.

図10を参照すると、3つのレベルの何れかで新規なソフトウェア像をインストールすることが、以下のように扱われる。すなわち、新規なソフトウェア像が、先ず、適切なバックアップ区画1001に複製され、かつ、ソフトウェア・インストールが進行中であることを示す指標が、データベース内に作られる1002。区画テーブルの主要およびバックアップ区画の指標が、次いで交換され1003、かつシステムが再起動される1004。最終的には、制御は、初期アプリケーションに渡されるであろう。   Referring to FIG. 10, installing a new software image at any of the three levels is handled as follows. That is, a new software image is first replicated to the appropriate backup partition 1001 and an indicator is created 1002 in the database that indicates that a software installation is in progress. The partition table primary and backup partition indicators are then exchanged 1003 and the system is restarted 1004. Eventually, control will be passed to the initial application.

再び図9bを参照すると、このアプリケーションの第1の作業は、インストーラ・オブジェクトを更新することである。各レベル921、922に対し、アプリケーションは、インストールが行なわれたか否かをチェックし916、917、そしてレベルが、基本区画の中にロード・オフされたか否かを検証する918。ロード・オフされた場合には、そのレベルでのインストールは成功していて、かつインストーラ・オブジェクトが、そのレベルに対して成功したことを示すために更新される919。ロードされなかった場合には、アプリケーションは、基本区画でそのレベルに対するバックアップ分割を複製し、かつそのレベルに対するインストーラ・オブジェクトの障害を示す920。区画を複製することは、レベルに対する既知の良好なソフトウェアのバックアップコピーが、いつでも利用可能に保持されることを保証する。   Referring again to FIG. 9b, the first task of this application is to update the installer object. For each level 921, 922, the application checks whether an installation has occurred, 916, 917, and verifies whether the level has been loaded off into the primary partition 918. If loaded off, the installation at that level is successful and the installer object is updated 919 to indicate that it was successful for that level. If not loaded, the application duplicates the backup split for that level in the primary partition, and 920 indicates a failure of the installer object for that level. Duplicating a partition ensures that a known good software backup copy for the level is kept available at all times.

本発明の好ましい実施例の場合、ソフトウェアの一番上のアプリケーション・レベルに対するインストールの最終化は、アプリケーション環境の全ての部分が首尾よくロードされかつ開始されるまで、遅延させることが出来る。これは、アプリケーション環境の全ての部分が新規なソフトウェアに永久にスイッチングする前に適切に作用することを保証する付加レベルを提供する。   In the preferred embodiment of the present invention, finalizing the installation for the top application level of the software can be delayed until all parts of the application environment have been successfully loaded and started. This provides an additional level that ensures that all parts of the application environment work properly before permanently switching to new software.

動作状況オブジェクトに適用される方法
動作状況オブジェクトは、クライアント・システムの使用法、性能、および動作に関する情報が記録される視聴オブジェクトのクラスである。中央管理サイトとの通信が確立されるときはいつでも、これらのオブジェクトは中央管理サイトによって収集される。
Methods Applied to Behavioral Status Objects A behavioral status object is a class of viewing objects in which information about client system usage, performance, and behavior is recorded. These objects are collected by the central administration site whenever communication with the central administration site is established.

以下の動作ステータス・インディケータは、後の収集のためにタイム・スタンプとともに記録される。
1. 遠隔制御装置のボタンを押す視聴者のアクションは、基本的には、記録される。各「ボタン押圧」は、現在の時刻とともに記録され、かつ現在の視聴者コンテクストのような他のいかなる前後関係の情報も記録される。中央管理サイトでのこのオブジェクトの後処理は、結果として、各アクションが行なわれるコンテクストを含む、視聴者アクションの完全なトレースとなる。
2. 番組の開始または終了の記録、または視聴者嗜好に基づいて記録する番組の選択、のような自動アクションは、記録される。加えて、取込まれた番組の削除も、記録される。中央管理サイトでのこのオブジェクトの後処理は、結果として、何時の時点においても永続的に格納されている番組を含む、クライアント・システムによってなされる番組取込みのアクションの完全なトレースになる。
3. 受信、インストール、ポスト・リブートの結果を含むソフトウェア・インストール・アクションは、記録される。
4. 電源の異常/再開、装置の内部温度プロフィール、永続的な格納アクセス・エラー、メモリ・パリティ・エラーおよび基本区画障害の、さまざまな種類のハードウェアの除外(但し、これらに限定されない)。
The following operational status indicators are recorded with a time stamp for later collection.
1. The viewer's action of pressing a button on the remote control device is basically recorded. Each “button press” is recorded with the current time and any other contextual information such as the current viewer context is also recorded. Post-processing of this object at the central administration site results in a complete trace of viewer actions, including the context in which each action is performed.
2. Automatic actions are recorded, such as recording the start or end of a program, or selecting a program to record based on viewer preferences. In addition, deletion of captured programs is also recorded. The post processing of this object at the central administration site results in a complete trace of the program capture actions performed by the client system, including programs that are permanently stored at any time.
3. Software installation actions, including results of reception, installation, and post reboot are recorded.
4. Exclusion of various types of hardware, including but not limited to power failure / resumption, device internal temperature profile, permanent storage access errors, memory parity errors and basic partition failures.

全てのアクションがタイム・スタンプとともに記録されるので、線形時間基準順位付けを使用して、クライアント・システムの動作を再構築することが可能である。これは、アクションおよび挙動を相関させるために、手動または自動方法をイベントの順序リストに作用させることを可能にする。例えば、もし、新規なソフトウェアによって再起動したすぐ後に予測された自動アクションが起こらないならば、新規なソフトウェアは不完全であったと推定することができる。   Since all actions are recorded with a time stamp, it is possible to reconstruct the operation of the client system using linear time base ranking. This allows manual or automatic methods to act on the ordered list of events to correlate actions and behaviors. For example, if the predicted automatic action does not occur immediately after restarting with the new software, it can be assumed that the new software was incomplete.

中央管理サイトによるテレビ視聴オブジェクトの処理システム
テレビ視聴オブジェクトのソース
クライアント・システムは、テレビ視聴オブジェクトの単一のソース、中央管理サイトを有する。中央管理サイト・オブジェクト・データベースは、テレビ視聴オブジェクトの多くのソースを有する。
1. 外部のソースから得られる番組案内情報は、「番組」、「表示」、「チャンネル」、「ネットワーク」および他の関連オブジェクトを示す一貫した番組案内オブジェクトを作成するために処理される。オブジェクトのこの一組は、依存性(「チャンネル」は、「ネットワーク」に依存し、「表示」は「番組」に依存する)および他の相互関係を有するであろう。オブジェクトの完全な一貫した組が準備ができると、それは、アトミック動作としてデータベースに加えられる。
2. 新規なアプリケーションまたは既存のソフトウェアの修正を含む新規なソフトウェアは、先ず、「ソフトウェア」視聴オブジェクトに実装される。上述したように、ソフトウェアは、関係するソフトウェア・オブジェクトの相互関係に反映されなければならない、動的にロードされたライブラリに依存するアプリケーションのような相互依存性を有することができる。他の例では、それぞれが異なるソフトウェア・オブジェクトを必要とする2つのタイプのクライアント・システムを使用してもよい。これらのソフトウェア・オブジェクトは、それらがターゲットとするシステムのタイプを示す属性を有しなければならない。一旦、オブジェクトの一貫した組が利用できるようになると、それは、アトミック動作としてデータベースに加えられる。
3. 各クライアント・システムは、それに埋め込まれた固有の、秘密鍵を有する。この秘密鍵にマッチしている公開鍵は、クライアント・タイプ、システムの格納の量などのようなこのクライアントについての他の興味深い情報と共に、「クライアント」管理オブジェクトにロードされる。これらのオブジェクトは、必要に応じて認証オブジェクトを生成するために使用される。
4. 集約演算番組案内オブジェクトも、同じように加えられる。この場合、しかしながら、集約演算オブジェクトは、データベースにすでに存在する基本番組案内オブジェクトを参照しなければならない。テキスト説明、スクリーン・ベースのアイコン、および他の情報の属性のような他のオブジェクトも、集約演算オブジェクトに付けられる。一旦集約演算に対する補助オブジェクトの一貫した組が利用できるようになると、それは、アトミック動作としてデータベースに加えられる。
5. クライアント・システムから収集されるデータ。
TV viewing object processing system by central administration site Television viewing object source The client system has a single source of television viewing objects, the central administration site. The central administration site object database has many sources of television viewing objects.
1. Program guide information obtained from external sources is processed to create a consistent program guide object that indicates "program", "display", "channel", "network" and other related objects. This set of objects will have dependencies ("channel" depends on "network" and "display" depends on "program") and other interrelationships. When a complete and consistent set of objects is ready, it is added to the database as an atomic action.
2. New software, including new applications or modifications to existing software, is first implemented in a “software” viewing object. As described above, software can have interdependencies such as applications that depend on dynamically loaded libraries that must be reflected in the interrelationships of the related software objects. In other examples, two types of client systems may be used, each requiring a different software object. These software objects must have an attribute that indicates the type of system they are targeting. Once a consistent set of objects is available, it is added to the database as an atomic operation.
3. Each client system has its own private key embedded in it. The public key that matches this private key is loaded into the “client” managed object, along with other interesting information about this client such as the client type, the amount of storage in the system, etc. These objects are used to generate authentication objects as needed.
4. Aggregated operation program guide objects are added in the same way. In this case, however, the aggregate operation object must refer to a basic program guide object that already exists in the database. Other objects such as text descriptions, screen-based icons, and other information attributes are also attached to the aggregate operation object. Once a consistent set of auxiliary objects for the aggregate operation is available, it is added to the database as an atomic operation.
5. Data collected from the client system.

視聴オブジェクトのソースはいかなる数でも存在し得、かつこの列挙法は、単に最も基本的な可能なソースを示すことは、明らかであろう。   It will be clear that there can be any number of sources of viewing objects, and this enumeration simply indicates the most basic possible source.

テレビ視聴オブジェクトの動作
中央管理テレビ視聴オブジェクト・データベースには、多数の動作が、可能である。以下の例は、実行することが出来る処理のタイプを示すが、可能性がある動作は、これらの例に限定されない。
1. さまざまな視聴オブジェクトを使用して、多くの興味深い統計解析作業を、実行することができる。
1.1. 多数のアップロードされた動作状況オブジェクトを調べることによって、ハードウェアの信頼性の傾向および故障モードの広範囲な分析を実行することが可能になる。例えば、内部温度を、クライアント装置の期待されるMTBF (Mean Time Between Failures)に関連させることが可能である。
1.2. 多数のアップロードされた視聴情報を調べることによって、クライアント装置のさまざまな母集団に関する人口統計学的または心理学的情報を導出することが可能となる。たとえば、最も見られるテレビ番組を、クライアント装置が既存の特定の郵便番号と相関させることも可能である。
1.3. 同様に、多数の視聴情報オブジェクトを調べることによって、既存の番組評価方法とは異なる、完全に自動化された方法で、特定の番組のための「評価」および「共有」値を、生成することも可能である。
1.4. 視聴オブジェクト・データベースに実行されるかもしれない統計解析作業の他の例が、多く存在する。これらの例は、本発明の適用性を制限するものではなく、実行されるかもしれない動作のスペクトルを具体例で例示する。
Operations of TV viewing objects A number of operations are possible in the centrally managed TV viewing object database. The following examples illustrate the types of processing that can be performed, but possible operations are not limited to these examples.
1. Many interesting statistical analysis tasks can be performed using various viewing objects.
1.1. By examining a large number of uploaded activity objects, it is possible to perform a comprehensive analysis of hardware reliability trends and failure modes. For example, the internal temperature can be related to the expected MTBF (Mean Time Between Failures) of the client device.
1.2. By examining a large number of uploaded viewing information, it is possible to derive demographic or psychological information about various populations of client devices. For example, the most watched television program can be correlated by a client device with a specific existing zip code.
1.3. Similarly, by examining a large number of viewing information objects, generating “rating” and “shared” values for a particular program in a completely automated manner that differs from existing program evaluation methods It is also possible.
1.4. There are many other examples of statistical analysis work that may be performed on a viewing object database. These examples do not limit the applicability of the present invention, but illustrate the spectrum of operations that may be performed.

2. 専門集約演算オブジェクトは、全ての利用できる視聴オブジェクトの一つ以上の属性に基づいて、自動的に生成することができる。
このような生成は、典型的には、先ず、各視聴オブジェクトからの番組の記述、俳優、監督等のような、興味がある情報を抽出し、かつ番組および属性の単純な表を構成することにより実行される。集約視聴オブジェクトは、次いで、一つ以上の属性を選択し、かつ選ばれたものが何らかの方法でマッチするそれらの番組を集約するために加えることにより生成される。
これらのオブジェクトは、この場合、(おそらく、地理的または他の情報に基づく)伝送に対して生成されるスライスに含まれる。つくられるかもしれないいくつかの集計の具体例は、以下の通りである。
2.1. 大都市の大リーグ・フットボール・ゲームのようなイベントに基づく集計。この場合、その都市内または周辺でクライアント装置によって視聴可能な全ての番組、および、プレーしているチームの名前、コーチ名、主なプレーヤの名前、球場の名前等に対して検索された番組の記述が、収集される。マッチング番組オブジェクトは、集約に加えられ、それは、次いで、その都市内または周辺でクライアント装置のみに伝送されるようスライスされる。
2.2. 多数の視聴者に共通して興味が持たれる人に基づく集計。例えば、翌週の放送が予約されている"John Wayne"の全ての映画について、集計が、構成されるかもしれない。
2.3. 視聴挙動に基づいて集計を、作成することができる。この場合、アップロードされた視聴オブジェクトは、視聴された番組のタイプ、視聴された実際の番組等のような、一般的な関心の要素に対して、走査される。たとえば、先週の全てのクライアント装置で視聴された番組の『トップ10のリスト』集計は、これらの番組の来週以降の表示を含むように、生成されるかもしれない。
2.4. 視聴者による明確な選択に基づく集計。番組の視聴の間、視聴者には、おそらく、4個の認識された属性(筋書き、作動、監督、映画撮影技術)の基に、現在の番組に「投票する」機会が、与えられるかもしれない。これは、後にアップロードされる視聴オブジェクトを生成する。これらの投票は、次いで、番組の全体の評価を決定するために走査され、それは、それらの閲覧に対して投票をした人々に伝送される。
2.5. 本発明の基本的な機能により、サービスオペレータが、閲覧および選択のためにクライアント装置のユーザに、関連した番組の予めソートされたおよび予め選択された群を提供することが可能になる方法の多くの他の具体例が、存在する。これらの具体例は、本発明の適用性を制限するものでは無く、実行されるかもしれない動作のスペクトルを具体例で例示するものである。
2. Specialized aggregate computing objects can be automatically generated based on one or more attributes of all available viewing objects.
Such generation typically involves first extracting information of interest, such as program descriptions, actors, directors, etc. from each viewing object, and constructing a simple table of programs and attributes. It is executed by. An aggregate viewing object is then generated by selecting one or more attributes and adding them to aggregate those programs that match in some way.
These objects are then included in the slices that are generated for transmission (perhaps based on geographic or other information). Some specific examples of aggregation that may be made are as follows.
2.1. Aggregation based on events such as big league football games in big cities. In this case, all programs that can be viewed by the client device in or around the city, and the programs searched for the names of teams playing, names of coaches, names of main players, names of stadiums, etc. A description is collected. The matching program object is added to the aggregation, which is then sliced to be transmitted only to client devices in or around the city.
2.2. Aggregation based on people who are interested in many viewers. For example, an aggregation may be configured for all the movies of "John Wayne" that are scheduled for the next weekly broadcast.
2.3. Aggregation can be created based on viewing behavior. In this case, the uploaded viewing object is scanned for elements of general interest such as the type of program viewed, the actual program viewed, etc. For example, a “Top 10 List” summary of programs viewed on all client devices last week may be generated to include a display of these programs from next week onwards.
2.4. Aggregation based on clear selection by viewers. During the viewing of the program, the viewer may be given an opportunity to “vote” for the current program, probably based on four recognized attributes (scenario, activation, director, cinematography). Absent. This creates a viewing object that is uploaded later. These votes are then scanned to determine the overall rating of the program, which is transmitted to those who voted for their viewing.
2.5. The basic functionality of the present invention allows a service operator to provide a user of a client device with a pre-sorted and pre-selected group of related programs for viewing and selection. There are many other specific examples. These examples are not intended to limit the applicability of the present invention, but merely illustrate the spectrum of operations that may be performed.

3. 手動による方法も、また、集約オブジェクトを生成するために使用することができ、プロセスは、しばしば「オーサリング」と呼ばれる。この場合、集約を作成する人は、集約への明確な追加のために番組を選択する。それは、次いで、上述した方法と同様に伝送される。   3. Manual methods can also be used to generate aggregate objects, and the process is often referred to as “authoring”. In this case, the person who creates the aggregate selects the program for explicit addition to the aggregate. It is then transmitted in the same way as described above.

明らかに、集計演算番組オブジェクトは、また、嗜好の式または他の情報の記録も可能にすることができる。これらの結果は、集約生成または統計解析等の次のラウンドの根拠を形成するために中央管理サイトにアップロードすることができる。   Obviously, the aggregate operation program object can also allow the recording of preference formulas or other information. These results can be uploaded to the central administration site to form the basis for the next round, such as aggregate generation or statistical analysis.

このフィードバック・ループは、サービス・プロバイダと、クライアント装置を使用している視聴者の世界との間の回路を閉じる。この固有のかつ新規な方法は、サービス・プロバイダが、信頼性が高くかつ一貫した動作を維持しつつ、個々の人々が興味を持つテレビ番組を視聴することを提示しかつ薦める、固有のかつ強制的な方法を提供することによって、新規な形のテレビ視聴を提供する。   This feedback loop closes the circuit between the service provider and the world of the viewer using the client device. This unique and novel way is a unique and mandatory way for service providers to present and encourage them to watch television programs of interest to individuals while maintaining reliable and consistent behavior. Provide a new way of viewing television by

クライアント・システムの遠隔制御
多くの家庭用民生用電子機器装置は、すでに大容量記憶域を含み、その容量はますます増大していく。これらの装置において利用できる格納の量は、すでに膨大であり、かつディスク駆動装置に対し「毎年2倍になる」と言う指針からみると、限界が見えない。コンパクトフラッシュ(登録商標)、SmartMedia(登録商標)、Zip、フラッシュ・メモリー・スティック、MicroDrive、PocketDriveおよびSuperDiskの記憶媒体の他方式も、また、容量が、毎年増大している。
Remote control of client systems Many consumer electronics devices already contain mass storage and its capacity is increasing. The amount of storage available in these devices is already enormous, and no limit is seen from the guideline that “doubles each year” for disk drives. Other methods of storage media such as CompactFlash, SmartMedia, Zip, Flash Memory Stick, MicroDrive, PocketDrive, and SuperDisk are also increasing in capacity each year.

この格納の明確な制御は、消費者によって、自分自身のTVショー、音楽、画像などを格納することである。アプリケーションおよび重要性において増大し続けるが、明確さが劣る使用は、この格納をサービス・プロバイダが制御することである。消費者が物理的に所有する格納をサービス・プロバイダが、制御する願望は、絶えず増大している。   The clear control of this storage is to store its own TV show, music, images, etc. by the consumer. A use that continues to grow in application and importance, but less clear, is that the service provider controls this storage. The desire for service providers to control consumer physically owned storage is constantly increasing.

図11を参照すると、本発明の分散/電話通信サーバ1101は、クライアント・システムに、例えば、ブロードキャスタ1102からの特定な番組を記録するような機能を実行する、またはサービス・プロバイダが、クライアント・システム1103、1104、1105に取込みをさせるコンテンツを取込むよう命令するオブジェクトをクライアント・システムに送信する能力を有する。クライアント・システムの保守および制御態様に加えてユーザが制御することができるあらゆる機能制御は、取込み要求と呼ばれる一組のオブジェクトに含まれる。   Referring to FIG. 11, the distributed / telephone server 1101 of the present invention performs functions such as recording a specific program from a broadcaster 1102 in a client system, or a service provider uses a client It has the ability to send objects to the client system that instruct the systems 1103, 1104, 1105 to capture content. In addition to the maintenance and control aspects of the client system, any functional control that the user can control is contained in a set of objects called capture requests.

クライアント・システム1103、1104、1105は、放送または通信リンクにより送信される任意のタイプのマルチメディアのマテリアル(TVショー、映画、広告、製品、およびサービス提供、音楽、無線、オーディオ、e-ブック等)を取込み、かつ記録する能力を有する。   Client systems 1103, 1104, 1105 can be any type of multimedia material (TV shows, movies, advertisements, products and service offerings, music, wireless, audio, e-books, etc.) transmitted over a broadcast or communication link ) Capability to capture and record.

取込み要求オブジェクトは、分散/電話通信サーバから、クライアント・システムの個人またはグループに送られる。以下のものは、取込み要求のパワーのいくつかの例である:
* 取込み要求は、本発明のサービス・プロバイダがクライアント・システム1103、1104、1105への記録を予約することを可能にする。これらの記録は、ビデオまたはデータ・コンテンツとすることが出来る。
* 取込み要求は、番組名およびオプションとして加盟系列局(例えば、NBC)を使用して、記録を特定する。加盟系列局を特定することは、記録を、特定された加盟系列局の局に制限する。もし番組が他の加盟系列局の局に示されるならば、それは記録されない。
* 取込み要求は、一つの記録を予約するまたはシリーズの表示の全ての記録を予約す
る能力を有する。
* 取込み要求は、結果的に得られる記録の属性を設定する能力を有する。
* 記録ディスク位置― もし、記録が、クライアント・システムのユーザのディスクスペースまたはディスク(格納・デバイス)のクライアント・システムの隠れたスペースを占有するならば 。
* 記録チューナの優先順位−これらの記録が、(多数の入力チューナを有するクライアント・システムでの)チューナの競合が原因で、他の番組が記録されないことになるか否か。
* 記録保持期間−他の記録がそれを削除すべき前に、記録が、クライアント・システムのディスク上に残留しなければならない提案された最短時間。
* 記録品質−低い、良好、高い、ベスト等の記録品質。
* 取込み要求は、番組シリーズのための期間パスを作成する能力を有する。期間パスは、特定されたチャンネルでの番組のあらゆる表示を記録する。
* 取込み要求は、失効日を特定することができる。この日付は、その後、記録が予約されていない日付を決定するために使用される。また、失効日の後、取込み要求は、クライアント・システムのディスクから除去される。
* 本発明のサービス・プロバイダは、取込み要求を修正する能力を有し、かつクライアント・システムは、新規なオプションで、以前の取込み要求からの記録の全ての予約を変更する。
* 本発明のサービス・プロバイダは、特定の取込み要求を受信するために特定のクライアント・システムを目標とする能力を有する。これは、本発明が、クライアント・システムの全てのサブセットに記録を予約することを可能にする。
The capture request object is sent from the distributed / telephone server to an individual or group of client systems. The following are some examples of capture request power:
* Capture requests allow the service provider of the present invention to reserve records for client systems 1103, 1104, 1105. These records can be video or data content.
* Capture request uses a program name and optionally a member affiliated station (eg, NBC) to identify the record. Identifying the affiliated affiliated station limits the recording to the identified affiliated affiliated station. If the program is shown to other affiliated stations, it is not recorded.
* A capture request has the ability to reserve a single record or to reserve all records in a series display.
* Capture requests have the ability to set attributes for the resulting record.
* Recording disk location-if the recording occupies the client system user's disk space or the disk (storage device) client system hidden space.
* Record Tuner Priority-whether these records will prevent other programs from being recorded due to tuner contention (on client systems with multiple input tuners).
* Record retention period-the suggested minimum time that a record must remain on the client system's disk before another record should delete it.
* Recording quality-Low, good, high, best recording quality.
* Capture request has the ability to create a period pass for the program series. The duration pass records every display of the program on the specified channel.
* Capture date can specify the expiration date. This date is then used to determine the date on which no recording is reserved. Also, after the expiration date, the capture request is removed from the client system disk.
* The service provider of the present invention has the ability to modify a capture request, and the client system changes all reservations of records from a previous capture request with a new option.
* The service provider of the present invention has the ability to target a specific client system to receive a specific capture request. This allows the present invention to reserve records for all subsets of the client system.

図12を参照すると、クライアント・システム上の格納の遠隔操作に対するメカニズムおよびプロセスは、機能的に3つの部分に分割することができる:
* フロント・エンド・サービス1201:この部分は、取込み要求が、オーサリング・ツールを使用してどこに作成されるか、どこでそれらがプレビューされるか、およびどのようにそれらがクライアント装置に分散されるかを示す。これは、また、クライアント側の格納がどのように割り当てられる(分割される)かについての決定を編集しかつ時間と共に変更させることができる。格納がどのように使用されるかのポリシーは、このフロントエンドで編集される。
* クライアント・システム1205:クライアント・システムは、サービス・プロバイダによって指示されるように格納の区画化を実施し、取込み要求ごとに媒体またはオブジェクトを取込み、並びに回転および失効メカニズムを実施することを行なう。クライアント自体は、どのように格納が使用されるかについて何のポリシーも保持しない。それは、単に、一般的なメカニズムを実施するのみで、かつポリシーはサービスによって与えられる。
* バックエンド・サービス1206:クライアント・システムは、サービスによる要求の成功または失敗、受信データ/媒体がどのように使用されるかを報告することができ、また、分散サービス1202、1203、1204例えば、画像、ビデオ、音楽共有サービス)を介して再配布されるデータ/媒体を送り返しさえすることができる。
Referring to FIG. 12, the mechanism and process for remote storage of operations on the client system can be functionally divided into three parts:
* Front End Service 1201: This part is where capture requests are created using the authoring tool, where they are previewed, and how they are distributed to client devices Indicates. This also allows the decision on how client-side storage is allocated (split) to be edited and changed over time. The policy on how storage is used is edited in this front end.
* Client system 1205: The client system performs storage partitioning as directed by the service provider, captures media or objects for each capture request, and implements rotation and revocation mechanisms. The client itself does not maintain any policy on how storage is used. It simply implements the general mechanism and the policy is given by the service.
* Backend service 1206: The client system can report the success or failure of the request by the service, how the received data / medium is used, and distributed services 1202, 1203, 1204, for example Data / media redistributed via (image, video, music sharing service) can even be sent back.

「プッシュ」のように見えかつ感じる透明な「プル」
クライアント・システム1205に対しては、これは、サービス・プロバイダが「プッシュした」コンテンツ(データ、媒体等)のように見える。実際には、サービス・プロバイダは、単に、クライアント装置にコンテンツをプルしまたはそれを取り込むことを指示するだけだった。これは、クライアント・システム1205のユーザに対し透明である。
A transparent "pull" that looks and feels like a "push"
To the client system 1205, this looks like content (data, media, etc.) “pushed” by the service provider. In practice, the service provider simply instructed the client device to pull or retrieve the content. This is transparent to the user of the client system 1205.

取込み要求の遠隔オーサリング
クライアント・システム1205のユーザは、クライアント・システム1205に格納されているコンテンツを、完全に、制御することができることを期待する。例えば、何を取り込むべきか、および、いつコンテンツを取り込むべきか、いつコンテンツを削除するべきか等を、クライアント・システム1205に告げる。取込み要求メカニズムは、遠隔の著者にこの同じ管理水準を与える。
Remote authoring of capture requests The user of the client system 1205 expects to have complete control over the content stored in the client system 1205. For example, it tells the client system 1205 what to retrieve, when to capture content, when to delete content, and so on. The capture request mechanism gives this same level of control to remote authors.

オーサリング・ツール1201は、著者が取込み要求オブジェクトを作成することを可能にする。このオブジェクトのためのスキーマは、特定するメタデータを規定する:
* データ/媒体が、どこに、(局/チャンネル、URLまたは利用できる媒体への他のいかなるポインタの形態で)取り込まれるべきか。
* データ/媒体が、いつ、(放送またはマルチキャスト・コンテンツに)取り込まれるべきか。
* 取込み要求の優先順位−この要求を実行するために、クライアント・システムが、他の活動を先取りすることが如何に重要であるか。
* コンテンツの優先順位−もし局部記憶装置が利用できないならば、他のどのコンテンツが、領域を作るために変位させなければならないか。
* コンテンツの提示−クライアント・システム/ユーザ-経験において、このコンテンツが、どのように提示されなければならないか(回転ポリシー、ディスプレイ・ポリシー、失効、1回/多数回の視聴、適格性など)。
* クライアント側の目標−この要求は、要求が有効であるために満たされなければならないいかなる数の基準も含むことができる。たとえば、この要求は、「これらの能力を有するクライアントにのみ実行する」または「すでにこのコンテンツを利用できるクライアントにのみ実行する」と言うかもしれない。これらの能力は、任意に精巧な質問メカニズムを使用して記述することができる。
The authoring tool 1201 allows authors to create capture request objects. The schema for this object specifies the metadata to identify:
* Where data / medium should be captured (in the form of a station / channel, URL or any other pointer to available media).
* When data / media should be captured (in broadcast or multicast content).
* Capture request priority-how important is the client system to preempt other activities to fulfill this request.
* Content priority-if local storage is not available, what other content must be displaced to make space.
* Content presentation-how this content should be presented in the client system / user-experience (rotation policy, display policy, revocation, single / multiple viewing, eligibility, etc.).
* Client-side goals-This request can include any number of criteria that must be met for the request to be valid. For example, this request may say “perform only for clients that have these capabilities” or “perform only for clients that already have this content available”. These abilities can be described using arbitrarily sophisticated query mechanisms.

空き領域割当ての遠隔制御
多くの場合、いくつかの格納が、ユーザの完全な制御の下に残され、かついくつかの格納が、サービス・プロバイダの完全な制御の下にあるように、クライアント・システムの格納を分割することが、望ましい。
Remote control of free space allocation In many cases, client storage so that some stores remain under the full control of the user and some stores are under the full control of the service provider. It is desirable to partition the storage of the system.

本発明は、サービス・プロバイダがこの分割をいつでも変えることを可能にする。これは、将来ポリシーの変更(例えば、ユーザにあるスペースを与えるため、またはあるスペースを取り除くため)または新規なメモリー設定(例えば、新規で、より大きい構成またはアップグレードが利用できるようになるとき)に対処するための変更を可能にする点で有用である。   The present invention allows service providers to change this partition at any time. This may be due to future policy changes (eg to give the user some space or remove some space) or new memory settings (eg when new, larger configurations or upgrades become available) Useful in that it allows changes to be addressed.

メカニズムは、著者が、サービス・プロバイダで、どの程度の格納が、格納および特定のクライアント構成のサイズに基づいて、割り当てられるべきかについて特定する「区画表」を作成することを可能にする。   The mechanism allows the author to create a “partition table” that identifies at the service provider how much storage should be allocated based on the size of the storage and specific client configuration.

どのクライアントがどの取込み要求を受信するかの制御
取込み要求がサービス1202、1203、1204を介して分散されるときに、分散サービス1203は、どのクライアント・システムが取込み要求を受信するかを制御する。
Controlling which clients receive which capture requests When capture requests are distributed through services 1202, 1203, 1204, distributed service 1203 controls which client systems receive the capture requests.

サービス・プロバイダ・サイド・ツールは、クライアント・サービス階層などによって、クライアント能力によって、シリアル番号によって特定を可能にする。各クライアント装置を一つ以上の取込み要求グループに入れるテーブルは、維持される。所定の取込み要求は、次いで、これらのグループの一つ以上に、割り当てることができる。   Service provider side tools allow identification by serial number, by client capabilities, such as by client service hierarchy. A table that places each client device into one or more capture request groups is maintained. A predetermined capture request can then be assigned to one or more of these groups.

ポリシーから切り離されたメカニズム
この全システムは、クライアント・システムからポリシーを保持するように設計されていることに留意すべきである。全てのポリシーは、著者によって決定されまたはサービス・プロバイダによって自動的に決定される。クライアント・システムは、単に、サービス・プロバイダからの指令または要求を実行するのみである。
Mechanism decoupled from policy It should be noted that the entire system is designed to retain the policy from the client system. All policies are determined by the author or automatically by the service provider. The client system simply executes commands or requests from the service provider.

遠隔操作される格納のアプリケーション
クライアント・システムの格納を遠隔制御することは、多くのアプリケーションで有用である:
* 販売促進
* モール
* シネプレックス
* 音楽
* 画像
* ビデオ・オン・デマンド
* ソフトウェア
* ゲーム
* 個人ニュース、天気、スポーツ等
Remotely controlled storage applications Remote control of client system storage is useful in many applications:
* Sales Promotion
* the mall
* Cineplex
* musics
* Image
* Video on demand
* Software
* Game
* Personal news, weather, sports, etc.

遠隔操作される各種格納
遠隔操作される格納は、多くの形態をとることができる:
* ディスク駆動装置対全ての記憶媒体:ハードディスクドライブが、遠隔操
作格納の明らかなアプリケーションであるが、他の媒体も等しく良好に動くであ
ろう。音楽サービスは、私的な音楽装置が、熱く同期するたびに、この音楽装置
に販促用の音楽を「プッシュ」することが出来る。
* 常にオン、に対する、時々オン、に対する、まれにオン:このメカニズムは、(例
えば、常時接続のインターネット接続によって)サービス・プロバイダに常に接
続されているシステムにも、(例えば、毎夜、電話線を介して接続される)周期
的にサービス・プロバイダに接続されるクライアント・システムにも、(例えば、
PDAまたはカメラが、ホット同期されたとき)まれにしか接続されないこれらのシ
ステムにも、等しく良好に適用される。
Remotely operated storage Remotely controlled storage can take many forms:
* Disk drive vs. all storage media: Hard disk drives are an obvious application for remote storage, but other media will work equally well. A music service can “push” promotional music to a music device whenever a private music device is hotly synchronized.
* Always on, sometimes on, infrequently on: This mechanism can also be applied to systems that are always connected to a service provider (eg, with an always-on Internet connection) (eg, phone calls every night). Client systems that are periodically connected to service providers (connected via wire) can also (for example,
It applies equally well to those systems that are rarely connected (when the PDA or camera is hot synchronized).

本発明は、本明細書では、好ましい実施形態を参照して記述されたが、当業者は、他のアプリケーションを、本発明の趣旨および範囲から逸脱することなく、本願明細書において記載されているものと置換することができることを、容易に認識するであろう。したがって、本発明は、請求項によってのみ限定されるべきである。   Although the present invention has been described herein with reference to a preferred embodiment, those skilled in the art will described other applications herein without departing from the spirit and scope of the present invention. It will be readily appreciated that it can be substituted for. Accordingly, the invention should be limited only by the claims.

本発明の分散テレビ視聴管理システムの好ましい実施例のブロック略図である。1 is a block schematic diagram of a preferred embodiment of a distributed television viewing management system of the present invention. 本発明による、番組のアクセスに対する、コンピュータの格納の視聴オブジェクトの構造のブロック略図である。2 is a block schematic diagram of the structure of a viewing object stored in a computer for program access according to the present invention. 視聴オブジェクトのためのスキーマが、本発明によって、番組のアクセスに対し、コンピュータの格納においてどのように構成されるかを示すブロック略図である。Fig. 4 is a schematic block diagram illustrating how a schema for a viewing object is configured in computer storage for program access according to the present invention. 図4は、本発明の番組に関する情報を記述する視聴オブジェクトの間の関係の一例のグラフを示すブロック略図である。FIG. 4 is a block schematic diagram illustrating an example graph of relationships between viewing objects describing information relating to the program of the present invention. 図5は、本発明により興味がある番組を決定するために視聴者嗜好を処理するときに、生成される関係のグラフの一例を示すブロック略図である。FIG. 5 is a block schematic diagram illustrating an example of a relationship graph generated when processing viewer preferences to determine programs of interest according to the present invention. 図6は、本発明の記録を作るための入力および格納空間の予約を示すブロック略図である。FIG. 6 is a block schematic diagram showing the input and storage space reservations for creating the record of the present invention. 本発明により、図6において表されるメカニズムを使用して記録を予約するためにとられるステップを示すフローチャートである。7 is a flowchart illustrating steps taken to reserve a recording using the mechanism represented in FIG. 6 according to the present invention. 本発明のブート・ストラップ・システム構成の本発明の好ましい実施例を示すブロック略図である。1 is a block diagram illustrating a preferred embodiment of the present invention in a boot strap system configuration of the present invention. 本発明のブート・ストラップコンポーネントの決定フローチャートのブロック略図である。4 is a block schematic diagram of a bootstrap component determination flowchart of the present invention. 本発明のブート・ストラップ・コンポーネントの決定フローチャートのブロック略図である。4 is a block schematic diagram of a bootstrap component determination flowchart of the present invention. 本発明のソフトウェア・インストール手順のための決定フローチャートのブロック略図である。4 is a block schematic diagram of a decision flowchart for the software installation procedure of the present invention. 本発明のサーバからのリモートコマンドに基づいて放送信号からのコンテンツを記録する複数のクライアント・システムに内容情報を分散させる本発明の好ましい実施例のブロック略図である。FIG. 6 is a block schematic diagram of a preferred embodiment of the present invention for distributing content information to multiple client systems that record content from broadcast signals based on remote commands from a server of the present invention. 本発明のクライアント・システムの格納および記録動作を制御するためのオーサリングおよび分散システムを示すブロック略図である。2 is a block schematic diagram illustrating an authoring and distributed system for controlling the storage and recording operations of the client system of the present invention.

符号の説明Explanation of symbols

101 中央管理サイト
102 クライアント・コンピューティング・システム
103 スライシング
104 送信
105 収集
106 複製
107 分析
108 テレビ放送
109 ケーブルモデム
110 データ
111 電話通信サーバ
200 属性
201 タイプ
202 値
203 オブジェクトID
204 参照カウント
300 属性
301 各属性タイプ
302 タイプ
303 属性
401 John Ford
402 byactor
403 bydirector
404 オブジェクト
406 オブジェクト
407 テレビ「ネットワーク」オブジェクト
500 インクリメンタル
501 嗜好オブジェクト
502 集約オブジェクト
503 嗜好
504 テーブル
601 Space Schedule
602 Input Schedule
603 番組視聴嗜好
604 番組案内オブジェクト
800 記憶空間
801 時間
802 初期ブート・ストラップ
803 ディスク駆動装置
804 ブート・セクタ
806 ブート・ローダ
807 システム・カーネル
808 アプリケーション・ソフトウェア
809 スクラッチメモリ
1101 分散/電話通信サーバ
1102 ブロードキャスタ
1103、1104、1105 クライアント・システム
1201 フロント・エンド・サービス
1202、1203、1204 分散型サービス
1205 クライアント・システム
1206 バックエンド・サービス
101 Central administration site
102 Client computing system
103 Slicing
104 Send
105 collection
106 Duplication
107 analysis
108 TV broadcasting
109 cable modem
110 data
111 Telephone communication server
200 attributes
201 type
202 value
203 Object ID
204 Reference count
300 attributes
301 Each attribute type
302 type
303 attributes
401 John Ford
402 byactor
403 bydirector
404 object
406 objects
407 TV "Network" Object
500 Incremental
501 preference object
502 aggregate object
503 preferences
504 tables
601 Space Schedule
602 Input Schedule
603 Program viewing preferences
604 Program guide object
800 storage space
801 hours
802 Initial bootstrap
803 disk drive
804 Boot sector
806 boot loader
807 system kernel
808 application software
809 scratch memory
1101 Distributed / telephone communication server
1102 Broadcaster
1103, 1104, 1105 client systems
1201 Front-end service
1202, 1203, 1204 Decentralized service
1205 client system
1206 Backend service

Claims (32)

サーバ上の取込み要求を編集するステップと、
当該サーバから、複数のクライアント・システム内の一クライアント・システムに、当該取込み要求を送信するステップであって、
当該取込み要求が、クライアント・システムにより受信され、
当該取込み要求が、サーバが発する要求であって、テレビ放送信号から特定コンテンツを記録するよう、またはネットワークを介してソースから特定コンテンツを記録するよう、当該クライアント・システムに命令する、ステップと、
当該クライアント・システム上の当該取込み要求をモニタし、かつ当該クライアントシステムの複数の入力チューナの内の一入力チューナーを当該テレビ放送信号に同調させ、かつ当該特定コンテンツをデジタル形態でローカル格納デバイスに記録する、またはネットワークを介してソースから特定コンテンツをデジタル形態で前記ローカル格納デバイスに記録する、ステップと、
当該クライアント・システムが、当該取込み要求による記録、ユーザがローカル番組ガイドを使用して発した要求による記録を、自発的に予約する、ステップと、
少なくとも2個の入力ソースからコンテンツを同時に前記ローカル格納デバイスに記録する、ステップとを、
備えるクライアント・システムの格納および動作を遠隔制御するプロセス。
Editing the capture request on the server;
Sending the capture request from the server to a client system in a plurality of client systems,
The capture request is received by the client system;
The capture request is a request issued by a server, instructing the client system to record specific content from a television broadcast signal or to record specific content from a source via a network; and
Monitor the capture request on the client system, tune one of the input tuners of the client system to the TV broadcast signal, and record the specific content in digital form on a local storage device Recording specific content from a source in a digital form on the local storage device over a network;
The client system, records and by the capture request and a recording by a request generated by a user using the local program guide, spontaneously reservation, comprising the steps,
Simultaneously recording content from at least two input sources to the local storage device;
A process that remotely controls the storage and operation of the client system that it comprises.
当該取込み要求が、特定コンテンツの当該記録を予約するために、時間とチャンネルを当該クライアント・システムに命令する、請求項1のプロセス。  The process of claim 1, wherein the capture request directs the client system for time and channel to reserve the recording of specific content. 当該特定コンテンツが、ビデオまたはデータ・コンテンツである、請求項1のプロセス。  The process of claim 1, wherein the specific content is video or data content. 当該取込み要求が、前記番組の名前およびオプションとして系列局の名前を使用して、当該特定コンテンツを特定する、請求項1のプロセス。  The process of claim 1, wherein the capture request identifies the specific content using the name of the program and optionally the name of the affiliate. 当該取込み要求が、1回の記録を予約するか、シリーズの全ての回の記録を予約する、請求項1のプロセス。  The process of claim 1, wherein the capture request reserves a record for one time or reserves a record for all times of a series. 当該取込み要求が、当該記録される特定コンテンツの属性を設定する、請求項1のプロセス。  The process of claim 1, wherein the capture request sets an attribute of the specific content to be recorded. 当該取込み要求が、当該クライアント・システムの格納デバイスにおける当該記録される特定コンテンツの位置を設定し、当該位置が、ユーザの格納スペースかシステムの格納スペースかの何れかである、請求項1のプロセス。  The process of claim 1, wherein the capture request sets a location of the recorded specific content in a storage device of the client system, and the location is either a user storage space or a system storage space. . 当該クライアント・システムが、多数の入力チューナを有するときに、当該取込み要求が、記録用チューナの優先順位を設定する、請求項1のプロセス。  The process of claim 1, wherein when the client system has multiple input tuners, the capture request sets a priority for the recording tuner. 当該取込み要求が、記録が前記クライアント・システムの格納デバイスに残存すべき提案される最短時間を特定する、請求項1のプロセス。  The process of claim 1, wherein the capture request specifies a suggested minimum time that a record should remain in the storage device of the client system. 当該取込み要求が、記録の記録品質設定を特定する、請求項1のプロセス。  The process of claim 1, wherein the capture request specifies a recording quality setting for the recording. 当該取込み要求が、当該クライアント・システムに、番組のシリーズに対しシーゾン・パスを作成するよう命令し、かつシーゾン・パスが、特定チャンネルの番組の表示を毎回記録する、請求項1のプロセス。  The process of claim 1, wherein the capture request instructs the client system to create a season pass for a series of programs, and the season pass records a display of a particular channel program each time. 当該取込み要求が、それ自体の期間満了日を特定する、請求項1のプロセス。  The process of claim 1, wherein the capture request identifies its own expiration date. 当該サーバが、当該クライアント・システムが、以前に受信した取込み要求を修正する、請求項1のプロセス。  The process of claim 1, wherein the server modifies a capture request previously received by the client system. 当該サーバが、特別の取込み要求を受信するために、特定クライアント・システムをターゲットにする、請求項1のプロセス。  The process of claim 1, wherein the server targets a particular client system to receive a special capture request. 当該取込み要求が、当該クライアント・システムから、当該クライアント・システムに接続されているデバイスに転送されるべきコンテンツを、特定する、請求項1のプロセス。  The process of claim 1, wherein the capture request identifies content to be transferred from the client system to a device connected to the client system. サーバ上の動作要求を編集するステップと、
当該サーバから複数のクライアント・システム内の一クライアント・システムに当該動作要求を送信するステップであって、
当該動作要求が、クライアント・システムにより受信され、
当該クライアント・システムの格納デバイスにユーザ・スペース領域とシステム・スペース領域をアロケートするよう、当該クライアント・システムに命令する区画マップを、当該動作要求が含む、ステップと、
当該区画マップで特定されるように当該ローカル格納デバイスを区画化するために、当該クライアント・システムに格納アロケーション手段を設けるステップとを、
備えるクライアント・システムの格納アロケーションを遠隔制御するプロセス。
Editing the action request on the server;
Transmitting the operation request from the server to a client system in a plurality of client systems,
The operation request is received by the client system;
The operation request includes a partition map that instructs the client system to allocate a user space area and a system space area to a storage device of the client system;
Providing storage allocation means on the client system to partition the local storage device as specified in the partition map;
The process of remotely controlling the storage allocation of a client system comprising
サーバ上の取込み要求を編集するモジュールと、
当該サーバから、複数のクライアント・システム内の一クライアント・システムに、当該取込み要求を送信するモジュールであって、
当該取込み要求が、クライアント・システムにより受信され、
当該取込み要求が、サーバが発する要求であって、テレビ放送信号から特定コンテンツを記録するよう、またはネットワークを介してソースから特定コンテンツを記録するよう、当該クライアント・システムに命令する、モジュールと、
当該クライアント・システム上の当該取込み要求をモニタし、かつ当該クライアント・システムの複数の入力チューナの内の一入力チューナーを当該テレビ放送信号に同調させ、かつ当該特定コンテンツをデジタル形態でローカル格納デバイスに記録し、またはネットワークを介してソースから特定コンテンツをデジタル形態で前記ローカル格納デバイスに記録する、当該クライアント・システム上の記録手段と、
当該クライアント・システムが、当該取込み要求による記録、ユーザがローカル番組ガイドを使用して発した要求による記録自発的に予約する、予約手段とを、
備え、
前記記録手段が、少なくとも2個の入力ソースからコンテンツを同時に前記ローカル格納デバイスに記録する、
クライアント・システムの格納および動作を遠隔制御する装置。
A module to edit capture requests on the server;
A module for transmitting the capture request from the server to a client system in a plurality of client systems,
The capture request is received by the client system;
A module for instructing the client system to record the specific content from a television broadcast signal or to record the specific content from a source via a network;
Monitor the capture request on the client system, tune one of the input tuners of the client system to the television broadcast signal, and store the specific content in local form on the local storage device Recording means on the client system for recording or recording specific content from a source in digital form on the local storage device via a network;
The client system, records and by the capture request, the user and a recording by request issued using the local program guide, spontaneously reservation, and reservation means,
Prepared,
The recording means records content from at least two input sources simultaneously to the local storage device;
A device that remotely controls the storage and operation of client systems.
当該取込み要求が、特定コンテンツの当該記録を予約するために、時間とチャンネルを当該クライアント・システムに命令する、請求項17のプロセス。  18. The process of claim 17, wherein the capture request instructs the client system for time and channel to reserve the recording of specific content. 当該特定コンテンツが、ビデオまたはデータ・コンテンツである、請求項17のプロセス。  The process of claim 17, wherein the specific content is video or data content. 当該取込み要求が、前記番組の名前およびオプションとして系列局の名前を使用して、当該特定コンテンツを特定する、請求項17のプロセス。  18. The process of claim 17, wherein the capture request identifies the specific content using the name of the program and optionally the name of the affiliate. 当該取込み要求が、1回の記録を予約するか、シリーズの全ての回の記録を予約する、請求項17のプロセス。  18. The process of claim 17, wherein the capture request reserves one record or reserves all series records. 当該取込み要求が、当該記録される特定コンテンツの属性を設定する、請求項17のプロセス。  The process of claim 17, wherein the capture request sets an attribute of the particular content to be recorded. 当該取込み要求が、当該クライアント・システムの格納デバイスにおける当該記録される特定コンテンツの位置を設定し、当該位置が、ユーザの格納スぺ−スかシステムの格納スペースかの何れかである、請求項22のプロセス。  The capture request sets a location of the particular content to be recorded in a storage device of the client system, and the location is either a user storage space or a system storage space. 22 processes. 当該クライアント・システムが、多数の入力チューナを有するときに、当該取込み要求が、記録用チューナの優先順位を設定する、請求項17のプロセス。  18. The process of claim 17, wherein when the client system has multiple input tuners, the capture request sets a priority for the recording tuner. 当該取込み要求が、記録が前記クライアント・システムの格納デバイスに残存すべき提案される最短時間を特定する、請求項22のプロセス。  23. The process of claim 22, wherein the capture request specifies a suggested minimum time that a record should remain on the client system storage device. 当該取込み要求が、記録の記録品質設定を特定する、請求項22のプロセス。  23. The process of claim 22, wherein the capture request specifies a record quality setting for the record. 当該取込み要求が、当該クライアント・システムに、番組のシリーズに対しシーゾン・パスを作成するよう命令し、かつシーゾン・パスが、特定チャンネルの番組の表示を毎回記録する、請求項17のプロセス。  18. The process of claim 17, wherein the capture request instructs the client system to create a season pass for a series of programs, and the season pass records a display of a particular channel program each time. 当該取込み要求が、それ自体の期間満了日を特定する、請求項17のプロセス。  The process of claim 17, wherein the capture request identifies its own expiration date. 当該サーバが、当該クライアントが以前に受信した取込み要求を修正する、請求項17のプロセス。  The process of claim 17, wherein the server modifies a capture request previously received by the client. 当該サーバが、特別の取込み要求を受信するために、特定クライアント・システムをターゲットにする、請求項17のプロセス。  The process of claim 17, wherein the server targets a particular client system to receive a special capture request. 当該取込み要求が、当該クライアント・システムから、当該クライアント・システムに接続されているデバイスに転送されるべきコンテンツを、特定する、請求項17のプロセス。  The process of claim 17, wherein the capture request identifies content to be transferred from the client system to a device connected to the client system. サーバ上の動作要求を編集するモジュールと、
当該サーバが、複数のクライアント・システム内の一クライアント・システムに、当該動作要求を送信するモジュールであって、
当該動作要求が、クライアント・システムにより受信され、
当該動作要求が、当該クライアント・システムの格納デバイスにユーザのスペースとシステムのスペースとをアロケートするよう、当該クライアント・システムに命令する、区画マップを含む、モジュールと、
当該区画マップで特定されるように当該ローカル格納デバイスを区画化する、当該クライアント・システム上の格納アロケーション手段とを、
備えるクライアント・システムの格納および動作を遠隔制御する装置。
A module for editing operation requests on the server;
The server is a module that transmits the operation request to one client system in a plurality of client systems,
The operation request is received by the client system;
A module that includes a partition map that instructs the client system to allocate user space and system space to a storage device of the client system;
Storage allocation means on the client system that partitions the local storage device as specified in the partition map;
A device for remotely controlling the storage and operation of a client system.
JP2006500884A 2003-01-08 2004-01-08 System for remote control of client recording and storage operations Expired - Lifetime JP4465348B2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/339,700 US7543325B2 (en) 1999-03-30 2003-01-08 System for remotely controlling client recording and storage behavior
PCT/US2004/000561 WO2004063891A2 (en) 2003-01-08 2004-01-08 A system for remotely controlling client recording and storage behavior

Publications (2)

Publication Number Publication Date
JP2006516078A JP2006516078A (en) 2006-06-15
JP4465348B2 true JP4465348B2 (en) 2010-05-19

Family

ID=32711150

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006500884A Expired - Lifetime JP4465348B2 (en) 2003-01-08 2004-01-08 System for remote control of client recording and storage operations

Country Status (5)

Country Link
US (8) US7543325B2 (en)
EP (1) EP1582057B1 (en)
JP (1) JP4465348B2 (en)
CN (2) CN100559851C (en)
WO (1) WO2004063891A2 (en)

Families Citing this family (141)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7493553B1 (en) * 1998-12-29 2009-02-17 Intel Corporation Structured web advertising
US7543325B2 (en) 1999-03-30 2009-06-02 Tivo Inc. System for remotely controlling client recording and storage behavior
US20030182567A1 (en) 1999-10-20 2003-09-25 Tivo Inc. Client-side multimedia content targeting system
US7540021B2 (en) * 2000-04-24 2009-05-26 Justin Page System and methods for an identity theft protection bot
US7085845B2 (en) * 2001-05-09 2006-08-01 Gene Fein Method, apparatus and computer program product for identifying a playing media file and tracking associated user preferences
US20030079015A1 (en) * 2001-05-09 2003-04-24 Dotclick Corporation Method, apparatus and program product providing business processes using media identification and tracking of associated user preferences
US7565678B2 (en) * 2001-12-28 2009-07-21 At&T Intellectual Property, I, L.P. Methods and devices for discouraging unauthorized modifications to set top boxes and to gateways
US9711153B2 (en) 2002-09-27 2017-07-18 The Nielsen Company (Us), Llc Activating functions in processing devices using encoded audio and detecting audio signatures
US20120203363A1 (en) * 2002-09-27 2012-08-09 Arbitron, Inc. Apparatus, system and method for activating functions in processing devices using encoded audio and audio signatures
US8959016B2 (en) 2002-09-27 2015-02-17 The Nielsen Company (Us), Llc Activating functions in processing devices using start codes embedded in audio
US7222071B2 (en) * 2002-09-27 2007-05-22 Arbitron Inc. Audio data receipt/exposure measurement with code monitoring and signature extraction
KR100585537B1 (en) 2003-12-09 2006-05-30 엘지전자 주식회사 Image transmission system and control method thereof
US8677117B2 (en) * 2003-12-31 2014-03-18 International Business Machines Corporation Remote management of boot application
US8965936B2 (en) 2004-02-26 2015-02-24 Comcast Cable Holdings, Llc Method and apparatus for allocating client resources to multiple applications
US8782711B2 (en) * 2004-03-31 2014-07-15 The Directv Group, Inc. Satellite television network and near real-time method for downloading and verifying a subscriber remote record request
US7610586B2 (en) * 2004-04-30 2009-10-27 Tvworks, Llc Resource manager for clients in an information distribution system
US20060085824A1 (en) * 2004-10-14 2006-04-20 Timo Bruck Method and appartus for management of video on demand client device
US20060230123A1 (en) * 2005-04-07 2006-10-12 Simmons Bonnie J Online Shopping and Item Selection System and Method
US8074248B2 (en) 2005-07-26 2011-12-06 Activevideo Networks, Inc. System and method for providing video content associated with a source image to a television in a communication network
US7991850B2 (en) * 2005-07-28 2011-08-02 Advanced Micro Devices, Inc. Resilient system partition for personal internet communicator
US20070083721A1 (en) * 2005-09-28 2007-04-12 Siemens Aktiengesellschaft Memory management for a data processing system
US20070094071A1 (en) * 2005-10-21 2007-04-26 Microsoft Corporation Pushing content to browsers
GB2435359A (en) * 2005-11-08 2007-08-22 Zootech Ltd Authoring audiovisual content by using the priority information stored with the content objects
US20070113166A1 (en) * 2005-11-08 2007-05-17 Zootech Limited Method of authoring audiovisual content, audiovisual product, method of producing audiovisual product and apparatus
CN1992583A (en) * 2005-12-29 2007-07-04 朗迅科技公司 Method for reconstructing lost packet with binary even-odd check
US7797740B2 (en) * 2006-01-06 2010-09-14 Nokia Corporation System and method for managing captured content
JP2007213772A (en) * 2006-01-11 2007-08-23 Sony Corp Record transfer program, record transfer apparatus, and record transfer method
JP4315161B2 (en) * 2006-02-16 2009-08-19 村田機械株式会社 Image reader with time authentication request function
US20070199041A1 (en) * 2006-02-23 2007-08-23 Sbc Knowledge Ventures, Lp Video systems and methods of using the same
US8069461B2 (en) 2006-03-30 2011-11-29 Verizon Services Corp. On-screen program guide with interactive programming recommendations
US20070300271A1 (en) * 2006-06-23 2007-12-27 Geoffrey Benjamin Allen Dynamic triggering of media signal capture
US7720251B2 (en) * 2006-06-23 2010-05-18 Echo 360, Inc. Embedded appliance for multimedia capture
US20080013460A1 (en) * 2006-07-17 2008-01-17 Geoffrey Benjamin Allen Coordinated upload of content from multimedia capture devices based on a transmission rule
US20080016193A1 (en) * 2006-07-17 2008-01-17 Geoffrey Benjamin Allen Coordinated upload of content from distributed multimedia capture devices
WO2008011380A2 (en) * 2006-07-17 2008-01-24 Anystream, Inc. Coordinated upload of content from distributed multimedia capture devices
US8898073B2 (en) * 2006-07-29 2014-11-25 Goldspot Media, Inc. Advertisement insertion during application launch in handheld, mobile display devices
US8522269B2 (en) 2006-08-22 2013-08-27 Goldspot Media, Inc. Method and apparatus for alternate content scheduling on mobile devices
US8677395B2 (en) 2006-07-29 2014-03-18 Goldspot Media, Inc. Method and apparatus for operating a micro-splicer to insert alternate content while viewing multimedia content on a handheld device
US8418217B2 (en) 2006-09-06 2013-04-09 Verizon Patent And Licensing Inc. Systems and methods for accessing media content
US8566874B2 (en) 2006-10-03 2013-10-22 Verizon Patent And Licensing Inc. Control tools for media content access systems and methods
US8464295B2 (en) 2006-10-03 2013-06-11 Verizon Patent And Licensing Inc. Interactive search graphical user interface systems and methods
US20080103798A1 (en) * 2006-10-25 2008-05-01 Domenikos Steven D Identity Protection
US20080103800A1 (en) * 2006-10-25 2008-05-01 Domenikos Steven D Identity Protection
US8359278B2 (en) * 2006-10-25 2013-01-22 IndentityTruth, Inc. Identity protection
US8510780B2 (en) 2006-12-21 2013-08-13 Verizon Patent And Licensing Inc. Program guide navigation tools for media content access systems and methods
US8015581B2 (en) 2007-01-05 2011-09-06 Verizon Patent And Licensing Inc. Resource data configuration for media content access systems and methods
US9826197B2 (en) 2007-01-12 2017-11-21 Activevideo Networks, Inc. Providing television broadcasts over a managed network and interactive content over an unmanaged network to a client device
WO2008088772A2 (en) 2007-01-12 2008-07-24 Ictv, Inc. Mpeg objects and systems and methods for using mpeg objects
CN101022538B (en) * 2007-03-02 2010-09-29 华为技术有限公司 On-demand service implementation method and related equipment and system
US8103965B2 (en) 2007-06-28 2012-01-24 Verizon Patent And Licensing Inc. Media content recording and healing statuses
US9693106B2 (en) 2007-07-26 2017-06-27 The Directv Group, Inc. Method and system for preordering content in a user device associated with a content processing system
US20090070408A1 (en) * 2007-09-07 2009-03-12 At&T Knowledge Ventures, L.P. Apparatus and method for managing delivery of media content
US8160426B2 (en) * 2007-10-12 2012-04-17 Rovi Guides, Inc. Storage management of a recording device in a multi-user system
JP5142673B2 (en) * 2007-11-09 2013-02-13 株式会社東芝 Recording apparatus and recording reservation processing method
US8051447B2 (en) 2007-12-19 2011-11-01 Verizon Patent And Licensing Inc. Condensed program guide for media content access systems and methods
US8037499B2 (en) * 2007-12-27 2011-10-11 At&T Intellectual Property I, L.P. Systems, methods, and computer products for recording of repeated programs
WO2009093457A2 (en) * 2008-01-24 2009-07-30 Panasonic Corporation Multimedia data transmitting apparatus and multimedia data management method
US8001236B2 (en) * 2008-03-13 2011-08-16 Sharp Laboratories Of America, Inc. Methods and systems for content-consumption device monitoring and control
JP5150341B2 (en) * 2008-04-10 2013-02-20 株式会社東芝 Data creation apparatus and method
US8719820B2 (en) * 2008-12-17 2014-05-06 Safe Outlook Corporation Operating system shutdown reversal and remote web monitoring
US20100293090A1 (en) * 2009-05-14 2010-11-18 Domenikos Steven D Systems, methods, and apparatus for determining fraud probability scores and identity health scores
US9307205B2 (en) * 2009-06-18 2016-04-05 Centurylink Intellectual Property Llc System and method for utilizing a secured service provider memory
US8782309B2 (en) 2009-12-04 2014-07-15 Core Wireless Licensing, S.a.r.l. Method and apparatus for suggesting data for deletion
US20110138299A1 (en) * 2009-12-04 2011-06-09 Nokia Corporation Method and apparatus for suggesting data for transfer
US8817094B1 (en) 2010-02-25 2014-08-26 Target Brands, Inc. Video storage optimization
US9652802B1 (en) 2010-03-24 2017-05-16 Consumerinfo.Com, Inc. Indirect monitoring and reporting of a user's credit data
CA2740111C (en) 2010-05-10 2019-01-15 Encore Interactive Inc. Realtime broadcast stream and control data conversion system and method
US9883242B1 (en) * 2010-05-19 2018-01-30 The Directv Group, Inc. Method and system for controlling a storage location of content in a user device
WO2011146237A2 (en) 2010-05-19 2011-11-24 The Directv Group, Inc. Method and system of building a wanted list queue for a user in a content distribution system
US9456247B1 (en) 2010-05-19 2016-09-27 The Directv Group, Inc. Method and system for changing communication parameters of a content delivery system based on feedback from user devices
US8898719B2 (en) * 2010-05-20 2014-11-25 Comcast Cable Communications, Llc Communication for one way devices
WO2011149558A2 (en) 2010-05-28 2011-12-01 Abelow Daniel H Reality alternate
US9191692B2 (en) 2010-06-02 2015-11-17 Microsoft Technology Licensing, Llc Aggregated tuner scheduling
US8533758B2 (en) * 2010-06-21 2013-09-10 Verizon Patent And Licensing Inc. Retrieving service provider information and channel map via internet protocol connections
US8307396B2 (en) 2010-06-28 2012-11-06 At&T Intellectual Property I, L.P. Systems and methods for producing processed media content
US9832423B2 (en) * 2010-06-30 2017-11-28 International Business Machines Corporation Displaying concurrently presented versions in web conferences
JP4875193B1 (en) * 2010-07-28 2012-02-15 株式会社東芝 Broadcast recording apparatus and broadcast recording method
US8719380B2 (en) 2010-09-14 2014-05-06 Fujitsu Limited Method and system for facilitating remote downloading
US9344483B2 (en) 2010-10-13 2016-05-17 Fujitsu Limited System and method for facilitating remote downloading
KR20130138263A (en) * 2010-10-14 2013-12-18 액티브비디오 네트웍스, 인코포레이티드 Streaming digital video between video devices using a cable television system
US8301770B2 (en) 2010-10-21 2012-10-30 Right Brain Interface Nv Method and apparatus for distributed upload of content
KR20120049673A (en) * 2010-11-09 2012-05-17 현대자동차주식회사 A music providing system and apparatus and method thereof
US8656422B2 (en) 2011-01-25 2014-02-18 Motorola Mobility Llc Method and apparatus for managing targeted advertisements for a linear television service
CA2827478C (en) 2011-02-18 2020-07-28 Csidentity Corporation System and methods for identifying compromised personally identifiable information on the internet
WO2012138660A2 (en) 2011-04-07 2012-10-11 Activevideo Networks, Inc. Reduction of latency in video distribution networks using adaptive bit rates
US9141982B2 (en) 2011-04-27 2015-09-22 Right Brain Interface Nv Method and apparatus for collaborative upload of content
US8584167B2 (en) 2011-05-31 2013-11-12 Echostar Technologies L.L.C. Electronic programming guides combining stored content information and content provider schedule information
US9998783B2 (en) 2011-06-20 2018-06-12 Comcast Cable Communications, Llc Network recorder buffer
WO2013003698A2 (en) 2011-06-30 2013-01-03 Echo 360, Inc. Methods and apparatus for an embedded appliance
WO2013001328A2 (en) * 2011-06-30 2013-01-03 Thomson Licensing Method and apparatus for automatic recording according to user preferences
US8660412B2 (en) 2011-08-23 2014-02-25 Echostar Technologies L.L.C. System and method for dynamically adjusting recording parameters
US8447170B2 (en) 2011-08-23 2013-05-21 Echostar Technologies L.L.C. Automatically recording supplemental content
US9621946B2 (en) 2011-08-23 2017-04-11 Echostar Technologies L.L.C. Frequency content sort
US8627349B2 (en) 2011-08-23 2014-01-07 Echostar Technologies L.L.C. User interface
US8959566B2 (en) 2011-08-23 2015-02-17 Echostar Technologies L.L.C. Storing and reading multiplexed content
US8763027B2 (en) 2011-08-23 2014-06-24 Echostar Technologies L.L.C. Recording additional channels of a shared multi-channel transmitter
US9185331B2 (en) 2011-08-23 2015-11-10 Echostar Technologies L.L.C. Storing multiple instances of content
US9357159B2 (en) 2011-08-23 2016-05-31 Echostar Technologies L.L.C. Grouping and presenting content
US8606088B2 (en) 2011-08-23 2013-12-10 Echostar Technologies L.L.C. System and method for memory jumping within stored instances of content
US8850476B2 (en) 2011-08-23 2014-09-30 Echostar Technologies L.L.C. Backwards guide
US8437622B2 (en) 2011-08-23 2013-05-07 Echostar Technologies L.L.C. Altering presentation of received content based on use of closed captioning elements as reference locations
US8433815B2 (en) 2011-09-28 2013-04-30 Right Brain Interface Nv Method and apparatus for collaborative upload of content
US11030562B1 (en) 2011-10-31 2021-06-08 Consumerinfo.Com, Inc. Pre-data breach monitoring
BR112014013014A2 (en) * 2011-12-02 2017-06-13 Thomson Licensing Leverage storage space on a personal video recorder by using scalable video encoding
WO2013106390A1 (en) 2012-01-09 2013-07-18 Activevideo Networks, Inc. Rendering of an interactive lean-backward user interface on a television
US9489981B2 (en) 2012-03-15 2016-11-08 Echostar Technologies L.L.C. Successive initialization of television channel recording
US8959544B2 (en) 2012-03-15 2015-02-17 Echostar Technologies L.L.C. Descrambling of multiple television channels
US8819722B2 (en) 2012-03-15 2014-08-26 Echostar Technologies L.L.C. Smartcard encryption cycling
US8989562B2 (en) 2012-03-15 2015-03-24 Echostar Technologies L.L.C. Facilitating concurrent recording of multiple television channels
US9800945B2 (en) 2012-04-03 2017-10-24 Activevideo Networks, Inc. Class-based intelligent multiplexing over unmanaged networks
US9123084B2 (en) 2012-04-12 2015-09-01 Activevideo Networks, Inc. Graphical application integration with MPEG objects
US8793724B2 (en) 2012-11-08 2014-07-29 Eldon Technology Limited Image domain compliance
US8812387B1 (en) 2013-03-14 2014-08-19 Csidentity Corporation System and method for identifying related credit inquiries
WO2014145921A1 (en) 2013-03-15 2014-09-18 Activevideo Networks, Inc. A multiple-mode system and method for providing user selectable video content
US9219922B2 (en) 2013-06-06 2015-12-22 Activevideo Networks, Inc. System and method for exploiting scene graph information in construction of an encoded video sequence
US9294785B2 (en) 2013-06-06 2016-03-22 Activevideo Networks, Inc. System and method for exploiting scene graph information in construction of an encoded video sequence
US9326047B2 (en) 2013-06-06 2016-04-26 Activevideo Networks, Inc. Overlay rendering of user interface onto source video
US9609264B2 (en) 2013-07-03 2017-03-28 Wipro Limited Method and system for fail-safe program recording in personal video recorders
WO2015017036A1 (en) 2013-07-29 2015-02-05 Lenel Systems International, Inc. Systems and methods for integrated security access control for video and audio streaming
DE102013108714B3 (en) * 2013-08-12 2014-08-21 Deutsche Post Ag Support decryption of encrypted data
US9628838B2 (en) 2013-10-01 2017-04-18 Echostar Technologies L.L.C. Satellite-based content targeting
US9788029B2 (en) 2014-04-25 2017-10-10 Activevideo Networks, Inc. Intelligent multiplexing using class-based, multi-dimensioned decision logic for managed networks
FR3020912A1 (en) * 2014-05-09 2015-11-13 Rizze METHOD FOR ANALYZING AND SHARING INFORMATION RELATING TO THE STATUS AND USE OF A DECODER HOUSING
US9756393B2 (en) 2014-07-31 2017-09-05 At&T Intellectual Property I, L.P. Recording option for advertised programs
US10158547B2 (en) * 2014-10-27 2018-12-18 Qualcomm Incorporated Method for a procedure for determining distance or angle between electronic devices connected wirelessly
US10339527B1 (en) 2014-10-31 2019-07-02 Experian Information Solutions, Inc. System and architecture for electronic fraud detection
US10090002B2 (en) 2014-12-11 2018-10-02 International Business Machines Corporation Performing cognitive operations based on an aggregate user model of personality traits of users
US10282409B2 (en) * 2014-12-11 2019-05-07 International Business Machines Corporation Performance modification based on aggregation of audience traits and natural language feedback
US10667008B1 (en) 2014-12-18 2020-05-26 The Directv Group, Inc. Method and system for setting and receiving user notifications for content available far in the future
US9756378B2 (en) 2015-01-07 2017-09-05 Echostar Technologies L.L.C. Single file PVR per service ID
US11151468B1 (en) 2015-07-02 2021-10-19 Experian Information Solutions, Inc. Behavior analysis using distributed representations of event data
CN108293144B (en) * 2015-11-27 2021-04-30 索尼公司 Information processing apparatus, information processing method, receiving apparatus, and receiving method
KR20190017280A (en) * 2017-08-10 2019-02-20 엘지전자 주식회사 Mobile terminal and method for controlling of the same
US10699028B1 (en) 2017-09-28 2020-06-30 Csidentity Corporation Identity security architecture systems and methods
US10896472B1 (en) 2017-11-14 2021-01-19 Csidentity Corporation Security and identity verification system and architecture
JP7246869B2 (en) * 2018-06-28 2023-03-28 キヤノン株式会社 IMAGE FORMING APPARATUS, IMAGE FORMING APPARATUS CONTROL METHOD AND PROGRAM
CN109361939B (en) * 2018-11-15 2021-01-08 维沃移动通信有限公司 Video playing method and terminal equipment
US10805690B2 (en) 2018-12-04 2020-10-13 The Nielsen Company (Us), Llc Methods and apparatus to identify media presentations by analyzing network traffic
US12301927B2 (en) 2019-12-13 2025-05-13 Dish Network L.L.C. Systems and methods for multi-source recording of content
US12430646B2 (en) 2021-04-12 2025-09-30 Csidentity Corporation Systems and methods of generating risk scores and predictive fraud modeling
US12417206B1 (en) * 2024-10-21 2025-09-16 Bank Of America Corporation On-demand file type-specific generation of electronic communications

Family Cites Families (166)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4600989A (en) 1982-03-03 1986-07-15 Cavri Systems, Inc. Universal computer, recorded video interface
US5063547A (en) 1984-07-02 1991-11-05 U.S. Philips Corporation Apparatus for automatically reproducing a user-defined preferred selection from a record carrier
US4706121B1 (en) 1985-07-12 1993-12-14 Insight Telecast, Inc. Tv schedule system and process
US5034902A (en) 1986-12-09 1991-07-23 Srg Schweizerische Radio-Und Fernsehgesellschaft Method and system for ascertaining the consumption habits of a test population
US5121476A (en) 1988-02-22 1992-06-09 Yee Keen Y TV data capture device
US4977455B1 (en) 1988-07-15 1993-04-13 System and process for vcr scheduling
JP3002471B2 (en) 1988-08-19 2000-01-24 株式会社日立製作所 Program distribution device
CA2005070C (en) * 1988-12-23 1999-04-27 Henry C. Yuen Apparatus and method for using encoded video recorder/player timer preprogramming information
US5307173A (en) * 1988-12-23 1994-04-26 Gemstar Development Corporation Apparatus and method using compressed codes for television program record scheduling
US5038211A (en) 1989-07-05 1991-08-06 The Superguide Corporation Method and apparatus for transmitting and receiving television program information
US5353121A (en) 1989-10-30 1994-10-04 Starsight Telecast, Inc. Television schedule system
US5005084A (en) 1989-12-19 1991-04-02 North American Philips Corporation Remote control television system using supplementary unit for simplified personalized control
EP0471118B1 (en) * 1990-08-13 1995-12-20 Matsushita Electric Industrial Co., Ltd. A video signal digital recording and reproducing apparatus
US5790198A (en) 1990-09-10 1998-08-04 Starsight Telecast, Inc. Television schedule information transmission and utilization system and process
JPH0541894A (en) 1991-01-12 1993-02-19 Sony Corp Controller for electronic device
EP0609352A4 (en) 1991-10-21 1994-12-14 Accom Inc On-line video editing system.
US5247364A (en) 1991-11-29 1993-09-21 Scientific-Atlanta, Inc. Method and apparatus for tuning data channels in a subscription television system having in-band data transmissions
US7080392B1 (en) 1991-12-02 2006-07-18 David Michael Geshwind Process and device for multi-level television program abstraction
US6400996B1 (en) * 1999-02-01 2002-06-04 Steven M. Hoffberg Adaptive pattern recognition based control system and method
CA2271555C (en) 1992-12-09 2003-11-11 Discovery Communications, Inc. Remote control for cable television delivery system
US5307713A (en) 1992-12-18 1994-05-03 White Kenneth L Self-aligning wrench
US5515173A (en) * 1993-03-05 1996-05-07 Gemstar Developement Corporation System and method for automatically recording television programs in television systems with tuners external to video recorders
US5369704A (en) 1993-03-24 1994-11-29 Engate Incorporated Down-line transcription system for manipulating real-time testimony
US5524195A (en) 1993-05-24 1996-06-04 Sun Microsystems, Inc. Graphical user interface for interactive television with an animated agent
US5835911A (en) * 1994-02-08 1998-11-10 Fujitsu Limited Software distribution and maintenance system and method
US5502504A (en) 1994-04-28 1996-03-26 Prevue Networks, Inc. Video mix program guide
US5523796A (en) 1994-05-20 1996-06-04 Prevue Networks, Inc. Video clip program guide
US5701383A (en) 1994-05-20 1997-12-23 Gemstar Development Corporation Video time-shifting apparatus
JP3575063B2 (en) 1994-07-04 2004-10-06 ソニー株式会社 Playback device and playback method
US5640453A (en) 1994-08-11 1997-06-17 Stanford Telecommunications, Inc. Universal interactive set-top controller for downloading and playback of information and entertainment services
US5867205A (en) * 1994-11-14 1999-02-02 Intel Corporation Method and apparatus for controlling video/audio and channel selection for a communication signal based on textual information indicative of channel contents of a signal
US5758257A (en) 1994-11-29 1998-05-26 Herz; Frederick System and method for scheduling broadcast of and access to video programs and other data using customer profiles
US6029195A (en) 1994-11-29 2000-02-22 Herz; Frederick S. M. System for customized electronic identification of desirable objects
JP3360705B2 (en) 1994-12-21 2002-12-24 ソニー株式会社 Broadcast receiving device and broadcast receiving method
US5596373A (en) 1995-01-04 1997-01-21 Sony Corporation Method and apparatus for providing program oriented information in a multiple station broadcast system
US5619247A (en) 1995-02-24 1997-04-08 Smart Vcr Limited Partnership Stored program pay-per-play
US5517257A (en) 1995-03-28 1996-05-14 Microsoft Corporation Video control user interface for interactive television systems and method for controlling display of a video movie
EP0735754B1 (en) 1995-03-30 2008-05-07 THOMSON Licensing Method and apparatus for the classification of television signals
CN1312609C (en) 1995-04-08 2007-04-25 索尼公司 editing system
US5828945A (en) 1995-04-17 1998-10-27 Starsight Telecast, Inc. Merging multi-source information in a television system
US5550576A (en) 1995-04-17 1996-08-27 Starsight Telecast Incorporated Method and apparatus for merging television program schedule information received from multiple television schedule information sources
US5585838A (en) * 1995-05-05 1996-12-17 Microsoft Corporation Program time guide
US5861906A (en) 1995-05-05 1999-01-19 Microsoft Corporation Interactive entertainment network system and method for customizing operation thereof according to viewer preferences
US5805763A (en) * 1995-05-05 1998-09-08 Microsoft Corporation System and method for automatically recording programs in an interactive viewing system
GB9510507D0 (en) 1995-05-24 1995-07-19 Thomson Consumer Electronics User interface animation using mpeg video compression techniques
US6209132B1 (en) * 1995-06-15 2001-03-27 Intel Corporation Host apparatus for simulating two way connectivity for one way data streams
US5818441A (en) 1995-06-15 1998-10-06 Intel Corporation System and method for simulating two-way connectivity for one way data streams
US5758259A (en) 1995-08-31 1998-05-26 Microsoft Corporation Automated selective programming guide
US6732369B1 (en) 1995-10-02 2004-05-04 Starsight Telecast, Inc. Systems and methods for contextually linking television program information
US5793438A (en) 1995-11-13 1998-08-11 Hyundai Electronics America Electronic program guide with enhanced presentation
US5867226A (en) 1995-11-17 1999-02-02 Thomson Consumer Electronics, Inc. Scheduler employing a predictive agent for use in a television receiver
US5872588A (en) 1995-12-06 1999-02-16 International Business Machines Corporation Method and apparatus for monitoring audio-visual materials presented to a subscriber
US6061056A (en) 1996-03-04 2000-05-09 Telexis Corporation Television monitoring system with automatic selection of program material of interest and subsequent display under user control
US5774664A (en) 1996-03-08 1998-06-30 Actv, Inc. Enhanced video programming system and method for incorporating and displaying retrieved integrated internet information segments
US5805235A (en) 1996-04-03 1998-09-08 Hyundai Electronics America Bookmarking television program and channel selections
US5940073A (en) 1996-05-03 1999-08-17 Starsight Telecast Inc. Method and system for displaying other information in a TV program guide
US5801787A (en) 1996-06-14 1998-09-01 Starsight Telecast, Inc. Television schedule system and method of operation for multiple program occurrences
AU4175797A (en) 1996-09-03 1998-03-26 Starsight Telecast Incorporated Schedule system with enhanced recording capability
CN1516443A (en) 1996-09-17 2004-07-28 Television programming system and method
US5907322A (en) 1996-10-16 1999-05-25 Catch Tv Acquisition Corp. Television event marking system
US20030005463A1 (en) 1999-09-30 2003-01-02 Douglas B Macrae Access to internet data through a television system
US6061503A (en) 1996-11-06 2000-05-09 Zenith Electronics Corporation Method for resolving conflicts among time-based data
US5801747A (en) 1996-11-15 1998-09-01 Hyundai Electronics America Method and apparatus for creating a television viewer profile
US20030066085A1 (en) 1996-12-10 2003-04-03 United Video Properties, Inc., A Corporation Of Delaware Internet television program guide system
JP3575205B2 (en) 1996-12-13 2004-10-13 ソニー株式会社 Remote commander and network connection system
US6177931B1 (en) * 1996-12-19 2001-01-23 Index Systems, Inc. Systems and methods for displaying and recording control interface with television programs, video, advertising information and program scheduling information
US8635649B2 (en) 1996-12-19 2014-01-21 Gemstar Development Corporation System and method for modifying advertisement responsive to EPG information
US5991799A (en) 1996-12-20 1999-11-23 Liberate Technologies Information retrieval system using an internet multiplexer to focus user selection
JP4044965B2 (en) 1996-12-20 2008-02-06 プリンストン ビデオ イメージ,インコーポレイティド Set-top device and method for inserting selected video into video broadcast
CA2285645A1 (en) 1997-01-06 1998-07-16 Bellsouth Intellectual Property Corporation Method and system for tracking network use
US5850218A (en) 1997-02-19 1998-12-15 Time Warner Entertainment Company L.P. Inter-active program guide with default selection control
JPH10261251A (en) * 1997-03-18 1998-09-29 Sony Corp Receiving device, receiving method, transmitting device, transmitting method, transmitting / receiving device, and transmitting / receiving method
GB2340636B (en) 1997-03-31 2000-08-09 Microsoft Corp Query-based electronic program guide
US6208799B1 (en) 1997-04-29 2001-03-27 Time Warner Entertainment Company L.P. VCR recording timeslot adjustment
US6292624B1 (en) 1997-05-13 2001-09-18 Sony Corporation System and method for selection/deselection of timer recording
EP1143731B1 (en) 1997-06-02 2009-05-13 Sony Electronics Inc. Displaying internet content and television programming
US6028600A (en) * 1997-06-02 2000-02-22 Sony Corporation Rotary menu wheel interface
US6260192B1 (en) 1997-06-02 2001-07-10 Sony Corporation Filtering system based on pattern of usage
US20030040962A1 (en) 1997-06-12 2003-02-27 Lewis William H. System and data management and on-demand rental and purchase of digital data products
US6012086A (en) 1997-06-24 2000-01-04 Sony Corporation Internet event timer recording for video and/or audio
DE69838439T2 (en) * 1997-06-25 2008-06-12 Samsung Electronics Co., Ltd., Suwon Method and device for monitoring devices in a home network
US8073921B2 (en) 1997-07-01 2011-12-06 Advanced Technology Company, LLC Methods for remote monitoring and control of appliances over a computer network
US20030088872A1 (en) 1997-07-03 2003-05-08 Nds Limited Advanced television system
IL125141A0 (en) 1998-06-29 1999-01-26 Nds Ltd Advanced television system
JP3656874B2 (en) 1997-07-04 2005-06-08 ソニー株式会社 Electronic device control system and method, playback device, and output device
JP4416846B2 (en) 1997-08-22 2010-02-17 ソニー株式会社 Computer-readable recording medium recording menu control data, and menu control method and apparatus
ATE217744T1 (en) 1997-09-18 2002-06-15 United Video Properties Inc REMINDER DEVICE FOR INTERNET TELEVISION GUIDES USING ELECTRONIC MAIL
TW392402B (en) 1997-10-22 2000-06-01 Hitachi Ltd Method for using audio and video machine and audio and video machine system
US6442598B1 (en) 1997-10-27 2002-08-27 Microsoft Corporation System and method for delivering web content over a broadcast medium
US6594682B2 (en) 1997-10-28 2003-07-15 Microsoft Corporation Client-side system for scheduling delivery of web content and locally managing the web content
US6741869B1 (en) 1997-12-12 2004-05-25 International Business Machines Corporation Radio-like appliance for receiving information from the internet
US6507951B1 (en) 1998-01-05 2003-01-14 Amiga Development Llc System for time-shifting events in a multi-channel convergence system
US7003790B1 (en) 1998-01-31 2006-02-21 Sony Corporation Broadcast-program selection history information acquisition apparatus and its method
DE69937919T9 (en) 1998-02-25 2009-04-30 Nec Corp. Network with a network management system for connecting several devices for storing and reproducing television programs
ATE266293T1 (en) 1998-03-04 2004-05-15 United Video Properties Inc PROGRAM GUIDE SYSTEM WITH MONITORING OF ADVERTISING USE AND USER ACTIVITIES
JPH11259927A (en) 1998-03-06 1999-09-24 Matsushita Electric Ind Co Ltd Program recording reservation device
JP4182369B2 (en) 1998-05-29 2008-11-19 ソニー株式会社 Recording / reproducing apparatus and method, and recording medium
US6229532B1 (en) 1998-06-11 2001-05-08 Sony Corporation Method and apparatus for building a uniform resource locator menu in an Internet television system
US20050204388A1 (en) 1998-06-11 2005-09-15 Knudson Edward B. Series reminders and series recording from an interactive television program guide
US6614987B1 (en) 1998-06-12 2003-09-02 Metabyte, Inc. Television program recording with user preference determination
US6698020B1 (en) 1998-06-15 2004-02-24 Webtv Networks, Inc. Techniques for intelligent video ad insertion
US6481011B1 (en) 1998-06-16 2002-11-12 Prevue Networks, Inc. Program guide system with user designated color coding
US6400407B1 (en) 1998-06-17 2002-06-04 Webtv Networks, Inc. Communicating logical addresses of resources in a data service channel of a video signal
US6412112B1 (en) * 1998-06-30 2002-06-25 Webtv Networks, Inc. System for transmitting digital data through a lossy channel
AR020608A1 (en) 1998-07-17 2002-05-22 United Video Properties Inc A METHOD AND A PROVISION TO SUPPLY A USER REMOTE ACCESS TO AN INTERACTIVE PROGRAMMING GUIDE BY A REMOTE ACCESS LINK
US6324338B1 (en) 1998-08-07 2001-11-27 Replaytv, Inc. Video data recorder with integrated channel guides
US20020054752A1 (en) 1998-08-07 2002-05-09 Anthony Wood Video data recorder with personal channels
US6898762B2 (en) 1998-08-21 2005-05-24 United Video Properties, Inc. Client-server electronic program guide
TW465235B (en) 1998-09-17 2001-11-21 United Video Properties Inc Electronic program guide with digital storage
US6317722B1 (en) 1998-09-18 2001-11-13 Amazon.Com, Inc. Use of electronic shopping carts to generate personal recommendations
GB2343076B (en) 1998-10-23 2002-12-31 Sony Uk Ltd Receiving broadcast material
US6993721B2 (en) 1998-11-30 2006-01-31 Sony Corporation Web channel guide graphical interface system and method
US6522342B1 (en) 1999-01-27 2003-02-18 Hughes Electronics Corporation Graphical tuning bar for a multi-program data stream
US6675388B1 (en) * 1999-01-29 2004-01-06 International Business Machines Corporation Data distribution system using coordinated analog and digital streams
US6532589B1 (en) 1999-03-25 2003-03-11 Sony Corp. Method and apparatus for providing a calendar-based planner in an electronic program guide for broadcast events
US7146626B1 (en) 1999-03-29 2006-12-05 The Directv Group, Inc. Method and apparatus for storing and displaying digital objects associated with an electronic television program guide using fuzzy logic
US8943527B2 (en) 1999-03-30 2015-01-27 Tivo Inc. Audience measurement system
US20020118954A1 (en) 2001-12-07 2002-08-29 Barton James M. Data storage management and scheduling system
US7543325B2 (en) 1999-03-30 2009-06-02 Tivo Inc. System for remotely controlling client recording and storage behavior
US7665111B1 (en) 1999-10-20 2010-02-16 Tivo Inc. Data storage management and scheduling system
CA2335629C (en) * 1999-04-26 2010-02-16 Sony Corporation Image recording system
CN1161928C (en) * 1999-06-02 2004-08-11 汤姆森许可贸易公司 Method and device for controlling a home network from an external communication network
US6725281B1 (en) * 1999-06-11 2004-04-20 Microsoft Corporation Synchronization of controlled device state using state table and eventing in data-driven remote device control model
US6721954B1 (en) * 1999-06-23 2004-04-13 Gateway, Inc. Personal preferred viewing using electronic program guide
US6654546B1 (en) * 1999-10-05 2003-11-25 Digital Networks North America, Inc Field upgradeable recording device
US20030182567A1 (en) 1999-10-20 2003-09-25 Tivo Inc. Client-side multimedia content targeting system
US6757691B1 (en) 1999-11-09 2004-06-29 America Online, Inc. Predicting content choices by searching a profile database
WO2001047257A1 (en) 1999-12-21 2001-06-28 Tivo, Inc. Intelligent system and methods of recommending media content items based on user preferences
US7139723B2 (en) 2000-01-13 2006-11-21 Erinmedia, Llc Privacy compliant multiple dataset correlation system
US20020046407A1 (en) * 2000-02-18 2002-04-18 Alexander Franco Use of web pages to remotely program a broadcast content recording system
US6658663B1 (en) * 2000-03-08 2003-12-02 Koninklijke Philips Electronics N.V. Business model for leasing storage on a digital recorder
US7673315B1 (en) 2000-03-30 2010-03-02 Microsoft Corporation System and method for providing program criteria representing audio and/or visual programming
KR20030036149A (en) 2000-03-31 2003-05-09 유나이티드 비디오 프로퍼티즈, 인크. Systems and methods for improved audience measuring
US8516525B1 (en) * 2000-06-09 2013-08-20 Dean F. Jerding Integrated searching system for interactive media guide
US20010046366A1 (en) 2000-04-11 2001-11-29 Susskind Robert Aaron System for controlling a remotely located video recording device
JP3767371B2 (en) 2000-04-25 2006-04-19 日本電気株式会社 Composite media file broadcast program transmission control method and composite media file broadcast program transmission control system using data carousel method
US8028314B1 (en) 2000-05-26 2011-09-27 Sharp Laboratories Of America, Inc. Audiovisual information management system
US20010053274A1 (en) * 2000-06-20 2001-12-20 Koninklijke Philips Electronics N.V. System and method for remote control of consumer electronics over data network with visual feedback
US8495679B2 (en) 2000-06-30 2013-07-23 Thomson Licensing Method and apparatus for delivery of television programs and targeted de-coupled advertising
US6425128B1 (en) * 2000-06-30 2002-07-23 Keen Personal Media, Inc. Video system with a control device for displaying a menu listing viewing preferences having a high probability of acceptance by a viewer that include weighted premium content
TW540238B (en) * 2000-08-08 2003-07-01 Replaytv Inc Method and system for remote television replay control
JP4254031B2 (en) * 2000-08-21 2009-04-15 ソニー株式会社 Recording apparatus, portable terminal, management server, information processing method, and recording medium
JP4218196B2 (en) * 2000-09-01 2009-02-04 ソニー株式会社 Program related information providing apparatus, program related information providing system, and program related information providing method
WO2002021839A2 (en) 2000-09-06 2002-03-14 Cachestream Corporation Multiple advertising
US8302127B2 (en) 2000-09-25 2012-10-30 Thomson Licensing System and method for personalized TV
US7127736B2 (en) 2000-11-17 2006-10-24 Sony Corporation Content processing apparatus and content processing method for digest information based on input of a content user
US7017172B2 (en) 2000-12-06 2006-03-21 Koninklijke Philips Electronics N.V. Recommender system using “fuzzy-now” for real-time events
JP2002345491A (en) 2000-12-07 2002-12-03 Takeda Chem Ind Ltd New g-protein-coupled receptor protein and dna thereof
JP2002232813A (en) 2001-02-02 2002-08-16 Hitachi Ltd Broadcast receiving terminal device
US20020110360A1 (en) 2001-02-09 2002-08-15 Potrebic Peter J. Systems and methods for recording fragmented programs
US7065778B1 (en) * 2001-05-25 2006-06-20 Enreach Technologies, Inc. Method and system for providing media from remote locations to a viewer
JP2002366570A (en) 2001-06-08 2002-12-20 Matsushita Electric Ind Co Ltd Information processing device
JP2002369094A (en) 2001-06-12 2002-12-20 Matsushita Electric Ind Co Ltd Program information acquisition system and acquisition method
US20030115585A1 (en) 2001-07-11 2003-06-19 International Business Machines Corporation Enhanced electronic program guide
US20030028871A1 (en) 2001-07-20 2003-02-06 Annie Wang Behavior profile system and method
US7080124B1 (en) * 2001-08-21 2006-07-18 Amazon Technologies, Inc. Digital media resource messaging
US7046911B2 (en) 2001-09-29 2006-05-16 Koninklijke Philips Electronics N.V. System and method for reduced playback of recorded video based on video segment priority
US20030158958A1 (en) 2002-02-20 2003-08-21 Koninklijke Philips Electronics N.V. Distributed storage network architecture using user devices
US20030204602A1 (en) 2002-04-26 2003-10-30 Hudson Michael D. Mediated multi-source peer content delivery network architecture
US7216170B2 (en) * 2002-05-22 2007-05-08 Microsoft Corporation Systems and methods to reference resources in a television-based entertainment system
KR100490407B1 (en) 2002-07-12 2005-05-17 삼성전자주식회사 Apparatus and method for correcting focus of CRTs
AU2003251953A1 (en) 2002-07-17 2004-02-02 William Hayhurst Decentralized media delivery
US20040086263A1 (en) 2002-10-31 2004-05-06 Jitesh Arora System for maintaining history of multimedia content and method thereof
US9380269B2 (en) 2003-09-23 2016-06-28 Time Warner Cable Enterprises Llc Scheduling trigger apparatus and method
US20050251750A1 (en) 2004-05-10 2005-11-10 Robert Vallone Television viewer interface system
US7782793B2 (en) 2005-09-15 2010-08-24 Alcatel Lucent Statistical trace-based methods for real-time traffic classification

Also Published As

Publication number Publication date
HK1140084A1 (en) 2010-09-30
US8321901B2 (en) 2012-11-27
CN100559851C (en) 2009-11-11
US20090178098A1 (en) 2009-07-09
HK1089029A1 (en) 2006-11-17
WO2004063891A2 (en) 2004-07-29
CN101686368B (en) 2011-08-10
CN101686368A (en) 2010-03-31
US9083941B2 (en) 2015-07-14
WO2004063891A3 (en) 2005-03-24
US7543325B2 (en) 2009-06-02
US20170085961A1 (en) 2017-03-23
US9414127B2 (en) 2016-08-09
US20110047579A1 (en) 2011-02-24
US20130084058A1 (en) 2013-04-04
CN1751506A (en) 2006-03-22
US20150319504A1 (en) 2015-11-05
US9516393B2 (en) 2016-12-06
US20190253767A1 (en) 2019-08-15
US20160014472A1 (en) 2016-01-14
EP1582057B1 (en) 2013-07-31
US20050050577A1 (en) 2005-03-03
EP1582057A2 (en) 2005-10-05
US7779446B2 (en) 2010-08-17
US10306331B2 (en) 2019-05-28
EP1582057A4 (en) 2009-11-25
JP2006516078A (en) 2006-06-15

Similar Documents

Publication Publication Date Title
JP4465348B2 (en) System for remote control of client recording and storage operations
JP4607091B2 (en) A system for targeting multimedia content on the client side
US10140359B2 (en) Distributed database management system
US9674577B1 (en) Data storage management and scheduling system
US7665111B1 (en) Data storage management and scheduling system
EP1166555B1 (en) Data storage management and scheduling system
HK1089029B (en) A system for remotely controlling client recording and storage behavior
HK1140084B (en) A system for remotely controlling client recording and storage behavior

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061113

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090618

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090917

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090929

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091216

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100114

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100121

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100212

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100222

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130226

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4465348

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130226

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140226

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: R3D02

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: R3D04

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term