(57)【要約】【課題】  マルチメディア・プログラミング・コンテンツおよび電子プログラム・ガイド（ＥＰＧ）情報のためのグローバル・リスティング・フォーマット（ＧＬＦ）を提供する。【解決手段】  例示的なグローバル・リスティング・フォーマット（ＧＬＦ）は、マルチメディア・プログラミング・コンテンツおよび電子プログラム案内情報を電子的に転送するためのメタデータである。ＧＬＦメタデータが、インターロックし、クロスロックするデータ要素を含む自己整合性機構を有する自己参照データ構造を指定する。自己整合性機構により、転送されるプログラミング・データの完全性および有効性が確実にされる。一実装形態では、例示的なＧＬＦは、拡張可能マークアップ言語（ＸＭＬ）スキーマ定義（ＸＳＤ）規格で表現される。【選択図】  図４
2004236342.tif 000002
【特許請求の範囲】
【請求項１】
電子転送のために、複数のデータ要素を有するマルチメディア・プログラミング・データをフォーマットする方法であって、
前記データに関する完全性／有効性フォーマットを確立すること、
複数のデータ要素を受信すること、
前記完全性／有効性フォーマットに従って前記複数のデータ要素を配置すること
を備えることを特徴とする方法。
【請求項２】
前記完全性／有効性フォーマットは、複数のデータ要素をインターロックしてプログラミング・データ完全性を実現することを特徴とする請求項１に記載の方法。
【請求項３】
前記プログラミング・データは、複数のリスティング・データ要素および複数のラインアップ・データ要素を備えることを特徴とする請求項２に記載の方法。
【請求項４】
受信された各リスティング・データ要素に関して、前記完全性／有効性フォーマットは、関連する複数のリスティング・データ要素をインターロックして完全で有効なリスティング・データを実現することを特徴とする請求項３に記載の方法。
【請求項５】
受信された各ラインアップ・データ要素に関して、前記完全性／有効性フォーマットは、関連する複数のラインアップ・データ要素をインターロックして完全で有効なラインアップ・データを実現することを特徴とする請求項３に記載の方法。
【請求項６】
前記完全性／有効性フォーマットは、複数のラインアップ・データ要素を複数のリスティング・データ要素にクロスロックしてデータの完全性および有効性を実現することを特徴とする請求項３に記載の方法。
【請求項７】
マルチメディア・プログラミング・エンティティを表わす受信された複数のリスティング・データ要素に関して、前記完全性／有効性フォーマットは、十分な複数のラインアップ・データ要素をクロスロックして有効なチャネル定義を実現することを特徴とする請求項６に記載の方法。
【請求項８】
前記有効なチャネル定義は、所与の区域内で前記マルチメディア・プログラミング・エンティティを放送するための有効なマルチメディア・チャネルの記述であることを特徴とする請求項７に記載の方法。
【請求項９】
前記完全性／有効性フォーマットは、プログラミング役割（role）データ要素、プログラム名データ要素、プログラム値データ要素、プログラム・マップ・データ要素、プログラム・カテゴリ・データ要素、プログラム・フラグ・データ要素、および言語翻訳データ要素のうちの１つを備える第２のリスティング・データ要素に第１のリスティング・データ要素をさらにインターロックすることを特徴とする請求項３に記載の方法。
【請求項１０】
前記完全性／有効性フォーマットは、スケジュール・フラグ・データ要素およびスケジュール・フラグ翻訳データ要素のうちの１つを備える第２のリスティング・データ要素に第１のリスティング・データ要素をさらにインターロックすることを特徴とする請求項３に記載の方法。
【請求項１１】
前記完全性／有効性フォーマットは、区域データ要素、ヘッドエンドデータ要素、およびチャネル・ラインアップ・データ要素のうちの１つを備える第２のラインアップ・データ要素に第１のラインアップ・データ要素をさらにインターロックすることを特徴とする請求項３に記載の方法。
【請求項１２】
前記配置することは、有効なフォーマットに関してそれぞれの受信された複数のプログラミング・データ要素を検査してプログラミング・データの有効性を実現することを備えることを特徴とする請求項１に記載の方法。
【請求項１３】
電子転送のためにマルチメディア情報をリンクするための方法であって、
情報が第１の情報フィールドの中に格納されるならば、第２の情報フィールドの中に情報が格納されることが必要とされる形式で、前記第１のマルチメディア情報フィールドを前記第２のマルチメディア情報フィールドにリンクすること、
マルチメディア情報を受信すること、
前記マルチメディア情報を前記第１の情報フィールドおよび前記第２の情報フィールドの中に格納すること
を備えることを特徴とする方法。
【請求項１４】
前記第１の情報フィールドおよび前記第２の情報フィールドは、複数のリスティング情報フィールドと複数のラインアップ情報フィールドについての任意の組合せであることが可能であることを特徴とする請求項１３に記載の方法。
【請求項１５】
前記複数のリスティング情報フィールドは、プログラム情報要素およびスケジュール情報要素を記憶することができ、前記複数のラインアップ情報フィールドは、場所情報要素、ヘッドエンド情報要素、およびチャネル・ラインアップ情報要素を格納することができることを特徴とする請求項１４に記載の方法。
【請求項１６】
リスティング情報が第１のリスティング情報フィールドの中に格納されるならば、第１のラインアップ情報フィールドの中にラインアップ情報が格納されことを必要とする形式で、前記第１のリスティング情報フィールドを前記第１のラインアップ情報フィールドにリンクすることをさらに備えることを特徴とする請求項１４に記載の方法。
【請求項１７】
情報が前記第１のリスティング情報フィールドの中に格納されるならば、前記第２のリスティング情報フィールドの中に情報が記憶されことを必要とする形式で、前記第１のリスティング情報フィールドを第２のリスティング情報フィールドにリンクすることをさらに備えることを特徴とする請求項１６に記載の方法。
【請求項１８】
情報が前記第１のラインアップ情報フィールドの中に格納されるならば、前記第２のラインアップ情報フィールドの中に情報が格納されることを必要とする形式で、前記第１のラインアップ情報フィールドを第２のラインアップ情報フィールドにリンクすることをさらに備えることを特徴とする請求項１６に記載の方法。
【請求項１９】
前記リンクすることは、拡張可能マークアップ言語スキーマ定義（ＸＭＬ  ＸＳＤ）のＫｅｙ制約およびＫｅｙｒｅｆ制約を使用することを特徴とする請求項１３に記載の方法。
【請求項２０】
前記リンクすることは、グローバル・リスティング・フォーマットのリレーショナル（関係）表現を使用することを特徴とする請求項１３に記載の方法。
【請求項２１】
前記マルチメディア情報は、複数のＫｅｙおよび複数の外部Ｋｅｙ（foreign key）を含み、前記リレーショナル表現は、Ｋｅｙ制約および外部Ｋｅｙ制約を使用することを特徴とする請求項２０に記載の方法。
【請求項２２】
各リスティング要素が、検証され、関連する検証された複数のリスティング要素にリンクされ、関連する検証済みの複数のラインアップ要素にリンクされて、区域向けに完全で有効なプログラミング情報が提供されることを要求するグローバル・リスティング・フォーマット（ＧＬＦ）に従って複数のリスティング要素および複数のラインアップ要素を有するマルチメディア・プログラミング情報をフォーマットするための方法であって、
リスティング要素を受信すること、
前記リスティング要素にリンクすべき関連する複数のリスティング要素および関連する複数のラインアップ要素を受信すること、
前記関連するリスティング要素および前記関連するラインアップ要素が欠落しているならば、前記関連するリスティング要素および前記関連するラインアップ要素を求めるように促すこと、
前記リスティング要素、前記関連する複数のリスティング要素、および前記関連する複数のラインアップ要素を有効性検査すること、および
前記関連する複数のリスティング要素および前記関連する複数のラインアップ要素を前記ＧＬＦに従って前記リスティング要素にリンクすること
を備えることを特徴とする方法。
【請求項２３】
前記区域は、地理的領域および／または地政学的領域であることを特徴とする請求項２２に記載の方法。
【請求項２４】
前記区域は、前記領域内で話される特定の言語によって特徴付けられる領域であることを特徴とする請求項２２に記載の方法。
【請求項２５】
前記区域は、前記領域で利用可能な特定のマルチメディア・プログラミング・チャネルによって特徴付けられる領域であることを特徴とする請求項２２に記載の方法。
【請求項２６】
マルチメディア・プログラミング・データを転送するために自己整合性のあるデータ構造を生成する方法であって、
複数のリスティング情報要素を生成すること、
複数のラインアップ情報要素を生成すること、および
論理的に関連する複数のリスティング情報要素を互いにリンクし、および論理的に関連する複数のラインアップ情報要素にリンクして、前記自己整合性のあるデータ構造を生成すること
を備えることを特徴とする方法。
【請求項２７】
前記リンクすることは、論理的に関連する複数のラインアップ情報要素を互いにリンクすることをさらに備えることを特徴とする請求項２６に記載の方法。
【請求項２８】
前記複数のリスティング情報要素を前記複数のラインアップ情報要素にリンクして、複数のマルチメディア・プログラム・エンティティに関して所与の地理的区域内および地政学的区域内で有効なチャネルを整合性がある形で記述することをさらに備えることを特徴とする請求項２６に記載の方法。
【請求項２９】
前記情報要素の形式を検査することによって前記情報要素データの有効でない表現を防止することをさらに備えることを特徴とする請求項２６に記載の方法。
【請求項３０】
事前に確立された情報要素形式および事前に確立されたデータ・タイプを有する既成の情報要素フォーマットを使用することをさらに備えることを特徴とする請求項２９に記載の方法。
【請求項３１】
前記自己整合性のあるデータ構造は、拡張可能マークアップ言語スキーマ定義（ＸＭＬ  ＸＳＤ）のＫｅｙ制約およびＫｅｙｒｅｆ制約を使用することを特徴とする請求項２６に記載の方法。
【請求項３２】
前記自己整合性のあるデータ構造は、グローバル・リスティング・フォーマットのリレーショナル（関係）表現として表現されることを特徴とする請求項２６に記載の方法。
【請求項３３】
前記リレーショナル表現は、Ｋｅｙ制約および外部Ｋｅｙ制約（foreign key constraints）を使用することを特徴とする請求項３２に記載の方法。
【請求項３４】
複数のプログラム情報要素、複数のチャネル情報要素、および複数のヘッドエンド情報要素を有するマルチメディア・プログラム・コンテンツを構成する方法であって、
前記プログラム情報要素を前記複数のチャネル情報要素と前記複数のヘッドエンド情報要素にともに関係付けて整合性のある形で構造化されたデータを生成すること、および
前記整合性のある形で構造化されたデータを生成する規則に従って、前記プログラム情報要素を前記チャネル情報要素および前記ヘッドエンド情報要素に関係付けること
を備えることを特徴とする方法。
【請求項３５】
前記マルチメディア・プログラム・コンテンツを電子的に転送することであって、
前記整合性のある形で構造化されたデータを受信側に送信すること、
前記規則を使用して、前記複数のプログラム情報要素、前記複数のチャネル情報要素、および前記複数のヘッドエンド情報要素についての正確さおよび有効性を検証すること
を備えるマルチメディア・プログラム・コンテンツを電子的に転送すること
をさらに備えることを特徴とする請求項３４に記載の方法。
【請求項３６】
前記マルチメディア・プログラム・コンテンツは、拡張可能マークアップ言語スキーマ定義（ＸＭＬ  ＸＳＤ）に従って構成され、前記規則は、前記複数のプログラム情報要素のそれぞれ、前記複数のチャネル情報要素のそれぞれ、および前記複数のヘッドエンド情報要素のそれぞれが存在し、且つ有効であることを検証するように、前記スキーマにおいて配置された１つまたは複数のＫｅｙ制約およびＫｅｙｒｅｆ制約を備えることを特徴とする請求項３４に記載の方法。
【請求項３７】
前記マルチメディア・プログラム・コンテンツは、グローバル・リスティング・フォーマットのリレーショナル（関係）表現に従って構成されることを特徴とする請求項３４に記載の方法。
【請求項３８】
前記複数の情報要素は、複数のＫｅｙおよび複数の外部Ｋｅｙを含み、前記リレーショナル表現は、Ｋｅｙ制約および外部Ｋｅｙ制約を表現することを特徴とする請求項３７に記載の方法。
【請求項３９】
前記規則に従って、前記複数のプログラム情報要素、前記複数のチャネル情報要素、および前記複数のヘッドエンド情報要素を、複数のスケジュール情報要素、複数のラインアップ情報要素、および複数の場所情報要素に関係付けることをさらに備えることを特徴とする請求項３４に記載の方法。
【請求項４０】
マルチメディア・プログラムのリスティング要素を表わすデータを収容する第１のデータ・フィールドと、
前記リスティング要素に論理的に関係する前記マルチメディア・プログラムのラインアップ要素を表わすデータを収容する第２のデータ・フィールドと
を備えるデータ構造を格納しているコンピュータ可読媒体であって、
前記ラインアップ要素は、所与の領域内で前記マルチメディア・プログラムを放送するための有効なチャネル定義を確立するのに必要とされる情報の少なくとも一部であることを特徴とする媒体。
【請求項４１】
前記ラインアップ要素が前記有効なチャネル定義を確立するのに十分であるかどうかを決定するための、前記ラインアップ要素が十分でない場合に追加のラインアップ要素を前記データ構造のデータ・フィールドに追加するための、メタデータを表わすデータを収容する第３のフィールドをさらに備えることを特徴とする請求項４０に記載のデータ構造を記憶しているコンピュータ可読媒体。
【請求項４２】
前記データ構造のセクションが生成されるならば、前記データ構造の前記生成されたセクション内のそれぞれの必須フィールドの中にデータが格納されなければならない態様で、前記データ構造が必須フィールドを有するセクション内で生成され、前記メタデータは、データ構造の完全性および有効性の情報をさらに備えることを特徴とする請求項４０に記載のデータ構造を記憶しているコンピュータ可読媒体。
【請求項４３】
少なくともいくつかが互いにインターロックされるリスティング・データ・フィールドと、
前記リスティング・データ・フィールドにクロスロックされたラインアップ・データ・フィールドと
を備え、前記ラインアップ・データ・フィールドの少なくともいくつかは互いにインターロックされることを特徴とする電子プログラム・ガイド情報のためのグローバル・リスティング・フォーマット。
【請求項４４】
自己整合性機構をさらに備えることを特徴とする請求項４３に記載のグローバル・リスティング・フォーマット。
【請求項４５】
前記自己整合性機構は、拡張可能マークアップ言語のＫｅｙ制約およびＫｅｙｒｅｆ制約を備えることを特徴とする請求項４４に記載のグローバル・リスティング・フォーマット。
【請求項４６】
完全性／有効性フォーマットで配置された、複数のリスティング・データ要素および複数のラインアップ・データ要素を含むマルチメディア・プログラミングを生成するデータ・ファイル・エンジンであって、
完全性／有効性メタデータのストアと、
完全性／有効性メタデータの前記ストアと通信するように結合された、リスティング・データ要素をインターロックするリスティング・データ要素インターロッカーと、
完全性／有効性メタデータの前記ストアと通信するように結合された、ラインアップ・データ要素をインターロックするラインアップ・データ要素インターロッカーと、
前記リスティング・データ要素インターロッカー、前記ラインアップ・データ要素インターロッカー、および完全性／有効性メタデータの前記ストアと通信するように結合された、リスティング・データ要素とラインアップ・データ要素とをクロスロックするリスティング・データ要素／ラインアップ・データ要素クロスロッカーと
を備えることを特徴とするデータ・ファイル・エンジン。
【請求項４７】
リスティング・データを入力するリスティング・データ入力部と、
ラインアップ・データを入力するラインアップ・データ入力部と
をさらに備えることを特徴とする請求項４６に記載のデータ・ファイル・エンジン。
【請求項４８】
前記リスティング・データ入力部および前記ラインアップ・データ入力部は、前記複数のリスティング・データ要素および前記複数のラインアップ・データ要素に対して有効性検査を行うことを特徴とする請求項４７に記載のデータ・ファイル・エンジン。
【請求項４９】
マルチメディア・プログラム・コンテンツを電子的に転送するためのシステムであって、
完全で有効なマルチメディア・プログラミングを記述するメタデータと、
前記メタデータに対するアクセス権を有して、実質的に完全で有効なマルチメディア・プログラミング情報を有するデータ・ファイルを生成するデータ・ファイル・エンジンと
を備えることを特徴とするシステム。
【請求項５０】
前記データ・ファイル・エンジンは、前記メタデータに従って前記プログラミング・コンテンツについての論理的に関係する複数のデータ要素をリンクする１つまたは複数のインターロッカーをさらに備えることを特徴とする請求項４９に記載のシステム。
【請求項５１】
前記データ・ファイル・エンジンは、前記マルチメディア・プログラミングの複数のリスティング要素を前記マルチメディア・プログラミングの複数のラインアップ要素にリンクするクロスロッカーをさらに備えることを特徴とする請求項４９に記載のシステム。
【請求項５２】
拡張可能なマルチメディア・プログラミング・リスティング構成要素と、
拡張可能なマルチメディア・プログラミング・ラインアップ構成要素と
を備えることを特徴とするマルチメディア・プログラミング・コンテンツを転送するためのグローバル・リスティング・フォーマット（ＧＬＦ）・データ・ファイル。
【請求項５３】
拡張可能なデータ・タイプ定義構成要素をさらに備えることを特徴とする請求項５２に記載のＧＬＦデータ・ファイル。
【請求項５４】
前記ＧＬＦデータ・ファイルのそれぞれ、および前記構成要素は、ＸＭＬスキーマ定義（ＸＳＤ）ファイルであることを特徴とする請求項５３に記載のＧＬＦデータ・ファイル。
【請求項５５】
複数のリスティング要素および複数のラインアップ要素を有するマルチメディア・プログラミング情報からの第１のリスティング要素を受信する動作と、
前記第１のリスティング要素に関連付けられた追加の複数のリスティング要素および複数のラインアップ要素を受信する動作と、
前記複数のリスティング要素および前記複数のラインアップ要素を有効性検査する動作と、
前記追加の複数のリスティング要素および複数のラインアップ要素を、データ構造の中で前記第１のリスティング要素にリンクする動作と
を備える動作を実行する、コンピュータによって実行可能な、命令を収容することを特徴とする１つまたは複数のコンピュータ可読媒体。
【請求項５６】
後続の複数のリスティング要素を受信し、関連する複数のリスティング要素および複数のラインアップ要素を前記後続のリスティング要素にリンクすることによって、前記データ構造を拡張するように完全性／有効性メタデータを使用する動作をさらに備えることを特徴とする請求項５５に記載の１つまたは複数のコンピュータ可読媒体。
【請求項５７】
前記有効性検査する動作は、前記複数のリスティング要素および前記複数のラインアップ要素のデータ・タイプを有効性検査する動作をさらに備えることを特徴とする請求項５５に記載の１つまたは複数のコンピュータ可読媒体。
【請求項５８】
マルチメディア・プログラミング・データを整合性のある形でフォーマットするための規則と、
前記マルチメディア・プログラミング・データの完全性を実現するための規則と
を備えるメタデータを格納していることを特徴とするコンピュータ可読媒体。
【請求項５９】
マルチメディア・プログラミング・データを整合性のある形でフォーマットするための前記規則は、第１のリスティング・データ要素を第２の関係するリスティング・データ要素にインターロックする命令をさらに備えることを特徴とする請求項５８に記載のメタデータを格納しているコンピュータ可読媒体。
【請求項６０】
マルチメディア・プログラミング・データを整合性のある形でフォーマットするための前記規則は、第１のラインアップ・データ要素を第２の関係するラインアップ・データ要素にインターロックする命令をさらに備えることを特徴とする請求項５８に記載のメタデータを格納しているコンピュータ可読媒体。
【請求項６１】
マルチメディア・プログラミング・データを整合性のある形でフォーマットするための前記規則は、第１のリスティング・データ要素を第１の関係するラインアップ・データ要素にクロスロックする命令をさらに備えることを特徴とする請求項５８に記載のメタデータを格納しているコンピュータ可読媒体。
【請求項６２】
マルチメディア・プログラミング・データの各要素を充たすための規則をさらに備えることを特徴とする請求項５８に記載のメタデータを格納しているコンピュータ可読媒体。
【請求項６３】
マルチメディア・プログラミング・データの各要素を参照する命令をさらに備えることを特徴とする請求項６２に記載のメタデータを格納しているコンピュータ可読媒体。
【請求項６４】
マルチメディア・プログラミング・データの各要素を有効性検査するための規則をさらに備えることを特徴とする請求項５８に記載のメタデータを格納しているコンピュータ可読媒体。
【請求項６５】
前記マルチメディア・プログラミング・データの完全性を実現するための前記規則は、データ要素を前記規則に従って追加することによってセクションの一部分が生成された場合に、マルチメディア・プログラミング・データ要素のデータ構造を生成するための、且つ前記規則によって生成された前記データ構造の前記セクションを完成させるための規則を含むことを特徴とする請求項５８に記載のメタデータを格納しているコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、マルチメディアデータ通信に関し、より具体的には、マルチメディアプログラミングコンテンツおよび電子プログラム・ガイド（ＥＰＧ）情報のためのグローバルリスティングフォーマット（ＧＬＦ）に関する。
【背景技術】
【０００２】
コンピュータ・プログラム・リスティング
本発明に従って使用する１組のＸＭＬテキスト・ファイル・リスティングが、要約書の後の７枚の付録で提供され、参照により本明細書に組み込まれている。このＸＭＬテキスト・ファイル・リスティングは、例示的なサンプルのグローバル・リスティング・フォーマットのデータ・ファイルである。
【０００３】
テレビジョンおよびその他のマルチメディア形態を享受するためのコンピュータ化された製品が国際市場全体に広がるにつれ、独立データ・プロバイダ（Independent Data Providers）（ＩＤＰ）として知られるマルチメディア・プログラミングの提供元（originator）および配信業者（distributor）が増え、多くの国からプログラミング（番組編成）・コンテンツを提供するようになった。プログラミング・コンテンツは、通常、複数のプログラム・リスティング（program listings）から構成され、プログラム・リスティングは、「データ・フィード（data feed）」の形態で、つまり、「プログラミング・データ・ファイル」の形態で転送され、プログラミング・データ・ファイルは、通常、日数で計られる指定された期間にわたって地域的に利用可能なチャネルを満たすのに十分なプログラミング・コンテンツを地域のプログラミング配信業者（local programming distributors）に供給する。ＩＤＰによって配信されるプログラミング・データの量は、通常、リスティング・データ合意（協定）において規定される。
【０００４】
各ＩＤＰは、独自仕様のリスティング・フォーマット（proprietary listings format）を使用して、受信側エンティティが受信／処理して地域的なプログラミングにすることが可能なプログラミング・データ・ファイルを作成する。それらの独自仕様のリスティング・フォーマットは、ときとして、互いに類似しているが、たいてい、互いに異なり、かつ／または互換性がなく、より重要なことには、受信側エンティティのニーズに不適合である。具体的には、供給されたプログラミング・コンテンツに関して所与の地域において本当に機能するチャネル「ラインアップ（lineup）」を実現するのに必要とされるチャネル情報の挿入が、さまざまな独自仕様のリスティング・フォーマットに起因して場当たり的である。一部の例において、リスティング（すなわち、複数のプログラムおよび複数のスケジュール）とラインアップ（すなわち、複数のプログラムおよび複数のスケジュールが実装されるチャネルのセット）のコレクションが異なるタイプのＩＤＰによって作成されているために、これらの複数の独自仕様のフォーマットは、さまざまである。リスティングを作成するＩＤＰは、通常、ラインアップを作成するＩＤＰを支配し、リスティング情報を大事にするが、完全で正確なラインアップ情報を軽視する独自仕様のフォーマットを結果として生じさせている。
【０００５】
さらに、さまざまな独自仕様のリスティング・フォーマットは、異なる国々で話されている言語にわたって翻訳された情報を信頼できる形で伝えない。問題の存在は、常に翻訳自体であるわけではない。正しい翻訳が、たとえば、誤ったプログラム番号に誤ってリンクされこともあり、または新しい言語翻訳のために新しいプログラム番号が不必要に採用されて参照上の整合性（一貫性）が失われることもあり、そしてこの場合、１つのプログラムに対して過多のプログラム番号がもたらされることになる。
【０００６】
図１は、従来のプログラミング・データ・ファイル配信環境１００を示し、そこにおいて、配信は３つの例のＩＤＰ１０２、１０４、１０６から受信側エンティティ１０８に対して行われる。ＩＤＰは、通常、プログラム・リスティング１１０の相対的に無限の領域（universe）からプログラミングを選択して、受信側エンティティ１０８に、すなわち、地域的な放送局またはテレビジョン・ケーブル会社などの地域のプログラミング配信業者に販売されるプログラミング・データ・ファイルを生成する。プログラミング・データ・ファイルは、特徴として大きく、したがって、たとえば、データ・ファイルを変換して使用可能な形態にするのに、およそ２０時間の処理時間を要する。
【０００７】
プログラミング・データ・ファイルを生成する際、ＩＤＰは、通常、受信側エンティティのロケール（locale；現場）または管轄区域で利用可能な特定のチャネル上で所与の時刻のプログラムを示すのに必要な「ラインアップ」ロジスティクス情報（logistical information）をサポートすることを除外するか、あるいは場当たり的に含めるのに比べて、映画の名前やプログラムの名前などのプログラム・リスティング１１０情報にウエートを置く。ほとんどのＩＤＰはスケジュール情報を追加するが、一貫性のある正しいラインアップ情報を含めようとする試みは、特にプログラミング・データ・ファイルが異なる国々の間で転送される場合、前述したとおり、通常、不十分であることを示している。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
固有のプログラミング・データ・ファイルで作成された情報の配合、および使用される独自仕様のフォーマットは、ＩＤＰ間で大幅に異なる可能性がある。したがって、図１に示すとおり、第１のＩＤＰ１０２は、第１の独自仕様のデータ・ファイル・フォーマット１１２を使用し、第２のＩＤＰ１０４は、第２の独自仕様のデータ・ファイル・フォーマット１１４を使用し、第３のＩＤＰ１０６は、第３の独自仕様のデータ・ファイル・フォーマット１１６を使用する。地域のプログラミング配信業者などの受信側エンティティ１０８は、いくつかのＩＤＰに加入することも可能であり、各ＩＤＰからのプログラミング・データ・ファイルを処理してプログラミング１０９にしなければならない。しばしば、たとえば、プログラミング・データ・ファイルを使用可能なプログラミング１０９に変換するのに２０時間の処理時間を費やした後、受信側エンティティ１０８は、独自仕様のフォーマットの１つまたは複数の態様（aspect）に一貫性が無いこと（１１８）を発見する。場合によっては、プログラミング・データ・ファイルの中でリストされたチャネルが、存在しない（１２０）、あるいは地域提供元の地理的区域および／または地政学的区域において存在しない。さまざまなＩＤＰからのデータ・ファイル・フォーマット１１２、１１４、１１６は独断的であるので、データ要素が欠落している（１２２）可能性があり、データが自己矛盾する（１２４）可能性があり、かつ／またはデータが存在するけれども誤ったデータ・タイプ、かつ／または認識不可能なデータ・タイプが使用されている（１２６）ために使用不可能である可能性がある。データ・ファイルが部分的であったり、または完全に欠陥があったりするため、処理時間投資の一部、またはすべてが無駄になる可能性があり、トラブル・シューティングが必要とされる可能性がある。
【課題を解決するための手段】
【０００９】
本発明は、マルチメディア・プログラミング・コンテンツおよび電子プログラム・ガイド（ＥＰＧ）情報を電子的に転送するための例示的なグローバル・リスティング・フォーマット（ＧＬＦ；global listings format）を含む。ＧＬＦは、リンクされたデータ要素、つまり、インターロックし（interlocking）、クロスロックする（crosslocking）データ要素を含む自己整合性（self-consistency）機構を有するデータ構造を指定するあるタイプのメタデータであることが可能である。自己整合性機構により、電子的に転送されるマルチメディア・プログラミング・データ・ファイルの整合性（consistency）、完全性（completeness）、および有効性（validity）が確実にされる。
【００１０】
一実装形態では、例示的なＧＬＦは、拡張可能マークアップ言語（ＸＭＬ）スキーマ定義（ＸＳＤ）規格の型にはめられ、ＩＤＰには、プログラミング・データを生成して配信するための案内として複数の編集命令からなるセットが供給される。ＸＭＬデータベース（ＸＤＢ）能力を有する受信側エンティティは、ＧＬＦ標準化されたプログラミング・データ・ファイルをインポートすることができ、標準のＸＭＬツールおよびＸＭＬリソースを使用して、さまざまなクライアント向けの実質的に完全で誤りのないプログラミングを生成することができる。ＸＭＬに本来的に備わっている強力なデータ・タイプ指定（data typing）により、ＧＬＦデータ有効性検査（validation）の一態様が提供される。
【００１１】
例示的なＧＬＦは、プログラミング・データにおけるＫｅｙ関係（key relationships）、特にリスティング・データとラインアップ・データの間の関係（リレーション）を標準化する。ＧＬＦのさまざまな実装形態は、多くのタイプのマルチメディア製品において使用することができるプログラミング・コンテンツおよびＥＰＧガイド情報に関するリスティングおよびラインアップに対応するのに十分なだけの豊かさと汎用性を有する。例示的なＧＬＦは、リスティングおよびラインアップに関連する詳細な属性に対応するように、拡大可能であり、拡張可能である。
【発明を実施するための最良の形態】
【００１２】
データの中でリストされるチャネルが実際には存在しないこと、外国語翻訳が誤ったプログラムに付加されていること、または同一のプログラムが複数の固有のＩＤ番号を有していることを見つけ出すためだけに、プログラミング・データ・ファイル１１２、１１４、１１６を使用可能な形態に復号化するのに２０時間の処理時間を投資することはかなり苛立たしい。
【００１３】
本発明の例示した実施形態は、プログラミング・コンテンツおよび電子プログラミングガイド（ＥＰＧ）情報を電子的に、たとえば、ＩＤＰから地域の配信業クライアントに、または異なる言語が話されている国々の間で転送するためのグローバル・リスティング・フォーマット（ＧＬＦ）、ならびに関連する方法およびデータ構造を含む。また、マルチメディアプログラミング・コンテンツおよびＥＰＧ情報のためのＧＬＦは、Ｗｉｎｄｏｗｓ（登録商標）ＸＰ  Ｍｅｄｉａ  Ｃｅｎｔｅｒ  Ｅｄｉｔｉｏｎ（ワシントン州、レッドモンド市、マイクロソフト・コーポレーション）などのマルチメディア処理をサポートするオペレーティング・システムのための整合性のある基礎も形成する。
【００１４】
リスティング要素は、プログラミング・コンテンツ、またはプログラミング・コンテンツのスケジュール設定（scheduling）に関連する任意のデータまたは情報であることが可能である。ラインアップ要素は、プログラミング・コンテンツおよびスケジュール設定が実施されるチャネルのセットに関連する任意のデータまたは情報とすることが可能である。例示的なＧＬＦは、リスティング情報およびラインアップ情報を整合性があるように構造化するためのメタデータとみなすことができる。リスティング情報およびラインアップ情報自体がプログラミング・コンテンツに関するメタデータである限りにおいて、例示的なＧＬＦは、リスティング・メタデータおよびラインアップ・メタデータに関する構成メタデータ（arrangement metadata）である。ＧＬＦメタデータは、整合性のある包括的で正しいプログラミング情報を提供して、ＧＬＦプログラミング・データ・ファイルを受信する所与の地域の配信業者の手元に、任意の所望の詳細さでプログラミング情報およびＥＰＧ情報を提供するのに必要とされる可能性があるすべての情報があるようにすることを目的とする。ＧＬＦメタデータは、整合性のあるリスティング・フォーマットを指定するので、ＧＬＦメタデータを使用する人は誰でも、プログラミング・データについての整合性、完全性、および正しさの点での下流効果を実現することができる。
【００１５】
ＧＬＦプログラミング・データ・ファイルを受信することで、地域の配給元は、誤り訂正および追加情報の収集の退屈な作業から解放されることが可能である。
【００１６】
言い換えれば、例示的なＧＬＦは、プログラミング情報の完全性および有効性を確立し、強制するさまざまなインターロックする機構を含む自己参照構造と、内蔵の自己整合性機構とを有する。ＧＬＦデータ構造の中に含まれる各データ要素は、「取り残された」データ要素、未確認のデータ要素、または不明のデータ要素は存在しないように、参照される。完全性が満たされない場合、さまざまな特定のアクションが後に続くことになる。さまざまなインターロックする機構は、データ・ファイルが有効でないことを検出するだけでなく、何が具体的に誤っているのかについて報告をすることもできる。誤りがログ記録され、誤りについての完全な記述がＩＤＰに送信されることが可能である。ＩＤＰがＧＬＦを所有していることも可能であるため、ＩＤＰは、自らのＧＬＦデータ・ファイルを有効性検査してから地域の配給元に送信することができる。
【００１７】
例示的なＧＬＦの自己参照構造は、重要なプログラミング情報または所望するプログラミング情報が忘れられたり、またはプログラミング・データ・ファイル生成中に誤って挿入されたりすることのないデータ構造を生成するインターロックし、クロスロックする（まとめて「リンクされた」）フィールドおよび／またはデータ要素を有する。「クロスロックする」という用語は、リスティング・データとラインアップ・データの間で連係（linkages）を確立することに関して使用する。これにより、「クロスロックする」は「インターロックする」から区別され、「インターロックする」は、２つのリスティング・データ要素間のリンク、または２つのラインアップ・データ要素間のリンクを指す。
【００１８】
一実装形態では、例示的なＧＬＦは、拡張可能マークアップ言語（ＸＭＬ）スキーマ定義（ＸＳＤ）規格の型にはめられ、ＩＤＰには、プログラミング・データを生成して配信するための案内として複数の編集命令から成るセットが供給される。ＸＭＬデータベース（ＸＤＢ）能力を有する受信側エンティティ１０８は、ＧＬＦ標準化されたプログラミング・データ・ファイルをインポートすることができ、標準のＸＭＬツールおよびＸＭＬリソースを使用して、さまざまなクライアント向けの実質的に完全で誤りのないプログラミングを生成することができる。
【００１９】
例示的なＧＬＦは、プログラミング・データにおけるＫｅｙ関係、特にリスティング・データとラインアップ・データの間の関係を標準化する。「リスティング」は、プログラム情報およびスケジュール情報、たとえば、プログラム・タイトル、固有のプログラムＩＤ、エピソード（episode）タイトル、エピソード番号、説明、製作年、配役（cast）、演技の役割（acting roles）、クルー（crew）、格付け、カテゴリ、長さ、開始時刻、周波数、等を含めるのに使用される。「ラインアップ」は、たとえば、ケーブル、無線放送、およびサテライト・サービス上の所与の領域で利用可能な複数のチャネルなど、チャネリング・データ（channeling data）に関して使用される用語である。したがって、ラインアップ・データは、すべての可用なチャネルのセットを、特定のロケール（particular locale）における所与の受信側エンティティ１０８に適切なより小さいセットに、区分化するのに使用される。
【００２０】
ＧＬＦの実装形態は、多くのタイプのマルチメディア製品に対してリスティングおよびラインアップを適応させるのに十分なだけの豊かさと汎用性を有する。例示的なＧＬＦは、リスティングおよびラインアップに関する詳細な属性に適応するように、発展可能であり、拡張可能である。
【００２１】
プログラミング・データ・ファイル転送環境
図２は、プログラミング・データ・ファイル配信環境を示し、そこにおいて、例示的なＧＬＦデータ・ファイル２０２、２０２’、２０２”を使用して、３つの例のＩＤＰ１０２、１０４、１０６から受信側エンティティ１０８に配信が行われる。例示的なＧＬＦデータ・ファイル・エンジン２０１を各々が有する例のＩＤＰ１０２、１０４、１０６は、プログラム・リスティング１１０の相対的に無限の領域からプログラミング・コンテンツを選択して、地域のプログラミング配信業者などの受信側エンティティ１０８に電子的に転送することができるデータ・ファイルを生成する。それぞれ例示的なＧＬＦデータ・ファイル・エンジン２０１は、例示的なＧＬＦフォーマットでＧＬＦデータ・ファイル２０２を生成するためのＧＬＦメタデータを含むか、またはＧＬＦメタデータに対するアクセス権を有する。それぞれ例示的なＧＬＦデータ・ファイル２０２、２０２’、２０２”において、プログラミング・データは、転送されるべきプログラム・リスティング１１０からのそれぞれの選択された要素が、適切な場合、チャネル・ラインアップ２０４の領域からの１つまたは複数の要素によって付随されるように、構造化される。さまざまなリスティング要素およびラインアップ要素は、適切な場合、インターロックされ、クロスロックされて、自己整合性機構（すなわち、以下により十分に説明する自己参照のインターロックおよびクロスロック）を含む例示的なＧＬＦデータ構造を提供する。したがって、例示的なＧＬＦメタデータに従ってフォーマットされた例示的なＧＬＦデータ・ファイル２０２は、いずれのＩＤＰ１０２、１０４、１０６がプログラミング・データ・ファイルを生成するかにかかわらず、実質的に完全な、誤りのないプログラミング情報を有する。
【００２２】
例示的なＧＬＦデータ構造の中に埋め込まれた自己整合性機構は、実質的に完全な、誤りのないプログラミング情報を確実にして、プログラミング・データが国際ソース間で転送される場合に特に役立つ。組み込まれた言語翻訳フィールドをオプションとして使用して、適切なデータ要素内に言語翻訳が挿入されること、または適切なデータ要素にインターロックされることを確実にすることができる。受信側エンティティ１０８は、それぞれの受信されたＧＬＦデータ・ファイル２０２を処理して、所定のフォーマットに忠実である（２０８）プログラミング２０６を得る、つまり、完全性および有効性のＧＬＦ標準に準拠する使用可能なプログラミング２０６を得る。さらに、ＧＬＦデータ・ファイル２０２の中でリストされたチャネルは、受信側エンティティの場所（ロケーション）において実際に存在する（２１０）。また、例示的なＧＬＦデータ構造は、データの完全性と整合性も確実にする。すなわち、必要とされるデータ要素が存在すること（たとえば、プログラム・リスティングが供給される場合、ラインアップ情報も供給される）（２１２）、データが内部で整合性を有すること（すなわち、矛盾が全く存在しない）（２１４）、および供給された各データ要素に正しいデータ・タイプが適用されていること（２１６）を確実にする。
【００２３】
例示的なＧＬＦシステム構成要素
図３は、図２の例示的なＧＬＦデータ・ファイル・エンジン２０１をより詳細に示している。もちろん、他のエンジン、ルーチン、規則などの他の手段も例示的なＧＬＦデータ構造結果をもたらすことができる。例示的なＧＬＦデータ・ファイル・エンジン２０１は、ＧＬＦメタデータ３００を使用してデータ要素と属性をリンクして、ＧＬＦデータ・ファイル２０２の少なくとも一部を含むＧＬＦデータ構造にする。一実装形態では、リスティング・データ入力部（inputter）３０２およびラインアップ・データ入力部３０４が、それぞれ、リスティング・データ要素インターロッカー（interlocker）３０６およびラインアップ・データ要素インターロッカー３０８と通信するように結合される。リスティング・データ要素インターロック器３０６およびラインアップ・データ要素インターロック器３０８は、リスティング・データ要素−ラインアップ・データ要素クロスロッカー（crosslocker）３１０と通信するように結合される。２つのインターロッカー３０６、３０８、およびクロスロッカー３１０は、ＧＬＦメタデータ３００と通信するように結合され、かつ／またはＧＬＦメタデータ３００に対するアクセス権を有する。ＧＬＦデータ・ファイル出力器３１２は、ＧＬＦデータ・ファイル２０２、または受信側エンティティ（図２の１０８）が処理して使用可能なプログラミング２０６にすることができるＧＬＦデータ・ファイル構成ファイルの組合せを生成する。また、ＧＬＦデータ・ファイル出力部３１２は、データ・タイプの有効性検査も含め、インターロックされた要素および属性、およびクロスロックされた要素および属性の有効性検査も行うことができる。また、入力部３０２、３０４は、例示的なＧＬＦデータ・ファイル・エンジン２０１に入力されたデータの有効性検査も行うことができる。
【００２４】
インターロッカー３０６、３０８およびクロスロッカー３１０の目的は、ＧＬＦデータ・ファイル２０２に完全性および有効性を与えることであり、つまり、言い換えれば、各プログラムに対して期待されるデータ要素および属性が、存在し、完全であり、適切な形態になっている、そのようなデータ構造を生成することである。この完全性および有効性を提供するためのフォーマットは、ＧＬＦメタデータ３００によって供給される。本発明の一部の実装形態では、ＧＬＦメタデータ３００は、プログラムに関する完全な情報を、特に完全な関連するラインアップ情報を収集するための１組の規則、１組のタグ、１つまたは複数のテンプレート、および／または１つまたは複数のマークアップ言語スキーマである。具体的には、ＧＬＦメタデータ３００は、プログラムが「放送」される所与の地理的区域または地政学的区域に対する有効なチャネル定義の構成を行うことを目的とする。したがって、リスティング・データ入力部３０２にプログラム・タイトル、または固有のＩＤ番号が提供された場合、リスティング・データ要素インターロッカー３０６は、ＧＬＦデータ・ファイル２０２が有効であると見なされる（たとえば、有効性検査に合格する等）ことになる前に、予定の番組に対して他の必要とされるフィールドをリンクし、これらの他の必要とされるフィールドによって提供された「空白を埋める」ようにリスティング・データ入力部３０２およびラインアップ・データ入力部３０４に促す。完全性に関するこれらの強要（insistence）を有するこの整合性があり、厳格に強制されるメタデータ規則により、ＧＬＦデータ・ファイル・エンジン２０１は、情報の誤った提示、プログラムの破壊、およびシステムのフリーズ（frozen system）を生じさせるラインアップ・データの場当たり的な挿入を回避することが可能になる。
【００２５】
一部の実装形態では、ＧＬＦメタデータ３００は、拡張可能マークアップ言語（ＸＭＬ）などの言語担体（language vehicle）のマークアップ情報の形態をとる。ＸＭＬのケースでは、マークアップ言語の要素および属性は、たとえば、ＧＬＦの完全性および有効性を確立して強制するＫｅｙ制約（key constraints）およびＫｅｙｒｅｆ制約（keyref constraints）によって、論理的にリンクすることができる。
【００２６】
ＸＭＬなどのマークアップ言語が例示的なＧＬＦのための担体として選択される場合、ＧＬＦデータ・ファイル２０２は、以下により詳細に説明するとおり、１つまたは複数のＧＬＦ．ｘｓｄファイルに照らして有効性検査を行うことができることに留意されたい。また、ＧＬＦがそのようなマークアップ言語の型にはめられる場合、ＧＬＦデータ構造およびＧＬＦデータ・タイプを都合よく形成し、有効性検査するのにその言語に関連するすべてのツールおよびリソースを使用することができる。
【００２７】
リスティング・データ要素インターロッカー３０６は、リスティング・データ要素およびリスティング・データ属性を他のリスティング・データ要素およびリスティング・データ属性にリンクする。たとえば、リスティング・データ要素が、たとえば、プログラム名であり、「スタートレック」のエピソードである場合、リスティング・データ要素インターロッカー器３０６は、ＧＬＦデータ・ファイル・エンジン２０１に供給されるべき、およびリスティング・データ要素内のコンテンツとして正しく入れられるべき、スタートレック・エピソードの継続時間などの第２のリスティング要素を、要求することができる。
【００２８】
同様に、ラインアップ・データ要素インターロッカー３０８は、ラインアップ・データ要素およびラインアップ・データ属性を他のラインアップデ・ータ要素およびラインアップ・データ属性にリンクする。たとえば、ラインアップ・データ要素が地理的区域、たとえば、カリフォルニア州、サンノゼ市内の郵便番号区域である場合、ラインアップ・データ要素インターロッカー３０８は、ＧＬＦデータ・ファイル・エンジン２０１に供給されるべき、およびラインアップ・データ要素の中にコンテンツとして正しく入れられるべき、所与の郵便番号区域内で利用可能なヘッドエンドの名前などの第２のラインアップ・データ要素を、要求することができる。
【００２９】
リスティング・データ要素−ラインアップ・データ要素クロスロッカー３１０は、リスティング・データ要素またはリスティング・データ属性を１つまたは複数のラインアップ・データ要素またはラインアップ・データ属性にリンクする。たとえば、あるまとまりのスケジュール情報（リスティング・データ）が、あるチャネル（ラインアップ・データ）に関してだけ関連することがある。クロスロッカー３１０は、スケジュール・リスティング・データが存在すると、チャネル・ラインアップ・データが供給されて、正しく入れられることを要求する。クロスロック器３１０もインターロック器３０６、３０８も、ＧＬＦメタデータ３００によって記述されるＧＬＦを確立し、厳格に強制するので、ＧＬＦデータ・ファイル２０２（またはＧＬＦデータ・ファイルのセット）全体は、特定の言語が話され且つ一部のチャネルだけは利用可能であるが他のチャネルは利用可能ではない意図された地理的区域または地政学的区域に対して完全で有効なプログラミング情報を提供する、整合性のある形で適用された、複数のインターロックおよび複数のクロスロックを含んでいる。
【００３０】
図４は、例示的なＧＬＦデータ・ファイル２０２の形成を示し、ＧＬＦデータ・ファイル２０２内のリスティング４０２およびラインアップ４０４は、コンピューティング・デバイス・メモリ４００の中にデータ構造として常駐するＧＬＦメタデータ３００から形成される。メモリ４００を有し、本発明を実施するための環境として適切であるコンピューティング・デバイスを以下に図９に関連して詳細に説明する。図４に示した実装形態では、リスティング４０２は、プログラム情報４０６およびスケジュール情報４０８のサブ・カテゴリを収容することが可能である。ラインアップ４０４は、この実装形態では、区域４１０（ロケーション情報）、ヘッドエンド４１１、およびチャネル・ラインアップ４１２（ヘッドエンドごとの）のサブ・カテゴリを収容することが可能である。ヘッドエンドは、特定のケーブル・サービス上のチャネルなどの１つのソースで利用可能な複数のチャネルのセットを定義する。ヘッドエンドの例は、ＤｉｒｅｃｔＴＶ全国フィード（national feed）、特定の区域向けの無線チャネル、およびケーブル会社のチャネル提供である。チャネル・ラインアップ（ヘッドエンドごとの）は、ヘッドエンドとチャネルの間の関係を形成する。区域とは、あるヘッドエンドが存在する地理的区域または地政学的区域を指す。
【００３１】
リスティング４０２とラインアップ４０４の両方の存在により、所定の場所向けの有効なチャネル４１３の生成が可能になる。例示的なＧＬＦメタデータ３００に従ってフォーマットされるべき着信データは、リスティング４０２、ラインアップ４０４、および／またはサブ・カテゴリ４０６、４０８、４１０、４１１、４１２のいずれかから選択される、または形成されることが可能である。
【００３２】
例示的なＧＬＦデータ構造内で、リスティング・データ４１４がラインアップ・データ４１６にクロスロックされる。つまり、リスティング・データ要素に関するフィールドと、ラインアップ・データ要素に関する関係があり、かつ／またはサポートするフィールドと、の間で連係が包括的に確立される。さらに、リスティング・データ４１４内の要素およびサブ要素に関するフィールドが、ラインアップ・データ４１６の要素およびサブ要素に関するフィールドにクロスロックされることに加えて、互いにインターロックされることが可能である。同様に、ラインアップ・データ４１６内で、要素およびサブ要素に関するフィールドが、リスティング・データ４１４の要素およびサブ要素に関するフィールドにクロスロックされるばかりでなく、互いにインターロックされることが可能である。
【００３３】
たとえば、リスティング・データ「要素１」４１８が、テレビジョン・エピソード、たとえば、「スタートレック」である場合、このエピソードは、サテライトプログラミング配給元を介してだけ利用できる可能性があり、したがって、リスティング・データ「要素１」４１８は、この場合、サテライトプログラミング配給元を表わすラインアップ・データ「要素１」４２０にクロスロックされる。同様に、ラインアップ・データ「要素１」は、たとえば、スタートレック・エピソードがサテライトを介してブロードキャストされる特定のチャネルを表わすラインアップ・データ・サブ要素４２２にインターロックされる。同様に、リスティング・データ「要素１」４１８に戻ると、スタートレック・エピソードは、スタートレック・エピソードがブロードキャストされる日の時刻を表わすリスティング・データ・サブ要素４２４にインターロックされる。データ要素に対してインターロックし、クロスロックするフィールドについての特定の例示した実装形態は、発明を例示することだけを意図しており、他の例示的なＧＬＦでは、インターロックおよびクロスロックは異なる可能性がある。
【００３４】
情報が追加されるにつれ、データ要素に関するフィールド間のインターロックし、クロスロックする連係は、例示的なＧＬＦメタデータ３００によって指定される例示的なＧＬＦデータ構造の成長のすべてにわたって適用される。したがって、たとえば、リスティング・データ「要素２」４２６が、ラインアップ・データ「要素２」４２８にクロスロックされ、リスティング・データ「要素１」４１８にインターロックされる。リスティング・データ「要素３」４３０が、ラインアップ・データ「要素３」４３２にクロスロックされ、リスティング・データ「要素１」４１８およびリスティング・データ「要素Ｎ」４３４にインターロックされ、リスティング・データ「要素Ｎ」４３４は、ラインアップ・データ「要素Ｎ」４３６にクロスロックされ、リスティング・データ「要素３」４３０にインターロックされる。同様に、ラインアップ・データ要素およびラインアップ・データ・サブ要素に関するフィールドは、リスティング・データ要素にクロスロックされることに加えて、互いにインターロックされることが可能である。
【００３５】
図５は、例示的なＧＬＦデータ・ファイル２０２の中のデータ構造の一実装形態を示し、ＧＬＦデータ・ファイル２０２において、データ要素に関するフィールド間のクロスロックされ、インターロックされた連係は、「必須フィールド（required field）」の論理関係を含んでいる。例示したラインアップ「要素１」５０２のような第１のデータ要素が存在する場合、生成されるデータ・ファイルが有効であるためには、さらに、ラインアップ「要素１」５０２にリンクされたデータ・フィールドが、含められて、正しく入れられたデータとともに、供給されなければならない。ラインアップ「要素１」５０２にリンクされた「必須フィールド」は、リスティング「要素２」５０４のようなリスティング要素、「サブ要素Ａ」５０６のようなリスティング・サブ要素、ラインアップ「要素２」５０８のような他のラインアップ要素、および／またはサブ要素５１０、５１２、５１４、５１６、およびサブサブ要素５１８のようなラインアップ・サブ要素等を含むことが可能である。したがって、例示的なＧＬＦ２０２のデータ構造は少なくともいくつかのインターロックするフィールドから構成されるため、例示的なＧＬＦ２０２データ構造のさまざまなセクションは、「全か無か（all-or-nothing）」の形で、存在するか、または存在しない。ラインアップ「要素１」５０２がＧＬＦ２０２データ構造に追加された場合、この実装形態では、データ構造セクション５２０は、そっくりそのまま存在しなければならない。ＧＬＦデータ・ファイル２０２を生成するＩＤＰは、ラインアップ「要素１」５０２のような新しいデータ要素に付随するか、またはそれを囲む、データ構造セクション５２０を完成させるために、情報を追加するように促されることが可能である。
【００３６】
ＧＬＦの例示的なＸＳＤ実装形態
前述したとおり、一実装形態では、例示的なＧＬＦメタデータ３００は、ＸＭＬスキーマ定義（ＸＳＤ）規格、および複数の編集命令から成るセットを含む。ＧＬＦ．ｘｓｄスキーマに準拠する構造のデータ・ファイルは、以下に説明する多くの特徴を提供する。ＸＭＬでは、データは、階層的に構造化されている。階層化構造は、やはり階層的に構造化されているプログラミング・コンテンツおよびＥＰＧ情報のための優れた担体である。ＧＬＦ．ｘｓｄスキーマに準拠する例示的なデータ・ファイルは、ＸＭＬデータベース（ＸＤＢ）能力を有する受信側エンティティ１０８がインポートして、整合性のある、標準化された、真に完全な、実質的に誤りのないプログラミング・データ２０６を得るように処理することができる、データ・ファイルの正しい生成を容易になる。たとえば、プログラミング・データ２０６は、スケジュール情報４０８に対して完全である、というのは、含まれるすべてのチャネルが、関係のある地理的区域内または地政学的区域内に存在し、且つデータ・ファイルの中に含まれる時間範囲全体にわたってそれらのチャネルに間隙なくプログラミングが供給されている、時間の連続ブロックをスケジュール・データが表わすように、ＧＬＦ．ｘｓｄスキーマが指示するからである。
【００３７】
ＧＬＦ．ｘｓｄスキーマに準拠する例示的なＧＬＦデータ・ファイル２０２は、追加のインポート作業またはクエリ調整を全く必要とせず、現在、知られているプログラミング属性を符号化し、新しい属性が生じるにつれてその属性を符号化するのに十分に豊かな構造を有する。さらに、ＧＬＦ．ｘｓｄスキーマは、ＸＭＬのＸＳＤ機能を介して国際リスティング・データ（すなわち、さまざまな言語）を扱うように設計されている。また、ＧＬＦ．ｘｓｄスキーマは、オペレーティング・システムから独立してある。ただし、一部の実装形態では、ＸＭＬ検証およびＸＳＤ有効性検査が必要とされる可能性がある。
【００３８】
例示的なＧＬＦ．ｘｓｄスキーマ・データ構造では、基本的なリスト関係は、厳格な形式に従って表現される。正しいデータ生成およびデータ配信を確実にするように厳格な有効性検査が提供される。厳格な形式が使用されるが、ＧＬＦ．ｘｓｄスキーマは、比較的コンパクトであり、効率的であり、ただし、データ生成およびデータの有効性検査が悪影響を受けるほどではない。例示的なＧＬＦスキーマを使用する受信側エンティティ１０８は、Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂコンソーシアム（Ｗ３Ｃ）ＸＳＤ準拠スキーマに照らしてＸＭＬドキュメントを構文解析し、有効性検査する。一部の実装形態では、マイクロソフト（商標）（ワシントン州、レッドモンド市、マイクロソフト・コーポレーション）のＸＭＬ４（ＭＳＸＭＬ４）の使用が推奨される。例示的な．ｘｓｄスキーマは、基礎にあるデータに関して参照の完全性制約および必須フィールドを押しつけ、すべてのＩＤＰによってはサポートされていない可能性があるが、それでも厳格に定義されなければならない、特徴に関する、追加の構造を定義する。例示的なＧＬＦ．ｘｓｄスキーマに準拠するＧＬＦデータ・ファイル２０２は、電子転送を容易にするように複数のプログラミング・データ・ファイルの中に記憶されることが可能である。
【００３９】
図６は、ＧＬＦメタデータ３００を示し、これは、例示的なＧＬＦ．ｘｓｄスキーマ６００を、含み、かつ／または備えている。図示した例示的なＧＬＦ．ｘｓｄスキーマ６００は、ＧＬＦＬｉｓｔｉｎｇｓ．ｘｓｄ構成要素６０２、ＧＬＦＬｉｎｅｕｐｓ．ｘｓｄ構成要素６０４、およびＧＬＦＦｕｎｄａｍｅｎｔａｌｓ．ｘｓｄ構成要素６０６、の複数の構成要素に分割することができる集合体である。
【００４０】
ＧＬＦＦｕｎｄａｍｅｎｔａｌｓ．ｘｓｄ構成要素６０６は、集合体ＧＬＦ．ｘｓｄスキーマ６００において使用される基本的なデータ・タイプ定義６０７を収容する。ＧＬＦＬｉｓｔｉｎｇｓ．ｘｓｄ構成要素６０２は、リスティング４０２に関連するデータの部分を定義し、ＧＬＦＬｉｎｅｕｐｓ．ｘｓｄ構成要素６０４は、ラインアップ４０４に関連するデータの部分を定義する。ＧＬＦＬｉｓｔｉｎｇｓ．ｘｓｄ構成要素６０２とＧＬＦＬｉｎｅｕｐｓ．ｘｓｄ構成要素６０４は、共通のデータエンティティ、チャネル、すなわち、有効なチャネル定義６０８によって合併させられる。
【００４１】
一実装形態では、ＧＬＦＬｉｓｔｉｎｇｓ．ｘｓｄ構成要素６０２、ＧＬＦＬｉｎｅｕｐｓ．ｘｓｄ構成要素６０４、およびＧＬＦＦｕｎｄａｍｅｎｔａｌｓ．ｘｓｄ構成要素６０６は、別々のモジュールとして使用することができる。リスティングおよびラインアップは、しばしば、異なる集団の人々によって、つまり、異なるタイプのＩＤＰによって生成されているため、集合体ＧＬＦ．ｘｓｄスキーマ６００をＧＬＦＬｉｓｔｉｎｇｓ．ｘｓｄ構成要素６０２とＧＬＦＬｉｎｅｕｐｓ．ｘｓｄ構成要素６０４に分割することは、集合体ＧＬＦ．ｘｓｄスキーマ６００の構成要素６０２、６０４に準拠するデータ・ファイルが、異なる場所で、異なるエンティティにより、かつ／または異なる時点で生成され、その結果、受信側エンティティ１０８によって結合されてＧＬＦ．ｘｓｄスキーマ６００に準拠する集合体プログラミング・データ・ファイルが形成されることを可能にすることに、役立つ可能性がある。これは、ＧＬＦデータ構造に整合性があり、構成要素の断片部分がどこを起源とするかにかかわらず構成要素が内部適合性を有する（intra-compatible）ために、可能である。リスティング情報だけを提供するＩＤＰは、ＧＬＦＬｉｓｔｉｎｇｓ．ｘｓｄ構成要素６０２（および定義のインポート元であるＧＬＦＦｕｎｄａｍｅｎｔａｌｓ．ｘｓｄ構成要素６０６）だけを使用することが可能である。同様に、ラインアップ情報だけを提供するＩＤＰは、ＧＬＦＬｉｓｔｉｎｇｓ．ｘｓｄ構成要素６０４（およびＧＬＦＦｕｎｄａｍｅｎｔａｌｓ．ｘｓｄ構成要素６０６）だけを使用することが可能である。
【００４２】
さまざまな．ｘｓｄスキーマ定義ファイル構成要素６０２、６０４、６０６は、自己完結型（self-contained）であり、すなわち、スキーマ定義に関して外部ファイルを参照する必要がない。したがって、集合体ＧＬＦ．ｘｓｄスキーマ６００は、リスティング構成要素、ラインアップ構成要素、チャネル定義構成要素、およびデータ・タイプ定義構成要素を結合して、電子転送に適した単一のファイル表現にすることができ、あるいは、前述したとおり、構成要素６０２、６０４、６０６を別々のファイルとして独立に電子的に転送することができる。
【００４３】
ＧＬＦの例示的なＸＳＤ実装形態の参照構造
１つの例示的なＸＳＤ実装形態では、ＧＬＦメタデータ３００は、１次Ｋｅｙ（１次「ＩＤ」とも呼ばれる）を有する３つの基本的なエンティティを定義する。これらは、「プログラム」、すなわち、タイトルおよび説明などのフィールドを含むテレビジョン・プログラミングの定義；「チャネル」、すなわち、たとえば、放送事業者の定義などのテレビジョン・プログラミング・ソース；および「ヘッドエンド」、すなわち、複数のテレビジョン・プログラミング・ソースからなるグループの定義である。プログラムＫｅｙ、チャネルＫｅｙ、およびヘッドエンドＫｅｙ（またはＩＤ）は、各ＩＤＰ１０２、１０４、１０６に対して、無期限に存続させられ、再使用されない、すなわち、各プロバイダは、独自のＩＤ空間を管理する責任を負う。このことは、言語翻訳を通しての一貫性を確実にすることに役立ち、単一のプログラムに対するＩＤの増加が防止される。そのような一貫性は、プログラムの自動記録などの機能のために重要である。プログラムが既に記録済みである場合、追加のプログラムＩＤ番号が不必要に生成されたことに起因してプログラムを再び記録することは、望ましくない。
【００４４】
以上に定義した３つの基本的なエンティティは、データを一緒に結び付ける３つのさらなるエンティティによってさらに関係付けられる。これらは、「スケジュール」、すなわち、チャネル上のプログラム開始時刻およびプログラム継続時間の定義；「ラインアップ」、すなわち、特定のヘッドエンドに関連付けられた複数のチャネルのセットの定義；および「エリア」、すなわち、たとえば、郵便番号によるロケールに応じたヘッドエンド・マッピングの定義、である。
【００４５】
３つの１次エンティティと３つの追加のエンティティの間の構造化された関係は、ＧＬＦ自己整合性機構に関するメタデータを備える。参照構造として表現される自己整合性メタデータは、ＸＳＤ内の適切なレベルに配置されたＫｅｙ制約とＫｅｙｒｅｆ制約との手段を使用して、３つの１次エンティティと３つの追加のエンティティの間でデータの参照の完全性を確立し、強制する。これらの制約は、リレーショナル要素（relational element）（たとえば、スケジュール要素）の中で参照されるすべてのデータ要素がプログラミング・データ・ファイルの中に存在しなければならないこと、そうでなければこのファイルは有効と見なされないこと、を確実にする。
【００４６】
ＧＬＦ．ｘｓｄスキーマ６００に準拠する例示的なＸＭＬプログラミング・データ・ファイルの表現は、付録Ａ：「ＧＬＦ規格に準拠する例示的なＧＬＦデータ・ファイル・サンプル」に示される。この表現は、の要素、属性、および対応する値についての省略された抜粋（selection）だけを含む。したがって、ＧＬＦ．ｘｓｄスキーマ６００に準拠する通常のＧＬＦデータ・ファイル２０２は、図示したものより多くのエントリ、および／または異なる要素、異なる属性、および／または対応する値を収容することが可能である。
【００４７】
ＧＬＦの例示的なＸＳＤ実装形態の拡張可能性
例示的なＧＬＦ．ｘｓｄスキーマ６００によって与えられる自己参照データ構造は、リスティングとラインアップの両方に関して拡張可能である。例示的なＧＬＦ．ｘｓｄスキーマ６００では、リスティング６０２は、図４を参照して前述したとおり、プログラム情報４０６およびスケジュール情報４０８から成る。
【００４８】
図７は、例示的なＧＬＦＬｉｓｔｉｎｇｓ．ｘｓｄ構成要素６０２の別の実装形態を示し、ここにおいて、プログラム情報４０６の構造を、プログラム・フラグ７０２、スケジュール・フラグ７０４、プログラム値７０６、スケジュール値７０８、プログラム役割７１０、プログラム名７１２、プログラム・カテゴリ７１４、およびさまざまな言語翻訳７１６、７１８、７２０、７２２、７２４などの、オプションのサブ要素および／または属性をリンクすることによって、豊かにすることができる。
【００４９】
フラグ７０２は、属性がとることが可能な値の領域（domain）が小さい場合に、たとえば、米国内のＭＰＡＡやスター格付けなどのテレビジョン格付けが、それぞれの可能な値に対応するフラグの小さいセットによって表わされることが可能である場合に、プログラムの一般的な属性を表現するのに使用されるブール機構（Boolean mechanism）である。
【００５０】
プログラム値７０６およびスケジュール値７０８は、属性がとることが可能な値の領域が比較的大きい場合のプログラムまたはスケジュールの属性、たとえば、プログラムが公開された年、または「月曜日ゴールデン・アワー（primetime）」というスケジュール属性を表わすのに使用される汎用Ｋｅｙ−値機構である。Ｋｅｙ−値ペアの拡張性は、プログラムタイプとスケジュール・タイプの両方に関して適用できる。いくつかのＫｅｙ−値ペアが、プログラム情報エントリ（４０６）またはスケジュール情報エントリ（４０８）に割り当てられることが可能である。スケジュール値７０８は、プログラムの特定の放送、たとえば、「により提供される」や「会社名」に関していることを除けば、プログラム値７０６と同様である。
【００５１】
プログラム役割（program roles）７１０およびプログラム名７１２は、プログラムに、配役、クルー・メンバ（crewmember）およびいくつかの機能を関連付ける。たとえば、作家の名前、プロデューサーの名前、および監督の名前が、「ジェームズＴカーク船長としてのウイリアム・シャトナー」のような配役情報とならんで、役割の中に格納されることが可能である。オプションとして、名前および役割を順序付けるための明示的な属性も含められる。また、提示のために、役割についての複数の翻訳をサポートするためのオプションの規定も存在することが可能である。プログラム役割７１０は、以上の仕方で表現されて、厳格なスキーマ有効性検査（schema validation）を提供し、プログラムまたは個人に関連するプログラム役割７１０の数を恣意的に制限することなく、コンパクトな表現を提供する。プログラム・マップ７２６および／またはスケジュール・マップ７２８は、プログラム役割７１０およびプログラム名７１２をプログラムＩＤなどのさまざまなプログラム情報（４０６）データ要素にリンクするＧＬＦ構造の中に含められることが可能である。
【００５２】
プログラム・カテゴリ７１４は、関連するプログラムをグループ化するのに使用される階層式カテゴリ構造に対する複数のリファレンスのセットである。たとえば、ＥＰＧメニューイング（menuing）のために「すべてのニュース・プログラム」、「すべてのスポーツ・プログラム」等に分類することに役立つ可能性がある。プログラム・カテゴリ７１４は、探索のための重要な属性である。タイトルでプログラムを探索しなければならない代わりに、ユーザは、階層のセットまたはツリーを探索し、タイトルを知らずにプログラムを見付け出すことができる。
【００５３】
オプションのサブ要素、および／または属性のテキスト・フィールド（たとえば、プログラム・タイトル）についてのさまざまな翻訳７１６、７１８、７２０、７２２、７２４も、プログラム情報４０６およびスケジュール情報４０８に関連付けられることが可能である。プログラムに関する情報が複数の言語で用意されている場合、追加のプログラム翻訳をプログラムの固有の「プログラムＩＤ」番号に割り当てて、さまざまな言語に対応することができる。
【００５４】
スケジュール情報４０８は、プログラムＫｅｙ（ＩＤ）リファレンス、チャネルＫｅｙ（ＩＤ）リファレンス、開始時刻、および持続時間秒数を含むことが可能であり、プログラムＩＤリファレンス、チャネルＩＤリファレンス、および開始時刻を使用して複数のプログラムを複数のチャネルにマップすることができる。プログラム情報４０６と同様に、スケジュール情報４０８も、図示したよりもさらに多くのオプションのサブ要素および／または属性を使用して拡張することができる。
【００５５】
スケジュール・フラグ７０４は、プログラム・フラグ７０２と同様であるが、プログラムの特定の放送に関して存在する。したがって、スケジュール・フラグ７０４は、属性がとることが可能な値の領域が小さい場合に放送の一般的な属性、たとえば、真または偽である「字幕放送付き（closed captioned）」を表わすのに使用されるブール機構である。任意の数のブール・スケジュール・フラグ７０４をスケジュール情報４０８の中のスケジュール・エントリに割り当てることができる。いくつかの例には、米国「Ｖｃｈｉｐ」レーティング、米国コンテンツ・レーティング、カナダＴＶレーティング、ドルビー・デジタル、ＨＤＴＶ、および「レター・ボックス（Letterbox）」が含まれる。スケジュール・フラグ７０４は、別のスケジュール・フラグに結び付けられて、たとえば、所与のプログラムが、火曜日にはドルビー方式であるが、水曜日には通常のステレオだけであることを示すことが可能である。また、スケジュール・フラグ７０４は、複部構成のプログラムの部分の番号を示すこと、またはプログラムがテレビジョン向けに編集されていることを示すこと、も可能である。フラグ言語翻訳７２４が、スケジュール・フラグ７０４に付随することが可能である。
【００５６】
リスティング４０２と同様に、ラインアップ４０４も、以下に説明するラインアップ・タイプ、チューナ・ポジション、チューナ・ポジションごとのチャネル、ならびに地理的区域および／または地政学的区域などのオプションのサブ要素および属性を介して拡張可能である。
【００５７】
ラインアップ・タイプは、アナログ・ラインアップ（地上ブロードキャスト、デジタル・ケーブル、およびアナログ・ケーブルに関して使用される）、アナログ・サテライト（大きいフォーマットのアナログ・サテライトに関して使用される）、ＤＶＢ、ＡＴＳＣ、および「マップされていない」（プロバイダが調整情報を提供することができない場合に以上のタイプのいずれに関しても使用される）を含む。区域は、特定の地理区域および／または地政学的区域におけるラインアップ（ヘッドエンド、すなわち、チャネルのセット）の可用性を定義する。
【００５８】
チューナ・ポジションは、ラインアップにおけるチャネルに割り当てられたオプションのデータ要素である。チューナ・ポジションデータ要素は、受信機を特定のチャネルにチューニングするのに使用される情報を表わす。このデータは、一般に、受信機が番号（周波数）によるチューニングをサポートする状況においてだけ適用可能である。多くの国々では、テレビジョンは、使用に先立ってユーザが構成しなければならないラジオ・ボタン様式のチャネル選択器を備えている（これは、「チャネルごとの」チューニングを備えたビデオ・カセット・レコーダの古い様式と同様である）。チューナ・ポジションの拡張は、「一つのチューナ・ポジションにつき複数のチャネル」データ要素であり、すなわち、複数のチャネルソースが一つのチューナ・ポジションを占める。これらは、通常、２つのタイプ、すなわち、スケジュール設定されるタイプとスケジュール設定されないタイプのものである。スケジュール設定されるシナリオは、ゴールデン・アワー中のプログラミングの後、指定された時刻後に成人プログラミングに切り替わることを含む。スケジュール設定されていないとは、２つまたはそれより多くのチャネルが同一のチューナ・ポジションを占め、たとえば、支払い済みのプログラミングの上に無料のプログラミング予告（preview）を流しているＰＰＶチャネルのケースでは、いずれも所与の時刻にオンであることが可能である。
【００５９】
ＧＬＦ方法
図８は、本発明に従ってプログラミング・データをフォーマットするための例示的な方法８００を示している。この方法８００は、図２〜３に示した例示的なＧＬＦデータ・ファイル・エンジン２０１などのモジュールによって行われることが可能である。この流れ図では、動作は、個々のブロック内に要約されている。動作は、ハードウェアにおいて、かつ／またはプロセッサによって実行することが可能なマシン可読命令（ソフトウェアまたはファームウェア）として行われることが可能である。
【００６０】
ブロック８０２で、第１のリスティング要素が受信される。リスティング要素は、プログラミング・コンテンツ、またはプログラミング・コンテンツのスケジュール設定に関連する任意のデータまたは情報であることが可能である。たとえば、リスティング要素は、プログラム名、エピソード番号、製作年、配役、演技の役割、クルー、格付け、カテゴリ、長さ、開始時刻、周波数等を含むことが可能である。ＧＬＦメタデータ３００の形態であることが可能なＧＬＦは、ＧＬＦデータ・ファイル２０２を受信する所与の地域の配信業者が、手元に、任意の所望の詳細さでプログラミング情報およびＥＰＧ情報を提供するのに必要とされる可能性があるすべての情報を入手するように、包括的なプログラミング情報を提供することを目的とする。
【００６１】
ブロック８０４で、第１のリスティング要素に関連するリスティング要素およびラインアップ要素が受信される。ＧＬＦは、そのの自己参照構造のため、そこに包含されるデータの完全性を確実にする。あるデータ要素が必要とされるが、リンクされたフィールドに入れられていない場合、ＧＬＦデータ・ファイル２０２は有効でないと見なされる。通常、ＩＤＰは、手元のＧＬＦを「埋める」のに必要とされる所望の情報または所要の情報を有するが、独自仕様のファイル・フォーマッティングは、欠落した部分および／または誤りを結果として生じさせる。
【００６２】
ブロック８０６で、リスティング要素およびラインアップ要素が有効性検査される。ＧＬＦデータ・ファイル２０２を生成するプロセスのいくつかのポウントで、ＧＬＦデータ構造に追加されているさまざまな要素および属性が、適切なデータ・タイプの使用を含め、適切な形式に関して照合され、かつ／または有効性検査される。一部の実装形態では、ブロック８０６の有効性検査は、プロセスの後期に行われることが可能であるが、多くの実装形態は、データの完全性、チェックサム照合等を含め、有効なデータ・タイプおよび適切な形式を入力時に検査する。リスティング要素およびラインアップ要素が「手作業で」入力される、あるいはユーザ・インターフェースまたはプログラミング環境を介して人為的監督下で入力される例示的な手作業の入力実装形態では、たとえば、ＧＬＦデータ構造に挿入が試みられた時点で、誤ったデータ・タイプが、即時に特定されて、拒否されることが可能である。他の実装形態では、誤ってフォーマットされたデータ・フィールドまたはコンテンツが、自動的に、かつ／または電子的に特定され、かつ／または訂正される。
【００６３】
ブロック８０８で、関連するリスティング要素およびラインアップ要素が第１のリスティング要素にリンクされる。言い換えれば、図５に示したセクション５２０のようなＧＬＦデータ構造のセクションは、要素および属性で徹底的に埋められるか、あるいは、データ構造セクションの少なくとも「必須フィールド」が埋められる。
【００６４】
ＧＬＦデータ構造のさまざまな要素間で確立されたインターロックおよびクロスロックは性質として論理的であり、必ずしも物理的ではなく、したがって、サイズにより、例示的な大きいＧＬＦデータ・ファイル２０２が、複数部分で、たとえば、図６に示したＧＬＦＬｉｓｔｉｎｇｓ．ｘｓｄファイル６０２部分、ＧＬＦＬｉｎｅｕｐ．ｘｓｄファイル６０４部分、およびＧＬＦＦｕｎｄａｍｅｎｔａｌｓ．ｘｓｄファイル６０６で電子式に送り出されることが妨げられることはない。
【００６５】
例示的なコンピューティング・デバイス
図９を参照すると、コンピュータ９００の構成要素は、限定されないが、処理ユニット９２０、システム・メモリ９３０、ならびにシステム・メモリから処理ユニット９２０までを含むさまざまなシステム構成要素を結合するシステム・バス９２１が含まれることが可能である。システム・バス９２１は、さまざまなバス・アーキテクチャのいずれかを使用するメモリ・バスまたはメモリ・コントローラ、周辺バス、およびローカル・バスを含むいくつかのタイプのバス構造のいずれかであることが可能である。例として、限定としてではなく、そのようなアーキテクチャには、インダストリ・スタンダード・アーキテクチャ（Industry Standard Architecture）（ＩＳＡ）バス、マイクロ・チャネル・アーキテクチャ（Micro Channel Architecture）（ＭＣＡ）バス、エンハンストＩＳＡ（Enhanced ISA）（ＥＩＳＡＡ）バス、ビデオ・エレクトロニクス・スタンダーズ・アソシエーション（Video Electronics Standards Association）（ＶＥＳＡ）ローカル・バス、およびメザニン（Mezzanine）バスとしても知られるペリフェラル・コンポーネント・インターコネクツ（Peripheral Component Interconnects）（ＰＣＩ）バスが含まれることが可能である。
【００６６】
コンピュータ９００は、通常、さまざまなコンピュータ可読媒体を含む。コンピュータ可読媒体は、コンピュータ９００がアクセスすることができる任意の可用な媒体であることが可能であり、揮発性の媒体と不揮発性の媒体、取外し可能な媒体と取外し不可能な媒体をともに含む。例として、限定としてではなく、コンピュータ可読媒体は、コンピュータ記憶媒体および通信媒体を含むことが可能である。コンピュータ記憶媒体には、コンピュータ可読命令、データ構造、プログラム・モジュール、またはその他のデータなどの情報を記憶するための任意の方法または任意の技術で実装される揮発性の媒体と不揮発性の媒体、取外し可能な媒体と取外し不可能な媒体がともに含まれる。コンピュータ記憶媒体には、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュ・メモリまたは他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）または他の光ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置または他の磁気記憶デバイス、あるいは所望の情報を記憶するのに使用することができ、コンピュータ９００がアクセスすることができる任意の他の媒体が含まれるが、以上には限定されない。通信媒体は、通常、搬送波などの変調されたデータ信号における、または他のトランスポート機構におけるコンピュータ可読命令、データ構造、プログラム・モジュール、またはその他のデータを具体的に示し、あらゆる情報配信媒体が含まれる。「変調されたデータ信号」という用語は、信号内に情報を符号化するような仕方で特性の１つまたは複数が設定または変更されている信号を意味する。例として、限定としてではなく、通信媒体には、有線ネットワークまたは直接配線接続などの有線媒体、ならびに音響媒体、ＲＦ媒体、赤外線媒体、およびその他の無線媒体などの無線媒体が含まれる。また、前述した媒体のいずれの組合せも、コンピュータ可読媒体の範囲に含まれるべきものである。
【００６７】
システム・メモリ９３０には、読取り専用メモリ（ＲＯＭ）９３１やランダム・アクセス・メモリ（ＲＡＭ）４００などの揮発性メモリおよび／または不揮発性メモリの形態のコンピュータ記憶媒体が含まれる。スタートアップ中などにコンピュータ９００内部の要素間で情報を転送するのを助ける基本ルーチンを含む基本入力／出力システム９３３（ＢＩＯＳ）が、通常、ＲＯＭ９３１の中に記憶される。ＲＡＭ４００は、通常、処理ユニット９２０が即時にアクセス可能であり、かつ／または処理ユニット９２０によって現在、処理されているデータおよび／またはプログラム・モジュールを含む。例として、限定としてではなく、図９は、オペレーティング・システム９３４、アプリケーション・プログラム９３５、例示的なＧＬＦデータ・ファイル・エンジン２０１、他のプログラム・モジュール９３６、およびプログラム・データ９３７を示している。例示的なＧＬＦデータ・ファイル・エンジン２０１は、メモリ４００内のソフトウェアとして描かれているが、例示的なＧＬＦデータ・ファイル・エンジン２０１の他の実装形態は、ハードウェアであること、またはソフトウェアとハードウェアの組合せであることが可能である。
【００６８】
コンピュータ９００は、その他の取外し可能な／取外し不可能な、揮発性／不揮発性のコンピュータ記憶媒体を含むことも可能である。単に例として、図９は、取外し不可能な不揮発性の磁気媒体に対して読取りおよび書込みを行うハードディスク・ドライブ９４１、取外し可能な不揮発性の磁気ディスク９５２に対して読取りおよび書込みを行う磁気ディスク・ドライブ９５１、およびＣＤ−ＲＯＭまたは他の光媒体などの取外し可能な不揮発性の光ディスク９５６に対して読取りおよび書込みを行う光ディスク・ドライブ９５５を示している。例示的な動作環境において使用することができるその他の取外し可能な／取外し不可能な、揮発性／不揮発性のコンピュータ記憶媒体には、磁気テープ・カセット、フラッシュ・メモリ・カード、デジタル・バーサタイル・ディスク、デジタル・ビデオ・テープ、ソリッド・ステートＲＡＭ、ソリッド・ステートＲＯＭ等が含まれるが、以上には限定されない。ハードディスク・ドライブ９４１は、通常、インターフェース９４０のような取外し不可能なメモリ・インターフェースを介してシステム・バス９２１に接続され、磁気ディスク・ドライブ９５１および光ディスク・ドライブ９５５は、通常、インターフェース９５０のような取外し可能なメモリ・インターフェースでシステム・バス９２１に接続される。
【００６９】
前述し、図９に示したドライブおよび関連するコンピュータ記憶媒体により、コンピュータ可読命令、データ構造、プログラム・モジュール、および他のデータの記憶装置がコンピュータ９００に提供される。図９で、たとえば、ハードディスク・ドライブ９４１が、オペレーティング・システム９４４、アプリケーション・プログラム９４５、他のプログラム・モジュール９４６、およびプログラム・データ９４７を記憶しているものとして示されている。以上の構成要素は、オペレーティング・システム９３４、アプリケーション・プログラム９３５、他のプログラム・モジュール９３６、およびプログラム・データ９３７と同じであることも、あるいは異なることも可能であることに留意されたい。オペレーティング・システム９４４、アプリケーション・プログラム９４５、他のプログラム・モジュール９４６、およびプログラム・データ９４７に、ここでは、少なくともそれらが異なるコピーであることを示すために異なる符号を付けている。ユーザは、キーボード９６２や、一般にマウス、トラック・ボール、またはタッチパッドと呼ばれるポインティング・デバイス９６１などの入力デバイスを介して、コマンドおよび情報をコンピュータ９００に入力することができる。その他の入力デバイス（図示せず）には、マイクロホン、ジョイスティック、ゲーム・パッド、サテライト・ディッシュ、スキャナ等を含むことが可能である。以上の入力デバイスおよび他の入力デバイスは、しばしば、システム・バスに結合されたユーザ入力インターフェース９６０を介して処理ユニット９２０に接続されるが、パラレル・ポート、ゲーム・ポート、またはユニバーサル・シリアル・バス（ＵＳＢ）などの他のインターフェースおよびバス構造で接続してもよい。また、モニタ９９１、または他のタイプの表示デバイスも、ビデオ・インターフェース９９０などのインターフェースを介してシステム・バス９２１に接続される。モニタに加え、コンピュータは、出力周辺インターフェース９９５を介して接続することができるスピーカ９９７やプリンタ９９６などの他の周辺出力デバイスも含むことが可能である。
【００７０】
コンピュータは、遠隔コンピュータ９８０のような１つまたは複数の遠隔コンピュータに対する論理接続を使用するネットワーク化された環境において動作することが可能である。遠隔コンピュータ９８０は、パーソナル・コンピュータ、サーバ、ルータ、ネットワークＰＣ、ピア・デバイス、または一般的なネットワークノードであることが可能であり、通常、コンピュータ９００に関して前述した要素の多く、またはすべてを含むが、メモリ記憶デバイス９８１だけを図９に示している。図９に描いた論理接続は、ローカルエリア・ネットワーク（ＬＡＮ）９７１およびワイドエリア・ネットワーク（ＷＡＮ）９７３を含むが、その他のネットワークも含むことが可能である。そのようなネットワーキング環境は、オフィス、企業全体のコンピュータ網、イントラネット、およびインターネットで一般的である。
【００７１】
ＬＡＮネットワーキング環境で使用される場合、コンピュータ９００は、ネットワーク・インターフェースまたはネットワーク・アダプタ９７０を介してＬＡＮ９７１に接続される。ＷＡＮネットワーキング環境で使用される場合、コンピュータ９００は、通常、インターネットなどのＷＡＮ９７３を介して通信を確立するためのモデム９７２、またはその他の手段を含む。内部にあることも、外部にあることも可能なモデム９７２は、ユーザ入力インターフェース９６０、または他の適切な機構を介してシステム・バス９２１に接続されることが可能である。ネットワーク化された環境では、コンピュータ９００に関連して描いたプログラム・モジュール、またはプログラム・モジュールの部分は、遠隔のメモリ記憶デバイスの中に記憶されることが可能である。例として、限定としてではなく、図９は、遠隔のアプリケーション・プログラム９８５が、メモリ・デバイス９８１に常駐しているのを示している。図示したネットワーク接続は例示的であり、コンピュータ間で通信リンクを確立する他の手段も使用できることが認められよう。
【００７２】
結論
以上に説明した本発明は、ハードウェアで、ソフトウェアで、またはハードウェアとソフトウェアの両方で実施できることに留意されたい。いくつかの実装形態では、例示的なシステムおよび関連する方法は、コンピュータによって実行されるプログラム・モジュールなどのコンピュータ実行可能命令の一般的な文脈で説明することができる。一般に、プログラム・モジュールには、特定のタスクを行う、または特定の抽象データ・タイプを実装するルーチン、プログラム、オブジェクト、構成要素、データ構造等が含まれる。また、本発明は、通信網を介してリンクされた遠隔の処理デバイスによって無線通信を介してタスクが行われる分散通信環境においても実施することができる。無線ネットワークでは、プログラム・モジュールは、メモリ記憶デバイスを含むローカルの通信デバイス記憶媒体と遠隔の通信デバイス記憶媒体の両方の中に配置されることが可能である。
【００７３】
以上の説明は、プログラミング・コンテンツおよびＥＰＧ情報に関するＧＬＦのための例示的なシステムおよび方法を説明している。本発明を構造上の特徴および／または方法上の動作に特有の言葉遣いで説明してきたが、特許請求の範囲で定義する本発明は、説明した特定の特徴および動作に必ずしも限定されないことを理解されたい。むしろ、特定の特徴および動作は、請求する本発明を実施する例示的な形態として開示している。
【００７４】
【表１】
2004236342.tif 000003
【００７５】
【表２】
2004236342.tif 000004
【００７６】
【表３】
2004236342.tif 000005
【００７７】
【表４】
2004236342.tif 000006
【００７８】
【表５】
2004236342.tif 000007
【００７９】
【表６】
2004236342.tif 000008
【００８０】
【表７】
2004236342.tif 000009
【図面の簡単な説明】
【００８１】
【図１】プログラミング・データ・ファイルが転送される従来の環境を示すブロック図である。
【図２】グローバル・リスティング・フォーマット（ＧＬＦ）プログラミング・データ・ファイルが転送される例示的な環境を示すブロック図である。
【図３】例示的なＧＬＦデータ・ファイル・エンジンを示すブロック図である。
【図４】コンピューティング・デバイスのメモリの中にデータ構造として常駐する例示的なＧＬＦメタデータを使用する例示的なＧＬＦ・データ・ファイルの形成を示す図である。
【図５】例示的なＧＬＦデータ・ファイルの中の例示的なＧＬＦデータ構造の形成を示す図である。
【図６】ＧＬＦ．ｘｓｄスキーマおよびＧＬＦ．ｘｓｄ構成要素を示すブロック図である。
【図７】例示的なＧＬＦＬｉｓｔｉｎｇｓ．ｘｓｄスキーマおよびＧＬＦＬｉｓｔｉｎｇｓ．ｘｓｄ構成要素を示すブロック図である。
【図８】ＧＬＦプログラミング・データ・ファイルを生成するための例示的な方法を示す流れ図である。
【図９】本発明を実装することができる例示的なコンピューティング・デバイス環境を示すブロック図である。
【符号の説明】
【００８２】
２０２  ＧＬＦデータ・ファイル
３００  ＧＬＦメタデータ
４００  コンピューティング・デバイス・メモリ
４０２  リスティング
４０４  ラインアップ
４０６  プログラム情報
４０８  スケジュール情報
４１０  場所情報
４１１  利用可能なヘッドエンド
４１２  ヘッドエンドごとのチャネル・ラインアップ
４１４  リスティング・データ要素
４１６  ラインアップ・データ要素
４１８、４２０、４２６、４２８、４３０、４３２、４３４、４３６  要素
４２２、４２４  サブ要素
【図１】
2004236342.tif 000010
【図２】
2004236342.tif 000011
【図３】
2004236342.tif 000012
【図４】
2004236342.tif 000013
【図５】
2004236342.tif 000014
【図６】
2004236342.tif 000015
【図７】
2004236342.tif 000016
【図８】
2004236342.tif 000017
【図９】
2004236342.tif 000018