JP5086486B1 - 情報出力共有システム - Google Patents

情報出力共有システム Download PDF

Info

Publication number
JP5086486B1
JP5086486B1 JP2012052481A JP2012052481A JP5086486B1 JP 5086486 B1 JP5086486 B1 JP 5086486B1 JP 2012052481 A JP2012052481 A JP 2012052481A JP 2012052481 A JP2012052481 A JP 2012052481A JP 5086486 B1 JP5086486 B1 JP 5086486B1
Authority
JP
Japan
Prior art keywords
client
message
server
url
transfer destination
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2012052481A
Other languages
English (en)
Other versions
JP2013186769A (ja
Inventor
修一 工藤
雅史 木村
隆宏 古林
定 橋本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SCSK Corp
Original Assignee
SCSK Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SCSK Corp filed Critical SCSK Corp
Priority to JP2012052481A priority Critical patent/JP5086486B1/ja
Application granted granted Critical
Publication of JP5086486B1 publication Critical patent/JP5086486B1/ja
Publication of JP2013186769A publication Critical patent/JP2013186769A/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

【課題】画像や音声の如き各種の情報の出力を、複数のクライアントの相互間で共有的に行うことを、従来よりも容易かつ低負荷で行うことが可能になる、情報出力共有システム等を提供すること。
【解決手段】複数のクライアント10とサーバ30とを通信可能に接続して構成された情報出力共有システム1であって、クライアント10は、クライアント10の出力内容に変更を生じさせる操作を特定するための操作内容特定情報を含んだメッセージをサーバに送信するメッセージ送信部13aと、他のクライアント10から受信したメッセージで特定される操作を実行するメッセージ受信部13bとを備える。複数のクライアント10の各々又はサーバ30の少なくとも一方は、メッセージの転送先を特定するための転送先特定情報を格納する手段と、転送先特定情報に基づいて、メッセージの転送先とすべきクライアントを特定する手段とを備える。
【選択図】図1

Description

本発明は、各種の情報の出力を複数のクライアントの相互間で共有的に行うための情報出力共有システムに関する。
従来、複数のクライアントの相互間においてデスクトップ画像を共有的に表示するためのシステムが提案されている。このようなシステムによれば、例えば、共通の画像を見ながら複数の参加者が会議を行う電子会議や、共通の画像を見ながら先生が複数の生徒に対して授業を行う電子授業を、これら各ユーザが相互に離れた場所にいる場合であっても実現することが可能になる。
このようなシステムにおいては、複数のクライアントに対して、画像の全体又は更新部分のデータを一定時間毎に送信等する必要があった。例えば、特許文献1には、複数台のクライアントをサーバを介して通信可能に接続して構成されたシステムにおいて、サーバの共有画面領域が更新される毎に、サーバから各クライアントに対して画像データを送信するシステムが開示されている。
特開2005−348262号公報
しかしながら、このような従来のシステムにおいては、画像が更新される毎に画像データをクライアントに送信する必要があったので、システム負荷やネットワーク負荷が増大し、システム環境やネットワーク環境によってはクライアントにおける画像更新が迅速に行われなくなる等の問題があった。特に、単なる更新後の画像のみでなく、更新中の描画状態まで共有することでリアルタイム感を持たせたい場合や、クライアントの数が多い場合には、一層大量の画像データを高頻度で送信等する必要が生じるため、問題が一層顕著になっていた。
本発明は、上記に鑑みてなされたものであって、画像や音声の如き各種の情報の出力を、複数のクライアントの相互間で共有的に行うことを、従来よりも容易かつ低負荷で行うことが可能になる、情報出力共有システム、情報出力共有サーバ、情報出力共有クライアント、及び情報出力共有プログラムを提供することを目的とする。
請求項1に記載の情報出力共有システム又は請求項3に記載の情報出力共有プログラムによれば、クライアントの出力手段における出力内容に変更を生じさせる操作を特定するための操作内容特定情報を含んだメッセージが他のクライアントに転送され、当該他のクライアントで当該操作が実行されるので、画像データ等の出力内容自体を転送する場合に比べて、クライアントやサーバの処理負荷を低減することができると共に、ネットワークの負荷を低減することができる。このため、従来よりも高速で情報出力共有処理を実行することができ、情報出力共有におけるリアルタイム性や利便性を向上させることが可能になる。また、メッセージの転送先が主としてサーバによって特定されるので、クライアントの負荷を軽減することが可能になる。
請求項2に記載の情報出力共有システムによれば、グループIDに対応するクライアントIDが取得され、当該取得したクライアントIDに基づいてメッセージの転送先とすべきクライアントが特定されるので、メッセージの転送先をグループという概念で特定することができ、目的や用途に応じた様々なグループを設定して使い分けることが可能になり、メッセージの転送先をクライアント毎に特定する場合に比べて、情報出力共有における利便性を向上させることが可能になる。
請求項3に記載の情報出力共有システム又は請求項5に記載の情報出力共有プログラムによれば、メッセージの転送先が主としてサーバによって特定されるので、クライアントの負荷を軽減することが可能になる。
本発明の実施の形態1に係る情報出力共有システムを機能概念的に示すブロック図である。 URL別クライアントリストの構成例を示す図である。 グループリストの構成例を示す図である。 サーバ内処理対象リストの構成例を示す図である。 転送ルールテーブルの構成例を示す図である。 接続処理のフローチャートである。 グループ設定処理のフローチャートである。 情報出力共有処理のフローチャートである。 図8に続く情報出力共有処理のフローチャートである。 本実施の形態2に係る情報出力共有システムを機能概念的に示すブロック図である。 情報出力共有処理のフローチャートである。
以下に添付図面を参照して、この発明に係る情報出力共有システムの各実施の形態を詳細に説明する。まず、各実施の形態に共通の基本的概念について説明した後、各実施の形態の具体的内容を説明し、最後に各実施の形態に対する変形例について説明する。ただし、各実施の形態によって本発明が限定されるものではない。
〔各実施の形態に共通の基本的概念〕
最初に、各実施の形態に共通の基本的概念について説明する。この情報出力共有システムは、各種の情報の出力を複数のクライアント(端末装置)の相互間で共有的に行うためのシステムである。「情報」の内容や出力形態は任意であり、画像を表示出力する場合と音声を音出力する場合とを含むが、以下では、画像を表示出力する場合について説明する。「複数のクライアント」は、相互に同一の装置であってもよく、あるいは相互に異なる装置であってもよい。「共有的」とは、同一の情報を複数のクライアントで出力することを意味するが、必要に応じて、複数のクライアントの相互間において情報の出力内容や出力タイミングに差を設けたり、複数のクライアントの中から選択された1台又は一部の複数のクライアントのみで出力したりすることを含む。
この情報出力共有システムの具体的な適用目的は任意であり、例えば、共通の画像を見ながら複数の参加者が会議を行う電子会議や、共通の画像を見ながら先生が複数の生徒に対して授業を行う電子授業を挙げることができる。以下では、電子授業を行う場合について説明する。この電子授業では、「ユーザの種類」として、「先生」と「生徒」があるものとする。「先生」とは、授業を行う者であり、「生徒」とは、授業を受ける者である。ただし、このようなユーザの種類を特に区別する必要がない場合には、これら各種類のユーザを「ユーザ」と総称する。また、この電子授業では、「クライアントの種類」として、先生が使用するクライアントである「先生用クライアント」と、生徒が使用するクライアントである「生徒用クライアント」があるものとする。ただし、このようなクライアントの種類を特に区別する必要がない場合には、これら各種類のクライアントを「クライアント」と総称する。なお、クライアントの種類は、ユーザの種類から見た区分であって、必ずしもクライアントの物理的な種類を意味するものではなく、例えば、各クライアントは、相互に同一の装置として構成することができる。
この情報出力共有システムにおけるクライアントとサーバの接続の基本的概念について説明する。各クライアントには、クライアント用の情報出力共有アプリケーション(クライアント用の情報出力共有プログラム)である「クライアント側アプリ」がインストールされており、このクライアント側アプリの機能により、各クライアントにおけるサーバとの接続等が行われる。このクライアント側アプリとしては、特記する場合を除いて、各クライアントが相互に同一のアプリケーションを用いるものとする。
一方、サーバには、サーバ用の情報出力共有アプリケーション(サーバ用の情報出力共有プログラム)である「サーバ側アプリ」がインストールされており、このサーバ側アプリの機能により、各クライアントとの接続等が行われる。このサーバ側アプリは、所定の通信規格に基づいて各クライアントとの通信を行う。この通信規格は任意であるが、ネットワーク負荷が低い通信規格を採用することが好ましく、例えば、クライアントと接続確立を行った後は再度の接続確立を行うことなく専用プロトコルで通信を行うことができる、Websocketを利用することができる。また、サーバには、クライアントオブジェクトが設けられている。このクライアントオブジェクトは、クライアントとの通信を仲介する通信仲介プログラムであり、例えば、Java(登録商標)のWebサーバサイドでの実行形態の一つであるServletとして構成されている。
このような前提において、クライアントは、URL(Uniform Resource Locator)を用いてサーバに接続する。このURLとしては、クライアントの種類に応じて相互に異なるURLが設定されており、例えば、先生用URLと生徒用URLがある。このURLは、各種類に対して複数ずつ設けることもでき、例えば、先生AがクラスAを担当し、先生BがクラスBを担当する場合には、先生AはクラスA用の先生用URLを用いてサーバに接続し、先生BはクラスB用の先生用URLを用いてサーバに接続するようにしてもよい。
この情報出力共有システムでは、クライアントの出力手段における出力内容に変更を生じさせる操作が行われた場合、この操作を、他のクライアントの出力手段における出力内容に変更を生じさせるための操作として実行する。「出力内容に変更を生じさせる操作」とは、出力内容が変更されたことをユーザが把握可能となるように当該出力内容を変更することをいい、例えば、情報が画像である場合には、画像の表示、画像の消去、画像の一部の変更のように、情報に対する変更の他、クライアントのディスプレイの輝度を変更するような情報の出力手段に対する変更を含む。以下、このように出力内容に変更を生じさせる操作を、単に「操作」と称する。
この操作に基づいて他のクライアントの出力内容に変更を生じさせるために、操作が行われたクライアントからサーバに情報を送信し、サーバはこの情報を他のクライアントに転送する。以下、このように送信や転送される情報を「メッセージ」、メッセージの送信元となるクライアント(ユーザにより直接的に操作が行われたクライアント)を「送信元のクライアント」、メッセージの転送先(送信先)となるクライアントを「転送先のクライアント」と、それぞれ称する。
このようにメッセージの転送を行う場合には、転送先のクライアントを特定する必要が生じる。この転送先のクライアントの特定処理は、1)主にサーバが行う形態と、2)主にクライアントが行う形態、あるいは、3)サーバとクライアントが協同して行う形態がある。以下では、主にサーバが行う形態を実施の形態1、主にクライアントが行う形態を実施の形態2で説明し、サーバとクライアントが協同して行う形態は変形例において説明する。
〔実施の形態1〕
次に、実施の形態1について説明する。この形態は、転送先のクライアントの特定処理を、主にサーバが行う形態である。最初に、本実施の形態に係る情報出力共有システムの構成について説明し、その後に、情報出力共有システムで行われる処理について説明する。
(構成)
まず、本実施の形態1に係る情報出力共有システムの構成について説明する。図1は、本実施の形態1に係る情報出力共有システムを機能概念的に示すブロック図である。この情報出力共有システム1は、複数台の先生用クライアント10A及び複数台の生徒用クライアント10Bと、サーバ30とを、ネットワーク40を介して相互に通信可能に接続して構成されている。
(構成−クライアント)
先生用クライアント10A及び生徒用クライアント10Bは、特記する点を除いて、相互に同一の装置として構成されているため、以下では、クライアント10としてまとめて説明する。このクライアント10は、機能概念的に、入力部11、出力部12、制御部13、記憶部14、及びネットワークIF15を、バスにて接続して構成されており、例えば、公知のデスクトップコンピュータ、ノートブックコンピュータ、タブレット型コンピュータ、あるいはスマートフォンを用いて構成されている。
入力部11は、各種の情報をクライアント10に入力するための入力手段であり、特に、クライアント10の出力部12における出力内容に変更を生じさせる操作を行うための操作手段である。この入力部11の具体的な構成は任意であり、例えば、マウス、キーボード、あるいはタッチパネルとして構成することができる。
出力部12は、各種の情報をクライアント10において出力するための出力手段である。この出力部12の具体的な構成は任意であり、例えば、公知の液晶ディスプレイや有機ELディスプレイの如きフラットパネルディスプレイとして構成することができる。
制御部13は、CPU(Central Processing Unit)や、このCPU上で解釈実行される各種のプログラム(OSなどの制御プログラムや各種の処理手順などを規定したプログラム)、及び、所要プログラムや所要データを格納するためのキャッシュメモリを備えて構成される(後述する制御部31も同じ)。このCPU上で解釈実行される各種のプログラムにはクライアント側アプリが含まれ、このクライアント側アプリは、例えば、CD−ROMやDVDを含む任意の記憶媒体に記憶された後、インストールされて記憶部14に不揮発的に記憶され、CPUにて解釈実行されることで制御部13の実質的機能を構成する。
この制御部13は、機能概念的に、メッセージ送信部13a及びメッセージ受信部13bを備えて構成されている。メッセージ送信部13aは、当該クライアント10の入力部11を介して操作が行われた場合、当該操作を特定するための操作内容特定情報を含んだメッセージを生成してサーバ30に送信するメッセージ送信手段である。メッセージ受信部13bは、サーバ30を介して他のクライアント10からメッセージを受信した場合に、当該メッセージに含まれる操作内容特定情報によって特定される操作を、当該クライアント10の出力部12における出力内容に変更を生じさせるための操作として実行するメッセージ受信手段である。これら各部の機能については、各処理と併せて説明する。
記憶部14は、クライアント10で実行される各種処理に必要な情報やパラメータを不揮発的に格納する格納手段であり、例えば、HD(Hard Disk)や半導体メモリにより構成される(後述する記憶部32も同じ)。この記憶部14には、クライアントIDと、先生用アプリ又はクライアント用アプリが記憶されている。クライアントIDは、クライアント10を一意に識別するためのクライアント識別情報である。つまり、記憶部14は、クライアント識別情報を格納するクライアント識別情報格納手段として機能する。
ネットワークIF15は、クライアント10をネットワーク40を介してサーバ30と通信可能に接続するための通信手段であり、例えば、ネットワークボードとして構成されている。
(構成−サーバ)
図1において、サーバ30は、機能概念的に、制御部31、記憶部32、及びネットワークIF33を、バスにて接続して構成されており、例えば、公知のWebサーバを用いて構成されている。
制御部31のCPU上で解釈実行される各種のプログラムにはサーバ側アプリが含まれ、このサーバ側アプリは、例えば、CD−ROMやDVDを含む任意の記憶媒体に記憶された後、インストールされて記憶部32に不揮発的に記憶され、CPUにて解釈実行されることで制御部31の実質的機能を構成する。
この制御部31は、機能概念的に、送受信制御部31aを備えて構成されている。この送受信制御部31aは、クライアント10からメッセージを受信した場合に、当該メッセージを他のクライアント10に転送する送受信制御手段である。特に、この実施の形態1において、送受信制御部31aは、クライアント10からメッセージを受信した場合に、後述する転送先特定情報格納手段にて格納された転送先特定情報に基づいて、当該受信したメッセージの転送先とすべきクライアント10を特定し、当該特定したクライアント10において当該メッセージが受信されるように所定制御を行う転送制御手段として機能する。
記憶部32には、URL別クライアントリスト32a、グループリスト32b、サーバ内処理対象リスト32c、及び転送ルールテーブル32dが記憶されている。これらURL別クライアントリスト32a、グループリスト32b、サーバ内処理対象リスト32c、及び転送ルールテーブル32dは、その一部により又は協同で、メッセージの転送先を特定するための転送先特定情報を構成する。すなわち、記憶部32は、転送先特定情報を格納する転送先特定情報格納手段として機能する。
URL別クライアントリスト32aは、クライアント10がサーバ30に接続する際に使用するURLと、クライアント10の種類とを、相互に関連付けて構成されたリストである。すなわち、記憶部32は、URL別クライアントリスト32aを格納するURL別クライアント特定情報格納手段として機能する。このURL別クライアントリスト32aは、図2の構成例に示すように、項目「URLセット」、項目「URL」、及び項目「クライアントオブジェクト」と、各項目に対応する情報を相互に関連付けて構成されている。項目「URLセット」は、送信先のクライアント10と転送先のクライアント10との組み合わせ(セット)を特定するための情報であり、図2の例では、1つ以上の先生用URLと1つ以上の生徒用URLとを相互に関連付けることで、当該先生用URLを使用してサーバ30に接続したクライアント10と当該生徒用URLを使用してサーバ30に接続するクライアント10とが相互に送信先又は転送先となり、あるいは、これら先生用URLを使用してサーバ30に接続するクライアント10同士や、生徒用URLを使用してサーバ30に接続するクライアント10同士が、相互に送信先又は転送先となることが特定される。項目「URL」に対応する情報は、クライアント10がサーバ30に接続する際に使用したURLである。項目「クライアントオブジェクト」に対応する情報は、クライアント10がサーバ30に接続した際に当該クライアント10毎に対して生成されたクライアントオブジェクトである。このURL別クライアントリスト32aは、後述する接続処理において、クライアント10がサーバ30に接続し、サーバ30によってクライアントオブジェクトが自動的に生成された際、当該生成されたクライアントオブジェクトに基づいて生成又は更新される。
グループリスト32bは、クライアント10を一意に識別するためのクライアントIDと、クライアント10によって構成されるグループを一意に識別するためのグループIDとを、相互に関連付けて構成されたリストである。すなわち、記憶部32は、グループリスト32bを格納するグループ特定情報格納手段として機能する。このグループリスト32bは、図3の構成例に示すように、項目「クライアントID」及び項目「グループID」と、各項目に対応する情報を相互に関連付けて構成されている。項目「クライアントID」に対応する情報は、クライアントIDである。項目「グループID」に対応する情報は、グループを一意に識別するためのグループID(グループ識別情報)である。このグループリスト32bは、後述するグループ設定処理において生成又は生成される。
サーバ内処理対象リスト32cは、クライアント10から送信されたメッセージの中で、他のクライアント10に転送することなくサーバ30の内部で処理すべきメッセージを特定するためのリストである。すなわち、記憶部32は、サーバ内処理対象リスト32cを格納するサーバ内処理メッセージ特定情報格納手段として機能する。このサーバ内処理対象リスト32cは、図4の構成例に示すように、項目「メッセージの種類」と、この項目に対応する情報を相互に関連付けて構成されている。項目「メッセージの種類」に対応する情報は、サーバ30の内部で処理すべきメッセージの種類である。このサーバ内処理対象リスト32cは、サーバ30の管理者が作成して記憶部32に格納する。
転送ルールテーブル32dは、メッセージの送信元のクライアント10の種類と、メッセージの転送先の候補となるクライアント10の種類とを、相互に関連付けて構成されたテーブルである。すなわち、記憶部32は、転送ルールテーブル32dを格納する転送ルール特定情報格納手段として機能する。この転送ルールテーブル32dは、図5の構成例に示すように、項目「送信元のクライアントの種類」、項目「メッセージの種類」、項目「グループIDの有無」、及び項目「転送先の候補となるクライアント」と、これら各項目に対応する情報を相互に関連付けて構成されている。項目「送信元のクライアントの種類」に対応する情報は、メッセージの送信元のクライアント10の種類である。項目「メッセージの種類」に対応する情報は、メッセージの種類である。項目「グループIDの有無」に対応する情報は、グループIDの有無を特定するためのグループ識別情報有無特定情報であり、ここでは、グループIDが無いことを示す「無」、又はグループIDが有ることを示す「有」が格納される。項目「転送先の候補となるクライアント」に対応する情報は、メッセージの転送先の候補となるクライアント10を特定するための転送先クライアント特定情報である。例えば、図5の上から2番目のレコードに格納された転送先特定情報は、クライアント10から送信されてきたメッセージに関して、「送信元のクライアントの種類=生徒」であり(サーバ30との接続に使用しているURLが生徒用のURLであり)、「メッセージの種類=線を描画」であり、かつ、「グループID=無」である(メッセージにグループIDが含まれていない)場合、「転送先の候補となるクライアント=全先生」とする(サーバ30との接続に使用しているURLが先生用のURLである全てのクライアント10を転送先の候補とする)ことを示している。この転送ルールテーブル32dは、サーバ30の管理者が作成して記憶部32に格納する。
ネットワークIF33は、サーバ30をネットワーク40を介してクライアント10と通信可能に接続するための通信手段であり、例えば、ネットワークボードとして構成されている。
(構成−ネットワーク)
図1のネットワーク40としては、WAN(Wide Area Network)であって、代表的にはインターネットであるが、専用通信線やLAN(Local Area Network)を含んでもよい。
(処理)
次に、このように構成された情報出力共有システム1において行われる各種の処理について説明する。この処理は、接続処理、グループ設定処理、及び情報出力共有処理に大別される。以下、各処理について順次説明する。ただし、これら各処理は、実際には一連の連続した処理として実行したり、一部の処理を他の一部の処理の内部処理として実行したりしてもよい。以下の説明においては、特記するタイミングを除いて任意のタイミングにて各処理が行われ、特記する主体を除いて制御部13、30にて処理が行われるものとする。また、「ステップ」を「S」と略記する。
(処理−接続処理)
最初に、接続処理について説明する。この処理は、クライアント10において先生用アプリ又は生徒用アプリが入力部11を用いた所定方法で起動された場合に、起動される処理であり、クライアント10とサーバ30の接続を確立する処理である。図6は、接続処理のフローチャートである。
まず、クライアント10の制御部13は、所定のURLに基づいてサーバ30にアクセスし、所定の通信規格に基づいてサーバ30に接続要求を送信する(SA1)。この際のURLは、例えば、先生用アプリ又は生徒用アプリに予め設定されたものを使用する。
接続要求を受信したサーバ30の制御部31は、所定の通信規格に基づいてクライアント10との接続を確立する(SA2)。また、サーバ30の制御部31は、当該接続を確立したクライアント10を一意に識別するためのクライアントIDを公知の方法で生成し、当該クライアントIDを当該クライアント10に送信する(SA3)。この際、制御部31は、当該生成したクライアントIDを含むクライアントオブジェクトを公知の方法で生成し、当該生成したクライアントオブジェクトを、URL別クライアントリスト32aに格納する。すなわち、URL別クライアントリスト32aには、クライアント10によって使用される先生用URLと生徒用URLとのURLセットが予め設定されており、当該生成したクライアントオブジェクトを、当該クライアント10がサーバ30との接続に使用したURL(先生用URL又は生徒用URL)と関連付けて、URL別クライアントリスト32aに格納する。なお、このようにURL別クライアントリスト32aに格納されたクライアントオブジェクトは、サーバ30との接続が切断された場合に破棄される。
一方、サーバ30からクライアントIDを受信したクライアント10は、当該受信したクライアントIDを記憶部14に格納する(SA4)。これにて接続処理が終了する。
このような接続処理を行うことにより、各先生は、自己のクライアント10の先生用アプリを起動することで、サーバ30と接続することができ、各生徒は、自己のクライアント10の生徒用アプリを起動することで、サーバ30と接続することができる。
このような接続処理の後、各先生は、サーバ30に接続している各生徒用クライアント10BのクライアントIDを任意のタイミングで取得する。具体的には、1)現在サーバ30に接続している各生徒用クライアント10BのクライアントIDの取得処理、2)その後に新規にサーバ30に接続した各生徒用クライアント10BのクライアントIDの取得処理、及び、3)その後にサーバ30との接続を切断した各生徒用クライアント10BのクライアントIDの削除処理が行われる。
現在サーバ30に接続している各生徒用クライアント10BのクライアントIDの取得処理は、以下のよう行われる。まず、各先生用クライアント10Aのメッセージ送信部13aは、各生徒用クライアント10BのクライアントIDを取得するためのメッセージを生成してサーバ30に送信する。このメッセージは、後述する情報出力共有処理で説明するメッセージと同様の形式にて生成され、「メッセージの種類=各生徒のクライアントIDの取得」を含むものである。このメッセージを受信したサーバ30の送受信制御部31aは、当該先生用クライアント10Aと同じURLセットに属する全ての生徒用クライアント10Bを、URL別クライアントリスト32aを参照して特定し、当該特定した全ての生徒用クライアント10Bに、当該メッセージを転送する。この転送を受けた生徒用クライアント10Bのメッセージ受信部13bは、自己の記憶部14に格納されているクライアントIDをサーバ30に送信する。そして、サーバ30の送受信制御部31aは、このクライアントIDを先生用クライアント10Aに送信する。このように送信されたクライアントIDは、先生用クライアント10Aの記憶部14に格納される。このような処理を行うことで、現在サーバ30に接続している各生徒用クライアント10BのクライアントIDが取得される。
その後に新規にサーバ30に接続した各生徒用クライアント10BのクライアントIDの取得処理は、以下のよう行われる。まず、新規にサーバ30に接続した生徒用クライアント10Bのメッセージ送信部13aは、自己の記憶部14に格納されたクライアントIDを送信するためのメッセージを生成してサーバ30に送信する。このメッセージは、後述する情報出力共有処理で説明するメッセージと同様の形式にて生成され、「メッセージの種類=生徒のクライアントIDの送信」、「データ=クライアントID」を含むものである。このメッセージを受信したサーバ30の送受信制御部31aは、当該生徒用クライアント10Bと同じURLセットに属する全ての先生用クライアント10Aを、URL別クライアントリスト32aを参照して特定し、当該特定した全ての先生用クライアント10Aに、当該メッセージを送信する。この送信を受けた先生用クライアント10Aのメッセージ受信部13bは、当該メッセージのデータに含まれるクライアントIDを、自己の記憶部14に追加的に格納する。このような処理を行うことで、新規にサーバ30に接続した各生徒用クライアント10BのクライアントIDが取得される。
また、その後にサーバ30との接続を切断した各生徒用クライアント10BのクライアントIDの削除処理は、以下のよう行われる。まず、生徒用クライアント10Bの切断があった場合、サーバ30の送受信制御部31aは、当該切断した生徒用クライアント10Bに対応するクライアントオブジェクトをURL別クライアントリスト32aから破棄する際に、当該クライアントオブジェクトからクライアントIDを取得し、当該生徒用クライアント10Bと同じURLセットに属する全ての先生用クライアント10Aを、URL別クライアントリスト32aを参照して特定し、当該特定した全ての先生用クライアント10Aに、当該取得したクライアントIDを送信する。この送信を受けた先生用クライアント10Aのメッセージ受信部13bは、当該クライアントIDを、自己の記憶部14から削除する。このような処理を行うことで、サーバ30との接続を切断した各生徒用クライアント10BのクライアントIDが削除される。
以降、このような処理を繰り返すことで、各先生の先生用クライアント10Aには、その時点でサーバ30に接続している各生徒用クライアント10BのクライアントIDが最新の状態で保持されるので、以降の処理では、このクライアントIDを使用することが可能になる。なお、ここでは、先生用クライアント10Aが各生徒用クライアント10BのクライアントIDを保持する場合について説明したが、同様の処理を行うことで、生徒用クライアント10Bが各先生用クライアント10AのクライアントIDを保持するようにしてもよい。
(処理−グループ設定処理)
次に、グループ設定処理について説明する。この処理は、先生用アプリ又は生徒用アプリにおいて入力部11を介してグループ設定処理の実行が所定方法で指示された場合に、起動される。ただし、グループ設定処理の実行は、先生用アプリ又は生徒用アプリのいずれか一方(通常は先生用アプリのみ)から起動できるようにしてもよい。以下では、グループ設定処理の実行を先生用アプリから起動することで、先生が生徒をグループ化する場合について説明する。図7は、グループ設定処理のフローチャートである。
先生用クライアント10Aの制御部13は、先生から入力部11を介してグループ設定要求が所定方法で行われた場合、所定のグループ設定用画面を出力部12に表示する。このグループ設定用画面は、グループの設定に必要な情報を入力するための画面であり、先生用クライアント10Aの記憶部14に格納されている各生徒用クライアント10BのクライアントID(その時点でサーバ30に接続している各生徒用クライアント10BのクライアントID)が表示される。そして、先生は、このグループ設定用画面に含まれるクライアントIDの中で、グループとして指定したい生徒用クライアント10BのクライアントIDを入力部11を介して選択すると共に、任意のグループIDを入力部11を介して入力すると(SB1、Yes)、メッセージ送信部13aは、当該選択されたクライアントIDに基づいてグループ設定用のメッセージを生成してサーバ30に送信する(SB2)。このメッセージは、後述する情報出力共有処理で説明するメッセージと同様の形式にて生成され、「メッセージの種類=生徒のグループの設定」、「データ=クライアントID、グループID」を含むものである。この際、制御部13は、クライアントIDとグループIDとを対応付けて図3と同様のグループリストを生成して記憶部14に格納する。
グループ設定用画面には、クライアントIDに加えて、各クライアントIDにて特定されるクライアント10を使用しているユーザの名前を併せて表示してもよい。例えば、先生用アプリや生徒用アプリに予め設定した名前や、先生用アプリや生徒用アプリの起動時に先生や生徒に入力部11を介して入力させた名前を、サーバ30においてクライアントIDと関連付けて記憶部32に格納しておき、サーバ30からクライアント10にグループ設定用画面用のクライアントIDを送信する際に、各クライアントIDに対応する名前を送信して、クライアントIDと共にグループ設定用画面に表示するようにしてもよい。なお、同様に、名前の他にも、ニックネーム、年齢、性別、顔写真等、クライアント10を特定するための参考になり得る任意の情報を、表示してもよい。
一方、サーバ30の送受信制御部31aは、先生用クライアント10Aからグループ設定用のメッセージを受信した場合には、当該メッセージに含まれるクライアントIDとグループIDとを相互に対応付けてグループリスト32bを生成して記憶部32に格納する(SB3)。また、送受信制御部31aは、グループ設定用のメッセージを生成して生徒用クライアント10Bに送信する(SB4)。このメッセージは、後述する情報出力共有処理で説明するメッセージと同様の形式にて生成され、「メッセージの種類=生徒のグループの設定」、「データ=グループID」を含むものである。このメッセージの送信先の生徒用クライアント10Bは、以下のように特定する。すなわち、メッセージの送信元である先生用クライアント10Aと同一のURLセットに属する生徒用クライアント10BをURL別クライアントリスト32aを参照することにより特定し、当該特定した生徒用クライアント10Bの中で、先生用クライアント10Aのメッセージに含まれるクライアントIDと一致するクライアントIDを有する生徒用クライアント10Bのみを、メッセージの送信先とする。
生徒用クライアント10Bのメッセージ受信部13bは、サーバ30からグループ設定用のメッセージを受信した場合には、当該メッセージに含まれるグループIDを、自己が属するグループのグループIDであるとして、自己の記憶部14に格納する。これにてグループ設定処理が終了する。
(処理−情報出力共有処理)
最後に、情報出力共有処理について説明する。この処理は、情報の出力を複数のクライアント10の相互間で共有的に行うための処理であり、クライアント10で操作が行われる毎に起動される処理(イベント−ドリブン処理)である。図8、9は、情報出力共有処理のフローチャートである。
クライアント10のメッセージ送信部13aは、入力部11を介して出力内容を変更する操作が行われたか否かを監視しており(SC1)、操作が行われた場合には(SC1、Yes)、メッセージを生成して送信する(SC2)。これにて送信元のクライアント10における情報出力共有処理が終了する。
このメッセージは、「メッセージの種類」、「送信元のクライアントID」、「転送先のクライアントID」、「グループID」、及び「データ」を含む情報であり、例えば、これら各情報に対して、これら各情報の種類を示す所定のタグを付加して構成された、JSON文字として生成される。
これら各情報のうち、「メッセージの種類」は、入力部11を介してクライアント10に対して行われた操作に応じて自動的に特定される。例えば、操作が先生用アプリの起動である場合には「メッセージの種類=先生用アプリの起動」、操作が生徒用アプリの起動である場合には「メッセージの種類=生徒用アプリの起動」、操作が線の描画である場合には「メッセージの種類=線の描画」、操作が線の消去である場合には「メッセージの種類=線の消去」、操作が画像の表示である場合には「メッセージの種類=画像の表示」、操作が画像の消去である場合には「メッセージの種類=画像の消去」、操作がping(サーバ30とのネットワーク接続状態の確認)である場合には「メッセージの種類=ping」となる。
「送信元のクライアントID」は、送信元のクライアント10のクライアントIDである。このクライアントIDとしては、上述した接続処理にて記憶部14に格納されたクライアントIDが使用される。
「転送先のクライアントID」は、転送先として指定したいクライアント10が存在する場合における、当該クライアント10のクライアントIDである。この転送先のクライアントIDの具体的な特定方法は任意であるが、例えば、接続処理によってサーバ30に接続されている先生用クライアント10Aの出力部12には、当該先生用クライアント10Aと同一のURLセットに属する全ての生徒用クライアント10Bの出力部12に表示されている出力内容(具体例としてはデスクトップ画面)が、縮小されて並列的に表示される。また、先生用クライアント10Aには、先生用クライアント10Aの出力部12に表示されている各生徒用クライアント10Bの出力部12の出力内容に対応するクライアントIDが、サーバ30から送信され保持されている。このような状況において、先生は、先生用クライアント10Aの出力部12に表示されている各生徒用クライアント10Bの出力部12の出力内容のうち、メッセージの転送先に含めたい出力内容を入力部11を介して指定すると、当該指定された出力内容に対応するクライアントIDが、転送先のクライアントIDとしてメッセージに含められる。あるいは、このような例以外にも、例えば、生徒用クライアント10BのクライアントIDを先生用クライアント10Aの出力部12にリストとして表示し、先生が、当該リストの中から、転送先のクライアントIDを入力部11を介して指定するようにしてもよい。また、このように生徒用クライアント10Bの出力部12の出力内容や、生徒用クライアント10BのクライアントIDのリストを使用する場合、各生徒の名前を併せて表示してもよい。この各生徒の名前は、例えば、生徒用アプリに予め設定した名前や、生徒用アプリの起動時に生徒が入力部11を介して入力した名前を、サーバ30を介して先生用クライアント10Aに送信するようにしてもよい。なお、上記説明では、主として先生が転送先のクライアントIDを選択する場合を例示したが、生徒が転送先のクライアントIDを選択する場合においても、上記説明における「生徒」と「先生」を相互に読み替えることで、説明することができる。
「グループID」は、転送先として指定したいグループが存在する場合における、当該グループのグループIDである。このグループIDの具体的な特定方法は任意であるが、例えば、接続処理によってサーバ30に接続されている先生用クライアント10Aの出力部12には、当該先生用クライアント10Aと同一のURLセットに属する全ての生徒用クライアント10BのクライアントIDと、各生徒用クライアント10Bが属するグループのグループIDとが、サーバ30のグループリスト32bから取得されて、相互に関連付けて出力されている。このような状況において、先生は、出力されているグループIDのうち、メッセージの転送先に含めたいグループのグループIDを入力部11を介して指定すると、当該指定されたグループIDがメッセージに含められる。なお、上記説明では、主として先生がグループIDを選択する場合を例示したが、生徒がグループIDを選択する場合においても、上記説明における「生徒」と「先生」を相互に読み替えることで、説明することができる。なお、転送先のクライアントIDとグループIDは、いずれか一方又は両方を省略することもできる。例えば、両方を省略した場合には、同一のURLセットに属する全てのクライアント10にメッセージを転送するようにしておく。
「データ」は、入力部11を介してクライアント10に対して行われた操作を、転送先のクライアント10において実行するために必要な情報(操作特定情報)であり、入力部11を介してクライアント10に対して行われた操作に応じて自動的に特定される。例えば、操作が先生用アプリの起動である場合には「メッセージの種類=先生用アプリの起動」、操作が生徒用アプリの起動である場合には「メッセージの種類=生徒用アプリの起動」、操作が線の描画である場合には、データは、描画された線の支線座標、通過点座標、終点座標、線太、及び線色を公知の方法で特定する情報を含む。また、操作が線の消去である場合には、データは、消去された線の支線座標、通過点座標、標及び終点座標を公知の方法で特定する情報を含む。また、操作が画像の表示である場合には、表示された画像を特定する情報(例えば、Webから取得した画像である場合には、当該画像を特定するURL)、表示された画像の表示位置、及び表示された画像の表示サイズを公知の方法で特定する情報を含む。操作が画像の消去である場合には、消去された画像を特定する情報を公知の方法で特定する情報を含む。その他、データには、操作の種類に応じて、操作の内容を特定するための情報が公知の方法で特定され含められる。ただし、データは、送信先のクライアント10の出力内容自体を送信する場合(例えば、送信先のクライアント10の画面データをそのまま送信する場合)よりも小さな容量のデータとして構成される。
一方、サーバ30の送受信制御部31aは、クライアント10からのメッセージの受信を監視しており(SC3)、クライアント10からメッセージを受信した場合には(SC3、Yes)、当該受信したメッセージに含まれる情報に基づいた処理を実行する。
最初に、サーバ30の送受信制御部31aは、受信メッセージがサーバ30の内部で処理すべきメッセージであるか否かを判定する(SC4)。具体的には、受信メッセージに含まれるメッセージの種類が、サーバ内処理対象リスト32cに含まれるメッセージの種類に対応する否かを判定し、対応しない場合には、サーバ30の内部で処理すべきメッセージではないと判定し、対応する場合には、サーバ30の内部で処理すべきメッセージであると判定する。例えば、「メッセージの種類=先生用アプリ起動」である場合には、図4に例示するサーバ内処理対象リスト32cに含まれるメッセージの種類に対応するため、サーバ30の内部で処理すべきメッセージであると判定し、「メッセージの種類=線の描画」である場合には、図4に例示するサーバ内処理対象リスト32cに含まれるメッセージの種類に対応しないため、サーバ30の内部で処理すべきメッセージではないと判定する。
そして、サーバ30の内部で処理すべきメッセージであると判定した場合(SC4、Yes)、送受信制御部31aは、当該メッセージを他のクライアント10に転送することなく、サーバ30の内部で処理する(SC5)。例えば、「メッセージの種類=ping実行」である場合には、pingを実行してその結果を、送信元のクライアント10に送信する。これにてサーバ30における情報出力共有処理が終了する。
一方、サーバ30の内部で処理すべきメッセージではないと判定した場合(SC4、No)、サーバ30の送受信制御部31aは、転送ルールを参照して、転送先の候補のクライアント10を特定する(SC6)。具体的には、送信元のクライアント10がサーバ30との接続に使用したURLを公知の方法で特定し、当該特定したURLに基づいてURL別クライアントリスト32aを参照することにより、送信元のクライアント10の種類を特定する。例えば、当該特定したURLが先生用URLであった場合には、「送信元のクライアント10の種類=先生」と特定する。また、受信メッセージに含まれるメッセージの種類を特定する。さらに、受信メッセージにおけるグループIDの有無を特定する。そして、当該特定した送信元のクライアント10の種類、メッセージの種類、及びグループIDの有無の組み合わせに対応する転送先のクライアント10を、転送ルールテーブル32dを参照して特定する。例えば、図5の例において、「送信元のクライアントの種類=生徒」、「メッセージの種類=線を描画」、かつ、「グループID=無」である場合には、「転送先の候補となるクライアント=全先生」を特定する。
次いで、サーバ30の送受信制御部31aは、URL別クライアントリスト32aを参照して、クライアントオブジェクトを取得し、転送先リストを作成する(SC7)。具体的には、SC6で特定した転送先の候補となるクライアント10に対応する全てのクライアントオブジェクトを転送先リストから取得する。例えば、SC6で「転送先の候補となるクライアント=全先生」が特定された場合、図2の例において、送信元のクライアント10がサーバ30との接続に使用したURLに対応するURLセットの中で、先生用URLに対応する全てのクライアントオブジェクトを取得する。そして、当該取得した各クライアントオブジェクトに含まれるクライアントIDを特定し、当該特定したクライアントIDによって構成される転送先リストを生成する。
次いで、サーバ30の送受信制御部31aは、受信したメッセージにおけるグループIDの指定の有無を判定する(SC8)。具体的には、受信したメッセージにグループIDが含まれている場合には、「グループIDの指定=有」と判定し、受信したメッセージにグループIDが含まれていない場合には、「グループIDの指定=無」と判定する。そして、「グループIDの指定=無」と判定した場合には(SC8、No)、次のSC10に移行する。一方、「グループIDの指定=有」と判定した場合には(SC8、Yes)、グループリスト32bを参照して、転送先リストから、グループに属さないクライアントIDを除外する(SC9)。具体的には、受信したメッセージからグループIDを取得し、当該取得したグループIDに対応する全てのクライアントIDをグループリスト32bから取得し、当該取得したクライアントID以外のクライアントIDを、受信したメッセージで指定されたグループに属さないクライアントIDとして、SC7で生成した転送リストから除外する。
その後、サーバ30の送受信制御部31aは、受信したメッセージにおけるクライアントIDの指定の有無を判定する(SC10)。具体的には、受信したメッセージにクライアントIDが含まれている場合には、「クライアントIDの指定=有」と判定し、受信したメッセージにクライアントIDが含まれていない場合には、「クライアントIDの指定=無」と判定する。そして、「クライアントIDの指定=無」と判定した場合には(SC10、No)、次のSC11に移行する。一方、「クライアントIDの指定=有」と判定した場合には(SC10、Yes)、SC7で作成された転送先リストであって、必要に応じてSC8で一部のクライアントIDが除外された転送リストから、受信したメッセージに含まれているクライアントIDと一致しない全てのクライアントIDを除外する(SC12)。
そして、サーバ30の送受信制御部31aは、転送先リストに含まれているクライアントIDに基づいて、メッセージを転送する(SC11)。具体的には、SC7で作成された転送先リストであって、必要に応じてSC8やSC12で一部のクライアントIDが除外された転送リストから、当該転送リストに含まれる全てのクライアントIDを取得する。そして、当該取得したクライアントIDに対応するクライアントオブジェクトをURL別クライアントリスト32aから取得し、当該取得したクライアントオブジェクトに対して、クライアント10への受信メッセージの送信を指示する。この指示を受けたクライアントオブジェクトは、自己に含まれるクライアントIDにて特定されるクライアント10に対してメッセージを送信する。この送信は、URL別クライアントリスト32aにおいて当該クライアントオブジェクトに対応するURLを用いて行われる。このように転送されるメッセージは、例えば、受信メッセージと全く同じメッセージであってもよく、あるいは、転送先のクライアント10で不要な情報を受信メッセージから除外して生成されたメッセージであってもよい。これにてサーバ30における情報出力共有処理が終了する。
一方、クライアント10のメッセージ受信部13bは、サーバ30からのメッセージの受信の有無を監視しており(SC13)、メッセージを受信した場合には(SC13、Yes)、当該受信したメッセージの内容に基づいて、出力部12における出力内容を変更させるための操作を実行する(SC14)。具体的には、メッセージ受信部13bは、受信したメッセージに含まれるメッセージの種類に基づいて、実行すべき操作の内容を特定し、当該特定した操作の内容を実行する。例えば、「メッセージの種類=線を描画」であれば、「データ」で指定された描画された線の支線座標、通過点座標、終点座標、線太、及び線色に基づいて、出力部12に線を描画する。これにて転送先のクライアント10における情報出力共有処理が終了する。
このような情報出力共有処理を行うことにより、先生用クライアント10Aが操作されると、この操作によって生徒用クライアント10Bの出力内容が変更されることで、先生用クライアント10Aの出力内容が生徒用クライアント10B出力内容として共有される。あるいは、生徒用クライアント10Bが操作されると、この操作によって先生用クライアント10Aの出力内容が変更されることで、生徒用クライアント10Bの出力内容が先生用クライアント10A出力内容として共有される。
例えば、先生が、生徒に見せたい問題文や参考資料を先生用クライアント10Aの出力部12に表示すると、これら問題文や参考資料が生徒用クライアント10Bの出力部12にも表示される。この際、先生が、全ての生徒のクライアントIDを指定した場合には、全ての生徒の生徒用クライアント10Bの出力部12に、これら問題文や参考資料が表示される。あるいは、先生が、一部の生徒のみが属するグループのグループIDを指定した場合には、当該グループに属する生徒の生徒用クライアント10Bの出力部12のみに、これら問題文や参考資料が表示される。その後、生徒が、自己の生徒用クライアント10Bの出力部12に表示されている問題文に回答を記入した場合には、先生の先生用クライアント10Aの出力部12に、この回答が表示される。次いで、先生が、出力部12において回答に対して丸印や×印等を書き込むことにより採点を行うと、これら丸印や×印等が生徒用クライアント10Bの出力部12にも表示される。この際、先生が、当該回答を行った生徒のクライアントIDのみを指定することで、当該生徒の生徒用クライアント10Bの出力部12のみに、これら丸印や×印等が表示される。
〔実施の形態2〕
次に、実施の形態2について説明する。この形態は、転送先のクライアントの特定処理を、主にクライアントが行う形態である。ただし、この形態に関する構成や処理は、特記する場合を除いて、実施の形態1で説明した構成や処理と同じであるものとし、必要に応じて、実施の形態1で使用したものと同じ符号を用いて説明する。最初に、本実施の形態に係る情報出力共有システムの構成について説明し、その後に、情報出力共有システムで行われる処理について説明する。
(構成)
まず、本実施の形態2に係る情報出力共有システムの構成について説明する。図10は、本実施の形態2に係る情報出力共有システムを機能概念的に示すブロック図である。
(構成−クライアント)
この実施の形態2において、クライアントの制御部13におけるメッセージ受信部13bは、クライアントからメッセージを受信した場合に、後述する転送先特定情報格納手段にて格納された転送先特定情報に基づいて、当該受信したメッセージの転送先とすべきクライアントを特定し、当該特定したクライアントにおいて当該メッセージが受信されるように所定制御を行う転送制御手段として機能する。
クライアントの記憶部14には、実施の形態1と同様に格納されたクライアントIDに加えて、グループリスト32bが格納されている。これらクライアントID及びグループリスト32bは、その一部により又は協同で、メッセージの転送先を特定するための転送先特定情報を構成する。すなわち、記憶部14は、転送先特定情報を格納する転送先特定情報格納手段として機能する。
(構成−サーバ)
サーバの記憶部32には、実施の形態1における記憶部32の格納内容の中で、グループリスト32bと転送ルールテーブル32dが省略されている。
(処理)
次に、このように構成された情報出力共有システムにおいて行われる各種の処理について説明する。ただし、接続処理は実施の形態1と同様に行うことができるので、その説明を省略し、グループ設定処理と情報出力共有処理を順次説明する。
(処理−グループ設定処理)
最初に、グループ設定処理について説明する。このグループ設定処理は、図7のグループ設定処理とほぼ同様に行うことができるが、SB3は省略される。すなわち、サーバ30の送受信制御部31aは、先生用クライアント10Aからメッセージを受信した場合には、グループリスト32bを生成して記憶部32に格納することなく、グループ設定用のメッセージを生成して生徒用クライアント10Bに送信する(SB4)。これにてグループ設定処理が終了する。
(事務所コメント:図11は図7とほぼ同じになりましたので削除し、図12を図11に繰り上げました。また、図12のステップ「SE」を「SD」に変更致しました。)
(処理−情報出力共有処理)
次に、情報出力共有処理について説明する。図11は、情報出力共有処理のフローチャートである。ただし、SD1〜SD3は、図8の情報出力共有処理のSC1〜SC3とそれぞれ同様に行うことができるので、その説明を省略する。
サーバの送受信制御部31aは、クライアントから受信したメッセージがサーバの内部で処理すべきメッセージではないと判定した場合(SD4、No)、当該メッセージを転送先のクライアントに送信する(SD6)。具体的には、送信元のクライアントがサーバとの接続に使用したURLを公知の方法で特定し、当該特定したURLに基づいてURL別クライアントリスト32aを参照することにより、当該特定したURLと同一のURLセットに対応する全てのクライアントを特定し、当該クライアントを転送先のクライアントとしてメッセージを送信する。これにてサーバは情報出力共有処理を終了する。
一方、クライアントのメッセージ受信部13bは、サーバからのメッセージの受信の有無を監視しており(SD7)、メッセージを受信した場合には(SD7、Yes)、当該受信したメッセージが自己で処理すべきメッセージであるか否かを判定する。
具体的には、メッセージ受信部13bは、受信したメッセージが、自己が属するグループに送信されたものであるか否かを判定する(SD8)。具体的には、受信したメッセージにおけるグループIDの指定の有無を判定し、受信したメッセージにグループIDが含まれていない場合には、次のSD9に移行する。一方、受信したメッセージにグループIDが含まれている場合には、当該グループIDに対応する全てのクライアントIDをグループリスト32bから取得し、当該取得したクライアントIDに、自己のクライアントIDが含まれるか否かを判定し、含まれる場合には、受信したメッセージが、自己が属するグループに送信されたものであると判定し、含まれない場合には、受信したメッセージが、自己が属するグループに送信されたものではないと判定する。そして、自己が属するグループに送信されたものではないと判定した場合には(SD8、No)、情報出力共有処理を終了する。
一方、受信したメッセージにグループIDが含まれていない場合や、受信したメッセージが自己が属するグループに送信されたものであると判定した場合には(SD8、Yes)、受信したメッセージが、自己に送信されたものであるか否かを判定する(SD9)。具体的には、受信したメッセージにおけるクライアントIDの指定の有無を判定し、受信したメッセージにクライアントIDが含まれていない場合には、SD10に移行する。一方、受信したメッセージにクライアントIDが含まれている場合には、当該クライアントIDが、自己のクライアントIDに一致するか否かを判定し、一致する場合には、受信したメッセージが、自己に送信されたものであると判定し、一致しない場合には、受信したメッセージが、自己に送信されたものであると判定する。そして、自己に送信されたものではないと判定した場合には(SD9、No)、情報出力共有処理を終了する。
一方、受信したメッセージにクライアントIDが含まれていない場合や、受信したメッセージが自己に送信されたものであると判定した場合には(SD9、Yes)、受信したメッセージの内容に基づいて、自己の出力部12における出力内容を変更させるための操作を実行する(SD10)。具体的には、メッセージ受信部13bは、受信したメッセージに含まれるメッセージの種類に基づいて、実行すべき操作の内容を特定し、当該特定した操作の内容を実行する。例えば、「メッセージの種類=線を描画」であれば、「データ」で指定された描画された線の支線座標、通過点座標、終点座標、線太、及び線色に基づいて、出力部12に線を描画する。これにて転送先のクライアントにおける情報出力共有処理が終了する。
(変形例)
以上、本発明に係る実施の形態について説明したが、本発明の具体的な構成及び手段は、特許請求の範囲に記載した各発明の技術的思想の範囲内において、任意に改変及び改良することができる。以下、このような変形例について説明する。
(解決しようとする課題や発明の効果について)
まず、発明が解決しようとする課題や発明の効果は、前記した内容に限定されるものではなく、本発明によって、前記に記載されていない課題を解決したり、前記に記載されていない効果を奏することもでき、また、記載されている課題の一部のみを解決したり、記載されている効果の一部のみを奏することがある。例えば、画像や音声の如き各種の情報の出力を、複数のクライアントの相互間で共有的に行うことを、従来よりも容易かつ低負荷で行うことができない場合であっても、従来と同様の効果を従来とは異なる手段で得ることができる場合に、本願発明の課題が解決されている。
(分散や統合について)
また、上述した各電気的構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各部の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的又は物理的に分散したり統合したりして構成できる。例えば、サーバの機能を、複数のサーバに分散することもできる。また、サーバやクライアントの記憶部14に記憶されたテーブルやリストについても、任意に分散したり統合したりすることが可能である。
特に、サーバの機能とクライアントの機能は、任意に分散内容を変更することが可能である。例えば、転送先クライアントの特定処理を、実施の形態1で説明したように主にサーバが行う形態と、実施の形態2で説明したように主にクライアントが行う形態の他、サーバとクライアントが協同して行う形態としてもよい。この場合には、実施の形態1におけるサーバの記憶部32や制御部31の一部をクライアントに持たせ、あるいは、実施の形態1におけるクライアントの記憶部14や制御部13の一部をサーバに持たせればよい。
(共有する情報の範囲について)
複数のクライアントの相互間で共有する情報の範囲を、任意の方法で制限してもよい。例えば、特定の種類の画像について共有することを制限したり、クライアントの出力部12の出力範囲における特定領域の情報のみを共有したりするようにしてもよい。このような制限は、例えば、共有可能範囲や共有制限範囲をクライアント側アプリに設定しておき、クライアント側アプリで共有可否を判定し、共有可能と判定した情報のみをメッセージとして送信するようにすればよい。
(ユーザの種類やクライアントの種類の増加について)
上記各実施の形態では、「ユーザの種類」として「先生」と「生徒」がいる場合であって、「クライアントの種類」として先生用クライアント10Aと生徒用クライアント10Bを設けた場合について説明したが、これらユーザの種類やクライアントの種類を増加させてもよい。例えば、ユーザの種類としては、先生を指導する者である「指導教員」を加えると共に、クライアントの種類としては、指導教員が使用する「指導教員用クライアント」(図示は省略)を含めてもよい。この場合、指導教員用クライアントと先生用クライアント10Aとの相互間における情報出力の共有を、先生用クライアント10Aと生徒用クライアント10Bとの相互間における情報出力の共有と同様に行うこととしてもよく、この場合には、複数の先生の各々の先生用クライアント10の出力部12の出力内容を、指導教員の指導教員用クライアントの出力部12の出力内容として共有することができ、指導教員は複数の先生の各々の授業内容を閲覧等することが可能になる。
また、一つのユーザで複数のクライアント10を使用可能としたり、複数の種類の異なるユーザで共通のクライアント10を使用可能としたりしてもよい。例えば、クライアント10として、電子黒板的な機能を有する「黒板クライアント」(図示は省略)を設ける。この黒板クライアントは、例えば、上記説明したクライアント10と同様に構成することができるが、出力部12が複数ユーザが容易に閲覧可能な程度の大きさで構成されている。そして、先生が、自己の先生用クライアント10Aと黒板クライアントの両方を使用する場合、先生用クライアント10Aの出力部12の出力内容を黒板クライアントの出力部12の出力内容にそのまま反映させることで、出力内容を生徒にも見せたり、先生が黒板クライアントの操作を行った場合に、この操作を生徒用クライアント10Bの出力内容のみに反映させることができる。あるいは、先生と生徒が黒板クライアントを共用する場合、先生や生徒が黒板クライアントの操作を行った場合に、この操作を先生用クライアント10Aの出力内容と生徒用クライアント10Bの出力内容に反映させることができる。
(クライアントIDの取得処理について)
また、上記各実施の形態では、各先生の先生用クライアント10Aには、その時点でサーバ30に接続している各生徒用クライアント10BのクライアントIDが最新の状態で保持されるものとして説明したが、このクライアントIDは、必要に応じて取得するようにしてもよい。例えば、グループ設定処理を行う際に、先生の先生用クライアント10Aのメッセージ送信部13aが、上述した「現在サーバ30に接続している各生徒用クライアント10BのクライアントIDの取得処理」と同様に、各生徒用クライアント10BのクライアントIDを取得するためのメッセージを生成してサーバ30に送信することで、各生徒用クライアント10BのクライアントIDを取得するようにしてもよい。
また、上述した「現在サーバ30に接続している各生徒用クライアント10BのクライアントIDの取得処理」では、先生用クライアント10Aからサーバ30を介して生徒用クライアント10BにクライアントIDの送信を要求しているが、先生用クライアント10Aとサーバ30のみの間でこの処理を完結させてもよい。例えば、サーバ30の送受信制御部31aは、先生用クライアント10Aから生徒用クライアント10BのクライアントIDの取得要求を受けた場合、記憶部32のURL別クライアントリスト32aを参照することによって、あるいは各生徒用クライアント10BにクライアントIDの送信要求を行うことによって、その時点でサーバ30に接続している生徒用クライアント10BのクライアントIDを取得し、当該取得したクライアントIDを先生用クライアント10Aに送信するようにしてもよい。
(グループ設定処理について)
上記各実施の形態では、先生用クライアント10Aにおいて先生がグループIDを入力しているが、サーバ30の送受信制御部31aが生成するようにしてもよい。例えば、送受信制御部31aは、先生用クライアント10Aからグループ設定用のメッセージを受信した場合には、グループIDを公知の方法で生成し、当該生成したグループIDと当該メッセージに含まれるクライアントIDとを相互に対応付けてグループリスト32bを生成して記憶部32に格納する。また、送受信制御部31aは、当該生成したグループIDを先生用クライアント10Aに送信し、先生用クライアント10Aのメッセージ受信部13bは、当該送信されたグループIDを、クライアントIDと対応付けて、図3と同様のグループリストを生成して記憶部14に格納する。
1 情報出力共有システム
10 クライアント
10A 先生用クライアント
10B 生徒用クライアント
11 入力部
12 出力部
13、31 制御部
13a メッセージ送信部
13b メッセージ受信部
14、32 記憶部
15、33 ネットワークIF
30 サーバ
31a 送受信制御部
32a URL別クライアントリスト
32b グループリスト
32c サーバ内処理対象リスト
32d 転送ルールテーブル
40 ネットワーク

