(57)【要約】【課題】  一部のクラスしかサポートしていないＭＳＣＰであっても、録画予約情報を取得することのできる通信装置を提供する。【解決手段】  ＳＲＳを提供するサーバ装置２は、例えばｃｄｓＮｏｎＥＰＧクラスのＣｒｅａｔｅＲｅｃｏｒｄＳｃｈｅｄｕｌｅアクション（録画予約要求）を受信すると、指定されたｒｅｃｏｒｄＳｃｈｅｄｕｌｅクラスのｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクト６１ａを録画予約情報として生成すると共に、指定されていないｍａｎｕａｌクラスのｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクト６１ｂも、実質的に同一内容を示す録画予約情報として作成する。このとき、オブジェクト６１ａ及び６１ｂは、お互いに付加情報をつけて参照しあうことにより、クライアント装置は両オブジェクトが同一内容であることを把握することができる。【選択図】      図７
2008092207.tif 000002
【特許請求の範囲】
【請求項１】
複数種の録画予約形式に対応する通信装置であって、
ネットワークを介して他の通信装置と通信する通信部と、
前記通信部で受信した、特定の録画予約形式を指定した前記他の通信装置からの録画予約要求に応じて、当該録画予約形式の録画予約情報を作成する録画予約情報生成部と、
前記通信部で受信した、特定の録画予約形式を指定した前記他の通信装置からの録画予約要求に応じて、指定された録画予約形式とは異なる録画予約形式の録画予約情報を生成する録画予約情報複製部と、
前記録画予約情報生成部及び前記録画予約情報複製部が生成した録画予約情報を、ネットワークを介して前記他の通信装置に提示する録画予約情報提示部と
を備えることを特徴とする通信装置。
【請求項２】
前記録画予約情報提示部は、１の録画予約要求に応じて前記録画予約情報生成部及び前記録画予約情報複製部が生成した録画予約情報のうち少なくとも１の録画予約情報に他の録画予約情報を参照する付加情報をつけて、録画予約情報を前記他の通信装置に提示すること
を特徴とする請求項１記載の通信装置。
【請求項３】
前記録画予約情報生成部及び前記録画予約情報複製部が生成する録画予約情報から録画を実行するための録画実行情報を生成する録画実行情報生成部と、
前記録画実行情報生成部が生成した録画実行情報を、ネットワークを介して前記他の通信装置に提示する録画実行情報提示部と
を備え、
前記実行情報提示部は、前記録画予約情報生成部及び前記録画予約情報複製部が１の録画予約情報に応じて生成した複数の録画予約情報から其々前記録画実行情報生成部が生成した複数の録画実行情報のうち、少なくとも１の録画予約情報に他の録画予約情報を参照する付加情報をつけて、録画実行情報を前記他の通信装置に提示すること
を特徴とする請求項３記載の通信装置。
【請求項４】
前記通信部は、録画予約情報の削除要求を受信し、
前記通信部で削除要求を受信した録画予約情報を削除すると共に、当該録画予約情報が参照する他の予約形式の録画予約情報を削除する予約情報削除部
をさらに備えることを特徴とする請求項１記載の通信装置。
【請求項５】
前記録画予約情報生成部又は前記録画予約情報複製部が生成する録画予約情報から録画を実行するための録画実行情報を作成する録画実行情報生成部と、
前記予約情報削除部が削除要求を受けた録画予約情報を参照する録画実行情報、及び当該録画予約情報と同一の内容を示す他の予約形式の録画予約情報を参照する録画実行情報を削除する録画実行情報削除部と
をさらに備えることを特徴とする請求項４記載の通信装置。
【請求項６】
ＵＰｎＰ  ＳＲＳとして機能し、複数種のｒｅｃｏｒｄＳｃｈｅｄｕｌｅクラスに対応する通信装置であって、
他の通信装置とＵＰｎＰによりネットワークを介して通信する通信部と、
前記通信部で受信した、第１のｒｅｃｏｒｄＳｃｈｅｄｕｌｅクラスを指定したＳＲＳ：ＣｒｅａｔｅＲｅｃｏｒｄＳｃｈｅｄｕｌｅアクションに応じて、前記第１のｒｅｃｏｒｄＳｃｈｅｄｕｌｅクラスのｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクトを作成するｒｅｃｏｒｄＳｃｈｅｄｕｌｅ生成部と、
前記通信部で受信した、前記第１のｒｅｃｏｒｄＳｃｈｅｄｕｌｅクラスを指定したＳＲＳ：ＣｒｅａｔｅＲｅｃｏｒｄＳｃｈｅｄｕｌｅアクションに応じて、前記第１のｒｅｃｏｒｄＳｃｈｅｄｕｌｅクラスとは異なる第２のｒｅｃｏｒｄＳｃｈｅｄｕｌｅクラスのｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクトを生成するｒｅｃｏｒｄＳｃｈｅｄｕｌｅ複製部と、
前記ｒｅｃｏｒｄＳｃｈｅｄｕｌｅ複製部が生成した前記第２のｒｅｃｏｒｄＳｃｈｅｄｕｌｅクラスのｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクトを、前記他の通信装置からのＳＲＳ：ＢｒｏｗｓｅＲｅｃｏｒｄＳｃｈｅｄｕｌｅｓアクションに応じて提示するｒｅｃｏｒｄＳｃｈｅｄｕｌｅ提示部と
を備えることを特徴とする通信装置。
【請求項７】
前記ｒｅｃｏｒｄＳｃｈｅｄｕｌｅ提示部は、１のＳＲＳ：ＣｒｅａｔｅＲｅｃｏｒｄＳｃｈｅｄｕｌｅアクションに応じて前記ｒｅｃｏｒｄＳｃｈｅｄｕｌｅ生成部及び前記ｒｅｃｏｒｄＳｃｈｅｄｕｌｅ複製部が生成したｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクトのうち少なくとも１のｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクトを、他のｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクトに割り振られたＩＤを参照する付加情報をつけて提示すること
を特徴とする請求項６記載の通信装置。
【請求項８】
前記ｒｅｃｏｒｄＳｃｈｅｄｕｌｅ提示部は、他のｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクトのＩＤを参照するＸＭＬ  ｅｌｅｍｅｎｔを持つｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクトを提示すること
を特徴とする請求項６又は請求項７記載の通信装置。
【請求項９】
前記ｒｅｃｏｒｄＳｃｈｅｄｕｌｅ提示部は、他のｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクトのＩＤを参照するＸＭＬ  ｅｌｅｍｅｎｔに、参照先のｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクトのｒｅｃｏｒｄＳｃｈｅｄｕｌｅクラスの情報を付加してｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクトを提示すること
を特徴とする請求項８記載の通信装置。
【請求項１０】
前記ｒｅｃｏｒｄＳｃｈｅｄｕｌｅ生成部及び前記ｒｅｃｏｒｄＳｃｈｅｄｕｌｅ複製部が生成するｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクトから録画を実行するためのｒｅｃｏｒｄＴａｓｋオブジェクトを生成するｒｅｃｏｒｄＴａｓｋ生成部と、
前記ｒｅｃｏｒｄＴａｓｋ生成部が生成したｒｅｃｏｒｄＴａｓｋオブジェクトを提示するｒｅｃｏｒｄＴａｓｋ提示部と
を備え、
前記ｒｅｃｏｒｄＴａｓｋ提示部は、他のｒｅｃｏｒｄＴａｓｋオブジェクトのＩＤを参照するＸＭＬ  ｅｌｅｍｅｎｔを持つｒｅｃｏｒｄＴａｓｋオブジェクトを提示すること
を特徴とする請求項７記載の通信装置。
【請求項１１】
前記通信部で受信したＳＲＳ：ＤｅｌｅｔｅＲｅｃｏｒｄＳｃｈｅｄｕｌｅアクションに応じて、指定されたｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクトを削除すると共に、当該ｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクトが参照する他のｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクトを削除するｒｅｃｏｒｄＳｃｈｅｄｕｌｅ削除部
をさらに備えることを特徴とする請求項７記載の通信装置。
【請求項１２】
前記通信部で受信したＳＲＳ：ＤｅｌｅｔｅＲｅｃｏｒｄＳｃｈｅｄｕｌｅアクションに応じて、指定されたｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクトを参照するｒｅｃｏｒｄＴａｓｋオブジェクトを削除すると共に、当該ｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクトを参照する他のｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクトを参照するｒｅｃｏｒｄＴａｓｋオブジェクトも削除するｒｅｃｏｒｄＴａｓｋ削除部
をさらに備えることを特徴とする請求項１１記載の通信装置。
【請求項１３】
ネットワークを介して他の通信装置と通信する通信部と、
録画予約情報の閲覧要求を前記通信部から前記他の通信装置へ送信する要求送信部と、
前記他の通信装置への閲覧要求の応答として、１以上の録画予約情報を受信する応答受信部と、
前記応答受信部で受信した第１の録画予約情報が第２の録画予約情報を参照している場合に、前記第１の録画予約情報及び前記第２の録画予約情報を１つの録画予約情報として表示装置に表示する表示画面作成部と
を備えることを特徴とする通信装置。
【請求項１４】
前記通信部は、ＵＰｎＰ  ＳＲＳとして機能する前記他の通信装置とＵＰｎＰにより通信し、
録画予約情報であるｒｅｃｏｒｄＳｃｈｅｄｕｌｅの閲覧要求であるＳＲＳ：ＢｒｏｗｓｅＲｅｃｏｒｄＳｃｈｅｄｕｌｅアクションを前記通信部から前記他の通信装置へ送信し、
前記応答受信部は、前記他の通信装置からのＳＲＳ：ＢｒｏｗｓｅＲｅｃｏｒｄＳｃｈｅｄｕｌｅアクションの応答として１以上のｒｅｃｏｒｄＳｃｈｅｄｕｌｅを受信し、
前記表示画面作成部は、第１のｒｅｃｏｒｄＳｃｈｅｄｕｌｅが第２のｒｅｃｏｒｄＳｃｈｅｄｕｌｅを参照している場合に、前記第１のｒｅｃｏｒｄＳｃｈｅｄｕｌｅ及び前記第２のｒｅｃｏｒｄＳｃｈｅｄｕｌｅを１つの録画予約情報として表示装置に表示すること
を特徴とする請求項１３記載の通信装置。
【請求項１５】
前記要求送信部は、録画実行情報の閲覧要求を前記通信部から前記他の通信装置へ送信し、
前記応答受信部は、前記他の通信装置への閲覧要求の応答として、１以上の録画実行情報を受信し、
前記表示画面作成部は、前記応答受信部で受信した第１の録画実行情報が第２の録画実行情報を参照している場合に、前記第１の録画実行情報及び前記第２の録画実行情報を１つの録画実行情報として表示装置に表示すること
を特徴とする請求項１３記載の通信装置。
【請求項１６】
前記通信部は、ＵＰｎＰ  ＳＲＳとして機能する前記他の通信装置とＵＰｎＰにより通信し、
録画実行情報であるｒｅｃｏｒｄＴａｓｋの閲覧要求であるＳＲＳ：ＢｒｏｗｓｅＲｅｃｏｒｄＴａｓｋアクションを前記通信部から前記他の通信装置へ送信し、
前記応答受信部は、前記他の通信装置からのＳＲＳ：ＢｒｏｗｓｅＲｅｃｏｒｄＴａｓｋアクションの応答として１以上のｒｅｃｏｒｄＴａｓｋを受信し、
前記表示画面作成部は、前記応答受信部で受信した第１のｒｅｃｏｒｄＴａｓｋが第２のｒｅｃｏｒｄＴａｓｋを参照している場合に、前記第１のｒｅｃｏｒｄＴａｓｋ及び前記第２のｒｅｃｏｒｄＴａｓｋを１つの録画実行情報として表示装置に表示すること
を特徴とする請求項１５記載の通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置に関する。
【背景技術】
【０００２】
現在、ＩＰネットワークの機器制御のプロトコルとしてＵＰｎＰ（Ｕｎｉｖｅｒｓａｌ  Ｐｌｕｇ  ａｎｄ  Ｐｌａｙ）があり、特にＡＶ機器向けの仕様として、ＵＰｎＰ  ＡＶ  Ａｒｃｈｉｔｅｃｔｕｒｅという仕様がＵＰｎＰ  Ｆｏｒｕｍで定義されている。ＵＰｎＰ  ＡＶ  Ａｒｃｈｉｔｅｃｔｕｒｅでは被制御機能を実装するサーバとしてＵＰｎＰ  Ｍｅｄｉａ  Ｓｅｒｖｅｒ  Ｄｅｖｉｃｅ（以下ＭＳＤとも称す）が、更にＭＳＤを制御する制御機能を実装するクライアントとしてＭｅｄｉａ  Ｓｅｒｖｅｒ  Ｃｏｎｔｒｏｌ  Ｐｏｉｎｔ（以下ＭＳＣＰ、又はＣｏｎｔｒｏｌ  Ｐｏｉｎｔとも称す）が其々定義されている。
【０００３】
ＵＰｎＰ  ＡＶ  ｖ２では、録画予約機能を実現するサービスとして、ＳｃｈｅｄｕｌｅｄＲｅｃｏｒｄｉｎｇ  Ｓｅｒｖｉｃｅ（以下ＳＲＳ、例えば非特許文献１参照）が定義されている。ＭＳＣＰは、ＳＲＳ：ＣｒｅａｔｅＲｅｃｏｒｄＳｃｈｅｄｕｌｅアクションを送信することによりＳＲＳを提供するＭＳＤに録画予約を設定することができる。
【０００４】
ここでＳＲＳの予約設定方法には、６種類の予約設定方法が定義されている。其々をｒｅｃｏｒｄＳｃｈｅｄｕｌｅ  Ｃｌａｓｓと呼び、其々のクラス毎に設定に用いるパラメータ（メタデータ）が異なる。ＳＲＳを実装する際には、必須クラスであるＯＢＪＥＣＴ．ＲＥＣＯＲＤＳＣＨＥＤＵＬＥ．ＤＩＲＥＣＴ．ＣＤＳＮＯＮＥＰＧクラス（以下ｃｄｓＮｏｎＥＰＧクラスとも称す）を実装しなければならないが、その他の５クラスの予約設定方法を実装するか否かはオプションとなっている。
【０００５】
ＭＳＣＰであるクライアント装置は、ＳＲＳで実装されているクラスのうち、１つのクラスを選択してＳＲＳ：ＣｒｅａｔｅＲｅｃｏｒｄＳｃｈｅｄｕｌｅアクションにより録画予約を設定する。予約が設定されるとＳＲＳは、ｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクトを生成すると共に、予約を実行する主体であるｒｅｃｏｒｄＴａｓｋオブジェクトを生成する。
【０００６】
ＭＳＣＰは、ＳＲＳ：ＢｒｏｗｓｅＲｅｃｏｒｄＳｃｈｅｄｕｌｅｓアクションをＳＲＳに送信することにより予約情報であるｒｅｃｏｒｄＳｃｈｅｄｕｌｅを、ＳＲＳ：ＢｒｏｗｓｅＲｅｃｏｒｄＴａｓｋアクションを送信することにより実行情報であるｒｅｃｏｒｄＴａｓｋを其々閲覧することができる。
【非特許文献１】Ａｌａｎ  Ｐｒｅｓｓｅｒ、他２１名、“ＳｃｈｅｄｕｌｅｄＲｅｃｏｒｄｉｎｇ：１  Ｓｅｒｖｉｃｅ  Ｔｅｍｐｌａｔｅ  Ｖｅｒｓｉｏｎ  １．０１”、［ｏｎｌｉｎｅ］、２００６年３月３１日、ＵＰｎＰ  Ｆｏｒｕｍｅ、［平成１８年９月１８日検索］、インターネット（ＵＲＬ：http://www.upnp.org/specs/av/UPnP-av-ScheduledRecording-v1-Service-20060531.pdf）
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、ｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクトは、それぞれクラス毎に持つことのできるメタデータが制限されており、ＭＳＣＰがＳＲＳ：ＢｒｏｗｓｅＲｅｃｏｒｄＳｃｈｅｄｕｌｅアクションにより取得することのできる予約情報ｒｅｃｏｒｄＳｃｈｅｄｕｌｅは其々のオブジェクトが属するクラスにより異なるため、録画予約情報を一覧として表現するためには、ＳＲＳがサポートする全クラスのメタデータを解釈できる必要があった。
【０００８】
そこで本発明は、一部のクラスしかサポートしていないＭＳＣＰであっても、録画予約情報を取得することのできる通信装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、請求項１記載の通信装置は、複数種の録画予約形式に対応する通信装置であって、ネットワークを介して他の通信装置と通信する通信部と、前記通信部で受信した、特定の録画予約形式を指定した前記他の通信装置からの録画予約要求に応じて、当該録画予約形式の録画予約情報を作成する録画予約情報生成部と、前記通信部で受信した、特定の録画予約形式を指定した前記他の通信装置からの録画予約要求に応じて、指定された録画予約形式とは異なる録画予約形式の録画予約情報を生成する録画予約情報複製部と、前記録画予約情報生成部及び前記録画予約情報複製部が生成した録画予約情報を、ネットワークを介して前記他の通信装置に提示する録画予約情報提示部とを備えることを特徴とする。
【００１０】
請求項６記載の通信装置は、ＵＰｎＰ  ＳＲＳとして機能し、複数種のｒｅｃｏｒｄＳｃｈｅｄｕｌｅクラスに対応する通信装置であって、他の通信装置とＵＰｎＰによりネットワークを介して通信する通信部と、前記通信部で受信した、第１のｒｅｃｏｒｄＳｃｈｅｄｕｌｅクラスを指定したＳＲＳ：ＣｒｅａｔｅＲｅｃｏｒｄＳｃｈｅｄｕｌｅアクションに応じて、前記第１のｒｅｃｏｒｄＳｃｈｅｄｕｌｅクラスのｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクトを作成するｒｅｃｏｒｄＳｃｈｅｄｕｌｅ生成部と、前記通信部で受信した、前記第１のｒｅｃｏｒｄＳｃｈｅｄｕｌｅクラスを指定したＳＲＳ：ＣｒｅａｔｅＲｅｃｏｒｄＳｃｈｅｄｕｌｅアクションに応じて、前記第１のｒｅｃｏｒｄＳｃｈｅｄｕｌｅクラスとは異なる第２のｒｅｃｏｒｄＳｃｈｅｄｕｌｅクラスのｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクトを生成するｒｅｃｏｒｄＳｃｈｅｄｕｌｅ複製部と、前記ｒｅｃｏｒｄＳｃｈｅｄｕｌｅ複製部が生成した前記第２のｒｅｃｏｒｄＳｃｈｅｄｕｌｅクラスのｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクトを、前記他の通信装置からのＳＲＳ：ＢｒｏｗｓｅＲｅｃｏｒｄＳｃｈｅｄｕｌｅｓアクションに応じて提示するｒｅｃｏｒｄＳｃｈｅｄｕｌｅ提示部とを備えることを特徴とする。
【００１１】
請求項１３記載の通信装置は、ネットワークを介して他の通信装置と通信する通信部と、録画予約情報の閲覧要求を前記通信部から前記他の通信装置へ送信する要求送信部と、前記他の通信装置への閲覧要求の応答として、１以上の録画予約情報を受信する応答受信部と、前記応答受信部で受信した第１の録画予約情報が第２の録画予約情報を参照している場合に、前記第１の録画予約情報及び前記第２の録画予約情報を１つの録画予約情報として表示装置に表示する表示画面作成部とを備えることを特徴とする。
【発明の効果】
【００１２】
本発明によれば、一部のクラスしかサポートしていないＭＳＣＰであっても、録画予約情報を取得することのできる通信装置を提供することができる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の通信装置について、図面を参照しながら説明する。
【実施例１】
【００１４】
図１は、本発明の通信装置の実施例であるサーバ装置及びクライアント装置が使用される通信システムの構成を示す図である。通信システム１は、放送波を受信し録画する機能を有するサーバ装置２（通信装置、他の通信装置）と、クライアント装置３（通信装置、他の通信装置）とから構成される。尚、サーバ装置２とクライアント装置３とは、其々ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）／ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）により通信が行われるネットワーク４により接続される。
【００１５】
ここで、サーバ装置２はクライアント装置３からの指示に基づいて予約録画を行うＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）レコーダやＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）レコーダ等である。また、設定された録画予約の情報や、録画の実行情報を、ネットワーク４を介してクライアント装置３に提示する機能も有する。
【００１６】
クライアント装置３は、サーバ装置２に録画予約の設定をすると共に、サーバ装置２に設定された録画予約情報や録画実行情報を一覧として表示する機能を有する。
サーバ装置２及びクライアント装置３を接続するネットワーク４は、例えばＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等である。尚、本実施例では他の装置の記載を省略しているが、ネットワーク４には、クライアント装置３以外にも、サーバ装置２に録画予約を設定する機能を持つクライアント装置が接続されていても良い。
【００１７】
ここで、サーバ装置２及びクライアント装置３は、其々ＵＰｎＰに対応したＡＶ（Ａｕｄｉｏ／Ｖｉｓｕａｌ）機器である。ＵＰｎＰでは、ＡＶ機器向けにＵＰｎＰ  ＡＶ  Ａｒｃｈｉｔｅｃｔｕｒｅという仕様が規定されている。このＵＰｎＰ  ＡＶ  Ａｒｃｈｉｔｅｃｔｕｒｅではネットワークの基本構成として、デバイス（Ｄｅｖｉｃｅ）、サービス（Ｓｅｒｖｉｃｅ）、コントロールポイント（Ｃｏｎｔｒｏｌ  Ｐｏｉｎｔ）が定義されている。デバイスはＵＰｎＰ  ＡＶに対応した装置であり、サービスはデバイスが提供する機能を表す最小単位である。各デバイスは、少なくとも１つのサービスを有する被制御装置である。コントロールポイントは、デバイスが有するサービスを制御し、利用するものである。１つの機器の中に複数のデバイス機能を持たせる事もでき、更にコントロールポイントとデバイスとが一体となった機器も考えることができる。
【００１８】
ＵＰｎＰ  ＡＶ  Ａｒｃｈｉｔｅｃｔｕｒｅでは、被制御機能を実装し、コンテンツデータを提供するサーバデバイスとしてＵＰｎＰ  Ｍｅｄｉａ  Ｓｅｒｖｉｃｅ（ＭＳＤ）が定義されているが、本通信システム１では、サーバ装置２がＭＳＤとして機能する。ＭＳＤである本実施例のサーバ装置２は、コンテンツリストの公開を行うサービスであるＣＤＳ（Ｃｏｎｔｅｎｔ  Ｄｉｒｅｃｔｏｒｙ  Ｓｅｒｖｉｃｅ）や、予約録画機能を提供するサービスであるＳＲＳ（Ｓｃｈｅｄｕｌｅｄ  Ｒｅｃｏｒｄｉｎｇ  Ｓｅｒｖｉｃｅ）を提供する。尚、ＣＤＳ及びＳＲＳは、何れもＵＰｎＰ  ＡＶ（ＳＲＳはＵＰｎＰ  ＡＶ  ｖ２以降）で定義されている。
【００１９】
また、ＵＰｎＰ  ＡＶ  ＡｒｃｈｉｔｅｃｔｕｒｅではＭＳＤが提供するサービスを制御、利用するＭＳＣＰ（Ｍｅｄｉａ  Ｓｅｒｖｅｒ  Ｃｏｎｔｒｏｌ  Ｐｏｉｎｔ、以下コントロールポイントとも称す）が定義されているが、本通信装置１では、クライアント装置３がＭＳＣＰとして機能する。
【００２０】
ここで、ユーザがＭＳＣＰであるクライアント装置３を使用してＳＲＳを提供するサーバ装置２に録画予約を行う場合や、録画予約の閲覧、録画予約の削除要求を行う場合の一般的な流れについて図２を参照しながら簡単に説明する。
【００２１】
図２（ａ）は、クライアント装置３がＳＲＳを提供するサーバ装置２へ録画予約を設定する際の処理の流れを示す図である。
まず、ＭＳＣＰであるクライアント装置３はＳＲＳを提供するサーバ装置２に、録画予約の設定を要求するＳＲＳ：ＣｒｅａｔｅＲｅｃｏｒｄＳｃｈｅｄｕｌｅアクション（録画予約要求、以下ＣｒｅａｔｅＲｅｃｏｒｄＳｃｈｅｄｕｌｅアクションとも称す）を送信する（Ｓ４０１）。すると、サーバ装置２は要求に応じてｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクトを生成し、さらに作成したｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクトから、予約録画を実行する主体であるｒｅｃｏｒｄＴａｓｋオブジェクトを１以上生成する。各ｒｅｃｏｒｄＴａｓｋオブジェクトは、ただ１つのｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクトに関連付けられる。
【００２２】
さらに、サーバ装置２は、ＣｒｅａｔｅＲｅｃｏｒｄＳｃｈｅｄｕｌｅアクションの応答（Ｒｅｓｐｏｎｓｅ）として、作成したｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクトの内容、及び当該ｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクトに割りあてたオブジェクトＩＤをクライアント装置３に送信する（Ｓ４０２）。
【００２３】
ここで、ＳＲＳに予約を設定するＣｒｅａｔｅＲｅｃｏｒｄＳｃｈｅｄｕｌｅアクションには、其々設定に使用するパラメータ（メタデータ）の異なる６種類の予約設定方法であるｒｅｃｏｒｄＳｃｈｅｄｕｌｅクラスがある。図３に、その例を示す。
【００２４】
ｒｅｃｏｒｄＳｃｈｅｄｕｌｅクラスには、ｏｂｊｅｃｔ．ｒｅｃｏｒｄＳｃｈｅｄｕｌｅ．ｄｉｒｅｃｔクラス（以下単にｄｉｒｅｃｔクラスとも称する）に属する、図３に示すｍａｎｕａｌ、ｃｄｓＥＰＧ、ｃｄｓＮｏｎＥＰＧ、ｐｒｏｇｒａｍＣｏｄｅの４種類のクラス、及びｏｂｊｅｃｔ．ｒｅｃｏｒｄＳｃｈｅｄｕｌｅ．ｑｕｅｒｙクラス（以下単にｑｕｅｒｙクラスとも称する）に属する図３には示さないｃｏｎｔｅｎｔＮａｍｅ、ｐｒｏｇｒａｍＣｏｄｅの２種類のクラスがあるが、ここでは図３に示した４種類のクラスについて説明する。
【００２５】
ｍａｎｕａｌクラス（ｏｂｊｅｃｔ．ｒｅｃｏｒｄＳｃｈｅｄｕｌｅ．ｄｉｒｅｃｔ．ｍａｎｕａｌクラス）は、チャネル、録画開始時刻、録画時間を指定して録画予約するクラスである。
【００２６】
ｃｄｓＥＰＧクラス（ｏｂｊｅｃｔ．ｒｅｃｏｒｄＳｃｈｅｄｕｌｅ．ｄｉｒｅｃｔ．ｃｄｓＥＰＧクラス）は、サーバ装置２がＥＰＧ（Ｅｌｅｃｔｒｏｎｉｃ  Ｐｒｏｇｒａｍ  Ｇｕｉｄｅ）の各番組をＣＤＳの各アイテム（ｉｔｅｍ）として提示している場合に、録画したい番組に関するアイテムのオブジェクトＩＤを指定して録画予約するクラスである。ＣＤＳについては図５を参照しながら後述する。
【００２７】
ｃｄｓＮｏｎＥＰＧクラス（ｏｂｊｅｃｔ．ｒｅｃｏｒｄＳｃｈｅｄｕｌｅ．ｄｉｒｅｃｔ．ｃｄｓＮｏｎＥＰＧクラス）は、サーバ装置２が各チャネルをＣＤＳの各アイテムとして提示している場合に、録画するチャネルに関するアイテムのオブジェクトＩＤ（即ちチャネルに対応）、録画開始時刻、録画時間を指定して録画予約するクラスである。尚、ＳＲＳを実装する際には、ｃｄｓＮｏｎＥＰＧクラスの実装は必須（Ｍａｎｄａｔｏｒｙ）となっている（他のクラスの実装はオブショナル）。
【００２８】
ｐｒｏｇｒａｍＣｏｄｅクラス（ｏｂｊｅｃｔ．ｒｅｃｏｒｄＳｃｈｅｄｕｌｅ．ｄｉｒｅｃｔ．ｐｒｏｇｒａｍＣｏｄｅクラス）は、例えばＧコードのように、各番組に対して予め割り当てられたプログラムコード（及びそのコード体系）を指定して録画予約するクラスである。
【００２９】
其々のメタデータを変換する機能をサーバ装置２が有していれば、或るクラスのｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクトから、他のクラスのｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクトを生成可能である。本実施例のサーバ装置２は、あるクラスのＣｒｅａｔｅＲｅｃｏｒｄＳｃｈｅｄｕｌｅアクションを受信した場合に、当該クラスのみならず、サーバ装置２が対応する他のクラスのｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクトも合わせて作成する。
【００３０】
以下、本実施例のサーバ装置２は、ｍａｎｕａｌクラス及びｃｄｓＮｏｎＥＰＧクラスにのみ対応するものとして説明する。
図２（ｂ）は、クライアント装置３がＳＲＳを提供するサーバ装置２に設定された録画予約を閲覧する際の処理の流れを示す図である。
まず、ＭＳＣＰであるクライアント装置３は、ＳＲＳを提供するサーバ装置２に、録画予約情報であるｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクトの閲覧を要求するＳＲＳ：ＢｒｏｗｓｅＲｅｃｏｒｄＳｃｈｅｄｕｌｅｓアクション（録画予約閲覧要求、以下ＢｒｏｗｓｅＲｅｃｏｒｄＳｃｈｅｄｕｌｅアクションとも称す）を送信する（Ｓ４１１）。すると、サーバ装置２はＢｒｏｗｓｅＲｅｃｏｒｄＳｃｈｅｄｕｌｅｓアクションへの応答として、自身に設定されたｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクトのリストをクライアント装置３へ送信する。ここで提示するリストについては、図８を参照しながら後述する。
【００３１】
尚、図２（ｂ）ではＢｒｏｗｓｅＲｅｃｏｒｄＳｃｈｅｄｕｌｅｓアクションについて説明したが、録画実行情報であるｒｅｃｏｒｄＴａｓｋオブジェクトを閲覧するためのＳＲＳ：ＢｒｏｗｓｅＲｅｃｏｒｄＴａｓｋｓアクションについても、同様の処理が行われる。
【００３２】
図２（ｃ）は、クライアント装置３がＳＲＳを提供するサーバ装置２に設定された録画予約を削除する際の処理の流れを示す図である。
まず、ＭＳＣＰであるクライアント装置３は、ＳＲＳを提供するサーバ装置２に、録画予約情報であるｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクトの削除を要求するＳＲＳ：ＤｅｌｅｔｅＲｅｃｏｒｄＳｃｈｅｄｕｌｅアクション（録画予約削除要求、以下ＤｅｌｅｔｅＲｅｃｏｒｄＳｃｈｅｄｕｌｅアクションとも称す）を送信する（Ｓ４２１）。すると、サーバ装置２は指定されたオブジェクトＩＤを有するｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクト、及び当該ｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクトに関連付けられたｒｅｃｏｒｄＴａｓｋオブジェクトを削除し、削除の成否をＤｅｌｅｔｅＲｅｃｏｒｄＳｃｈｅｄｕｌｅアクションへの応答として送信する（Ｓ４２２）。
【００３３】
尚本実施例では、ＤｅｌｅｔｅＲｅｃｏｒｄＳｃｈｅｄｕｌｅアクションをサーバ装置２が受信した際に、指定されたオブジェクトＩＤのｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクト及び当該ｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクトと同一の内容を示すｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクト、及びこれらのｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクトを参照するｒｅｃｏｒｄＴａｓｋオブジェクトも削除する。詳細は後述する。
【００３４】
次に、図４を参照しながらサーバ装置２の構成を説明する。図４は、サーバ装置２の構成を示す図である。
サーバ装置２は、ＴＣＰ／ＩＰネットワークＩ／Ｆ処理部２０１と、ＣＤＳとして機能するＣＤＳ処理部２０２と、Ａｃｔｉｏｎ受信部２０３と、Ｒｅｓｐｏｎｓｅ送信部２０４と、ｒｅｃｏｒｄＳｃｈｅｄｕｌｅ生成部２０５と、ｒｅｃｏｒｄＳｃｈｅｄｕｌｅ複製部２０６と、ｒｅｃｏｒｄＳｃｈｅｄｕｌｅデータベース２０７と、ｒｅｃｏｒｄＳｃｈｅｄｕｌｅ削除部２０８と、ｒｅｃｏｒｄＳｃｈｅｄｕｌｅ読込部２０９と、ｒｅｃｏｒｄＴａｓｋ生成部２１０と、ｒｅｃｏｒｄＴａｓｋ複製部２１１と、ｒｅｃｏｒｄＴａｓｋデータベース２１２と、ｒｅｃｏｒｄＴａｓｋ削除部２１３と、ｒｅｃｏｒｄＴａｓｋ読込部２１４とから構成される。
【００３５】
ＴＣＰ／ＩＰネットワークＩ／Ｆ処理部２０１は、ＭＳＣＰであるクライアント装置３とネットワーク４を介して通信するための通信インタフェースである。ＴＣＰ／ＩＰネットワークＩ／Ｆ処理部２０１は、クライアント装置３から送信される録画予約等を要求するアクションを受信すると共に、クライアント装置３へ送信する応答（レスポンス）を送信する。
【００３６】
ＣＤＳ処理部２０２は、サーバ装置２が提供するサービスであるＵＰｎＰ  ＣＤＳ（単にＣＤＳとも称す）をクライアント装置３に対して提供する。
ＣＤＳ処理部２０２が提供するＣＤＳについて、図５を参照しながら説明する。ＣＤＳは、ＭＳＤがＭＳＣＰに対して提供するコンテンツデータ（音声データや映像データであるＡＶ（ａｕｄｉｏ／ｖｉｄｅｏ）データ）のリストであるコンテンツリストを公開するサービスである。
【００３７】
ＣＤＳでは、コンテンツリストをコンテナ（ｃｏｎｔａｉｎｅｒ）とアイテム（ｉｔｅｍ）とによって各コンテンツデータの情報を管理している。アイテムはコンテンツデータを格納するＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）要素（ｅｌｅｍｅｎｔ）として定義されており、１つのコンテンツデータを１つのアイテムによって表現する。一方コンテナは、アイテム及びコンテナを子供として持つことのできるＸＭＬ要素として定義されている。
【００３８】
即ち、一般的なファイルシステムに喩えれば、コンテナはディレクトリに相当し、アイテムはファイルに相当する。そしてＣＤＳでは、ひとつだけ存在するルートコンテナという特殊なコンテナを根とする木構造によってコンテンツデータを管理する。
【００３９】
図５は、ＣＤＳ処理部２０２が提供するコンテンツリストの構造例を示す図である。図５に係るコンテンツリスト５００は、コンテナ５０１をルートコンテナとしている。コンテナ５０１は、ＥＰＧで与えられる各番組に係るアイテムを格納するコンテナ５１１と、チューナ（図示せず）で受信可能な各チャネルに係るアイテムを格納するコンテナ５１２とを子供として持つ。
【００４０】
コンテナ５１１は、先述のようにＥＰＧで与えられる各番組に其々対応するアイテム５２１乃至５２２を子供として持つ。ここで、アイテム５２１乃至５２２が対応する番組は未放送の番組である。アイテム５２１乃至５２２には、其々「ｐｒｏｇｒａｍ０１」乃至「ｐｒｏｇｒａｍＸＸ」のオブジェクトＩＤが割り当てられている。サーバ装置２が提供するＳＲＳが、図３を参照して説明したｃｄｓＥＰＧクラスに対応している場合には、ＥＰＧの番組に其々対応するアイテム５２１乃至５２２のいずれかのオブジェクトＩＤをＣｒｅａｔｅＲｅｃｏｒｄＳｃｈｅｄｕｌｅアクション（図２（ａ）のＳ４０１）で指定することにより、クライアント装置３は録画予約を設定することができる。
【００４１】
コンテナ５１２は、先述のように、サーバ装置２が有するチューナで受信可能なチャネルであるチャネル１乃至チャネルｎに其々対応するアイテム５２３乃至５２４を子供として持つ。アイテム５２３乃至５２４には、其々「ｃｈａｎｎｅｌ０１」乃至「ｃｈａｎｎｅｌＹＹ」のオブジェクトＩＤが割り当てられている。サーバ装置２が提供するＳＲＳが、図３を参照して説明したＣＤＳＮｏｎＥＰＧクラスに対応している場合には、クライアント装置３はチャネルの指定の代わりにアイテム５２３乃至５２４のいずれかのオブジェクトＩＤを指定すると共に、録画開始時刻、録画時間等を併せてＣｒｅａｔｅＲｅｃｏｒｄＳｃｈｅｄｕｌｅアクション（図２（ａ）のＳ４０１）で指定することにより、クライアント装置３は録画予約を設定することができる。
【００４２】
図４の説明に戻り、Ａｃｔｉｏｎ受信部２０３は、クライアント装置３から送信されたＳＲＳに関するアクションであるＣｒｅａｔｅＲｅｃｏｒｄＳｃｈｅｄｕｌｅアクション、ＢｒｏｗｓｅＲｅｃｏｒｄＳｃｈｅｄｕｌｅｓアクション、ＤｅｌｅｔｅＲｅｃｏｒｄＳｃｈｅｄｕｌｅアクション等をＴＣＰ／ＩＰネットワークＩ／Ｆ処理部を介して受信する。尚、ＣＤＳに関するアクション処理は、ＣＤＳ処理部２０２が行うものとする。
【００４３】
Ｒｅｓｐｏｎｓｅ送信部２０４は、Ａｃｔｉｏｎ受信部２０３で受信した各アクションの応答を作成し、ＴＣＰ／ＩＰネットワークＩ／Ｆ処理部２０１からクライアント装置３へ送信させる。
【００４４】
ｒｅｃｏｒｄＳｃｈｅｄｕｌｅ生成部２０５は、クライアント装置３からＡｃｔｉｏｎ受信部２０３がＣｒｅａｔｅＲｅｃｏｒｄＳｃｈｅｄｕｌｅアクションを受信した場合に、指定されたｒｅｃｏｒｄＳｃｈｅｄｕｌｅクラスのｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクトを生成し、ｒｅｃｏｒｄＳｃｈｅｄｕｌｅデータベース２０７に登録する。このとき、指定されたｒｅｃｏｒｄＳｃｈｅｄｕｌｅクラスがｃｄｓＮｏｎＥＰＧクラスである場合には、ＣＤＳ処理部２０２を参照し、オブジェクトＩＤの解析を行う。
【００４５】
ｒｅｃｏｒｄＳｃｈｅｄｕｌｅ複製部２０６は、ｒｅｃｏｒｄＳｃｈｅｄｕｌｅ生成部２０５が指定されたクラスのｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクトを作成した際に、同一内容を示す（メタデータはクラスにより異なる）他のクラスのｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクトを生成し、ｒｅｃｏｒｄＳｃｈｅｄｕｌｅデータベース２０７に登録する。この処理の詳細は図７、図８、図１０等を参照しながら後述するが、以下簡単に説明する。
【００４６】
クライアント装置３からｍａｎｕａｌクラスのＣｒｅａｔｅＲｅｃｏｒｄＳｃｈｅｄｕｌｅアクションを受信した際には、ｍａｎｕａｌクラスのｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクトはｒｅｃｏｒｄＳｃｈｅｄｕｌｅ生成部２０５が生成する。その後、クライアント装置３からは指定されていないがサーバ装置２が対応するｃｄｓＮｏｎＥＰＧクラスのｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクトをｒｅｃｏｒｄＳｃｈｅｄｕｌｅ複製部２０６が生成する。このとき、ｒｅｃｏｒｄＳｃｈｅｄｕｌｅ生成部２０５又はｒｅｃｏｒｄＳｃｈｅｄｕｌｅ複製部２０６で生成したｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクトのうち、少なくとも一方のオブジェクトに他方のオブジェクトのオブジェクトＩＤを参照するメタデータを追加する。これにより、クライアント装置３はこれらのｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクトが同一内容を示すことを把握することができるようになる
【００４７】
尚、サーバ装置２が他のｃｄｓＥＰＧクラスやｐｒｏｇｒａｍＣｏｄｅクラスにも対応している場合には、これらのｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクトもｒｅｃｏｒｄＳｃｈｅｄｕｌｅ複製部２０６が生成することになるが、ここでは対応していないものとして説明する。
【００４８】
ｒｅｃｏｒｄＳｃｈｅｄｕｌｅデータベース２０７は、ｒｅｃｏｒｄＳｃｈｅｄｕｌｅ生成部２０５やｒｅｃｏｒｄＳｃｈｅｄｕｌｅ複製部が生成したｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクトが登録されるデータベースである。
【００４９】
ｒｅｃｏｒｄＳｃｈｅｄｕｌｅ削除部２０８は、クライアント装置３からＡｃｔｉｏｎ受信部２０３がＤｅｌｅｔｅＲｅｃｏｒｄＳｃｈｅｄｕｌｅアクションを受信した場合に、指定されたｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクトをｒｅｃｏｒｄＳｃｈｅｄｕｌｅデータベース２０７から削除する。またこのとき、指定されたｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクトと同一内容の他のｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクトも併せて削除する。さらに、削除したｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクトを参照するｒｅｃｏｒｄＴａｓｋの削除もｒｅｃｏｒｄＴａｓｋ削除部２１３に命じる。この処理の詳細は、図１２を参照しながら後述する。
【００５０】
ｒｅｃｏｒｄＳｃｈｅｄｕｌｅ読込部２０９は、Ａｃｔｉｏｎ受信部２０３がクライアント装置３からＢｒｏｗｓｅＲｅｃｏｒｄＳｃｈｅｄｕｌｅｓアクションを受信した場合に、ｒｅｃｏｒｄＳｃｈｅｄｕｌｅデータベース２０７に登録されたｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクトを読み込む。読み込まれたｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクトは、アクションの応答としてＲｅｓｐｏｎｓｅ送信部２０４がクライアント装置３へ送信する。
【００５１】
ｒｅｃｏｒｄＴａｓｋ生成部２１０は、ｒｅｃｏｒｄＳｃｈｅｄｕｌｅ生成部が録画予約情報であるｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクトを生成した後、ｒｅｃｏｒｄＳｃｈｅｄｕｌｅ生成部の指示を受けて同じクラスの録画実行情報であるｒｅｃｏｒｄＴａｓｋオブジェクトを生成する。生成したｒｅｃｏｒｄＴａｓｋオブジェクトはｒｅｃｏｒｄＴａｓｋデータベース２１２に登録される。
【００５２】
ｒｅｃｏｒｄＴａｓｋ複製部は、ｒｅｃｏｒｄＴａｓｋ生成部２１０がｒｅｃｏｒｄＴａｓｋオブジェクトを生成すると、ｒｅｃｏｒｄＳｃｈｅｄｕｌｅデータベースに登録された、同一内容を示す他のクラスのｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクトに基づいてｒｅｃｏｒｄＴａｓｋオブジェクトを生成する。このとき、１つのｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクトに対して必ず１以上のｒｅｃｏｒｄＴａｓｋオブジェクトが生成される。生成したｒｅｃｏｒｄＴａｓｋオブジェクトは、ｒｅｃｏｒｄＴａｓｋデータベース２１２に登録される。
【００５３】
ｒｅｃｏｒｄＴａｓｋデータベース２１２は、ｒｅｃｏｒｄＴａｓｋ生成部２１０やｒｅｃｏｒｄＴａｓｋ複製部２１１が生成したｒｅｃｏｒｄＴａｓｋオブジェクトが登録されるデータベースである。サーバ装置２は、ｒｅｃｏｒｄＴａｓｋデータベース２１２に登録された核ｒｅｃｏｒｄＴａｓｋオブジェクトに従って、指定された番組の記録媒体への録画を行う（録画実行主体及び記録媒体は図示せず）。
【００５４】
ｒｅｃｏｒｄＴａｓｋ削除部２１３は、ｒｅｃｏｒｄＳｃｈｅｄｕｌｅ削除部からｒｅｃｏｒｄＴａｓｋオブジェクトの削除を指示されると、指示されたｒｅｃｏｒｄＴａｓｋオブジェクトをｒｅｃｏｒｄＴａｓｋデータベース２１２から削除する。
【００５５】
ｒｅｃｏｒｄＴａｓｋ読込部２１４は、クライアント装置３からＡｃｔｉｏｎ受信部２０３がＢｒｏｗｓｅＲｅｃｏｒｄＴａｓｋｓアクションを受信した際に、ｒｅｃｏｒｄＴａｓｋデータベース２１２に登録されたｒｅｃｏｒｄＴａｓｋオブジェクトを読み込む。読み込まれたｒｅｃｏｒｄＴａｓｋオブジェクトは、アクションの応答としてＲｅｓｐｏｎｓｅ送信部２０４がクライアント装置３へ送信する。
【００５６】
続いて、図６を参照しながらクライアント装置３の構成を説明する。図６は、クライアント装置３の構成を示す図である。尚、ここではクライアント装置３はｍａｎｕａｌクラス及びｃｄｓＮｏｎＥＰＧクラスに対応しており、其々のクラスのメタデータを解析することができるものとする。
【００５７】
クライアント装置３は、アプリケーション部３０１と、Ａｃｔｉｏｎ送信部３０２と、ＴＣＰ／ＩＰネットワークＩ／Ｆ処理部３０３と、Ｒｅｓｐｏｎｓｅ受信部３０４と、プロパティ解析部３０５と、参照関係照合部３０６と、予約リスト生成部３０７とから構成される。
【００５８】
アプリケーション部３０１は、例えばユーザからの指示により、ＳＲＳを提供するサーバ装置２に録画予約を設定したり、サーバ装置２に設定された録画予約情報や録画実行情報の一覧を表示装置（図示せず）に表示したり、サーバ装置２に設定された録画予約設定を削除したりする機能を有する。
【００５９】
Ａｃｔｉｏｎ送信部３０２は、サーバ装置２が提供するＳＲＳに録画予約を設定するためのアクションＣｒｅａｔｅＲｅｃｏｒｄＳｃｈｅｄｕｌｅアクション、設定された録画予約情報や録画実行情報であるｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクトやｒｅｃｏｒｄＴａｓｋオブジェクトを閲覧するためのＢｒｏｗｓｅＲｅｃｏｒｄＳｃｈｅｄｕｌｅアクション、ＢｒｏｗｓｅＲｅｃｏｒｄＴａｓｋアクション等をＴＣＰ／ＩＰネットワークＩ／Ｆ処理部３０３を介して送信する。
【００６０】
ＴＣＰ／ＩＰネットワークＩ／Ｆ処理部３０３は、ＭＳＤであるサーバ装置２とネットワーク４を介して通信するための通信インタフェースである。ＴＣＰ／ＩＰネットワークＩ／Ｆ処理部３０３は、サーバ装置２へ送信するアクションやサーバ装置２から受信するアクションの応答（レスポンス）を受信する。
【００６１】
Ｒｅｓｐｏｎｓｅ受信部３０４は、Ａｃｔｉｏｎ送信部３０２で送信した各アクションの応答をＴＣＰ／ＩＰネットワークＩ／Ｆ処理部３０３を介して受信する。
プロパティ解析部３０５、参照関係照合部３０６、予約リスト生成部３０７は、其々ＢｒｏｗｓｅＲｅｃｏｒｄＳｃｈｅｄｕｌｅアクション又はＢｒｏｗｓｅＲｅｃｏｒｄＴａｓｋアクションの応答により取得することのできる録画予約情報や録画実行情報の一覧をアプリケーション部３０１が表示装置に表示させるための構成である。Ｒｅｓｐｏｎｓｅ受信部３０４が受信した他のアクションの応答については、アプリケーション部３０１が処理するものとする。
【００６２】
また、ｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクト及びｒｅｃｏｒｄＴａｓｋオブジェクトに対するプロパティ解析部３０５、参照関係照合部３０６、及び予約リスト生成部３０７の処理方法はほぼ同様であるので、以下ｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクトについて説明を行う。
【００６３】
プロパティ解析部３０５は、ＢｒｏｗｓｅＲｅｃｏｒｄＳｃｈｅｄｕｌｅアクションの応答としてＸＭＬ形式で受信した各ｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクト（ｉｔｅｍ要素（ｅｌｅｍｅｎｔ）として記載される、受信するレスポンスデータは図８を参照して後に説明する）内の各オブジェクトＩＤ、及びその参照関係を示すメタデータ（図８の例ではｒｅｆＩＤ要素）を取り出して対応付ける。
【００６４】
参照関係照合部３０６は、其々のオブジェクト（ｉｔｅｍ要素）に含まれるｒｅｆＩＤ要素で示されるオブジェクトＩＤを持つオブジェクトを検索し、同一内容であることを確認する。
【００６５】
予約リスト生成部３０７は、参照関係照合部３０６での解析により同一内容と判断された複数の予約情報を１つの予約情報の項目とした予約情報のリストを作成してアプリケーション部３０１に通知する。
【００６６】
図７乃至図９を参照しながら、本実施例におけるｒｅｃｏｒｄＳｃｈｅｄｕｌｅｏオブジェクト及びｒｅｃｏｒｄＴａｓｋオブジェクトの管理方法について説明する。図７は、サーバ装置２がｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクト及びｒｅｃｏｒｄＴａｓｋオブジェクトを生成する処理を説明するための図である。
【００６７】
ＳＲＳを提供するサーバ装置２は、クライアント装置３からｒｅｃｏｒｄＳｃｈｅｄｕｌｅクラスの値がｃｄｓＮｏｎＥＰＧクラスのＣｒｅａｔｅＲｅｃｏｒｄＳｃｈｅｄｕｌｅアクションをＡｃｔｉｏｎ受信部２０３で受信したものとして説明する。
【００６８】
ｒｅｃｏｒｄＳｃｈｅｄｕｌｅ生成部２１０は、クライアント装置３からのデータから、指示された録画予約を実行可能であるか否かの判断を図示しないサーバ管理部に問い合わせ、実行可能である場合には、ｃｄｓＮｏｎＥＰＧクラスで指定されているメタデータと共にｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクト６１ａを生成する。このとき作成したｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクト６１ａのオブジェクトＩＤは「ｃｄｓＮｏｎＥＰＧ００１」であるものとする。
【００６９】
また、ｒｅｃｏｒｄＳｃｈｅｄｕｌｅ生成部２０５は、ｒｅｃｏｒｄＳｃｈｅｄｕｌｅ複製部２０６にｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクト６１ａの複製を生成するよう指示を出す。
【００７０】
ｒｅｃｏｒｄＳｃｈｅｄｕｌｅ複製部２０５は、ＣｒｅａｔｅＲｅｃｏｒｄＳｃｈｅｄｕｌｅアクションで指示されたｃｄｓＮｏｎＥＰＧクラス以外で、サーバ装置２が実装しているクラスのｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクトを生成する。本実施例では、サーバ装置２はｃｄｓＮｏｎＥＰＧクラス及びｍａｎｕａｌクラスの２つのクラスのみを実装しているので、ｒｅｃｏｒｄＳｃｈｅｄｕｌｅ複製部２０６は、ｍａｎｕａｌクラスのｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクト６１ｂを生成する。
【００７１】
このとき、ｒｅｃｏｒｄＳｃｈｅｄｕｌｅ複製部２０６が複製を作成するオブジェクト６１ｂは、ｒｅｃｏｒｄＳｃｈｅｄｕｌｅ生成部２０５が生成したオブジェクト６１ａと同一内容を示し、実体は１つである。この例では、予約開始時刻（ＳｔａｒｔＤａｔｅＴｉｍｅ）及び予約時間（Ｄｕｒａｔｉｏｎ）はそのまま用い、ＣＤＳのオブジェクトＩＤの値を対応するＳｃｈｅｄｕｌｅｄＣｈｅｎｎｅｌＩＤに置き換えてｍａｎｕａｌクラスのｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクト６１ｂを作成する。ここで、この複製したオブジェクトのオブジェクトＩＤを「ｍａｎｕａｌ００１」とする。
【００７２】
また、先のｒｅｃｏｒｄＳｃｈｅｄｕｌｅ生成部で生成したオブジェクト６１ａのオブジェクトＩＤである「ｃｄｓＮｏｎＥＰＧ００１」を値として持ち、ｃｌａｓｓ属性（ａｔｔｒｉｂｕｔｅ）の値をオブジェクト６１ａのクラスである「ｃｄｓＮｏｎＥＰＧ」として持つＸＭＬ要素（ｅｌｅｍｅｎｔ）のメタデータを生成し、このオブジェクト６１ｂのプロパティとして持たせる。ここで生成したＸＭＬ要素の名前は、本実施例では「ｒｅｆＩＤ」とする。詳細は図８を参照しながら説明する。
【００７３】
また、オブジェクトＩＤが「ｃｄｓＮｏｎＥＰＧ００１」であるオブジェクト６１ａに対しては、オブジェクト６１ｂのオブジェクトＩＤである「ｍａｎｕａｌ００１」を値としてもち、オブジェクト６１ｂのクラスである「ｍａｎｕａｌ」をｃｌａｓｓ属性として持つｒｅｆＩＤという名前のＸＭＬ要素を付加する。
【００７４】
つまり、ｃｄｓＮｏｎＥＰＧクラスのオブジェクト６１ａとｍａｎｕａｌクラスのオブジェクト６１ｂとは、互いにｒｅｆＩＤというＸＭＬ要素で互いに参照し、これによりクライアント装置３はこれらのｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクトが同一内容であることを把握することができる。
【００７５】
また、ｒｅｃｏｒｄＳｃｈｅｄｕｌｅ生成部２０５及びｒｅｃｏｒｄＳｃｈｅｄｕｌｅ複製部２０６は、其々が作成したｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクトを互いに参照するｒｅｆＩＤメタデータを付加する。
【００７６】
ここでｒｅｃｏｒｄＳｃｈｅｄｕｌｅ生成部２０５及びｒｅｃｏｒｄＳｃｈｅｄｕｌｅ複製部２０６で生成されたｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクト６１ａ及び６１ｂは、其々ｒｅｃｏｒｄＳｃｈｅｄｕｌｅデータベース２０７に登録される。
【００７７】
さらに、ｒｅｃｏｒｄＳｃｈｅｄｕｌｅ生成部１０５は、ｒｅｃｏｒｄＳｃｈｅｄｕｌｅデータベース２０７に登録した、ｒｅｆＩＤを含むｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクト６１ａから、ＣｒｅａｔｅＲｅｃｏｒｄＳｃｈｅｄｕｌｅａアクションに対するレスポンスデータを生成して、Ｒｅｓｐｏｎｓｅ送信部２０４に当該アクションへの応答を送信するように指示する。
【００７８】
Ｒｅｓｐｏｎｓｅ送信部２０４は、ＴＣＰ／ＩＰネットワークＩ／Ｆ処理部２０１に対してレスポンスをクライアント装置３に送信するよう指示を出す。
尚、本実施例のサーバ装置２は、ｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクトを生成すると同時にｒｅｃｏｒｄＴａｓｋオブジェクトを生成するよう指示するものとする。しかしながら、ｒｅｃｏｒｄＴａｓｋオブジェクトの生成はｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクトの生成と同時である必要は無く、例えば、サーバ装置２の図示しない状態管理部が、ｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクトで指定された開始時刻の１５分前等の時刻情報によってｒｅｃｏｒｄＴａｓｋオブジェクトの生成指示を出しても良い。
【００７９】
ｒｅｃｏｒｄＳｃｈｅｄｕｌｅ生成部２０５は、オブジェクト６１ａに対応するｒｅｃｏｒｄＴａｓｋを生成するようｒｅｃｏｒｄＴａｓｋ生成部２１０に指示する。
【００８０】
ｒｅｃｏｒｄＴａｓｋ生成部２１０は、オブジェクトＩＤが「ｃｄｓＮｏｎＥＰＧ００１」であるｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクト６１ａに対応するｒｅｃｏｒｄＴａｓｋオブジェクト６５ａを生成する。本実施例では、オブジェクト６５ａのオブジェクトＩＤを「ｒｅｃｏｒｄＴａｓｋ００１」とする。
【００８１】
また、ｒｅｃｏｒｄＴａｓｋ生成部２１０は、ｒｅｃｏｒｄＴａｓｋ複製部２１１にｒｅｃｏｒｄＴａｓｋオブジェクトの生成を指示する。ｒｅｃｏｒｄＴａｓｋ複製部２１１は、ｒｅｃｏｒｄＳｃｈｅｄｕｌｅデータベース２０７を検索し、ｒｅｆＩＤの値が「ｃｄｓＮｏｎＥＰＧ００１」であるｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクトを全て取得し、対応するｒｅｃｏｒｄＴａｓｋオブジェクトを作成する。本実施例では、ｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクト６１ｂに対応するｒｅｃｏｒｄＴａｓｋオブジェクト６５ｂを作成する。尚、作成されたｒｅｃｏｒｄＴａｓｋオブジェクト６５ｂからは、作成する元となったｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクト６１ｂが参照される。
【００８２】
さらにｒｅｃｏｒｄＴａｓｋ複製部２１１は、ｒｅｆＩＤの値がｃｄｓＮｏｎＥＰＧ００１である全てのオブジェクト（本実施例ではオブジェクト６１ｂ）に対して、ｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクトの場合と同様に、同じ予約実行に対するｒｅｃｏｒｄＴａｓｋオブジェクトであることを示すため、ｒｅｆＩＤプロパティを生成する。生成方法はｒｅｃｏｒｄＳｃｈｅｄｕｌｅと同様に、同じ予約実行を表すｒｅｃｏｒｄＴａｓｋオブジェクトのオブジェクトＩＤを値として持つｒｅｆＩＤというＸＭＬ要素を作成する。
【００８３】
ここで、ｒｅｃｏｒｄＴａｓｋオブジェクトについては、クラスを示すｃｌａｓｓ属性は必ずしも持つ必要は無い。もし当該ＸＭＬ要素にｃｌａｓｓ属性を持たせる場合には、ｒｅｃｏｒｄＴａｓｋオブジェクトの元となるｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクトが持つｃｌａｓｓ属性の値を付加する。
【００８４】
また、ｒｅｃｏｒｄＴａｓｋ生成部２１０が生成するｒｅｃｏｒｄＴａｓｋオブジェクト６５ａも、同様にオブジェクト６５ｂと同じ予約実行であることを示すため、オブジェクト６５ｂを参照するｒｅｆＩＤプロパティを付加する。
【００８５】
ｒｅｃｏｒｄＴａｓｋ生成部２１０及びｒｅｃｏｒｄＴａｓｋ複製部２１１が作成したｒｅｃｏｒｄＴａｓｋオブジェクト６５ａ及び６５ｂは、ｒｅｃｏｒｄＴａｓｋデータベース２１２に登録される。
【００８６】
図８は、図７のようにしてｒｅｃｏｒｄＳｃｈｅｄｕｌｅデータベースにｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクト６１ａ、６１ｂ、６２ａ、６２ｂが登録されているサーバ装置２がクライアント装置３からのＢｒｏｗｓｅＲｅｃｏｒｄＳｃｈｅｄｕｌｅアクションに対してレスポンスデータとして送信する録画予約のリストである。
【００８７】
尚、図７の例において、オブジェクト６１ａ及び６１ｂ、オブジェクト６２ａ及び６２ｂは、其々お互いにクラスは異なるが同一内容であるものとする。
図８のレスポンスデータの例では、オブジェクト６１ａに対応するｉｔｅｍ要素（ｅｌｅｍｅｎｔ）７０２、オブジェクト６１ｂに対応するｉｔｅｍ要素７０１、オブジェクト６２ａに対応するｉｔｅｍ要素７０３、オブジェクト６２ｂに対応するｉｔｅｍ要素７０４の３つのアイテムが記載されている。
【００８８】
オブジェクト６１ｂに対応するｉｔｅｍ要素７０１は、ｉｄ属性（ａｔｔｒｉｂｕｔｅ）を有し、このｉｄ属性の値としてオブジェクト６１ｂのオブジェクトＩＤである「ｍａｎｕａｌ００１」が記載される。
【００８９】
また、子要素として持つｃｌａｓｓ要素７０１ａに、オブジェクト６１ｂのクラスの情報が記載される。この例ではＯＢＪＥＣＴ．ＲＥＣＯＲＤＳＣＨＥＤＵＬＥ．ＤＩＲＥＣＴ．ＭＡＮＵＡＬクラス（ｍａｎｕａｌクラス）となっている。
【００９０】
ｍａｎｕａｌクラスでは先述の通り、チャネル、録画開始時刻、録画時間等の情報がメタデータとして指定されるが、其々の情報はｓｃｈｅｄｕｌｅｄＣｈａｎｎｅｌＩＤ要素、ｓｃｈｅｄｕｌｅｄＳｔａｒｔＤａｔｅＴｉｍｅ要素、ｓｃｈｅｄｕｌｅｄＤｕｒａｔｉｏｎ要素として記載される。
【００９１】
またｉｔｅｍ要素７０１は、オブジェクト６１ｂがオブジェクト６１ａと同一内容であることを示すため、ｒｅｆＩＤ要素７０１ｃを子要素として有する。先述したように、参照先のオブジェクト６１ａ（ｉｔｅｍ要素７０２）のオブジェクトＩＤ「ｃｄｓＮｏｎＥＰＧ００１」を値として持ち、更にオブジェクト７１ａのクラスであるｃｄｓＮｏｎＥＰＧをｃｌａｓｓ属性の値として持つ。
【００９２】
同様に、オブジェクト６１ａに対応するｉｔｅｍ要素７０２は、自身の持つｉｄ属性値として、オブジェクトＩＤ「ｃｄｓＮｏｎＥＰＧ００１」を有する。
更に、ｉｔｅｍ要素７０２はｒｅｆＩＤ要素７０２ｃを子要素として有する。参照先のオブジェクト６１ｂ（ｉｔｅｍ要素７０１）のオブジェクトＩＤ「ｍａｎｕａｌ００１」を値として持ち、ｃｌａｓｓ属性値は「ｍａｎｕａｌ」となる。
【００９３】
オブジェクト６１ａ及び６１ｂは同一内容を示すため、その他の子要素はｉｔｅｍ要素７０１と基本的には同一であるが、クラスが異なるため、ｉｔｅｍ要素７０２はｉｔｅｍ要素７０１が有していたｓｃｈｅｄｕｌｅｄＣｈｅｎｎｅｌＩＤ要素の代わりに、ｓｃｈｅｄｕｌｅｄＣＤＳＯｂｊｅｃｔＩＤ要素を子要素として持つ。
【００９４】
同様に、ｍａｎｕａｌクラスであるオブジェクト６２ａがｃｄｓＮｏｎＥＰＧクラスであるオブジェクト６２ｂと同一内容である場合には、其々に対応するｉｔｅｍ要素７０３及び７０４は、ｒｅｆＩＤ要素７０３ｂ及び７０４ｂを作成し、互いに同一内容であることをクライアント装置３が認識できるようにする。
【００９５】
続いて、クライアント装置３が録画予約の一覧を作成する処理について、図６、図８、図９を参照しながら説明する。図９は、クライアント装置３が図示しない表示装置（内蔵するか外部装置であるかは問わない）に表示する表示画面の例を示す図である。
【００９６】
本実施例のクライアント装置３は、ｃｄｓＮｏｎＥＰＧクラス及びｍａｎｕａｌクラスの２つのクラスに対応しており、其々のクラスのプロパティの解析を行うことができるものとする。
【００９７】
クライアント装置３は、アプリケーション部３０１からＡｃｔｉｏｎ送信部３０２に対し、ＢｒｏｗｓｅＲｅｃｏｒｄＳｃｈｅｄｕｌｅアクションを作成するよう指示し、Ａｃｔｉｏｎ送信部は、ＴＣＰ／ＩＰネットワークＩ／Ｆ処理部３０３を通してサーバ装置２にＢｒｏｗｓｅＲｅｃｏｒｄＳｃｈｅｄｕｌｅアクションを送信する。
【００９８】
サーバ装置２は、図８に例を示したＢｒｏｗｓｅＲｅｃｏｒｄＳｃｈｅｄｕｌｅｓアクションのレスポンスデータを生成し、応答する。
先述の通り図８の例では、ｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクト６１ｂ及び６１ａに其々対応するｉｔｅｍ要素７０１及び７０２は、実態は１つである予約情報が２つの予約情報として表現されたものであり、其々がｒｅｆＩＤ要素によって参照されており、同一内容（つまり実態は１つ）であることがわかるようになっている。動揺に、ｉｔｅｍ要素７０３及び７０４も、実態は１つであることがわかるように、ｒｅｆＩＤにより互いに参照しあうようになっている。
【００９９】
クライアント装置３は、図８のようなレスポンスデータをサーバ装置２からＲｅｓｐｏｎｓｅ受信部３０４で受信し、これをプロパティ解析部３０５によって、其々のアイテム（ｉｔｅｍ）のオブジェクトＩＤと其々のアイテムが持つｒｅｆＩＤ要素の値とを取り出し、対応付ける。
【０１００】
次に、参照関係照合部３０６により、其々のアイテムに含まれるｒｅｆＩＤ要素で示されるオブジェクトＩＤを有するアイテムを検索し、同じものであることを確認する。例えば図８の例では、オブジェクトＩＤとして「ｃｄｓＮｏｎＥＰＧ００１」を持つアイテム７０２を選択し、アイテム７０２が有するｒｅｆＩＤ要素７０２ｂの値（ｍａｎｕａｌ００１）から同じ予約情報を表すアイテム、即ち「ｍａｎｕａｌ００１」をオブジェクトＩＤとして持つアイテム７０１検索する。これにより、アイテム７０１及びアイテム７０２が同じ予約情報を表していることを認識する。
【０１０１】
次に、予約リスト生成部３０７は、同じ予約を表すアイテムを１つの予約情報としてリストを作成してアプリケーション部に通知する。図８の例では、アイテム７０１及び７０２、アイテム７０３及び７０４を其々１つの予約情報としてアプリケーション部３０１に返答する。
【０１０２】
アプリケーション部３０１は、この予約リスト生成部３０７が作成したリストに基づき、予約情報の一覧画面を作成する。図９は、アプリケーション部３０１が表示装置に表示させる表示画面の例を示す図である。
【０１０３】
表示画面７１では、アイテム７０１及び７０２が示すタイトル（ｄｃ：ｔｉｔｌｅエレメントであらわされる）「ＢＢＣ  Ｎｅｗｓ  ａｔ  ７ｐｍ」の予約情報、アイテム７０３及び７０４が示すタイトル「ｌｉｆｅ  ｏｆ  ａ  Ｓｏｆｔｗａｒｅ  Ｄｅｖｅｌｏｐｅｒ」の予約情報が其々１つの予約情報として表現されている。
【０１０４】
尚、ｒｅｃｏｒｄＴａｓｋオブジェクトに対する一覧作成のために用いるＢｒｏｗｓｅＲｅｃｏｒｄＴａｓｋｓアクションについても同様の処理を行うことができ、受信したｒｅｃｏｒｄＴａｓｋの一覧を示すレスポンスデータに対し、プロパティ解析部３０５によって参照関係を示すｒｅｆＩＤ要素を抽出し、これに対して参照関係照合部３０６で同一内容を示すｒｅｃｏｒｄＴａｓｋオブジェクト（アイテム）を認識し、予約リスト生成部３０７により同一の録画実行情報に対するｒｅｃｏｒｄＴａｓｋを１つのものとしてアプリケーション部３０１に返答する。
【０１０５】
以下、図１０を参照しながら、サーバ装置２が録画予約を設定する際の処理の流れを説明する。図１０は、録画予約を設定する際のサーバ装置２の処理の流れを示すフローチャートである。
【０１０６】
クライアント装置３からＡｃｔｉｏｎ受信部２０３がＣｒｅａｔｅＲｅｃｏｒｄＳｃｈｅｄｕｌｅアクションを受信すると（Ｓ８０１のＹｅｓ）、ｒｅｃｏｒｄＳｃｈｅｄｕｌｅ生成部２０５は、当該ＣｒｅａｔｅＲｅｃｏｒｄＳｃｈｅｄｕｌｅアクションのクラスを自身がサポートしているか否かを判断する（Ｓ８０２）。サポートしていないクラスであれば、メタデータを解釈することができないため、Ｒｅｓｐｏｎｓｅ送信部２０４は、ｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクトを作成できなかった旨を示すＣｒｅａｔｅＲｅｃｏｒｄＳｃｈｅｄｕｌｅレスポンスをクライアント装置３に送信する。
【０１０７】
受信したＣｒｅａｔｅＲｅｃｏｒｄＳｃｈｅｄｕｌｅアクションがサポートしているクラスの録画要求である場合には（Ｓ８０２のＹｅｓ）、ｒｅｃｒｏｄＳｃｈｅｄｕｌｅ生成部２０５は指定されたクラスのｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクトを生成し、ｒｅｃｏｒｄＳｃｈｅｄｕｌｅデータベース２０７に登録する（Ｓ８０４）。以下、図７での説明と同様、Ｓ８０４で作成するｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクトをオブジェクト６１ａとし、クラスをｃｄｓＮｏｎＥＰＧクラス、オブジェクトＩＤを「ｃｄｓＮｏｎＥＰＧ００１」とする。
【０１０８】
ここで、ｒｅｃｏｒｄＳｃｈｅｄｕｌｅ生成部２０５がｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクト６１ａの生成が成功したか否かを判断し（Ｓ８０５）、生成できなかった場合にはＳ８０３へ進んでエラーを示すＣｒｅａｔｅＲｅｃｏｒｄＳｃｈｅｄｕｌｅレスポンスを送信する。
【０１０９】
ｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクト６１ａを生成できた場合には（Ｓ８０５のＹｅｓ）Ｒｅｓｐｏｎｓｅ送信部２０４は、生成したｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクト６１ａの内容、及び生成したオブジェクト６１ａのオブジェクトＩＤをＣｒｅａｔｅＲｅｃｏｒｄＳｃｈｅｄｕｌｅレスポンスとしてクライアント装置３へ送信する。
【０１１０】
続いて、ＳＲＳを提供するサーバ装置２がサポートしている全ｒｅｃｏｒｄＳｃｈｅｄｕｌｅクラスについてｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクトを作成したか否かを判断する（Ｓ８０７）。サポートしているクラスが他にあれば（Ｓ８０７のＹｅｓ）、それらのクラスの中から１つを選択し（Ｓ８０８）、そのクラスについてｒｅｃｏｒｄＳｃｈｅｄｕｌｅ複製部２０６がｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクトを生成する（Ｓ２０６）。ここでは、ｍａｎｕａｌクラスのオブジェクト６１ｂを生成するものとする。
【０１１１】
更に、ｒｅｃｏｒｄＳｃｈｅｄｕｌｅ複製部２０６は、ｒｅｃｏｒｄＳｃｈｅｄｕｌｅ生成部２０５及びｒｅｃｏｒｄＳｃｈｅｄｕｌｅ複製部２０６で生成した各ｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクト６１ａ及び６１ｂに対し、其々を互いに参照しあう付加情報（図８の例では、ｒｅｆＩＤ要素７０１ｃ、７０２ｃ）を各オブジェクトに追加する（Ｓ８１０）。
【０１１２】
サポートしている全ｒｅｃｏｒｄＳｃｈｅｄｕｌｅクラスについてのｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクトが終了した場合には（Ｓ８０７のＮｏ）、ｒｅｃｏｒｄＳｃｈｅｄｕｌｅ生成部２０５は、ｒｅｃｏｒｄＴａｓｋ生成部へｒｅｃｏｒｄＴａｓｋオブジェクトの生成処理を命じる（Ｓ８１１）。
【０１１３】
図１０のＳ８１１に関するｒｅｃｏｒｄＴａｓｋオブジェクトの生成処理について、図１１を参照しながら説明する。
ｒｅｃｏｒｄＳｃｈｅｄｕｌｅ生成部２０５から指示を受けると、ｒｅｃｏｒｄＴａｓｋ生成部２１０はｒｅｃｏｒｄＴａｓｋの生成を行う（Ｓ９０１）。ここでは、ｒｅｃｏｒｄＳｃｈｅｄｕｌｅ生成部２１０が生成したオブジェクト６１ａに対応するｒｅｃｏｒｄＴａｓｋオブジェクト６５ａを生成するものとする。
【０１１４】
更に、ｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクトのオブジェクトＩＤを参照するｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクトをｒｅｃｏｒｄＳｃｈｅｄｕｌｅデータベース２０７の中から検索し、取得する（Ｓ９０２）。図７の例では、ｍａｎｕａｌクラスのｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクト６１ｂが相当する。
【０１１５】
次に、ｒｅｃｏｒｄＴａｓｋ複製部２１１は、Ｓ９０２での検索の結果取得したｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクトに対応するｒｅｃｏｒｄＴａｓｋオブジェクトを生成する（Ｓ９０３）。図７の例では、オブジェクト６１ｂに基づき、これに対応するｒｅｃｏｒｄＴａｓｋオブジェクト６５ｂを生成する（Ｓ９０３）。
【０１１６】
更にｒｅｃｏｒｄＴａｓｋ複製部２１１は、ｒｅｃｏｒｄＴａｓｋ生成部２１０及びｒｅｃｏｒｄＴａｓｋ複製部２１１で生成した各ｒｅｃｏｒｄＴａｓｋオブジェクト６５ａ及び６５ｂに対し、其々を互いに参照しあう付加情報を各オブジェクトに追加する（Ｓ９０４）。
【０１１７】
次に、図１２を参照しながら、サーバ装置２が録画予約の設定を削除する際の処理の流れを説明する。図１２は、サーバ装置２が録画予約の設定を削除する際の処理の流れを示す図である。
【０１１８】
クライアント装置３からＡｃｔｉｏｎ受信部２０３がＤｅｌｅｔｅＲｅｃｏｒｄＳｃｈｅｄｕｌｅアクションを受信すると（Ｓ１００１のＹｅｓ）、ｒｅｃｏｒｄＳｃｈｅｄｕｌｅ削除部２０８は、当該アクションで指定されたオブジェクトＩＤを持つｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクトをｒｅｃｏｒｄＳｃｈｅｄｕｌｅデータベース２０７から検索する（Ｓ１００２）。ここでは、図７の例のオブジェクトＩＤ「ｍａｎｕａｌ００１」を有するｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクト６１ｂの削除要求を受けたものとする。
【０１１９】
次にｒｅｃｏｒｄＳｃｈｅｄｕｌｅ削除部２０８は、当該オブジェクト６１ｂの情報の中から、他のｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクトを参照するｒｅｆＩＤの情報を取り出し、参照するオブジェクトＩＤを取得する（Ｓ１００３）。図８の例では、ｒｅｆＩＤ要素７０１ｃの値である「ｃｄｓＮｏｎＥＰＧ００１」というオブジェクトＩＤを取得する。
【０１２０】
次にｒｅｃｏｒｄＳｃｈｅｄｕｌｅ削除部２０８は、ＤｅｌｅｔｅＲｅｃｏｒｄＳｃｈｅｄｕｌｅアクションで指定されたオブジェクトＩＤ（ここでは「ｍａｎｕａｌ００１」）、及びＳ１００３で取得したオブジェクトＩＤ（ここでは「ｃｄｓＮｏｎＥＰＧ００１」）を有するｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクト６１ａ、６１ｂをｒｅｃｏｒｄＳｃｈｅｄｕｌｅデータベース２０７から全て削除する（Ｓ１００４）。
【０１２１】
ｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクトを全て削除できた場合には（Ｓ１００５のＹｅｓ）、ｒｅｃｏｒｄＴａｓｋ削除部２１３は、指定されたオブジェクトＩＤ（ここでは「ｍａｎｕａｌ００１」）、及びＳ１００１で取得したオブジェクトＩＤ（ここでは「ｃｄｓＮｏｎＥＰＧ００１」）を、ｒｅｃｏｒｄＳｃｈｅｄｕｌｅＩＤプロパティの値として持つｒｅｃｏｒｄＴａｓｋオブジェクトをｒｅｃｏｒｄＴａｓｋデータベース２１２から全て削除する。尚、ｒｅｃｏｒｄＳｃｈｅｄｕｌｅＩＤプロパティは、当該ｒｅｃｏｒｄＴａｓｋオブジェクトの元となったｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクト（ｒｅｃｏｒｄＴａｓｋオブジェクト６５ａの場合はｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクト６１ａ、ｒｅｃｏｒｄＴａｓｋオブジェクト６５ｂの場合はｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクト６１ｂ）を参照するためのプロパティである。
【０１２２】
ｒｅｃｏｒｄＴａｓｋ削除部２１３は、ｒｅｃｏｒｄＴａｓｋオブジェクトの削除が成功したか否かを判断し（Ｓ１００７）、全て削除できた場合には削除成功を示すＤｅｌｅｔｅＲｃｏｒｄＳｃｈｅｄｕｌｅレスポンスを送信する（Ｓ１００８）。
【０１２３】
一方、ｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクト又はｒｅｃｏｒｄＴａｓｋオブジェクトが削除できなかった場合には（Ｓ１００５のＮｏ、Ｓ１００７のＮｏ）、Ｒｅｓｐｏｎｓｅ送信部２０４はエラーを示すＤｅｌｅｔｅＲｅｃｏｒｄＳｃｈｅｄｕｌｅレスポンスを送信する（Ｓ１００９）。
【０１２４】
以上説明したように、本実施例によれば、ＣｒｅａｔｅＲｅｃｏｒｄＳｃｈｅｄｕｌｅアクションで指定されたクラス以外のｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクトも合わせて生成する。これにより、ある特定のクラスのプロパティ（例えばｃｄｓＮｏｎＥＰＧクラス）のみしか解釈できないＭＳＣＰであっても、対応していないクラス（例えばｍａｎｕａｌクラス）での録画要求により作成された予約情報をも参照することができる。
【０１２５】
また、各ｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクトはｒｅｆＩＤプロパティによりお互いに参照するようにしている。これにより、複数のｒｅｃｏｒｄＳｃｈｅｄｕｌｅクラスをサポートするＭＳＣＰでは、ｒｅｆＩＤにより同一内容のｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクトであることがわかるため、同一の予約情報を重複して予約リストを作成することを避けることができる。
【０１２６】
また、クライアント装置３は、参照関係照合部３０６によりｒｅｆＩＤ要素の値とオブジェクトＩＤの値を照合することにより、複数のクラスによって１つの予約情報を表す場合であっても、１つの予約情報であることを認識し、１つの予約情報を重複して表示することを避けることができる。
【０１２７】
また、サーバ装置のｒｅｃｏｒｄＳｃｈｅｄｕｌｅ削除部２０８及びｒｅｃｏｒｄＴａｓｋ削除部２１１は、クライアント装置３から指示されたオブジェクトＩＤを持つ予約情報と同じ予約情報を表すｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクト及びｒｅｃｏｒｄＴａｓｋオブジェクトをｒｅｆＩＤプロパティに基づき検索する。これにより、ＭＳＣＰが特定のクラスのみをサポートしている場合でも、他のクラスで予約された予約情報をも削除することができる。
【０１２８】
尚、本実施形態では、実態が１つであるｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクト及びｒｅｃｏｒｄＴａｓｋオブジェクトは互いに参照しあうようになっていたが、これに限られるものではなく、少なくとも１つのオブジェクトから他のオブジェクトを参照するようにしてもよい。特に、ＳＲＳでサポートが必須となっているｃｄｓＮｏｎＥＰＧクラスのオブジェクトから、他のクラスの同一内容を示すオブジェクトを参照することが考えられる。
【図面の簡単な説明】
【０１２９】
【図１】本発明の実施例１に係るサーバ装置及びクライアント装置が使用される通信システムの構成を示す図。
【図２】本発明の実施例１に係るサーバ装置及びクライアント装置間の処理を示す図。
【図３】本発明の実施例１に係るサーバ装置に対応させることが可能なクラスを示す図。
【図４】本発明の実施例１に係るサーバ装置の構成を示す図。
【図５】本発明の実施例１に係るサーバ装置が提供するＣＤＳを説明するための図。
【図６】本発明の実施例１に係るクライアント装置の構成を示す図。
【図７】本発明の実施例１に係るサーバ装置の予約録画情報及び録画実行情報を作成する処理について説明するための図。
【図８】本発明の実施例１に係るサーバ装置が送信するデータの例を示す図。
【図９】本発明の実施例１に係るクライアント装置が表示する表示画面の例を示す図。
【図１０】本発明の実施例１に係るサーバ装置が録画予約を設定する際の処理の流れを示すフローチャート。
【図１１】本発明の実施例１に係るサーバ装置の録画実行情報を生成する処理の流れを示すフローチャート。
【図１２】本発明の実施例１に係るサーバ装置が録画予約情報及び録画実行情報を削除する処理の流れを示すフローチャート。
【符号の説明】
【０１３０】
１・・・通信システム
２・・・サーバ装置
３・・・クライアント装置
４・・・ネットワーク
６１ａ、６１ｂ、６２ａ、６２ｂ・・・ｒｅｃｏｒｄＳｃｈｅｄｕｌｅオブジェクト
６５ａ、６５ｂ、６６ａ、６６ｂ・・・ｒｅｃｏｒｄＴａｓｋオブジェクト
７１・・・表示画面
２０１・・・ＴＣＰ／ＩＰネットワークＩ／Ｆ処理部
２０２・・・ＣＤＳ処理部
２０３・・・Ａｃｔｉｏｎ受信部
２０４・・・Ｒｅｓｐｏｎｓｅ送信部
２０５・・・ｒｅｃｏｒｄＳｃｈｅｄｕｌｅ生成部
２０６・・・ｒｅｃｏｒｄＳｃｈｅｄｕｌｅ複製部
２０７・・・ｒｅｃｏｒｄＳｃｈｅｄｕｌｅデータベース
２０８・・・ｒｅｃｏｒｄＳｃｈｅｄｕｌｅ削除部
２０９・・・ｒｅｃｏｒｄＳｃｈｅｄｕｌｅ読込部
２１０・・・ｒｅｃｏｒｄｔａｓｋ生成部
２１１・・・ｒｅｃｏｒｄＴａｓｋ複製部
２１２・・・ｒｅｃｏｒｄＴａｓｋデータベース
２１３・・・ｒｅｃｏｒｄＴａｓｋ削除部
２１４・・・ｒｅｃｏｒｄＴａｓｋ読込部
３０１・・・アプリケーション部
３０２・・・Ａｃｔｉｏｎ送信部
３０３・・・ＴＣＰ／ＩＰネットワークＩ／Ｆ処理部
３０４・・・Ｒｅｓｐｏｎｓｅ受信部
３０５・・・プロパティ解析部
３０６・・・参照関係照合部
３０７・・・予約リスト生成部
５００・・・コンテンツリスト
５０１、５１１、５１２・・・コンテナ
５２１、５２２、５２３、５２４・・・アイテム
７０１、７０２、７０３、７０４・・・ｉｔｅｍ要素
７０１ａ、７０２ａ、７０３ａ、７０４ａ・・・ｃｌａｓｓ要素
７０１ｂ・・・ｓｃｈｅｄｕｌｅｄＣｈａｎｎｅｌＩＤ要素
７０１ｃ、７０２ｃ、７０３ｂ、７０４ｃ・・・ｒｅｆＩＤ要素
７０２ｂ・・・ｓｃｈｅｄｕｌｅｄＣＤＳＯｂｊｅｃｔＩＤ要素
【図１】
2008092207.tif 000003
【図２】
2008092207.tif 000004
【図３】
2008092207.tif 000005
【図４】
2008092207.tif 000006
【図５】
2008092207.tif 000007
【図６】
2008092207.tif 000008
【図７】
2008092207.tif 000009
【図８】
2008092207.tif 000010
【図９】
2008092207.tif 000011
【図１０】
2008092207.tif 000012
【図１１】
2008092207.tif 000013
【図１２】
2008092207.tif 000014