(57)【要約】【課題】  大容量の記憶装置を有するサーバ装置を用意することなく、どの地域にある情報処理装置からでも全国の放送番組を録画予約して再生できるシステムを提供すること。【解決手段】  ネットワークを通じて接続された複数の情報処理装置を有し、複数の情報処理装置の少なくとも１つは録画予約の管理を行う管理装置として機能する。情報処理装置は、地域識別情報を含む録画予約情報をネットワークを通じて管理装置に送信する。管理装置は、ネットワークを通じて受信した録画予約情報に基づいて録画実行可能な情報処理装置を特定し、この情報処理装置に録画依頼情報をネットワークを通じて送信する。録画依頼情報を受信した情報処理装置は、この録画依頼情報に基づいて放送番組を録画し、録画した放送番組を録画予約元の情報処理装置にネットワークを通じて転送する。【選択図】  図１２
2005311479.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに接続可能で、録画予約の管理を行う管理装置として機能する情報処理装置であって、
地域識別情報を含む録画予約情報を、前記ネットワークを通じて他の情報処理装置から受信する手段と、
前記受信した録画予約情報に基づいて録画実行可能な情報処理装置を特定し、当該特定された情報処理装置に録画依頼情報を前記ネットワークを通じて送信する録画実行装置特定手段と
を具備することを特徴とする情報処理装置。
【請求項２】
前記ネットワークに接続された複数の前記他の情報処理装置の地域識別情報を含む装置情報を管理する手段をさらに具備し、
前記録画実行装置特定手段は、前記ネットワークを通じて受信した録画予約情報に含まれる地域識別情報と前記装置情報に含まれる地域識別情報とを比較し、これら地域識別情報が一致することを少なくとも満足する情報処理装置を前記録画実行可能な情報処理装置の候補として特定する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記録画実行装置特定手段により特定された情報処理装置に、当該特定された情報処理装置が録画した放送番組を録画予約元の情報処理装置に前記ネットワークを通じて転送するように命ずる転送命令を送信する手段を更に具備する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記ネットワークに接続された前記複数の他の情報処理装置の地域識別情報と残り記憶容量に関する情報を含む装置情報を管理する手段をさらに具備し、
前記録画実行装置特定手段は、前記ネットワークを通じて受信した録画予約情報に含まれる地域識別情報と前記装置情報に含まれる地域識別情報とを比較し、これら地域識別情報が一致し、かつ、前記残り記憶容量が録画予約された放送番組の記録に必要な容量を有することを少なくとも満足する情報処理装置を前記録画実行可能な情報処理装置の候補として特定する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項５】
前記装置情報は前回電源オンからの経過時間の情報を含み、
前記録画実行装置特定手段は、前記録画実行可能な情報処理装置の候補が複数特定された場合、前記前回電源オンからの経過時間が最も長い候補を、前記録画実行可能な情報処理装置として最終的に特定する
ことを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記録画実行装置特定手段は、前記残り記憶容量が録画予約された放送番組の記録に必要な容量を有する情報処理装置が存在しないことを判断した場合、地域識別情報が一致することを満足する複数の情報処理装置に、放送番組の録画時間を分割して録画するように録画依頼情報を送信する
ことを特徴とする請求項４に記載の情報処理装置。
【請求項７】
地域識別情報を含む録画予約情報を、録画予約の管理を行う管理装置として機能する他の情報処理装置にネットワークを通じて送信する手段と、
前記ネットワークを通じて前記管理装置より受信した録画依頼情報に基づいて放送番組を録画し、録画した放送番組を録画予約元の情報処理装置に前記ネットワークを通じて転送する手段と
を具備することを特徴とする情報処理装置。
【請求項８】
ネットワークを通じて接続された複数の情報処理装置を有するネットワークシステムであって、
前記複数の情報処理装置の少なくとも１つは録画予約の管理を行う管理装置として機能し、
前記情報処理装置は、地域識別情報を含む録画予約情報を前記ネットワークを通じて前記管理装置に送信する手段と、前記ネットワークを通じて受信した録画依頼情報に基づいて放送番組を録画し、録画した放送番組を録画予約元の情報処理装置に前記ネットワークを通じて転送する手段とを有し、
前記管理装置は、前記ネットワークを通じて受信した録画予約情報に基づいて録画実行可能な情報処理装置を特定し、この情報処理装置に前記録画依頼情報を前記ネットワークを通じて送信する録画実行装置特定手段を有する
ことを特徴とするネットワークシステム。
【請求項９】
前記管理装置は、前記ネットワークに接続された前記複数の情報処理装置の地域識別情報を含む装置情報を管理する手段をさらに有し、
前記録画実行装置特定手段は、前記ネットワークを通じて受信した録画予約情報に含まれる地域識別情報と前記装置情報に含まれる地域識別情報とを比較し、これら地域識別情報が一致することを少なくとも満足する情報処理装置を前記録画実行可能な情報処理装置の候補として特定する
ことを特徴とする請求項８に記載のネットワークシステム。
【請求項１０】
前記管理装置は、前記ネットワークに接続された前記複数の情報処理装置の地域識別情報と残り記憶容量に関する情報を含む装置情報を管理する手段をさらに有し、
前記録画実行装置特定手段は、前記ネットワークを通じて受信した録画予約情報に含まれる地域識別情報と前記装置情報に含まれる地域識別情報とを比較し、これら地域識別情報が一致し、かつ、前記残り記憶容量が録画予約された放送番組の記録に必要な容量を有することを少なくとも満足する情報処理装置を前記録画実行可能な情報処理装置の候補として特定する
ことを特徴とする請求項８に記載のネットワークシステム。
【請求項１１】
前記装置情報が前回電源オンからの経過時間の情報を含み、
前記録画実行装置特定手段は、前記録画実行可能な情報処理装置の候補が複数特定された場合、前記前回電源オンからの経過時間が最も長い候補を、前記録画実行可能な情報処理装置として最終的に特定する
ことを特徴とする請求項１０に記載のネットワークシステム。
【請求項１２】
前記録画実行装置特定手段は、前記残り記憶容量が録画予約された放送番組の記録に必要な容量を有する情報処理装置が存在しないことを判断した場合、地域識別情報が一致することを満足する複数の情報処理装置に、録画時間を分割して前記放送番組を録画するように録画依頼情報を送信する
ことを特徴とする請求項１０に記載のネットワークシステム。
【請求項１３】
録画予約の管理を行う管理装置として機能する少なくとも１つの情報処理装置を含む複数の情報処理装置をネットワークを通じて接続しておき、
前記情報処理装置から前記管理装置に前記ネットワークを通じて地域識別情報を含む録画予約情報を送信し、
前記録画予約情報を受信した前記管理装置は、この録画予約情報に基づいて録画実行可能な情報処理装置を特定して、この情報処理装置に録画依頼情報を前記ネットワークを通じて送信し、
前記録画予約情報を受信した前記情報処理装置は、この録画依頼情報に基づいて放送番組を録画し、録画した放送番組を録画予約元の情報処理装置に前記ネットワークを通じて転送する
ことを特徴とする番組録画予約方法。
【請求項１４】
前記管理装置は、前記情報処理装置の地域識別情報を含む装置情報を管理しており、受信した前記録画予約情報に含まれる地域識別情報と前記装置情報に含まれる地域識別情報とを比較し、これら地域識別情報が一致することを少なくとも満足する情報処理装置を前記録画実行可能な情報処理装置の候補として特定する
ことを特徴とする請求項１３に記載の番組録画予約方法。
【請求項１５】
前記管理装置は、前記情報処理装置の地域識別情報と残り記憶容量に関する情報を含む装置情報を管理しており、受信した前記録画予約情報に含まれる地域識別情報と前記装置情報に含まれる地域識別情報とを比較し、これら地域識別情報が一致し、かつ、前記残り記憶容量が録画予約された放送番組の記録に必要な容量を有することを少なくとも満足する情報処理装置を前記録画実行可能な情報処理装置の候補として特定する
ことを特徴とする請求項１３に記載の番組録画予約方法。
【請求項１６】
前記装置情報が前回電源オンからの経過時間の情報を含み、
前記管理装置は、前記録画実行可能な情報処理装置の候補が複数特定された場合、前記前回電源オンからの経過時間が最も長い候補を、前記録画実行可能な情報処理装置として最終的に特定する
ことを特徴とする請求項１５に記載の番組録画予約方法。
【請求項１７】
前記管理装置は、前記残り記憶容量が録画予約された放送番組の記録に必要な容量を有する情報処理装置が存在しないことを判断した場合、地域識別情報が一致することを満足する複数の情報処理装置に、録画時間を分割して前記放送番組を録画するように録画依頼情報を送信する
ことを特徴とする請求項１５に記載の番組録画予約方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の情報処理装置がネットワークを通じて互いに接続されて構成されたネットワークシステム、このネットワークシステムにおいて放送番組を録画する番組録画予約方法、および情報処理装置に関するものである。
【背景技術】
【０００２】
一般に、放送番組の録画においては、地域によって放送を受信できる対象の放送局が限られることで、録画できる放送番組も限られていた。そこで、ネットワークを用いることで、地域的な制約を受けることなく、全国の放送番組の録画予約を行うことのできる仕組みが提案されている（たとえば特許文献１、特許文献２を参照）。
【０００３】
たとえば、クライアントからネットワークを介して録画対象の放送番組指定情報を録画センターのサーバに送信する。サーバは、全国の放送局とネットワークを通じて接続されており、クライアントから受信した指定情報に基づき該当する放送番組を記録し、クライアントからの再生要求を受信すると、要求された放送番組をネットワークを通じて送信する。このようにしてクライアントはサーバによる仲介を通じて、全国の放送番組を受信、録画することができる。  
【特許文献１】特開２００２−１９１００４号公報
【特許文献２】特開２００２−３４４８５９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記の仕組みでは、サーバに番組コンテンツを保存するための大容量の記憶装置が必要となるとともに、多数のクライアントからの要求を効率良く処理するために高い処理能力が要求される。このため、システムの構築に大きなコストがかかるという問題があった。
【０００５】
本発明は、かかる事情を鑑みて、大容量の記憶装置を有するサーバ装置を用意することなく、どの地域にある情報処理装置からでも全国の放送番組を録画予約して鑑賞することのできるネットワークシステム、番組録画予約方法、情報処理装置を提供することを目的としている。
【課題を解決するための手段】
【０００６】
上記の課題を解決するために、本発明の情報処理装置は、ネットワークに接続可能で、録画予約の管理を行う管理装置として機能する情報処理装置であって、地域識別情報を含む録画予約情報を、前記ネットワークを通じて他の情報処理装置から受信する手段と、前記受信した録画予約情報に基づいて録画実行可能な情報処理装置を特定し、当該特定された情報処理装置に録画依頼情報を前記ネットワークを通じて送信する録画実行装置特定手段とを具備するものである。
【０００７】
また、この発明の情報処理装置は、前記ネットワークに接続された複数の前記他の情報処理装置の地域識別情報を含む装置情報を管理する手段をさらに具備し、前記録画実行装置特定手段は、前記ネットワークを通じて受信した録画予約情報に含まれる地域識別情報と前記装置情報に含まれる地域識別情報とを比較し、これら地域識別情報が一致することを少なくとも満足する情報処理装置を前記録画実行可能な情報処理装置の候補として特定するものであってもよい。
【０００８】
したがって、この発明によれば、大容量の記憶装置を有するサーバ装置を要することなく、各々の情報処理装置において地域外の放送番組を録画することができる。
【０００９】
さらに、この発明の情報処理装置は、前記録画実行装置特定手段により特定された情報処理装置に、当該特定された情報処理装置が録画した放送番組を録画予約元の情報処理装置に前記ネットワークを通じて転送するように命ずる転送命令を送信する手段を更に具備するものであってもよい。
【００１０】
これにより、ユーザは前記特定された情報処理装置において録画された放送番組を録画予約元の情報処理装置において視聴することが可能となる。
【００１１】
さらに、この発明の情報処理装置は、前記ネットワークに接続された前記複数の他の情報処理装置の地域識別情報と残り記憶容量に関する情報を含む装置情報を管理する手段をさらに具備し、前記録画実行装置特定手段は、前記ネットワークを通じて受信した録画予約情報に含まれる地域識別情報と前記装置情報に含まれる地域識別情報とを比較し、これら地域識別情報が一致し、かつ、前記残り記憶容量が録画予約された放送番組を記録に必要な容量を有することを少なくとも満足する情報処理装置を前記録画実行可能な情報処理装置の候補として特定するものとしてもかまわない。
【００１２】
これにより、録画予約された放送番組を録画可能な残り記憶容量を有する情報処理装置を録画実行可能な情報処理装置の候補として特定することができ、より信頼性の高いシステムを実現できる。
【００１３】
さらに、この発明の情報処理装置において、装置情報が前回電源オンからの経過時間の情報を含み、録画実行装置特定手段は、録画実行可能な情報処理装置の候補が複数特定された場合、前回電源オンからの経過時間が最も長い候補を、録画実行可能な情報処理装置として最終的に特定するものであってもよい。これにより、特定の情報処理装置に録画依頼が集中することを回避することができる。
【００１４】
さらに、この発明の情報処理装置において、録画実行装置特定手段は、残り記憶容量が録画予約された放送番組の記録に必要な容量を有する情報処理装置が存在しないことを判断した場合、地域識別情報が一致することを満足する複数の情報処理装置に、放送番組の録画時間を分割して録画するように録画依頼情報を送信するものとしてもよい。これにより、各々の情報処理装置にまとまったサイズの残り記憶容量がない場合でも、録画予約に応じることができ、システムの可用性を高めることができる。
【００１５】
本発明の別の観点に基づく情報処理装置は、上記の課題を解決するために、地域識別情報を含む録画予約情報をネットワークを通じて、録画予約の管理を行う管理装置として機能する他の情報処理装置に送信する手段と、ネットワークを通じて管理装置より受信した録画依頼情報に基づいて放送番組を録画し、録画した放送番組を録画予約元の情報処理装置にネットワークを通じて転送する手段とを具備することを特徴とする。
【００１６】
これにより、上記管理装置として機能する他の情報処理装置を介して放送番組を録画させることができるとともに、自ら録画依頼情報に基づき当該放送番組を録画して、予約元の情報処理装置に転送することもできる、
【００１７】
本発明のネットワークシステムは、ネットワークを通じて接続された複数の情報処理装置を有するネットワークシステムであって、複数の情報処理装置の少なくとも１つは録画予約の管理を行う管理装置として機能し、情報処理装置は、地域識別情報を含む録画予約情報をネットワークを通じて管理装置に送信する手段と、ネットワークを通じて受信した録画依頼情報に基づいて放送番組を録画し、録画した放送番組を録画予約元の情報処理装置にネットワークを通じて転送する手段とを有し、管理装置は、ネットワークを通じて受信した録画予約情報に基づいて録画実行可能な情報処理装置を特定し、この情報処理装置に録画依頼情報をネットワークを通じて送信する録画実行装置特定手段を有することを特徴とする。
【００１８】
また、この発明のネットワークシステムにおいて、管理装置は、ネットワークに接続された複数の情報処理装置の地域識別情報を含む装置情報を管理する手段をさらに有し、録画実行装置特定手段は、ネットワークを通じて受信した録画予約情報に含まれる地域識別情報と装置情報に含まれる地域識別情報とを比較し、これら地域識別情報が一致することを少なくとも満足する情報処理装置を録画実行可能な情報処理装置の候補として特定するものである。
【００１９】
したがって、この発明によれば、大容量の記憶装置を有するサーバ装置を要することなく、各々の情報処理装置において地域外の放送番組を録画することができる。
【００２０】
また、この発明のネットワークシステムにおいて、管理装置は、ネットワークに接続された複数の情報処理装置の地域識別情報と残り記憶容量に関する情報を含む装置情報を管理する手段をさらに有し、録画実行装置特定手段は、ネットワークを通じて受信した録画予約情報に含まれる地域識別情報と装置情報に含まれる地域識別情報とを比較し、これら地域識別情報が一致し、かつ、残り記憶容量が録画予約された放送番組の記録に必要な容量を有することを少なくとも満足する情報処理装置を録画実行可能な情報処理装置の候補として特定するようにしてもよい。
【００２１】
これにより、録画予約された放送番組を録画可能な残り記憶容量を有する情報処理装置を録画実行可能な情報処理装置の候補として特定することができ、より信頼性の高いシステムを実現できる。
【００２２】
また、この発明のネットワークシステムにおいて、装置情報が前回電源オンからの経過時間の情報を含み、録画実行装置特定手段は、録画実行可能な情報処理装置の候補が複数特定された場合、前回電源オンからの経過時間が最も長い候補を、録画実行可能な情報処理装置として最終的に特定するようにしてもよい。これにより、特定の情報処理装置に録画依頼が集中することを回避することができる。
【００２３】
さらに、この発明のネットワークシステムにおいて、録画実行装置特定手段は、残り記憶容量が録画予約された放送番組を記録に必要な容量を有する情報処理装置が存在しないことを判断した場合、地域識別情報が一致することを満足する複数の情報処理装置に、録画時間を分割して放送番組を録画するように録画依頼情報を送信するようにしてもよい。これにより、各々の情報処理装置にまとまったサイズの残り記憶容量がない場合でも、録画予約に応じることができ、システムの可用性を高めることができる。
【００２４】
本発明の番組録画予約方法は、上記の課題を解決するために、録画予約の管理を行う管理装置として機能する少なくとも１つの情報処理装置を含む複数の情報処理装置をネットワークを通じて接続しておき、情報処理装置から管理装置にネットワークを通じて地域識別情報を含む録画予約情報を送信し、録画予約情報を受信した管理装置は、この録画予約情報に基づいて録画実行可能な情報処理装置を特定して、この情報処理装置に録画依頼情報をネットワークを通じて送信し、録画予約情報を受信した情報処理装置は、この録画依頼情報に基づいて放送番組を録画し、録画した放送番組を録画予約元の情報処理装置にネットワークを通じて転送することを特徴とする。
【００２５】
また、この発明の番組録画予約方法において、管理装置は、情報処理装置の地域識別情報を含む装置情報を管理しており、受信した録画予約情報に含まれる地域識別情報と装置情報に含まれる地域識別情報とを比較し、これら地域識別情報が一致することを少なくとも満足する情報処理装置を録画実行可能な情報処理装置の候補として特定するようにしてもよい。
【００２６】
この発明によれば、大容量の記憶装置を有するサーバ装置を要することなく、各々の情報処理装置において地域外の放送番組を録画することができる。
【００２７】
さらに、この発明の番組録画予約方法において、管理装置は、情報処理装置の地域識別情報と残り記憶容量に関する情報を含む装置情報を管理しており、受信した録画予約情報に含まれる地域識別情報と装置情報に含まれる地域識別情報とを比較し、これら地域識別情報が一致し、かつ、残り記憶容量が録画予約された放送番組の記録に必要な容量を有することを少なくとも満足する情報処理装置を前記録画実行可能な情報処理装置の候補として特定するようにしてもよい。
【００２８】
これにより、録画予約した放送番組を録画可能な残り記憶容量を有する情報処理装置を録画実行可能な情報処理装置の候補として特定することができ、より信頼性の高いシステムを実現できる。
【００２９】
さらに、この発明の番組録画予約方法において、装置情報が前回電源オンからの経過時間の情報を含み、管理装置は、録画実行可能な情報処理装置の候補が複数特定された場合、前回電源オンからの経過時間が最も長い候補を、録画実行可能な情報処理装置として最終的に特定するようにしてもよい。これにより、特定の情報処理装置に録画依頼が集中することを回避することができる。
【００３０】
さらに、この発明の番組録画予約方法において、管理装置は、残り記憶容量が録画予約された放送番組の記録に必要な容量を有する情報処理装置が存在しないことを判断した場合、地域識別情報が一致することを満足する複数の情報処理装置に、録画時間を分割して放送番組を録画するように録画依頼情報を送信するようにしてもよい。これにより、各々の情報処理装置にまとまったサイズの残り記憶容量がない場合でも、録画予約に応じることができ、システムの可用性を高めることができる。
【発明の効果】
【００３１】
本発明のネットワークシステム、番組録画予約方法、情報処理装置によれば、大容量の記憶装置を有するサーバ装置を用意することなく、どの地域にある情報処理装置からでも全国の放送番組を録画予約して鑑賞することができる。
【発明を実施するための最良の形態】
【００３２】
〔ネットワークシステムおよび情報処理装置の基本的構成：図１〜図４〕
【００３３】
図１は、この発明のネットワークシステムの一例を示し、ネットワーク９を介して複数の情報処理装置１、２、３、４が接続されたものである。
【００３４】
（情報処理装置および情報処理コントローラ）
【００３５】
情報処理装置１について示すと、情報処理装置１は、コンピュータ機能部として情報処理コントローラ１１を備える。情報処理コントローラ１１は、メインプロセッサ２１−１、サブプロセッサ２３−１，２３−２，２３−３、ＤＭＡＣ（ダイレクトメモリアクセスコントローラ）２５−１およびＤＣ（ディスクコントローラ）２７−１を有する。
【００３６】
メインプロセッサ２１−１は、サブプロセッサ２３−１，２３−２，２３−３によるプログラム実行（データ処理）のスケジュール管理と、情報処理コントローラ１１（情報処理装置１）の全般的な管理とを行う。ただし、メインプロセッサ２１−１内で管理のためのプログラム以外のプログラムが動作するように構成することもできる。その場合には、メインプロセッサ２１−１はサブプロセッサとしても機能することになる。メインプロセッサ２１−１は、ＬＳ（ローカルストレージ）２２−１を有する。
【００３７】
サブプロセッサは、１つでもよいが、望ましくは複数とする。この例は、複数の場合である。
【００３８】
各サブプロセッサ２３−１，２３−２，２３−３は、メインプロセッサ２１−１の制御によって並列的かつ独立に、プログラムを実行し、データを処理する。さらに、場合によってメインプロセッサ２１−１内のプログラムがサブプロセッサ２３−１，２３−２，２３−３内のプログラムと連携して動作するように構成することもできる。後述する機能プログラムもメインプロセッサ２１−１内で動作するプログラムである。各サブプロセッサ２３−１，２３−２，２３−３も、ＬＳ（ローカルストレージ）２４−１，２４−２，２４−３を有する。
【００３９】
ＤＭＡＣ２５−１は、情報処理コントローラ１１に接続されたＤＲＡＭ（ダイナミックＲＡＭ）などからなるメインメモリ２６−１に格納されているプログラムおよびデータにアクセスするものであり、ＤＣ２７−１は、情報処理コントローラ１１に接続された外部記録部２８−１，２８−２にアクセスするものである。
【００４０】
外部記録部２８−１，２８−２は、固定ディスク（ハードディスク）でも、リムーバブルディスクでもよく、また、ＭＯ,ＣＤ±ＲＷ，ＤＶＤ±ＲＷなどの光ディスク、メモリディスク、ＳＲＡＭ（スタティックＲＡＭ）、ＲＯＭなど、各種のものを用いることができる。したがって、ＤＣ２７−１は、ディスクコントローラと称するが、外部記録部コントローラである。
【００４１】
図１の例のように、情報処理コントローラ１１に対して外部記録部２８を複数接続できるように、情報処理コントローラ１１を構成することができる。
【００４２】
メインプロセッサ２１−１、各サブプロセッサ２３−１，２３−２，２３−３、ＤＭＡＣ２５−１およびＤＣ２７−１は、バス２９−１によって接続される。
【００４３】
情報処理コントローラ１１には、当該の情報処理コントローラ１１を備える情報処理装置１をネットワーク全体を通して一意的に識別できる識別子が、情報処理装置ＩＤとして割り当てられる。
【００４４】
メインプロセッサ２１−１および各サブプロセッサ２３−１，２３−２，２３−３に対しても同様に、それぞれを特定できる識別子が、メインプロセッサＩＤおよびサブプロセッサＩＤとして割り当てられる。
【００４５】
情報処理コントローラ１１は、ワンチップＩＣ（集積回路）として構成することが望ましい。
【００４６】
他の情報処理装置２、３、４も、同様に構成される。ここで、親番号が同一であるユニットは枝番号が異なっていても、特に断りがない限り同じ働きをするものとする。また、以下の説明において枝番号が省略されている場合には、枝番号の違いにいる差異を生じないものとする。
【００４７】
（各サブプロセッサからメインメモリへのアクセス）
【００４８】
上述したように、１つの情報処理コントローラ内の各サブプロセッサ２３は、独立にプログラムを実行し、データを処理するが、異なるサブプロセッサがメインメモリ２６内の同一領域に対して同時に読み出しまたは書き込みを行った場合には、データの不整合を生じ得る。そこで、サブプロセッサ２３からメインメモリ２６へのアクセスは、以下のような手順によって行う。
【００４９】
図２（Ａ）に示すように、メインメモリ２６は、複数のアドレスを指定できるメモリロケーションによって構成される。各メモリロケーションに対しては、データの状態を示す情報を格納するための追加セグメントが割り振られる。追加セグメントは、Ｆ／Ｅビット、サブプロセッサＩＤおよびＬＳアドレス（ローカルストレージアドレス）を含むものとされる。また、各メモリロケーションには、後述のアクセスキーも割り振られる。Ｆ／Ｅビットは、以下のように定義される。
【００５０】
Ｆ／Ｅビット＝０は、サブプロセッサ２３によって読み出されている処理中のデータ、または空き状態であるため最新データではない無効データであり、読み出し不可であることを示す。また、Ｆ／Ｅビット＝０は、当該メモリロケーションにデータ書き込み可能であることを示し、書き込み後に１に設定される。
【００５１】
Ｆ／Ｅビット＝１は、当該メモリロケーションのデータがサブプロセッサ２３によって読み出されておらず、未処理の最新データであることを示す。当該メモリロケーションのデータは読み出し可能であり、サブプロセッサ２３によって読み出された後に０に設定される。また、Ｆ／Ｅビット＝１は、当該メモリロケーションがデータ書き込み不可であることを示す。
【００５２】
さらに、上記Ｆ／Ｅビット＝０（読み出し不可／書き込み可）の状態において、当該メモリロケーションについて読み出し予約を設定することは可能である。Ｆ／Ｅビット＝０のメモリロケーションに対して読み出し予約を行う場合には、サブプロセッサ２３は、読み出し予約を行うメモリロケーションの追加セグメントに、読み出し予約情報として当該サブプロセッサ２３のサブプロセッサＩＤおよびＬＳアドレスを書き込む。
【００５３】
その後、データ書き込み側のサブプロセッサ２３によって、読み出し予約されたメモリロケーションにデータが書き込まれ、Ｆ／Ｅビット＝１（読み出し可／書き込み不可）に設定されたとき、あらかじめ読み出し予約情報として追加セグメントに書き込まれたサブプロセッサＩＤおよびＬＳアドレスに読み出される。
【００５４】
複数のサブプロセッサによってデータを多段階に処理する必要がある場合、このように各メモリロケーションのデータの読み出し／書き込みを制御することによって、前段階の処理を行うサブプロセッサ２３が、処理済みのデータをメインメモリ２６上の所定のアドレスに書き込んだ後に即座に、後段階の処理を行う別のサブプロセッサ２３が前処理後のデータを読み出すことが可能となる。
【００５５】
図２（Ｂ）に示すように、各サブプロセッサ２３内のＬＳ２４も、複数のアドレスを指定できるメモリロケーションによって構成される。各メモリロケーションに対しては、同様に追加セグメントが割り振られる。追加セグメントは、ビジービットを含むものとされる。
【００５６】
サブプロセッサ２３がメインメモリ２６内のデータを自身のＬＳ２４のメモリロケーションに読み出すときには、対応するビジービットを１に設定して予約する。ビジービットが１であるメモリロケーションには、他のデータは格納することができない。ＬＳ２４のメモリロケーションに読み出し後、ビジービットは０になり、任意の目的に使用できるようになる。
【００５７】
図２（Ａ）に示すように、さらに、各情報処理コントローラと接続されたメインメモリ２６には、複数のサンドボックスが含まれる。サンドボックスは、メインメモリ２６内の領域を画定するものであり、各サンドボックスは、各サブプロセッサ２３に割り当てられ、そのサブプロセッサが排他的に使用することができる。すなわち、各々のサブプロセッサ２３は、自身に割り当てられたサンドボックスを使用できるが、この領域を超えてデータのアクセスを行うことはできない。
【００５８】
メインメモリ２６は、複数のメモリロケーションから構成されるが、サンドボックスは、これらのメモリロケーションの集合である。
【００５９】
さらに、メインメモリ２６の排他的な制御を実現するために、図２（Ｃ）に示すようなキー管理テーブルが用いられる。キー管理テーブルは、情報処理コントローラ内のＳＲＡＭのような比較的高速のメモリに格納され、ＤＭＡＣ２５と関連付けられる。キー管理テーブル内の各エントリには、サブプロセッサＩＤ、サブプロセッサキーおよびキーマスクが含まれる。
【００６０】
サブプロセッサ２３がメインメモリ２６を使用する際のプロセスは、以下のとおりである。まず、サブプロセッサ２３はＤＭＡＣ２５に、読み出しまたは書き込みのコマンドを出力する。このコマンドには、自身のサブプロセッサＩＤと、使用要求先であるメインメモリ２６のアドレスが含まれる。
【００６１】
ＤＭＡＣ２５は、このコマンドを実行する前に、キー管理テーブルを参照して、使用要求元のサブプロセッサのサブプロセッサキーを調べる。次に、ＤＭＡＣ２５は、調べた使用要求元のサブプロセッサキーと、使用要求先であるメインメモリ２６内の図２（Ａ）に示したメモリロケーションに割り振られたアクセスキーとを比較して、２つのキーが一致した場合にのみ、上記のコマンドを実行する。
【００６２】
図２（Ｃ）に示したキー管理テーブル上のキーマスクは、その任意のビットが１になることによって、そのキーマスクに関連付けられたサブプロセッサキーの対応するビットが０または１になることができる。
【００６３】
例えば、サブプロセッサキーが１０１０であるとする。通常、このサブプロセッサキーによって１０１０のアクセスキーを持つサンドボックスへのアクセスだけが可能になる。しかし、このサブプロセッサキーと関連付けられたキーマスクが０００１に設定されている場合には、キーマスクのビットが１に設定された桁のみにつき、サブプロセッサキーとアクセスキーとの一致判定がマスクされ、このサブプロセッサキー１０１０によってアクセスキーが１０１０または１０１１のいずれかであるアクセスキーを持つサンドボックスへのアクセスが可能となる。
【００６４】
以上のようにして、メインメモリ２６のサンドボックスの排他性が実現される。すなわち、１つの情報処理コントローラ内の複数のサブプロセッサによってデータを多段階に処理する必要がある場合、以上のように構成することによって、前段階の処理を行うサブプロセッサと、後段階の処理を行うサブプロセッサのみが、メインメモリ２６の所定アドレスにアクセスできるようになり、データを保護することができる。
【００６５】
例えば、以下のように使用することが考えられる。まず、情報処理装置の起動直後においては、キーマスクの値は全てゼロである。メインプロセッサ内のプログラムが実行され、サブプロセッサ内のプログラムと連携動作するものとする。第１のサブプロセッサにより出力された処理結果データを一旦メインメモリに格納し、第２のサブプロセッサに入力したいときには、該当するメインメモリ領域は、当然どちらのサブプロセッサからもアクセス可能である必要がある。そのような場合に、メインプロセッサ内のプログラムは、キーマスクの値を適切に変更し、複数のサブプロセッサからアクセスできるメインメモリ領域を設けることにより、サブプロセッサによる多段階的の処理を可能にする。
【００６６】
より具体的には、他の情報処理装置からのデータ→第１のサブプロセッサによる処理→第１のメインメモリ領域→第２のサブプロセッサによる処理→第２のメインメモリ領域、という手順で多段階処理が行われるときには、
【００６７】
第１のサブプロセッサのサブプロセッサキー：０１００、
【００６８】
第１のメインメモリ領域のアクセスキー    ：０１００、
【００６９】
第２のサブプロセッサのサブプロセッサキー：０１０１、
【００７０】
第２のメインメモリ領域のアクセスキー    ：０１０１
のような設定のままだと、第２のサブプロセッサは第１のメインメモリ領域にアクセスすることができない。そこで、第２のサブプロセッサのキーマスクを０００１にすることにより、第２のサブプロセッサによる第１のメインメモリ領域へのアクセスを可能にすることができる。
【００７１】
（ソフトウェアセルの生成および構成）
【００７２】
図１のネットワークシステムでは、情報処理装置１、２、３、４間での分散処理のために、情報処理装置１、２、３、４間でソフトウェアセルが伝送される。すなわち、ある情報処理装置内の情報処理コントローラに含まれるメインプロセッサ２１は、コマンド、プログラムおよびデータを含むソフトウェアセルを生成し、ネットワーク９を介して他の情報処理装置に送信することによって、処理を分散することができる。
【００７３】
図３に、ソフトウェアセルの構成の一例を示す。この例のソフトウェアセルは、全体として、送信元ＩＤ、送信先ＩＤ、応答先ＩＤ、セルインターフェース、ＤＭＡコマンド、プログラム、およびデータによって構成される。
【００７４】
送信元ＩＤには、ソフトウェアセルの送信元である情報処理装置のネットワークアドレスおよび当該装置内の情報処理コントローラの情報処理装置ＩＤ、さらに、その情報処理装置内の情報処理コントローラが備えるメインプロセッサ２１および各サブプロセッサ２３の識別子（メインプロセッサＩＤおよびサブプロセッサＩＤ）が含まれる。
【００７５】
送信先ＩＤおよび応答先ＩＤには、それぞれ、ソフトウェアセルの送信先である情報処理装置、およびソフトウェアセルの実行結果の応答先である情報処理装置についての、同じ情報が含まれる。
【００７６】
セルインターフェースは、ソフトウェアセルの利用に必要な情報であり、グローバルＩＤ、必要なサブプロセッサの情報、サンドボックスサイズ、および前回のソフトウェアセルＩＤから構成される。
【００７７】
グローバルＩＤは、ネットワーク全体を通して当該のソフトウェアセルを一意的に識別できるものであり、送信元ＩＤ、およびソフトウェアセルの作成または送信の日時（日付および時刻）に基づいて作成される。
【００７８】
必要なサブプロセッサの情報は、当該ソフトウェアセルの実行に必要なサブプロセッサの数が設定される。サンドボックスサイズは、当該ソフトウェアセルの実行に必要なメインメモリ２６内およびサブプロセッサ２３のＬＳ２４内のメモリ量が設定される。
【００７９】
前回のソフトウェアセルＩＤは、ストリーミングデータなどのシーケンシャルな実行を要求する１グループのソフトウェアセル内の、前回のソフトウェアセルの識別子である。
【００８０】
ソフトウェアセルの実行セクションは、ＤＭＡコマンド、プログラムおよびデータから構成される。ＤＭＡコマンドには、プログラムの起動に必要な一連のＤＭＡコマンドが含まれ、プログラムには、サブプロセッサ２３によって実行されるサブプロセッサプログラムが含まれる。ここでのデータは、このサブプロセッサプログラムを含むプログラムによって処理されるデータである。
【００８１】
さらに、ＤＭＡコマンドには、ロードコマンド、キックコマンド、機能プログラム実行コマンド、ステータス要求コマンド、およびステータス返信コマンドが含まれる。
【００８２】
ロードコマンドは、メインメモリ２６内の情報をサブプロセッサ２３内のＬＳ２４にロードするコマンドであり、ロードコマンド自体のほかに、メインメモリアドレス、サブプロセッサＩＤおよびＬＳアドレスを含む。メインメモリアドレスは、情報のロード元であるメインメモリ２６内の所定領域のアドレスを示す。サブプロセッサＩＤおよびＬＳアドレスは、情報のロード先であるサブプロセッサ２３の識別子およびＬＳ２４のアドレスを示す。
【００８３】
キックコマンドは、プログラムの実行を開始するコマンドであり、キックコマンド自体のほかに、サブプロセッサＩＤおよびプログラムカウンタを含む。サブプロセッサＩＤは、キック対象のサブプロセッサ２３を識別し、プログラムカウンタは、プログラム実行用プログラムカウンタのためのアドレスを与える。
【００８４】
機能プログラム実行コマンドは、後述のように、ある情報処理装置が他の情報処理装置に対して、機能プログラムの実行を要求するコマンドである。機能プログラム実行コマンドを受信した情報処理装置内の情報処理コントローラは、後述の機能プログラムＩＤによって、起動すべき機能プログラムを識別する。機能プログラムについては後述されているが、図６に示される情報処理装置のメインメモリが記憶するソフトウェアの構成図において、機能プログラムのカテゴリに属するプログラムである。機能プログラムはメインメモリにロードされ、メインプロセッサにより実行される。
【００８５】
ステータス要求コマンドは、送信先ＩＤで示される情報処理装置の現在の動作状態（状況）に関する装置情報を、応答先ＩＤで示される情報処理装置宛に送信要求するコマンドである。機能プログラムについては後述するが、図６に示す情報処理コントローラのメインメモリ２６が記憶するソフトウェアの構成図において機能プログラムにカテゴライズされるプログラムである。機能プログラムは、メインメモリ２６にロードされ、メインプロセッサ２１により実行される。
【００８６】
ステータス返信コマンドは、上記のステータス要求コマンドを受信した情報処理装置が、自身の装置情報を当該ステータス要求コマンドに含まれる応答先ＩＤで示される情報処理装置に応答するコマンドである。ステータス返信コマンドは、実行セクションのデータ領域に装置情報を格納する。
【００８７】
図４に、ＤＭＡコマンドがステータス返信コマンドである場合におけるソフトウェアセルのデータ領域の構造を示す。
【００８８】
情報処理装置ＩＤは、情報処理コントローラを備える情報処理装置を識別するための識別子であり、ステータス返信コマンドを送信する情報処理装置のＩＤを示す。情報処理装置ＩＤは、電源投入時、その情報処理装置内の情報処理コントローラに含まれるメインプロセッサ２１によって、電源投入時の日時、情報処理装置のネットワークアドレスおよび情報処理装置内の情報処理コントローラに含まれるサブプロセッサ２３の数などに基づいて生成される。
【００８９】
情報処理装置種別ＩＤには、当該の情報処理装置の特徴を表す値が含まれる。情報処理装置の特徴とは、例えば、ハードディスクレコーダ、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔｓ）、ポータブルＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ）プレーヤ、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）などである。また、情報処理装置種別ＩＤは、映像音声記録、映像音声再生など、情報処理装置の機能を表すものであってもよい。情報処理装置の特徴や機能を表す値は予め決定されているものとし、情報処理装置種別ＩＤを読み出すことにより、当該情報処理装置の特徴や機能を把握することが可能である。
【００９０】
ＭＳ（マスター／スレーブ）ステータスは、後述のように情報処理装置がマスター装置またはスレーブ装置のいずれで動作しているかを表すもので、これが０に設定されている場合にはマスター装置として動作していることを示し、１に設定されている場合にはスレーブ装置として動作していることを示す。
【００９１】
メインプロセッサ動作周波数は、情報処理コントローラ内のメインプロセッサ２１の動作周波数を表す。メインプロセッサ使用率は、メインプロセッサ２１で現在動作している全てのプログラムについての、メインプロセッサ２１での使用率を表す。メインプロセッサ使用率は、対象メインプロセッサの全処理能力に対する使用中の処理能力の比率を表した値で、例えばプロセッサ処理能力評価のための単位であるＭＩＰＳを単位として算出され、または単位時間あたりのプロセッサ使用時間に基づいて算出される。後述のサブプロセッサ使用率についても同様である。
【００９２】
サブプロセッサ数は、当該の情報処理コントローラが備えるサブプロセッサ２３の数を表す。サブプロセッサＩＤは、当該の情報処理コントローラ内の各サブプロセッサ２３を識別するための識別子である。
【００９３】
サブプロセッサステータスは、各サブプロセッサ２３の状態を表すものであり、ｕｎｕｓｅｄ，ｒｅｓｅｒｖｅｄ，ｂｕｓｙなどの状態がある。ｕｎｕｓｅｄは、当該のサブプロセッサが現在使用されてなく、使用の予約もされていないことを示す。ｒｅｓｅｒｖｅｄは、現在は使用されていないが、予約されている状態を示す。ｂｕｓｙは、現在使用中であることを示す。
【００９４】
サブプロセッサ使用率は、当該のサブプロセッサで現在実行している、または当該のサブプロセッサに実行が予約されているプログラムについての、当該サブプロセッサでの使用率を表す。すなわち、サブプロセッサ使用率は、サブプロセッサステータスがｂｕｓｙである場合には、現在の使用率を示し、サブプロセッサステータスがｒｅｓｅｒｖｅｄである場合には、後に使用される予定の推定使用率を示す。
【００９５】
サブプロセッサＩＤ、サブプロセッサステータスおよびサブプロセッサ使用率は、１つのサブプロセッサ２３に対して一組設定され、１つの情報処理コントローラ内のサブプロセッサ２３に対応する組数が設定される。
【００９６】
メインメモリ総容量およびメインメモリ使用量は、それぞれ、当該の情報処理コントローラに接続されているメインメモリ２６の総容量および現在使用中の容量を表す。
【００９７】
外部記録部数は、当該の情報処理コントローラに接続されている外部記録部２８の数を表す。外部記録部ＩＤは、当該の情報処理コントローラに接続されている外部記録部２８を一意的に識別する情報である。外部記録部種別ＩＤは、当該の外部記録部の種類（例えば、ハードディスク、ＣＤ±ＲＷ、ＤＶＤ±ＲＷ、メモリディスク、ＳＲＡＭ、ＲＯＭなど）を表す。
【００９８】
外部記録部総容量および外部記録部使用量は、それぞれ、外部記録部ＩＤによって識別される外部記録部２８の総容量および現在使用中の容量を表す。
【００９９】
外部記録部ＩＤ、外部記録部種別ＩＤ、外部記録部総容量および外部記録部使用量は、１つの外部記録部２８に対して一組設定されるものであり、当該の情報処理コントローラに接続されている外部記録部２８の数の組数だけ設定される。すなわち、１つの情報処理コントローラに複数の外部記録部が接続されている場合、各々の外部記録部には異なる外部記録部ＩＤが割り当てられ、外部記録部種別ＩＤ、外部記録部総容量および外部記録部使用量も別々に管理される。
【０１００】
地域ＩＤは、放送局の放送番組が地域によって異なることを前提として、情報処理装置が所在する地域を識別するための番号である。
【０１０１】
（ソフトウェアセルの実行）
【０１０２】
ある情報処理装置内の情報処理コントローラに含まれるメインプロセッサ２１は、以上のような構成のソフトウェアセルを生成し、ネットワーク９を介して他の情報処理装置および当該装置内の情報処理コントローラに送信する。送信元の情報処理装置、送信先の情報処理装置、応答先の情報処理装置、および各装置内の情報処理コントローラは、それぞれ、上記の送信元ＩＤ、送信先ＩＤおよび応答先ＩＤによって識別される。
【０１０３】
ソフトウェアセルを受信した情報処理装置内の情報処理コントローラに含まれるメインプロセッサ２１は、そのソフトウェアセルをメインメモリ２６に格納する。さらに、送信先のメインプロセッサ２１は、ソフトウェアセルを読み出し、それに含まれるＤＭＡコマンドを処理する。
【０１０４】
具体的に、送信先のメインプロセッサ２１は、まず、ロードコマンドを実行する。これによって、ロードコマンドで指示されたメインメモリアドレスから、ロードコマンドに含まれるサブプロセッサＩＤおよびＬＳアドレスで特定されるサブプロセッサ内のＬＳ２４の所定領域に、情報がロードされる。ここでロードされる情報は、受信したソフトウェアセルに含まれるサブプロセッサプログラムまたはデータ、あるいはその他の指示されたデータである。
【０１０５】
次に、メインプロセッサ２１は、キックコマンドを、これに含まれるサブプロセッサＩＤで指示されたサブプロセッサに、同様にキックコマンドに含まれるプログラムカウンタと共に出力する。
【０１０６】
指示されたサブプロセッサは、そのキックコマンドおよびプログラムカウンタに従って、サブプロセッサプログラムを実行する。そして、実行結果をメインメモリ２６に格納した後、実行を完了したことをメインプロセッサ２１に通知する。
【０１０７】
なお、送信先の情報処理装置内の情報処理コントローラにおいてソフトウェアセルを実行するプロセッサはサブプロセッサ２３に限定されるものではなく、メインプロセッサ２１がソフトウェアセルに含まれる機能プログラムなどのメインメモリ用プログラムを実行するように指定することも可能である。
【０１０８】
この場合には、送信元の情報処理装置は、送信先の情報処理装置宛に、サブプロセッサプログラムの代わりに、メインメモリ用プログラムおよびそのメインメモリ用プログラムによって処理されるデータを含み、ＤＭＡコマンドがロードコマンドであるソフトウェアセルを送信し、メインメモリ２６にメインメモリ用プログラムおよびそれによって処理されるデータを記憶させる。次に、送信元の情報処理装置は、送信先の情報処理装置宛に、送信先の情報処理装置内の情報処理コントローラについてのメインプロセッサＩＤ、メインメモリアドレス、メインメモリ用プログラムを識別するための後述の機能プログラムＩＤなどの識別子、およびプログラムカウンタを含み、ＤＭＡコマンドがキックコマンドまたは機能プログラム実行コマンドであるソフトウェアセルを送信して、メインプロセッサ２１に当該メインメモリ用プログラムを実行させる。
【０１０９】
以上のように、この発明のネットワークシステムでは、送信元の情報処理装置は、サブプロセッサプログラムまたはメインメモリ用プログラムをソフトウェアセルによって送信先の情報処理装置に送信するとともに、当該サブプロセッサプログラムを送信先の情報処理装置内の情報処理コントローラに含まれるサブプロセッサ２３にロードさせ、当該サブプロセッサプログラムまたは当該メインメモリ用プログラムを送信先の情報処理装置に実行させることができる。
【０１１０】
送信先の情報処理装置内の情報処理コントローラでは、受信したソフトウェアセルに含まれるプログラムがサブプロセッサプログラムである場合には、当該サブプロセッサプログラムを指定されたサブプロセッサにロードさせる。そして、ソフトウェアセルに含まれるサブプロセッサプログラムまたはメインメモリ用プログラムを実行させる。
【０１１１】
したがって、ユーザが送信先の情報処理装置を操作しなくても自動的に、当該サブプロセッサプログラムまたは当該メインメモリ用プログラムを送信先の情報処理装置内の情報処理コントローラに実行させることができる。
【０１１２】
このようにして情報処理装置は、自装置内の情報処理コントローラがサブプロセッサプログラムまたは機能プログラムなどのメインメモリ用プログラムを有していない場合には、ネットワークに接続された他の情報処理装置からそれらを取得することができる。さらに、各サブプロセッサ間ではＤＭＡ方式によりデータ転送を行い、また上述したサンドボックスを使用することによって、１つの情報処理コントローラ内でデータを多段階に処理する必要がある場合でも、高速かつ高セキュリティに処理を実行することができる。
【０１１３】
〔ネットワークシステムとしての分散処理：図５〜図１５〕
【０１１４】
ソフトウェアセルの使用による分散処理の結果、図５の上段に示すようにネットワーク９に接続されている複数の情報処理装置１、２、３、４は、図５の下段に示すように、仮想的な１台の情報処理装置７として動作する。ただし、そのためには、以下のような構成によって、以下のような処理が実行される必要がある。
【０１１５】
（システムのソフトウェア構成とプログラムのロード）
【０１１６】
図６に、個々の情報処理コントローラのメインメモリ２６が記憶するソフトウェアの構成を示す。これらのソフトウェア（プログラム）は、情報処理装置に電源が投入される前においては、当該の情報処理コントローラに接続される外部記録部２８に記録されているものである。
【０１１７】
各プログラムは、機能または特徴によって、制御プログラム、機能プログラムおよびデバイスドライバにカテゴライズされる。
【０１１８】
制御プログラムは、各情報処理コントローラが同じものを備え、各情報処理コントローラのメインプロセッサ２１が実行するもので、後述のＭＳ（マスター／スレーブ）マネージャおよび能力交換プログラムを含む。
【０１１９】
機能プログラムは、メインプロセッサ２１が実行するもので、記録用、再生用、素材検索用など、情報処理コントローラごとに情報処理装置に応じたものが備えられる。
【０１２０】
デバイスドライバは、情報処理コントローラ（情報処理装置）の入出力（送受信）用で、放送受信、モニタ出力、ビットストリーム入出力、ネットワーク入出力など、情報処理コントローラごとに情報処理装置に応じたものが備えられる。
【０１２１】
ケーブルの差し込みなどによって情報処理装置が物理的にネットワーク９に接続された状態で、情報処理装置に主電源が投入され、情報処理装置が電気的・機能的にもネットワーク９に接続されると、その情報処理装置の情報処理コントローラのメインプロセッサ２１は、制御プログラムに属する各プログラム、およびデバイスドライバに属する各プログラムを、メインメモリ２６にロードする。
【０１２２】
ロード手順としては、メインプロセッサ２１は、まず、ＤＣ２７に読み出し命令を実行させることによって、外部記録部２８からプログラムを読み出し、次に、ＤＭＡＣ２５に書き込み命令を実行させることによって、そのプログラムをメインメモリ２６に書き込む。
【０１２３】
機能プログラムに属する各プログラムについては、必要なときに必要なプログラムだけをロードするように構成してもよく、または、他のカテゴリに属するプログラムと同様に、主電源投入直後に各プログラムをロードするように構成してもよい。
【０１２４】
ここで、機能プログラムに属する各プログラムは、ネットワークに接続された全ての情報処理装置の外部記録部２８に記録されている必要はなく、いずれか１つの情報処理装置の外部記録部２８に記録されていれば、前述の方法によって他の情報処理装置からロードすることができるので、結果的に図５の下段に示すように、仮想的な１台の情報処理装置７として機能プログラムを実行することができる。
【０１２５】
ここで前述したようにメインプロセッサ２１によって処理される機能プログラムは、サブプロセッサ２３によって処理されるサブプロセッサプログラムと連携動作する場合がある。そこでメインプロセッサ２１が外部記録部２８から機能プログラムを読み出し、メインメモリ２６に書き込む際に対象となる機能プログラムと連携動作するサブプロセッサプログラムが存在する場合には、当該サブプロセッサプログラムも併せて同じメインメモリ２６に書き込むものとする。この場合、連携動作するサブプロセッサプログラムは１個である場合もあるし、複数個であることもあり得る。複数個である場合には、全ての連携動作するサブプロセッサプログラムをメインメモリ２６に書き込むことになる。メインメモリ２６に書き込まれたサブプロセッサプログラムはその後、サブプロセッサ２３内のＬＳ２４に書き込まれ、メインプロセッサ２１によって処理される機能プログラムと連携動作する。
【０１２６】
図３のソフトウェアセルに示したように、機能プログラムには、プログラムごとにプログラムを一意的に識別できる識別子が、機能プログラムＩＤとして割り当てられる。機能プログラムＩＤは、機能プログラムの作成の段階で、作成日時や情報処理装置ＩＤなどから決定される。
【０１２７】
そしてサブプロセッサプログラムにもサブプロセッサプログラムＩＤが割り当てられ、これによりサブプロセッサプログラムを一意的に識別可能である。割り当てられるサブプロセッサプログラムＩＤは、連携動作する相手となる機能プログラムの機能プログラムＩＤと関連性のある識別子、例えば機能プログラムＩＤを親番号とした上で最後尾に枝番号を付加させたもの等であることもあり得るし、連携動作する相手となる機能プログラムの機能プログラムＩＤとは関連性のない識別子であってもよい。いずれにしても機能プログラムとサブプロセッサプログラムが連携動作する場合には、両者とも相手の識別子であるプログラムＩＤを自プログラム内に互いに記憶しておく必要がある。機能プログラムが複数個のサブプロセッサプログラムと連携動作する場合にも、当該機能プログラムは複数個ある全てのサブプロセッサプログラムのサブプロセッサプログラムＩＤを記憶しておくことになる。
【０１２８】
メインプロセッサ２１は、自身が動作する情報処理装置の装置情報（動作状態に関する情報）を格納するための領域をメインメモリ２６に確保し、当該情報を自装置の装置情報テーブルとして記録する。ここでの装置情報は、図４に示した情報処理装置ＩＤ以下の各情報である。
【０１２９】
（システムにおけるマスター／スレーブの決定）
【０１３０】
上述したネットワークシステムでは、ある情報処理装置への主電源投入時、その情報処理装置の情報処理コントローラのメインプロセッサ２１は、マスター／スレーブマネージャ（以下、ＭＳマネージャ）をメインメモリ２６にロードし、実行する。
【０１３１】
ＭＳマネージャは、自身が動作する情報処理装置がネットワーク９に接続されていることを検知すると、同じネットワーク９に接続されている他の情報処理装置の存在を確認する。ここでの「接続」または「存在」は、上述したように、情報処理装置が物理的にネットワーク９に接続されているだけでなく、電気的・機能的にもネットワーク９に接続されていることを示す。
【０１３２】
また、自身が動作する情報処理装置を自装置、他の情報処理装置を他装置と称する。当該装置も、当該情報処理装置を示すものとする。
【０１３３】
ＭＳマネージャが同じネットワーク９に接続されている他の情報処理装置の存在を確認する方法を以下に示す。
【０１３４】
ＭＳマネージャは、ＤＭＡコマンドがステータス要求コマンドであり、送信元ＩＤおよび応答先ＩＤが当該情報処理装置で、送信先ＩＤを特定しないソフトウェアセルを生成して、当該情報処理装置が接続されたネットワーク上に送信して、ネットワーク接続確認用のタイマーを設定する。タイマーのタイムアウト時間は、例えば１０分とされる。
【０１３５】
当該ネットワークシステム上に他の情報処理装置が接続されている場合、その他装置は、上記ステータス要求コマンドのソフトウェアセルを受信し、上記応答先ＩＤで特定されるステータス要求コマンドを発行した情報処理装置に対して、ＤＭＡコマンドがステータス返信コマンドで、かつデータとして自身（その他装置）の装置情報を含むソフトウェアセルを送信する。このステータス返信コマンドのソフトウェアセルには、少なくとも当該他装置を特定する情報（情報処理装置ＩＤ、メインプロセッサに関する情報、サブプロセッサに関する情報など）および当該他装置のＭＳステータスが含まれる。
【０１３６】
ステータス要求コマンドを発行した情報処理装置のＭＳマネージャは、上記ネットワーク接続確認用のタイマーがタイムアウトするまで、当該ネットワーク上の他装置から送信されるステータス返信コマンドのソフトウェアセルの受信を監視する。その結果、ＭＳステータス＝０（マスター装置）を示すステータス返信コマンドが受信された場合には、自装置の装置情報テーブルにおけるＭＳステータスを１に設定する。これによって、当該装置は、スレーブ装置となる。
【０１３７】
一方、上記ネットワーク接続確認用のタイマーがタイムアウトするまでの間にステータス返信コマンドが全く受信されなかった場合、またはＭＳステータス＝０（マスター装置）を示すステータス返信コマンドが受信されなかった場合には、自装置の装置情報テーブルにおけるＭＳステータスを０に設定する。これによって、当該装置は、マスター装置となる。
【０１３８】
すなわち、いずれの装置もネットワーク９に接続されていない状態、またはネットワーク９上にマスター装置が存在しない状態において、新たな情報処理装置がネットワーク９に接続されると、当該装置は自動的にマスター装置として設定される。一方、ネットワーク９上に既にマスター装置が存在する状態において、新たな情報処理装置がネットワーク９に接続されると、当該装置は自動的にスレーブ装置として設定される。
【０１３９】
マスター装置およびスレーブ装置のいずれについても、ＭＳマネージャは、定期的にステータス要求コマンドをネットワーク９上の他装置に送信してステータス情報を照会することにより、他装置の状況を監視する。その結果、ネットワーク９に接続されている情報処理装置の主電源が遮断され、またはネットワーク９から情報処理装置が切り離されることにより、あらかじめ判定用に設定された所定期間内に特定の他装置からステータス返信コマンドが返信されなかった場合や、ネットワーク９に新たな情報処理装置が接続された場合など、ネットワーク９の接続状態に変化があった場合には、その情報を後述の能力交換プログラムに通知する。
【０１４０】
（マスター装置およびスレーブ装置における装置情報の取得）
【０１４１】
メインプロセッサ２１は、ＭＳマネージャから、ネットワーク９上の他装置の照会および自装置のＭＳステータスの設定完了の通知を受けると、能力交換プログラムを実行する。
【０１４２】
能力交換プログラムは、自装置がマスター装置である場合には、ネットワーク９に接続されている全ての他装置の装置情報、すなわち各スレーブ装置の装置情報を取得する。
【０１４３】
他装置の装置情報の取得は、上述したように、ＤＭＡコマンドがステータス要求コマンドであるソフトウェアセルを生成して他装置に送信し、その後、ＤＭＡコマンドがステータス返信コマンドで、かつデータとして他装置の装置情報を含むソフトウェアセルを他装置から受信することによって可能である。
【０１４４】
能力交換プログラムは、マスター装置である自装置の装置情報テーブルと同様に、ネットワーク９に接続されている全ての他装置（各スレーブ装置）の装置情報を格納するための領域を自装置のメインメモリ２６に確保し、これら情報を他装置（スレーブ装置）の装置情報テーブルとして記録する。
【０１４５】
すなわち、マスター装置のメインメモリ２６には、自装置を含むネットワーク９に接続されている全ての情報処理装置の装置情報が、装置情報テーブルとして記録される。
【０１４６】
一方、能力交換プログラムは、自装置がスレーブ装置である場合には、ネットワーク９に接続されている全ての他装置の装置情報、すなわちマスター装置および自装置以外の各スレーブ装置の装置情報を取得し、これら装置情報に含まれる情報処理装置ＩＤおよびＭＳステータスを、自装置のメインメモリ２６に記録する。
【０１４７】
すなわち、スレーブ装置のメインメモリ２６には、自装置の装置情報が、装置情報テーブルとして記録されるとともに、自装置以外のネットワーク９に接続されているマスター装置および各スレーブ装置についての情報処理装置ＩＤおよびＭＳステータスが、別の装置情報テーブルとして記録される。
【０１４８】
また、マスター装置およびスレーブ装置のいずれについても、能力交換プログラムは、上記のようにＭＳマネージャから、新たにネットワーク９に情報処理装置が接続されたことが通知されたときには、その情報処理装置の装置情報を取得し、上述したようにメインメモリ２６に記録する。
【０１４９】
なお、ＭＳマネージャおよび能力交換プログラムは、メインプロセッサ２１で実行されることに限らず、いずれかのサブプロセッサ２３で実行されてもよい。また、ＭＳマネージャおよび能力交換プログラムは、情報処理装置の主電源が投入されている間は常時動作する常駐プログラムであることが望ましい。
【０１５０】
（情報処理装置がネットワークから切断された場合）
【０１５１】
マスター装置およびスレーブ装置のいずれについても、能力交換プログラムは、上記のようにＭＳマネージャから、ネットワーク９に接続されている情報処理装置の主電源が遮断され、またはネットワーク９から情報処理装置が切り離されたことが通知されたときには、その情報処理装置の装置情報テーブルを自装置のメインメモリ２６から削除する。
【０１５２】
さらに、このようにネットワーク９から切断された情報処理装置がマスター装置である場合には、以下のような方法によって、新たにマスター装置が決定される。
【０１５３】
具体的に、例えば、ネットワーク９から切断されていない情報処理装置は、それぞれ、自装置および他装置の情報処理装置ＩＤを数値に置き換えて、自装置の情報処理装置ＩＤを他装置の情報処理装置ＩＤと比較し、自装置の情報処理装置ＩＤがネットワーク９から切断されていない情報処理装置中で最小である場合、そのスレーブ装置は、マスター装置に移行して、ＭＳステータスを０に設定し、マスター装置として、上述したように、ネットワーク９に接続されている全ての他装置（各スレーブ装置）の装置情報を取得して、メインメモリ２６に記録する。
【０１５４】
（装置情報に基づく分散処理）
【０１５５】
図５の下段に示したようにネットワーク９に接続されている複数の情報処理装置１、２、３、４を仮想的な１台の情報処理装置７として動作させるためには、マスター装置がユーザの操作およびスレーブ装置の動作状態を把握する必要がある。
【０１５６】
図７に、４台の情報処理装置が仮想的な１台の情報処理装置７として動作する様子を示す。情報処理装置１がマスター装置、情報処理装置２、３、４がスレーブ装置Ａ、Ｂ、Ｃとして、動作しているものとする。
【０１５７】
ユーザがネットワーク９に接続されている情報処理装置を操作した場合、操作対象がマスター装置１であれば、その操作情報は、マスター装置１において直接把握され、操作対象がスレーブ装置であれば、その操作情報は、操作されたスレーブ装置からマスター装置１に送信される。すなわち、ユーザの操作対象がマスター装置１とスレーブ装置のいずれであるかにかかわらず、その操作情報は常にマスター装置１において把握される。操作情報の送信は、例えば、ＤＭＡコマンドが操作情報送信コマンドであるソフトウェアセルによって行われる。
【０１５８】
そして、マスター装置１内の情報処理コントローラ１１に含まれるメインプロセッサ２１−１は、その操作情報に従って、実行する機能プログラムを選択する。その際、必要であれば、マスター装置１内の情報処理コントローラ１１に含まれるメインプロセッサ２１−１は、上記の方法によって自装置の外部記録部２８−１、２８−２からメインメモリ２６−１に機能プログラムをロードするが、他の情報処理装置（スレーブ装置）がマスター装置１に機能プログラムを送信してもよい。
【０１５９】
機能プログラムには、その実行単位ごとに必要となる、図４に示した各情報として表される情報処理装置種別ＩＤ、メインプロセッサまたはサブプロセッサの処理能力、メインメモリ使用量、外部記録部に関する条件などの、装置に関する要求スペックが規定されている。
【０１６０】
マスター装置１内の情報処理コントローラ１１に含まれるメインプロセッサ２１−１は、各機能プログラムについて必要となる上記要求スペックを読み出す。また、あらかじめ能力交換プログラムによってメインメモリ２６−１に記録された装置情報テーブルを参照し、各情報処理装置の装置情報を読み出す。ここでの装置情報は、図４に示した情報処理装置ＩＤ以下の各情報を示し、メインプロセッサ、サブプロセッサ、メインメモリおよび外部記録部に関する情報である。
【０１６１】
マスター装置１内の情報処理コントローラ１１に含まれるメインプロセッサ２１−１は、ネットワーク９上に接続された各情報処理装置の上記装置情報と、機能プログラム実行に必要となる上記要求スペックとを順次比較する。
【０１６２】
そして、例えば、機能プログラムが録画機能を必要とする場合には、情報処理装置種別ＩＤに基づいて、録画機能を有する情報処理装置のみを特定して抽出する。さらに、機能プログラムを実行するために必要なメインプロセッサまたはサブプロセッサの処理能力、メインメモリ使用量、外部記録部に関する条件を確保できるスレーブ装置を、実行要求候補装置として特定する。ここで、複数の実行要求候補装置が特定された場合には、当該候補装置から１つの実行要求候補装置を特定して選択する。
【０１６３】
実行要求するスレーブ装置が特定されたら、マスター装置１内の情報処理コントローラ１１に含まれるメインプロセッサ２１−１は、その特定されたスレーブ装置について、自装置内の情報処理コントローラ１１に含まれるメインメモリ２６−１に記録されている当該スレーブ装置の装置情報テーブルを更新する。
【０１６４】
さらに、マスター装置１内の情報処理コントローラ１１に含まれるメインプロセッサ２１−１は、ＤＭＡコマンドがロードコマンドおよびキックコマンドであるソフトウェアセルを生成し、当該ソフトウェアセルのセルインタフェースに、当該機能プログラムに関する必要なサブプロセッサの情報およびサンドボックスサイズ（図３参照）を設定して、上記実行要求されるスレーブ装置に対して送信する。
【０１６５】
機能プログラムの実行を要求されたスレーブ装置は、その機能プログラムを実行するとともに、自装置の装置情報テーブルを更新する。その際、必要であれば、スレーブ装置内の情報処理コントローラに含まれるメインプロセッサ２１は、上記の方法によって自装置の外部記録部２８からメインメモリ２６に機能プログラムをロードする。
【０１６６】
機能プログラムの実行を要求されたスレーブ装置の外部記録部２８に、必要な機能プログラムが記録されていない場合には、他の情報処理装置が上記のメインメモリ用プログラムとして当該の機能プログラムを、その機能プログラム実行要求先スレーブ装置に送信するように、システムを構成すればよい。
【０１６７】
さらに、メインメモリ用プログラムと同様に、サブプロセッサプログラムも、必要であれば、ソフトウェアセルによって他の情報処理装置に送信して、他の情報処理装置のサブプロセッサ２３にロードさせ、他の情報処理装置に実行させることができる。
【０１６８】
機能プログラムの実行終了後、機能プログラムを実行したスレーブ装置内の情報処理コントローラに含まれるメインプロセッサ２１は、終了通知をマスター装置１内の情報処理コントローラ１１に含まれるメインプロセッサ２１−１に送信するとともに、自装置の装置情報テーブルを更新する。マスター装置１内の情報処理コントローラ１１に含まれるメインプロセッサ２１−１は、その終了通知を受信して、機能プログラムを実行したスレーブ装置の装置情報テーブルを更新する。
【０１６９】
マスター装置１内の情報処理コントローラ１１に含まれるメインプロセッサ２１−１は、自装置および他装置の装置情報テーブルの参照結果から、当該の機能プログラムを実行することができる情報処理装置として、自身を選択する場合もあり得る。その場合には、マスター装置１が当該の機能プログラムを実行する。
【０１７０】
図７の例で、ユーザがスレーブ装置Ａ（情報処理装置２）を操作し、当該操作に応じた機能プログラムを別のスレーブ装置Ｂ（情報処理装置３）が実行する場合につき、図８に以上の分散処理の例を示す。
【０１７１】
図８の例では、ユーザがスレーブ装置Ａを操作することによって、スレーブ装置Ａを含むネットワークシステム全体の分散処理が開始して、まず、スレーブ装置Ａは、ステップ８１で、その操作情報をマスター装置１に送信する。
【０１７２】
マスター装置１は、ステップ７２で、その操作情報を受信し、さらにステップ７３に進んで、自装置のメインメモリ２６−１に記録されている自装置および他装置の装置情報テーブルから、各情報処理装置の動作状態を調べて、受信した操作情報に応じた機能プログラムを実行することができる情報処理装置を選択する。この例は、スレーブ装置Ｂが選択される場合である。
【０１７３】
次に、マスター装置１は、ステップ７４で、その選択したスレーブ装置Ｂに対して機能プログラムの実行を要求する。
【０１７４】
スレーブ装置Ｂは、ステップ９５で、その実行要求を受信し、さらにステップ９６に進んで、実行要求された機能プログラムを実行する。
【０１７５】
以上のように、ユーザは、１台の情報処理装置のみを操作することによって、他の情報処理装置を操作することなく、複数の情報処理装置１、２、３、４を仮想的な１台の情報処理装置７として動作させることができる。
【０１７６】
（各情報処理装置およびシステムの具体例）
【０１７７】
ネットワーク９を介して互いに接続される情報処理装置１、２、３、４は、基本的に上記のような情報処理コントローラ１１、１２、１３、１４によって情報処理を行うものであれば、どのようなものでもよいが、図９に、その一例を示す。
【０１７８】
この例は、情報処理コントローラ１１を備える情報処理装置１、２，３、４としてハードディスクレコーダを採用したのである。図１０に、この情報処理装置１として採用されたハードディスクレコーダのハードウェア構成の例を示す図である。
【０１７９】
このハードディスクレコーダである情報処理装置１は、外部記録部２８−１としてハードディスクドライブを内蔵し、外部記録部２８−２としてＤＶＤ±Ｒ／ＲＷ、ＣＤ±Ｒ／ＲＷ、Ｂｌｕｒａｙ−Ｄｉｓｃ（登録商標）などの光ディスクに対してデータの読み書きを行う光ディスクドライブを内蔵している。情報処理コントローラ１１のバス２９−１に接続されたバス３１−１には、放送受信部３２−１、映像入力部３３−１、音声入力部３４−１、映像出力部３５−１、音声出力部３６−１、操作パネル部３７−１、リモコン受光部３８−１およびネットワーク接続部３９−１が接続されている。
【０１８０】
放送受信部３２−１、映像入力部３３−１および音声入力部３４−１は、放送信号を受信し、または情報処理装置１の外部から映像信号および音声信号を入力し、それぞれ所定フォーマットのデジタルデータに変換して、情報処理コントローラ１１での処理のためにバス３１−１に送出するものであり、映像出力部３５−１および音声出力部３６−１は、情報処理コントローラ１１からバス３１−１に送出された映像データおよび音声データを処理して、デジタルデータのまま、またはアナログ信号に変換して、情報処理装置１の外部に送出するものであり、リモコン受光部３８−１は、リモコン送信器４３−１からのリモコン（遠隔操作）赤外線信号を受信するものである。
【０１８１】
さらに、映像出力部３５−１および音声出力部３６−１には、モニタ表示装置４１およびスピーカ装置４２が接続されている。
【０１８２】
以上は情報処理装置１に採用されたハードディスクレコーダのハードウェア構成を示したが、図９のネットワークシステムにおける他の情報処理装置２、３、４であるハードディスクレコーダの構成も同様である。
【０１８３】
図１１は、このハードディスクレコーダである情報処理装置１のソフトウェア構成を示す図である。
【０１８４】
同図に示すように、ハードディスクレコーダである情報処理装置１は、制御プログラムとして、ＭＳマネージャおよび能力交換プログラムを備え、機能プログラムとして、映像音声記録、映像音声再生、素材検索および番組録画予約のためのプログラムを備え、デバイスドライバとして、放送受信、映像出力、音声出力、外部記録部入出力およびネットワーク入出力のためのプログラムを備える。
【０１８５】
なお、ネットワークシステムにおける情報処理装置は、ハードディスクレコーダの他に、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔｓ）、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ）、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）であってもよい。これらの具体的なハードウェア、ソフトウェアの構成はここでは省略する。
【０１８６】
（情報処理装置間での番組録画予約の処理）
【０１８７】
以上のような図９の例のネットワークシステムにおいて、情報処理装置１がマスター装置（ＭＳステータス＝０）として、情報処理装置２、３、４がスレーブ装置（ＭＳステータス＝１）として設定されているものとする。番組録画予約の処理において、マスター装置は録画予約の管理を行う管理装置として機能する。
【０１８８】
図１２は、図９のネットワークシステムでの番組録画予約の処理手順を示す図である。  情報処理装置１がマスター装置として動作しているので、ステップＳ１からステップＳ３で、マスター装置である情報処理装置１は他の各情報処理装置２、３、４から送信された装置情報を受信し、この受信した装置情報と自装置の装置情報を基に番組録画予約用の装置情報テーブルを作成し（ステップＳ４）、メインメモリ２６−１に格納する。
【０１８９】
図１３に、この番組録画予約用の装置情報テーブルの例を示す。同図に示すように、番組録画予約用の装置情報テーブルには、各情報処理装置１、２、３、４の、電源Ｏｎ／Ｏｆｆ、地域ＩＤ、ＩＰ（Internet Protocol）アドレスなどのネットワークアドレス、外部記憶部の残記憶容量、前回電源Ｏｎからの経過時間などが登録されている。
【０１９０】
ここで、ユーザによってスレーブ装置である情報処理装置２で放送番組の録画予約の操作が行われた場合の動作を説明する。
【０１９１】
情報処理装置２では、たとえば、全国の放送番組表のデータを、たとえばネットワークなどからダウンロードするなどして保持しており、ユーザから、地域ＩＤ、録画開始時刻、録画終了時刻、放送チャンネル、録画品質などの情報を含む録画モードなどの情報の入力を受け付けると、図１４に示すように、上記の入力情報をデータとして含むＤＭＡコマンドである録画予約コマンドを生成して、マスター装置である情報処理装置１に送信する（ステップＳ５）。
【０１９２】
この録画予約コマンドを受信したマスター装置である情報処理装置１は、番組録画予約用の装置情報テーブルを参照して、当該録画を実行可能な１台以上の情報処理装置を選択する（ステップＳ６）。この録画実行可能な情報処理装置を選択する処理の詳細は後で説明する。
【０１９３】
続いて、マスター装置である情報処理装置１は、選択した１台以上の録画実行可能な情報処理装置に対して、図１５に示すように、録画ＩＤ、録画開始時刻、録画終了時刻、放送チャンネル、録画品質などの情報を含む録画モードなどの情報をデータとして含むＤＭＡコマンドである録画依頼コマンドを送信する。
【０１９４】
なお、図１２は、録画実行可能な情報処理装置として２台の情報処理装置３、４が選択され、これらの情報処理装置３、４に録画依頼コマンドを送信した番組録画予約の処理例を示している。指定された録画の時間に対し、１台の情報処理装置の外部記憶部では残記憶容量が不足する場合には、このように複数の情報処理装置で時間を分けて録画を行うように、複数の情報処理装置に対して録画依頼コマンドが送信される。この際、一方の情報処理装置に対して送信される録画依頼コマンドの録画終了時刻と他方の情報処理装置に対して送信される録画依頼コマンドの録画開始時刻とには時間的な重なりを設けておくことが望ましい。
【０１９５】
すなわち、ユーザによって指定された録画開始時刻が９：００、録画終了時刻が１０：００だとした場合、たとえば、一方の情報処理装置に対して送信される録画依頼コマンドの録画開始時刻を９：００、録画終了時刻を９：３１とし、他方の情報処理装置に対して送信される録画依頼コマンドの録画開始時刻を９：３０、録画終了時刻を１０：００とする。このように一方の情報処理装置に対して送信される録画依頼コマンドの録画終了時刻と他方の情報処理装置に対して送信される録画依頼コマンドの録画開始時刻とには時間的な重なりを設けることで、録画完了後、２つの録画コンテンツをこれらに含まれているスイムスタンプを用いて一本のストリームにマージすることができる。
【０１９６】
録画依頼コマンドを受け取った情報処理装置（図１２の場合、情報処理装置３と情報処理装置４）は、この録画依頼コマンドにデータとして含まれている録画ＩＤ、録画開始時刻、録画終了時刻、放送チャンネル、録画品質などの情報を記憶し、この情報に基づいて予約番組の録画を実行し、ハードディスドライブ、光ディスクドライブなどの外部記録部に、録画ＩＤと対応つけて録画データを蓄積する（ステップＳ８、ステップＳ９）。予約番組の録画が完了すると、情報処理装置３、４は各々、マスター装置である情報処理装置１に対して、図１６に示すように、録画ＩＤと、自身の情報処理装置を識別するネットワークアドレスなどのＩＤをデータとして含むＤＭＡコマンドである録画完了通知コマンドを送信する（ステップＳ１０、ステップＳ１１）。
【０１９７】
マスター装置である情報処理装置１は、録画完了通知コマンドを受信すると、図１７に示すように、録画ＩＤと、転送先の情報処理装置を識別するネットワークアドレスなどのＩＤをデータとして含むＤＭＡコマンドである録画コンテンツ転送依頼コマンドを、録画完了通知コマンドの送信元である情報処理装置３，４に送信する（ステップＳ１２）。なお、転送先の情報処理装置とは番組予約元の情報処理装置２である。
【０１９８】
情報処理装置３，４はそれぞれ、録画コンテンツ転送依頼コマンドを受信すると、外部記録部に記録された該当する録画コンテンツのデータを転送先として指定された情報処理装置２に転送する（ステップＳ１３、ステップＳ１４）。
【０１９９】
番組予約元の情報処理装置２は、録画コンテンツのデータを受信すると、これをハードディスドライブ、光ディスクドライブなどの外部記録部に記録保存する（ステップＳ１５）。このとき、複数の情報処理装置３，４から番組コンテンツのデータを受信した場合には、情報処理装置１は、受信した２つの録画コンテンツのデータをこれらのタイムスタンプに基づいて１つのストリームにマージし、このマージしたデータを外部記録部に記録保存する。
【０２００】
一方、録画を実行した情報処理装置３，４は、番組予約元の情報処理装置１への番組コンテンツのデータの転送が正常に終了したならば、各々の外部記録部から、番組コンテンツのデータを削除する（ステップＳ１６、ステップＳ１７）。好ましくは、番組予約元の情報処理装置２において録画コンテンツのデータの保存が正常に行われたことを確認してから、録画コンテンツのデータを削除するようにしてもよい。
【０２０１】
次に、ステップＳ６の録画実行可能な情報処理装置を選択する処理について説明する。図１８は、この録画実行可能な情報処理装置を特定する処理の手順を示すフローチャートである。
【０２０２】
まず、マスター装置である情報処理装置１は、図１３に示す番組録画予約用の装置情報テーブルから、現在電源がＯｎのものを抽出し（ステップＳ２１）、続いて、抽出した電源Ｏｎの情報処理装置１、２，３，４のなかから、録画予約コマンドにデータとして含まれる地域ＩＤと一致する情報処理装置を抽出する（ステップＳ２２）。
【０２０３】
次に、マスター装置である情報処理装置１は、録画予約コマンドにデータとして含まれる録画開始時刻と録画終了時刻とから総録画時間を算出し（ステップＳ２３）、算出した総録画時間と、録画予約コマンドにデータとして含まれる録画モードなどから、録画に必要な記憶容量を算出する（ステップＳ２４）。
【０２０４】
次に、マスター装置である情報処理装置１は、番組録画予約用の装置情報テーブルを参照して、ステップＳ２２で抽出された情報処理装置のなかから、外部記憶部の残記憶容量が、録画に必要な記憶容量よりも多いものを抽出する（ステップＳ２５）。
【０２０５】
ここまでの判定で１つ以上の情報処理装置を抽出できたならば（ステップＳ２６のＹＥＳ）、マスター装置である情報処理装置１は、番組録画予約用の装置情報テーブルを参照して、抽出された１つ以上の情報処理装置のなかから、前回電源Ｏｎからの経過時間が一番長いものを、録画実行可能な情報処理装置として決定する（ステップＳ２７）。
【０２０６】
また、外部記憶部の残記憶容量が、録画に必要な記憶容量よりも大きい情報処理装置が存在しない場合には（ステップＳ２６のＮＯ）、１つの予約番組の録画を分担して行う複数の情報処理装置を判定するために、たとえば、次のような処理を行う。まず、ステップＳ２２で抽出された情報処理装置のなかから、外部記録部の残記憶容量が録画に必要な記憶容量の半分の容量より大きいものをすべて抽出し（ステップＳ２８）、抽出した情報処理装置のなかから、前回電源Ｏｎからの経過時間が一番長いものと二番目に長いものを、録画実行可能な２つの情報処理装置として決定する（ステップＳ２９）。
【０２０７】
なお、この例では、録画実行可能な情報処理装置を２台まで抽出するものとしたが、外部記録部の残記憶容量が録画に必要な記憶容量の半分の容量より大きいものが１台しか存在しない場合、あるいは、１台も存在しないような場合には、３台以上の情報処理装置を録画実行可能な情報処理装置として決定し、各々の情報処理装置の残記憶容量に応じた時間だけ録画予約を依頼するようにしてもよい。
【０２０８】
また、上記の録画実行可能な情報処理装置の選択処理の手順によれば、マスター装置である情報処理装置１や、番組予約元の情報処理装置２が録画実行可能な情報処理装置として選択される場合もあり得るが、マスター装置の負荷増大を防止するために、マスター装置である情報処理装置１は録画実行可能な情報処理装置として選択されないように制限を設けてもよい。
【０２０９】
以上説明した本実施形態のネットワークシステムによれば、録画予約された放送番組を受信録画可能な情報処理装置に他の情報処理装置からの録画予約を依頼し、依頼を受けた情報処理装置にて録画された番組コンテンツを、ネットワークを通じて録画予約元の情報処理装置に転送するように構成したので、大容量の記憶装置を有するサーバ装置を要することなく、どの地域にある情報処理装置からでも全国の放送番組を録画予約して鑑賞することができる。
【０２１０】
また、受信録画可能な情報処理装置の候補を、情報処理装置の地域ＩＤのみならず、外部記録部の残記憶容量に基づいて特定することで、残記憶容量の不足によって録画が中断することのない、信頼性の高いシステムを実現できる。さらに、複数の情報処理装置が受信録画可能な情報処理装置の候補として判定された場合には、前回電源Ｏｎからの経過時間が一番長いものを、録画実行可能な情報処理装置として最終的に特定することで、特定の情報処理装置に録画依頼が集中することを回避することができる。
【０２１１】
上記の実施形態では、ネットワークに接続されている各情報処理装置がマスター装置かスレーブ装置かのいずれかに設定され、マスター装置がスレーブ装置からの録画予約の要求を受け、録画実行が可能な情報処理装置を特定してその情報処理装置に録画依頼を行う管理装置として機能するものとしたが、本発明は、このようなネットワークシステムへの適用に限定されるものでない。
【０２１２】
たとえば、図１９に示すように、ハードディスクレコーダなどの複数の情報処理装置１０１、１０２、１０３とサーバ装置１０４とがネットワーク１０５を通じて接続されたネットワークシステムにおいて、サーバ装置１０４が録画予約の管理を行う管理装置として上記マスター装置と同様の動作を行い、各情報処理装置１０１、１０２、１０３が前記実施形態のスレーブ装置と同様の動作を行うように構成してもよい。この場合、サーバ装置１０４は、ネットワーク１０５に接続されている各情報処理装置１０１、１０２、１０３から定期的に送信される装置情報を受信し、この受信した装置情報を基に番組録画予約用の装置情報テーブルを作成し、これを保持する。
【０２１３】
情報処理装置１０１では、たとえば、全国の放送番組表のデータを、たとえばネットワーク１０５などからダウンロードするなどして保持しており、ユーザから、地域ＩＤ、録画開始時刻、録画終了時刻、放送チャンネル、録画品質などの情報を含む録画モードなどの情報の入力を受け付けると、上記の入力情報をデータとして含む録画予約コマンドを生成し、サーバ装置１０４に送信する。
【０２１４】
この録画予約コマンドを受信したサーバ装置１０４は、番組録画予約用の装置情報テーブルを参照して、当該録画を実行可能な１台以上の情報処理装置を選択する。この録画実行可能な情報処理装置を選択する処理の詳細は前述した実施形態と同様である。
【０２１５】
続いて、サーバ装置１０４は、選択した１台以上の録画実行可能な情報処理装置（仮に情報処理装置１０３とする。）に対して、録画ＩＤ、録画開始時刻、録画終了時刻、放送チャンネル、録画品質などの情報を含む録画モードなどの情報をデータとして含む録画依頼コマンドを送信する。
【０２１６】
なお、指定された総録画時間に対し、１台の情報処理装置の外部記憶部では残記憶容量が不足する場合には、複数の情報処理装置で時間を分けて録画を行うように、複数の情報処理装置に対して録画依頼コマンドが送信される。この際、一方の情報処理装置に対して送信される録画依頼コマンドの録画終了時刻と他方の情報処理装置に対して送信される録画依頼コマンドの録画開始時刻とには時間的な重なりを設けておくことが望ましい。
【０２１７】
録画依頼コマンドを受け取った情報処理装置１０３は、この録画依頼コマンドにデータとして含まれている録画ＩＤ、録画開始時刻、録画終了時刻、放送チャンネル、録画品質などの情報を記憶し、この情報に基づいて予約番組の録画を実行し、ハードディスドライブ、光ディスクドライブなどの外部記録部に、録画ＩＤと対応つけて録画データを蓄積する。予約番組の録画が完了すると、情報処理装置１０３は、サーバ装置１０４に対して、録画ＩＤと、自身の情報処理装置を識別するネットワークアドレスなどのＩＤをデータとして含む録画完了通知コマンドを送信する。
【０２１８】
サーバ装置１０４は、録画完了通知コマンドを受信すると、録画ＩＤと、転送先の情報処理装置を識別するネットワークアドレスなどのＩＤをデータとして含む録画コンテンツ転送依頼コマンドを、録画完了通知コマンドの送信元である情報処理装置１０３に送信する。なお、転送先の情報処理装置とは番組予約元の情報処理装置１０１である。
【０２１９】
情報処理装置１０３は、録画コンテンツ転送依頼コマンドを受信すると、外部記録部に記録された該当する録画コンテンツのデータを転送先として指定された情報処理装置１０１に転送する。
【０２２０】
番組予約元の情報処理装置１０１は、録画コンテンツのデータを受信すると、これをハードディスドライブ、光ディスクドライブなどの外部記録部に記録保存する。このとき、複数の情報処理装置（たとえば情報処理装置１０２および情報処理装置１０３）から番組コンテンツのデータを受信した場合には、情報処理装置１０１は、受信した２つの録画コンテンツのデータをこれらのタイムスタンプに基づいて１つのストリームにマージし、このマージしたデータを外部記録部に記録保存する。
【０２２１】
一方、録画を実行した情報処理装置１０３は、番組予約元の情報処理装置１０１への番組コンテンツのデータの転送が正常に終了したならば、各々の外部記録部から、番組コンテンツのデータを削除する。好ましくは、番組予約元の情報処理装置１０１において録画コンテンツのデータの保存が正常に行われたことを確認してから、録画コンテンツのデータを削除するようにしてもよい。
【０２２２】
なお、本発明は、上述の図示例にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
【図面の簡単な説明】
【０２２３】
【図１】この発明のネットワークシステムの一例を示す図である。
【図２】この発明の情報処理装置が備える情報処理コントローラの説明に供する図である。
【図３】ソフトウェアセルの一例を示す図である。
【図４】ＤＭＡコマンドがステータス返信コマンドである場合のソフトウェアセルのデータ領域を示す図である。
【図５】複数の情報処理装置が仮想的な１台の情報処理装置として動作する様子を示す図である。
【図６】情報処理コントローラのソフトウェア構成の一例を示す図である。
【図７】４台の情報処理装置が仮想的な１台の情報処理装置として動作する様子を示す図である。
【図８】図７のシステムにおける分散処理の例を示す図である。
【図９】各情報処理装置およびシステムの具体例を示す図である。
【図１０】図９中のハードディスクレコーダのハードウェア構成を示す図である。
【図１１】図９中のハードディスクレコーダのソフトウェア構成を示す図である。
【図１２】図９のネットワークシステムでの番組録画予約の処理手順を示すフローチャートである。
【図１３】番組録画予約用の装置情報テーブルの例を示す図である。
【図１４】録画予約コマンドを示す図である。
【図１５】録画依頼コマンドを示す図である。
【図１６】録画完了通知コマンドを示す図である。
【図１７】録画コンテンツ転送依頼コマンドを示す図である。
【図１８】録画実行可能な情報処理装置を特定する処理の手順を示すフローチャートである。
【図１９】本発明の他の実施形態のネットークシステムの構成を示す図である。
【符号の説明】
【０２２４】
１、２、３、４      情報処理装置
９      ネットワーク
１１、１２、１３、１４      情報処理コントローラ
２１−１〜２１−３      メインプロセッサ
２２−１、２２−２      ＬＳ（ローカルストレージ）
２３−１〜２３−６      サブプロセッサ
２５−１、２５−２      ＤＭＡＣ
２６−１〜２６−４      メインメモリ
２８−１〜２８−６      外部記録部
【図１】
2005311479.tif 000003
【図２】
2005311479.tif 000004
【図３】
2005311479.tif 000005
【図４】
2005311479.tif 000006
【図５】
2005311479.tif 000007
【図６】
2005311479.tif 000008
【図７】
2005311479.tif 000009
【図８】
2005311479.tif 000010
【図９】
2005311479.tif 000011
【図１０】
2005311479.tif 000012
【図１１】
2005311479.tif 000013
【図１２】
2005311479.tif 000014
【図１３】
2005311479.tif 000015
【図１４】
2005311479.tif 000016
【図１５】
2005311479.tif 000017
【図１６】
2005311479.tif 000018
【図１７】
2005311479.tif 000019
【図１８】
2005311479.tif 000020
【図１９】
2005311479.tif 000021