(57)【要約】【課題】画像や音声の如き各種の情報の出力を、複数のクライアントの相互間で共有的に行うことを、従来よりも容易かつ低負荷で行うことが可能になる、情報出力共有システム等を提供すること。【解決手段】複数のクライアント１０とサーバ３０とを通信可能に接続して構成された情報出力共有システム１であって、クライアント１０は、クライアント１０の出力内容に変更を生じさせる操作を特定するための操作内容特定情報を含んだメッセージをサーバに送信するメッセージ送信部１３ａと、他のクライアント１０から受信したメッセージで特定される操作を実行するメッセージ受信部１３ｂとを備える。複数のクライアント１０の各々又はサーバ３０の少なくとも一方は、メッセージの転送先を特定するための転送先特定情報を格納する手段と、転送先特定情報に基づいて、メッセージの転送先とすべきクライアントを特定する手段とを備える。【選択図】図１
2013186769.tif 000002
【特許請求の範囲】
【請求項１】
複数のクライアントとサーバとを、ネットワークを介して相互に通信可能に接続して構成された、情報出力共有システムであって、
前記複数のクライアントの各々は、
当該クライアントの入力手段を介して当該クライアントの出力手段における出力内容に変更を生じさせる操作が行われた場合、当該操作を特定するための操作内容特定情報を含んだメッセージを生成して前記サーバに送信するメッセージ送信手段と、
前記サーバを介して他の前記クライアントから前記メッセージを受信した場合に、当該メッセージに含まれる操作内容特定情報によって特定される操作を、当該クライアントの出力手段における出力内容に変更を生じさせるための操作として実行するメッセージ受信手段とを備え、
前記サーバは、
前記クライアントから前記メッセージを受信した場合に、当該メッセージを他の前記クライアントに転送する送受信制御手段を備え、
前記複数のクライアントの各々又は前記サーバの少なくとも一方は、
前記メッセージの転送先を特定するための転送先特定情報を格納する転送先特定情報格納手段と、
前記クライアントから前記メッセージを受信した場合に、前記転送先特定情報格納手段にて格納された前記転送先特定情報に基づいて、当該受信したメッセージの転送先とすべきクライアントを特定し、当該特定したクライアントにおいて当該メッセージが受信されるように所定制御を行う転送制御手段とを備える、
情報出力共有システム。
【請求項２】
前記転送先特定情報格納手段は、前記クライアントを一意に識別するためのクライアントＩＤと、前記クライアントによって構成されるグループを一意に識別するためのグループＩＤとを、相互に関連付けて構成されたグループリスト、を格納するグループ特定情報格納手段を有し、
前記転送制御手段は、前記クライアントから前記メッセージを受信した場合に、当該メッセージに含まれるグループＩＤに対応するクライアントＩＤを前記グループ特定情報格納手段から取得し、当該取得したクライアントＩＤに基づいて、当該受信したメッセージの転送先とすべきクライアントを特定する、
請求項１に記載の情報出力共有システム。
【請求項３】
前記サーバは、前記転送先特定情報格納手段及び前記転送制御手段を備え、
前記サーバの前記転送先特定情報格納手段は、
前記クライアントが前記サーバに接続する際に使用するＵＲＬと、前記クライアントの種類とを、相互に関連付けて構成されたＵＲＬ別クライアントリスト、を格納するＵＲＬ別クライアント特定情報格納手段と、
前記メッセージの送信元のクライアントの種類と、前記メッセージの転送先の候補となるクライアントの種類とを、相互に関連付けて構成された転送ルールテーブル、を格納する転送ルール特定情報格納手段と、を有し、
前記サーバの前記転送制御手段は、
前記クライアントから前記メッセージを受信した場合に、当該クライアントが当該サーバに接続した際に使用したＵＲＬに対応するクライアントの種類を前記ＵＲＬ別クライアント特定情報格納手段を参照して特定することにより、当該メッセージの送信元のクライアントの種類を特定し、
当該特定したメッセージの送信元のクライアントの種類に対応するメッセージの転送先の候補となるクライアントの種類を前記転送ルール特定情報格納手段を参照して特定し、
当該特定したメッセージの転送先の候補となるクライアントの種類に対応するＵＲＬを前記ＵＲＬ別クライアント特定情報格納手段を参照して特定し、
当該特定したＵＲＬに基づいて、当該受信したメッセージの転送先とすべきクライアントを特定する、
請求項１又は２に記載の情報出力共有システム。
【請求項４】
前記サーバは、前記クライアントから受信したメッセージを、前記複数のクライアントに転送し、
前記クライアントは、前記転送先特定情報格納手段及び前記転送制御手段を備え、
前記クライアントの前記転送先特定情報格納手段は、当該クライアントを一意に識別するためのクライアントＩＤを格納し、
前記クライアントの前記転送制御手段は、前記サーバから前記メッセージを受信した場合に、当該メッセージに含まれるクライアントＩＤが前記転送先特定情報格納手段に格納されたクライアントＩＤに一致するか否かを特定し、一致する場合には、当該クライアントを当該受信したメッセージの転送先とすべきクライアントとして特定する、
請求項１又は２に記載の情報出力共有システム。
【請求項５】
複数のクライアントに対してネットワークを介して通信可能に接続して構成されたサーバにて実行される情報出力共有プログラムであって、
前記サーバは、複数のクライアントのいずれかから送信されたメッセージを他の前記クライアントに転送する際における、当該メッセージの転送先を特定するための転送先特定情報を格納する転送先特定情報格納手段を備え、
前記転送先特定情報格納手段は、
前記クライアントが前記サーバに接続する際に使用するＵＲＬと、前記クライアントの種類とを、相互に関連付けて構成されたＵＲＬ別クライアントリスト、を格納するＵＲＬ別クライアント特定情報格納手段と、
前記メッセージの送信元のクライアントの種類と、前記メッセージの転送先の候補となるクライアントの種類とを、相互に関連付けて構成された転送ルールテーブル、を格納する転送ルール特定情報格納手段と、を有し、
前記サーバを、
前記クライアントから前記メッセージを受信した場合に、当該メッセージを他の前記クライアントに転送する送受信制御手段と、
前記クライアントから前記メッセージを受信した場合に、前記転送先特定情報格納手段にて格納された前記転送先特定情報に基づいて、当該受信したメッセージの転送先とすべきクライアントを特定し、当該特定したクライアントにおいて当該メッセージが受信されるように所定制御を行う転送制御手段と、して機能させ、
前記転送制御手段は、
前記クライアントから前記メッセージを受信した場合に、当該クライアントが当該サーバに接続した際に使用したＵＲＬに対応するクライアントの種類を前記ＵＲＬ別クライアント特定情報格納手段を参照して特定することにより、当該メッセージの送信元のクライアントの種類を特定し、
当該特定したメッセージの送信元のクライアントの種類に対応するメッセージの転送先の候補となるクライアントの種類を前記転送ルール特定情報格納手段を参照して特定し、
当該特定したメッセージの転送先の候補となるクライアントの種類に対応するＵＲＬを前記ＵＲＬ別クライアント特定情報格納手段を参照して特定し、
当該特定したＵＲＬに基づいて、当該受信したメッセージの転送先とすべきクライアントを特定する、
情報出力共有プログラム。
【請求項６】
サーバに対してネットワークを介して通信可能に接続して構成された複数のクライアントの各々にて実行される情報出力共有プログラムであって、
前記クライアントを、
当該クライアントの入力手段を介して当該クライアントの出力手段における出力内容に変更を生じさせる操作が行われた場合、当該操作を特定するための操作内容特定情報を含んだメッセージを生成して前記サーバに送信するメッセージ送信手段と、
前記サーバを介して他の前記クライアントから前記メッセージを受信した場合に、当該メッセージに含まれる操作内容特定情報によって特定される操作を、当該クライアントの出力手段における出力内容に変更を生じさせるための操作として実行するメッセージ受信手段として機能させる、
情報出力共有プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、各種の情報の出力を複数のクライアントの相互間で共有的に行うための情報出力共有システムに関する。
【背景技術】
【０００２】
従来、複数のクライアントの相互間においてデスクトップ画像を共有的に表示するためのシステムが提案されている。このようなシステムによれば、例えば、共通の画像を見ながら複数の参加者が会議を行う電子会議や、共通の画像を見ながら先生が複数の生徒に対して授業を行う電子授業を、これら各ユーザが相互に離れた場所にいる場合であっても実現することが可能になる。
【０００３】
このようなシステムにおいては、複数のクライアントに対して、画像の全体又は更新部分のデータを一定時間毎に送信等する必要があった。例えば、特許文献１には、複数台のクライアントをサーバを介して通信可能に接続して構成されたシステムにおいて、サーバの共有画面領域が更新される毎に、サーバから各クライアントに対して画像データを送信するシステムが開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−３４８２６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、このような従来のシステムにおいては、画像が更新される毎に画像データをクライアントに送信する必要があったので、システム負荷やネットワーク負荷が増大し、システム環境やネットワーク環境によってはクライアントにおける画像更新が迅速に行われなくなる等の問題があった。特に、単なる更新後の画像のみでなく、更新中の描画状態まで共有することでリアルタイム感を持たせたい場合や、クライアントの数が多い場合には、一層大量の画像データを高頻度で送信等する必要が生じるため、問題が一層顕著になっていた。
【０００６】
本発明は、上記に鑑みてなされたものであって、画像や音声の如き各種の情報の出力を、複数のクライアントの相互間で共有的に行うことを、従来よりも容易かつ低負荷で行うことが可能になる、情報出力共有システム、情報出力共有サーバ、情報出力共有クライアント、及び情報出力共有プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
請求項１に記載の情報出力共有システム又は請求項６に記載の情報出力共有プログラムによれば、クライアントの出力手段における出力内容に変更を生じさせる操作を特定するための操作内容特定情報を含んだメッセージが他のクライアントに転送され、当該他のクライアントで当該操作が実行されるので、画像データ等の出力内容自体を転送する場合に比べて、クライアントやサーバの処理負荷を低減することができると共に、ネットワークの負荷を低減することができる。このため、従来よりも高速で情報出力共有処理を実行することができ、情報出力共有におけるリアルタイム性や利便性を向上させることが可能になる。
【０００８】
請求項２に記載の情報出力共有システムによれば、グループＩＤに対応するクライアントＩＤが取得され、当該取得したクライアントＩＤに基づいてメッセージの転送先とすべきクライアントが特定されるので、メッセージの転送先をグループという概念で特定することができ、目的や用途に応じた様々なグループを設定して使い分けることが可能になり、メッセージの転送先をクライアント毎に特定する場合に比べて、情報出力共有における利便性を向上させることが可能になる。
【０００９】
請求項３に記載の情報出力共有システム又は請求項５に記載の情報出力共有プログラムによれば、メッセージの転送先が主としてサーバによって特定されるので、クライアントの負荷を軽減することが可能になる。
【００１０】
請求項４に記載の情報出力共有システムによれば、メッセージの転送先が主としてクライアントによって特定されるので、サーバの負荷を軽減することが可能になると共に、サーバが何らかの原因でダウン等した場合であっても他のサーバに容易に切り替えて情報出力共有を継続できるので、情報出力共有の信頼性を向上させることが可能になる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施の形態１に係る情報出力共有システムを機能概念的に示すブロック図である。
【図２】ＵＲＬ別クライアントリストの構成例を示す図である。
【図３】グループリストの構成例を示す図である。
【図４】サーバ内処理対象リストの構成例を示す図である。
【図５】転送ルールテーブルの構成例を示す図である。
【図６】接続処理のフローチャートである。
【図７】グループ設定処理のフローチャートである。
【図８】情報出力共有処理のフローチャートである。
【図９】図８に続く情報出力共有処理のフローチャートである。
【図１０】本実施の形態２に係る情報出力共有システムを機能概念的に示すブロック図である。
【図１１】情報出力共有処理のフローチャートである。
【発明を実施するための形態】
【００１２】
以下に添付図面を参照して、この発明に係る情報出力共有システムの各実施の形態を詳細に説明する。まず、各実施の形態に共通の基本的概念について説明した後、各実施の形態の具体的内容を説明し、最後に各実施の形態に対する変形例について説明する。ただし、各実施の形態によって本発明が限定されるものではない。
【００１３】
〔各実施の形態に共通の基本的概念〕
最初に、各実施の形態に共通の基本的概念について説明する。この情報出力共有システムは、各種の情報の出力を複数のクライアント(端末装置）の相互間で共有的に行うためのシステムである。「情報」の内容や出力形態は任意であり、画像を表示出力する場合と音声を音出力する場合とを含むが、以下では、画像を表示出力する場合について説明する。「複数のクライアント」は、相互に同一の装置であってもよく、あるいは相互に異なる装置であってもよい。「共有的」とは、同一の情報を複数のクライアントで出力することを意味するが、必要に応じて、複数のクライアントの相互間において情報の出力内容や出力タイミングに差を設けたり、複数のクライアントの中から選択された１台又は一部の複数のクライアントのみで出力したりすることを含む。
【００１４】
この情報出力共有システムの具体的な適用目的は任意であり、例えば、共通の画像を見ながら複数の参加者が会議を行う電子会議や、共通の画像を見ながら先生が複数の生徒に対して授業を行う電子授業を挙げることができる。以下では、電子授業を行う場合について説明する。この電子授業では、「ユーザの種類」として、「先生」と「生徒」があるものとする。「先生」とは、授業を行う者であり、「生徒」とは、授業を受ける者である。ただし、このようなユーザの種類を特に区別する必要がない場合には、これら各種類のユーザを「ユーザ」と総称する。また、この電子授業では、「クライアントの種類」として、先生が使用するクライアントである「先生用クライアント」と、生徒が使用するクライアントである「生徒用クライアント」があるものとする。ただし、このようなクライアントの種類を特に区別する必要がない場合には、これら各種類のクライアントを「クライアント」と総称する。なお、クライアントの種類は、ユーザの種類から見た区分であって、必ずしもクライアントの物理的な種類を意味するものではなく、例えば、各クライアントは、相互に同一の装置として構成することができる。
【００１５】
この情報出力共有システムにおけるクライアントとサーバの接続の基本的概念について説明する。各クライアントには、クライアント用の情報出力共有アプリケーション（クライアント用の情報出力共有プログラム）である「クライアント側アプリ」がインストールされており、このクライアント側アプリの機能により、各クライアントにおけるサーバとの接続等が行われる。このクライアント側アプリとしては、特記する場合を除いて、各クライアントが相互に同一のアプリケーションを用いるものとする。
【００１６】
一方、サーバには、サーバ用の情報出力共有アプリケーション（サーバ用の情報出力共有プログラム）である「サーバ側アプリ」がインストールされており、このサーバ側アプリの機能により、各クライアントとの接続等が行われる。このサーバ側アプリは、所定の通信規格に基づいて各クライアントとの通信を行う。この通信規格は任意であるが、ネットワーク負荷が低い通信規格を採用することが好ましく、例えば、クライアントと接続確立を行った後は再度の接続確立を行うことなく専用プロトコルで通信を行うことができる、Ｗｅｂｓｏｃｋｅｔを利用することができる。また、サーバには、クライアントオブジェクトが設けられている。このクライアントオブジェクトは、クライアントとの通信を仲介する通信仲介プログラムであり、例えば、Ｊａｖａ（登録商標）のＷｅｂサーバサイドでの実行形態の一つであるＳｅｒｖｌｅｔとして構成されている。
【００１７】
このような前提において、クライアントは、ＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）を用いてサーバに接続する。このＵＲＬとしては、クライアントの種類に応じて相互に異なるＵＲＬが設定されており、例えば、先生用ＵＲＬと生徒用ＵＲＬがある。このＵＲＬは、各種類に対して複数ずつ設けることもでき、例えば、先生ＡがクラスＡを担当し、先生ＢがクラスＢを担当する場合には、先生ＡはクラスＡ用の先生用ＵＲＬを用いてサーバに接続し、先生ＢはクラスＢ用の先生用ＵＲＬを用いてサーバに接続するようにしてもよい。
【００１８】
この情報出力共有システムでは、クライアントの出力手段における出力内容に変更を生じさせる操作が行われた場合、この操作を、他のクライアントの出力手段における出力内容に変更を生じさせるための操作として実行する。「出力内容に変更を生じさせる操作」とは、出力内容が変更されたことをユーザが把握可能となるように当該出力内容を変更することをいい、例えば、情報が画像である場合には、画像の表示、画像の消去、画像の一部の変更のように、情報に対する変更の他、クライアントのディスプレイの輝度を変更するような情報の出力手段に対する変更を含む。以下、このように出力内容に変更を生じさせる操作を、単に「操作」と称する。
【００１９】
この操作に基づいて他のクライアントの出力内容に変更を生じさせるために、操作が行われたクライアントからサーバに情報を送信し、サーバはこの情報を他のクライアントに転送する。以下、このように送信や転送される情報を「メッセージ」、メッセージの送信元となるクライアント（ユーザにより直接的に操作が行われたクライアント）を「送信元のクライアント」、メッセージの転送先（送信先）となるクライアントを「転送先のクライアント」と、それぞれ称する。
【００２０】
このようにメッセージの転送を行う場合には、転送先のクライアントを特定する必要が生じる。この転送先のクライアントの特定処理は、１）主にサーバが行う形態と、２）主にクライアントが行う形態、あるいは、３）サーバとクライアントが協同して行う形態がある。以下では、主にサーバが行う形態を実施の形態１、主にクライアントが行う形態を実施の形態２で説明し、サーバとクライアントが協同して行う形態は変形例において説明する。
【００２１】
〔実施の形態１〕
次に、実施の形態１について説明する。この形態は、転送先のクライアントの特定処理を、主にサーバが行う形態である。最初に、本実施の形態に係る情報出力共有システムの構成について説明し、その後に、情報出力共有システムで行われる処理について説明する。
【００２２】
（構成）
まず、本実施の形態１に係る情報出力共有システムの構成について説明する。図１は、本実施の形態１に係る情報出力共有システムを機能概念的に示すブロック図である。この情報出力共有システム１は、複数台の先生用クライアント１０Ａ及び複数台の生徒用クライアント１０Ｂと、サーバ３０とを、ネットワーク４０を介して相互に通信可能に接続して構成されている。
【００２３】
（構成−クライアント）
先生用クライアント１０Ａ及び生徒用クライアント１０Ｂは、特記する点を除いて、相互に同一の装置として構成されているため、以下では、クライアント１０としてまとめて説明する。このクライアント１０は、機能概念的に、入力部１１、出力部１２、制御部１３、記憶部１４、及びネットワークＩＦ１５を、バスにて接続して構成されており、例えば、公知のデスクトップコンピュータ、ノートブックコンピュータ、タブレット型コンピュータ、あるいはスマートフォンを用いて構成されている。
【００２４】
入力部１１は、各種の情報をクライアント１０に入力するための入力手段であり、特に、クライアント１０の出力部１２における出力内容に変更を生じさせる操作を行うための操作手段である。この入力部１１の具体的な構成は任意であり、例えば、マウス、キーボード、あるいはタッチパネルとして構成することができる。
【００２５】
出力部１２は、各種の情報をクライアント１０において出力するための出力手段である。この出力部１２の具体的な構成は任意であり、例えば、公知の液晶ディスプレイや有機ＥＬディスプレイの如きフラットパネルディスプレイとして構成することができる。
【００２６】
制御部１３は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）や、このＣＰＵ上で解釈実行される各種のプログラム（ＯＳなどの制御プログラムや各種の処理手順などを規定したプログラム）、及び、所要プログラムや所要データを格納するためのキャッシュメモリを備えて構成される（後述する制御部３１も同じ）。このＣＰＵ上で解釈実行される各種のプログラムにはクライアント側アプリが含まれ、このクライアント側アプリは、例えば、ＣＤ−ＲＯＭやＤＶＤを含む任意の記憶媒体に記憶された後、インストールされて記憶部１４に不揮発的に記憶され、ＣＰＵにて解釈実行されることで制御部１３の実質的機能を構成する。
【００２７】
この制御部１３は、機能概念的に、メッセージ送信部１３ａ及びメッセージ受信部１３ｂを備えて構成されている。メッセージ送信部１３ａは、当該クライアント１０の入力部１１を介して操作が行われた場合、当該操作を特定するための操作内容特定情報を含んだメッセージを生成してサーバ３０に送信するメッセージ送信手段である。メッセージ受信部１３ｂは、サーバ３０を介して他のクライアント１０からメッセージを受信した場合に、当該メッセージに含まれる操作内容特定情報によって特定される操作を、当該クライアント１０の出力部１２における出力内容に変更を生じさせるための操作として実行するメッセージ受信手段である。これら各部の機能については、各処理と併せて説明する。
【００２８】
記憶部１４は、クライアント１０で実行される各種処理に必要な情報やパラメータを不揮発的に格納する格納手段であり、例えば、ＨＤ（Ｈａｒｄ  Ｄｉｓｋ）や半導体メモリにより構成される（後述する記憶部３２も同じ）。この記憶部１４には、クライアントＩＤと、先生用アプリ又はクライアント用アプリが記憶されている。クライアントＩＤは、クライアント１０を一意に識別するためのクライアント識別情報である。つまり、記憶部１４は、クライアント識別情報を格納するクライアント識別情報格納手段として機能する。
【００２９】
ネットワークＩＦ１５は、クライアント１０をネットワーク４０を介してサーバ３０と通信可能に接続するための通信手段であり、例えば、ネットワークボードとして構成されている。
【００３０】
（構成−サーバ）
図１において、サーバ３０は、機能概念的に、制御部３１、記憶部３２、及びネットワークＩＦ３３を、バスにて接続して構成されており、例えば、公知のＷｅｂサーバを用いて構成されている。
【００３１】
制御部３１のＣＰＵ上で解釈実行される各種のプログラムにはサーバ側アプリが含まれ、このサーバ側アプリは、例えば、ＣＤ−ＲＯＭやＤＶＤを含む任意の記憶媒体に記憶された後、インストールされて記憶部３２に不揮発的に記憶され、ＣＰＵにて解釈実行されることで制御部３１の実質的機能を構成する。
【００３２】
この制御部３１は、機能概念的に、送受信制御部３１ａを備えて構成されている。この送受信制御部３１ａは、クライアント１０からメッセージを受信した場合に、当該メッセージを他のクライアント１０に転送する送受信制御手段である。特に、この実施の形態１において、送受信制御部３１ａは、クライアント１０からメッセージを受信した場合に、後述する転送先特定情報格納手段にて格納された転送先特定情報に基づいて、当該受信したメッセージの転送先とすべきクライアント１０を特定し、当該特定したクライアント１０において当該メッセージが受信されるように所定制御を行う転送制御手段として機能する。
【００３３】
記憶部３２には、ＵＲＬ別クライアントリスト３２ａ、グループリスト３２ｂ、サーバ内処理対象リスト３２ｃ、及び転送ルールテーブル３２ｄが記憶されている。これらＵＲＬ別クライアントリスト３２ａ、グループリスト３２ｂ、サーバ内処理対象リスト３２ｃ、及び転送ルールテーブル３２ｄは、その一部により又は協同で、メッセージの転送先を特定するための転送先特定情報を構成する。すなわち、記憶部３２は、転送先特定情報を格納する転送先特定情報格納手段として機能する。
【００３４】
ＵＲＬ別クライアントリスト３２ａは、クライアント１０がサーバ３０に接続する際に使用するＵＲＬと、クライアント１０の種類とを、相互に関連付けて構成されたリストである。すなわち、記憶部３２は、ＵＲＬ別クライアントリスト３２ａを格納するＵＲＬ別クライアント特定情報格納手段として機能する。このＵＲＬ別クライアントリスト３２ａは、図２の構成例に示すように、項目「ＵＲＬセット」、項目「ＵＲＬ」、及び項目「クライアントオブジェクト」と、各項目に対応する情報を相互に関連付けて構成されている。項目「ＵＲＬセット」は、送信先のクライアント１０と転送先のクライアント１０との組み合わせ（セット）を特定するための情報であり、図２の例では、１つ以上の先生用ＵＲＬと１つ以上の生徒用ＵＲＬとを相互に関連付けることで、当該先生用ＵＲＬを使用してサーバ３０に接続したクライアント１０と当該生徒用ＵＲＬを使用してサーバ３０に接続するクライアント１０とが相互に送信先又は転送先となり、あるいは、これら先生用ＵＲＬを使用してサーバ３０に接続するクライアント１０同士や、生徒用ＵＲＬを使用してサーバ３０に接続するクライアント１０同士が、相互に送信先又は転送先となることが特定される。項目「ＵＲＬ」に対応する情報は、クライアント１０がサーバ３０に接続する際に使用したＵＲＬである。項目「クライアントオブジェクト」に対応する情報は、クライアント１０がサーバ３０に接続した際に当該クライアント１０毎に対して生成されたクライアントオブジェクトである。このＵＲＬ別クライアントリスト３２ａは、後述する接続処理において、クライアント１０がサーバ３０に接続し、サーバ３０によってクライアントオブジェクトが自動的に生成された際、当該生成されたクライアントオブジェクトに基づいて生成又は更新される。
【００３５】
グループリスト３２ｂは、クライアント１０を一意に識別するためのクライアントＩＤと、クライアント１０によって構成されるグループを一意に識別するためのグループＩＤとを、相互に関連付けて構成されたリストである。すなわち、記憶部３２は、グループリスト３２ｂを格納するグループ特定情報格納手段として機能する。このグループリスト３２ｂは、図３の構成例に示すように、項目「クライアントＩＤ」及び項目「グループＩＤ」と、各項目に対応する情報を相互に関連付けて構成されている。項目「クライアントＩＤ」に対応する情報は、クライアントＩＤである。項目「グループＩＤ」に対応する情報は、グループを一意に識別するためのグループＩＤ（グループ識別情報）である。このグループリスト３２ｂは、後述するグループ設定処理において生成又は生成される。
【００３６】
サーバ内処理対象リスト３２ｃは、クライアント１０から送信されたメッセージの中で、他のクライアント１０に転送することなくサーバ３０の内部で処理すべきメッセージを特定するためのリストである。すなわち、記憶部３２は、サーバ内処理対象リスト３２ｃを格納するサーバ内処理メッセージ特定情報格納手段として機能する。このサーバ内処理対象リスト３２ｃは、図４の構成例に示すように、項目「メッセージの種類」と、この項目に対応する情報を相互に関連付けて構成されている。項目「メッセージの種類」に対応する情報は、サーバ３０の内部で処理すべきメッセージの種類である。このサーバ内処理対象リスト３２ｃは、サーバ３０の管理者が作成して記憶部３２に格納する。
【００３７】
転送ルールテーブル３２ｄは、メッセージの送信元のクライアント１０の種類と、メッセージの転送先の候補となるクライアント１０の種類とを、相互に関連付けて構成されたテーブルである。すなわち、記憶部３２は、転送ルールテーブル３２ｄを格納する転送ルール特定情報格納手段として機能する。この転送ルールテーブル３２ｄは、図５の構成例に示すように、項目「送信元のクライアントの種類」、項目「メッセージの種類」、項目「グループＩＤの有無」、及び項目「転送先の候補となるクライアント」と、これら各項目に対応する情報を相互に関連付けて構成されている。項目「送信元のクライアントの種類」に対応する情報は、メッセージの送信元のクライアント１０の種類である。項目「メッセージの種類」に対応する情報は、メッセージの種類である。項目「グループＩＤの有無」に対応する情報は、グループＩＤの有無を特定するためのグループ識別情報有無特定情報であり、ここでは、グループＩＤが無いことを示す「無」、又はグループＩＤが有ることを示す「有」が格納される。項目「転送先の候補となるクライアント」に対応する情報は、メッセージの転送先の候補となるクライアント１０を特定するための転送先クライアント特定情報である。例えば、図５の上から２番目のレコードに格納された転送先特定情報は、クライアント１０から送信されてきたメッセージに関して、「送信元のクライアントの種類＝生徒」であり（サーバ３０との接続に使用しているＵＲＬが生徒用のＵＲＬであり）、「メッセージの種類＝線を描画」であり、かつ、「グループＩＤ＝無」である（メッセージにグループＩＤが含まれていない）場合、「転送先の候補となるクライアント＝全先生」とする（サーバ３０との接続に使用しているＵＲＬが先生用のＵＲＬである全てのクライアント１０を転送先の候補とする）ことを示している。この転送ルールテーブル３２ｄは、サーバ３０の管理者が作成して記憶部３２に格納する。
【００３８】
ネットワークＩＦ３３は、サーバ３０をネットワーク４０を介してクライアント１０と通信可能に接続するための通信手段であり、例えば、ネットワークボードとして構成されている。
【００３９】
（構成−ネットワーク）
図１のネットワーク４０としては、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）であって、代表的にはインターネットであるが、専用通信線やＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）を含んでもよい。
【００４０】
（処理）
次に、このように構成された情報出力共有システム１において行われる各種の処理について説明する。この処理は、接続処理、グループ設定処理、及び情報出力共有処理に大別される。以下、各処理について順次説明する。ただし、これら各処理は、実際には一連の連続した処理として実行したり、一部の処理を他の一部の処理の内部処理として実行したりしてもよい。以下の説明においては、特記するタイミングを除いて任意のタイミングにて各処理が行われ、特記する主体を除いて制御部１３、３０にて処理が行われるものとする。また、「ステップ」を「Ｓ」と略記する。
【００４１】
（処理−接続処理）
最初に、接続処理について説明する。この処理は、クライアント１０において先生用アプリ又は生徒用アプリが入力部１１を用いた所定方法で起動された場合に、起動される処理であり、クライアント１０とサーバ３０の接続を確立する処理である。図６は、接続処理のフローチャートである。
【００４２】
まず、クライアント１０の制御部１３は、所定のＵＲＬに基づいてサーバ３０にアクセスし、所定の通信規格に基づいてサーバ３０に接続要求を送信する（ＳＡ１）。この際のＵＲＬは、例えば、先生用アプリ又は生徒用アプリに予め設定されたものを使用する。
【００４３】
接続要求を受信したサーバ３０の制御部３１は、所定の通信規格に基づいてクライアント１０との接続を確立する（ＳＡ２）。また、サーバ３０の制御部３１は、当該接続を確立したクライアント１０を一意に識別するためのクライアントＩＤを公知の方法で生成し、当該クライアントＩＤを当該クライアント１０に送信する（ＳＡ３）。この際、制御部３１は、当該生成したクライアントＩＤを含むクライアントオブジェクトを公知の方法で生成し、当該生成したクライアントオブジェクトを、ＵＲＬ別クライアントリスト３２ａに格納する。すなわち、ＵＲＬ別クライアントリスト３２ａには、クライアント１０によって使用される先生用ＵＲＬと生徒用ＵＲＬとのＵＲＬセットが予め設定されており、当該生成したクライアントオブジェクトを、当該クライアント１０がサーバ３０との接続に使用したＵＲＬ（先生用ＵＲＬ又は生徒用ＵＲＬ）と関連付けて、ＵＲＬ別クライアントリスト３２ａに格納する。なお、このようにＵＲＬ別クライアントリスト３２ａに格納されたクライアントオブジェクトは、サーバ３０との接続が切断された場合に破棄される。
【００４４】
一方、サーバ３０からクライアントＩＤを受信したクライアント１０は、当該受信したクライアントＩＤを記憶部１４に格納する（ＳＡ４）。これにて接続処理が終了する。
【００４５】
このような接続処理を行うことにより、各先生は、自己のクライアント１０の先生用アプリを起動することで、サーバ３０と接続することができ、各生徒は、自己のクライアント１０の生徒用アプリを起動することで、サーバ３０と接続することができる。
【００４６】
このような接続処理の後、各先生は、サーバ３０に接続している各生徒用クライアント１０ＢのクライアントＩＤを任意のタイミングで取得する。具体的には、１）現在サーバ３０に接続している各生徒用クライアント１０ＢのクライアントＩＤの取得処理、２）その後に新規にサーバ３０に接続した各生徒用クライアント１０ＢのクライアントＩＤの取得処理、及び、３）その後にサーバ３０との接続を切断した各生徒用クライアント１０ＢのクライアントＩＤの削除処理が行われる。
【００４７】
現在サーバ３０に接続している各生徒用クライアント１０ＢのクライアントＩＤの取得処理は、以下のよう行われる。まず、各先生用クライアント１０Ａのメッセージ送信部１３ａは、各生徒用クライアント１０ＢのクライアントＩＤを取得するためのメッセージを生成してサーバ３０に送信する。このメッセージは、後述する情報出力共有処理で説明するメッセージと同様の形式にて生成され、「メッセージの種類＝各生徒のクライアントＩＤの取得」を含むものである。このメッセージを受信したサーバ３０の送受信制御部３１ａは、当該先生用クライアント１０Ａと同じＵＲＬセットに属する全ての生徒用クライアント１０Ｂを、ＵＲＬ別クライアントリスト３２ａを参照して特定し、当該特定した全ての生徒用クライアント１０Ｂに、当該メッセージを転送する。この転送を受けた生徒用クライアント１０Ｂのメッセージ受信部１３ｂは、自己の記憶部１４に格納されているクライアントＩＤをサーバ３０に送信する。そして、サーバ３０の送受信制御部３１ａは、このクライアントＩＤを先生用クライアント１０Ａに送信する。このように送信されたクライアントＩＤは、先生用クライアント１０Ａの記憶部１４に格納される。このような処理を行うことで、現在サーバ３０に接続している各生徒用クライアント１０ＢのクライアントＩＤが取得される。
【００４８】
その後に新規にサーバ３０に接続した各生徒用クライアント１０ＢのクライアントＩＤの取得処理は、以下のよう行われる。まず、新規にサーバ３０に接続した生徒用クライアント１０Ｂのメッセージ送信部１３ａは、自己の記憶部１４に格納されたクライアントＩＤを送信するためのメッセージを生成してサーバ３０に送信する。このメッセージは、後述する情報出力共有処理で説明するメッセージと同様の形式にて生成され、「メッセージの種類＝生徒のクライアントＩＤの送信」、「データ＝クライアントＩＤ」を含むものである。このメッセージを受信したサーバ３０の送受信制御部３１ａは、当該生徒用クライアント１０Ｂと同じＵＲＬセットに属する全ての先生用クライアント１０Ａを、ＵＲＬ別クライアントリスト３２ａを参照して特定し、当該特定した全ての先生用クライアント１０Ａに、当該メッセージを送信する。この送信を受けた先生用クライアント１０Ａのメッセージ受信部１３ｂは、当該メッセージのデータに含まれるクライアントＩＤを、自己の記憶部１４に追加的に格納する。このような処理を行うことで、新規にサーバ３０に接続した各生徒用クライアント１０ＢのクライアントＩＤが取得される。 
【００４９】
また、その後にサーバ３０との接続を切断した各生徒用クライアント１０ＢのクライアントＩＤの削除処理は、以下のよう行われる。まず、生徒用クライアント１０Ｂの切断があった場合、サーバ３０の送受信制御部３１ａは、当該切断した生徒用クライアント１０Ｂに対応するクライアントオブジェクトをＵＲＬ別クライアントリスト３２ａから破棄する際に、当該クライアントオブジェクトからクライアントＩＤを取得し、当該生徒用クライアント１０Ｂと同じＵＲＬセットに属する全ての先生用クライアント１０Ａを、ＵＲＬ別クライアントリスト３２ａを参照して特定し、当該特定した全ての先生用クライアント１０Ａに、当該取得したクライアントＩＤを送信する。この送信を受けた先生用クライアント１０Ａのメッセージ受信部１３ｂは、当該クライアントＩＤを、自己の記憶部１４から削除する。このような処理を行うことで、サーバ３０との接続を切断した各生徒用クライアント１０ＢのクライアントＩＤが削除される。
【００５０】
以降、このような処理を繰り返すことで、各先生の先生用クライアント１０Ａには、その時点でサーバ３０に接続している各生徒用クライアント１０ＢのクライアントＩＤが最新の状態で保持されるので、以降の処理では、このクライアントＩＤを使用することが可能になる。なお、ここでは、先生用クライアント１０Ａが各生徒用クライアント１０ＢのクライアントＩＤを保持する場合について説明したが、同様の処理を行うことで、生徒用クライアント１０Ｂが各先生用クライアント１０ＡのクライアントＩＤを保持するようにしてもよい。
【００５１】
（処理−グループ設定処理）
次に、グループ設定処理について説明する。この処理は、先生用アプリ又は生徒用アプリにおいて入力部１１を介してグループ設定処理の実行が所定方法で指示された場合に、起動される。ただし、グループ設定処理の実行は、先生用アプリ又は生徒用アプリのいずれか一方（通常は先生用アプリのみ）から起動できるようにしてもよい。以下では、グループ設定処理の実行を先生用アプリから起動することで、先生が生徒をグループ化する場合について説明する。図７は、グループ設定処理のフローチャートである。
【００５２】
先生用クライアント１０Ａの制御部１３は、先生から入力部１１を介してグループ設定要求が所定方法で行われた場合、所定のグループ設定用画面を出力部１２に表示する。このグループ設定用画面は、グループの設定に必要な情報を入力するための画面であり、先生用クライアント１０Ａの記憶部１４に格納されている各生徒用クライアント１０ＢのクライアントＩＤ（その時点でサーバ３０に接続している各生徒用クライアント１０ＢのクライアントＩＤ）が表示される。そして、先生は、このグループ設定用画面に含まれるクライアントＩＤの中で、グループとして指定したい生徒用クライアント１０ＢのクライアントＩＤを入力部１１を介して選択すると共に、任意のグループＩＤを入力部１１を介して入力すると（ＳＢ１、Ｙｅｓ）、メッセージ送信部１３ａは、当該選択されたクライアントＩＤに基づいてグループ設定用のメッセージを生成してサーバ３０に送信する（ＳＢ２）。このメッセージは、後述する情報出力共有処理で説明するメッセージと同様の形式にて生成され、「メッセージの種類＝生徒のグループの設定」、「データ＝クライアントＩＤ、グループＩＤ」を含むものである。この際、制御部１３は、クライアントＩＤとグループＩＤとを対応付けて図３と同様のグループリストを生成して記憶部１４に格納する。
【００５３】
グループ設定用画面には、クライアントＩＤに加えて、各クライアントＩＤにて特定されるクライアント１０を使用しているユーザの名前を併せて表示してもよい。例えば、先生用アプリや生徒用アプリに予め設定した名前や、先生用アプリや生徒用アプリの起動時に先生や生徒に入力部１１を介して入力させた名前を、サーバ３０においてクライアントＩＤと関連付けて記憶部３２に格納しておき、サーバ３０からクライアント１０にグループ設定用画面用のクライアントＩＤを送信する際に、各クライアントＩＤに対応する名前を送信して、クライアントＩＤと共にグループ設定用画面に表示するようにしてもよい。なお、同様に、名前の他にも、ニックネーム、年齢、性別、顔写真等、クライアント１０を特定するための参考になり得る任意の情報を、表示してもよい。
【００５４】
一方、サーバ３０の送受信制御部３１ａは、先生用クライアント１０Ａからグループ設定用のメッセージを受信した場合には、当該メッセージに含まれるクライアントＩＤとグループＩＤとを相互に対応付けてグループリスト３２ｂを生成して記憶部３２に格納する（ＳＢ３）。また、送受信制御部３１ａは、グループ設定用のメッセージを生成して生徒用クライアント１０Ｂに送信する（ＳＢ４）。このメッセージは、後述する情報出力共有処理で説明するメッセージと同様の形式にて生成され、「メッセージの種類＝生徒のグループの設定」、「データ＝グループＩＤ」を含むものである。このメッセージの送信先の生徒用クライアント１０Ｂは、以下のように特定する。すなわち、メッセージの送信元である先生用クライアント１０Ａと同一のＵＲＬセットに属する生徒用クライアント１０ＢをＵＲＬ別クライアントリスト３２ａを参照することにより特定し、当該特定した生徒用クライアント１０Ｂの中で、先生用クライアント１０Ａのメッセージに含まれるクライアントＩＤと一致するクライアントＩＤを有する生徒用クライアント１０Ｂのみを、メッセージの送信先とする。
【００５５】
生徒用クライアント１０Ｂのメッセージ受信部１３ｂは、サーバ３０からグループ設定用のメッセージを受信した場合には、当該メッセージに含まれるグループＩＤを、自己が属するグループのグループＩＤであるとして、自己の記憶部１４に格納する。これにてグループ設定処理が終了する。
【００５６】
（処理−情報出力共有処理）
最後に、情報出力共有処理について説明する。この処理は、情報の出力を複数のクライアント１０の相互間で共有的に行うための処理であり、クライアント１０で操作が行われる毎に起動される処理（イベント−ドリブン処理）である。図８、９は、情報出力共有処理のフローチャートである。
【００５７】
クライアント１０のメッセージ送信部１３ａは、入力部１１を介して出力内容を変更する操作が行われたか否かを監視しており（ＳＣ１）、操作が行われた場合には（ＳＣ１、Ｙｅｓ）、メッセージを生成して送信する（ＳＣ２）。これにて送信元のクライアント１０における情報出力共有処理が終了する。
【００５８】
このメッセージは、「メッセージの種類」、「送信元のクライアントＩＤ」、「転送先のクライアントＩＤ」、「グループＩＤ」、及び「データ」を含む情報であり、例えば、これら各情報に対して、これら各情報の種類を示す所定のタグを付加して構成された、ＪＳＯＮ文字として生成される。
【００５９】
これら各情報のうち、「メッセージの種類」は、入力部１１を介してクライアント１０に対して行われた操作に応じて自動的に特定される。例えば、操作が先生用アプリの起動である場合には「メッセージの種類＝先生用アプリの起動」、操作が生徒用アプリの起動である場合には「メッセージの種類＝生徒用アプリの起動」、操作が線の描画である場合には「メッセージの種類＝線の描画」、操作が線の消去である場合には「メッセージの種類＝線の消去」、操作が画像の表示である場合には「メッセージの種類＝画像の表示」、操作が画像の消去である場合には「メッセージの種類＝画像の消去」、操作がｐｉｎｇ（サーバ３０とのネットワーク接続状態の確認）である場合には「メッセージの種類＝ｐｉｎｇ」となる。
【００６０】
「送信元のクライアントＩＤ」は、送信元のクライアント１０のクライアントＩＤである。このクライアントＩＤとしては、上述した接続処理にて記憶部１４に格納されたクライアントＩＤが使用される。
【００６１】
「転送先のクライアントＩＤ」は、転送先として指定したいクライアント１０が存在する場合における、当該クライアント１０のクライアントＩＤである。この転送先のクライアントＩＤの具体的な特定方法は任意であるが、例えば、接続処理によってサーバ３０に接続されている先生用クライアント１０Ａの出力部１２には、当該先生用クライアント１０Ａと同一のＵＲＬセットに属する全ての生徒用クライアント１０Ｂの出力部１２に表示されている出力内容（具体例としてはデスクトップ画面）が、縮小されて並列的に表示される。また、先生用クライアント１０Ａには、先生用クライアント１０Ａの出力部１２に表示されている各生徒用クライアント１０Ｂの出力部１２の出力内容に対応するクライアントＩＤが、サーバ３０から送信され保持されている。このような状況において、先生は、先生用クライアント１０Ａの出力部１２に表示されている各生徒用クライアント１０Ｂの出力部１２の出力内容のうち、メッセージの転送先に含めたい出力内容を入力部１１を介して指定すると、当該指定された出力内容に対応するクライアントＩＤが、転送先のクライアントＩＤとしてメッセージに含められる。あるいは、このような例以外にも、例えば、生徒用クライアント１０ＢのクライアントＩＤを先生用クライアント１０Ａの出力部１２にリストとして表示し、先生が、当該リストの中から、転送先のクライアントＩＤを入力部１１を介して指定するようにしてもよい。また、このように生徒用クライアント１０Ｂの出力部１２の出力内容や、生徒用クライアント１０ＢのクライアントＩＤのリストを使用する場合、各生徒の名前を併せて表示してもよい。この各生徒の名前は、例えば、生徒用アプリに予め設定した名前や、生徒用アプリの起動時に生徒が入力部１１を介して入力した名前を、サーバ３０を介して先生用クライアント１０Ａに送信するようにしてもよい。なお、上記説明では、主として先生が転送先のクライアントＩＤを選択する場合を例示したが、生徒が転送先のクライアントＩＤを選択する場合においても、上記説明における「生徒」と「先生」を相互に読み替えることで、説明することができる。
【００６２】
「グループＩＤ」は、転送先として指定したいグループが存在する場合における、当該グループのグループＩＤである。このグループＩＤの具体的な特定方法は任意であるが、例えば、接続処理によってサーバ３０に接続されている先生用クライアント１０Ａの出力部１２には、当該先生用クライアント１０Ａと同一のＵＲＬセットに属する全ての生徒用クライアント１０ＢのクライアントＩＤと、各生徒用クライアント１０Ｂが属するグループのグループＩＤとが、サーバ３０のグループリスト３２ｂから取得されて、相互に関連付けて出力されている。このような状況において、先生は、出力されているグループＩＤのうち、メッセージの転送先に含めたいグループのグループＩＤを入力部１１を介して指定すると、当該指定されたグループＩＤがメッセージに含められる。なお、上記説明では、主として先生がグループＩＤを選択する場合を例示したが、生徒がグループＩＤを選択する場合においても、上記説明における「生徒」と「先生」を相互に読み替えることで、説明することができる。なお、転送先のクライアントＩＤとグループＩＤは、いずれか一方又は両方を省略することもできる。例えば、両方を省略した場合には、同一のＵＲＬセットに属する全てのクライアント１０にメッセージを転送するようにしておく。
【００６３】
「データ」は、入力部１１を介してクライアント１０に対して行われた操作を、転送先のクライアント１０において実行するために必要な情報（操作特定情報）であり、入力部１１を介してクライアント１０に対して行われた操作に応じて自動的に特定される。例えば、操作が先生用アプリの起動である場合には「メッセージの種類＝先生用アプリの起動」、操作が生徒用アプリの起動である場合には「メッセージの種類＝生徒用アプリの起動」、操作が線の描画である場合には、データは、描画された線の支線座標、通過点座標、終点座標、線太、及び線色を公知の方法で特定する情報を含む。また、操作が線の消去である場合には、データは、消去された線の支線座標、通過点座標、標及び終点座標を公知の方法で特定する情報を含む。また、操作が画像の表示である場合には、表示された画像を特定する情報（例えば、Ｗｅｂから取得した画像である場合には、当該画像を特定するＵＲＬ）、表示された画像の表示位置、及び表示された画像の表示サイズを公知の方法で特定する情報を含む。操作が画像の消去である場合には、消去された画像を特定する情報を公知の方法で特定する情報を含む。その他、データには、操作の種類に応じて、操作の内容を特定するための情報が公知の方法で特定され含められる。ただし、データは、送信先のクライアント１０の出力内容自体を送信する場合（例えば、送信先のクライアント１０の画面データをそのまま送信する場合）よりも小さな容量のデータとして構成される。
【００６４】
一方、サーバ３０の送受信制御部３１ａは、クライアント１０からのメッセージの受信を監視しており（ＳＣ３）、クライアント１０からメッセージを受信した場合には（ＳＣ３、Ｙｅｓ）、当該受信したメッセージに含まれる情報に基づいた処理を実行する。
【００６５】
最初に、サーバ３０の送受信制御部３１ａは、受信メッセージがサーバ３０の内部で処理すべきメッセージであるか否かを判定する（ＳＣ４）。具体的には、受信メッセージに含まれるメッセージの種類が、サーバ内処理対象リスト３２ｃに含まれるメッセージの種類に対応する否かを判定し、対応しない場合には、サーバ３０の内部で処理すべきメッセージではないと判定し、対応する場合には、サーバ３０の内部で処理すべきメッセージであると判定する。例えば、「メッセージの種類＝先生用アプリ起動」である場合には、図４に例示するサーバ内処理対象リスト３２ｃに含まれるメッセージの種類に対応するため、サーバ３０の内部で処理すべきメッセージであると判定し、「メッセージの種類＝線の描画」である場合には、図４に例示するサーバ内処理対象リスト３２ｃに含まれるメッセージの種類に対応しないため、サーバ３０の内部で処理すべきメッセージではないと判定する。
【００６６】
そして、サーバ３０の内部で処理すべきメッセージであると判定した場合（ＳＣ４、Ｙｅｓ）、送受信制御部３１ａは、当該メッセージを他のクライアント１０に転送することなく、サーバ３０の内部で処理する（ＳＣ５）。例えば、「メッセージの種類＝ｐｉｎｇ実行」である場合には、ｐｉｎｇを実行してその結果を、送信元のクライアント１０に送信する。これにてサーバ３０における情報出力共有処理が終了する。
【００６７】
一方、サーバ３０の内部で処理すべきメッセージではないと判定した場合（ＳＣ４、Ｎｏ）、サーバ３０の送受信制御部３１ａは、転送ルールを参照して、転送先の候補のクライアント１０を特定する（ＳＣ６）。具体的には、送信元のクライアント１０がサーバ３０との接続に使用したＵＲＬを公知の方法で特定し、当該特定したＵＲＬに基づいてＵＲＬ別クライアントリスト３２ａを参照することにより、送信元のクライアント１０の種類を特定する。例えば、当該特定したＵＲＬが先生用ＵＲＬであった場合には、「送信元のクライアント１０の種類＝先生」と特定する。また、受信メッセージに含まれるメッセージの種類を特定する。さらに、受信メッセージにおけるグループＩＤの有無を特定する。そして、当該特定した送信元のクライアント１０の種類、メッセージの種類、及びグループＩＤの有無の組み合わせに対応する転送先のクライアント１０を、転送ルールテーブル３２ｄを参照して特定する。例えば、図５の例において、「送信元のクライアントの種類＝生徒」、「メッセージの種類＝線を描画」、かつ、「グループＩＤ＝無」である場合には、「転送先の候補となるクライアント＝全先生」を特定する。
【００６８】
次いで、サーバ３０の送受信制御部３１ａは、ＵＲＬ別クライアントリスト３２ａを参照して、クライアントオブジェクトを取得し、転送先リストを作成する（ＳＣ７）。具体的には、ＳＣ６で特定した転送先の候補となるクライアント１０に対応する全てのクライアントオブジェクトを転送先リストから取得する。例えば、ＳＣ６で「転送先の候補となるクライアント＝全先生」が特定された場合、図２の例において、送信元のクライアント１０がサーバ３０との接続に使用したＵＲＬに対応するＵＲＬセットの中で、先生用ＵＲＬに対応する全てのクライアントオブジェクトを取得する。そして、当該取得した各クライアントオブジェクトに含まれるクライアントＩＤを特定し、当該特定したクライアントＩＤによって構成される転送先リストを生成する。
【００６９】
次いで、サーバ３０の送受信制御部３１ａは、受信したメッセージにおけるグループＩＤの指定の有無を判定する（ＳＣ８）。具体的には、受信したメッセージにグループＩＤが含まれている場合には、「グループＩＤの指定＝有」と判定し、受信したメッセージにグループＩＤが含まれていない場合には、「グループＩＤの指定＝無」と判定する。そして、「グループＩＤの指定＝無」と判定した場合には（ＳＣ８、Ｎｏ）、次のＳＣ１０に移行する。一方、「グループＩＤの指定＝有」と判定した場合には（ＳＣ８、Ｙｅｓ）、グループリスト３２ｂを参照して、転送先リストから、グループに属さないクライアントＩＤを除外する（ＳＣ９）。具体的には、受信したメッセージからグループＩＤを取得し、当該取得したグループＩＤに対応する全てのクライアントＩＤをグループリスト３２ｂから取得し、当該取得したクライアントＩＤ以外のクライアントＩＤを、受信したメッセージで指定されたグループに属さないクライアントＩＤとして、ＳＣ７で生成した転送リストから除外する。
【００７０】
その後、サーバ３０の送受信制御部３１ａは、受信したメッセージにおけるクライアントＩＤの指定の有無を判定する（ＳＣ１０）。具体的には、受信したメッセージにクライアントＩＤが含まれている場合には、「クライアントＩＤの指定＝有」と判定し、受信したメッセージにクライアントＩＤが含まれていない場合には、「クライアントＩＤの指定＝無」と判定する。そして、「クライアントＩＤの指定＝無」と判定した場合には（ＳＣ１０、Ｎｏ）、次のＳＣ１１に移行する。一方、「クライアントＩＤの指定＝有」と判定した場合には（ＳＣ１０、Ｙｅｓ）、ＳＣ７で作成された転送先リストであって、必要に応じてＳＣ８で一部のクライアントＩＤが除外された転送リストから、受信したメッセージに含まれているクライアントＩＤと一致しない全てのクライアントＩＤを除外する（ＳＣ１２）。
【００７１】
そして、サーバ３０の送受信制御部３１ａは、転送先リストに含まれているクライアントＩＤに基づいて、メッセージを転送する（ＳＣ１１）。具体的には、ＳＣ７で作成された転送先リストであって、必要に応じてＳＣ８やＳＣ１２で一部のクライアントＩＤが除外された転送リストから、当該転送リストに含まれる全てのクライアントＩＤを取得する。そして、当該取得したクライアントＩＤに対応するクライアントオブジェクトをＵＲＬ別クライアントリスト３２ａから取得し、当該取得したクライアントオブジェクトに対して、クライアント１０への受信メッセージの送信を指示する。この指示を受けたクライアントオブジェクトは、自己に含まれるクライアントＩＤにて特定されるクライアント１０に対してメッセージを送信する。この送信は、ＵＲＬ別クライアントリスト３２ａにおいて当該クライアントオブジェクトに対応するＵＲＬを用いて行われる。このように転送されるメッセージは、例えば、受信メッセージと全く同じメッセージであってもよく、あるいは、転送先のクライアント１０で不要な情報を受信メッセージから除外して生成されたメッセージであってもよい。これにてサーバ３０における情報出力共有処理が終了する。
【００７２】
一方、クライアント１０のメッセージ受信部１３ｂは、サーバ３０からのメッセージの受信の有無を監視しており（ＳＣ１３）、メッセージを受信した場合には（ＳＣ１３、Ｙｅｓ）、当該受信したメッセージの内容に基づいて、出力部１２における出力内容を変更させるための操作を実行する（ＳＣ１４）。具体的には、メッセージ受信部１３ｂは、受信したメッセージに含まれるメッセージの種類に基づいて、実行すべき操作の内容を特定し、当該特定した操作の内容を実行する。例えば、「メッセージの種類＝線を描画」であれば、「データ」で指定された描画された線の支線座標、通過点座標、終点座標、線太、及び線色に基づいて、出力部１２に線を描画する。これにて転送先のクライアント１０における情報出力共有処理が終了する。
【００７３】
このような情報出力共有処理を行うことにより、先生用クライアント１０Ａが操作されると、この操作によって生徒用クライアント１０Ｂの出力内容が変更されることで、先生用クライアント１０Ａの出力内容が生徒用クライアント１０Ｂ出力内容として共有される。あるいは、生徒用クライアント１０Ｂが操作されると、この操作によって先生用クライアント１０Ａの出力内容が変更されることで、生徒用クライアント１０Ｂの出力内容が先生用クライアント１０Ａ出力内容として共有される。
【００７４】
例えば、先生が、生徒に見せたい問題文や参考資料を先生用クライアント１０Ａの出力部１２に表示すると、これら問題文や参考資料が生徒用クライアント１０Ｂの出力部１２にも表示される。この際、先生が、全ての生徒のクライアントＩＤを指定した場合には、全ての生徒の生徒用クライアント１０Ｂの出力部１２に、これら問題文や参考資料が表示される。あるいは、先生が、一部の生徒のみが属するグループのグループＩＤを指定した場合には、当該グループに属する生徒の生徒用クライアント１０Ｂの出力部１２のみに、これら問題文や参考資料が表示される。その後、生徒が、自己の生徒用クライアント１０Ｂの出力部１２に表示されている問題文に回答を記入した場合には、先生の先生用クライアント１０Ａの出力部１２に、この回答が表示される。次いで、先生が、出力部１２において回答に対して丸印や×印等を書き込むことにより採点を行うと、これら丸印や×印等が生徒用クライアント１０Ｂの出力部１２にも表示される。この際、先生が、当該回答を行った生徒のクライアントＩＤのみを指定することで、当該生徒の生徒用クライアント１０Ｂの出力部１２のみに、これら丸印や×印等が表示される。
【００７５】
〔実施の形態２〕
次に、実施の形態２について説明する。この形態は、転送先のクライアントの特定処理を、主にクライアントが行う形態である。ただし、この形態に関する構成や処理は、特記する場合を除いて、実施の形態１で説明した構成や処理と同じであるものとし、必要に応じて、実施の形態１で使用したものと同じ符号を用いて説明する。最初に、本実施の形態に係る情報出力共有システムの構成について説明し、その後に、情報出力共有システムで行われる処理について説明する。
【００７６】
（構成）
まず、本実施の形態２に係る情報出力共有システムの構成について説明する。図１０は、本実施の形態２に係る情報出力共有システムを機能概念的に示すブロック図である。
【００７７】
（構成−クライアント）
この実施の形態２において、クライアントの制御部１３におけるメッセージ受信部１３ｂは、クライアントからメッセージを受信した場合に、後述する転送先特定情報格納手段にて格納された転送先特定情報に基づいて、当該受信したメッセージの転送先とすべきクライアントを特定し、当該特定したクライアントにおいて当該メッセージが受信されるように所定制御を行う転送制御手段として機能する。
【００７８】
クライアントの記憶部１４には、実施の形態１と同様に格納されたクライアントＩＤに加えて、グループリスト３２ｂが格納されている。これらクライアントＩＤ及びグループリスト３２ｂは、その一部により又は協同で、メッセージの転送先を特定するための転送先特定情報を構成する。すなわち、記憶部１４は、転送先特定情報を格納する転送先特定情報格納手段として機能する。
【００７９】
（構成−サーバ）
サーバの記憶部３２には、実施の形態１における記憶部３２の格納内容の中で、グループリスト３２ｂと転送ルールテーブル３２ｄが省略されている。
【００８０】
（処理）
次に、このように構成された情報出力共有システムにおいて行われる各種の処理について説明する。ただし、接続処理は実施の形態１と同様に行うことができるので、その説明を省略し、グループ設定処理と情報出力共有処理を順次説明する。
【００８１】
（処理−グループ設定処理）
最初に、グループ設定処理について説明する。このグループ設定処理は、図７のグループ設定処理とほぼ同様に行うことができるが、ＳＢ３は省略される。すなわち、サーバ３０の送受信制御部３１ａは、先生用クライアント１０Ａからメッセージを受信した場合には、グループリスト３２ｂを生成して記憶部３２に格納することなく、グループ設定用のメッセージを生成して生徒用クライアント１０Ｂに送信する（ＳＢ４）。これにてグループ設定処理が終了する。
（事務所コメント：図１１は図７とほぼ同じになりましたので削除し、図１２を図１１に繰り上げました。また、図１２のステップ「ＳＥ」を「ＳＤ」に変更致しました。）
【００８２】
（処理−情報出力共有処理）
次に、情報出力共有処理について説明する。図１１は、情報出力共有処理のフローチャートである。ただし、ＳＤ１〜ＳＤ３は、図８の情報出力共有処理のＳＣ１〜ＳＣ３とそれぞれ同様に行うことができるので、その説明を省略する。
【００８３】
サーバの送受信制御部３１ａは、クライアントから受信したメッセージがサーバの内部で処理すべきメッセージではないと判定した場合（ＳＤ４、Ｎｏ）、当該メッセージを転送先のクライアントに送信する（ＳＤ６）。具体的には、送信元のクライアントがサーバとの接続に使用したＵＲＬを公知の方法で特定し、当該特定したＵＲＬに基づいてＵＲＬ別クライアントリスト３２ａを参照することにより、当該特定したＵＲＬと同一のＵＲＬセットに対応する全てのクライアントを特定し、当該クライアントを転送先のクライアントとしてメッセージを送信する。これにてサーバは情報出力共有処理を終了する。
【００８４】
一方、クライアントのメッセージ受信部１３ｂは、サーバからのメッセージの受信の有無を監視しており（ＳＤ７）、メッセージを受信した場合には（ＳＤ７、Ｙｅｓ）、当該受信したメッセージが自己で処理すべきメッセージであるか否かを判定する。
【００８５】
具体的には、メッセージ受信部１３ｂは、受信したメッセージが、自己が属するグループに送信されたものであるか否かを判定する（ＳＤ８）。具体的には、受信したメッセージにおけるグループＩＤの指定の有無を判定し、受信したメッセージにグループＩＤが含まれていない場合には、次のＳＤ９に移行する。一方、受信したメッセージにグループＩＤが含まれている場合には、当該グループＩＤに対応する全てのクライアントＩＤをグループリスト３２ｂから取得し、当該取得したクライアントＩＤに、自己のクライアントＩＤが含まれるか否かを判定し、含まれる場合には、受信したメッセージが、自己が属するグループに送信されたものであると判定し、含まれない場合には、受信したメッセージが、自己が属するグループに送信されたものではないと判定する。そして、自己が属するグループに送信されたものではないと判定した場合には（ＳＤ８、Ｎｏ）、情報出力共有処理を終了する。
【００８６】
一方、受信したメッセージにグループＩＤが含まれていない場合や、受信したメッセージが自己が属するグループに送信されたものであると判定した場合には（ＳＤ８、Ｙｅｓ）、受信したメッセージが、自己に送信されたものであるか否かを判定する（ＳＤ９）。具体的には、受信したメッセージにおけるクライアントＩＤの指定の有無を判定し、受信したメッセージにクライアントＩＤが含まれていない場合には、ＳＤ１０に移行する。一方、受信したメッセージにクライアントＩＤが含まれている場合には、当該クライアントＩＤが、自己のクライアントＩＤに一致するか否かを判定し、一致する場合には、受信したメッセージが、自己に送信されたものであると判定し、一致しない場合には、受信したメッセージが、自己に送信されたものであると判定する。そして、自己に送信されたものではないと判定した場合には（ＳＤ９、Ｎｏ）、情報出力共有処理を終了する。
【００８７】
一方、受信したメッセージにクライアントＩＤが含まれていない場合や、受信したメッセージが自己に送信されたものであると判定した場合には（ＳＤ９、Ｙｅｓ）、受信したメッセージの内容に基づいて、自己の出力部１２における出力内容を変更させるための操作を実行する（ＳＤ１０）。具体的には、メッセージ受信部１３ｂは、受信したメッセージに含まれるメッセージの種類に基づいて、実行すべき操作の内容を特定し、当該特定した操作の内容を実行する。例えば、「メッセージの種類＝線を描画」であれば、「データ」で指定された描画された線の支線座標、通過点座標、終点座標、線太、及び線色に基づいて、出力部１２に線を描画する。これにて転送先のクライアントにおける情報出力共有処理が終了する。
【００８８】
（変形例）
以上、本発明に係る実施の形態について説明したが、本発明の具体的な構成及び手段は、特許請求の範囲に記載した各発明の技術的思想の範囲内において、任意に改変及び改良することができる。以下、このような変形例について説明する。
【００８９】
（解決しようとする課題や発明の効果について）
まず、発明が解決しようとする課題や発明の効果は、前記した内容に限定されるものではなく、本発明によって、前記に記載されていない課題を解決したり、前記に記載されていない効果を奏することもでき、また、記載されている課題の一部のみを解決したり、記載されている効果の一部のみを奏することがある。例えば、画像や音声の如き各種の情報の出力を、複数のクライアントの相互間で共有的に行うことを、従来よりも容易かつ低負荷で行うことができない場合であっても、従来と同様の効果を従来とは異なる手段で得ることができる場合に、本願発明の課題が解決されている。
【００９０】
（分散や統合について）
また、上述した各電気的構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各部の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的又は物理的に分散したり統合したりして構成できる。例えば、サーバの機能を、複数のサーバに分散することもできる。また、サーバやクライアントの記憶部１４に記憶されたテーブルやリストについても、任意に分散したり統合したりすることが可能である。
【００９１】
特に、サーバの機能とクライアントの機能は、任意に分散内容を変更することが可能である。例えば、転送先クライアントの特定処理を、実施の形態１で説明したように主にサーバが行う形態と、実施の形態２で説明したように主にクライアントが行う形態の他、サーバとクライアントが協同して行う形態としてもよい。この場合には、実施の形態１におけるサーバの記憶部３２や制御部３１の一部をクライアントに持たせ、あるいは、実施の形態１におけるクライアントの記憶部１４や制御部１３の一部をサーバに持たせればよい。
【００９２】
（共有する情報の範囲について）
複数のクライアントの相互間で共有する情報の範囲を、任意の方法で制限してもよい。例えば、特定の種類の画像について共有することを制限したり、クライアントの出力部１２の出力範囲における特定領域の情報のみを共有したりするようにしてもよい。このような制限は、例えば、共有可能範囲や共有制限範囲をクライアント側アプリに設定しておき、クライアント側アプリで共有可否を判定し、共有可能と判定した情報のみをメッセージとして送信するようにすればよい。
【００９３】
（ユーザの種類やクライアントの種類の増加について）
上記各実施の形態では、「ユーザの種類」として「先生」と「生徒」がいる場合であって、「クライアントの種類」として先生用クライアント１０Ａと生徒用クライアント１０Ｂを設けた場合について説明したが、これらユーザの種類やクライアントの種類を増加させてもよい。例えば、ユーザの種類としては、先生を指導する者である「指導教員」を加えると共に、クライアントの種類としては、指導教員が使用する「指導教員用クライアント」（図示は省略）を含めてもよい。この場合、指導教員用クライアントと先生用クライアント１０Ａとの相互間における情報出力の共有を、先生用クライアント１０Ａと生徒用クライアント１０Ｂとの相互間における情報出力の共有と同様に行うこととしてもよく、この場合には、複数の先生の各々の先生用クライアント１０の出力部１２の出力内容を、指導教員の指導教員用クライアントの出力部１２の出力内容として共有することができ、指導教員は複数の先生の各々の授業内容を閲覧等することが可能になる。
【００９４】
また、一つのユーザで複数のクライアント１０を使用可能としたり、複数の種類の異なるユーザで共通のクライアント１０を使用可能としたりしてもよい。例えば、クライアント１０として、電子黒板的な機能を有する「黒板クライアント」（図示は省略）を設ける。この黒板クライアントは、例えば、上記説明したクライアント１０と同様に構成することができるが、出力部１２が複数ユーザが容易に閲覧可能な程度の大きさで構成されている。そして、先生が、自己の先生用クライアント１０Ａと黒板クライアントの両方を使用する場合、先生用クライアント１０Ａの出力部１２の出力内容を黒板クライアントの出力部１２の出力内容にそのまま反映させることで、出力内容を生徒にも見せたり、先生が黒板クライアントの操作を行った場合に、この操作を生徒用クライアント１０Ｂの出力内容のみに反映させることができる。あるいは、先生と生徒が黒板クライアントを共用する場合、先生や生徒が黒板クライアントの操作を行った場合に、この操作を先生用クライアント１０Ａの出力内容と生徒用クライアント１０Ｂの出力内容に反映させることができる。
【００９５】
（クライアントＩＤの取得処理について）
また、上記各実施の形態では、各先生の先生用クライアント１０Ａには、その時点でサーバ３０に接続している各生徒用クライアント１０ＢのクライアントＩＤが最新の状態で保持されるものとして説明したが、このクライアントＩＤは、必要に応じて取得するようにしてもよい。例えば、グループ設定処理を行う際に、先生の先生用クライアント１０Ａのメッセージ送信部１３ａが、上述した「現在サーバ３０に接続している各生徒用クライアント１０ＢのクライアントＩＤの取得処理」と同様に、各生徒用クライアント１０ＢのクライアントＩＤを取得するためのメッセージを生成してサーバ３０に送信することで、各生徒用クライアント１０ＢのクライアントＩＤを取得するようにしてもよい。
【００９６】
また、上述した「現在サーバ３０に接続している各生徒用クライアント１０ＢのクライアントＩＤの取得処理」では、先生用クライアント１０Ａからサーバ３０を介して生徒用クライアント１０ＢにクライアントＩＤの送信を要求しているが、先生用クライアント１０Ａとサーバ３０のみの間でこの処理を完結させてもよい。例えば、サーバ３０の送受信制御部３１ａは、先生用クライアント１０Ａから生徒用クライアント１０ＢのクライアントＩＤの取得要求を受けた場合、記憶部３２のＵＲＬ別クライアントリスト３２ａを参照することによって、あるいは各生徒用クライアント１０ＢにクライアントＩＤの送信要求を行うことによって、その時点でサーバ３０に接続している生徒用クライアント１０ＢのクライアントＩＤを取得し、当該取得したクライアントＩＤを先生用クライアント１０Ａに送信するようにしてもよい。
【００９７】
（グループ設定処理について）
上記各実施の形態では、先生用クライアント１０Ａにおいて先生がグループＩＤを入力しているが、サーバ３０の送受信制御部３１ａが生成するようにしてもよい。例えば、送受信制御部３１ａは、先生用クライアント１０Ａからグループ設定用のメッセージを受信した場合には、グループＩＤを公知の方法で生成し、当該生成したグループＩＤと当該メッセージに含まれるクライアントＩＤとを相互に対応付けてグループリスト３２ｂを生成して記憶部３２に格納する。また、送受信制御部３１ａは、当該生成したグループＩＤを先生用クライアント１０Ａに送信し、先生用クライアント１０Ａのメッセージ受信部１３ｂは、当該送信されたグループＩＤを、クライアントＩＤと対応付けて、図３と同様のグループリストを生成して記憶部１４に格納する。
【符号の説明】
【００９８】
１  情報出力共有システム
１０  クライアント
１０Ａ  先生用クライアント
１０Ｂ  生徒用クライアント
１１  入力部
１２  出力部
１３、３１  制御部
１３ａ  メッセージ送信部
１３ｂ  メッセージ受信部
１４、３２  記憶部
１５、３３  ネットワークＩＦ
３０    サーバ
３１ａ  送受信制御部
３２ａ  ＵＲＬ別クライアントリスト
３２ｂ  グループリスト
３２ｃ  サーバ内処理対象リスト
３２ｄ  転送ルールテーブル
４０  ネットワーク
【図１】
2013186769.tif 000003
【図２】
2013186769.tif 000004
【図３】
2013186769.tif 000005
【図４】
2013186769.tif 000006
【図５】
2013186769.tif 000007
【図６】
2013186769.tif 000008
【図７】
2013186769.tif 000009
【図８】
2013186769.tif 000010
【図９】
2013186769.tif 000011
【図１０】
2013186769.tif 000012
【図１１】
2013186769.tif 000013
【手続補正書】
【提出日】平成24年7月13日(2012.7.13)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数のクライアントとサーバとを、ネットワークを介して相互に通信可能に接続して構成された、情報出力共有システムであって、
前記複数のクライアントの各々は、
当該クライアントの入力手段を介して当該クライアントの出力手段における出力内容に変更を生じさせる操作が行われた場合、当該操作を特定するための操作内容特定情報を含んだメッセージを生成して前記サーバに送信するメッセージ送信手段と、
前記サーバを介して他の前記クライアントから前記メッセージを受信した場合に、当該メッセージに含まれる操作内容特定情報によって特定される操作を、当該クライアントの出力手段における出力内容に変更を生じさせるための操作として実行するメッセージ受信手段とを備え、
前記サーバは、
前記クライアントから前記メッセージを受信した場合に、当該メッセージを他の前記クライアントに転送する送受信制御手段と、
前記メッセージの転送先を特定するための転送先特定情報を格納する転送先特定情報格納手段と、
前記クライアントから前記メッセージを受信した場合に、前記転送先特定情報格納手段にて格納された前記転送先特定情報に基づいて、当該受信したメッセージの転送先とすべきクライアントを特定し、当該特定したクライアントにおいて当該メッセージが受信されるように所定制御を行う転送制御手段とを備え、
前記転送先特定情報格納手段は、
前記クライアントが前記サーバに接続する際に使用するＵＲＬと、前記クライアントの種類とを、相互に関連付けて構成されたＵＲＬ別クライアントリスト、を格納するＵＲＬ別クライアント特定情報格納手段と、
前記メッセージの送信元のクライアントの種類と、前記メッセージの転送先の候補となるクライアントの種類とを、相互に関連付けて構成された転送ルールテーブル、を格納する転送ルール特定情報格納手段と、を有し、
前記転送制御手段は、
前記クライアントから前記メッセージを受信した場合に、当該クライアントが当該サーバに接続した際に使用したＵＲＬに対応するクライアントの種類を前記ＵＲＬ別クライアント特定情報格納手段を参照して特定することにより、当該メッセージの送信元のクライアントの種類を特定し、
当該特定したメッセージの送信元のクライアントの種類に対応するメッセージの転送先の候補となるクライアントの種類を前記転送ルール特定情報格納手段を参照して特定し、
当該特定したメッセージの転送先の候補となるクライアントの種類に対応するＵＲＬを前記ＵＲＬ別クライアント特定情報格納手段を参照して特定し、
当該特定したＵＲＬに基づいて、当該受信したメッセージの転送先とすべきクライアントを特定する、
情報出力共有システム。
【請求項２】
前記転送先特定情報格納手段は、前記クライアントを一意に識別するためのクライアントＩＤと、前記クライアントによって構成されるグループを一意に識別するためのグループＩＤとを、相互に関連付けて構成されたグループリスト、を格納するグループ特定情報格納手段を有し、
前記転送制御手段は、前記クライアントから前記メッセージを受信した場合に、当該メッセージに含まれるグループＩＤに対応するクライアントＩＤを前記グループ特定情報格納手段から取得し、当該取得したクライアントＩＤに基づいて、当該受信したメッセージの転送先とすべきクライアントを特定する、
請求項１に記載の情報出力共有システム。
【請求項３】
複数のクライアントに対してネットワークを介して通信可能に接続して構成されたサーバにて実行される情報出力共有プログラムであって、
前記サーバは、複数のクライアントのいずれかから送信されたメッセージを他の前記クライアントに転送する際における、当該メッセージの転送先を特定するための転送先特定情報を格納する転送先特定情報格納手段を備え、
前記転送先特定情報格納手段は、
前記クライアントが前記サーバに接続する際に使用するＵＲＬと、前記クライアントの種類とを、相互に関連付けて構成されたＵＲＬ別クライアントリスト、を格納するＵＲＬ別クライアント特定情報格納手段と、
前記メッセージの送信元のクライアントの種類と、前記メッセージの転送先の候補となるクライアントの種類とを、相互に関連付けて構成された転送ルールテーブル、を格納する転送ルール特定情報格納手段と、を有し、
前記サーバを、
前記クライアントから前記メッセージを受信した場合に、当該メッセージを他の前記クライアントに転送する送受信制御手段と、
前記クライアントから前記メッセージを受信した場合に、前記転送先特定情報格納手段にて格納された前記転送先特定情報に基づいて、当該受信したメッセージの転送先とすべきクライアントを特定し、当該特定したクライアントにおいて当該メッセージが受信されるように所定制御を行う転送制御手段と、して機能させ、
前記転送制御手段は、
前記クライアントから前記メッセージを受信した場合に、当該クライアントが当該サーバに接続した際に使用したＵＲＬに対応するクライアントの種類を前記ＵＲＬ別クライアント特定情報格納手段を参照して特定することにより、当該メッセージの送信元のクライアントの種類を特定し、
当該特定したメッセージの送信元のクライアントの種類に対応するメッセージの転送先の候補となるクライアントの種類を前記転送ルール特定情報格納手段を参照して特定し、
当該特定したメッセージの転送先の候補となるクライアントの種類に対応するＵＲＬを前記ＵＲＬ別クライアント特定情報格納手段を参照して特定し、
当該特定したＵＲＬに基づいて、当該受信したメッセージの転送先とすべきクライアントを特定する、
情報出力共有プログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００７
【補正方法】変更
【補正の内容】
【０００７】
請求項１に記載の情報出力共有システム又は請求項３に記載の情報出力共有プログラムによれば、クライアントの出力手段における出力内容に変更を生じさせる操作を特定するための操作内容特定情報を含んだメッセージが他のクライアントに転送され、当該他のクライアントで当該操作が実行されるので、画像データ等の出力内容自体を転送する場合に比べて、クライアントやサーバの処理負荷を低減することができると共に、ネットワークの負荷を低減することができる。このため、従来よりも高速で情報出力共有処理を実行することができ、情報出力共有におけるリアルタイム性や利便性を向上させることが可能になる。また、メッセージの転送先が主としてサーバによって特定されるので、クライアントの負荷を軽減することが可能になる。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００１０
【補正方法】削除
【補正の内容】