Claims (3)

  1. 複数のクライアントとサーバとを、ネットワークを介して相互に通信可能に接続して構成された、情報出力共有システムであって、
    前記複数のクライアントの各々は、
    当該クライアントの入力手段を介して当該クライアントの出力手段における出力内容に変更を生じさせる操作が行われた場合、当該操作を特定するための操作内容特定情報を含んだメッセージを生成して前記サーバに送信するメッセージ送信手段と、
    前記サーバを介して他の前記クライアントから前記メッセージを受信した場合に、当該メッセージに含まれる操作内容特定情報によって特定される操作を、当該クライアントの出力手段における出力内容に変更を生じさせるための操作として実行するメッセージ受信手段とを備え、
    前記サーバは、
    前記クライアントから前記メッセージを受信した場合に、当該メッセージを他の前記クライアントに転送する送受信制御手段と、
    前記メッセージの転送先を特定するための転送先特定情報を格納する転送先特定情報格納手段と、
    前記クライアントから前記メッセージを受信した場合に、前記転送先特定情報格納手段にて格納された前記転送先特定情報に基づいて、当該受信したメッセージの転送先とすべきクライアントを特定し、当該特定したクライアントにおいて当該メッセージが受信されるように所定制御を行う転送制御手段とを備え
    前記転送先特定情報格納手段は、
    前記クライアントが前記サーバに接続する際に使用するURLと、前記クライアントの種類とを、相互に関連付けて構成されたURL別クライアントリスト、を格納するURL別クライアント特定情報格納手段と、
    前記メッセージの送信元のクライアントの種類と、前記メッセージの転送先の候補となるクライアントの種類とを、相互に関連付けて構成された転送ルールテーブル、を格納する転送ルール特定情報格納手段と、を有し、
    前記転送制御手段は、
    前記クライアントから前記メッセージを受信した場合に、当該クライアントが当該サーバに接続した際に使用したURLに対応するクライアントの種類を前記URL別クライアント特定情報格納手段を参照して特定することにより、当該メッセージの送信元のクライアントの種類を特定し、
    当該特定したメッセージの送信元のクライアントの種類に対応するメッセージの転送先の候補となるクライアントの種類を前記転送ルール特定情報格納手段を参照して特定し、
    当該特定したメッセージの転送先の候補となるクライアントの種類に対応するURLを前記URL別クライアント特定情報格納手段を参照して特定し、
    当該特定したURLに基づいて、当該受信したメッセージの転送先とすべきクライアントを特定する、
    情報出力共有システム。
  2. 前記転送先特定情報格納手段は、前記クライアントを一意に識別するためのクライアントIDと、前記クライアントによって構成されるグループを一意に識別するためのグループIDとを、相互に関連付けて構成されたグループリスト、を格納するグループ特定情報格納手段を有し、
    前記転送制御手段は、前記クライアントから前記メッセージを受信した場合に、当該メッセージに含まれるグループIDに対応するクライアントIDを前記グループ特定情報格納手段から取得し、当該取得したクライアントIDに基づいて、当該受信したメッセージの転送先とすべきクライアントを特定する、
    請求項1に記載の情報出力共有システム。
  3. 複数のクライアントに対してネットワークを介して通信可能に接続して構成されたサーバにて実行される情報出力共有プログラムであって、
    前記サーバは、複数のクライアントのいずれかから送信されたメッセージを他の前記クライアントに転送する際における、当該メッセージの転送先を特定するための転送先特定情報を格納する転送先特定情報格納手段を備え、
    前記転送先特定情報格納手段は、
    前記クライアントが前記サーバに接続する際に使用するURLと、前記クライアントの種類とを、相互に関連付けて構成されたURL別クライアントリスト、を格納するURL別クライアント特定情報格納手段と、
    前記メッセージの送信元のクライアントの種類と、前記メッセージの転送先の候補となるクライアントの種類とを、相互に関連付けて構成された転送ルールテーブル、を格納する転送ルール特定情報格納手段と、を有し、
    前記サーバを、
    前記クライアントから前記メッセージを受信した場合に、当該メッセージを他の前記クライアントに転送する送受信制御手段と、
    前記クライアントから前記メッセージを受信した場合に、前記転送先特定情報格納手段にて格納された前記転送先特定情報に基づいて、当該受信したメッセージの転送先とすべきクライアントを特定し、当該特定したクライアントにおいて当該メッセージが受信されるように所定制御を行う転送制御手段と、して機能させ、
    前記転送制御手段は、
    前記クライアントから前記メッセージを受信した場合に、当該クライアントが当該サーバに接続した際に使用したURLに対応するクライアントの種類を前記URL別クライアント特定情報格納手段を参照して特定することにより、当該メッセージの送信元のクライアントの種類を特定し、
    当該特定したメッセージの送信元のクライアントの種類に対応するメッセージの転送先の候補となるクライアントの種類を前記転送ルール特定情報格納手段を参照して特定し、
    当該特定したメッセージの転送先の候補となるクライアントの種類に対応するURLを前記URL別クライアント特定情報格納手段を参照して特定し、
    当該特定したURLに基づいて、当該受信したメッセージの転送先とすべきクライアントを特定する、
    情報出力共有プログラム。
