BYOD に向けた Web プリントシステムの設計と構築
石井良和 1),2), 平野彰雄 1),2), 植木徹 1),2), 梶田将司 2)

1) 京都大学 企画・情報部
2) 京都大学 情報環境機構
ishii.yoshikazu.3e@kyoto-u.ac.jp

Design and development of Web printing system for the BYOD
Yoshikazu Ishii 1),2), Akio Hirano 1),2), Tohru Ueki1),2) ,Shoji Kajita 2)
1) Planning and Information Management Department, Kyoto Univ.
2) Institute for Information Management and Communication, Kyoto Univ.
概要

京都大学では、教育用システムの更新（2018 年 3 月）を機に、従来の情報教育の演習・実習用 PC 端末の整備拡充を止め、学生所有 PC 端末の BYOD (Bring Your Own Device)による教育学修環境の拡充を図る方針で進めている。この方針のもと BYOD による教育学修環境の抜本的な改革に向けたパイロット事業として学生所有 PC 端末からの印刷要求を実現する Web プリントシステムを構築した。本稿では、構築したシステムの導入経緯、設計、開発方針を明らかにし、取組みの進捗について報告する。

1

はじめに

2

京都大学（以下、「本学」という。）における情2.1 学生のためのプリント・サービス

システム導入の経緯

報教育環境は、レンタル調達（2012 年 3 月から 2018

教育用システムでは、学生の課題提出等の印刷

年 2 月末）の教育用システムにより、PC 端末（1,400出力の要望に応えるためプリンタ統合管理機構台）およびプリンタ（26 台）を各学部等のサテラ

ApeosWare Management Suite（富士ゼロックス株式イト演習室（22 教室）に設置し情報教育に係る授会社製）（以下、「AWMS」【２】という。）を導入し業を支援するとともに、学生の自学自習のためにており、次の方針で運用している。

附属図書館、吉田南総合図書館、学術情報メディアセンター（南館、北館）等に OSL(Open SpaceLaboratory)を整備【１】している。
次期教育用システム（2018 年 3 月更新）の設計、



サテライト演習室は直接印刷方式

各サテライト演習室に設置の PC 端末からの印刷要求は、演習室のプリンタに直接印刷する。
OSL はオン・デマンド方式

仕様として、
学生所有 PC 端末の BYOD (Bring YourOSL に設置の PC 端末からの印刷要求は、一旦、Own Device)を基本に据えた情報教育環境の整備

AWMS にスプールし、OSL に設置のプリンタで、拡充を検討する方針のもと、2014 年度より、教育IC 学生証により認証、印刷するオン・デマンド方学修環境の抜本的な改革に向けたパイロット事業式を採用している。なお、有効期限を 1 日とし、を進めており、本 Web プリントシステム構築は、これを超えると削除する。

2015 年度に取組んだ事業の成果である。

年間 200 枚の印刷を保証

本稿では、まず、教育用システムの設計、運用

学生当り年間 200 枚までの印刷を保証し、超え方針および Web プリントシステム構築、導入の経た学生には、USB を介して生協等の有償プリン緯、課題を明らかにし、システムの基本設計、機ト・サービスを利用させている。

能設計、開発方針について述べ、運用状況を紹介するとともに、次期教育用システム調達に向けて取組んでいる BYOD に向けたネットワーク・プリントへの対応について報告する。

2.2 BYOD 環境におけるプリント・サービス
BYOD による教育学修環境の整備において、学生所有 PC 端末からの課題提出等の印刷要求に応えるために、市場調査等を実施し、実現方策の検討を進め、次のような先行事例を見つけた。
ドライバを介する印刷オン・デマンド方式のプリンタ名称を公開、学3 Web プリントシステムの構築
3.1 システム構成および基本方針

内ネットワークから印刷要求させる事例である。

図 1 に Web プリントシステムの構成を示す。

しかし、学生所有 PC 端末へのプリンタドライバ新規開発するのは、Web プリントサーバ（以下、の配布、インストール、ドライバを介した印刷方「サーバ」という。）であり、他の印刷ジョブのス法の周知、指導などのコストを考えると、本学でプール、オン・デマンド出力等の機能は、既設のの導入は困難であると判断した。

