応用情報技術者過去問題 平成26年秋期 午後問7
⇄問題文と設問を画面2分割で開く⇱問題PDF問7 組込みシステム開発
DVDレコーダ,ブルーレイディスクレコーダ用のリモートコントロールボックスの設計に関する次の記述を読んで,設問1~3に答えよ。
U社は,タブレット,スマートフォン,PCなど(以下,端末という)から,家庭内の無線LAN(以下,無線LANという)を介してDVDレコーダ,ブルーレイディスクレコーダ(以下,これらを総称してレコーダという)を制御できるリモートコントロールボックス(以下,ボックスという)を設計した。
〔システムの構成〕
端末からボックスを介して,レコーダの番組録画予約と,録画された番組(以下,録画番組という)の視聴を行うことができる。端末とボックスはアクセスポイントを経由して無線LANで接続し,ボックスとレコーダは専用のケーブルで接続する。システムの構成を図1に示す。〔レコーダの機能〕
レコーダは,ボックスからのコマンドで番組録画予約を行い,録画番組を視聴の際には,録画番組の映像と音声のデータ(以下,録画データという)をボックスに送る。
〔端末及びボックスの機能〕
端末には,専用のアプリケーションシステム(以下,アプリという)をインストールしてある。このアプリはボックスと通信を行い,ボックスを介して,レコーダの番組録画予約と,録画番組の視聴を行うことができる。ただし,レコーダが出力する録画データは端末に保存できないようにしている。また,ボックスのタスクの制約から,同時に視聴できる端末は1台だけである。
録画データは,ボックスで端末用のデータに変換されて端末に送られる。また,端末とボックス間の通信は全て暗号化されている。
ボックスは無線LAN用にデータを送るために十分に大きな無線LAN用のバッファを備えており,バッファに格納したデータを自動的に無線LANに送る。
〔ボックスで使用するOS〕
ボックスは,独自のリアルタイムOSを使用する。このOSでは,タスクは,実行状態,実行待ち状態,待ち状態のいずれかとなる。タスクにはあらかじめ,高,中,低の3種類の優先度が付与され,変更されることはない。
ボックスで使用するタスクの構成を,表1に示す。〔タスク間通信〕
タスク間の通信では,コマンドなどの短いデータはキューを使用し,サイズの大きい録画データはリングバッファを使用する。レコーダ制御タスクとエンコーダタスクの間にリングバッファA(以下,バッファAという)を,エンコーダタスクと無線LAN制御タスクの間にリングバッファB(以下,バッファBという)をそれぞれ割り当てる。
リングバッファは,書込みインデックスの値 W,読出しインデックスの値 R,及びデータを格納するバッファから成る。
リングバッファでは,データを書き込むと書き込んだデータ長が書込みインデックスに加算され,データを読み出すと読み出したデータ長が読出しインデックスに加算される。リングバッファではデータを全て読み出したとき,書込みインデックスの値 W と読出しインデックスの値 R の関係はdとなる。
〔視聴時のタスクの動き〕
録画番組を視聴するとき,ボックスはレコーダを制御して録画データを連続して受け取る。
端末から録画番組が指定されると,ボックスはレコーダにコマンドを送り,視聴を開始する。視聴を開始すると,各タスクが表2の処理を繰り返す。
1フレーム分の録画データが30ミリ秒周期でレコーダから送られ,ボックスで端末用のデータにブロック化され,ブロック単位で端末に送られる。〔インターネット経由の予約機能の追加〕
インターネットを経由して番組録画予約を行う機能の追加を行うことになった。端末が番組録画予約データを電子メール(以下,メールという)でボックス宛てに送ると,ボックスがメールを受信し,番組録画予約データを取り出して番組録画予約を行い,予約完了,予約エラーなどの処理結果をメールで端末に返信することにした。予約機能追加時のシステムの構成を図2に示す。 端末のアプリには,番組録画予約データを暗号化してメールで送信する機能と,ボックスで処理された結果をメールで受信する機能を追加した。
ボックスには,5分間隔でメールの有無をチェックする機能をeタスクに追加した。さらに,fタスクに,受信したメールから番組録画予約データを取り出して番組予約タスクに通知する機能及び処理結果のメールを生成して送信する機能を追加した。
U社は,タブレット,スマートフォン,PCなど(以下,端末という)から,家庭内の無線LAN(以下,無線LANという)を介してDVDレコーダ,ブルーレイディスクレコーダ(以下,これらを総称してレコーダという)を制御できるリモートコントロールボックス(以下,ボックスという)を設計した。
〔システムの構成〕
端末からボックスを介して,レコーダの番組録画予約と,録画された番組(以下,録画番組という)の視聴を行うことができる。端末とボックスはアクセスポイントを経由して無線LANで接続し,ボックスとレコーダは専用のケーブルで接続する。システムの構成を図1に示す。〔レコーダの機能〕
レコーダは,ボックスからのコマンドで番組録画予約を行い,録画番組を視聴の際には,録画番組の映像と音声のデータ(以下,録画データという)をボックスに送る。
〔端末及びボックスの機能〕
端末には,専用のアプリケーションシステム(以下,アプリという)をインストールしてある。このアプリはボックスと通信を行い,ボックスを介して,レコーダの番組録画予約と,録画番組の視聴を行うことができる。ただし,レコーダが出力する録画データは端末に保存できないようにしている。また,ボックスのタスクの制約から,同時に視聴できる端末は1台だけである。
録画データは,ボックスで端末用のデータに変換されて端末に送られる。また,端末とボックス間の通信は全て暗号化されている。
ボックスは無線LAN用にデータを送るために十分に大きな無線LAN用のバッファを備えており,バッファに格納したデータを自動的に無線LANに送る。
〔ボックスで使用するOS〕
ボックスは,独自のリアルタイムOSを使用する。このOSでは,タスクは,実行状態,実行待ち状態,待ち状態のいずれかとなる。タスクにはあらかじめ,高,中,低の3種類の優先度が付与され,変更されることはない。
- 実行状態のタスクがあるとき,より優先度が高いタスクの実行要求があると,実行状態のタスクは実行待ち状態になり,優先度が高いタスクは実行状態になる。
- タスク間の通信にはメッセージキュー(以下,キューという)及びリングバッファを使用する。
ボックスで使用するタスクの構成を,表1に示す。〔タスク間通信〕
タスク間の通信では,コマンドなどの短いデータはキューを使用し,サイズの大きい録画データはリングバッファを使用する。レコーダ制御タスクとエンコーダタスクの間にリングバッファA(以下,バッファAという)を,エンコーダタスクと無線LAN制御タスクの間にリングバッファB(以下,バッファBという)をそれぞれ割り当てる。
リングバッファは,書込みインデックスの値 W,読出しインデックスの値 R,及びデータを格納するバッファから成る。
リングバッファでは,データを書き込むと書き込んだデータ長が書込みインデックスに加算され,データを読み出すと読み出したデータ長が読出しインデックスに加算される。リングバッファではデータを全て読み出したとき,書込みインデックスの値 W と読出しインデックスの値 R の関係はdとなる。
〔視聴時のタスクの動き〕
録画番組を視聴するとき,ボックスはレコーダを制御して録画データを連続して受け取る。
端末から録画番組が指定されると,ボックスはレコーダにコマンドを送り,視聴を開始する。視聴を開始すると,各タスクが表2の処理を繰り返す。
1フレーム分の録画データが30ミリ秒周期でレコーダから送られ,ボックスで端末用のデータにブロック化され,ブロック単位で端末に送られる。〔インターネット経由の予約機能の追加〕
インターネットを経由して番組録画予約を行う機能の追加を行うことになった。端末が番組録画予約データを電子メール(以下,メールという)でボックス宛てに送ると,ボックスがメールを受信し,番組録画予約データを取り出して番組録画予約を行い,予約完了,予約エラーなどの処理結果をメールで端末に返信することにした。予約機能追加時のシステムの構成を図2に示す。 端末のアプリには,番組録画予約データを暗号化してメールで送信する機能と,ボックスで処理された結果をメールで受信する機能を追加した。
ボックスには,5分間隔でメールの有無をチェックする機能をeタスクに追加した。さらに,fタスクに,受信したメールから番組録画予約データを取り出して番組予約タスクに通知する機能及び処理結果のメールを生成して送信する機能を追加した。
設問1
〔端末及びボックスの機能〕について,(1),(2)に答えよ。
- 同時に視聴できる端末を1台に制限したのはどのような理由によるものか。制約となるタスク名を含め,30字以内で述べよ。
- 端末で録画データを保存しないこととしたのは,どのような権利の侵害を回避するためか答えよ。
解答入力欄
解答例・解答の要点
- 複数台では,エンコーダタスクの処理が間に合わないから (26文字)
- 著作権
解説
- 〔視聴時のタスクの動き〕より、各タスクの1フレーム当たりの処理時間は以下になります。
- レコーダ制御:4ミリ秒
- エンコーダ:6ミリ秒(4フレームごとに44ミリ秒必要)
つまり、6ミリ秒+44ミリ秒/4フレーム=6+11=17ミリ秒 - 無線LAN制御:1ミリ秒
∴複数台では,エンコーダタスクの処理が間に合わないから - テレビ番組はテレビ局の著作物であり、著作権法の保護対象です。権利の種類が問われていますので「著作権」が答えとなります。
デジタル放送は著作権を保護するために暗号化され、コピー制御信号が付加されています。これにより、レコーダに記録されたの録画番組は所定回数までブルーレイディスク等のメディアにコピーすることはできますが、デジタル機器間でコピーできません。私的利用目的であっても、技術的保護手段を回避してコピー可能にしてしまう行為を伴う場合は私的利用とはみなされず、著作物複製権の侵害となります(著作権法30条1項2号)。
∴著作権
設問2
〔ボックスのタスク構成〕及び〔タスク間通信〕について,(1),(2)に答えよ。
- 表1中のa~cに入れる優先度を高,中,低から一つずつ選んで答えよ。
- 本文中のdに入れる適切な式を R,W を用いて答えよ。
解答入力欄
- a:
- b:
- c:
- d:
解答例・解答の要点
- a:高
- b:中
- c:低
- d:R = W
解説
- 〔aについて〕
表1には、レコーダ制御タスクについて「1)録画データが消失してしまわないように、レコーダから受け取った録画データを直ちに処理する」という注記があります。レコーダから録画データを受け取ったときは、他のタスクの状態にかかわらず優先して処理する必要があるので、優先度を「高」にしなければなりません。
∴a=高
〔bについて〕
表1には、無線LAN制御タスクについて「2)遅延が最小となり、かつ、レコーダ制御タスクの処理を妨げないように設計されている」という注記があります。レコーダ制御タスクの処理を妨げないようにするという条件から、優先度は「中」または「低」となります。また、遅延を最小とするためには他のタスクよりも高い優先度でなくてはなりませんから「中」が適切です。
このようにしているのは、単位当たりの処理時間が短いタスクを優先することで、応答を滑らかにする(端末へのデータの到達間隔がばらつかないようにする)ためだと考えられます。
∴b=中
〔cについて〕
レコーダ制御タスクの処理を妨げないようにしなければならないので、「中」または「低」となります。優先度を無線LAN制御タスクと同じ「中」にした場合、エンコーダタスクの処理中は無線LAN制御タスクの実行待ちが生じることになり、無線LAN制御タスクの遅延を最小にするという条件を満たしません。よって、優先度を「低」にする必要があります。
∴c=低 - リングバッファとは、データをバッファに格納する際に、バッファの終端までデータを格納した後、バッファの先頭に戻ってデータ書き込む方式です。
例として、以下の状態のリングバッファを考えます。- リングバッファ長は150
- 書込みインデックスの値(W)は100
- 読出しインデックスの値(R)は100
- 書込みインデックスの値(W)は「(100+75) % 150=25」
- 読出しインデックスの値(R)は100
- 書込みインデックスの値(W)は25
- 読出しインデックスの値(R)は「(100+75) % 150=25」
∴R = W または W = R
設問3
〔インターネット経由の予約機能の追加〕について,(1),(2)に答えよ。
- 本文中のe,fに入るタスク名を答えよ。
- 端末が番組録画予約のメールを送信してから,ボックスが処理結果のメールを送信するまでの時間は最大で何分になるか答えよ。ここで,ネットワーク内での遅延及びボックス内のタスクの処理に要する時間は無視できるものとする。
解答入力欄
- e:タスク
- f:タスク
- o:分
解答例・解答の要点
- e:無線LAN制御
- f:ボックス制御
- o:6
解説
- 〔機能及びボックスの機能〕より、ボックスの機能として下記の2種類があります。
- レコーダの番組録画予約
- 録画番組の視聴
視聴でも録画予約でも、無線LAN制御タスクで(無線LAN経由で)端末からデータを受け取ります。
メールはインターネットを介して受信するので、メールの有無を確認する機能を追加するのは無線LANとの接続点である「無線LAN制御タスク」になります。また、現状の録画予約のフローからも端末の要求を受け取るのは「無線LAN制御タスク」が適切とわかります。
∴e=無線LAN制御
〔fについて〕
[f]タスクに追加する機能は次の2つです。- 受信したメールから番組録画予約データを取り出して番組予約タスクに通知する機能
- 処理結果のメールを生成して送信する機能
∴f=ボックス制御タスク - メールの有無のチェックは5分間隔で行われます。また、表1の"番組予約タスク"欄に「1分経過してもレコーダ制御タスクからレスポンスが受け取れない場合、操作が失敗したものとみなし、処理結果をボックス制御に送る」という記載があります。
これより、次の条件が重なった場合に処理結果のメールを送信するまでの時間が最大となることがわかります。
メールチェック終了後、すぐに端末がメールを送信する
↓(次のメールチェックまで5分待つ)
無線LAN制御タスクがメールを受信し、ボックス制御タスクに送る
↓
ボックス制御タスクが番組予約タスクに送る
↓
番組予約タスクがレコード制御タスクに送る
↓(1分待ってもレコーダ制御タスクからレスポンスが受け取れない)
番組予約タスクがボックス制御タスクに失敗の処理結果を送る
↓
ボックス制御タスクが処理結果を応答データに変換し、無線LAN制御タスクに送る
↓
端末に通知が届く
ネットワーク遅延及びタスク処理時間を無視して考えると、端末がメールを送信してから処理結果を受け取るまでに要する時間は「6分」です。
∴6