JP2012052481A 2012-03-09 2012-03-09 情報出力共有システム Expired - Fee Related JP5086486B1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012052481A JP5086486B1 (ja) 2012-03-09 2012-03-09 情報出力共有システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012052481A JP5086486B1 (ja) 2012-03-09 2012-03-09 情報出力共有システム

Publications (2)

Publication Number Publication Date
JP5086486B1 true JP5086486B1 (ja) 2012-11-28
JP2013186769A JP2013186769A (ja) 2013-09-19

Family

ID=47435616

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012052481A Expired - Fee Related JP5086486B1 (ja) 2012-03-09 2012-03-09 情報出力共有システム

Country Status (1)

Country Link
JP (1) JP5086486B1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5301742B1 (ja) * 2013-01-30 2013-09-25 Sky株式会社 通信端末制御システム
JP5307304B1 (ja) * 2013-04-17 2013-10-02 Sky株式会社 通信端末制御システム
JP2014149804A (ja) * 2013-06-11 2014-08-21 Sky Co Ltd 通信端末制御システム

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6354280B2 (ja) * 2014-04-18 2018-07-11 株式会社リコー 情報処理システム、情報処理装置、及び情報処理プログラム

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002116996A (ja) * 2000-10-05 2002-04-19 Hokkaido Technology Licence Office Co Ltd 協調作業支援方法およびシステム、並びに協調作業用クライアント端末装置および協調作業コーディネータ並びに記録媒体
JP2002183021A (ja) * 2000-12-19 2002-06-28 Fujitsu Ltd 通信方法及び装置
JP2003044429A (ja) * 2001-05-25 2003-02-14 Nippon Telegraph & Telephone East Corp コラボレーション用の端末、コラボレーションシステム及びコラボレーション方法
JP2004252614A (ja) * 2003-02-19 2004-09-09 Shizuoka Internet Kk メールチャットシステム
JP2005056163A (ja) * 2003-08-05 2005-03-03 Internatl Business Mach Corp <Ibm> コラボレーション・システムのためのサーバ装置、コラボレーション・システムのためのクライアント装置、コンピュータ装置をコラボレーション・システムのためのサーバ装置として機能させるためのプログラム、およびコンピュータ装置をコラボレーション・システムのためのクライアント装置として機能させるためのプログラム並びにコラボレーション・システム
JP2006190255A (ja) * 2004-11-18 2006-07-20 Microsoft Corp グラフィクス・ストリームの多重化および分離
JP2007048292A (ja) * 2005-08-09 2007-02-22 Seiko Epson Corp 電子文書を生成する方法及び電子文書
JP2007079988A (ja) * 2005-09-14 2007-03-29 Nec Corp Wwwブラウザ、htmlページ共有システムおよびhtmlページ共有方法
JP2010152772A (ja) * 2008-12-26 2010-07-08 Mitsubishi Electric Corp 情報処理装置及び情報処理方法及びプログラム
JP2011215879A (ja) * 2010-03-31 2011-10-27 Sharp Corp 操作用通信装置、非操作用通信装置、操作用通信装置の制御方法、非操作用通信装置の制御方法、通信システム、操作用通信プログラム、非操作用通信プログラム及び記録媒体

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002116996A (ja) * 2000-10-05 2002-04-19 Hokkaido Technology Licence Office Co Ltd 協調作業支援方法およびシステム、並びに協調作業用クライアント端末装置および協調作業コーディネータ並びに記録媒体
JP2002183021A (ja) * 2000-12-19 2002-06-28 Fujitsu Ltd 通信方法及び装置
JP2003044429A (ja) * 2001-05-25 2003-02-14 Nippon Telegraph & Telephone East Corp コラボレーション用の端末、コラボレーションシステム及びコラボレーション方法
JP2004252614A (ja) * 2003-02-19 2004-09-09 Shizuoka Internet Kk メールチャットシステム
JP2005056163A (ja) * 2003-08-05 2005-03-03 Internatl Business Mach Corp <Ibm> コラボレーション・システムのためのサーバ装置、コラボレーション・システムのためのクライアント装置、コンピュータ装置をコラボレーション・システムのためのサーバ装置として機能させるためのプログラム、およびコンピュータ装置をコラボレーション・システムのためのクライアント装置として機能させるためのプログラム並びにコラボレーション・システム
JP2006190255A (ja) * 2004-11-18 2006-07-20 Microsoft Corp グラフィクス・ストリームの多重化および分離
JP2007048292A (ja) * 2005-08-09 2007-02-22 Seiko Epson Corp 電子文書を生成する方法及び電子文書
JP2007079988A (ja) * 2005-09-14 2007-03-29 Nec Corp Wwwブラウザ、htmlページ共有システムおよびhtmlページ共有方法
JP2010152772A (ja) * 2008-12-26 2010-07-08 Mitsubishi Electric Corp 情報処理装置及び情報処理方法及びプログラム
JP2011215879A (ja) * 2010-03-31 2011-10-27 Sharp Corp 操作用通信装置、非操作用通信装置、操作用通信装置の制御方法、非操作用通信装置の制御方法、通信システム、操作用通信プログラム、非操作用通信プログラム及び記録媒体

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5301742B1 (ja) * 2013-01-30 2013-09-25 Sky株式会社 通信端末制御システム
JP5307304B1 (ja) * 2013-04-17 2013-10-02 Sky株式会社 通信端末制御システム
JP2014149804A (ja) * 2013-06-11 2014-08-21 Sky Co Ltd 通信端末制御システム