教育用システムで運用している AWMS を利用す

メールを介した印刷特定のメールアドレス宛てにメールすることで、る方針とした。

印刷する事例も見つけたが、メール本文のテキストしか印刷できないなどの制約があり、本学の要件には合致しないと判断した。
コンビニ・プリント機器と CAL 費用負担

3.2 Web プリントサーバの機能要件と処理フロー
図 2 に、開発したサーバの機能要件および処理フローと使用するプロトコルを示す。

次に、ネットワークを介して印刷要求を行いコンビニ店舗で印刷するプリント・サービスがあるので、これと同様な機能を備えた製品の導入を検討した。しかし、製品の印刷要求サーバが WindowsServer に実装されており、製品の購入費用とは別に CAL(Client Access License)の費用負担（約 5,600万円（登録利用者数×＠1,600 円））必要である事
実が判明、導入を断念した。
LINUX による独自開発を決断

本学の目的を達成するための現実的な解として
LINUX をベースとした独自開発を決めた。
すなわち、学生が Web ブラウザ経由で PDF 形式

図 2のファイルをアップロードし、印刷要求できる機能要件と処理フロー

Web プリントサーバを設計、開発する事で、学生所有 PC 端末からドライバレスで印刷要求を実現①するシステムの提供である。

利用者は、BYOD 端末から Web プリントサーバに接続し、学生アカント(ECS-ID)
および PASSWORD によりログインする。

②

ECS-ID、PASSWORD 情報をもとに本学の統合認証サーバ(LDAP)により利用者認証をおこなう。

③

利用者は、印刷するファイル名を選択、合わせて印刷属性情報（用紙サイズ、出力形式（固面、両面）、印刷部数など）を指定し、ファイルをアップロードする。

④

アップロードされたファイルに、プリントジョブ制御言語 XPJL【３】を用いて印刷情報を付加する。

図 1

システムの構成⑤lpr コマンドによりプリント要求する。

⑥

AWMS は、印刷要求をスプールする。

3.3 Web プリントサーバの機能設計および開発

(2)

3.3.1

利用者指定する用紙サイズ、部数、印刷形式（両サーバ要件およびソフトウエア

入力フィールド属性の適正化

サーバのハードウエア要件を表 1 に示す。サー面、片面）の選択など、入力フィード属性の設計

バは、教育システムの VMware ESXi で制御さに お い て は テ キ ス ト 入 力 を 止 め Chech Box,れる仮想マシンである。

Radio Box, Select Box に置換えることで、入力デ表 1
サーバ環境

CPU
メモリ
ディスクOS

サーバ要件

ータのサニタライズや入力値チェックなどのコー

Xeon 4コア
８GB
400GB
RedHat Enterprise Linux 6

ディングをシンプルにし、且つ、情報セキュリティのリスク低減を意図したものである。
(3)

頑張らない機能設計

開発プログラミング言語は、Java であり、実装アップロードされたファイルに拡張印刷情報をには HTML5, CSS, JavaScript を使用した。表２

付加し、AWMS に渡し、スプールさせる手段としに、ソフトウエアおよびライブラリを示す。

表 2

ソフトウエアおよびライブラリ[4],[5],[6]モジュール

ブラリを使って AWMS と LPD プロトコルにより直接通信する実装も考えられるが、異常検知やエApache HTTP Server

httpサーバ

Apache Tomcat 8

コンテナ

ラーのリカバリーが必須となり制御が複雑にな

Spring Boot

り、エラー発生のリスクも高まる。したがって、

Bootstrap

プログラミング言語
テンプレートエンジン、他
JavaScript/CSSライブラリ

jQueryJavaScriptライブラリ

ソフトウエアJava 8(Oracle JDK)
／ライブラリ

3.3.2

機 能ては、開発言語が Java であるので、Socket ライ

安全安心を意識した機能設計

本サーバのような機能を実現する Web アプリ
ケーション（以下、「Web アプリ」という。
）の機

