遠隔講義で使用する学生パソコンをモニターする Web システムの開発
松澤 英之
宮崎大学 情報基盤センター
matsuzawa@cc.miyazaki-u.ac.jp

Development of Web System to Monitor Student PCs Used in a Remote
LectureHideyuki Matsuzawa
Information Technology Center, University of Miyazaki.
概要
Web 会議システム等を使って遠隔講義を行った場合、学生の状態を定量的に把握することは難しい。受講者のパソコンで、キーボード・マウスイベントを測定し、Web サーバ側で集約することで、遠隔講義中でも学生の状態を定量的に把握する Web システムを開発し、実際の講義で試した。

1

はじめに講義では、学生の様子などから学生の理解度を推測し、学生の理解度に合わせて講義の内容等を変える必要がある。少人数の対面講義では、学生全体と個々の学生の様子を定性的に把握することは、比較的容易である。大人数の対面講義でも、全体の様子のみ知ることができる。

よる定性的な状態把握ではなく、学生パソコンの挙動という数値データから定量的に学生の活動をとらえる事を目指す。そのためのモニターソフトウェアを開発し、実際の講義で使用した。

2

リモートモニター用 Web システム

2.1 モニター値
まず最初に、どのパソコンの値が、学生の活

現在、コロナ禍で、3 密を避けるために、遠隔動を推測する為に適当なモニター値であるかを調講義を強いられている。宮崎大学の遠隔講義では、べた。宮崎大学では、医学部を除いて、学生に主に、Cisco Webex[1]、Zoom[2]の Web 会議システ

Windows ノートパソコンの携帯を義務付けている。

ムが用られている。Web 会議システムは、講師、そこでモニター値を提供するクライアントソフト

学生双方からのビデオ画面と資料の提示、チャッウェアは Windows 用のアプリを作成した。パソコ

トが利用できる。Web 会議システムを用いた遠隔ンの挙動知るためにモニタする値は、Windows タ講義では、学生各人の状態を把握するために、各スクマネージャーの値を参考にした。タスクマネ

人のビデオ画面を利用する。また、全ての受講学ージャーが表示する値は CPU、メモリ、ディスク、生のビデオ画面を一堂に表示する事で、学生達全ネットワークと GPU である。このうちメモリは、体の雰囲気をある程度知る事が出来る。しかし、数秒程度では劇的な変化は見られないので、学生Webex の様にビデオ表示数に制限のあるソフトもの活動をモニターするのに適さないので、今回のある。

モニター値から外した。また、GPU は、安価なノ映像による学生状態の把握は、人数が多い講ートパソコンには搭載されていないので、一般的義ほど困難になる。実際に他の先生方から聞いたなモニター値にはならないので、モニター値から話では、学生が 20 人程度の遠隔講義では、学生外 し た 。 Windows の パ フ ォ ー マ ン ス 値 は 、の画像を全て表示して、学生の状況を把握しながWindows の typepref コマンドを用いて、1 秒間ごとら講義が出来るようである。しかし、100 人までの値を取得した。Windows のパフォーマンス値以学生が増えた場合は難しいようである。

外に、ユーザが直接パソコンを操作する際に使用

そこで、大人数の遠隔講義でも、ある程度学するキーボード、マウスのイベントを測定して、生の様子を掴むために、画像という視覚データにモニター値とした。イベントは、キーボードを押した時と押したキーを離した時、マウスを移動さった。今回は 5 秒ごとに、サーバに送信している。

せたとき、クリックした時とマウスのスクロール

また、クライアントソフトを利用する人数が増えボタンを使用した時に発生する。

た場合のサーバ側の負荷軽減策として、サーバに実際に学生パソコンで使うソフトウェアを作送信されるデータ転送間隔は、サーバからの指示製する前に、今回観測する値がパソコンの挙動をによって変えることが出来るようにした。サーバ反映するか確かめた。学生パソコンにインストー

へは、Python pynput ソフトから得られるイベント

ルされているソフトウェアの使用時を想定して、の発生時刻を送信しているのではない。例えば、各値を観測した。想定場面は、Windows 立ち上げ

マウスイベントは、1 秒間に数十回程度起きる。

後何もソフトウェアを起動しない時、Microsoftイベント発生毎にサーバにデータを送信すること

Office Word 2019 を使って文章を作成する時、は、サーバの負荷を徒に増大させることになる。

Microsoft Office Excel 2019 で csv ファイルからデそこで、サーバーに送信するデータは、以下の様ータの読み込み・グラフの作成する時、FireFoxにして計算した。まず、1 秒間隔でイベントが発で YouTube 動画を視聴する時、Windows10 に付属生したかどうかを記録する。サーバへの通信間隔するカードゲームを行った時である。グラフを見のうち、1 秒間隔で何回イベントが発生した時間る限り、YouTue 動画を視聴する時に、定期的に間隔があったかを計算し、送信した。例えば、サネットワークアクセスが見られた。それ以外は、ーバから 5 秒の時間間隔を指定され、最初の 1 秒Windows のパフォーマンス値の変動から、動作を間と最後の 1 秒間にイベントが発生した場合、予測できる変動は見つけられなかった。そこで、40%となる。学生から集めたデータはサーバ側でクライアントソフトウェア開発を簡素化するため集計する。に、今回、Windows パフォーマンス値は、モニターソフトには採用せず、キーボードとマウスのイベントを利用することにした。
2.2 ソフトウェア

3 実証実験
実験は、宮崎大学 2020 年度後期、私が担当する講義で行う予定である。私が担当する講義は、このシステムの通信プロトコルは http を採用し教育学部 2 年生対象の情報処理学、情報処理学(実た。1 講義 40-100 人、TCP/IP でサーバに接続する習を含む。)10 名程度と全学年対象の Python プロ

場合、接続を維持するために、同時起動するサーグラミング演習 20 名程度である。これら講義でバ数は、利用者と同程度用意する必要がある。サは、学生持参の Windows ノートパソコンを利用すーバ側の負荷低減のため、1 回づつ接続が切れる、る。出稿時点では、これらの講義は、対面講義でhttp プロトコルを使用した。

行われるのか、遠隔講義で行われるか決まっていクライアントソフトは、ブラウザ上で動作すない。対面講義での実験は、開発目的とは異なるるのではなく、パソコン上で起動する Web アプリが、定量的な測定以外に、定性的に学生の雰囲気にした。ブラウザ上で動作する場合、ブラウザのも知ることなどが出来るので、モニターで得られセキュリティ機能により、パソコン本体から情報たデータど実際の雰囲気のずれ等も測定できるもを引き出す事が大変だからである。アプリ作成にのと考えている。

は使い慣れている Python を用いて作成した。キーボード、マウスイベントをキャプチャする Python
パッケージは pynput[3]を使用した。このソフトは、システムバグの為、マウスクリックイベントを取得すると、反応が極端に遅くなる。そこで今回は、マウスクリックイベントはモニターしていない。
この現象は、Python の他のパッケージを利用しても再現した。今回開発するソフトウェアで取得するイベントはマウスの移動、マウススクロールボタンの操作、キーの押し下げ、押上である。
大人数を同時に使用する場合の負荷軽減策として、サーバへのデータ送信は、一定の間隔で行

参考文献[1] Cisco Webex、https://www.webex.com/ja/video-conferencing.ht
ml．
[2] Zoom、https://zoom.us/jp-jp/meetings.html．
[3] punput、https://pypi.org/project/pynput/．