IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ チエル株式会社の特許一覧

特開2022-28369データ送受信システム、データ送受信方法、データ受信装置、データ受信方法、及びデータ受信プログラム
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022028369
(43)【公開日】2022-02-16
(54)【発明の名称】データ送受信システム、データ送受信方法、データ受信装置、データ受信方法、及びデータ受信プログラム
(51)【国際特許分類】
   G06Q 50/20 20120101AFI20220208BHJP
   G06F 13/00 20060101ALI20220208BHJP
   G09B 19/00 20060101ALI20220208BHJP
【FI】
G06Q50/20
G06F13/00 520R
G09B19/00 Z
【審査請求】未請求
【請求項の数】14
【出願形態】OL
(21)【出願番号】P 2020131724
(22)【出願日】2020-08-03
(71)【出願人】
【識別番号】506404094
【氏名又は名称】チエル株式会社
(74)【代理人】
【識別番号】100078776
【弁理士】
【氏名又は名称】安形 雄三
(74)【代理人】
【識別番号】100200333
【弁理士】
【氏名又は名称】古賀 真二
(74)【代理人】
【識別番号】100121887
【弁理士】
【氏名又は名称】菅野 好章
(72)【発明者】
【氏名】本部 景一
【テーマコード(参考)】
5B084
5L049
【Fターム(参考)】
5B084AA02
5B084AA12
5B084AA30
5B084AB01
5B084AB31
5B084BA06
5B084BB13
5B084BB18
5B084CD08
5B084CD13
5B084CD22
5B084DC03
5L049CC34
(57)【要約】
【課題】ネットワークを介したレポートの提出において、通信時間の増大を考慮して公平な期限管理を行うことが可能なデータ送受信システム及び方法並びにデータ受信装置、方法及びプログラムを提供する。
【解決手段】データ送信装置とデータ受信装置とを備えるデータ送受信システムであって、データ送信装置が、識別情報を保持する識別情報部と、第1データ特有値を生成するデータ特有値生成部と、第1識別情報と第1データ特有値を送信する第1送信部と、第2識別情報とデータを送信する第2送信部とを具備し、第1データ特有値の送信の後に、データの送信を行い、データ受信装置が、日時情報を取得する第1受信処理部と、第1識別情報、第1データ特有値及び日時情報を記憶する記憶部と、データに基づいて第2データ特有値を生成し、第1データ特有値と第2データ特有値が一致する場合、対応する日時情報を提出日時と認定する第2受信処理部とを具備する。
【選択図】図10
【特許請求の範囲】
【請求項1】
提出期限が設定されているデータを、ネットワークを介して送信するデータ送信装置と、前記データを受信するデータ受信装置とを備えるデータ送受信システムであって、
前記データ送信装置が、
前記データを識別するための識別情報を保持する識別情報部と、
前記データに基づいて、前記データに特有な値であるデータ特有値を生成して第1データ特有値とするデータ特有値生成部と、
前記識別情報を第1識別情報とし、前記第1識別情報と共に前記第1データ特有値を送信する第1送信部と、
前記識別情報を第2識別情報とし、前記第2識別情報と共に前記データを送信する第2送信部とを具備し、
前記第1データ特有値の送信の後に、前記データの送信を行い、
前記データ受信装置が、
前記第1データ特有値及び前記第1識別情報を受信し、前記第1データ特有値の送受信に関連する日時情報を取得する第1受信処理部と、
前記第1識別情報、前記第1データ特有値及び前記日時情報を対応付けて記憶する記憶部と、
前記データ及び前記第2識別情報を受信して、受信した前記データに基づいて前記データ特有値を生成して第2データ特有値とし、前記記憶部に記憶されている前記第1識別情報のうち、前記第2識別情報と同じ値である前記第1識別情報に対応する前記第1データ特有値と前記第2データ特有値とを比較し、前記第1データ特有値と前記第2データ特有値が一致する場合、対応する前記日時情報を提出日時と認定する第2受信処理部とを具備することを特徴とするデータ送受信システム。
【請求項2】
前記データ特有値が、前記データが大容量の場合でも小容量で生成される値である請求項1に記載のデータ送受信システム。
【請求項3】
前記データ特有値がハッシュ値である請求項2に記載のデータ送受信システム。
【請求項4】
前記日時情報が、前記第1受信処理部が前記第1データ特有値を受信した日時である請求項1乃至3のいずれかに記載のデータ送受信システム。
【請求項5】
前記データ受信装置が、前記第2受信処理部での前記第1データ特有値と前記第2データ特有値との比較の結果を、前記第1データ特有値を送信した前記データ送信装置に送信する請求項1乃至4のいずれかに記載のデータ送受信システム。
【請求項6】
前記データ受信装置が、前記第1受信処理部が受信した前記第1データ特有値を、前記第1データ特有値を送信した前記データ送信装置に返信する請求項1乃至5のいずれかに記載のデータ送受信システム。
【請求項7】
前記第1受信処理部が、前記日時情報が前記提出期限を過ぎているか否かを判定する請求項1乃至6のいずれかに記載のデータ送受信システム。
【請求項8】
提出期限が設定されているデータを、ネットワークを介して送信するデータ送信装置と、前記データを受信するデータ受信装置とを備えるデータ送受信システムにおいて実行されるデータ送受信方法であって、
前記データ送信装置が、
前記データを識別するための識別情報を保持する保持ステップと、
前記データに基づいて、前記データに特有な値であるデータ特有値を生成して第1データ特有値とするデータ特有値生成ステップと、
前記識別情報を第1識別情報とし、前記第1識別情報と共に前記第1データ特有値を送信する第1送信ステップと、
前記第1送信ステップの後に、前記識別情報を第2識別情報とし、前記第2識別情報と共に前記データを送信する第2送信ステップとを実行し、
前記データ受信装置が、
前記第1データ特有値及び前記第1識別情報を受信し、前記第1データ特有値の送受信に関連する日時情報を取得する第1受信処理ステップと、
前記第1識別情報と対応付けて前記第1データ特有値及び前記日時情報を記憶部に記憶する記憶ステップと、
前記データ及び前記第2識別情報を受信して、受信した前記データに基づいて前記データ特有値を生成して第2データ特有値とし、前記記憶部に記憶されている前記第1識別情報のうち、前記第2識別情報と同じ値である前記第1識別情報に対応する前記第1データ特有値と前記第2データ特有値とを比較し、前記第1データ特有値と前記第2データ特有値が一致する場合、対応する前記日時情報を提出日時と認定する第2受信処理ステップとを実行することを特徴とするデータ送受信方法。
【請求項9】
提出期限が設定されているデータを、ネットワークを介して受信するデータ受信装置であって、
前記データに特有な値で、前記データに基づいて生成されるデータ特有値である第1データ特有値を、前記データを識別するための識別情報である第1識別情報と共に受信し、前記第1データ特有値の送受信に関連する日時情報を取得する第1受信処理部と、
前記第1識別情報、前記第1データ特有値及び前記日時情報を対応付けて記憶する記憶部と、
前記第1データ特有値の送信の後に送信される前記データを、前記識別情報である第2識別情報と共に受信して、受信した前記データに基づいて前記データ特有値を生成して第2データ特有値とし、前記記憶部に記憶されている前記第1識別情報のうち、前記第2識別情報と同じ値である前記第1識別情報に対応する前記第1データ特有値と前記第2データ特有値とを比較し、前記第1データ特有値と前記第2データ特有値が一致する場合、対応する前記日時情報を提出日時と認定する第2受信処理部とを備えることを特徴とするデータ受信装置。
【請求項10】
前記データ特有値が、前記データが大容量の場合でも小容量で生成される値である請求項9に記載のデータ受信装置。
【請求項11】
前記データ特有値がハッシュ値である請求項10に記載のデータ受信装置。
【請求項12】
前記日時情報が、前記第1受信処理部が前記第1データ特有値を受信した日時である請求項9乃至11のいずれかに記載のデータ受信装置。
【請求項13】
提出期限が設定されているデータを、ネットワークを介して受信するデータ受信方法であって、
前記データに特有な値で、前記データに基づいて生成されるデータ特有値である第1データ特有値を、前記データを識別するための識別情報である第1識別情報と共に受信し、前記第1データ特有値の送受信に関連する日時情報を取得する第1受信ステップと、
前記第1識別情報と対応付けて前記第1データ特有値及び前記日時情報を記憶部に記憶する記憶ステップと、
前記第1データ特有値の送信の後に送信される前記データを、前記識別情報である第2識別情報と共に受信して、受信した前記データに基づいて前記データ特有値を生成して第2データ特有値とし、前記記憶部に記憶されている前記第1識別情報のうち、前記第2識別情報と同じ値である前記第1識別情報に対応する前記第1データ特有値と前記第2データ特有値とを比較し、前記第1データ特有値と前記第2データ特有値が一致する場合、対応する前記日時情報を提出日時と認定する第2受信処理ステップとを有することを特徴とするデータ受信方法。
【請求項14】
コンピュータに、請求項13記載のデータ受信方法を実行させるためのデータ受信プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ファイル等のデータを送受信及び受信する技術に関し、特に提出期限が設定されている宿題やレポート等のデータを、ネットワークを介して送受信及び受信する技術に関する。
【背景技術】
【0002】
近年、教育現場では「教育の情報化」の流れが進んでおり、ICT(Information and Communication Technology(情報通信技術))の発達に伴い、益々その流れが加速しており、ICTを活用した遠隔授業の実施も広く議論されている。遠隔授業は、大手予備校や学習塾において実施しているところがあり、大学等においても社会人のための講義に活用しているところがある。
【0003】
遠隔授業において、学生や受講生に課される宿題や課題等(以下、単に「課題」とする)に対するレポートは、通常、電子化されたデータの形で、インターネット等のネットワークを介して、オンラインで提出される。レポートのオンラインでの提出(以下、「オンライン提出」とする)は、遠隔授業に限らず、対面で行なわれる大学の講義等において出される課題に対するレポートの提出にも採用されている。特に、昨今ではスマートフォンが幅広く普及しており、パソコンは所有していなくても、スマートフォンは所有している学生もおり、オンライン提出を可能としている。
【0004】
提出すべきレポートには、通常、提出期限が設定されている。オンライン提出の場合も提出期限が設定され、学生や受講生は提出期限までにレポートを、ネットワークを介して提出することになる。この場合、レポートが期限通りに提出されたか等の期限の管理(以下、「期限管理」とする)は、学生や受講生の成績や評価への影響が大きいので、的確に行う必要がある。
【0005】
例えば、特開2002-297011号公報(特許文献1)では、遠隔教育システムの機能の1つとして、期限管理を行っている。特許文献1に記載の遠隔教育システムは、大学等の教育機関と個人との間をインターネット等の通信ネットワークを介して結んだシステムで、講義に関連した動画や音声データを含む講義パッケージの配信可能期間や講義に関連した電子掲示板への書込可能期間が設定されている。講義に関連したレポートや小テスト等の課題に関しても、受講生が提出する期限が設けられている。受講生は、自身のパソコンの画面に表示されるレポートのテーマや小テストの設問及び提出期限を確認し、回答データをセンターサーバに送信する。この際、受講生から回答データが送信された時点で、既に提出期限を経過している場合、回答データの受領が拒否される。
【0006】
また、特開2015-125688号公報(特許文献2)では、学生によって提出されたレポートデータの管理方法に関する技術が開示されている。特許文献2に記載のシステムは、提出されたレポートの期限内提出、期限外提出を管理しており、学生端末から提出されるレポートファイルのレポート受付終了日時を設定し、レポートがレポート受付終了日時までに提出されたか否かを判定している。そして、レポートファイルがレポート受付終了日時までに提出されたと判定した場合は、提出期限内ファイルとして保存し、レポート受付終了日時よりも後に提出された場合は、提出期限外ファイルとして保存する。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2002-297011号公報
【特許文献2】特開2015-125688号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかしながら、レポートの中には、近年、画像や動画等を付けて提出されるものが増えてきており、総データ量が数百Mバイト以上のような大容量となるものがある。そのような大容量のデータを、家庭内や移動中及び外出先等でネットワークを介して通信する場合、通信環境に起因するトラブルが発生することがある。トラブルの1つとして、通信時間の問題がある。ネットワークの通信速度は年々高速化しているが、それでも、アクセス集中によるトラフィックの増大、端末に直接繋がる回線の速度等に起因して、大容量データを通信するのに時間がかかることがある。また、スマートフォン等の契約内容によっては、月毎にネットワークによる通信を高速で利用できるデータ容量に上限が設定され、その上限を超えた場合には通信速度に制限がかかり、低速になってしまうことがある。契約の締め日(通常は毎月最終日)近くでこの制限がかかることが多いので、レポートの提出期限が契約の締め日近くに設定され、期限間際での提出となってしまった場合、レポートの送信に支障が生じることがあり、最悪の場合、レポートの提出が間に合わないおそれがある。
【0009】
本発明は上述のような事情よりなされたものであり、本発明の目的は、ネットワークを介したレポートの提出において、通信時間の増大を考慮して公平な期限管理を行うことが可能なデータ送受信システム、データ送受信方法、データ受信装置、データ受信方法、及びデータ受信プログラムを提供することにある。
【課題を解決するための手段】
【0010】
本発明は、提出期限が設定されているデータを、ネットワークを介して送信するデータ送信装置と、前記データを受信するデータ受信装置とを備えるデータ送受信システムに関し、本発明の上記目的は、前記データ送信装置が、前記データを識別するための識別情報を保持する識別情報部と、前記データに基づいて、前記データに特有な値であるデータ特有値を生成して第1データ特有値とするデータ特有値生成部と、前記識別情報を第1識別情報とし、前記第1識別情報と共に前記第1データ特有値を送信する第1送信部と、前記識別情報を第2識別情報とし、前記第2識別情報と共に前記データを送信する第2送信部とを具備し、前記第1データ特有値の送信の後に、前記データの送信を行い、前記データ受信装置が、前記第1データ特有値及び前記第1識別情報を受信し、前記第1データ特有値の送受信に関連する日時情報を取得する第1受信処理部と、前記第1識別情報、前記第1データ特有値及び前記日時情報を対応付けて記憶する記憶部と、前記データ及び前記第2識別情報を受信して、受信した前記データに基づいて前記データ特有値を生成して第2データ特有値とし、前記記憶部に記憶されている前記第1識別情報のうち、前記第2識別情報と同じ値である前記第1識別情報に対応する前記第1データ特有値と前記第2データ特有値とを比較し、前記第1データ特有値と前記第2データ特有値が一致する場合、対応する前記日時情報を提出日時と認定する第2受信処理部とを具備することにより達成される。
【0011】
また、本発明は、提出期限が設定されているデータを、ネットワークを介して送信するデータ送信装置と、前記データを受信するデータ受信装置とを備えるデータ送受信システムにおいて実行されるデータ送受信方法に関し、本発明の上記目的は、前記データ送信装置が、前記データを識別するための識別情報を保持する保持ステップと、前記データに基づいて、前記データに特有な値であるデータ特有値を生成して第1データ特有値とするデータ特有値生成ステップと、前記識別情報を第1識別情報とし、前記第1識別情報と共に前記第1データ特有値を送信する第1送信ステップと、前記第1送信ステップの後に、前記識別情報を第2識別情報とし、前記第2識別情報と共に前記データを送信する第2送信ステップとを実行し、前記データ受信装置が、前記第1データ特有値及び前記第1識別情報を受信し、前記第1データ特有値の送受信に関連する日時情報を取得する第1受信処理ステップと、前記第1識別情報と対応付けて前記第1データ特有値及び前記日時情報を記憶部に記憶する記憶ステップと、前記データ及び前記第2識別情報を受信して、受信した前記データに基づいて前記データ特有値を生成して第2データ特有値とし、前記記憶部に記憶されている前記第1識別情報のうち、前記第2識別情報と同じ値である前記第1識別情報に対応する前記第1データ特有値と前記第2データ特有値とを比較し、前記第1データ特有値と前記第2データ特有値が一致する場合、対応する前記日時情報を提出日時と認定する第2受信処理ステップとを実行することにより達成される。
【0012】
また、本発明は、提出期限が設定されているデータを、ネットワークを介して受信するデータ受信装置に関し、本発明の上記目的は、前記データに特有な値で、前記データに基づいて生成されるデータ特有値である第1データ特有値を、前記データを識別するための識別情報である第1識別情報と共に受信し、前記第1データ特有値の送受信に関連する日時情報を取得する第1受信処理部と、前記第1識別情報、前記第1データ特有値及び前記日時情報を対応付けて記憶する記憶部と、前記第1データ特有値の送信の後に送信される前記データを、前記識別情報である第2識別情報と共に受信して、受信した前記データに基づいて前記データ特有値を生成して第2データ特有値とし、前記記憶部に記憶されている前記第1識別情報のうち、前記第2識別情報と同じ値である前記第1識別情報に対応する前記第1データ特有値と前記第2データ特有値とを比較し、前記第1データ特有値と前記第2データ特有値が一致する場合、対応する前記日時情報を提出日時と認定する第2受信処理部とを備えることにより達成される。
【0013】
また、本発明は、提出期限が設定されているデータを、ネットワークを介して受信するデータ受信方法に関し、本発明の上記目的は、前記データに特有な値で、前記データに基づいて生成されるデータ特有値である第1データ特有値を、前記データを識別するための識別情報である第1識別情報と共に受信し、前記第1データ特有値の送受信に関連する日時情報を取得する第1受信ステップと、前記第1識別情報と対応付けて前記第1データ特有値及び前記日時情報を記憶部に記憶する記憶ステップと、前記第1データ特有値の送信の後に送信される前記データを、前記識別情報である第2識別情報と共に受信して、受信した前記データに基づいて前記データ特有値を生成して第2データ特有値とし、前記記憶部に記憶されている前記第1識別情報のうち、前記第2識別情報と同じ値である前記第1識別情報に対応する前記第1データ特有値と前記第2データ特有値とを比較し、前記第1データ特有値と前記第2データ特有値が一致する場合、対応する前記日時情報を提出日時と認定する第2受信処理ステップとを有することにより達成される。
【0014】
さらに、本発明の上記目的は、上記のデータ受信方法を実行させるためのデータ受信プログラムにより達成される。
【発明の効果】
【0015】
本発明のデータ送受信システム、データ送受信方法、データ受信装置、データ受信方法、及びデータ受信プログラムによれば、提出期限が設定されているレポートのデータではなく、そのデータに基づいて生成されるデータ特有値の送受信で提出日時を認定しているので、大容量データの通信時間の長さによる提出日時の遅れを軽減することができる。また、送信されるデータ特有値と、その後に送信されるレポートのデータから生成されるデータ特有値との一致を確認することにより、送信されたデータに変更が加えられていないことを判断することができる。
【図面の簡単な説明】
【0016】
図1】本発明に係るデータ送受信システムの構成例を示す図である。
図2】データ送受信システムの動作手順例の概要を示すシーケンス図である。
図3】学生用端末の構成例を示すブロック図である。
図4】進捗テーブルの例を示すイメージ図である。
図5】レポートの進捗状況を表示する学生用端末の画面の一部の例を示す図である。
図6】認証処理での学生用端末の動作例を示すフローチャートである。
図7】仮提出処理での学生用端末の動作例を示すフローチャートである。
図8】レポート提出処理での学生用端末の動作例を示すフローチャートである。
図9】レポートの進捗状況表示での学生用端末の動作例を示すフローチャートである。
図10】サーバの構成例を示すブロック図である。
図11】管理テーブルの例を示すイメージ図である。
図12】認証処理でのサーバの動作例を示すフローチャートである。
図13】仮提出処理でのサーバの動作例を示すフローチャートである。
図14】レポート提出処理でのサーバの動作例の一部を示すフローチャートである。
図15】レポート提出処理でのサーバの動作例の一部を示すフローチャートである。
図16】管理情報取得処理でのサーバの動作例を示すフローチャートである。
図17】教員用端末の構成例を示すブロック図である。
図18】レポートの提出状況を表示する教員用端末の画面の一部の例を示す図である。
図19】仮提出処理での教員用端末の動作例を示すフローチャートである。
図20】レポート提出処理での教員用端末の動作例の一部を示すフローチャートである。
図21】レポート提出処理での教員用端末の動作例の一部を示すフローチャートである。
図22】管理情報取得処理での教員用端末の動作例を示すフローチャートである。
図23】認証システムを用意した場合の認証処理及び仮提出処理での動作手順例の概要を示すシーケンス図である。
【発明を実施するための形態】
【0017】
本発明では、学生や受講生(以下、単に「学生」とする)が、インターネット等のネットワークを介して、提出期限が設定されているレポートのデータ(以下、「レポートデータ」とする)を、共用のサーバ等のデータ受信装置に送信する場合の提出日時の認定に、レポートデータに基づいて生成される、レポートデータに特有な値であるデータ特有値を使用する。データ特有値は、元のデータが数百Mバイト以上のような大容量の場合でも、数Kバイト以下のような小容量で生成される値である。また、元のデータに変更が加えられた場合、変更前のデータから生成されるデータ特有値と変更後のデータから生成されるデータ特有値は異なる値となる。元のデータに変更が加えられなければ、データ特有値は常に同じ値となる。
【0018】
本発明では、レポートデータの送信の前に、データ特有値(第1データ特有値)をデータ受信装置に送信する。データ受信装置は、データ特有値の受信日時等、データ特有値の送受信に関連する日時(日時情報)をレポートの仮の提出日時とする(以下、「仮提出日時」とする)。レポートデータ本体は、データ特有値の送信後、データ受信装置に送信される。レポートデータを受信したデータ受信装置は、受信したレポートデータからデータ特有値(第2データ特有値)を生成し、先に受信したデータ特有値と比較し、両者が一致した場合、レポートデータに変更が加えられていないと判断し、仮提出日時を正式な提出日時と認定する。
【0019】
このように、本発明では、小容量のデータ特有値の送受信に関連する日時を基に提出日時を認定するので、通信速度の制限等によりネットワークの通信速度が遅い場合でも、データ特有値の通信は短時間で可能で、通信時間が長時間になることによる提出日時の遅れや送信エラー等のトラブルを回避することができる。また、レポートの提出は、提出期限が過ぎた後でも、教員や講師(以下、単に「教員」とする)の許容範囲内での時間で提出可能とできるので、通信速度の制限がかかっていないときに送信する等、学生の状況を考慮した提出が可能となる。さらに、データ特有値の一致をもって提出日時を正式に認定するので、レポートの改竄等を防止することができる。
【0020】
なお、本発明は、データ特有値の生成及び送信並びにレポートデータの送信を行うデータ送信装置と上述の処理を行うデータ受信装置を備えるデータ送受信システムを対象として実現しても、上述の処理を行うデータ受信装置を対象として実現しても良い。後者の場合、データ特有値の生成及び送信並びにレポートデータの送信を行う装置として、既存製品等を利用しても良い。
【0021】
以下に、本発明の実施の形態を、図面を参照して説明する。
【0022】
図1に、本発明に係るデータ送受信システムの構成例を示す。本実施形態のデータ送受信システム1は、学生が使用する学生用端末(データ送信装置)2、学生が提出するレポートを管理するサーバ(データ受信装置)3、及び、教員が使用する教員用端末4を備え、それらが、インターネット等で構成されるネットワーク5を介して接続される。
【0023】
本実施形態では、データ特有値としてハッシュ値を使用する。ハッシュ値とは、元になるデータから一定の計算手順により求められる固定長の値のことで、ハッシュ値を求めるための計算手順のことをハッシュ関数という。ハッシュ値は元のデータの長さによらず一定の長さとなり、同じデータからは必ず同じハッシュ値が得られる。実用上は数バイトから数十バイト程度の長さのハッシュ値を使用することが多いので、レポートデータが大容量の場合でも、レポートデータから得られるハッシュ値の容量は小さい。ハッシュ関数の中には、暗号的な性能を付け加えた暗号学的ハッシュ関数と呼ばれるものがあり、本実施形態では、暗号学的ハッシュ関数を使用してハッシュ値を求める。暗号学的ハッシュ関数から求められるハッシュ値は、入力値が1ビットでも変化すると、ハッシュ値は全く異なる値になる。よって、レポートデータから求められたハッシュ値を送信した後に、レポートデータに変更を加えて送信した場合、送信されたレポートデータから求められたハッシュ値は、事前に送信されたハッシュ値と異なる値になるので、レポートに変更が加えられたことを検知することができる。暗号学的ハッシュ関数は、「ハッシュ値から元のデータを推測するのは非常に困難である」、「ある入力値から求められたハッシュ値が与えられたとき、そのハッシュ値をもつ別の入力値を見つけることは非常に困難である(弱衝突耐性)」、「同じハッシュ値となる、異なる2つの入力値を見つけることは非常に困難である(強衝突耐性)」という性質も備えているので、暗号化や認証、デジタル署名等のセキュリティ技術の要素技術として応用されており、標準規格も定められている。その標準規格のうち、本実施形態では、SHA(Secure Hash Algorithm)-2を使用する。
【0024】
なお、弱衝突耐性や強衝突耐性まで求めずにレポート提出の管理を行っても良い場合等では、暗号学的ハッシュ関数ではないハッシュ関数を使用しても良い。それよりも更に厳密な管理でなくても良い場合には、ハッシュ値以外、例えばチェックサム等をデータ特有値として使用しても良い。
【0025】
データ送受信システム1は、複数の学生に対して複数の教員から課される複数の課題に対するレポートデータを管理する。各学生には識別するための学生IDが付与されており、各教員には識別するための教員IDが付与されており、各課題には識別するための課題IDが付与されている。学生ID、教員ID及び課題IDとして番号や記号を使用する以外に、学生名、教員名及び課題名を使用しても良い。データ送受信システム1が管理する各レポートデータは、学生ID、教員ID及び課題IDを特定することにより区別することができる。なお、教員間で重複する課題IDを使用しない場合や、データ送受信システム1を使用する教員は同時期に1人とする場合等では、教員IDは、レポートデータを区別するためには必要ではないので、省略可能である。また、データ送受信システム1が管理対象とする課題は同時期に1つとする場合等では、課題IDは、レポートデータを区別するためには必要ではないので、省略可能である。
【0026】
学生用端末2は、パソコン、タブレット、スマートフォン等の通信機能を有する汎用の情報機器で構成されており、学生用端末2に搭載された専用のアプリケーション(アプリケーションプログラム)、または、専用のアプリケーションと汎用のアプリケーションの組み合わせ等により、後述の機能を実行する。学生用端末2として、汎用の情報機器ではなく、専用機器を使用しても良い。また、学生用端末2が実行する機能の一部を、サーバ3へのWebアクセスで実現しても良い。
【0027】
学生用端末2は、学生が作成したレポートデータからハッシュ値を求め、ネットワーク5を介して、サーバ3に送信する。ハッシュ値を送信した後、レポートデータを、ネットワーク5を介して、サーバ3に送信する。また、学生用端末2を使用する学生からの要求に従い、レポートを提出すべき各課題の進捗状況を表示する。学生用端末2は、基本的には学生毎に用意されるが、1つの学生用端末2を複数の学生が共用しても良い。
【0028】
複数のレポートデータをサーバ3は受信するので、受信したレポートデータを識別するためには、上述のように、学生ID、教員ID及び課題IDが必要となる。しかし、学生IDは、通常、秘匿されておらず、本人以外の第三者が使用し、偽装される可能性がある。そこで、データ送受信システム1では、学生用端末2からサーバ3へのレポートデータの送信において、学生IDの代わりに、アクセストークンを使用する。アクセストークンは、Webサービスにおいて広く使用されており、Webサービスを利用するために、認証局がユーザーを認証するために払い出す認証情報のことであり、通常、一定の長さを有するランダムな英数字で払い出される。認証局とは、ユーザーを認証する情報を保持し、ユーザーを認証することができるWebサーバのことであり、サーバ3がその役割を果たす。サーバ3は、学生ID及び予め設定されたパスワードに基づいて、ユーザーである学生を認証する。学生用端末2は、学生ID及びパスワードをサーバ3に送信し、サーバ3は、送信された学生ID及びパスワードに基づいて認証を行う。正式なユーザーであると認証した場合、アクセストークンを生成し、学生用端末2に送信する。このように、学生用端末2からサーバ3へのレポートデータの送信では、アクセストークン、教員ID及び課題IDが、レポートデータを識別するための識別情報として使用される。なお、アクセストークン、教員ID及び課題IDは、学生用端末2からサーバ3へのハッシュ値の送信においても、識別情報として使用される。また、教員ID及び課題IDが省略可能の場合は、アクセストークンのみが識別情報として使用される。学生用端末2の詳細については、後述する。
【0029】
サーバ3は、レポートを提出する学生の認証、学生用端末2から送信されるハッシュ値及びレポートデータの管理、レポートデータ及び管理している情報(以下、「管理情報」とする)の教員用端末4への提供等を行う。サーバ3として、汎用の装置を使用し、サーバ3に搭載された専用のアプリケーション、または、専用のアプリケーションと汎用のアプリケーションの組み合わせ等により、上記のことを行う。サーバ3として、汎用の装置ではなく、専用装置を使用しても良い。また、サーバ3をシステム毎に用意するのではなく、サーバ3の機能をクラウドサービスとして提供しても良い。サーバ3の詳細については、後述する。
【0030】
教員用端末4は、学生用端末2と同様に、パソコン、タブレット、スマートフォン等の通信機能を有する汎用の情報機器で構成されており、教員用端末4に搭載された専用のアプリケーション、または、専用のアプリケーションと汎用のアプリケーションの組み合わせ等により、サーバ3から送信されるレポートデータの受信、サーバ3が保有する管理情報の表示等を行う。学生用端末2の場合と同様に、教員用端末4として、汎用の情報機器ではなく、専用機器を使用しても良く、教員用端末4が実行する機能の一部を、サーバ3へのWebアクセスで実現しても良い。また、教員用端末4を、教員毎に用意しても、共用として用意しても良い。教員用端末4の詳細については、後述する。
【0031】
このように構成されるデータ送受信システム1において、学生用端末2、サーバ3及び教員用端末4間でのデータの送受信を中心とした動作手順について、その概要を説明する。
【0032】
図2は、データ送受信システム1の動作手順例の概要を示すシーケンス図である。与えられた課題に対するレポートを完成した学生は、学生用端末2を使用して、レポートデータのハッシュ値及びレポートデータをサーバ3に送信する。課題を与えた教員は、教員用端末4を使用して、サーバ3に送信されたレポートデータを取得する。なお、図示していないが、サーバ3には、学生ID及びパスワードが対応付けて事前に記憶されており、更に、教員が課題を設定した時点で、教員ID、課題ID及び提出期限が対応付けて記憶される。また、教員用端末4には教員IDが事前に記憶されている。
【0033】
図2(A)は、学生を正式なユーザーであると認証するための処理(以下、「認証処理」とする)、及び、レポートデータのハッシュ値の送受信を行い、仮提出日時を決定する処理(以下、「仮提出処理」とする)での動作手順例を示すシーケンス図である。
【0034】
まず、学生用端末2は、学生ID及びパスワードを入力し、サーバ3に送信する(ステップS1)。サーバ3は、受信した学生ID及びパスワードに基づいて認証を行い、正式なユーザーであると認証した場合、アクセストークンを生成し、認証結果と共に、学生用端末2に送信する。正式なユーザーであると認証しなかった場合は、認証結果としてエラーを学生用端末2に送信する。学生用端末2は、受信したアクセストークンを記憶する。サーバ3は、生成したアクセストークンを、学生ID及びパスワードと対応付けて記憶する。
【0035】
次に、学生用端末2は、与えられた課題に対する教員ID及び課題ID並びにレポートデータを入力し、レポートデータに対するハッシュ値を求め、アクセストークン、教員ID及び課題IDと共に、サーバ3に送信する(ステップS2)。
【0036】
サーバ3は、記憶しているアクセストークン、教員ID及び課題IDの中から、受信したアクセストークン、教員ID及び課題IDを選定し、それらに対応付けてハッシュ値を記憶し、更に、それらを受信した日時を特定し、日時情報として、同じく対応付けて記憶する。この日時情報が仮提出日時となる。そして、ハッシュ値を受信したことを教員用端末4に知らせるために、そのことを知らせる通知(以下、「仮提出通知」とする)を、受信したアクセストークンに対応する学生ID及び課題IDと共に教員用端末4に送信する(ステップS3)。更に、日時情報と提出期限を比較し、仮提出日時が提出期限を過ぎているか否かの調査結果を、受信結果として、受信したハッシュ値及び特定した日時情報と共に学生用端末2に送信する。学生用端末2は、受信結果を確認すると共に、受信したハッシュ値と送信したハッシュ値とを比較することにより、ハッシュ値の送受信が正しく行われたかを確認する。受信した日時情報は、進捗状況の確認のために保持する。なお、ハッシュ値の送受信が正しく行われたかを確認する必要がない場合や他の手段で確認する場合等では、サーバ3から学生用端末2へのハッシュ値の送信は不要である。また、日時情報を表示して提出期限を過ぎているか確認してもらう場合は、提出期限を過ぎているか否かの調査は不要である。
【0037】
図2(B)は、レポートデータの送受信を行う処理(以下、「レポート提出処理」とする)の動作手順例を示すシーケンス図である。
【0038】
学生用端末2は、仮提出処理を行った後、仮提出処理の対象とした課題に対する教員ID、課題ID及びレポートデータを、記憶したアクセストークンと共に、サーバ3に送信する(ステップS4)。
【0039】
サーバ3は、受信したレポートデータに対するハッシュ値を求め、記憶していたハッシュ値の中から、受信したアクセストークン、教員ID及び課題IDに対応するハッシュ値を取り出し、求めたハッシュ値と比較する。両ハッシュ値が一致する場合、レポートデータには変更が加えられていないと判断し、レポートデータを記憶し、記憶した場所(例えば、メモリアドレス、ファイル名等)(以下、「格納情報」とする)を、アクセストークン、教員ID及び課題IDと対応付けて記憶する。そして、仮提出日時とされていた日時情報を正式な提出日時と認定する。両ハッシュ値が一致しない場合は、レポートデータに変更が加えられたと判断し、レポートデータは記憶しない。両ハッシュ値の比較結果は、学生用端末2に送信される。また、両ハッシュ値が一致する場合、レポートデータを受信したことを教員用端末4に知らせるために、そのことを知らせる通知(以下、「レポート提出通知」とする)を、受信したアクセストークンに対応する学生ID及び課題IDと共に教員用端末4に送信する(ステップS5)。なお、両ハッシュ値が一致しない場合も、受信したレポートデータを記憶し、そのことを教員用端末4に知らせるようにしても良い。
【0040】
レポート提出通知を受信した教員用端末4は、その通知に対応するレポートデータを取得するために、学生ID、教員ID及び課題IDをサーバ3に送信する(ステップS6)。サーバ3は、受信した学生ID、教員ID及び課題IDに対応する格納情報を基にレポートデータを特定し、教員用端末4に送信する。レポート提出通知の受信前に教員用端末4がレポートデータの取得を要求する等、取得すべきレポートデータがサーバ3に記憶されていない場合、サーバ3は、レポートデータの代わりにエラーを教員用端末4に送信する。なお、サーバ3が、レポート提出通知と同時にレポートデータを教員用端末4に送信するようにしても良い。この場合、上記エラーは発生しない。
【0041】
図2(C)は、管理情報の送受信を行う処理(以下、「管理情報取得処理」とする)の動作手順例を示すシーケンス図である。
【0042】
教員は自分が与えた課題の進捗状況を確認するために、教員用端末4を介して、サーバ3が保有する管理情報を取得する。教員用端末4は、教員IDをサーバ3に送信する(ステップS7)。サーバ3は、保有する管理情報のうち、受信した教員IDに対応する学生ID、課題ID、日時情報及び状態IDを教員用端末4に送信する。状態IDは、レポートの提出状況に応じて割り当てられた値である。
【0043】
学生用端末2の詳細について説明する。
【0044】
図3は、学生用端末2の構成例を示すブロック図である。学生用端末2として汎用の情報機器を使用しており、図3には、本発明に関わる構成要素のみを示している。このことは、後述のサーバ3及び教員用端末4の構成例を示す図10及び図17においても同様である。
【0045】
学生用端末2は、識別情報取得部21、識別情報記憶部22、データ特有値生成部23、送信部24(第1送信部)及び25(第2送信部)、送信結果確認部26、進捗テーブル記憶部27並びに進捗情報取得部28を備える。識別情報取得部21は認証処理に、データ特有値生成部23及び送信部24は仮提出処理に、送信部25はレポート提出処理に、送信結果確認部26は仮提出処理及びレポート提出処理にそれぞれ関係する。
【0046】
識別情報取得部21は、認証処理において、学生用端末2が有する入力機能(キーボード、タッチパネル等)により入力される学生ID Sid及びパスワードPwを入力する。例えば、学生ID及びパスワードの入力を促すログイン画面を学生用端末2が有する表示機能(ディスプレイ等)を使用して表示し、学生が学生ID及びパスワードを入力する。識別情報取得部21は、入力された学生ID Sid及びパスワードPwをサーバ3に送信する。そして、サーバ3での認証処理の結果である認証結果Arを受信する。認証結果Arが、学生が正式なユーザーであると認証したことを示す「OK」の場合、認証結果Arと共に送信されるアクセストークンAtを受信し、識別情報記憶部22に出力する。認証結果Arが、学生が正式なユーザーであると認証しなかったことを示す「NG」の場合、そのことを示すメッセージ(「認証されませんでした」等)を、学生用端末2が有する表示機能を使用して表示する。
【0047】
識別情報記憶部22は、識別情報取得部21から出力されるアクセストークンAtを記憶する。
【0048】
データ特有値生成部23は、仮提出処理において、レポートデータRdを入力し、SHA-2を使用して、レポートデータRdに対するハッシュ値Hv1を生成する。SHA-2には、生成されるハッシュ値の長さに応じて複数の種類があるが、データ特有値生成部23では、256ビットのハッシュ値を生成するSHA-256を使用する。データ特有値生成部23は、生成したハッシュ値Hv1を、送信部24及び送信結果確認部26に出力する。
【0049】
送信部24は、仮提出処理において、学生用端末2が有する入力機能により入力される、データ特有値生成部23が入力したレポートデータRdに対応する教員ID Tid及び課題ID Pidを入力する。更に、識別情報記憶部22に記憶されたアクセストークンAtを読み出し、データ特有値生成部23から出力されるハッシュ値Hv1を入力する。そして、これらをサーバ3に送信する。送信方法として、専用のアプリケーションの機能の1つとして実現する方法を使用しても良いが、電子メールアドレスを教員IDとして使用し、アクセストークンAt、課題ID Pid及びハッシュ値Hv1を電子メールに記載又は添付する等して、汎用の電子メールソフトを利用して、教員IDである電子メールアドレスに電子メールを送信するような方法等を使用しても良い。
【0050】
送信部25は、レポート提出処理において、レポートデータRd並びにそのレポートデータRdに対応する教員ID Tid及び課題ID Pidを入力し、識別情報記憶部22に記憶されたアクセストークンAtを読み出し、それらをサーバ3に送信する。送信方法として、送信部24と同様に、専用のアプリケーションの機能の1つとして実現する方法の他に、汎用の電子メールソフトを利用した方法等を使用しても良い。即ち、電子メールアドレスを教員IDとして使用し、アクセストークンAt及び課題ID Pidを電子メールに記載又は添付して、レポートデータRdは電子メールに添付する等して、教員IDである電子メールアドレスに電子メールを送信する。
【0051】
進捗テーブル記憶部27は、提出するレポートの進捗を管理するための進捗テーブルを記憶する。図4は進捗テーブルの例を示すイメージ図であり、進捗テーブルには、教員ID、課題ID、日時情報及び進捗IDが対応付けて格納される。進捗IDは進捗状況に応じて割り当てられた値である。進捗状況には、レポートが完成し、ハッシュ値を送信したが、レポートデータは送信していない状況である「データ送信待ち」、ハッシュ値もレポートデータも送信した状況である「データ送信済」、ハッシュ値を送信したが、仮提出日時が提出期限を過ぎている状況である「期限切れ」、ハッシュ値の送受信時にエラーが発生した状況である「提出エラー」、及び、レポート提出処理においてハッシュ値の不一致が生じた状況である「データ不一致」があり、各状況に対して進捗IDとして順に1~5の値が割り当てられている。
【0052】
送信結果確認部26は、サーバ3に送信したハッシュ値Hv1及びレポートデータRdそれぞれの送信結果を確認する。
【0053】
仮提出処理において、送信部24に入力された教員ID Tid、課題ID Pid及びハッシュ値Hv1は送信結果確認部26にも入力される。また、送信部24からアクセストークンAt、教員ID Tid、課題ID Pid及びハッシュ値Hv1がサーバ3に送信された後、サーバ3より受信結果Rr、ハッシュ値Hv2及び日時情報Dtが送信されるので、送信結果確認部26はそれらを受信する。送信結果確認部26は、ハッシュ値Hv1とHv2を比較し、値が異なる場合、ハッシュ値の送受信においてエラーが発生したと判断し、進捗ID Aidを4(提出エラー)にする。値が同じ場合、受信結果Rrを確認する。受信結果Rrが、仮提出日時が提出期限内であることを示す「期限内」の場合、進捗ID Aidを1(データ送信待ち)にし、仮提出日時が提出期限を過ぎていることを示す「期限外」の場合、進捗ID Aidを3(期限切れ)にする。そして、送信結果確認部26は、教員ID Tid、課題ID Pid、日時情報Dt及び進捗ID Aidを進捗テーブル記憶部27内の進捗テーブルに格納する。受信したアクセストークンAt、教員ID Tid及び課題ID Pidが適切ではない場合、サーバ3は受信結果Rrとしてエラーを送信するので、受信結果Rrがエラーの場合、送信結果確認部26はそのことを示すメッセージ(「送信データが不適切です」等)を、学生用端末2が有する表示機能を使用して表示する。なお、ハッシュ値Hv1とHv2の値が異なる場合、そのことを示すメッセージ(「送受信においてエラーが発生しました」等)を表示するようにしても良い。
【0054】
レポート提出処理において、送信部25に入力された教員ID Tid及び課題ID Pidは送信結果確認部26にも入力される。また、送信部25からアクセストークンAt、教員ID Tid、課題ID Pid及びレポートデータRdがサーバ3に送信された後、サーバ3よりハッシュ値を比較した結果である比較結果Crが送信されるので、送信結果確認部26はそれを入力する。比較結果Crが、ハッシュ値が一致したことを示す「一致」の場合、進捗ID Aidを2(データ送信済)にし、ハッシュ値が一致していないことを示す「不一致」の場合、進捗ID Aidを5(データ不一致)にする。そして、送信結果確認部26は、進捗テーブル記憶部27内の進捗テーブルに対して、入力した教員ID Tid及び課題ID Pidに対応する進捗ID Aidを更新する。受信したアクセストークンAt、教員ID Tid及び課題ID Pidが適切ではない場合、サーバ3は比較結果Crとしてエラーを送信するので、比較結果Crがエラーの場合、送信結果確認部26はそのことを示すメッセージ(「送信データが不適切です」等)を、学生用端末2が有する表示機能を使用して表示する。なお、比較結果Crが「不一致」の場合、そのことを示すメッセージ(「レポートが変更されています」等)を表示するようにしても良い。
【0055】
進捗情報取得部28は、進捗テーブル記憶部27に記憶されている進捗テーブルに基づいて、提出するレポートの進捗状況を表示する。学生用端末2が有する入力機能により、進捗状況の表示を要求する信号(以下、「進捗要求信号」とする)Rqaが進捗情報取得部28に入力される。例えば、画面上に進捗状況表示用のボタンを表示し、そのボタンをクリック又はタッチすることにより、進捗要求信号Rqaが発生するようにする。進捗要求信号Rqaを入力した進捗情報取得部28は、進捗テーブル記憶部27内の進捗テーブルに格納されている全ての教員ID、課題ID、日時情報及び進捗IDを読み出す。そして、教員IDに対応する教員名、課題IDに対応する課題名、日時情報、及び、進捗IDに対応する進捗状況を、例えば図5に示されるように、学生用端末2が有する表示機能により表示する。図5においては、「課題」欄に課題名、「提出先」欄に教員名、「提出日時」欄に日時情報、「進捗状況」欄に進捗状況がそれぞれ表示されている。教員IDと教員名の対応、課題IDと課題名の対応、及び、進捗IDと進捗状況の対応については、事前にそれらの対応関係が学生用端末2に登録されており、表示の際にその対応関係を使用する。なお、教員名、課題名及び進捗状況に変換せず、進捗テーブルの情報をそのまま表示するようにしても良い。
【0056】
このような学生用端末2の構成において、各処理での学生用端末2の動作例を図6~9のフローチャートを参照して説明する。
【0057】
まず、認証処理での動作例について説明する。図6は、その動作例を示すフローチャートである。
【0058】
識別情報取得部21は、学生用端末2に入力された学生ID Sid及びパスワードPwを入力し(ステップS10)、サーバ3に送信する(ステップS11)。その後、識別情報取得部21はサーバ3から認証結果Arが送信されてくるのを待つ。
【0059】
識別情報取得部21は、サーバ3から送信された認証結果Arを受信したら(ステップS12)、認証結果Arを確認する。認証結果Arが「OK」の場合(ステップS13)、サーバ3から送信されるアクセストークンAtを受信し(ステップS14)、識別情報記憶部22に記憶させる(ステップS15)。認証結果Arが「NG」の場合(ステップS13)、そのことを示すメッセージを表示する(ステップS16)。
【0060】
次に、仮提出処理での動作例について説明する。図7は、その動作例を示すフローチャートである。
【0061】
データ特有値生成部23は、レポートデータRdを入力し(ステップS20)、SHA-256によりハッシュ値Hv1を生成する(ステップS21)。生成されたハッシュ値Hv1は送信部24及び送信結果確認部26に出力される。
【0062】
送信部24は、ハッシュ値Hv1並びに教員ID Tid及び課題ID Pidを入力し、識別情報記憶部22に記憶されたアクセストークンAtを読み出し、アクセストークンAt、教員ID Tid、課題ID Pid及びハッシュ値Hv1をサーバ3に送信する(ステップS22)。その後、学生用端末2は、サーバ3から受信結果Rrが送信結果確認部26に送信されてくるのを待つ。
【0063】
送信結果確認部26は、サーバ3から送信された受信結果Rrを受信したら(ステップS23)、受信結果Rrを確認する(ステップS24)。受信結果Rrがエラーではない場合、ハッシュ値Hv2及び日時情報Dtを受信し、入力していたハッシュ値Hv1とハッシュ値Hv2を比較する(ステップS25)。ハッシュ値Hv1とHv2が同じ値の場合、受信結果Rrに応じた値を進捗ID Aidに設定する(ステップS26)。ハッシュ値Hv1とHv2が異なる値の場合、進捗ID Aidに4(提出エラー)を設定する(ステップS27)。そして、教員ID Tid、課題ID Pid、日時情報Dt及び進捗ID Aidを進捗テーブル記憶部27内の進捗テーブルに格納する(ステップS28)。受信結果Rrがエラーの場合、そのことを示すメッセージを表示する(ステップS29)。
【0064】
レポート提出処理での動作例について説明する。図8は、その動作例を示すフローチャートである。
【0065】
送信部25は、レポートデータRd並びに教員ID Tid及び課題ID Pidを入力し、識別情報記憶部22に記憶されたアクセストークンAtを読み出し、アクセストークンAt、教員ID Tid、課題ID Pid及びレポートデータRdをサーバ3に送信する(ステップS30)。その後、学生用端末2は、サーバ3から比較結果Crが送信結果確認部26に送信されてくるのを待つ。
【0066】
送信結果確認部26は、サーバ3から送信された比較結果Crを受信したら(ステップS31)、比較結果Crを確認する(ステップS32)。比較結果Crがエラーではない場合、比較結果Crに応じた値を進捗ID Aidに設定する(ステップS33)。そして、進捗テーブル記憶部27内の進捗テーブルに対して、入力した教員ID Tid及び課題ID Pidに対応する進捗ID Aidを更新する(ステップS34)。比較結果Crがエラーの場合、そのことを示すメッセージを表示する(ステップS35)。
【0067】
レポートの進捗状況表示の動作例について説明する。図9は、その動作例を示すフローチャートである。
【0068】
進捗情報取得部28は、進捗要求信号Rqaを入力したら(ステップS40)、進捗テーブル記憶部27内の進捗テーブルから全ての教員ID Tid、課題ID Pid、日時情報 Dt及び進捗ID Aidを読み出す(ステップS41)。そして、教員ID Tid、課題ID Pid及び進捗ID Aidを、それぞれ教員名、課題名、進捗状況に変換し(ステップS42)、教員名、課題名、日時情報及び進捗状況を表示する(ステップS43)。
【0069】
なお、送信部24及び25を纏めて1つの送信部とし、その送信部で送信部24及び25での処理を実行するようにしても良い。また、進捗情報取得部28は、教員ID又は教員名を入力し、その教員から課された課題に対するレポートの進捗状況のみを表示するようにしても良い。
【0070】
サーバ3の詳細について説明する。
【0071】
図10は、サーバ3の構成例を示すブロック図である。サーバ3は、記憶部31、認証部32、受信処理部33(第1受信処理部)及び34(第2受信処理部)並びに要求処理部35及び36を備える。認証部31は認証処理に、受信処理部33は仮提出処理に、受信処理部34及び要求処理部35はレポート提出処理に、要求処理部36は管理情報取得処理にそれぞれ関係する。
【0072】
記憶部32は、各学生が提出するレポートの進捗状況を管理するための管理テーブル及びレポートデータを記憶する。管理テーブルに格納されている情報が管理情報となる。
【0073】
図11は管理テーブルの例を示すイメージ図である。管理テーブルには、各学生の学生ID、パスワード及びアクセストークンが対応付けて格納され、更に、学生単位で、教員ID、課題ID、提出期限、ハッシュ値、日時情報、状態ID及び格納情報が対応付けて格納される。レポートの提出状況に応じて割り当てられる状態IDは0~2の値を取る。状態ID=0は、ハッシュ値を受信していない「未提出」の状況を示し、状態ID=1は、ハッシュ値は受信したがレポートデータは受信していない「データ送信待ち」の状況を示し、状態ID=2は、レポートデータを受信した「データ送信済」の状況を示している。
【0074】
データ送受信システム1を使用する初期の段階や、課題を課される新たな学生が追加されたとき等に、学生ID及びパスワードの登録作業により、学生ID及びパスワードを管理テーブルに格納する。また、新たな課題が発生するたびに、その課題を担当する教員の教員ID、課題ID及び提出期限を管理テーブルに格納する。状態IDには初期値として0(未提出)が設定される。なお、図11において、状態ID以外で値が初期値のままとなっている項目は、空欄としている。
【0075】
認証部32は、認証処理において、学生用端末2の識別情報取得部21から送信される学生ID Sid及びパスワードPwを受信する。そして、受信した学生ID Sid及びパスワードPwが、記憶部31内の管理テーブルに存在するか確認する。管理テーブルに存在する場合、認証部31は、認証結果Arを「OK」にし、アクセストークンArを生成し、認証結果Ar及びアクセストークンArを、学生ID Sid及びパスワードPwを送信した学生用端末2に送信する。また、生成したアクセストークンAtを、受信した学生IDに対するアクセストークンとして、管理テーブルに格納する。管理テーブルに存在しない場合、認証部32は、認証結果Arを「NG」にして、学生用端末2に送信する。
【0076】
受信処理部33は、仮提出処理において、学生用端末2の送信部24から送信されるアクセストークンAt、教員ID Tid、課題ID Pid及びハッシュ値Hv1を受信し、それらを受信した日時を日時情報Dtとし、ハッシュ値Hv1をハッシュ値Hv2とする。そして、記憶部31内の管理テーブルに対して、受信したアクセストークンAt、教員ID Tid及び課題ID Pidに対応するハッシュ値及び日時情報として、ハッシュ値Hv2及び日時情報Dtを格納する。また、アクセストークンAtに対応する学生IDを管理テーブルより特定し、特定した学生ID Sid及び課題ID Pidを、教員ID Tidに対応する教員用端末4に対して、仮提出通知Tnと共に送信する。更に、アクセストークンAt、教員ID Tid及び課題ID Pidに対応する提出期限を管理テーブルより読み出し、日時情報Dtと比較し、日時情報Dtが提出期限内の場合、受信結果Rrを「期限内」とし、提出期限を過ぎている場合、受信結果Rrを「期限外」とする。受信処理部33は、受信結果Rr、ハッシュ値Hv2及び日時情報Dtを、受信したアクセストークンAtに対応する学生用端末2に送信する。更に、管理テーブル内のアクセストークンAt、教員ID Tid及び課題ID Pidに対応する状態IDを1(データ送信待ち)に変更する。なお、受信したアクセストークンAt、教員ID Tid及び課題ID Pidに対応するものが管理テーブルに存在しない場合、学生用端末2からの送信データが適切ではないとして、受信結果Rrをエラーにして、学生用端末2に送信する。
【0077】
受信処理部34は、レポート提出処理において、学生用端末2の送信部25から送信されるアクセストークンAt、教員ID Tid、課題ID Pid及びレポートデータRdを受信し、アクセストークンAt、教員ID Tid及び課題ID Pidに対応するハッシュ値Hv2を、記憶部31内の管理テーブルから読み出す。また、学生用端末2内のデータ特有値生成部23が使用する同じSHA-256を使用して、レポートデータRdに対するハッシュ値Hv3を生成し、ハッシュ値Hv2と比較する。ハッシュ値Hv2とHv3が一致する場合、比較結果Crを「一致」とし、一致しない場合、比較結果Crを「不一致」とし、受信したアクセストークンAtに対応する学生用端末2に送信する。ハッシュ値Hv2とHv3が一致する場合には、レポートデータRdを記憶部31に記憶し、その記憶した場所を格納情報Liとし、アクセストークンAt、教員ID Tid及び課題ID Pidに対応する格納情報として、格納情報Liを管理テーブルに格納する。更に、レポート提出通知Rnを、アクセストークンAtに対応する学生ID及び課題IDと共に、教員ID Tidに対応する教員用端末4に送信し、管理テーブル内のアクセストークンAt、教員ID Tid及び課題ID Pidに対応する状態IDを2(データ送信済)に変更する。なお、受信したアクセストークンAt、教員ID Tid及び課題ID Pidに対応するものが管理テーブルに存在しない場合、学生用端末2からの送信データが適切ではないとして、比較結果Crをエラーにして、学生用端末2に送信する。
【0078】
要求処理部35は、レポート提出処理において、教員用端末4から送信される学生ID Sid、教員ID Tid及び課題ID Pidに対応する格納情報Liを管理テーブルから読み出し、格納情報Liを基にレポートデータRdを記憶部31から読み出す。そして、読み出したレポートデータRdを、教員ID Tidに対応する教員用端末4に送信する。学生ID Sid、教員ID Tid及び課題ID Pidに対応する格納情報Liが管理テーブルにない(初期値のまま)場合、レポートデータRdは記憶部31に記憶されていないということで、レポートデータRdの代わりにエラーを教員ID Tidに対応する教員用端末4に送信する。
【0079】
要求処理部36は、管理情報取得処理において、教員用端末4から送信される教員ID Tidが教員IDとして格納されている管理情報のうち、学生ID Sid、課題ID Pid、日時情報Dt及び状態ID Cidを記憶部31内の管理テーブルから読み出し、それらを教員ID Tidに対応する教員用端末4に送信する。
【0080】
このようなサーバ3の構成において、各処理でのサーバ3の動作例を図12~16のフローチャートを参照して説明する。
【0081】
まず、認証処理での動作例について説明する。図12は、その動作例を示すフローチャートである。
【0082】
認証部32は、学生用端末2から送信された学生ID Sid及びパスワードPwを受信し(ステップS50)、それらが管理テーブルに存在するか確認する(ステップS51)。管理テーブルに存在する場合、認証結果Arを「OK」にし(ステップS52)、アクセストークンArを生成する(ステップS53)。そして、認証結果Ar及びアクセストークンArを学生用端末2に送信し(ステップS54)、アクセストークンArを管理テーブルに格納する(ステップS55)。管理テーブルに存在しない場合、認証結果Arを「NG」にして(ステップS56)、学生用端末2に送信する(ステップS57)。
【0083】
次に、仮提出処理での動作例について説明する。図13は、その動作例を示すフローチャートである。なお、上述のように、管理テーブル内の状態IDには0(未提出)が初期値として設定されている。
【0084】
受信処理部33は、学生用端末2から送信されたアクセストークンAt、教員ID Tid、課題ID Pid及びハッシュ値Hv1を受信し(ステップS60)、それらを受信した日時を日時情報Dtとし、ハッシュ値Hv1をハッシュ値Hv2とする。受信したアクセストークンAt、教員ID Tid及び課題ID Pidに対応するものが管理テーブルに存在する場合(ステップS61)、ハッシュ値Hv2及び日時情報Dtを管理テーブルに格納する(ステップS62)。そして、アクセストークンAtに対応する学生ID Sid及び課題ID Pidを、教員ID Tidに対応する教員用端末4に、仮提出通知Tnと共に送信する(ステップS63)。更に、アクセストークンAt、教員ID Tid及び課題ID Pidに対応する提出期限を管理テーブルより読み出し(ステップS64)、日時情報Dtが提出期限内か否かを確認する(ステップS65)。日時情報Dtが提出期限内の場合、受信結果Rrを「期限内」とし(ステップS66)、提出期限を過ぎている場合、受信結果Rrを「期限外」とする(ステップS67)。そして、受信結果Rr、ハッシュ値Hv2及び日時情報Dtを学生用端末2に送信する(ステップS68)。また、管理テーブル内の状態IDを1(データ送信待ち)に変更する(ステップS69)。受信したアクセストークンAt、教員ID Tid及び課題ID Pidに対応するものが管理テーブルに存在しない場合(ステップS61)、受信結果Rrをエラーにして、学生用端末2に送信する(ステップS70)。
【0085】
レポート提出処理での動作例について説明する。図14及び15は、その動作例を示すフローチャートである。レポート提出処理のうち、学生用端末2からサーバ3にレポートデータを送信するときの動作例を図14に、サーバ3から教員用端末4にレポートデータを送信するときの動作例を図15に示す。
【0086】
図14に示される動作例では、受信処理部34は、学生用端末2から送信されたアクセストークンAt、教員ID Tid、課題ID Pid及びレポートデータRdを受信する(ステップS71)。受信したアクセストークンAt、教員ID Tid及び課題ID Pidに対応するものが管理テーブルに存在する場合(ステップS72)、ハッシュ値Hv2を管理テーブルから読み出す(ステップS73)。そして、レポートデータRdに対するハッシュ値Hv3をSHA-256により生成し(ステップS74)、ハッシュ値Hv2と比較する(ステップS75)。ハッシュ値Hv2とHv3が一致する場合、比較結果Crを「一致」とする(ステップS76)。そして、レポートデータRdを記憶部31に記憶し(ステップS77)、格納情報Liを管理テーブルに格納する(ステップS78)。更に、レポート提出通知Rn、アクセストークンAtに対応する学生ID及び課題IDを、教員ID Tidに対応する教員用端末4に送信する(ステップS79)。また、管理テーブル内の状態IDを2(データ送信済)に変更する(ステップS80)。ハッシュ値Hv2とHv3が一致しない場合、比較結果Crを「不一致」とする(ステップS81)。受信したアクセストークンAt、教員ID Tid及び課題ID Pidに対応するものが管理テーブルに存在しない場合(ステップS72)、比較結果Crをエラーにする(ステップS82)。比較結果Crは、学生用端末2に送信される(ステップS83)。
【0087】
図15に示される動作例では、要求処理部35は、教員用端末4から送信された学生ID Sid、教員ID Tid及び課題ID Pidを受信し(ステップS84)、それらに対応する格納情報Liを管理テーブルから読み出す(ステップS85)。格納情報Liが管理テーブルに存在する場合(ステップS86)、格納情報Liを基にレポートデータRdを記憶部31から読み出し(ステップS87)、教員ID Tidに対応する教員用端末4に送信する(ステップS88)。格納情報Liが管理テーブルに存在しない(初期値のまま)場合(ステップS86)、エラーを教員ID Tidに対応する教員用端末4に送信する(ステップS89)。
【0088】
管理情報取得処理での動作例について説明する。図16は、その動作例を示すフローチャートである。
【0089】
要求処理部36は、教員用端末4から送信された教員ID Tidを受信し(ステップS90)、教員ID Tidに対応する学生ID Sid、課題ID Pid、日時情報Dt及び状態ID Cidを管理テーブルから読み出し(ステップS91)、教員用端末4に送信する(ステップS92)。
【0090】
なお、受信処理部33及び34を纏めて1つの受信処理部とし、その受信処理部で受信処理部33及び34での処理を実行するようにしても良い。要求処理部35及び36も纏めて1つの要求処理部とし、その要求処理部で要求処理部35及び36での処理を実行するようにしても良い。
【0091】
教員用端末4の詳細について説明する。
【0092】
図17は、教員用端末4の構成例を示すブロック図である。教員用端末4は、イベント検知部41、レポートデータ取得部42及び管理情報取得部43を備える。イベント検知部41は仮提出処理及びレポート提出処理に、レポートデータ取得部42はレポート提出処理に、管理情報取得部43は管理情報取得処理にそれぞれ関係する。なお、上述のように、教員用端末4には教員IDが事前に記憶されている。
【0093】
イベント検知部41は、仮提出処理において、サーバ3の受信処理部33から送信される仮提出通知Tnを受信したら、同時に送信される学生ID Sid及び課題ID Pidに基づいて、学生ID Sidに対応する学生から課題ID Pidに対応するレポートデータのハッシュ値が送信されたことを示すメッセージ(「学生Lから課題Aのレポートが仮提出されました」等)を、教員用端末4が有する表示機能を使用して表示する。
【0094】
また、イベント検知部41は、レポート提出処理において、サーバ3の受信処理部34から送信されるレポート提出通知Rnを受信したら、同時に送信される学生ID Sid及び課題ID Pidに基づいて、学生ID Sidに対応する学生から課題ID Pidに対応するレポートデータが送信されたことを示すメッセージ(「学生Lから課題Aのレポートが提出されました」等)を、教員用端末4が有する表示機能を使用して表示する。
【0095】
レポートデータ取得部42は、レポート提出処理において、サーバ3に記憶されたレポートデータRdを取得する。取得したいレポートデータに対する学生ID及び課題IDを、教員用端末4が有する入力機能(キーボード、タッチパネル等)により、教員が入力する。レポートデータ取得部42は、入力された学生ID Sid及び課題ID Pidを、事前に記憶された教員ID Tidと共にサーバ3に送信する。そして、サーバ3の要求処理部35から送信されるレポートデータRdを受信する。レポートデータRdの代わりにエラーが送信されてきた場合は、その旨を示すメッセージ(「レポートデータは存在しません」等)を、教員用端末4が有する表示機能を使用して表示する。
【0096】
管理情報取得部43は、管理情報取得処理において、サーバ3が保有する管理情報から必要な情報を取得し、教員が課した課題に対するレポートの提出状況を表示する。教員用端末4が有する入力機能により、レポート提出状況の表示を要求する信号(以下、「状況要求信号」とする)Rqbが管理情報取得部43に入力される。例えば、画面上にレポート提出状況表示用のボタンを表示し、そのボタンをクリック又はタッチすることにより、状況要求信号Rqbが発生するようにする。状況要求信号Rqbを入力した管理情報取得部43は、教員ID Tidをサーバ3に送信する。そして、サーバ3の要求処理部36から送信される学生ID Sid、課題ID Pid、日時情報Dt及び状態ID Cidに基づいて、学生IDに対応する学生名、課題IDに対応する課題名、日時情報、及び、状態IDに対応するレポート提出状況を、例えば図18に示されるように、教員用端末4が有する表示機能により表示する。図18においては、「課題」欄に課題名、「提出元」欄に学生名、「提出日時」欄に日時情報、「提出状況」欄にレポート提出状況がそれぞれ表示されている。学生IDと学生名の対応、課題IDと課題名の対応、及び、状態IDとレポート提出状況の対応については、事前にそれらの対応関係が教員用端末4に登録されており、表示の際にその対応関係を使用する。なお、学生名、課題名及びレポート提出状況に変換せず、受信した管理情報をそのまま表示するようにしても良い。
【0097】
このような教員用端末4の構成において、各処理での教員用端末4の動作例を図19~22のフローチャートを参照して説明する。
【0098】
まず、仮提出処理での動作例について説明する。図19は、その動作例を示すフローチャートである。
【0099】
イベント検知部41は、サーバ3から送信された仮提出通知Tn、学生ID Sid及び課題ID Pidを受信する(ステップS100)。そして、学生ID Sid及び課題ID Pidに基づいて、メッセージを表示する(ステップS101)。
【0100】
レポート提出処理での動作例について説明する。図20及び21は、その動作例を示すフローチャートである。レポート提出処理のうち、サーバ3にレポートデータが送信されるときの動作例を図20に、サーバ3から教員用端末4にレポートデータが送信されるときの動作例を図21に示す。
【0101】
図20に示される動作例では、イベント検知部41は、サーバ3から送信されたレポート提出通知Rn、学生ID Sid及び課題ID Pidを受信する(ステップS110)。そして、学生ID Sid及び課題ID Pidに基づいて、メッセージを表示する(ステップS111)。
【0102】
図21に示される動作例では、レポートデータ取得部42は、教員用端末4に入力された学生ID Sid及び課題ID Pidを入力し(ステップS112)、教員ID Tidと共にサーバ3に送信する(ステップS113)。その後、サーバ3からレポートデータRdが送信されてくるのを待つ。サーバ3からのレポートデータRdを受信したら(ステップS114)、レポートデータRdを確認する(ステップS115)。レポートデータRdがエラーではない場合、レポートデータRdを保管する(ステップS116)。レポートデータRdがエラーの場合、その旨を示すメッセージを表示する(ステップS117)。
【0103】
管理情報取得処理での動作例について説明する。図22は、その動作例を示すフローチャートである。
【0104】
管理情報取得部43は、状況要求信号Rqbを入力したら(ステップS120)、教員ID Tidをサーバ3に送信する(ステップS121)。その後、サーバ3から学生ID Sid、課題ID Pid、日時情報Dt及び状態ID Cidが送信されてくるのを待つ。それらを受信したら(ステップS122)、学生ID Tid、課題ID Pid及び状態ID Cidを、それぞれ学生名、課題名、レポート提出状況に変換し(ステップS123)、学生名、課題名、日時情報及びレポート提出状況を表示する(ステップS124)。
【0105】
なお、管理情報取得部43は、教員ID Tidに対応するレポート提出状況だけではなく、サーバ3が保有する管理テーブルに格納されている全教員分のレポート提出状況を表示するようにしても良い。更に、学生ID若しくは学生名または課題ID若しくは課題名を入力し、学生毎又は課題毎のレポート提出状況を表示するようにしても良い。
【0106】
上述の実施形態に対して、以下のような変形が可能である。
【0107】
上述の実施形態では、サーバ3と教員用端末4は別になっているが、サーバ3と教員用端末4を1つにして、例えば、教員用端末4の機能をサーバ3に搭載し、教員は、提出されたレポート等をサーバ3で確認するようにしても良い。これにより、サーバ3と教員用端末4との間でのデータの送受信が不要となり、システムのコンパクト化が図れる。
【0108】
また、学生の認証をサーバ3で行なっているが、認証を行う装置又はシステム(以下、「認証システム」とする)を別に用意しても良い。例えば、認証システム6を用意した場合、認証処理及び仮提出処理での動作手順は図23に示すシーケンス図のようになる。即ち、認証処理では、学生用端末2は、学生ID及びパスワードを認証システム6に送信する(ステップS1A)。認証システム6は、事前に記憶された学生ID及びパスワードの情報を用いて、受信した学生ID及びパスワードに基づいた認証を行う。正式なユーザーであると認証した場合、アクセストークンを生成し、認証結果と共に、学生用端末2に送信し、正式なユーザーであると認証しなかった場合は、認証結果としてエラーを学生用端末2に送信する。仮提出処理では、学生用端末2は、アクセストークン、教員ID、課題ID、ハッシュ値に加え、学生IDをサーバ3に送信する(ステップS2A)。サーバ3は、受信したアクセストークンを認証システム6に送信する(ステップS2B)。認証システム6は、受信したアクセストークンが適切なものであるか判断し、判断結果をサーバ3に送信する。サーバ3は、認証システム6からの判断結果に基づいて、アクセストークンの代わりに学生IDを使用して、以降の処理を行う。レポート提出処理でも、仮提出処理と同様に、学生用端末2から送信されるアクセストークンの確認を認証システム6が行い、以降の処理を行う。これにより、サーバ3が認証処理を行う必要がなくなり、他のシステムやサービスでの認証処理を共用することができる。
【0109】
上述の実施形態では、学生用端末2からサーバ3へのハッシュ値及びレポートデータの送信において、アクセストークンを使用しているが、学生IDの偽装等の不正行為が他の手段で防止されている場合等では、学生IDを使用しても良い。学生ID以外でも、学生を識別できる情報であれば、使用しても良い。
【0110】
また、教員用端末4からサーバ3へのレポートデータ及び管理情報の取得要求において、教員IDを使用しているが、教員IDの代わりにアクセストークンを使用しても良い。これにより、サーバ3への不正アクセスの防止を図ることができる。
【0111】
上述の実施形態では、日時情報として、学生用端末2から送信されたハッシュ値をサーバ3が受信した日時を使用しているが、学生用端末2がハッシュ値を送信した日時を使用しても良い。この場合、学生用端末2は、アクセストークン、教員ID、課題ID及びハッシュ値に加えて、日時情報をサーバ3に送信することになり、サーバ3から学生用端末2への日時情報の送信は不要となる。
【0112】
また、学生用端末2は、提出するレポートの進捗を管理するために進捗テーブルを有しているが、進捗テーブルをサーバ3が有するようにしても良い。つまり、サーバ3が学生単位で進捗テーブルを保有し、各学生は、レポートの進捗状況を確認する場合は、学生用端末2からサーバ3にアクセスし、サーバ3が保有する進捗テーブルの情報を取得する。これにより、学生用端末2は進捗テーブルを管理するための処理や記憶容量を削減することができる。更に、サーバ3が保有している管理テーブルと進捗テーブルを融合して1つのテーブルとして管理しても良い。これにより、情報を一括で管理することができ、効率的な管理を図ることができる。
【0113】
上述の実施形態では、学生用端末2からサーバ3へのレポートデータの送信は、学生用端末2への課題IDの入力等、学生の判断に基づいて行なわれることになるが、学生用端末2がネットワークの混雑状況等を監視し、高速通信可能と判断したときに自動的にレポートデータを送信するようにしても良い。これにより、学生がレポートデータを送信するタイミングを見極める手間を省くことができる。
【0114】
また、レポートデータ送信に関して、レポートデータの送信期限が設定されている場合、送信期限に近くなったら、レポートデータを送信していない学生用端末2に対してサーバ3から警告等を送信するようにしても良い。提出期限に関しても、このような警告等を送信しても良い。即ち、提出期限近くになってもハッシュ値を送信していない学生用端末2に対してサーバ3から警告等を送信する。これにより、学生の送信忘れ防止を図ることができる。
【0115】
上述の実施形態は課題に対するレポートの期限管理を対象としているが、レポートに限らず、提出期限が設定されているデータであれば、本発明を適用することが可能である。
【0116】
上述の実施形態は、識別情報記憶部22、進捗テーブル記憶部27及び記憶部31をメモリとして、それ以外の構成要素の処理を、上述のようにプログラムとして実現することにより、コンピュータとメモリの構成で実現可能である。各構成要素は専用IC(Integrated Circuit)やFPGA(Field Programmable Gate Array)等のハードウェアでも実現可能である。また、上述の実施形態はシステム又は装置としての形態で説明されているが、本発明は、方法又はプログラムとしての形態を取ることも可能である。
【0117】
なお、本発明は上記形態に限定されるものではなく、本発明の要旨を逸脱しない範囲で種々の変形が可能である。
【符号の説明】
【0118】
1 データ送受信システム
2 学生用端末
3 サーバ
4 教員用端末
5 ネットワーク
6 認証システム
21 識別情報取得部
22 識別情報記憶部
23 データ特有値生成部
24、25 送信部
26 送信結果確認部
27 進捗テーブル記憶部
28 進捗情報取得部
31 記憶部
32 認証部
33、34 受信処理部
35、36 要求処理部
41 イベント検知部
42 レポートデータ取得部
43 管理情報取得部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23