複雑な制御を排除し、安全を最優先に考え、Linuxのプリントサーバである CUPS(Common Unix
Printing System)【７】を起動、リモートプリンタとして AWMS を定義、Web アプリでは、次のコマンド列を生成し、シェルを介して CPUS に印刷要求を投げる方式とした。

能設計において、検討すべき課題には、次のものが挙げられる。


情報セキュリティ対策



高信頼性確保

耐障害性強化これらを意図した機能設計における主な要点を紹介する。
(1)

ファイルの形式、サイズのチェック

アップロードファイルのサイズ制限およびファイル形式のチェックは、JavaScript によりクライアントサイドで完結する実装とした。これは制限を超える大きなファイルおよび扱わない PDF 形式以外のファイルをサーバサイドでチェックする

このような実装により、1)印刷要求は、ローカ
ルなプリントサーバ CUPS に一旦スプールされるので、AWMS が停止していても印刷要求は受付けられスプールされ、AWMS の起動後に CUPS が再送する。また、2)lpr コマンドと rm コマンドの逐次実行（セミコロン(；)）により拡張印刷情報を付加した一時ファイルは、要求の受領後、削除される。さらに、3）コマンド列をバックグランド（アンパサンド(＆)）に投入することで、Web アプリはシェル起動時間だけの占有で済み、非同期に印刷要求は処理される。

実装では、不要なアップロードのための処理コストの増大、さらに、ディスク容量の枯渇といった障害発生のリスクへの対処などの無駄な処理を排除、回避するための現実的な解である。

3.3.3

シンプルな画面設計、処理フロー

Web アプリの処理フローを図 3 に示し、設計した画面および遷移を図 4 に示す。

まず、ログイン画面にて ECS-ID、パスワード

3.4 サーバの運用と環境構築を入力し、Login ボタンが押されると、これらのWeb プリントサーバの運用環境構築においても入力データを元に利用者認証、セッション管理な

1)特定の IP アドレスからの集中的なアクセスをどのログイン処理を行う。ログイン処理が成功す

検知、フロックするオープンソース Fail2Ban【８】ると印刷要求画面に遷移する。

を導入、ログイン画面へのブルートフォース攻撃対策を施すとともに、2)オープンソースの統合監
視ソフトウエア Zabbix【９】を導入することで、障害検知の自動化を図り、高信頼性および耐障害性の強化を図ったシステム構築に努めた。

4 まとめ
学生所有 PC 端末の BYOD による教育学修環境
改革に向けたパイロット事業として開発、構築した Web プリントシステムの導入の経緯、高信頼性、耐障害性確保を重視する設計、開発方針を明らかにし、実装において施した工夫について報告した。

図 3

Web アプリの処理フロー

印刷要求画面にて、アップロードファイルの選択、用紙サイズなどの印刷属性の指定し、Printボタンが押されると、印刷処理を行い、結果を印刷要求画面のメッセージ領域で通知する。
Logout ボタンが押されるとセッションを開放し、ログイン画面に戻る。

本システムは、2016 年 5 月からサービス開始し、毎月一定数の利用者に活用され、これまでのところ特段の障害などは発生していない。
次期教育用システムでは、プリンタの導入を止め、これに代わるサービスとして生協によるクラウド・プリント・サービスの活用を協議しており、試行サービスも始められている。
【謝辞】
本システムの開発、構築は、富士ゼロックス
株式会社

ソリューション・サービス営業本部

西日本ソリューション技術部によるものである。
色々とご尽力頂いたことに、深謝します。
【参考文献】

図 4

画面の設計と遷移[1] 教育用システムの PC 端末の配置
http://www.iimc.kyoto-u.ac.jp/ja/services/ecs/terminal/[2] ApeosWare Management Suite
http://www.fujixerox.co.jp/product/software/[3] XPJL
https://www.fujixerox.co.jp/solution/dsp/product/printing/[4] CUPS
https://www.cups.org/[5] Spring boothttps://projects.spring.io/spring-boot/[6] BootStrap
http://getbootstrap.com/[7] JQuery
http://jquery.com/[8] Fail2Ban
http://www.fail2ban.org/[9] zabbix
http://www.zabbix.com/jp/product.php