平成26年秋期試験午後問題 問7

問7 組込みシステム開発

⇱問題PDF
DVDレコーダ,ブルーレイディスクレコーダ用のリモートコントロールボックスの設計に関する次の記述を読んで,設問1~3に答えよ。
 U社は,タブレット,スマートフォン,PCなど(以下,端末という)から,家庭内の無線LAN(以下,無線LANという)を介してDVDレコーダ,ブルーレイディスクレコーダ(以下,これらを総称してレコーダという)を制御できるリモートコントロールボックス(以下,ボックスという)を設計した。

〔システムの構成〕
 端末からボックスを介して,レコーダの番組録画予約と,録画された番組(以下,録画番組という)の視聴を行うことができる。端末とボックスはアクセスポイントを経由して無線LANで接続し,ボックスとレコーダは専用のケーブルで接続する。システムの構成を図1に示す。
pm07_1.png
〔レコーダの機能〕
 レコーダは,ボックスからのコマンドで番組録画予約を行い,録画番組を視聴の際には,録画番組の映像と音声のデータ(以下,録画データという)をボックスに送る。

〔端末及びボックスの機能〕
 端末には,専用のアプリケーションシステム(以下,アプリという)をインストールしてある。このアプリはボックスと通信を行い,ボックスを介して,レコーダの番組録画予約と,録画番組の視聴を行うことができる。ただし,レコーダが出力する録画データは端末に保存できないようにしている。また,ボックスのタスクの制約から,同時に視聴できる端末は1台だけである。
 録画データは,ボックスで端末用のデータに変換されて端末に送られる。また,端末とボックス間の通信は全て暗号化されている。
 ボックスは無線LAN用にデータを送るために十分に大きな無線LAN用のバッファを備えており,バッファに格納したデータを自動的に無線LANに送る。

〔ボックスで使用するOS〕
 ボックスは,独自のリアルタイムOSを使用する。このOSでは,タスクは,実行状態,実行待ち状態,待ち状態のいずれかとなる。タスクにはあらかじめ,高,中,低の3種類の優先度が付与され,変更されることはない。
  • 実行状態のタスクがあるとき,より優先度が高いタスクの実行要求があると,実行状態のタスクは実行待ち状態になり,優先度が高いタスクは実行状態になる。
  • タスク間の通信にはメッセージキュー(以下,キューという)及びリングバッファを使用する。
〔ボックスのタスク構成〕
 ボックスで使用するタスクの構成を,表1に示す。
pm07_2.png
〔タスク間通信〕
 タスク間の通信では,コマンドなどの短いデータはキューを使用し,サイズの大きい録画データはリングバッファを使用する。レコーダ制御タスクとエンコーダタスクの間にリングバッファA(以下,バッファAという)を,エンコーダタスクと無線LAN制御タスクの間にリングバッファB(以下,バッファBという)をそれぞれ割り当てる。
 リングバッファは,書込みインデックスの値 W,読出しインデックスの値 R,及びデータを格納するバッファから成る。
 リングバッファでは,データを書き込むと書き込んだデータ長が書込みインデックスに加算され,データを読み出すと読み出したデータ長が読出しインデックスに加算される。リングバッファではデータを全て読み出したとき,書込みインデックスの値 W と読出しインデックスの値 R の関係はdとなる。

〔視聴時のタスクの動き〕
 録画番組を視聴するとき,ボックスはレコーダを制御して録画データを連続して受け取る。
 端末から録画番組が指定されると,ボックスはレコーダにコマンドを送り,視聴を開始する。視聴を開始すると,各タスクが表2の処理を繰り返す。
 1フレーム分の録画データが30ミリ秒周期でレコーダから送られ,ボックスで端末用のデータにブロック化され,ブロック単位で端末に送られる。
pm07_3.png
〔インターネット経由の予約機能の追加〕
 インターネットを経由して番組録画予約を行う機能の追加を行うことになった。端末が番組録画予約データを電子メール(以下,メールという)でボックス宛てに送ると,ボックスがメールを受信し,番組録画予約データを取り出して番組録画予約を行い,予約完了,予約エラーなどの処理結果をメールで端末に返信することにした。予約機能追加時のシステムの構成を図2に示す。
pm07_4.png
 端末のアプリには,番組録画予約データを暗号化してメールで送信する機能と,ボックスで処理された結果をメールで受信する機能を追加した。
 ボックスには,5分間隔でメールの有無をチェックする機能をeタスクに追加した。さらに,fタスクに,受信したメールから番組録画予約データを取り出して番組予約タスクに通知する機能及び処理結果のメールを生成して送信する機能を追加した。

設問1

〔端末及びボックスの機能〕について,(1),(2)に答えよ。
  • 同時に視聴できる端末を1台に制限したのはどのような理由によるものか。制約となるタスク名を含め,30字以内で述べよ。
  • 端末で録画データを保存しないこととしたのは,どのような権利の侵害を回避するためか答えよ。

解答例・解答の要点

  • 複数台では,エンコーダタスクの処理が間に合わないから (26文字)
  • 著作権

解説

  • 〔視聴時のタスクの動き〕より、各タスクの1フレーム当たりの処理時間は以下になります。
    • レコーダ制御:4ミリ秒
    • エンコーダ:6ミリ秒(4フレームごとに44ミリ秒必要)
      つまり、6ミリ秒+44ミリ秒/4フレーム=6+11=17ミリ秒
    • 無線LAN制御:1ミリ秒
    pm07_5.png
    視聴時はレコーダから30ミリ秒周期で1フレームの録画データが送られてきます。仮に2台の端末で同時に視聴するとした場合、30ミリ秒毎に2フレームが送られてくるので、エンコーダタスクでは「17ミリ秒×2=34ミリ秒」の処理時間が必要となり、処理性能が不足することになります。このように、複数端末での同時視聴をしようとしてもエンコードタスクの処理が追い付きません。これが同時に視聴できる端末を1台に制限した理由となります。

    ∴複数台では,エンコーダタスクの処理が間に合わないから

  • テレビ番組はテレビ局の著作物であり、著作権法の保護対象です。権利の種類が問われていますので「著作権」が答えとなります。

    デジタル放送は著作権を保護するために暗号化され、コピー制御信号が付加されています。これにより、レコーダに記録されたの録画番組は所定回数までブルーレイディスク等のメディアにコピーすることはできますが、デジタル機器間でコピーできません。私的利用目的であっても、技術的保護手段を回避してコピー可能にしてしまう行為を伴う場合は私的利用とはみなされず、著作物複製権の侵害となります(著作権法30条1項2号)。

    ∴著作権

設問2

〔ボックスのタスク構成〕及び〔タスク間通信〕について,(1),(2)に答えよ。
  • 表1中のacに入れる優先度を高,中,低から一つずつ選んで答えよ。
  • 本文中のdに入れる適切な式を R,W を用いて答えよ。

解答例・解答の要点

  • 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
    この状態に、データ長が75のデータを書き込むと以下の状態となります。
    • 書込みインデックスの値(W)は「(100+75) % 150=25」
    • 読出しインデックスの値(R)は100
    その後、先ほど書き込まれたデータを読み込むと以下の状態となります。
    • 書込みインデックスの値(W)は25
    • 読出しインデックスの値(R)は「(100+75) % 150=25」
    データを全て読み出すと、読出しインデックスは書込みインデックスの位置まで進むので、R と W は同じ値になります。したがって「R = W」という関係が適切です。

    ∴R = W または W = R

設問3

〔インターネット経由の予約機能の追加〕について,(1),(2)に答えよ。
  • 本文中のefに入るタスク名を答えよ。
  • 端末が番組録画予約のメールを送信してから,ボックスが処理結果のメールを送信するまでの時間は最大で何分になるか答えよ。ここで,ネットワーク内での遅延及びボックス内のタスクの処理に要する時間は無視できるものとする。

解答例・解答の要点

  • e:無線LAN制御
    f:ボックス制御
  • 6

解説

  • 〔機能及びボックスの機能〕より、ボックスの機能として下記の2種類があります。
    • レコーダの番組録画予約
    • 録画番組の視聴
    また、表1の「ボックスで使用するタスクの構成」を整理すると、各タスク間の通信は以下のように発生することがわかります。
    pm07_6.png
    eについて〕
    視聴でも録画予約でも、無線LAN制御タスクで(無線LAN経由で)端末からデータを受け取ります。
    メールはインターネットを介して受信するので、メールの有無を確認する機能を追加するのは無線LANとの接続点である「無線LAN制御タスク」になります。また、現状の録画予約のフローからも端末の要求を受け取るのは「無線LAN制御タスク」が適切とわかります。

    e=無線LAN制御

    fについて〕
    [f]タスクに追加する機能は次の2つです。
    • 受信したメールから番組録画予約データを取り出して番組予約タスクに通知する機能
    • 処理結果のメールを生成して送信する機能
    ボックス制御タスクには、データの内容を判断し適切なタスクに送る役割、番組予約タスクから受け取った処理結果を応答データに変換し、無線LAN制御タスクに送る役割があり、追加する機能に合致します。よって、2つの機能を追加するのは「ボックス制御タスク」が適切です。

    f=ボックス制御タスク

  • メールの有無のチェックは5分間隔で行われます。また、表1の"番組予約タスク"欄に「1分経過してもレコーダ制御タスクからレスポンスが受け取れない場合、操作が失敗したものとみなし、処理結果をボックス制御に送る」という記載があります。

    これより、次の条件が重なった場合に処理結果のメールを送信するまでの時間が最大となることがわかります。

    メールチェック終了後、すぐに端末がメールを送信する
    ↓(次のメールチェックまで5分待つ)
    無線LAN制御タスクがメールを受信し、ボックス制御タスクに送る

    ボックス制御タスクが番組予約タスクに送る

    番組予約タスクがレコード制御タスクに送る
    ↓(1分待ってもレコーダ制御タスクからレスポンスが受け取れない)
    番組予約タスクがボックス制御タスクに失敗の処理結果を送る

    ボックス制御タスクが処理結果を応答データに変換し、無線LAN制御タスクに送る

    端末に通知が届く

    ネットワーク遅延及びタスク処理時間を無視して考えると、端末がメールを送信してから処理結果を受け取るまでに要する時間は「6分」です。

    ∴6
模範解答

Pagetop