Also Published As

Publication number Publication date
JP2013186769A (ja) 2013-09-19

Similar Documents

Publication Publication Date Title
US10848556B2 (en) Systems and methods for adding digital content to content management service accounts
CN105376443B (zh) 云系统以及由云系统显示内容的方法
KR101455405B1 (ko) 컨텐츠를 목표 주소로 전송하는 방법, 컨텐츠를 목표주소로 전송하는 시스템, 기본 사용자 인터페이스프리젠테이션을 적어도 하나의 컨텐츠-전달 아이콘으로채우는 방법 및 컴퓨터 판독가능 매체
US8775850B2 (en) Transferring state information between electronic devices
JP4286789B2 (ja) 同期プログラム
JP5086486B1 (ja) 情報出力共有システム
JP2006345214A (ja) 3次元イメージデータ配信装置並びに3次元イメージデータ配信方法
JP5645198B2 (ja) 携帯型電子機器
US9424207B2 (en) Information processing device, program, information processing method, and information processing system
JP2017083984A (ja) ネットワークシステム、サーバ、および端末
JP2008158695A (ja) オンラインサービスを提供する情報処理システム及びプログラム
KR20140043354A (ko) 정보 처리 장치, 정보 처리 시스템, 및 프로그램
US20150169143A1 (en) System for providing virtual space for individual steps of executing application
JP2006268488A (ja) 画像表示システム、端末及びそのプログラム
JP6327551B2 (ja) データ管理装置、データ配信システム
JP2008033862A (ja) ドキュメントデータを表示させる方法
JP2014533869A (ja) ミニブログアルバムへアクセスするための方法とシステム、及びミニブログクライアント
JP5865551B2 (ja) コンテンツ表示方法、プログラム及びコンテンツ表示システム
JP2012194776A (ja) 画像送信装置およびサーバー装置
JP6136393B2 (ja) 検索支援システム、情報共有システム、方法およびプログラム
JP2019040573A (ja) 情報処理システム、情報処理装置、プログラム及び画面共有端末制御方法
JP2013008216A (ja) 情報処理システム、情報処理方法および情報処理プログラム
JP6161460B2 (ja) コンテンツ表示システムならびに同システムを構成するサーバ及び端末
JP2013174949A (ja) 情報管理システム、情報管理装置、及び情報管理方法
JP2011048510A (ja) コンテンツファイル情報管理装置

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120906

R150 Certificate of patent or registration of utility model

Ref document number: 5086486

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150914

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees