JP2005235246A - サーバ装置 - Google Patents
サーバ装置 Download PDFInfo
- Publication number
- JP2005235246A JP2005235246A JP2004039486A JP2004039486A JP2005235246A JP 2005235246 A JP2005235246 A JP 2005235246A JP 2004039486 A JP2004039486 A JP 2004039486A JP 2004039486 A JP2004039486 A JP 2004039486A JP 2005235246 A JP2005235246 A JP 2005235246A
- Authority
- JP
- Japan
- Prior art keywords
- program
- information processing
- processing apparatus
- information
- processor
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/10—Indexing; Addressing; Timing or synchronising; Measuring tape travel
- G11B27/11—Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information not detectable on the record carrier
Landscapes
- Television Signal Processing For Recording (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)
- Management Or Editing Of Information On Record Carriers (AREA)
Abstract
【課題】 AVサーバ上のコンテンツをモバイル機器で視聴するときの手間をはぶけるようにする。
【解決手段】 AVサーバ10において、情報管理テーブルを用意する。この情報管理テーブルには、番組を選択して持ち出すときの条件を示す第1のデータと、この第1のデータにしたがって選択された番組を持ち出すときの再エンコードの条件を示す第2のデータとを用意する。AVサーバ10の番組のうち、第1のデータにより選択されたデジタルデータを、第2のデータの条件にしたがって再エンコードする。この再エンコード結果の番組を持ち出す。
【選択図】 図5
【解決手段】 AVサーバ10において、情報管理テーブルを用意する。この情報管理テーブルには、番組を選択して持ち出すときの条件を示す第1のデータと、この第1のデータにしたがって選択された番組を持ち出すときの再エンコードの条件を示す第2のデータとを用意する。AVサーバ10の番組のうち、第1のデータにより選択されたデジタルデータを、第2のデータの条件にしたがって再エンコードする。この再エンコード結果の番組を持ち出す。
【選択図】 図5
Description
この発明はサーバ装置に関する。
AVサーバと呼ばれるサーバは、一般に、内蔵のハードディスクにテレビ番組を録画して蓄積しておくことができる。そして、ハードディスクの大容量化や複数のAVサーバが連携することにより、家庭におけるAVサーバに蓄積できる番組の数が飛躍的に増加している。
一方、モバイル機器として、動画や音楽(オーディオ)の再生ができるようにしたものがある。さらに、その動画や音楽のデジタルデータを、リライタブルな外部記録メディア、例えばメモリスティック(登録商標)などのメモリカードやカードサイズのハードディスク装置などに格納するようにしたものもある。
そこで、AVサーバとモバイル機器とを連携させ、AVサーバに蓄積されている番組のデジタルデータを、モバイル機器の外部記録メディアに持ち出す(コピーないし転送)するようにしたシステムが考えられている。つまり、そのようなシステムによれば、番組をAVサーバに録画しておき、これを戸外で視聴することができる。
なお、先行技術文献として例えば以下のものがある。
特開2001−243708号公報
特開2002−230899号公報
ところが、AVサーバに蓄積されている番組の数が増加すると、その番組の中から目的とする番組を見つけてモバイル機器の外部記録メディアに持ち出すとき、かなりの手間がかかってしまう。
また、テレビ番組などの動画のデジタルデータをAVサーバやモバイル機器の外部記録メディアに格納する場合、一般に、そのデジタルデータをデータ圧縮している。そして、動画のデジタルデータをデータ圧縮する場合、ビットレートを高くするほど画質は良好になるが、それだけデジタルデータのデータ量が多くなる。
このため、実際のAVサーバは、AVサーバから外部記録メディアに番組のデジタルデータを持ち出すとき、外部記録メディアの残りの記録容量に応じてビットレートを変更するようにしている。
ところが、そのように外部記録メディアの残りの記録容量に応じてビットレートを変更すると、ユーザが一番見たい部分が低ビットレートでデータ圧縮されてしまい、画質が低下してしまうことがある。
この発明は、以上のような問題点を解決しようとするものである。
この発明においては、
動画や音楽などのデジタルデータをデータ圧縮して蓄積ているとともに、この蓄積しているデジタルデータのうち、所望のデジタルデータをモバイル機器に提供するようにしたAVサーバにおいて、
上記モバイル機器の記録手段と接続するインターフェイスと、
エンコーダと、
情報管理テーブルと
を有し、
上記情報管理テーブルは、
上記デジタルデータを選択して上記記録手段に持ち出すときの条件を示す第1のデータと、
上記デジタルデータのうち、上記第1のデータにしたがって選択されたデジタルデータを上記記録手段に持ち出すときの再エンコードの条件を示す第2のデータと
を有し、
上記デジタルデータのうち、上記第1のデータにより選択されたデジタルデータを、上記エンコーダにより上記第2のデータの条件にしたがって再エンコードし、
この再エンコード結果のデジタルデータを上記インターフェイスを通じて上記記録手段に持ち出す
ようにしたサーバ装置
とするものである。
動画や音楽などのデジタルデータをデータ圧縮して蓄積ているとともに、この蓄積しているデジタルデータのうち、所望のデジタルデータをモバイル機器に提供するようにしたAVサーバにおいて、
上記モバイル機器の記録手段と接続するインターフェイスと、
エンコーダと、
情報管理テーブルと
を有し、
上記情報管理テーブルは、
上記デジタルデータを選択して上記記録手段に持ち出すときの条件を示す第1のデータと、
上記デジタルデータのうち、上記第1のデータにしたがって選択されたデジタルデータを上記記録手段に持ち出すときの再エンコードの条件を示す第2のデータと
を有し、
上記デジタルデータのうち、上記第1のデータにより選択されたデジタルデータを、上記エンコーダにより上記第2のデータの条件にしたがって再エンコードし、
この再エンコード結果のデジタルデータを上記インターフェイスを通じて上記記録手段に持ち出す
ようにしたサーバ装置
とするものである。
この発明によれば、サーバ上に大量に蓄積されたコンテンツの中からユーザが目的とするコンテンツを選んでモバイル機器で視聴するときの手間をはぶくことができる。
〔1〕 構成
〔1−1〕 AVサーバのハードウェア
図1において、符号10はこの発明によるAVサーバの一例を示し、符号20はモバイル機器、符号30はモバイル機器20で使用される外部記録メディアを示す。
〔1−1〕 AVサーバのハードウェア
図1において、符号10はこの発明によるAVサーバの一例を示し、符号20はモバイル機器、符号30はモバイル機器20で使用される外部記録メディアを示す。
そして、AVサーバ10はCPU11を有し、このCPU11には、システムバス19を通じてメモリ12が接続されるとともに、2次記録装置としてハードディスク装置13が接続される。この場合、ハードディスク装置13には、このAVサーバが管理および提供する番組などのデジタルデータが蓄積されるとともに、そのデジタルデータをモバイル機器に提供するためのプログラム(ソフトウェア)およびその管理情報などが保存される。
また、システムバス19には、ユーザインターフェイス14、チューナ15およびネットワークインターフェイス16が接続される。ユーザインターフェイス14は、キーボードやマウスなどの入力デバイスと、ディスプレイやプリンタなどの出力デバイスとである。さらに、チューナ15は、BS放送、CS放送、地上波デジタル放送などのテレビ放送を受信してテレビ番組のデジタルデータを出力するものである。
また、ネットワークインターフェイス16は、イーサネット(登録商標)などのネットワーク40に接続され、このネットワーク40を通じて配信されるストリーミング放送などのデジタルデータを受けるものである。なお、図1においては、ネットワーク40に、AVサーバ10と同様の別のAVサーバ10Aが接続されている場合である。
さらに、システムバス19には、DSP17および外部記録メディアインターフェイス18が接続される。この場合、DSP17は、ハードディスク装置13に蓄積されている番組などのデジタルデータを再エンコードするためのものである。また、外部記録メディアインターフェイス18は、外部記録メディア30が差し込まれるスロットを有し、外部記録メディア30が差し込まれたとき、その外部記録メディア30に対するデジタルデータのアクセスを実現するためのものである。
また、外部記録メディア30は、上述のようにメモリスティック(登録商標)などのメモリカードやカードサイズのハードディスク装置などであるが、この外部記録メディア30にも、コンテンツの管理情報が保持される。
なお、モバイル機器20は、外部記録メディア30に持ち出された番組を再生できるものであれば、通常のものでよいので、構成などについては、説明を省略する。
〔1−2〕 AVサーバにおける管理情報
図2Aは、AVサーバ10における管理情報テーブルを示し、これはハードディスク装置13に保持される。そして、この管理情報テーブルは、ハードディスク装置13に蓄積されている番組ごとに「保存番組情報」を有するとともに、すべての番組に共通の「持ち出しコンテンツ自動リストアップフラグ」、「コンテンツ持ち出し外部記録メディア容量」、「持ち出しコンテンツ自動リストアップ条件」、「持ち出しコンテンツ再エンコード条件」、「前回コンテンツ持ち出し日時」、「持ち出しコンテンツリスト」を有する。
図2Aは、AVサーバ10における管理情報テーブルを示し、これはハードディスク装置13に保持される。そして、この管理情報テーブルは、ハードディスク装置13に蓄積されている番組ごとに「保存番組情報」を有するとともに、すべての番組に共通の「持ち出しコンテンツ自動リストアップフラグ」、「コンテンツ持ち出し外部記録メディア容量」、「持ち出しコンテンツ自動リストアップ条件」、「持ち出しコンテンツ再エンコード条件」、「前回コンテンツ持ち出し日時」、「持ち出しコンテンツリスト」を有する。
ここで、「保存番組情報」は、ハードディスク13に蓄積されている番組ごとに、その番組に関する各種の情報をまとめたものであり、これらについては、後述する。また、「持ち出しコンテンツ自動リストアップフラグ」は、ハードディスク装置13に蓄積されている番組のデジタルデータのうち、外部記録メディア30に持ち出すデジタルデータではオン(持ち出し許可)とされ、持ち出さないデジタルデータではオフ(持ち出し不可)とされるフラグであり、「コンテンツ持ち出し外部記録メディア容量」は、外部記録メディア30の容量である。
さらに、「持ち出しコンテンツ自動リストアップ条件」は、持ち出す番組を、例えば下記の条件(A)〜(C)のうち、どの条件にしたがって選択するかを示すものである。
(A) 前回のコンテンツの持ち出し日以降に、新規録画された番組のみリストアップする。
(B) シリーズものの番組を初回から最新回までリストアップする。
(C) ハードディスク装置13に蓄積されている番組のうち、もっとも長い期間閲覧されていない番組をリストアップする。
(B) シリーズものの番組を初回から最新回までリストアップする。
(C) ハードディスク装置13に蓄積されている番組のうち、もっとも長い期間閲覧されていない番組をリストアップする。
すなわち、条件(A)が設定されると、AVサーバ10は前回コンテンツを持ち出した日時を内部に保持しておく。さらに、各番組の動画ファイルの作成日時と比較することにより新規録画された番組をリストアップする。また、条件(B)が設定されると、シリーズ録画機能を使って録画された番組について、ユーザがその番組名を指定すると、その番組の第1回から最新回までを検索する。さらに、条件(C)が設定されると、単純にファイルの作成日時の古いもの順にピックアップする。
また、「持ち出しコンテンツ再エンコード条件」は、ハードディスク装置13から外部記録メディア30にデジタルデータを持ち出すときに再エンコードする条件を、例えば下記の条件(D)〜(F)のうち、どれにするかを示すものである。
(D) すべて均等のビットレートで再エンコードする。
(E) シリーズ最新番組のみ高ビットレートで再エンコードし、それ以前の回は低ビットレートで再エンコードする。
(F) 各番組の最初の5分間だけ高ビットレートで再エンコードし、それ以降は低ビットレートで再エンコードする。
(E) シリーズ最新番組のみ高ビットレートで再エンコードし、それ以前の回は低ビットレートで再エンコードする。
(F) 各番組の最初の5分間だけ高ビットレートで再エンコードし、それ以降は低ビットレートで再エンコードする。
ここで、条件(E)は、例えば図4Aに示すように、最新回は高ビットレートで保存し、それ以前の回は均等な低ビットレートで保存するように再エンコードする。なお、新しい回が追加されると、図4Bに示すように、古い回はさらに低ビットレートとなるように再エンコードしなおす。また、条件(F)は、録画内容のチェックを行うときに適した条件で、番組先頭の5分間のみ高ビットレートで再エンコードし、それ以降は番組全体が入るように低ビットレートで再エンコードする。
さらに、「前回コンテンツ持ち出し日時」は、最後にハードディスク装置13から外部記録メディア30にデジタルデータを持ち出したときの日時を示す。また、「持ち出しコンテンツリスト」は、ハードディスク装置13から外部記録メディア30に番組を持ち出すごとに新規に作成されるものであるが、詳細は後述する。
そして、管理情報テーブルにおける「保存番組情報」は、図2Bの上側に示すように、「番組ID」、「番組タイトル」、「録画日時」、「最終視聴日時/未視聴フラグ」、「保存ビットレート」、「シリーズID/非シリーズものフラグ」、「シリーズ通し回数」、「コンテンツサイズ」、「オプション情報」の各情報を有する。
ここで、「番組ID」および「番組タイトル」は、該当する番組の識別コードおよび番組名である。また、「録画日時」は、該当する番組を録画した日時を示し、「最終視聴日時/未視聴フラグ」は、該当する番組を視聴したかどうか、視聴したとすれば、最後に視聴した日時を示す。さらに、「保存ビットレート」は、該当する番組のデジタルデータをハードディスク装置13に蓄積したときのビットレートを示し、「シリーズID/非シリーズものフラグ」は、該当する番組がシリーズ作品であるか単発作品であるか、シリーズ作品であれば、その識別コードを示す。
また、「シリーズ通し回数」は、該当する番組がシリーズ作品のとき、そのシリーズ内における通し回数を示し、「コンテンツサイズ」は、該当する番組のデータ量(バイト数)を示す。そして、「オプション情報」は、必要に応じて追加される情報である。
さらに、管理情報テーブルにおける「持ち出しコンテンツリスト」は、上記のように、ハードディスク装置13から外部記録メディア30に番組を持ち出すごとに新規に追加して作成されるものであるが、図2Bの下側に示すように、「持ち出しコンテンツリストID」、「持ち出しコンテンツ総サイズ」、「リスト作成日時」、「リスト未使用フラグ」、「持ち出し番組リスト」、「再エンコードビットレート条件」、「オプション情報」の各情報を有する。
ここで、「持ち出しコンテンツリストID」は、この「持ち出しコンテンツリスト」の識別コードを示し、「持ち出しコンテンツ総サイズ」は、1回の持ち出しでハードディスク装置13から外部記録メディア30に持ち出した番組の総データ量を示す。また、「リスト作成日時」は、この「持ち出しコンテンツリスト」の作成日時を示し、「リスト未使用フラグ」は、この「持ち出しコンテンツリスト」を使用したかどうかを示すフラグである。
さらに、「持ち出し番組リスト」は、ハードディスク装置13から外部記録メディア30に持ち出した番組ごとに、図2Cに示す内容の情報を有するものであり、詳細は後述する。また、「再エンコードビットレート条件」は、ハードディスク装置13から外部記録メディア30に番組を持ち出したときに実行した再エンコードが、上記の条件(D)〜(F)のうちのどれであるかを示す。また、「オプション情報」は、必要に応じて追加される情報である。
そして、「持ち出し番組リスト」は、持ち出した番組ごとに図2Cに示すように、「番組ID」、「番組タイトル」、「シリーズID/非シリーズものフラグ」、「シリーズ通し回数」、「再エンコードビットレート」、「視聴・未視聴フラグ」、「コンテンツサイズ」、「オプション情報」を有する。
ここで、「再エンコードビットレート」は、再エンコード時のビットレートを示し、「視聴・未視聴フラグ」は、該当する番組を視聴したかどうかを示すフラグである。そして、残る情報は、「保存番組情報」におけるそれと等しい。
〔1−3〕 外部記録メディアにおける管理情報
図3Aは、外部記録メディア30における管理情報テーブルを示し、この管理情報テーブルは、AVサーバ10の管理情報テーブルにおける持ち出しコンテンツリスト(図2Bの下)と同じ構成とされ、この管理情報テーブルにおける「持ち出し番組リスト」は、AVサーバ10の持ち出し管理リスト(図2C)と同じ構成とされる。
図3Aは、外部記録メディア30における管理情報テーブルを示し、この管理情報テーブルは、AVサーバ10の管理情報テーブルにおける持ち出しコンテンツリスト(図2Bの下)と同じ構成とされ、この管理情報テーブルにおける「持ち出し番組リスト」は、AVサーバ10の持ち出し管理リスト(図2C)と同じ構成とされる。
〔2〕 使用法および動作
図5は、AVサーバ10からモバイル機器20の外部記録メディア30に番組を持ち出すときのシーケンスを示し、その詳細は以下のとおりである。なお、以下の説明においては、AVサーバ10からAVサーバ10Aが利用可能であるとする。また、以下の説明における符号(1)〜(10)は、図5における符号(1)〜(10)に対応する。
図5は、AVサーバ10からモバイル機器20の外部記録メディア30に番組を持ち出すときのシーケンスを示し、その詳細は以下のとおりである。なお、以下の説明においては、AVサーバ10からAVサーバ10Aが利用可能であるとする。また、以下の説明における符号(1)〜(10)は、図5における符号(1)〜(10)に対応する。
すなわち、
(1) ユーザは、外部記録メディア30の容量をAVサーバ10に登録する。この登録は、ユーザがユーザインターフェイス14を操作して行う。あるいは実際に使用する外部記録メディア30をAVサーバ10のメディアインターフェイス18に差し込むことにより、AVサーバ10に容量を認識させて登録する。なお、この登録結果が、図2Aの管理情報テーブルにおける「コンテンツ持ち出し外部記録メディア容量」である。
(2) ユーザは、番組を外部記録メディア30に持ち出すときの条件をAVサーバ10に設定する。すなわち、持ち出しの候補の番組のリストを表示するときの条件を上記の条件(A)〜(C)から選択して設定する。また、番組を持ち出すときの再エンコードの条件を、条件(D)〜(F)から選択して設定する。
(1) ユーザは、外部記録メディア30の容量をAVサーバ10に登録する。この登録は、ユーザがユーザインターフェイス14を操作して行う。あるいは実際に使用する外部記録メディア30をAVサーバ10のメディアインターフェイス18に差し込むことにより、AVサーバ10に容量を認識させて登録する。なお、この登録結果が、図2Aの管理情報テーブルにおける「コンテンツ持ち出し外部記録メディア容量」である。
(2) ユーザは、番組を外部記録メディア30に持ち出すときの条件をAVサーバ10に設定する。すなわち、持ち出しの候補の番組のリストを表示するときの条件を上記の条件(A)〜(C)から選択して設定する。また、番組を持ち出すときの再エンコードの条件を、条件(D)〜(F)から選択して設定する。
これらの設定は、ユーザインターフェイス14を通じて行う。また、(1)、(2)項の設定は、番組の持ち出しの操作を行うときとは独立に、例えばこのシステムの導入時などに実行しておくこともでき、持ち出し時のデフォルトとされ、特に変更しないかぎり、最後に設定した内容が引き続き有効とされる。
(3) AVサーバ10は、ユーザの設定した条件に基づいて番組を検索する。すなわち、AVサーバ10は、ハードディスク装置13に蓄積されている番組に対して、(2)項の条件を満たす番組の検索を行う。また、今の場合、AVサーバ10Aも利用可能なので、AVサーバ10は、AVサーバ10Aに、(2)項の条件を満たす番組の検索を依頼する。
(4) 各AVサーバは検索結果をAVサーバ10に返す。
(5) AVサーバ10は、検索結果とユーザが指定した再エンコードの条件とにしたがって各番組のデジタルデータを再エンコードするときのビットレートを決定する。
(6) AVサーバ10は、(5)項で算出したビットレートを各AVサーバに通知する。
(7) 各AVサーバは、(3)項の検索結果の番組のデジタルデータを、(6)項により通知されたビットレートで再エンコードする。
(8) AVサーバ10Aは、(7)項の再エンコード結果のデジタルデータをAVサーバ10に転送する。AVサーバ10は転送されてきたデジタルデータをハードディスク装置13に保存する。なお、AVサーバ10が(7)項で再エンコードした結果のデジタルデータもハードディスク装置13に保存されている。
(9) AVサーバ10は、ハードディスク装置13に保存された(8)項のデジタルデータを、メディアインターフェイス18を通じて外部記録メディア30に書き込む。
(10) ユーザは、AVサーバ10から外部記録メディア30に取り出す。
(4) 各AVサーバは検索結果をAVサーバ10に返す。
(5) AVサーバ10は、検索結果とユーザが指定した再エンコードの条件とにしたがって各番組のデジタルデータを再エンコードするときのビットレートを決定する。
(6) AVサーバ10は、(5)項で算出したビットレートを各AVサーバに通知する。
(7) 各AVサーバは、(3)項の検索結果の番組のデジタルデータを、(6)項により通知されたビットレートで再エンコードする。
(8) AVサーバ10Aは、(7)項の再エンコード結果のデジタルデータをAVサーバ10に転送する。AVサーバ10は転送されてきたデジタルデータをハードディスク装置13に保存する。なお、AVサーバ10が(7)項で再エンコードした結果のデジタルデータもハードディスク装置13に保存されている。
(9) AVサーバ10は、ハードディスク装置13に保存された(8)項のデジタルデータを、メディアインターフェイス18を通じて外部記録メディア30に書き込む。
(10) ユーザは、AVサーバ10から外部記録メディア30に取り出す。
以上が、AVサーバ10からモバイル機器20の外部記録メディア30に番組を持ち出すときのシーケンスである。
したがって、AVサーバ10に多数の番組が蓄積されている場合でも、ユーザの好み、つまり、条件(A)〜(F)を設定することにより、あるいは設定しておくことことにより、目的とする番組を簡単に選択することができ、効率よく、しかも、簡単に持ち出すことができる。
また、その持ち出しも、ユーザに興味のある番組は高ビットレートで行い、あまり興味はないがとりあえず視聴したい番組は低ビットレートで行うことができ、その点からも効率がよい。さらに、1つの番組であっても、ユーザが一番見たい部分を高ビットレートでデータ圧縮することにより、高画質で視聴することができる。また、ユーザがAVサーバ10上のコンテンツをチェックし、何を削除し、何を残すかを決定するときの手助けを行うこともできる。
〔3〕 コンテンツの分散処理
〔3−1〕 システム構成
ここでは、複数の情報処理装置によりAVサーバシステムが構成されるとともに、そのAVサーバシステムがデジタルデータの分散処理を行う場合の一例について、図6により説明する。図6に示す例においては、3台の情報処理装置100〜300がネットワーク400を通じて互いに接続され、これらの間で分散処理を行う場合である。
〔3−1〕 システム構成
ここでは、複数の情報処理装置によりAVサーバシステムが構成されるとともに、そのAVサーバシステムがデジタルデータの分散処理を行う場合の一例について、図6により説明する。図6に示す例においては、3台の情報処理装置100〜300がネットワーク400を通じて互いに接続され、これらの間で分散処理を行う場合である。
情報処理装置100は、1つのメインプロセッサ101と、1つあるいは複数のサブプロセッサ、この例においては、3つのサブプロセッサ111〜113と、DMAコントローラ121と、ディスクコントローラ122とを有し、単一の集積回路に構成されている。
また、メインプロセッサ101およびサブプロセッサ111〜113は、それぞれローカルストレージ131を有している。そして、メインプロセッサ101は、サブプロセッサ111〜113によるプログラムあるいはデータの処理のスケジュール管理と、全般的な管理とを行う。サブプロセッサ111〜113は、メインプロセッサ101の制御にしたがって並列に、かつ、独立にプログラムあるいはデータの処理を実行する。
なお、メインプロセッサ101内でプログラムが動作する場合もある。また、メインプロセッサ101のプログラムが、サブプロセッサ111のプログラムと連携して動作する場合もある。
さらに、情報処理装置100〜300は、ネットワーク全体を通して当該情報処理装置を一意的に識別できる識別子が情報処理装置IDとして割り当てられている。メインプロセッサ101およびサブプロセッサ111〜113も、同様に識別可能な識別子がメインプロセッサIDおよびサブプロセッサIDとして割り当てられている。
DMAコントローラ121は、メインメモリ141に格納されているプログラムあるいはデータへのアクセスを行う。なお、メインメモリ141は、情報処理装置100の外部に接続されているもので、例えばDRAMとされている。
また、ディスクコントローラ122は、情報処理装置100と接続されている外部記憶装置142へのアクセスを行う。外部記憶装置142には、固定ディスク(ハードディスク)、リムーバブルディスク、MO、CD±RW、DVD±RWなどの光ディスク、メモリディスクなどが想定され、SRAM、ROMなども含まれる。
そして、メインプロセッサ101、サブプロセッサ111〜113、DMAコントローラ121、ディスクコントローラ122はバス102によって接続されている。さらに、他の情報処理装置200、300も情報処理装置100と同様に構成されているものであり、詳細は省略する。
〔3−2〕 データの不整合の回避
上述のように、サブプロセッサ111〜113は、独立にプログラムあるいはデータの処理を実行するが、もしも異なるサブプロセッサが同一メインメモリ141の同一領域に対して、同時に読み出しあるいは書き込みを行った場合には、データの不整合を生じる可能性がある。したがって、メインメモリ141にアクセスする場合には、ある手順が必要となるが、その手順について、図7により説明する。
上述のように、サブプロセッサ111〜113は、独立にプログラムあるいはデータの処理を実行するが、もしも異なるサブプロセッサが同一メインメモリ141の同一領域に対して、同時に読み出しあるいは書き込みを行った場合には、データの不整合を生じる可能性がある。したがって、メインメモリ141にアクセスする場合には、ある手順が必要となるが、その手順について、図7により説明する。
図7Aにおいて、メインメモリ141は、複数のアドレス指定可能な「メモリロケーション」から構成される。各メモリロケーションに対して、データの状態情報を格納するための「追加セグメント」が割り振られる。追加セグメントは、「F/Eビット」、「サブプロセッサID」、「ローカルストレージアドレス」(LSアドレス)を含む。各メモリロケーションには「アクセスキー」も割り振られるが、これについては後述する。
そして、F/Eビットは、以下のように定義される。
・F/Eビット=“0”のとき
サブプロセッサ(111〜113)により読み出され、処理中あるいは空き状態であるため、最新データではない無効データである。読み出し不可だが、予約は可能であり、“1”になったときにあらかじめ読み出し予約情報として追加セグメントに書き込まれたサブプロセッサID、ローカルストレージアドレスへ読み出される。
サブプロセッサ(111〜113)により読み出され、処理中あるいは空き状態であるため、最新データではない無効データである。読み出し不可だが、予約は可能であり、“1”になったときにあらかじめ読み出し予約情報として追加セグメントに書き込まれたサブプロセッサID、ローカルストレージアドレスへ読み出される。
すなわち、複数のサブプロセッサによりデータを多段階に処理する必要がある場合、上記のように構成することにより、前段階の処理を行うサブプロセッサが、処理済みのデータをメインメモリ141の所定のアドレスへ書き込んだ直後に、ただちにそのデータが後段階の処理を行うサブプロセッサへ読み出されることになり、非常に好適である。また、書き込み可能であり、書き込み後、“1”になる。
・F/Eビット=“1”のとき
サブプロセッサ(111〜113のどれか)により読み出されておらず、したがって、処理中ではない最新データである。読み出し可能であり、読み出し後、“0”になる。書き込み不可である。
F/Eビットは、以上のように定義される。
サブプロセッサ(111〜113のどれか)により読み出されておらず、したがって、処理中ではない最新データである。読み出し可能であり、読み出し後、“0”になる。書き込み不可である。
F/Eビットは、以上のように定義される。
図7Bに示すサブプロセッサ111のローカルストレージ131も、複数のアドレス指定可能なメモリロケーションから構成される。各メモリロケーションに対してはやはり、追加セグメントが割り振られる。追加セグメントは、メインメモリ141の追加セグメントの内容に加えてビジービットを含む。
メインメモリ141のデータをローカルストレージ131のメモリロケーションへ読み出すときには、対応するビジービットを“1”に設定し、予約する。ビジービットが“1”のメモリロケーションには他のデータは格納不可である。ローカルストレージ131のメモリロケーションへ読み出した後、ビジービットは“0”になり、任意の目的に使用可能になる。
さらに、図7Aに示すように、情報処理装置100のメインメモリ141には複数の「サンドボックス」が用意される。これらサンドボックスはメインメモリ141の領域を画定するものであり、各サンドボックスはサブプロセッサ111〜113に割り当てられ、排他的に使用可能とされる。すなわち、サブプロセッサ111〜113のそれぞれは、自身に割り当てられたサンドボックスを使用可能だが、前述の領域を超えてデータのアクセスを行えない。また、図7Aに示すように、メインメモリ141は複数のメモリロケーションから構成されるが、サンドボックスはこれらのメモリロケーションの集合である。
さらに、メインメモリ141の排他制御を実現するために、図8に示すようなキー管理テーブルが用意される。このキー管理テーブルは、SRAMのような比較的高速のメモリに用意され、DMAコントローラ121と関連付けられる。キー管理テーブルの各エントリには、サブプロセッサ111〜113を識別する「サブプロセッサID」、「サブプロセッサキー」および「キーマスク」が含まれる。なお、サブプロセッサ111〜113の場合には、N=2である。
ここで、サブプロセッサ111〜113のうちの任意のサブプロセッサがメインメモリ141を使用するときのプロセスを図7および図8を用いて説明する。サブプロセッサはDMAコントローラ121へ、読み出しあるいは書き込みコマンドを出力する。このコマンドには、そのサブプロセッサ自身のサブプロセッサIDと、使用要求対象先であるメインメモリ141のアドレスとが含まれる。DMAコントローラ121は、このコマンドを実行する前にキー管理テーブルを参照し、使用要求元であるサブプロセッサのサブプロセッサキーを調べる。
次いで、DMAコントローラ121は、調べたサブプロセッサキーと、サブプロセッサ111の使用要求先である図7に示されるメインメモリ141のメモリロケーションに割り振られたアクセスキーとを比較する。2つのキーが一致した場合のみ、前述のコマンドを実行する。
また、図8に示すキーマスクの使用方法として、キーマスクの任意のビットが“1”になることにより、関連付けられたサブプロセッサキーの対応するビットが“0”あるいは“1”になることができる。
例えば、サブプロセッサキーが“1010”であるとする。通常このサブプロセッサキーによって“1010”のアクセスキーを持つサンドボックスへのアクセスだけが可能になる。しかし、このサブプロセッサキーと関連付けられたキーマスクが“0001”に設定されている場合、このサブプロセッサキーを用いて“1010”あるいは“1011”のいずれかのアクセスキーを持つサンドボックスへのアクセスが可能となる。以上のようにしてサンドボックスの排他性を実現する。
すなわち、前述の複数のサブプロセッサ111〜113によりデータを多段階に処理する必要がある場合、上述のように構成することにより、前段階の処理を行うサブプロセッサと、後段階の処理を行うサブプロセッサだけがメインメモリ141の所定のアドレスへアクセスでき、したがって、データの保護が可能となる。
例えば、以下のように使用することが考えられる。まず、情報処理装置100の起動直後は、キーマスクの値はすべてゼロである。メインプロセッサ101のプログラムが実行され、サブプロセッサ111〜113のプログラムと連携動作するものとする。
第1のサブプロセッサ111により出力された処理結果データをいったんメインメモリ141に格納し、第2のサブプロセッサ112に入力する場合には、メインメモリ141の該当する領域は、どちらのサブプロセッサからもアクセスできる必要がある。
そのような場合、メインプロセッサ101のプログラムは、キーマスクの値を適切に変更し、メインメモリ141に複数のサブプロセッサからアクセスできる領域を設けて、サブプロセッサ111、112による多段階的な処理を可能にする。
より具体的には、例えば情報処理装置200からのデータ→情報処理装置100の第1のサブプロセッサ111による処理→第1のメインメモリ領域→第2のサブプロセッサ112による処理→第2のメインメモリ領域、という手順で多段階処理が行われる場合、
第1のサブプロセッサ111のサブプロセッサキー=“0100”
第1のメインメモリ領域のアクセスキー=“0100”
第2のサブプロセッサ112のサブプロセッサキー=“0101”
第2のメインメモリ領域のアクセスキー=“0101”
のような設定のままだと、第2のサブプロセッサ112は第1のメインメモリ領域にアクセスすることができない。
第1のサブプロセッサ111のサブプロセッサキー=“0100”
第1のメインメモリ領域のアクセスキー=“0100”
第2のサブプロセッサ112のサブプロセッサキー=“0101”
第2のメインメモリ領域のアクセスキー=“0101”
のような設定のままだと、第2のサブプロセッサ112は第1のメインメモリ領域にアクセスすることができない。
そこで、第2のサブプロセッサ112のキーマスクを“0001”にすることにより、第2のサブプロセッサ112による第1のメインメモリ領域へのアクセスを可能にすることができる。
〔3−3〕 分散処理の手順
ここでは、図6のシステムにより分散処理を行う手順について説明する。ネットワーク上の情報処理装置100〜300の間では、ソフトウェアパケットが伝送される。ある情報処理装置は、コマンド、プログラムおよびデータを含むソフトウェアパケットを生成し、ネットワーク400を通じて他の情報処理装置に送信することにより処理を分散できる。
ここでは、図6のシステムにより分散処理を行う手順について説明する。ネットワーク上の情報処理装置100〜300の間では、ソフトウェアパケットが伝送される。ある情報処理装置は、コマンド、プログラムおよびデータを含むソフトウェアパケットを生成し、ネットワーク400を通じて他の情報処理装置に送信することにより処理を分散できる。
ソフトウェアパケットは、例えば図9に示すように構成される。すなわち、「送信元ID」には、ソフトウェアパケットの送信元である情報処理装置のネットワークアドレスや情報処理装置ID、メインプロセッサID、サブプロセッサIDが含まれる。「送信先ID」および「応答先ID」には、ソフトウェアパケットの送信先である情報処理装置およびソフトウェアパケットの実行結果の応答先である情報処理装置について同じ情報が含まれる。
「セルインターフェイス」には、ソフトウェアパケットの利用に必要な情報が含まれ、「グローバルID」、「必要なサブプロセッサ」、「サンドボックスサイズ」、「前回のソフトウェアパケットID」から構成される。グローバルIDは、ネットワーク全体を通してソフトウェアパケットを一意的に識別できるものであり、送信元IDおよびソフトウェアパケットの作成あるいは送信の日付と時刻に基づいて作成される。また、必要なサブプロセッサによって、ソフトウェアパケットの実行に必要な最低数のサブプロセッサが与えられる。
さらに、サンドボックスサイズによって、ソフトウェアパケットの実行に必要なメインメモリ141内およびサブプロセッサ111〜113のローカルストレージ131のメモリ量が与えられる。前回のソフトウェアパケットIDによって、ストリーミングデータなどのシーケンシャルな実行を要求する1グループのソフトウェアパケットの前回のソフトウェアパケットの識別子が提供される。
また、ソフトウェアパケットにおいて、「実行セクション」が、「DMAコマンド」、「プログラム」、「データ」から構成される。DMAコマンドには、プログラムの起動に必要な一連のDMAコマンドが含まれ、プログラムには、サブプロセッサによって実行されるサブプロセッサプログラムが含まれる。また、データとは、これらのサブプロセッサプログラムを含むプログラムによって処理されるデータである。
さらに、DMAコマンドには、「ロードコマンド」、「キックコマンド」、「ステータスコマンド」、「ステータス返信コマンド」、「機能プログラム実行コマンド」がある。
ロードコマンドは、メインメモリ141の情報を、サブプロセッサのローカルストレージへロードするコマンドである。このため、ロードコマンドは、ロードコマンド本体の他に、「メインメモリアドレス」、「サブプロセッサID」、「ローカルストレージアドレス」(LSアドレス)を含む。
なお、メインアドレスは、情報のロード元であるメインメモリ141の所定領域のアドレスを示す。サブプロセッサIDおよびローカルストレージアドレスは、情報のロード先であるサブプロセッサの識別子およびローカルストレージ131のアドレスを示す。
キックコマンドは、プログラムの実行を開始するコマンドであり、キックコマンド本体の他に「サブプロセッサID」と、「プログラムカウンタ」とを有する。なお、サブプロセッサIDは、キックする対象サブプロセッサを識別し、プログラムカウンタは、プログラムの実行用プログラムカウンタのためのアドレスを与える。
ステータスコマンドは、送信先IDに示される情報処理装置の現在の状態(装置情報)を要求するコマンドであり、ステータス返信コマンドは、後述するとおりである。
また、機能プログラム実行コマンドは、マスタがスレーブに対して機能プログラムの実行を要求するコマンドである。機能プログラム実行コマンドを受信したスレーブは、後述する「機能プログラムID」によって、起動すべき機能プログラムを識別する。なお、機能プログラムについては後述するが、例えば図6および図12に示す情報処理装置100(および200、300)のメインメモリ141が記憶するソフトウェアの構成図において、機能プログラムのカテゴリに属するプログラムである。機能プログラムはメインメモリ141にロードされ、メインプロセッサ101により実行される。
そして、ステータス返信コマンドは、ステータスコマンドを受信した情報処理装置が、自身の装置情報を当該ステータスコマンドに含まれる応答先IDに示される情報処理装置へ応答するコマンドである。ステータス返信コマンドは、実行セクションのデータ領域に装置情報を格納するが、そのときのデータ領域の構造の一例を図10に示す。
この図10を用いて、DMAコマンドがステータス返信コマンドである場合におけるソフトウェアパケットのデータ領域の構造について説明する。
「情報処理装置ID」は、自身の装置情報を応答する情報処理装置を識別するための識別子であり、電源投入時にメインプロセッサ101によって、電源投入時の日付、時刻、情報処理装置のネットワークアドレス、サブプロセッサの数などに基づいて生成される。「情報処理装置種別ID」には、情報処理装置の特徴を表す値が含まれる。この情報処理装置の特徴としては、例えば、ハードディスクレコーダー、PDA、テレビなどといった商品を表す場合もあれば、画像処理、映像記録再生などといった機能を表す場合もある。
「MSステータス」は、情報処理装置が、マスタあるいはスレーブのどちらで動作しているかを表し、“0”のときにはマスタとして動作し、“1”のときにはスレーブとして動作していることを表す。
「メインプロセッサ動作周波数」はメインプロセッサ101の動作周波数を表す。「メインプロセッサ使用率」はメインプロセッサ101で現在動作しているすべてのプログラムが、メインプロセッサ101を使用している割合を表す。「サブプロセッサ数」は、情報処理装置が有するサブプロセッサの数を表す。「サブプロセッサID」は、情報処理装置におけるサブプロセッサを識別するための識別子である。
「サブプロセッサステータス」はサブプロセッサの状態を表すものであり、unused、reserved、busyなどの状態がある。unusedは、当該サブプロセッサが未使用の場合であり。reservedは、現在は未使用であるが、予約されている場合、busyは使用中であることを示す。
「サブプロセッサ使用率」は、当該サブプロセッサで動作しているプログラムが、そのサブプロセッサを使用している割合を表す。ステータスがbusyの場合には、サブプロセッサ使用率は現在の使用率を示し、reservedの場合には、後に使用されるときの使用率を示す。そして、サブプロセッサID、サブプロセッサステータス、サブプロセッサ使用率は、これらを1組とし、サブプロセッサ数だけ存在する。
「メインメモリ総容量」および「メインメモリ使用量」は、情報処理装置に接続されているメインメモリ141の総容量および現在使用中の容量を表す。
「外部記憶装置数」は、情報処理装置に接続されている外部記憶装置142の数を表し、「外部記憶装置ID」は、情報処理装置に接続されている外部記憶装置142を一意的に識別する情報を表す。「外部記憶装置種別ID」には、対応する外部記憶装置142の種類を表す情報が含まれる。この外部記憶装置142の種類としては、前述のものが想定される。「外部記憶装置総容量」および「外部記憶装置使用量」は、外部記憶装置IDにより識別される外部記憶装置142の総容量および現在使用中の容量を表す。
外部記憶装置ID、外部記憶装置種別ID、外部記憶装置総容量、外部記憶装置使用量は、これらを1組とし、外部記憶装置142の数だけ存在する。すなわち、1つの情報処理装置に複数の外部記憶装置が接続されている場合であっても、それぞれの外部記憶装置には異なる外部記憶装置IDが割り当てられ、また、外部記憶装置種別ID、外部記憶装置総容量、外部記憶装置使用量も個別に管理されることになる。
〔3−4〕 ソフトウェアパケットの生成および実行
ここでは、ソフトウェアパケットを生成し、実行するまでのプロセスについて説明する。情報処理装置100〜300のうちのある情報処理装置のメインプロセッサ101はソフトウェアパケットを生成し、ネットワーク400を通じて他の情報処理装置へ送信する。送信元である情報処理装置、送信先である情報処理装置および応答先である情報処理装置は、前述の送信元ID、送信先IDおよび応答先IDにより識別される。
ここでは、ソフトウェアパケットを生成し、実行するまでのプロセスについて説明する。情報処理装置100〜300のうちのある情報処理装置のメインプロセッサ101はソフトウェアパケットを生成し、ネットワーク400を通じて他の情報処理装置へ送信する。送信元である情報処理装置、送信先である情報処理装置および応答先である情報処理装置は、前述の送信元ID、送信先IDおよび応答先IDにより識別される。
ソフトウェアパケットを受信した他の情報処理装置のメインプロセッサ101は、メインメモリ141にそのソフトウェアパケットを格納する。メインプロセッサ101はソフトウェアパケットを評価し、それに含まれるDMAコマンドを処理する。
具体的には、メインプロセッサ101は、まず、ロードコマンドを実行する。すると、ロードコマンドに含まれるメインメモリ141のメインメモリアドレスから、同様にロードコマンドに含まれるサブプロセッサIDと、ローカルストレージアドレスに対応するサブプロセッサのローカルストレージ131の所定領域へ情報がロードされる。ここで言う情報として、受信したソフトウェアパケットに含まれるサブプロセッサプログラムあるいはデータがあるが、その他のデータなどであってもよい。
次に、メインプロセッサ101は、キックコマンドを、このキックコマンドに含まれるサブプロセッサIDに対応するサブプロセッサ111へ、同様にキックコマンドに含まれるプログラムカウンタとともに出力する。サブプロセッサ111はキックコマンドおよびプログラムカウンタにしたがってサブプロセッサプログラムを実行する。そして、その実行結果をメインメモリ141に格納し、その後、実行完了したことをメインプロセッサ101へ通知する。
また、メインメモリ141において実行される機能プログラムなどのメインメモリ用プログラムを、ソフトウェアパケットを用いて他の情報処理装置へ送信することも考えられる。その場合には、サブプロセッサ111プログラムの代わりにメインメモリ141用プログラムを含むロードコマンドを送信することになる。
他の情報処理装置のメインメモリ141へ送信したメインメモリ用プログラムを実行するときには、例えば、メインプロセッサID、メインメモリアドレス、メインメモリ用プログラムを識別するための識別子、プログラムカウンタを含み、DMAコマンドが機能プログラム実行コマンドであるソフトウェアパケットを同様に他の情報処理装置へ送信する。
このようにしてソフトウェアパケットを使用することにより、ソフトウェアパケットの送信元である情報処理装置は、送信先である他の情報処理装置をユーザが操作する必要なく、サブプロセッサプログラムあるいはメインメモリ用プログラムを他の情報処理装置へ送信し、そのサブプロセッサプログラムを他の情報処理装置のサブプロセッサへロードさせ、そのサブプロセッサプログラムあるいはメインメモリ用プログラムを、他の情報処理装置により実行させることができる。
以上のように、情報処理装置は、自身が機能プログラムまたはサブプロセッサプログラムを有していない場合には、ネットワークに接続された他の情報処理装置からそれらのプログラムを取得できる。さらに、各サブプロセッサ間においては、DMA方式によりデータ転送を行うとともに、サンドボックスを採用することにより、1つの情報処理装置内でデータを多段階に処理する必要がある場合でも、高速、かつ、高セキュリティに処理を実行することができる。
〔3−5〕 処理例
ここでは、ネットワーク400に接続されている複数の情報処理装置、例えば図11に示すように、3台の情報処理装置100〜300が仮想的な1台の情報処理装置として動作するための前提処理として、情報処理装置の電源投入後の処理を説明する。
ここでは、ネットワーク400に接続されている複数の情報処理装置、例えば図11に示すように、3台の情報処理装置100〜300が仮想的な1台の情報処理装置として動作するための前提処理として、情報処理装置の電源投入後の処理を説明する。
図12は、情報処理装置100〜300のうちの任意の情報処理装置、例えば情報処理装置100のメインメモリ141が記憶するソフトウェアの構成を示すものである。各プログラムは機能あるいは特徴によってカテゴライズされている。また、これらのプログラムは情報処理装置100の電源投入前には、情報処理装置100に接続されている外部記憶装置142に格納されている。
電源を投入すると、メインプロセッサ101は、デバイスドライバのカテゴリに属する各プログラムおよび制御プログラムのカテゴリに属する各プログラムをメインメモリ141にロードする。各プログラムをメインメモリ141にロードする手順は、以下のとおりである。
まず、メインプロセッサ101は、ディスクコントローラ122に対して読み出し命令を実行することにより外部記憶装置142からプログラムを読み出す。そして、DMAコントローラ121への書き込み命令を実行することにより、その読み出したプログラムをメインメモリ141にロードする。なお、機能プログラムのカテゴリに属する各プログラムについては、必要なときに必要なものだけをロードしてもよく、他のカテゴリに属する各プログラムと同様に、電源投入後にロードしてもよい。
ここで、機能プログラムは、ネットワークに接続されたすべての情報処理装置の外部記録装置に記録されている必要はなく、どれか1つの情報処理装置の外部記録装置に記録されていれば、上述の方法により他の情報処理装置から機能プログラムをロードすることができるので、結果的に図11の仮想的な1台の情報処理装置として機能プログラムを実行できる。
さらに機能プログラムには、機能プログラムごとに一意な識別子が機能プログラムIDとして割り当てられている。機能プログラムIDは、日付や時刻、情報処理装置IDなどから機能プログラムの作成の段階で決定される。
メインプロセッサ101は、自身が動作する情報処理装置に関する装置情報を格納するための領域をメインメモリ141に確保し、その装置情報を自装置の装置情報テーブルとして記録する。ここでの装置情報とは、図10に示される情報処理装置ID以下の情報である。
そして、メインプロセッサ101は、メインメモリ141にロードされたマスタ/スレーブマネージャを実行する。マスタ/スレーブマネージャは処理が終了すると、終了通知をメインプロセッサ101へ送る。メインプロセッサ101はマスタ/スレーブマネージャから終了通知を受け取ると、次に、能力交換プログラムを実行する。マスタ/スレーブマネージャおよび能力交換プログラムは、情報処理装置100の電源が切断されるまで動作する常駐プログラムである。
マスタ/スレーブマネージャは、自身が動作する情報処理装置100がネットワーク400に接続されていることを検知すると、同一ネットワークに接続されている他の情報処理装置200、300の存在を確認する。マスタ/スレーブマネージャは、もしもネットワーク400に他の情報処理装置が存在しないことを確認したときには、前述の自装置の装置情報テーブルにおけるMSステータスを“0”に設定する。ネットワークに他の情報処理装置が存在することを確認したときには、MSステータスを“0”以外、例えば“1”に設定する。
また、マスタ/スレーブマネージャは、常にネットワーク400の状況を確認し、ネットワーク400に新たに情報処理装置が接続されたことや、ネットワーク400に接続されている情報処理装置の電源が切断されたこと、あるいはネットワーク400から情報処理装置が切り離されたことを監視し、ネットワークの接続状態に変化があると、その情報を能力交換プログラムに通知する。
マスタ/スレーブマネージャが同一ネットワークに接続されている他の情報処理装置の存在を確認するには、例えば次のようにすればよい。すなわち、各情報処理装置内のマスタ/スレーブマネージャは、送信先IDとしてネットワークに接続された他のすべての情報処理装置に対して定期的に存在確認要求を送信する。存在確認要求を受信した各情報処理装置は、存在確認要求の送信元に対して自身の存在することを通知するための返信を行う。ネットワークから切り離された情報処理装置からは当然のことながら、返信が行われないことになる。このようにしてネットワークに接続されているすべての情報処理装置の存在を、互いに把握することができる。
能力交換プログラムは、自身が動作する情報処理装置がマスタである場合、ネットワーク400に接続されている他の情報処理装置に関する装置情報を取得する。装置情報の取得は、前述したように、DMAコマンドがステータスコマンドであるソフトウェアパケットを生成・送信し、その後DMAコマンドがステータス返信コマンドであり、データとして他の情報処理装置に関する装置情報を含むソフトウェアパケットを受信することで可能である。
能力交換プログラムは、前述の自装置の装置情報テーブルと同様に、取得した他のすべての情報処理装置に関する装置情報を格納するための領域をメインメモリ141に確保し、当該情報を他装置の装置情報テーブルとして記録する。すなわち、マスタのメインメモリ141には、ネットワーク400に接続されている自身を含むすべての情報処理装置の装置情報テーブルが記録される。
一方、能力交換プログラムが動作する情報処理装置がスレーブである場合、ネットワーク400に接続されているマスタの情報処理装置および自身以外のすべてのスレーブの情報処理装置に関する装置情報を取得する。そして装置情報に含まれる情報処理装置IDおよびMSステータスをメインメモリ141に記録する。すなわち、スレーブには、自装置に関するすべての装置情報が装置情報テーブルとして記録されるとともに、ネットワーク400に接続された自身以外のすべての情報処理装置について、その情報処理装置IDおよびMSステータスが装置情報テーブルとして記録されることになる。
また、能力交換プログラムは、ネットワーク400に新たに情報処理装置が接続されたことを示すネットワーク状態の変化通知をマスタ/スレーブマネージャから受信すると、その情報処理装置に関する装置情報を取得する。同様にネットワーク400から情報処理装置が切り離された、あるいは電源が切断されたというネットワーク状態の変化通知を受信すると、当該装置の装置情報テーブルをメインメモリ141から削除する。
〔3−6〕 マスタおよびスレーブの制御フロー
ネットワーク400に接続されている複数の情報処理装置を仮想的な1台の情報処理装置として動作させるために、マスタの情報処理装置(以下「マスタ」と呼ぶ)が、ユーザの操作およびスレーブとなる情報処理装置(以下「スレーブ」と呼ぶ)の動作状況を把握する必要がある。
ネットワーク400に接続されている複数の情報処理装置を仮想的な1台の情報処理装置として動作させるために、マスタの情報処理装置(以下「マスタ」と呼ぶ)が、ユーザの操作およびスレーブとなる情報処理装置(以下「スレーブ」と呼ぶ)の動作状況を把握する必要がある。
図13は、ネットワーク400に接続されている3台の情報処理装置100〜300が、仮想的な1台の情報処理装置として動作する様子を示すものである。この例においては、情報処理装置100がマスタとして動作し、情報処理装置200および情報処理装置300がスレーブとして動作し、ユーザが情報処理装置200を操作すると、この操作に応じた処理を情報処理装置300が実行する場合である。また、図14は、その場合のフローチャートを示す。
ユーザが情報処理装置200を操作すると、その操作された情報処理装置がマスタあるいはスレーブに関わらず、その操作情報は常にマスタに送信される。マスタにおけるメインプロセッサ101は、当該操作情報に従い、実行する機能プログラムを選択する。このとき、必要ならば、前述の方法にしたがい外部記憶装置142からメインメモリ141へ機能プログラムをロードする。実行時に機能プログラムは、自身が実行されるときに必要なメインプロセッサ101、サブプロセッサ111、メインメモリ141、外部記憶装置142に関する情報をメインプロセッサ101に通知する。ここでの情報とは、図10に示される情報処理装置ID以下の情報である。
機能プログラムがこれらの情報をメインプロセッサへ通知する方法としては、機能プログラムは自身が実行される実行要求の他に、情報通知要求にも対応している。メインプロセッサは機能プログラムへ当該情報通知要求を発行することにより、図10に示される情報処理装置ID以下の情報を取得することができる。 メインプロセッサ101は、メインメモリ141に記録されている前述の自装置あるいは他装置の装置情報テーブルに基づき、当該機能プログラムを実行可能なスレーブを選択する。マスタは、選択されたスレーブへ機能プログラムの実行を要求する。このとき、マスタは、前述の機能プログラムの実行に必要な情報等に基づき、自身のメインメモリ141に記録された選択されたスレーブに関する装置情報テーブルを更新する。
機能プログラムの実行を要求されたスレーブのメインプロセッサ101は、機能プログラムを実行する。その場合にも、必要ならばスレーブのメインプロセッサ101は、前述の方法にしたがい外部記憶装置142からメインメモリ141へ機能プログラムをロードする。
ここで、機能プログラムの実行を要求されたスレーブと接続された外部記憶装置142に必要な機能プログラムが記録されていない場合には、他の情報処理装置100が前述のメインメモリ用プログラムとして当該機能プログラムを機能プログラムの実行を要求されたスレーブへ送信してもよい。さらにメインメモリ用プログラムと同様に、サブプロセッサプログラムも必要ならば、ソフトウェアパケットを用いることにより他の情報処理装置100へ送信して、この情報処理装置100のサブプロセッサ111へロードさせ、サブプロセッサプログラムを他の情報処理装置100により実行させることができる。
そして、機能プログラムの処理終了後、終了通知をマスタに送信する。マスタは終了通知を受信することにより、機能プログラムを実行したスレーブに関する装置情報テーブルを更新する。
また、マスタのメインプロセッサ101は、自装置あるいは他装置の装置情報テーブルに基づき、当該機能プログラムを実行可能な情報処理装置100として自身を選択する場合もあり得る。その場合には、マスタが機能プログラムを実行する。その際にはスレーブのメインメモリ141に記録されたマスタに関する装置情報テーブルが、マスタの動作状況に応じて更新されることになる。
このようにして、ユーザは、複数の情報処理装置のうちの1台の情報処理装置だけを操作することにより、他の情報処理装置を操作しなくても、複数の情報処理装置を仮想的な1台の情報処理装置として動作させることができる。
〔3−7〕 情報処理装置の具体例
図15は、仮想的な情報処理装置の具体例を示す。情報処理装置100および200は、ハードディスクドライブを有し、映像や音声をハードディスクに記録するハードディスクレコーダを構成している。ハードディスクレコーダ(情報処理装置)100には、映像を表示するためのモニタ151と、音声を出力するためのスピーカ152とが接続されている。情報処理装置300は、モバイル機器ないしPDA(個人情報端末)を構成し、情報処理装置400は、携帯型のCDプレーヤを構成している。
図15は、仮想的な情報処理装置の具体例を示す。情報処理装置100および200は、ハードディスクドライブを有し、映像や音声をハードディスクに記録するハードディスクレコーダを構成している。ハードディスクレコーダ(情報処理装置)100には、映像を表示するためのモニタ151と、音声を出力するためのスピーカ152とが接続されている。情報処理装置300は、モバイル機器ないしPDA(個人情報端末)を構成し、情報処理装置400は、携帯型のCDプレーヤを構成している。
情報処理装置100〜400、すなわち、ハードディスクレコーダ100、200、PDA300、CDプレイヤ400のハードウェアの構成例を、図16、図17、図18に示し、ハードディスクレコーダ100、200、PDA300、CDプレイヤ400のソフトウェアの構成例を、図19、図20、図21に示す。なお、ハードディスクレコーダ100、200、PDA300、CDプレイヤ400において、図6の手段と対応する手段には同一符号を付ける。
〔3−8〕 機能プログラムの起動
ここでは、機能プログラムの起動をマスタからスレーブに依頼する具体例を、図15を用いて説明する。なお、前提条件として、マスタのハードディスクレコーダ100のハードディスクの空き容量が録画時間に換算して10分とする。また、スレーブのハードディスクレコーダ200のハードディスクの空き容量は、録画時間に換算して20時間とする。
ここでは、機能プログラムの起動をマスタからスレーブに依頼する具体例を、図15を用いて説明する。なお、前提条件として、マスタのハードディスクレコーダ100のハードディスクの空き容量が録画時間に換算して10分とする。また、スレーブのハードディスクレコーダ200のハードディスクの空き容量は、録画時間に換算して20時間とする。
ユーザはハードディスクレコーダ100に対して、2時間の番組録画予約の操作を行う。ハードディスクレコーダ100はマスタであるので、ネットワークに接続された情報処理装置100の情報テーブルから、2時間分の空きのあるハードディスクを有するセカンダリを検索する。この場合、検索される機器はハードディスクレコーダ200となる。マスタはスレーブに対して2時間の番組予約の実行を依頼する。
情報処理装置100がネットワークから切り離された、あるいは主電源が切断された場合の処理を記述する。ネットワークから情報処理装置100が切り離されると、それぞれの情報処理装置のマスタ/スレーブマネージャが、装置の切断を検知し、切断された情報処理装置IDとともに、切断情報を能力交換プログラムに通知する。能力交換プログラムは、マスタ/スレーブマネージャから通知された情報処理装置IDに対応した機器情報を、機器情報テーブルから削除する。
ネットワークから切断された情報処理装置がマスタの場合、現在ネットワークに接続されている情報処理装置のうち、スレーブからマスタに変更する装置を決定する必要があるが、次にその処理を説明する。
マスタ/スレーブマネージャから通知された切断情報がマスタであった場合、情報処理装置IDを数値に置き換え、自身の情報処理装置IDと、自身が管理する装置情報テーブルの情報処理装置IDとを比較し、もしも、自身の情報処理装置IDが、装置情報テーブルの情報処理装置IDに比べて最小であった場合、そのスレーブはマスタに移行する。
マスタに移行すべきスレーブは、マスタの動作に切り換わるために、MSステータスを“0”に設定し、先述のマスタにおける装置情報の取得と同様に、ネットワークに接続されたすべての情報処理装置の装置情報を取得し、メインメモリ141に記録する。
〔4〕 その他
上述においては、メディア30が外部記録メディアであってモバイル機器20から取り出しのできる場合であるが、モバイル機器20に内蔵されていて取り出しのできない場合でも、そのモバイル機器20を例えばUSBケーブルによりAVサーバ10に接続できるようにすれば、同様に番組の持ち出しができる。
上述においては、メディア30が外部記録メディアであってモバイル機器20から取り出しのできる場合であるが、モバイル機器20に内蔵されていて取り出しのできない場合でも、そのモバイル機器20を例えばUSBケーブルによりAVサーバ10に接続できるようにすれば、同様に番組の持ち出しができる。
また、上述においては、テレビ番組のデジタルデータをAVサーバからモバイル機器の外部記録メディアに持ち出す場合であるが、他の動画や音声(オーディオ)などのデジタルデータを外部記録メディアに持ち出す場合にも、この発明を適用できる。
〔略語の一覧〕
AV :Audio and Visual
BS :Broadcasting Satellite
CD :Compact Disc
CD±RW :CD +ReWritable, CD ReWritable
CPU :Central Processing Unit
CS :Communication Satellite
DMA :Direct Memory Access
DRAM :Dynamic RAM
DSP :Digital Signal Processor
DVD±RW:DVD +ReWritable, DVD ReWritable
ID :IDentification
MO :Magneto-Optical disk
RAM :Random Access Memory
ROM :Read Only Memory
SRAM :Static RAM
USB :Universal Serial Bus
AV :Audio and Visual
BS :Broadcasting Satellite
CD :Compact Disc
CD±RW :CD +ReWritable, CD ReWritable
CPU :Central Processing Unit
CS :Communication Satellite
DMA :Direct Memory Access
DRAM :Dynamic RAM
DSP :Digital Signal Processor
DVD±RW:DVD +ReWritable, DVD ReWritable
ID :IDentification
MO :Magneto-Optical disk
RAM :Random Access Memory
ROM :Read Only Memory
SRAM :Static RAM
USB :Universal Serial Bus
10…AVサーバ、11…CPU、12…メモリ、13…ハードディスク装置、14…ユーザインターフェイス、15…チューナ、16…ネットワークインターフェイス、17…DSP、18…外部記録メディアインターフェイス、20…モバイル機器、30…外部記録メディア、40…ネットワーク
Claims (1)
- 動画や音楽などのデジタルデータをデータ圧縮して蓄積ているとともに、この蓄積しているデジタルデータのうち、所望のデジタルデータをモバイル機器に提供するようにしたAVサーバにおいて、
上記モバイル機器の記録手段と接続するインターフェイスと、
エンコーダと、
情報管理テーブルと
を有し、
上記情報管理テーブルは、
上記デジタルデータを選択して上記記録手段に持ち出すときの条件を示す第1のデータと、
上記デジタルデータのうち、上記第1のデータにしたがって選択されたデジタルデータを上記記録手段に持ち出すときの再エンコードの条件を示す第2のデータと
を有し、
上記デジタルデータのうち、上記第1のデータにより選択されたデジタルデータを、上記エンコーダにより上記第2のデータの条件にしたがって再エンコードし、
この再エンコード結果のデジタルデータを上記インターフェイスを通じて上記記録手段に持ち出す
ようにしたサーバ装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004039486A JP2005235246A (ja) | 2004-02-17 | 2004-02-17 | サーバ装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004039486A JP2005235246A (ja) | 2004-02-17 | 2004-02-17 | サーバ装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005235246A true JP2005235246A (ja) | 2005-09-02 |
Family
ID=35018059
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004039486A Pending JP2005235246A (ja) | 2004-02-17 | 2004-02-17 | サーバ装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005235246A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006112429A1 (ja) * | 2005-04-18 | 2006-10-26 | Matsushita Electric Industrial Co., Ltd. | 録画装置 |
JP2007312140A (ja) * | 2006-05-18 | 2007-11-29 | Sony Corp | 表示装置、録音再生装置、コンテンツ転送システム及び転送方法 |
JP2007336086A (ja) * | 2006-06-13 | 2007-12-27 | Toshiba Corp | コンテンツ記録装置、コンテンツ再生装置、及びコンテンツネットワークシステム |
WO2009041655A1 (ja) * | 2007-09-28 | 2009-04-02 | Sanyo Electric Co., Ltd. | 映像記録再生装置、映像記録装置、及び映像符号化装置 |
JP2009100461A (ja) * | 2007-09-28 | 2009-05-07 | Sanyo Electric Co Ltd | 映像記録再生装置、映像記録装置、及び映像符号化装置。 |
-
2004
- 2004-02-17 JP JP2004039486A patent/JP2005235246A/ja active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006112429A1 (ja) * | 2005-04-18 | 2006-10-26 | Matsushita Electric Industrial Co., Ltd. | 録画装置 |
JP4804465B2 (ja) * | 2005-04-18 | 2011-11-02 | パナソニック株式会社 | 録画装置 |
US8559796B2 (en) | 2005-04-18 | 2013-10-15 | Panasonic Corporation | Video recorder apparatus for recording moving picture file in detachable recording medium |
JP2007312140A (ja) * | 2006-05-18 | 2007-11-29 | Sony Corp | 表示装置、録音再生装置、コンテンツ転送システム及び転送方法 |
JP2007336086A (ja) * | 2006-06-13 | 2007-12-27 | Toshiba Corp | コンテンツ記録装置、コンテンツ再生装置、及びコンテンツネットワークシステム |
WO2009041655A1 (ja) * | 2007-09-28 | 2009-04-02 | Sanyo Electric Co., Ltd. | 映像記録再生装置、映像記録装置、及び映像符号化装置 |
JP2009100461A (ja) * | 2007-09-28 | 2009-05-07 | Sanyo Electric Co Ltd | 映像記録再生装置、映像記録装置、及び映像符号化装置。 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8103771B2 (en) | Distributing processing apparatus, method, and system | |
US20060013566A1 (en) | Content recording apparatus, content playback apparatus, content recording method, content playback method, and computer program | |
US8380817B2 (en) | Information processing system, information processing method, and computer program used therewith | |
JP2005235019A (ja) | ネットワークシステム、分散処理方法、情報処理装置 | |
CN100534159C (zh) | 信息处理系统以及信息处理方法 | |
EP1569457A2 (en) | Information processing system, information processing method, and computer program | |
KR101089857B1 (ko) | 콘텐츠 재생 장치, 콘텐츠 기록 장치, 네트워크 시스템, 및콘텐츠 기록·재생 방법 | |
JP3546995B2 (ja) | 分散コンテンツ管理システム | |
JP2009282624A (ja) | 電子装置およびコンテンツデータ提供方法 | |
JP2005235246A (ja) | サーバ装置 | |
KR100717059B1 (ko) | 홈 네트워크에서 하나의 컨텐츠를 복수의 디바이스에분할하여 저장하기 위한 방법 및 장치 | |
US7882157B2 (en) | Content data recording device and recording control method | |
JP2006033646A (ja) | 情報処理システム及び情報処理方法、並びにコンピュータプログラム | |
JP4349189B2 (ja) | ネットワークシステム、番組録画予約方法および情報処理装置 | |
JP2005252402A (ja) | コンテンツ記録システム及びコンテンツ記録方法、並びにコンピュータ・プログラム | |
JP2008015739A (ja) | Avコンテンツのバックアップ方法と装置 | |
JP2005352909A (ja) | 情報処理装置および方法、記録媒体、並びに予約処理プログラム | |
JP2005267150A (ja) | 情報処理システム及び情報処理方法、並びにコンピュータ・プログラム | |
JP4306538B2 (ja) | 情報処理装置、情報処理方法、およびプログラム | |
JP4337642B2 (ja) | 情報処理システム、情報処理装置および方法、記録媒体、並びにプログラム | |
JP4552116B2 (ja) | 録画システム、録画依頼装置および録画依頼方法、録画予約装置および録画予約方法、録画装置および録画方法、並びにプログラム | |
JP2008257559A (ja) | コンテンツ再生装置、コンテンツ再生方法、および、コンピュータプログラム | |
JP2005301678A (ja) | ネットワークシステム、代理表示方法、情報処理装置 | |
JP2005252403A (ja) | コンテンツ記録システム及びコンテンツ記録方法、並びにコンピュータ・プログラム | |
JP2009105974A (ja) | サーバ装置、サーバシステム及び情報出力方法 |