JP2013186769A - Information output sharing system - Google Patents

Information output sharing system Download PDF

Info

Publication number
JP2013186769A
JP2013186769A JP2012052481A JP2012052481A JP2013186769A JP 2013186769 A JP2013186769 A JP 2013186769A JP 2012052481 A JP2012052481 A JP 2012052481A JP 2012052481 A JP2012052481 A JP 2012052481A JP 2013186769 A JP2013186769 A JP 2013186769A
Authority
JP
Japan
Prior art keywords
client
message
server
transfer destination
url
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.)
Granted
Application number
JP2012052481A
Other languages
Japanese (ja)
Other versions
JP5086486B1 (en
Inventor
Shuichi Kudo
修一 工藤
Masafumi Kimura
雅史 木村
Takahiro Furubayashi
隆宏 古林
Sadamu Hashimoto
定 橋本
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/en
Application granted granted Critical
Publication of JP5086486B1 publication Critical patent/JP5086486B1/en
Publication of JP2013186769A publication Critical patent/JP2013186769A/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To provide an information output sharing system etc. in which output of various types of information such as an image and voice are shared between a plurality of clients easily with a lower load in comparison with the past.SOLUTION: An information output sharing system 1 is configured by communicably connecting a plurality of clients 10 and a server 30. The clients 10 comprise a message transmission unit 13a which transmits a message including operation content specification information for specifying an operation causing a change in output content of the clients 10 to the server; and a message reception unit 13b which executes the operation specified by the message received from another client 10. At least one of each of the plurality of clients 10 or the server 30 comprises means to store transfer destination specification information for specifying a transmission destination of the massage and means to specify a client which becomes a transfer destination of the massage on the basis of the transfer destination specification information.

Description

本発明は、各種の情報の出力を複数のクライアントの相互間で共有的に行うための情報出力共有システムに関する。   The present invention relates to an information output sharing system for outputting various information in a shared manner among a plurality of clients.

従来、複数のクライアントの相互間においてデスクトップ画像を共有的に表示するためのシステムが提案されている。このようなシステムによれば、例えば、共通の画像を見ながら複数の参加者が会議を行う電子会議や、共通の画像を見ながら先生が複数の生徒に対して授業を行う電子授業を、これら各ユーザが相互に離れた場所にいる場合であっても実現することが可能になる。   Conventionally, a system for sharing a desktop image among a plurality of clients has been proposed. According to such a system, for example, an electronic conference in which a plurality of participants hold a meeting while viewing a common image, or an electronic lesson in which a teacher conducts a class for a plurality of students while viewing a common image, This can be realized even when the users are located away from each other.

このようなシステムにおいては、複数のクライアントに対して、画像の全体又は更新部分のデータを一定時間毎に送信等する必要があった。例えば、特許文献1には、複数台のクライアントをサーバを介して通信可能に接続して構成されたシステムにおいて、サーバの共有画面領域が更新される毎に、サーバから各クライアントに対して画像データを送信するシステムが開示されている。   In such a system, it is necessary to transmit the data of the entire image or the updated portion to a plurality of clients at regular intervals. For example, in Patent Document 1, in a system configured by connecting a plurality of clients to be communicable via a server, image data is transmitted from the server to each client each time the shared screen area of the server is updated. Is disclosed.

特開2005−348262号公報JP 2005-348262 A

しかしながら、このような従来のシステムにおいては、画像が更新される毎に画像データをクライアントに送信する必要があったので、システム負荷やネットワーク負荷が増大し、システム環境やネットワーク環境によってはクライアントにおける画像更新が迅速に行われなくなる等の問題があった。特に、単なる更新後の画像のみでなく、更新中の描画状態まで共有することでリアルタイム感を持たせたい場合や、クライアントの数が多い場合には、一層大量の画像データを高頻度で送信等する必要が生じるため、問題が一層顕著になっていた。   However, in such a conventional system, it is necessary to transmit image data to the client every time the image is updated. Therefore, the system load and the network load increase, and depending on the system environment and the network environment, the image on the client is increased. There was a problem that updating was not performed quickly. In particular, if you want to have a real-time feeling by sharing not only the updated image but also the drawing state that is being updated, or if you have a large number of clients, send a larger amount of image data more frequently. The problem has become even more pronounced.

本発明は、上記に鑑みてなされたものであって、画像や音声の如き各種の情報の出力を、複数のクライアントの相互間で共有的に行うことを、従来よりも容易かつ低負荷で行うことが可能になる、情報出力共有システム、情報出力共有サーバ、情報出力共有クライアント、及び情報出力共有プログラムを提供することを目的とする。   The present invention has been made in view of the above, and the output of various information such as images and sounds can be performed in a shared manner among a plurality of clients with easier and lower load than before. An object of the present invention is to provide an information output sharing system, an information output sharing server, an information output sharing client, and an information output sharing program.

請求項1に記載の情報出力共有システム又は請求項6に記載の情報出力共有プログラムによれば、クライアントの出力手段における出力内容に変更を生じさせる操作を特定するための操作内容特定情報を含んだメッセージが他のクライアントに転送され、当該他のクライアントで当該操作が実行されるので、画像データ等の出力内容自体を転送する場合に比べて、クライアントやサーバの処理負荷を低減することができると共に、ネットワークの負荷を低減することができる。このため、従来よりも高速で情報出力共有処理を実行することができ、情報出力共有におけるリアルタイム性や利便性を向上させることが可能になる。   The information output sharing system according to claim 1 or the information output sharing program according to claim 6 includes operation content specifying information for specifying an operation that causes a change in the output content in the output means of the client. Since the message is transferred to another client and the operation is executed by the other client, the processing load on the client and the server can be reduced as compared with the case where the output content itself such as image data is transferred. The load on the network can be reduced. For this reason, the information output sharing process can be executed at a higher speed than before, and the real-time property and convenience in information output sharing can be improved.

請求項2に記載の情報出力共有システムによれば、グループIDに対応するクライアントIDが取得され、当該取得したクライアントIDに基づいてメッセージの転送先とすべきクライアントが特定されるので、メッセージの転送先をグループという概念で特定することができ、目的や用途に応じた様々なグループを設定して使い分けることが可能になり、メッセージの転送先をクライアント毎に特定する場合に比べて、情報出力共有における利便性を向上させることが可能になる。   According to the information output sharing system of claim 2, the client ID corresponding to the group ID is acquired, and the client to be the message transfer destination is specified based on the acquired client ID. The destination can be specified by the concept of group, and it is possible to set various groups according to the purpose and application and use them differently. Compared to the case where the message forwarding destination is specified for each client, information output is shared. It is possible to improve convenience in

請求項3に記載の情報出力共有システム又は請求項5に記載の情報出力共有プログラムによれば、メッセージの転送先が主としてサーバによって特定されるので、クライアントの負荷を軽減することが可能になる。   According to the information output sharing system according to the third aspect or the information output sharing program according to the fifth aspect, since the transfer destination of the message is specified mainly by the server, it is possible to reduce the load on the client.

請求項4に記載の情報出力共有システムによれば、メッセージの転送先が主としてクライアントによって特定されるので、サーバの負荷を軽減することが可能になると共に、サーバが何らかの原因でダウン等した場合であっても他のサーバに容易に切り替えて情報出力共有を継続できるので、情報出力共有の信頼性を向上させることが可能になる。   According to the information output sharing system of the fourth aspect, since the transfer destination of the message is mainly specified by the client, it is possible to reduce the load on the server and when the server is down for some reason. Even if it exists, since it can switch to another server easily and information output sharing can be continued, it becomes possible to improve the reliability of information output sharing.

本発明の実施の形態1に係る情報出力共有システムを機能概念的に示すブロック図である。1 is a block diagram functionally conceptually showing an information output sharing system according to Embodiment 1 of the present invention. URL別クライアントリストの構成例を示す図である。It is a figure which shows the structural example of the client list classified by URL. グループリストの構成例を示す図である。It is a figure which shows the structural example of a group list. サーバ内処理対象リストの構成例を示す図である。It is a figure which shows the structural example of the process target list in a server. 転送ルールテーブルの構成例を示す図である。It is a figure which shows the structural example of a transfer rule table. 接続処理のフローチャートである。It is a flowchart of a connection process. グループ設定処理のフローチャートである。It is a flowchart of a group setting process. 情報出力共有処理のフローチャートである。It is a flowchart of an information output sharing process. 図8に続く情報出力共有処理のフローチャートである。FIG. 9 is a flowchart of information output sharing processing following FIG. 8. FIG. 本実施の形態2に係る情報出力共有システムを機能概念的に示すブロック図である。It is a block diagram which shows the information output sharing system which concerns on this Embodiment 2 functionally conceptually. 情報出力共有処理のフローチャートである。It is a flowchart of an information output sharing process.

以下に添付図面を参照して、この発明に係る情報出力共有システムの各実施の形態を詳細に説明する。まず、各実施の形態に共通の基本的概念について説明した後、各実施の形態の具体的内容を説明し、最後に各実施の形態に対する変形例について説明する。ただし、各実施の形態によって本発明が限定されるものではない。   Hereinafter, embodiments of an information output sharing system according to the present invention will be described in detail with reference to the accompanying drawings. First, after explaining a basic concept common to each embodiment, the specific contents of each embodiment will be described, and finally, modifications to each embodiment will be described. However, the present invention is not limited to each embodiment.

〔各実施の形態に共通の基本的概念〕
最初に、各実施の形態に共通の基本的概念について説明する。この情報出力共有システムは、各種の情報の出力を複数のクライアント(端末装置)の相互間で共有的に行うためのシステムである。「情報」の内容や出力形態は任意であり、画像を表示出力する場合と音声を音出力する場合とを含むが、以下では、画像を表示出力する場合について説明する。「複数のクライアント」は、相互に同一の装置であってもよく、あるいは相互に異なる装置であってもよい。「共有的」とは、同一の情報を複数のクライアントで出力することを意味するが、必要に応じて、複数のクライアントの相互間において情報の出力内容や出力タイミングに差を設けたり、複数のクライアントの中から選択された1台又は一部の複数のクライアントのみで出力したりすることを含む。
[Basic concept common to each embodiment]
First, a basic concept common to the embodiments will be described. This information output sharing system is a system for outputting various information in a shared manner among a plurality of clients (terminal devices). The content and output form of “information” are arbitrary and include the case where an image is displayed and output and the case where sound is output as a sound. In the following, the case where an image is displayed and output will be described. The “plurality of clients” may be the same device as each other or may be devices different from each other. “Shared” means that the same information is output by a plurality of clients. However, if necessary, there is a difference in information output contents and output timing among a plurality of clients. Or outputting only one or some of the plurality of clients selected from the clients.

この情報出力共有システムの具体的な適用目的は任意であり、例えば、共通の画像を見ながら複数の参加者が会議を行う電子会議や、共通の画像を見ながら先生が複数の生徒に対して授業を行う電子授業を挙げることができる。以下では、電子授業を行う場合について説明する。この電子授業では、「ユーザの種類」として、「先生」と「生徒」があるものとする。「先生」とは、授業を行う者であり、「生徒」とは、授業を受ける者である。ただし、このようなユーザの種類を特に区別する必要がない場合には、これら各種類のユーザを「ユーザ」と総称する。また、この電子授業では、「クライアントの種類」として、先生が使用するクライアントである「先生用クライアント」と、生徒が使用するクライアントである「生徒用クライアント」があるものとする。ただし、このようなクライアントの種類を特に区別する必要がない場合には、これら各種類のクライアントを「クライアント」と総称する。なお、クライアントの種類は、ユーザの種類から見た区分であって、必ずしもクライアントの物理的な種類を意味するものではなく、例えば、各クライアントは、相互に同一の装置として構成することができる。   The specific application purpose of this information output sharing system is arbitrary. For example, an electronic conference in which a plurality of participants hold a meeting while viewing a common image, or a teacher gives a plurality of students a viewing of a common image. List electronic classes for classes. Below, the case where an electronic lesson is performed is demonstrated. In this electronic class, there are “teacher” and “student” as “user types”. A “teacher” is a person who conducts a lesson, and a “student” is a person who takes a lesson. However, when it is not necessary to distinguish such types of users, these types of users are collectively referred to as “users”. In this electronic lesson, it is assumed that there are a “teacher client” that is a client used by a teacher and a “student client” that is a client used by students as “client types”. However, when there is no need to distinguish such client types, these types of clients are collectively referred to as “clients”. Note that the type of client is a division seen from the type of user, and does not necessarily mean the physical type of the client. For example, each client can be configured as the same device.

この情報出力共有システムにおけるクライアントとサーバの接続の基本的概念について説明する。各クライアントには、クライアント用の情報出力共有アプリケーション(クライアント用の情報出力共有プログラム)である「クライアント側アプリ」がインストールされており、このクライアント側アプリの機能により、各クライアントにおけるサーバとの接続等が行われる。このクライアント側アプリとしては、特記する場合を除いて、各クライアントが相互に同一のアプリケーションを用いるものとする。   The basic concept of the connection between the client and the server in this information output sharing system will be described. Each client is installed with a “client-side application” that is an information output sharing application for clients (information output sharing program for clients). The function of this client-side application enables connection to the server in each client, etc. Is done. As this client-side application, unless otherwise specified, each client uses the same application.

一方、サーバには、サーバ用の情報出力共有アプリケーション(サーバ用の情報出力共有プログラム)である「サーバ側アプリ」がインストールされており、このサーバ側アプリの機能により、各クライアントとの接続等が行われる。このサーバ側アプリは、所定の通信規格に基づいて各クライアントとの通信を行う。この通信規格は任意であるが、ネットワーク負荷が低い通信規格を採用することが好ましく、例えば、クライアントと接続確立を行った後は再度の接続確立を行うことなく専用プロトコルで通信を行うことができる、Websocketを利用することができる。また、サーバには、クライアントオブジェクトが設けられている。このクライアントオブジェクトは、クライアントとの通信を仲介する通信仲介プログラムであり、例えば、Java(登録商標)のWebサーバサイドでの実行形態の一つであるServletとして構成されている。   On the other hand, a server-side application (server-side information output sharing program) “server-side application” is installed in the server, and the server-side application function enables connection with each client. Done. This server side application communicates with each client based on a predetermined communication standard. Although this communication standard is arbitrary, it is preferable to adopt a communication standard with a low network load. For example, after establishing a connection with a client, communication can be performed using a dedicated protocol without establishing a connection again. Websocket can be used. The server is provided with a client object. This client object is a communication mediation program that mediates communication with a client, and is configured as a Servlet that is one of execution forms on the Web server side of Java (registered trademark), for example.

このような前提において、クライアントは、URL(Uniform Resource Locator)を用いてサーバに接続する。このURLとしては、クライアントの種類に応じて相互に異なるURLが設定されており、例えば、先生用URLと生徒用URLがある。このURLは、各種類に対して複数ずつ設けることもでき、例えば、先生AがクラスAを担当し、先生BがクラスBを担当する場合には、先生AはクラスA用の先生用URLを用いてサーバに接続し、先生BはクラスB用の先生用URLを用いてサーバに接続するようにしてもよい。   Under such a premise, the client connects to the server using a URL (Uniform Resource Locator). As this URL, different URLs are set according to the type of client. For example, there are a teacher URL and a student URL. A plurality of URLs can be provided for each type. For example, when teacher A is in charge of class A and teacher B is in charge of class B, teacher A has a teacher URL for class A. The teacher B may connect to the server using the teacher URL for class B.

この情報出力共有システムでは、クライアントの出力手段における出力内容に変更を生じさせる操作が行われた場合、この操作を、他のクライアントの出力手段における出力内容に変更を生じさせるための操作として実行する。「出力内容に変更を生じさせる操作」とは、出力内容が変更されたことをユーザが把握可能となるように当該出力内容を変更することをいい、例えば、情報が画像である場合には、画像の表示、画像の消去、画像の一部の変更のように、情報に対する変更の他、クライアントのディスプレイの輝度を変更するような情報の出力手段に対する変更を含む。以下、このように出力内容に変更を生じさせる操作を、単に「操作」と称する。   In this information output sharing system, when an operation that causes a change in the output content in the client output means is performed, this operation is executed as an operation for causing a change in the output content in the output means of another client. . “Operation to change the output content” means to change the output content so that the user can grasp that the output content has been changed. For example, when the information is an image, In addition to changes to information, such as displaying an image, erasing an image, and changing a part of an image, changes to information output means such as changing the brightness of a client display are included. Hereinafter, such an operation that causes a change in the output content is simply referred to as an “operation”.

この操作に基づいて他のクライアントの出力内容に変更を生じさせるために、操作が行われたクライアントからサーバに情報を送信し、サーバはこの情報を他のクライアントに転送する。以下、このように送信や転送される情報を「メッセージ」、メッセージの送信元となるクライアント(ユーザにより直接的に操作が行われたクライアント)を「送信元のクライアント」、メッセージの転送先(送信先)となるクライアントを「転送先のクライアント」と、それぞれ称する。   In order to change the output contents of another client based on this operation, information is transmitted from the client to which the operation has been performed to the server, and the server transfers this information to the other client. In the following, the information transmitted and forwarded in this way is “message”, the client that is the sender of the message (the client that is directly operated by the user) is “client of the sender”, and the message destination (send The destination client is referred to as a “destination client”.

このようにメッセージの転送を行う場合には、転送先のクライアントを特定する必要が生じる。この転送先のクライアントの特定処理は、1)主にサーバが行う形態と、2)主にクライアントが行う形態、あるいは、3)サーバとクライアントが協同して行う形態がある。以下では、主にサーバが行う形態を実施の形態1、主にクライアントが行う形態を実施の形態2で説明し、サーバとクライアントが協同して行う形態は変形例において説明する。   In this way, when transferring a message, it is necessary to specify the destination client. The transfer destination client identification processing includes 1) a form mainly performed by the server, 2) a form mainly performed by the client, or 3) a form performed jointly by the server and the client. Hereinafter, a mode mainly performed by the server will be described in Embodiment 1, a mode mainly performed by the client will be described in Embodiment 2, and a mode performed jointly by the server and the client will be described in a modification.

〔実施の形態1〕
次に、実施の形態1について説明する。この形態は、転送先のクライアントの特定処理を、主にサーバが行う形態である。最初に、本実施の形態に係る情報出力共有システムの構成について説明し、その後に、情報出力共有システムで行われる処理について説明する。
[Embodiment 1]
Next, the first embodiment will be described. This form is a form in which the server mainly performs the process of specifying the transfer destination client. First, the configuration of the information output sharing system according to the present embodiment will be described, and then the processing performed in the information output sharing system will be described.

(構成)
まず、本実施の形態1に係る情報出力共有システムの構成について説明する。図1は、本実施の形態1に係る情報出力共有システムを機能概念的に示すブロック図である。この情報出力共有システム1は、複数台の先生用クライアント10A及び複数台の生徒用クライアント10Bと、サーバ30とを、ネットワーク40を介して相互に通信可能に接続して構成されている。
(Constitution)
First, the configuration of the information output sharing system according to the first embodiment will be described. FIG. 1 is a block diagram functionally conceptually illustrating the information output sharing system according to the first embodiment. The information output sharing system 1 is configured by connecting a plurality of teacher clients 10A and a plurality of student clients 10B and a server 30 via a network 40 so that they can communicate with each other.

(構成−クライアント)
先生用クライアント10A及び生徒用クライアント10Bは、特記する点を除いて、相互に同一の装置として構成されているため、以下では、クライアント10としてまとめて説明する。このクライアント10は、機能概念的に、入力部11、出力部12、制御部13、記憶部14、及びネットワークIF15を、バスにて接続して構成されており、例えば、公知のデスクトップコンピュータ、ノートブックコンピュータ、タブレット型コンピュータ、あるいはスマートフォンを用いて構成されている。
(Configuration-Client)
The teacher client 10 </ b> A and the student client 10 </ b> B are configured as the same device except for special points, and will be collectively described below as the client 10. The client 10 is configured in terms of functional concept by connecting an input unit 11, an output unit 12, a control unit 13, a storage unit 14, and a network IF 15 via a bus. A book computer, a tablet computer, or a smartphone is used.

入力部11は、各種の情報をクライアント10に入力するための入力手段であり、特に、クライアント10の出力部12における出力内容に変更を生じさせる操作を行うための操作手段である。この入力部11の具体的な構成は任意であり、例えば、マウス、キーボード、あるいはタッチパネルとして構成することができる。   The input unit 11 is an input unit for inputting various types of information to the client 10, and in particular, an operation unit for performing an operation that causes a change in the output content of the output unit 12 of the client 10. The specific configuration of the input unit 11 is arbitrary, and can be configured as, for example, a mouse, a keyboard, or a touch panel.

出力部12は、各種の情報をクライアント10において出力するための出力手段である。この出力部12の具体的な構成は任意であり、例えば、公知の液晶ディスプレイや有機ELディスプレイの如きフラットパネルディスプレイとして構成することができる。   The output unit 12 is an output unit for outputting various types of information at the client 10. The specific configuration of the output unit 12 is arbitrary. For example, the output unit 12 can be configured as a flat panel display such as a known liquid crystal display or organic EL display.

制御部13は、CPU(Central Processing Unit)や、このCPU上で解釈実行される各種のプログラム(OSなどの制御プログラムや各種の処理手順などを規定したプログラム)、及び、所要プログラムや所要データを格納するためのキャッシュメモリを備えて構成される(後述する制御部31も同じ)。このCPU上で解釈実行される各種のプログラムにはクライアント側アプリが含まれ、このクライアント側アプリは、例えば、CD−ROMやDVDを含む任意の記憶媒体に記憶された後、インストールされて記憶部14に不揮発的に記憶され、CPUにて解釈実行されることで制御部13の実質的機能を構成する。   The control unit 13 includes a CPU (Central Processing Unit), various programs interpreted and executed on the CPU (control programs such as an OS, programs that define various processing procedures, etc.), required programs, and required data. It is configured with a cache memory for storing (the control unit 31 described later is also the same). Various programs interpreted and executed on the CPU include a client-side application. The client-side application is stored in an arbitrary storage medium including, for example, a CD-ROM and a DVD, and then installed and stored in a storage unit. 14 is stored in a nonvolatile manner, and is interpreted and executed by the CPU, thereby constituting a substantial function of the control unit 13.

この制御部13は、機能概念的に、メッセージ送信部13a及びメッセージ受信部13bを備えて構成されている。メッセージ送信部13aは、当該クライアント10の入力部11を介して操作が行われた場合、当該操作を特定するための操作内容特定情報を含んだメッセージを生成してサーバ30に送信するメッセージ送信手段である。メッセージ受信部13bは、サーバ30を介して他のクライアント10からメッセージを受信した場合に、当該メッセージに含まれる操作内容特定情報によって特定される操作を、当該クライアント10の出力部12における出力内容に変更を生じさせるための操作として実行するメッセージ受信手段である。これら各部の機能については、各処理と併せて説明する。   The control unit 13 includes a message transmission unit 13a and a message reception unit 13b in terms of functional concept. The message transmitting unit 13a generates a message including operation content specifying information for specifying the operation and transmits the message to the server 30 when the operation is performed via the input unit 11 of the client 10. It is. When the message receiving unit 13b receives a message from another client 10 via the server 30, the message receiving unit 13b converts the operation specified by the operation content specifying information included in the message into the output content in the output unit 12 of the client 10. Message receiving means executed as an operation for causing a change. The function of each unit will be described together with each process.

記憶部14は、クライアント10で実行される各種処理に必要な情報やパラメータを不揮発的に格納する格納手段であり、例えば、HD(Hard Disk)や半導体メモリにより構成される(後述する記憶部32も同じ)。この記憶部14には、クライアントIDと、先生用アプリ又はクライアント用アプリが記憶されている。クライアントIDは、クライアント10を一意に識別するためのクライアント識別情報である。つまり、記憶部14は、クライアント識別情報を格納するクライアント識別情報格納手段として機能する。   The storage unit 14 is a storage unit that stores information and parameters necessary for various processes executed by the client 10 in a nonvolatile manner, and is configured by, for example, an HD (Hard Disk) or a semiconductor memory (a storage unit 32 described later). The same). The storage unit 14 stores a client ID and a teacher application or a client application. The client ID is client identification information for uniquely identifying the client 10. That is, the storage unit 14 functions as a client identification information storage unit that stores client identification information.

ネットワークIF15は、クライアント10をネットワーク40を介してサーバ30と通信可能に接続するための通信手段であり、例えば、ネットワークボードとして構成されている。   The network IF 15 is a communication unit for connecting the client 10 to the server 30 via the network 40 so as to be communicable, and is configured as a network board, for example.

(構成−サーバ)
図1において、サーバ30は、機能概念的に、制御部31、記憶部32、及びネットワークIF33を、バスにて接続して構成されており、例えば、公知のWebサーバを用いて構成されている。
(Configuration-Server)
In FIG. 1, the server 30 is configured by connecting a control unit 31, a storage unit 32, and a network IF 33 through a bus in terms of functional concept, for example, using a known Web server. .

制御部31のCPU上で解釈実行される各種のプログラムにはサーバ側アプリが含まれ、このサーバ側アプリは、例えば、CD−ROMやDVDを含む任意の記憶媒体に記憶された後、インストールされて記憶部32に不揮発的に記憶され、CPUにて解釈実行されることで制御部31の実質的機能を構成する。   Various programs that are interpreted and executed on the CPU of the control unit 31 include a server-side application. The server-side application is stored after being stored in an arbitrary storage medium including, for example, a CD-ROM and a DVD. Thus, it is stored in the storage unit 32 in a nonvolatile manner, and is interpreted and executed by the CPU, thereby constituting a substantial function of the control unit 31.

この制御部31は、機能概念的に、送受信制御部31aを備えて構成されている。この送受信制御部31aは、クライアント10からメッセージを受信した場合に、当該メッセージを他のクライアント10に転送する送受信制御手段である。特に、この実施の形態1において、送受信制御部31aは、クライアント10からメッセージを受信した場合に、後述する転送先特定情報格納手段にて格納された転送先特定情報に基づいて、当該受信したメッセージの転送先とすべきクライアント10を特定し、当該特定したクライアント10において当該メッセージが受信されるように所定制御を行う転送制御手段として機能する。   The control unit 31 includes a transmission / reception control unit 31a in terms of functional concept. The transmission / reception control unit 31 a is a transmission / reception control unit that, when receiving a message from the client 10, transfers the message to another client 10. In particular, in the first embodiment, when the message is received from the client 10, the transmission / reception control unit 31a receives the received message based on the transfer destination specifying information stored in the transfer destination specifying information storage means described later. The client 10 to be the transfer destination is specified, and functions as a transfer control unit that performs predetermined control so that the specified client 10 receives the message.

記憶部32には、URL別クライアントリスト32a、グループリスト32b、サーバ内処理対象リスト32c、及び転送ルールテーブル32dが記憶されている。これらURL別クライアントリスト32a、グループリスト32b、サーバ内処理対象リスト32c、及び転送ルールテーブル32dは、その一部により又は協同で、メッセージの転送先を特定するための転送先特定情報を構成する。すなわち、記憶部32は、転送先特定情報を格納する転送先特定情報格納手段として機能する。   The storage unit 32 stores a URL client list 32a, a group list 32b, an in-server processing target list 32c, and a transfer rule table 32d. These URL-specific client list 32a, group list 32b, in-server processing target list 32c, and transfer rule table 32d constitute transfer destination specifying information for specifying the transfer destination of a message, in part or in cooperation. That is, the storage unit 32 functions as a transfer destination specifying information storage unit that stores transfer destination specifying information.

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によってクライアントオブジェクトが自動的に生成された際、当該生成されたクライアントオブジェクトに基づいて生成又は更新される。   The URL-specific client list 32a is a list configured by associating the URL used when the client 10 connects to the server 30 and the type of the client 10 with each other. That is, the storage unit 32 functions as URL-specific client specifying information storage means for storing the URL-specific client list 32a. As shown in the configuration example of FIG. 2, the URL-specific client list 32a is configured by associating an item “URL set”, an item “URL”, an item “client object”, and information corresponding to each item with each other. ing. The item “URL set” is information for specifying a combination (set) of the transmission destination client 10 and the transfer destination client 10. In the example of FIG. 2, one or more teacher URLs and one or more URLs are used. Are associated with each other, the client 10 connected to the server 30 using the teacher URL and the client 10 connected to the server 30 using the student URL Clients 10 that connect to the server 30 using these teacher URLs or clients 10 that connect to the server 30 using the student URLs are transmission destinations or transfer destinations. It is specified. Information corresponding to the item “URL” is a URL used when the client 10 connects to the server 30. Information corresponding to the item “client object” is a client object generated for each client 10 when the client 10 connects to the server 30. The client list 32a by URL is generated or updated based on the generated client object when the client 10 connects to the server 30 and a client object is automatically generated by the server 30 in the connection process described later. The

グループリスト32bは、クライアント10を一意に識別するためのクライアントIDと、クライアント10によって構成されるグループを一意に識別するためのグループIDとを、相互に関連付けて構成されたリストである。すなわち、記憶部32は、グループリスト32bを格納するグループ特定情報格納手段として機能する。このグループリスト32bは、図3の構成例に示すように、項目「クライアントID」及び項目「グループID」と、各項目に対応する情報を相互に関連付けて構成されている。項目「クライアントID」に対応する情報は、クライアントIDである。項目「グループID」に対応する情報は、グループを一意に識別するためのグループID(グループ識別情報)である。このグループリスト32bは、後述するグループ設定処理において生成又は生成される。   The group list 32b is a list configured by associating a client ID for uniquely identifying the client 10 with a group ID for uniquely identifying a group configured by the client 10. That is, the storage unit 32 functions as a group identification information storage unit that stores the group list 32b. As shown in the configuration example of FIG. 3, the group list 32 b is configured by associating an item “client ID” and an item “group ID” with information corresponding to each item. Information corresponding to the item “client ID” is a client ID. Information corresponding to the item “group ID” is a group ID (group identification information) for uniquely identifying the group. The group list 32b is generated or generated in a group setting process described later.

サーバ内処理対象リスト32cは、クライアント10から送信されたメッセージの中で、他のクライアント10に転送することなくサーバ30の内部で処理すべきメッセージを特定するためのリストである。すなわち、記憶部32は、サーバ内処理対象リスト32cを格納するサーバ内処理メッセージ特定情報格納手段として機能する。このサーバ内処理対象リスト32cは、図4の構成例に示すように、項目「メッセージの種類」と、この項目に対応する情報を相互に関連付けて構成されている。項目「メッセージの種類」に対応する情報は、サーバ30の内部で処理すべきメッセージの種類である。このサーバ内処理対象リスト32cは、サーバ30の管理者が作成して記憶部32に格納する。   The server processing target list 32 c is a list for specifying a message to be processed inside the server 30 without being transferred to another client 10 among messages transmitted from the client 10. That is, the storage unit 32 functions as an in-server processing message specifying information storage unit that stores the in-server processing target list 32c. As shown in the configuration example of FIG. 4, the intra-server processing target list 32c is configured by associating an item “message type” with information corresponding to this item. The information corresponding to the item “message type” is the type of message to be processed inside the server 30. The in-server processing target list 32 c is created by the administrator of the server 30 and stored in the storage unit 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に格納する。   The transfer rule table 32d is a table configured by associating the type of the client 10 that is the message transmission source and the type of the client 10 that is the candidate of the message transfer destination. That is, the storage unit 32 functions as a transfer rule specifying information storage unit that stores the transfer rule table 32d. As shown in the configuration example of FIG. 5, the transfer rule table 32d includes items “transmission source client type”, item “message type”, item “group ID presence / absence”, and item “transfer destination candidate”. And the information corresponding to these items are associated with each other. Information corresponding to the item “type of client of transmission source” is the type of client 10 of the message transmission source. The information corresponding to the item “message type” is a message type. Information corresponding to the item “presence / absence of group ID” is group identification information presence / absence specifying information for specifying the presence / absence of a group ID. Here, there is “none” indicating that there is no group ID, or there is a group ID. “Yes” is stored. The information corresponding to the item “client as a transfer destination candidate” is transfer destination client specifying information for specifying the client 10 as a message transfer destination candidate. For example, the transfer destination specifying information stored in the second record from the top in FIG. 5 is “the type of the transmission source client = student” for the message transmitted from the client 10 (for connection to the server 30). If the URL used is a student URL), “message type = draw line”, and “group ID = none” (message does not contain a group ID), This indicates that “transfer destination candidate clients = all teachers” (all clients 10 whose URLs used for connection with the server 30 are teacher URLs are transfer destination candidates). The transfer rule table 32 d is created by the administrator of the server 30 and stored in the storage unit 32.

ネットワークIF33は、サーバ30をネットワーク40を介してクライアント10と通信可能に接続するための通信手段であり、例えば、ネットワークボードとして構成されている。   The network IF 33 is a communication unit for connecting the server 30 to the client 10 via the network 40 so as to be communicable, and is configured as a network board, for example.

(構成−ネットワーク)
図1のネットワーク40としては、WAN(Wide Area Network)であって、代表的にはインターネットであるが、専用通信線やLAN(Local Area Network)を含んでもよい。
(Configuration-Network)
The network 40 in FIG. 1 is a WAN (Wide Area Network), which is typically the Internet, but may include a dedicated communication line or a LAN (Local Area Network).

(処理)
次に、このように構成された情報出力共有システム1において行われる各種の処理について説明する。この処理は、接続処理、グループ設定処理、及び情報出力共有処理に大別される。以下、各処理について順次説明する。ただし、これら各処理は、実際には一連の連続した処理として実行したり、一部の処理を他の一部の処理の内部処理として実行したりしてもよい。以下の説明においては、特記するタイミングを除いて任意のタイミングにて各処理が行われ、特記する主体を除いて制御部13、30にて処理が行われるものとする。また、「ステップ」を「S」と略記する。
(processing)
Next, various processes performed in the information output sharing system 1 configured as described above will be described. This process is roughly divided into a connection process, a group setting process, and an information output sharing process. Hereinafter, each process will be described sequentially. However, each of these processes may actually be executed as a series of continuous processes, or some processes may be executed as internal processes of some other processes. In the following description, it is assumed that each process is performed at an arbitrary timing except for a specially described timing, and that the processes are performed by the control units 13 and 30 except for a subject to be specifically described. “Step” is abbreviated as “S”.

(処理−接続処理)
最初に、接続処理について説明する。この処理は、クライアント10において先生用アプリ又は生徒用アプリが入力部11を用いた所定方法で起動された場合に、起動される処理であり、クライアント10とサーバ30の接続を確立する処理である。図6は、接続処理のフローチャートである。
(Processing-Connection processing)
First, the connection process will be described. This process is a process that is started when a teacher application or a student application is started in the client 10 by a predetermined method using the input unit 11, and is a process for establishing a connection between the client 10 and the server 30. . FIG. 6 is a flowchart of the connection process.

まず、クライアント10の制御部13は、所定のURLに基づいてサーバ30にアクセスし、所定の通信規格に基づいてサーバ30に接続要求を送信する(SA1)。この際のURLは、例えば、先生用アプリ又は生徒用アプリに予め設定されたものを使用する。   First, the control unit 13 of the client 10 accesses the server 30 based on a predetermined URL, and transmits a connection request to the server 30 based on a predetermined communication standard (SA1). As the URL at this time, for example, a URL preset in the teacher application or the student application is used.

接続要求を受信したサーバ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との接続が切断された場合に破棄される。   Upon receiving the connection request, the control unit 31 of the server 30 establishes a connection with the client 10 based on a predetermined communication standard (SA2). Further, the control unit 31 of the server 30 generates a client ID for uniquely identifying the client 10 that established the connection by a known method, and transmits the client ID to the client 10 (SA3). At this time, the control unit 31 generates a client object including the generated client ID by a known method, and stores the generated client object in the URL client list 32a. That is, in the URL client list 32a, a URL set of a teacher URL and a student URL used by the client 10 is set in advance, and the client 10 connects the generated client object to the server 30. The URL is stored in the URL-specific client list 32a in association with the URL (teacher URL or student URL) used. Note that the client object stored in the URL-specific client list 32a is discarded when the connection with the server 30 is disconnected.

一方、サーバ30からクライアントIDを受信したクライアント10は、当該受信したクライアントIDを記憶部14に格納する(SA4)。これにて接続処理が終了する。   On the other hand, the client 10 that has received the client ID from the server 30 stores the received client ID in the storage unit 14 (SA4). This ends the connection process.

このような接続処理を行うことにより、各先生は、自己のクライアント10の先生用アプリを起動することで、サーバ30と接続することができ、各生徒は、自己のクライアント10の生徒用アプリを起動することで、サーバ30と接続することができる。   By performing such a connection process, each teacher can connect to the server 30 by starting the teacher application of his / her client 10, and each student can use the student application of his / her client 10. By starting up, the server 30 can be connected.

このような接続処理の後、各先生は、サーバ30に接続している各生徒用クライアント10BのクライアントIDを任意のタイミングで取得する。具体的には、1)現在サーバ30に接続している各生徒用クライアント10BのクライアントIDの取得処理、2)その後に新規にサーバ30に接続した各生徒用クライアント10BのクライアントIDの取得処理、及び、3)その後にサーバ30との接続を切断した各生徒用クライアント10BのクライアントIDの削除処理が行われる。   After such connection processing, each teacher acquires the client ID of each student client 10B connected to the server 30 at an arbitrary timing. Specifically, 1) client ID acquisition processing of each student client 10B currently connected to the server 30, and 2) client ID acquisition processing of each student client 10B newly connected to the server 30 after that, 3) Thereafter, the client ID of each student client 10B that has disconnected from the server 30 is deleted.

現在サーバ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が取得される。   The client ID acquisition process of each student client 10B currently connected to the server 30 is performed as follows. First, the message transmitting unit 13a of each teacher client 10A generates a message for acquiring the client ID of each student client 10B and transmits the message to the server 30. This message is generated in the same format as the message described in the information output sharing process described later, and includes “message type = acquisition of client ID of each student”. The transmission / reception control unit 31a of the server 30 that has received this message identifies all the student clients 10B belonging to the same URL set as the teacher client 10A with reference to the URL client list 32a, and all the identified clients are identified. The message is transferred to the student client 10B. The message receiving unit 13b of the student client 10B that has received this transfer transmits the client ID stored in its own storage unit 14 to the server 30. Then, the transmission / reception control unit 31a of the server 30 transmits this client ID to the teacher client 10A. The client ID transmitted in this way is stored in the storage unit 14 of the teacher client 10A. By performing such processing, the client ID of each student client 10B currently connected to the server 30 is acquired.

その後に新規にサーバ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が取得される。   Thereafter, the client ID acquisition process of each student client 10B newly connected to the server 30 is performed as follows. First, the message transmission unit 13 a of the student client 10 </ b> B newly connected to the server 30 generates a message for transmitting the client ID stored in its own storage unit 14 and transmits it to the server 30. This message is generated in the same format as the message described in the information output sharing process described later, and includes “message type = student client ID transmission” and “data = client ID”. The transmission / reception control unit 31a of the server 30 that has received this message identifies all the teacher clients 10A belonging to the same URL set as the student client 10B with reference to the URL client list 32a, The message is transmitted to the teacher client 10A. The message receiving unit 13b of the teacher client 10A that has received this transmission additionally stores the client ID included in the data of the message in its own storage unit 14. By performing such processing, the client ID of each student client 10B newly connected to the server 30 is acquired.

また、その後にサーバ30との接続を切断した各生徒用クライアント10BのクライアントIDの削除処理は、以下のよう行われる。まず、生徒用クライアント10Bの切断があった場合、サーバ30の送受信制御部31aは、当該切断した生徒用クライアント10Bに対応するクライアントオブジェクトをURL別クライアントリスト32aから破棄する際に、当該クライアントオブジェクトからクライアントIDを取得し、当該生徒用クライアント10Bと同じURLセットに属する全ての先生用クライアント10Aを、URL別クライアントリスト32aを参照して特定し、当該特定した全ての先生用クライアント10Aに、当該取得したクライアントIDを送信する。この送信を受けた先生用クライアント10Aのメッセージ受信部13bは、当該クライアントIDを、自己の記憶部14から削除する。このような処理を行うことで、サーバ30との接続を切断した各生徒用クライアント10BのクライアントIDが削除される。   Further, the deletion process of the client ID of each student client 10B that is disconnected from the server 30 is performed as follows. First, when the student client 10B is disconnected, the transmission / reception control unit 31a of the server 30 removes the client object corresponding to the disconnected student client 10B from the client list 32a by URL from the client object. The client ID is acquired, all teacher clients 10A belonging to the same URL set as the student client 10B are specified with reference to the client list 32a by URL, and the acquisition is made to all the specified teacher clients 10A. Sent the client ID. The message receiving unit 13b of the teacher client 10A that has received this transmission deletes the client ID from its own storage unit 14. By performing such processing, the client ID of each student client 10B that has disconnected from the server 30 is deleted.

以降、このような処理を繰り返すことで、各先生の先生用クライアント10Aには、その時点でサーバ30に接続している各生徒用クライアント10BのクライアントIDが最新の状態で保持されるので、以降の処理では、このクライアントIDを使用することが可能になる。なお、ここでは、先生用クライアント10Aが各生徒用クライアント10BのクライアントIDを保持する場合について説明したが、同様の処理を行うことで、生徒用クライアント10Bが各先生用クライアント10AのクライアントIDを保持するようにしてもよい。   Thereafter, by repeating such processing, the teacher client 10A of each teacher holds the client ID of each student client 10B connected to the server 30 at that time in the latest state. In this process, this client ID can be used. Here, the case where the teacher client 10A holds the client ID of each student client 10B has been described, but the student client 10B holds the client ID of each teacher client 10A by performing the same processing. You may make it do.

(処理−グループ設定処理)
次に、グループ設定処理について説明する。この処理は、先生用アプリ又は生徒用アプリにおいて入力部11を介してグループ設定処理の実行が所定方法で指示された場合に、起動される。ただし、グループ設定処理の実行は、先生用アプリ又は生徒用アプリのいずれか一方(通常は先生用アプリのみ)から起動できるようにしてもよい。以下では、グループ設定処理の実行を先生用アプリから起動することで、先生が生徒をグループ化する場合について説明する。図7は、グループ設定処理のフローチャートである。
(Processing-Group setting processing)
Next, the group setting process will be described. This process is activated when the teacher application or the student application is instructed to execute the group setting process via the input unit 11 by a predetermined method. However, the group setting process may be started from either the teacher application or the student application (usually only the teacher application). In the following, a case will be described in which the teacher groups students by starting the group setting process from the teacher application. FIG. 7 is a flowchart of the group setting process.

先生用クライアント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に格納する。   The control unit 13 of the teacher client 10A displays a predetermined group setting screen on the output unit 12 when a group setting request is made by the teacher via the input unit 11 in a predetermined method. This group setting screen is a screen for inputting information necessary for setting a group. The client ID of each student client 10B stored in the storage unit 14 of the teacher client 10A (the server 30 at that time). The client ID of each student client 10B connected to is displayed. Then, the teacher selects the client ID of the student client 10B to be designated as a group from the client IDs included in the group setting screen via the input unit 11, and inputs an arbitrary group ID to the input unit 11. (SB1, Yes), the message transmission unit 13a generates a group setting message based on the selected client ID and transmits it to the server 30 (SB2). This message is generated in the same format as the message described in the information output sharing process described later, and includes “message type = student group setting” and “data = client ID, group ID”. At this time, the control unit 13 associates the client ID with the group ID to generate a group list similar to that in FIG. 3 and stores it in the storage unit 14.

グループ設定用画面には、クライアントIDに加えて、各クライアントIDにて特定されるクライアント10を使用しているユーザの名前を併せて表示してもよい。例えば、先生用アプリや生徒用アプリに予め設定した名前や、先生用アプリや生徒用アプリの起動時に先生や生徒に入力部11を介して入力させた名前を、サーバ30においてクライアントIDと関連付けて記憶部32に格納しておき、サーバ30からクライアント10にグループ設定用画面用のクライアントIDを送信する際に、各クライアントIDに対応する名前を送信して、クライアントIDと共にグループ設定用画面に表示するようにしてもよい。なお、同様に、名前の他にも、ニックネーム、年齢、性別、顔写真等、クライアント10を特定するための参考になり得る任意の情報を、表示してもよい。   On the group setting screen, in addition to the client ID, the name of the user using the client 10 specified by each client ID may be displayed together. For example, the server 30 associates a name set in advance for the teacher application or the student application, or a name input by the teacher or student via the input unit 11 when the teacher application or the student application is activated, with the client ID. When storing the group setting screen client ID from the server 30 to the client 10 from the server 30, the name corresponding to each client ID is transmitted and displayed on the group setting screen together with the client ID. You may make it do. Similarly, in addition to the name, any information that can be used as a reference for specifying the client 10 such as a nickname, age, sex, and facial photo may be displayed.

一方、サーバ30の送受信制御部31aは、先生用クライアント10Aからグループ設定用のメッセージを受信した場合には、当該メッセージに含まれるクライアントIDとグループIDとを相互に対応付けてグループリスト32bを生成して記憶部32に格納する(SB3)。また、送受信制御部31aは、グループ設定用のメッセージを生成して生徒用クライアント10Bに送信する(SB4)。このメッセージは、後述する情報出力共有処理で説明するメッセージと同様の形式にて生成され、「メッセージの種類=生徒のグループの設定」、「データ=グループID」を含むものである。このメッセージの送信先の生徒用クライアント10Bは、以下のように特定する。すなわち、メッセージの送信元である先生用クライアント10Aと同一のURLセットに属する生徒用クライアント10BをURL別クライアントリスト32aを参照することにより特定し、当該特定した生徒用クライアント10Bの中で、先生用クライアント10Aのメッセージに含まれるクライアントIDと一致するクライアントIDを有する生徒用クライアント10Bのみを、メッセージの送信先とする。   On the other hand, when receiving the group setting message from the teacher client 10A, the transmission / reception control unit 31a of the server 30 generates a group list 32b by associating the client ID and the group ID included in the message with each other. And stored in the storage unit 32 (SB3). The transmission / reception control unit 31a generates a group setting message and transmits it to the student client 10B (SB4). This message is generated in the same format as the message described in the information output sharing process described later, and includes “message type = student group setting” and “data = group ID”. The student client 10B to which this message is sent specifies as follows. That is, the student client 10B belonging to the same URL set as the teacher client 10A that is the message transmission source is identified by referring to the client list 32a by URL, and the teacher client 10B is identified among the identified student clients 10B. Only the student client 10B having a client ID that matches the client ID included in the message of the client 10A is set as the message transmission destination.

生徒用クライアント10Bのメッセージ受信部13bは、サーバ30からグループ設定用のメッセージを受信した場合には、当該メッセージに含まれるグループIDを、自己が属するグループのグループIDであるとして、自己の記憶部14に格納する。これにてグループ設定処理が終了する。   When the message receiving unit 13b of the student client 10B receives a group setting message from the server 30, the message receiving unit 13b assumes that the group ID included in the message is the group ID of the group to which the message belongs. 14. This completes the group setting process.

(処理−情報出力共有処理)
最後に、情報出力共有処理について説明する。この処理は、情報の出力を複数のクライアント10の相互間で共有的に行うための処理であり、クライアント10で操作が行われる毎に起動される処理(イベント−ドリブン処理)である。図8、9は、情報出力共有処理のフローチャートである。
(Processing-Information output sharing process)
Finally, the information output sharing process will be described. This process is a process for outputting information in a shared manner among a plurality of clients 10, and is a process (event-driven process) that is started every time an operation is performed on the client 10. 8 and 9 are flowcharts of the information output sharing process.

クライアント10のメッセージ送信部13aは、入力部11を介して出力内容を変更する操作が行われたか否かを監視しており(SC1)、操作が行われた場合には(SC1、Yes)、メッセージを生成して送信する(SC2)。これにて送信元のクライアント10における情報出力共有処理が終了する。   The message transmission unit 13a of the client 10 monitors whether or not an operation for changing the output content has been performed via the input unit 11 (SC1), and when the operation has been performed (SC1, Yes), A message is generated and transmitted (SC2). This completes the information output sharing process in the transmission source client 10.

このメッセージは、「メッセージの種類」、「送信元のクライアントID」、「転送先のクライアントID」、「グループID」、及び「データ」を含む情報であり、例えば、これら各情報に対して、これら各情報の種類を示す所定のタグを付加して構成された、JSON文字として生成される。   This message is information including “message type”, “source client ID”, “transfer destination client ID”, “group ID”, and “data”. It is generated as a JSON character configured by adding a predetermined tag indicating the type of each information.

これら各情報のうち、「メッセージの種類」は、入力部11を介してクライアント10に対して行われた操作に応じて自動的に特定される。例えば、操作が先生用アプリの起動である場合には「メッセージの種類=先生用アプリの起動」、操作が生徒用アプリの起動である場合には「メッセージの種類=生徒用アプリの起動」、操作が線の描画である場合には「メッセージの種類=線の描画」、操作が線の消去である場合には「メッセージの種類=線の消去」、操作が画像の表示である場合には「メッセージの種類=画像の表示」、操作が画像の消去である場合には「メッセージの種類=画像の消去」、操作がping(サーバ30とのネットワーク接続状態の確認)である場合には「メッセージの種類=ping」となる。   Among these pieces of information, the “message type” is automatically specified in accordance with an operation performed on the client 10 via the input unit 11. For example, when the operation is a teacher application launch, “message type = teacher app launch”, and when the operation is a student app launch, “message type = student app launch”, If the operation is line drawing, “message type = line drawing”, if the operation is line deletion, “message type = line deletion”, and if the operation is image display “Message type = display image”, “message type = delete image” when the operation is image deletion, and “ping” (check network connection status with the server 30) when the operation is “delete message” Message type = ping ”.

「送信元のクライアントID」は、送信元のクライアント10のクライアントIDである。このクライアントIDとしては、上述した接続処理にて記憶部14に格納されたクライアントIDが使用される。   The “transmission source client ID” is the client ID of the transmission source client 10. As this client ID, the client ID stored in the storage unit 14 in the connection process described above is used.

「転送先のクライアント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を選択する場合においても、上記説明における「生徒」と「先生」を相互に読み替えることで、説明することができる。   The “transfer destination client ID” is the client ID of the client 10 when there is a client 10 to be designated as the transfer destination. The specific method for specifying the transfer destination client ID is arbitrary. For example, the output unit 12 of the teacher client 10A connected to the server 30 by the connection process has the same URL as the teacher client 10A. Output contents (specifically, desktop screens) displayed on the output units 12 of all student clients 10B belonging to the set are reduced and displayed in parallel. Further, the client ID corresponding to the output content of the output unit 12 of each student client 10B displayed on the output unit 12 of the teacher client 10A is transmitted from the server 30 and held in the teacher client 10A. . In such a situation, the teacher selects the output contents to be included in the message transfer destination among the output contents of the output part 12 of each student client 10B displayed on the output part 12 of the teacher client 10A. Is specified, the client ID corresponding to the specified output content is included in the message as the client ID of the transfer destination. Alternatively, for example, the client ID of the student client 10B is displayed as a list on the output unit 12 of the teacher client 10A, and the teacher inputs the client ID of the transfer destination from the list. You may make it designate via the part 11. FIG. Moreover, when using the output contents of the output unit 12 of the student client 10B and the client ID list of the student client 10B as described above, the names of the students may be displayed together. As the names of the students, for example, a name preset in the student application or a name input by the student through the input unit 11 when the student application is started is transmitted to the teacher client 10A through the server 30. You may do it. In the above description, the case where the teacher mainly selects the client ID of the transfer destination is exemplified. However, even when the student selects the client ID of the transfer destination, “student” and “teacher” in the above description are mutually connected. It can be explained by replacing it.

「グループID」は、転送先として指定したいグループが存在する場合における、当該グループのグループIDである。このグループIDの具体的な特定方法は任意であるが、例えば、接続処理によってサーバ30に接続されている先生用クライアント10Aの出力部12には、当該先生用クライアント10Aと同一のURLセットに属する全ての生徒用クライアント10BのクライアントIDと、各生徒用クライアント10Bが属するグループのグループIDとが、サーバ30のグループリスト32bから取得されて、相互に関連付けて出力されている。このような状況において、先生は、出力されているグループIDのうち、メッセージの転送先に含めたいグループのグループIDを入力部11を介して指定すると、当該指定されたグループIDがメッセージに含められる。なお、上記説明では、主として先生がグループIDを選択する場合を例示したが、生徒がグループIDを選択する場合においても、上記説明における「生徒」と「先生」を相互に読み替えることで、説明することができる。なお、転送先のクライアントIDとグループIDは、いずれか一方又は両方を省略することもできる。例えば、両方を省略した場合には、同一のURLセットに属する全てのクライアント10にメッセージを転送するようにしておく。   “Group ID” is the group ID of the group when there is a group to be designated as the transfer destination. The specific identification method of this group ID is arbitrary. For example, the output unit 12 of the teacher client 10A connected to the server 30 by connection processing belongs to the same URL set as the teacher client 10A. The client IDs of all student clients 10B and the group IDs of the groups to which each student client 10B belongs are acquired from the group list 32b of the server 30 and output in association with each other. In such a situation, when the teacher designates the group ID of the group to be included in the message transfer destination among the output group IDs via the input unit 11, the designated group ID is included in the message. . In the above description, the case where the teacher selects the group ID is mainly exemplified. However, even when the student selects the group ID, “student” and “teacher” in the above description are interchanged to explain. be able to. Note that either or both of the client ID and group ID of the transfer destination can be omitted. For example, when both are omitted, the message is transferred to all clients 10 belonging to the same URL set.

「データ」は、入力部11を介してクライアント10に対して行われた操作を、転送先のクライアント10において実行するために必要な情報(操作特定情報)であり、入力部11を介してクライアント10に対して行われた操作に応じて自動的に特定される。例えば、操作が先生用アプリの起動である場合には「メッセージの種類=先生用アプリの起動」、操作が生徒用アプリの起動である場合には「メッセージの種類=生徒用アプリの起動」、操作が線の描画である場合には、データは、描画された線の支線座標、通過点座標、終点座標、線太、及び線色を公知の方法で特定する情報を含む。また、操作が線の消去である場合には、データは、消去された線の支線座標、通過点座標、標及び終点座標を公知の方法で特定する情報を含む。また、操作が画像の表示である場合には、表示された画像を特定する情報(例えば、Webから取得した画像である場合には、当該画像を特定するURL)、表示された画像の表示位置、及び表示された画像の表示サイズを公知の方法で特定する情報を含む。操作が画像の消去である場合には、消去された画像を特定する情報を公知の方法で特定する情報を含む。その他、データには、操作の種類に応じて、操作の内容を特定するための情報が公知の方法で特定され含められる。ただし、データは、送信先のクライアント10の出力内容自体を送信する場合(例えば、送信先のクライアント10の画面データをそのまま送信する場合)よりも小さな容量のデータとして構成される。   “Data” is information (operation specifying information) necessary for the operation performed on the client 10 via the input unit 11 to be executed at the client 10 of the transfer destination. 10 is automatically specified in accordance with the operation performed on 10. For example, when the operation is a teacher application launch, “message type = teacher app launch”, and when the operation is a student app launch, “message type = student app launch”, When the operation is a line drawing, the data includes information for specifying the branch line coordinates, the passing point coordinates, the end point coordinates, the line thickness, and the line color of the drawn line by a known method. If the operation is to delete a line, the data includes information for specifying a branch line coordinate, a passing point coordinate, a mark, and an end point coordinate of the deleted line by a known method. Further, when the operation is display of an image, information for specifying the displayed image (for example, URL for specifying the image in the case of an image acquired from the Web), display position of the displayed image And information for specifying the display size of the displayed image by a known method. When the operation is erasure of an image, information for identifying an erased image is included in a known method. In addition, according to the type of operation, information for specifying the content of the operation is specified and included in the data by a known method. However, the data is configured as data having a smaller capacity than when the output content itself of the destination client 10 is transmitted (for example, when the screen data of the destination client 10 is transmitted as it is).

一方、サーバ30の送受信制御部31aは、クライアント10からのメッセージの受信を監視しており(SC3)、クライアント10からメッセージを受信した場合には(SC3、Yes)、当該受信したメッセージに含まれる情報に基づいた処理を実行する。   On the other hand, the transmission / reception control unit 31a of the server 30 monitors reception of a message from the client 10 (SC3), and when a message is received from the client 10 (SC3, Yes), it is included in the received message. Perform processing based on information.

最初に、サーバ30の送受信制御部31aは、受信メッセージがサーバ30の内部で処理すべきメッセージであるか否かを判定する(SC4)。具体的には、受信メッセージに含まれるメッセージの種類が、サーバ内処理対象リスト32cに含まれるメッセージの種類に対応する否かを判定し、対応しない場合には、サーバ30の内部で処理すべきメッセージではないと判定し、対応する場合には、サーバ30の内部で処理すべきメッセージであると判定する。例えば、「メッセージの種類=先生用アプリ起動」である場合には、図4に例示するサーバ内処理対象リスト32cに含まれるメッセージの種類に対応するため、サーバ30の内部で処理すべきメッセージであると判定し、「メッセージの種類=線の描画」である場合には、図4に例示するサーバ内処理対象リスト32cに含まれるメッセージの種類に対応しないため、サーバ30の内部で処理すべきメッセージではないと判定する。   First, the transmission / reception control unit 31a of the server 30 determines whether or not the received message is a message to be processed inside the server 30 (SC4). Specifically, it is determined whether or not the type of message included in the received message corresponds to the type of message included in the in-server processing target list 32c. If it is determined that the message is not a message and if it corresponds, the message is determined to be processed inside the server 30. For example, if “message type = teacher application activation”, the message to be processed inside the server 30 in order to correspond to the message type included in the in-server processing target list 32c illustrated in FIG. If it is determined that there is “message type = line drawing”, it does not correspond to the message type included in the in-server processing target list 32c illustrated in FIG. It is determined that it is not a message.

そして、サーバ30の内部で処理すべきメッセージであると判定した場合(SC4、Yes)、送受信制御部31aは、当該メッセージを他のクライアント10に転送することなく、サーバ30の内部で処理する(SC5)。例えば、「メッセージの種類=ping実行」である場合には、pingを実行してその結果を、送信元のクライアント10に送信する。これにてサーバ30における情報出力共有処理が終了する。   When it is determined that the message is to be processed inside the server 30 (SC4, Yes), the transmission / reception control unit 31a processes the message inside the server 30 without transferring the message to another client 10 ( SC5). For example, if “message type = ping execution”, the ping is executed and the result is transmitted to the client 10 of the transmission source. This completes the information output sharing process in the server 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=無」である場合には、「転送先の候補となるクライアント=全先生」を特定する。   On the other hand, when it is determined that the message is not to be processed inside the server 30 (No in SC4), the transmission / reception control unit 31a of the server 30 refers to the transfer rule and identifies the client 10 as the transfer destination candidate ( SC6). More specifically, the URL used by the transmission source client 10 for connection to the server 30 is specified by a known method, and the transmission source client 10a is referred to by referring to the URL-specific client list 32a based on the specified URL. Specify 10 types. For example, when the specified URL is a teacher URL, it is specified that “the type of the client 10 as the transmission source = teacher”. Also, the type of message included in the received message is specified. Furthermore, the presence or absence of a group ID in the received message is specified. Then, the transfer destination client 10 corresponding to the combination of the type of the specified source client 10, the type of message, and the presence / absence of the group ID is specified with reference to the transfer rule table 32 d. For example, in the example of FIG. 5, when “source client type = student”, “message type = draw line”, and “group ID = none”, “candidate for transfer destination”. Specify “Client = All teachers”.

次いで、サーバ30の送受信制御部31aは、URL別クライアントリスト32aを参照して、クライアントオブジェクトを取得し、転送先リストを作成する(SC7)。具体的には、SC6で特定した転送先の候補となるクライアント10に対応する全てのクライアントオブジェクトを転送先リストから取得する。例えば、SC6で「転送先の候補となるクライアント=全先生」が特定された場合、図2の例において、送信元のクライアント10がサーバ30との接続に使用したURLに対応するURLセットの中で、先生用URLに対応する全てのクライアントオブジェクトを取得する。そして、当該取得した各クライアントオブジェクトに含まれるクライアントIDを特定し、当該特定したクライアントIDによって構成される転送先リストを生成する。   Next, the transmission / reception control unit 31a of the server 30 refers to the client list 32a by URL, acquires a client object, and creates a transfer destination list (SC7). Specifically, all the client objects corresponding to the client 10 that is the transfer destination candidate specified in SC6 are acquired from the transfer destination list. For example, when “client as a transfer destination candidate = all teachers” is specified in SC6, in the example of FIG. 2, in the URL set corresponding to the URL used by the transmission source client 10 for connection to the server 30. Thus, all client objects corresponding to the teacher URL are acquired. Then, a client ID included in each acquired client object is specified, and a transfer destination list configured by the specified client ID is generated.

次いで、サーバ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で生成した転送リストから除外する。   Next, the transmission / reception control unit 31a of the server 30 determines whether a group ID is specified in the received message (SC8). Specifically, when a group ID is included in the received message, it is determined that “designation of group ID = present”, and when a group ID is not included in the received message, “group ID” Is specified ”. If it is determined that “group ID designation = none” (SC8, No), the process proceeds to the next SC10. On the other hand, when it is determined that “designation of group ID = present” (SC8, Yes), the client list that does not belong to the group is excluded from the transfer destination list with reference to the group list 32b (SC9). Specifically, a group ID is acquired from the received message, all client IDs corresponding to the acquired group ID are acquired from the group list 32b, and client IDs other than the acquired client ID are received in the received message. The client ID that does not belong to the specified group is excluded from the transfer list generated in SC7.

その後、サーバ30の送受信制御部31aは、受信したメッセージにおけるクライアントIDの指定の有無を判定する(SC10)。具体的には、受信したメッセージにクライアントIDが含まれている場合には、「クライアントIDの指定=有」と判定し、受信したメッセージにクライアントIDが含まれていない場合には、「クライアントIDの指定=無」と判定する。そして、「クライアントIDの指定=無」と判定した場合には(SC10、No)、次のSC11に移行する。一方、「クライアントIDの指定=有」と判定した場合には(SC10、Yes)、SC7で作成された転送先リストであって、必要に応じてSC8で一部のクライアントIDが除外された転送リストから、受信したメッセージに含まれているクライアントIDと一致しない全てのクライアントIDを除外する(SC12)。   Thereafter, the transmission / reception control unit 31a of the server 30 determines whether or not a client ID is specified in the received message (SC10). Specifically, when the received message includes a client ID, it is determined that “client ID designation = present”. When the received message does not include a client ID, “client ID” is determined. Is specified ”. If it is determined that “client ID designation = none” (No in SC10), the process proceeds to the next SC11. On the other hand, if it is determined that “Client ID designation = Yes” (SC10, Yes), the transfer destination list created in SC7, with some client IDs excluded in SC8 as necessary, is transferred. All client IDs that do not match the client ID included in the received message are excluded from the list (SC12).

そして、サーバ30の送受信制御部31aは、転送先リストに含まれているクライアントIDに基づいて、メッセージを転送する(SC11)。具体的には、SC7で作成された転送先リストであって、必要に応じてSC8やSC12で一部のクライアントIDが除外された転送リストから、当該転送リストに含まれる全てのクライアントIDを取得する。そして、当該取得したクライアントIDに対応するクライアントオブジェクトをURL別クライアントリスト32aから取得し、当該取得したクライアントオブジェクトに対して、クライアント10への受信メッセージの送信を指示する。この指示を受けたクライアントオブジェクトは、自己に含まれるクライアントIDにて特定されるクライアント10に対してメッセージを送信する。この送信は、URL別クライアントリスト32aにおいて当該クライアントオブジェクトに対応するURLを用いて行われる。このように転送されるメッセージは、例えば、受信メッセージと全く同じメッセージであってもよく、あるいは、転送先のクライアント10で不要な情報を受信メッセージから除外して生成されたメッセージであってもよい。これにてサーバ30における情報出力共有処理が終了する。   Then, the transmission / reception control unit 31a of the server 30 transfers the message based on the client ID included in the transfer destination list (SC11). Specifically, all the client IDs included in the transfer list are acquired from the transfer list created in SC7, with some client IDs excluded in SC8 and SC12 as necessary. To do. Then, the client object corresponding to the acquired client ID is acquired from the client list 32a by URL, and the acquired client object is instructed to transmit a received message to the client 10. Upon receiving this instruction, the client object transmits a message to the client 10 specified by the client ID included in the client object. This transmission is performed using the URL corresponding to the client object in the URL-specific client list 32a. The message transferred in this way may be, for example, the exact same message as the received message, or may be a message generated by excluding unnecessary information from the received message at the transfer destination client 10. . This completes the information output sharing process in the server 30.

一方、クライアント10のメッセージ受信部13bは、サーバ30からのメッセージの受信の有無を監視しており(SC13)、メッセージを受信した場合には(SC13、Yes)、当該受信したメッセージの内容に基づいて、出力部12における出力内容を変更させるための操作を実行する(SC14)。具体的には、メッセージ受信部13bは、受信したメッセージに含まれるメッセージの種類に基づいて、実行すべき操作の内容を特定し、当該特定した操作の内容を実行する。例えば、「メッセージの種類=線を描画」であれば、「データ」で指定された描画された線の支線座標、通過点座標、終点座標、線太、及び線色に基づいて、出力部12に線を描画する。これにて転送先のクライアント10における情報出力共有処理が終了する。   On the other hand, the message receiving unit 13b of the client 10 monitors whether or not a message is received from the server 30 (SC13), and when a message is received (SC13, Yes), based on the content of the received message. Then, an operation for changing the output contents in the output unit 12 is executed (SC14). Specifically, the message receiving unit 13b specifies the content of the operation to be executed based on the type of message included in the received message, and executes the content of the specified operation. For example, if “message type = draw line”, the output unit 12 based on the branch line coordinates, passage point coordinates, end point coordinates, line thickness, and line color of the drawn line designated by “data”. Draw a line on This completes the information output sharing process in the transfer destination client 10.

このような情報出力共有処理を行うことにより、先生用クライアント10Aが操作されると、この操作によって生徒用クライアント10Bの出力内容が変更されることで、先生用クライアント10Aの出力内容が生徒用クライアント10B出力内容として共有される。あるいは、生徒用クライアント10Bが操作されると、この操作によって先生用クライアント10Aの出力内容が変更されることで、生徒用クライアント10Bの出力内容が先生用クライアント10A出力内容として共有される。   By performing such information output sharing processing, when the teacher client 10A is operated, the output content of the student client 10B is changed by this operation, so that the output content of the teacher client 10A is changed to the student client. Shared as 10B output content. Alternatively, when the student client 10B is operated, the output content of the teacher client 10A is changed by this operation, so that the output content of the student client 10B is shared as the output content of the teacher client 10A.

例えば、先生が、生徒に見せたい問題文や参考資料を先生用クライアント10Aの出力部12に表示すると、これら問題文や参考資料が生徒用クライアント10Bの出力部12にも表示される。この際、先生が、全ての生徒のクライアントIDを指定した場合には、全ての生徒の生徒用クライアント10Bの出力部12に、これら問題文や参考資料が表示される。あるいは、先生が、一部の生徒のみが属するグループのグループIDを指定した場合には、当該グループに属する生徒の生徒用クライアント10Bの出力部12のみに、これら問題文や参考資料が表示される。その後、生徒が、自己の生徒用クライアント10Bの出力部12に表示されている問題文に回答を記入した場合には、先生の先生用クライアント10Aの出力部12に、この回答が表示される。次いで、先生が、出力部12において回答に対して丸印や×印等を書き込むことにより採点を行うと、これら丸印や×印等が生徒用クライアント10Bの出力部12にも表示される。この際、先生が、当該回答を行った生徒のクライアントIDのみを指定することで、当該生徒の生徒用クライアント10Bの出力部12のみに、これら丸印や×印等が表示される。   For example, when the teacher displays a question sentence and reference material that the student wants to show to the student on the output unit 12 of the teacher client 10A, the question sentence and reference material are also displayed on the output unit 12 of the student client 10B. At this time, if the teacher specifies client IDs of all students, these question sentences and reference materials are displayed on the output unit 12 of the student client 10B of all students. Alternatively, when the teacher specifies a group ID of a group to which only some students belong, these question sentences and reference materials are displayed only on the output unit 12 of the student client 10B of the students belonging to the group. . Thereafter, when the student enters an answer in the question sentence displayed on the output unit 12 of the student client 10B, the answer is displayed on the output unit 12 of the teacher client 10A. Next, when the teacher performs scoring by writing a circle or x mark on the answer in the output unit 12, the circle or x mark is also displayed on the output unit 12 of the student client 10B. At this time, when the teacher designates only the client ID of the student who made the answer, the circle mark, the X mark, and the like are displayed only on the output unit 12 of the student client 10B of the student.

〔実施の形態2〕
次に、実施の形態2について説明する。この形態は、転送先のクライアントの特定処理を、主にクライアントが行う形態である。ただし、この形態に関する構成や処理は、特記する場合を除いて、実施の形態1で説明した構成や処理と同じであるものとし、必要に応じて、実施の形態1で使用したものと同じ符号を用いて説明する。最初に、本実施の形態に係る情報出力共有システムの構成について説明し、その後に、情報出力共有システムで行われる処理について説明する。
[Embodiment 2]
Next, a second embodiment will be described. This form is a form in which the client mainly performs the process of specifying the transfer destination client. However, the configuration and processing relating to this embodiment are the same as the configuration and processing described in the first embodiment, unless otherwise specified, and the same reference numerals as those used in the first embodiment are used as necessary. Will be described. First, the configuration of the information output sharing system according to the present embodiment will be described, and then the processing performed in the information output sharing system will be described.

(構成)
まず、本実施の形態2に係る情報出力共有システムの構成について説明する。図10は、本実施の形態2に係る情報出力共有システムを機能概念的に示すブロック図である。
(Constitution)
First, the configuration of the information output sharing system according to the second embodiment will be described. FIG. 10 is a block diagram functionally conceptually showing the information output sharing system according to the second embodiment.

(構成−クライアント)
この実施の形態2において、クライアントの制御部13におけるメッセージ受信部13bは、クライアントからメッセージを受信した場合に、後述する転送先特定情報格納手段にて格納された転送先特定情報に基づいて、当該受信したメッセージの転送先とすべきクライアントを特定し、当該特定したクライアントにおいて当該メッセージが受信されるように所定制御を行う転送制御手段として機能する。
(Configuration-Client)
In the second embodiment, the message receiving unit 13b in the client control unit 13 receives the message from the client, based on the transfer destination specifying information stored in the transfer destination specifying information storage unit described later. It functions as a transfer control unit that specifies a client to be a transfer destination of the received message and performs predetermined control so that the specified client receives the message.

クライアントの記憶部14には、実施の形態1と同様に格納されたクライアントIDに加えて、グループリスト32bが格納されている。これらクライアントID及びグループリスト32bは、その一部により又は協同で、メッセージの転送先を特定するための転送先特定情報を構成する。すなわち、記憶部14は、転送先特定情報を格納する転送先特定情報格納手段として機能する。   The client storage unit 14 stores a group list 32b in addition to the client ID stored in the same manner as in the first embodiment. The client ID and the group list 32b constitute transfer destination specifying information for specifying the transfer destination of the message, in part or in cooperation. That is, the storage unit 14 functions as a transfer destination specifying information storage unit that stores transfer destination specifying information.

(構成−サーバ)
サーバの記憶部32には、実施の形態1における記憶部32の格納内容の中で、グループリスト32bと転送ルールテーブル32dが省略されている。
(Configuration-Server)
In the storage unit 32 of the server, the group list 32b and the transfer rule table 32d are omitted from the contents stored in the storage unit 32 in the first embodiment.

(処理)
次に、このように構成された情報出力共有システムにおいて行われる各種の処理について説明する。ただし、接続処理は実施の形態1と同様に行うことができるので、その説明を省略し、グループ設定処理と情報出力共有処理を順次説明する。
(processing)
Next, various processes performed in the information output sharing system configured as described above will be described. However, since the connection process can be performed in the same manner as in the first embodiment, the description thereof will be omitted, and the group setting process and the information output sharing process will be described sequentially.

(処理−グループ設定処理)
最初に、グループ設定処理について説明する。このグループ設定処理は、図7のグループ設定処理とほぼ同様に行うことができるが、SB3は省略される。すなわち、サーバ30の送受信制御部31aは、先生用クライアント10Aからメッセージを受信した場合には、グループリスト32bを生成して記憶部32に格納することなく、グループ設定用のメッセージを生成して生徒用クライアント10Bに送信する(SB4)。これにてグループ設定処理が終了する。
(事務所コメント:図11は図7とほぼ同じになりましたので削除し、図12を図11に繰り上げました。また、図12のステップ「SE」を「SD」に変更致しました。)
(Processing-Group setting processing)
First, the group setting process will be described. This group setting process can be performed in substantially the same manner as the group setting process of FIG. 7, but SB3 is omitted. That is, when the transmission / reception control unit 31a of the server 30 receives a message from the teacher client 10A, the transmission / reception control unit 31a generates a group setting message without generating the group list 32b and storing it in the storage unit 32. Is transmitted to the client 10B (SB4). This completes the group setting process.
(Office comment: Fig. 11 is almost the same as Fig. 7, so it was deleted and Fig. 12 was moved to Fig. 11. Also, step "SE" in Fig. 12 was changed to "SD". )

(処理−情報出力共有処理)
次に、情報出力共有処理について説明する。図11は、情報出力共有処理のフローチャートである。ただし、SD1〜SD3は、図8の情報出力共有処理のSC1〜SC3とそれぞれ同様に行うことができるので、その説明を省略する。
(Processing-Information output sharing process)
Next, the information output sharing process will be described. FIG. 11 is a flowchart of the information output sharing process. However, SD1 to SD3 can be performed in the same manner as SC1 to SC3 of the information output sharing process of FIG.

サーバの送受信制御部31aは、クライアントから受信したメッセージがサーバの内部で処理すべきメッセージではないと判定した場合(SD4、No)、当該メッセージを転送先のクライアントに送信する(SD6)。具体的には、送信元のクライアントがサーバとの接続に使用したURLを公知の方法で特定し、当該特定したURLに基づいてURL別クライアントリスト32aを参照することにより、当該特定したURLと同一のURLセットに対応する全てのクライアントを特定し、当該クライアントを転送先のクライアントとしてメッセージを送信する。これにてサーバは情報出力共有処理を終了する。   When it is determined that the message received from the client is not a message to be processed inside the server (SD4, No), the server transmission / reception control unit 31a transmits the message to the transfer destination client (SD6). Specifically, the URL used for connection with the server by the transmission source client is specified by a known method, and the same URL as the specified URL is identified by referring to the client list 32a by URL based on the specified URL. All the clients corresponding to the URL set are identified, and the message is transmitted with the client as the destination client. As a result, the server ends the information output sharing process.

一方、クライアントのメッセージ受信部13bは、サーバからのメッセージの受信の有無を監視しており(SD7)、メッセージを受信した場合には(SD7、Yes)、当該受信したメッセージが自己で処理すべきメッセージであるか否かを判定する。   On the other hand, the message reception unit 13b of the client monitors whether or not a message is received from the server (SD7), and when the message is received (SD7, Yes), the received message should be processed by itself. It is determined whether it is a message.

具体的には、メッセージ受信部13bは、受信したメッセージが、自己が属するグループに送信されたものであるか否かを判定する(SD8)。具体的には、受信したメッセージにおけるグループIDの指定の有無を判定し、受信したメッセージにグループIDが含まれていない場合には、次のSD9に移行する。一方、受信したメッセージにグループIDが含まれている場合には、当該グループIDに対応する全てのクライアントIDをグループリスト32bから取得し、当該取得したクライアントIDに、自己のクライアントIDが含まれるか否かを判定し、含まれる場合には、受信したメッセージが、自己が属するグループに送信されたものであると判定し、含まれない場合には、受信したメッセージが、自己が属するグループに送信されたものではないと判定する。そして、自己が属するグループに送信されたものではないと判定した場合には(SD8、No)、情報出力共有処理を終了する。   Specifically, the message receiving unit 13b determines whether or not the received message is transmitted to the group to which the message belongs (SD8). Specifically, it is determined whether or not the group ID is specified in the received message. If the group ID is not included in the received message, the process proceeds to the next SD9. On the other hand, if the received message includes a group ID, all client IDs corresponding to the group ID are acquired from the group list 32b, and whether the acquired client ID includes its own client ID. If it is included, it is determined that the received message is sent to the group to which it belongs, and if it is not included, the received message is sent to the group to which it belongs. It is determined that it has not been done. If it is determined that the message is not transmitted to the group to which the user belongs (SD8, No), the information output sharing process is terminated.

一方、受信したメッセージにグループIDが含まれていない場合や、受信したメッセージが自己が属するグループに送信されたものであると判定した場合には(SD8、Yes)、受信したメッセージが、自己に送信されたものであるか否かを判定する(SD9)。具体的には、受信したメッセージにおけるクライアントIDの指定の有無を判定し、受信したメッセージにクライアントIDが含まれていない場合には、SD10に移行する。一方、受信したメッセージにクライアントIDが含まれている場合には、当該クライアントIDが、自己のクライアントIDに一致するか否かを判定し、一致する場合には、受信したメッセージが、自己に送信されたものであると判定し、一致しない場合には、受信したメッセージが、自己に送信されたものであると判定する。そして、自己に送信されたものではないと判定した場合には(SD9、No)、情報出力共有処理を終了する。   On the other hand, if the received message does not contain a group ID or if it is determined that the received message is sent to the group to which it belongs (Yes in SD8), the received message It is determined whether or not it has been transmitted (SD9). Specifically, it is determined whether or not a client ID is specified in the received message. If the client ID is not included in the received message, the process proceeds to SD10. On the other hand, if the received message includes a client ID, it is determined whether or not the client ID matches its own client ID. If the client ID matches, the received message is sent to itself. If it is determined that the received message does not match, it is determined that the received message has been transmitted to itself. If it is determined that it has not been transmitted to itself (SD9, No), the information output sharing process is terminated.

一方、受信したメッセージにクライアントIDが含まれていない場合や、受信したメッセージが自己に送信されたものであると判定した場合には(SD9、Yes)、受信したメッセージの内容に基づいて、自己の出力部12における出力内容を変更させるための操作を実行する(SD10)。具体的には、メッセージ受信部13bは、受信したメッセージに含まれるメッセージの種類に基づいて、実行すべき操作の内容を特定し、当該特定した操作の内容を実行する。例えば、「メッセージの種類=線を描画」であれば、「データ」で指定された描画された線の支線座標、通過点座標、終点座標、線太、及び線色に基づいて、出力部12に線を描画する。これにて転送先のクライアントにおける情報出力共有処理が終了する。   On the other hand, when the received message does not include the client ID or when it is determined that the received message has been sent to itself (Yes in SD9), the self message is determined based on the content of the received message. The operation for changing the output contents in the output unit 12 is executed (SD10). Specifically, the message receiving unit 13b specifies the content of the operation to be executed based on the type of message included in the received message, and executes the content of the specified operation. For example, if “message type = draw line”, the output unit 12 based on the branch line coordinates, passage point coordinates, end point coordinates, line thickness, and line color of the drawn line designated by “data”. Draw a line on This completes the information output sharing process in the transfer destination client.

(変形例)
以上、本発明に係る実施の形態について説明したが、本発明の具体的な構成及び手段は、特許請求の範囲に記載した各発明の技術的思想の範囲内において、任意に改変及び改良することができる。以下、このような変形例について説明する。
(Modification)
Although the embodiments of the present invention have been described above, the specific configuration and means of the present invention can be arbitrarily modified and improved within the scope of the technical idea of each invention described in the claims. Can do. Hereinafter, such a modification will be described.

(解決しようとする課題や発明の効果について)
まず、発明が解決しようとする課題や発明の効果は、前記した内容に限定されるものではなく、本発明によって、前記に記載されていない課題を解決したり、前記に記載されていない効果を奏することもでき、また、記載されている課題の一部のみを解決したり、記載されている効果の一部のみを奏することがある。例えば、画像や音声の如き各種の情報の出力を、複数のクライアントの相互間で共有的に行うことを、従来よりも容易かつ低負荷で行うことができない場合であっても、従来と同様の効果を従来とは異なる手段で得ることができる場合に、本願発明の課題が解決されている。
(About problems to be solved and effects of the invention)
First, the problems to be solved by the invention and the effects of the invention are not limited to the above-described contents, and the present invention solves the problems not described above or has the effects not described above. There are also cases where only some of the described problems are solved or only some of the described effects are achieved. For example, even if the output of various information such as images and sounds can be performed in a shared manner among a plurality of clients, even if it cannot be performed more easily and with a lower load than in the past, When the effect can be obtained by means different from the conventional one, the problem of the present invention is solved.

(分散や統合について)
また、上述した各電気的構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各部の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的又は物理的に分散したり統合したりして構成できる。例えば、サーバの機能を、複数のサーバに分散することもできる。また、サーバやクライアントの記憶部14に記憶されたテーブルやリストについても、任意に分散したり統合したりすることが可能である。
(About distribution and integration)
Further, each of the electrical components described above is functionally conceptual and does not necessarily need to be physically configured as illustrated. That is, the specific form of distribution / integration of each unit is not limited to the one shown in the figure, and all or a part thereof may be functionally or physically distributed in arbitrary units according to various loads or usage conditions. Can be integrated and configured. For example, the server function can be distributed to a plurality of servers. Further, the tables and lists stored in the storage unit 14 of the server or client can be arbitrarily distributed or integrated.

特に、サーバの機能とクライアントの機能は、任意に分散内容を変更することが可能である。例えば、転送先クライアントの特定処理を、実施の形態1で説明したように主にサーバが行う形態と、実施の形態2で説明したように主にクライアントが行う形態の他、サーバとクライアントが協同して行う形態としてもよい。この場合には、実施の形態1におけるサーバの記憶部32や制御部31の一部をクライアントに持たせ、あるいは、実施の形態1におけるクライアントの記憶部14や制御部13の一部をサーバに持たせればよい。   In particular, the distributed functions of the server function and the client function can be arbitrarily changed. For example, in addition to the mode in which the server mainly performs the transfer destination client specifying process as described in the first embodiment and the mode in which the client is mainly performed as described in the second embodiment, the server and the client cooperate. It is good also as a form performed. In this case, a part of the server storage unit 32 or the control unit 31 in the first embodiment is provided to the client, or a part of the client storage unit 14 or the control unit 13 in the first embodiment is used in the server. You just have to have it.

(共有する情報の範囲について)
複数のクライアントの相互間で共有する情報の範囲を、任意の方法で制限してもよい。例えば、特定の種類の画像について共有することを制限したり、クライアントの出力部12の出力範囲における特定領域の情報のみを共有したりするようにしてもよい。このような制限は、例えば、共有可能範囲や共有制限範囲をクライアント側アプリに設定しておき、クライアント側アプリで共有可否を判定し、共有可能と判定した情報のみをメッセージとして送信するようにすればよい。
(About the scope of information to be shared)
The range of information shared among a plurality of clients may be limited by an arbitrary method. For example, sharing of a specific type of image may be restricted, or only information on a specific area in the output range of the output unit 12 of the client may be shared. For example, the shareable range or the share restriction range is set in the client-side application, the client-side application determines whether or not the share is possible, and only the information determined to be shareable is transmitted as a message. That's fine.

(ユーザの種類やクライアントの種類の増加について)
上記各実施の形態では、「ユーザの種類」として「先生」と「生徒」がいる場合であって、「クライアントの種類」として先生用クライアント10Aと生徒用クライアント10Bを設けた場合について説明したが、これらユーザの種類やクライアントの種類を増加させてもよい。例えば、ユーザの種類としては、先生を指導する者である「指導教員」を加えると共に、クライアントの種類としては、指導教員が使用する「指導教員用クライアント」(図示は省略)を含めてもよい。この場合、指導教員用クライアントと先生用クライアント10Aとの相互間における情報出力の共有を、先生用クライアント10Aと生徒用クライアント10Bとの相互間における情報出力の共有と同様に行うこととしてもよく、この場合には、複数の先生の各々の先生用クライアント10の出力部12の出力内容を、指導教員の指導教員用クライアントの出力部12の出力内容として共有することができ、指導教員は複数の先生の各々の授業内容を閲覧等することが可能になる。
(About the increase in user types and client types)
In each of the above-described embodiments, “teacher” and “student” are provided as the “user type”, and the teacher client 10A and the student client 10B are provided as the “client type”. These types of users and types of clients may be increased. For example, a “supervisor” who is a teacher is added as a user type, and a “client for a supervisor” (not shown) used by the supervisor may be included as a client type. . In this case, sharing of information output between the supervisor client and the teacher client 10A may be performed in the same manner as sharing information output between the teacher client 10A and the student client 10B. In this case, the output content of the output unit 12 of the teacher client 10 of each of the plurality of teachers can be shared as the output content of the output unit 12 of the client for the supervisor of the supervisor, It is possible to browse the contents of each teacher's class.

また、一つのユーザで複数のクライアント10を使用可能としたり、複数の種類の異なるユーザで共通のクライアント10を使用可能としたりしてもよい。例えば、クライアント10として、電子黒板的な機能を有する「黒板クライアント」(図示は省略)を設ける。この黒板クライアントは、例えば、上記説明したクライアント10と同様に構成することができるが、出力部12が複数ユーザが容易に閲覧可能な程度の大きさで構成されている。そして、先生が、自己の先生用クライアント10Aと黒板クライアントの両方を使用する場合、先生用クライアント10Aの出力部12の出力内容を黒板クライアントの出力部12の出力内容にそのまま反映させることで、出力内容を生徒にも見せたり、先生が黒板クライアントの操作を行った場合に、この操作を生徒用クライアント10Bの出力内容のみに反映させることができる。あるいは、先生と生徒が黒板クライアントを共用する場合、先生や生徒が黒板クライアントの操作を行った場合に、この操作を先生用クライアント10Aの出力内容と生徒用クライアント10Bの出力内容に反映させることができる。   In addition, a plurality of clients 10 may be used by one user, or a common client 10 may be used by a plurality of different types of users. For example, a “blackboard client” (not shown) having an electronic blackboard function is provided as the client 10. The blackboard client can be configured, for example, in the same manner as the client 10 described above, but the output unit 12 is configured to have a size that can be easily browsed by a plurality of users. When the teacher uses both his / her teacher client 10A and the blackboard client, the output contents of the output section 12 of the teacher client 10A are reflected in the output contents of the output section 12 of the blackboard client as they are. When the contents are shown to the students or the teacher operates the blackboard client, this operation can be reflected only in the output contents of the student client 10B. Alternatively, when the teacher and the student share the blackboard client, when the teacher or the student operates the blackboard client, this operation may be reflected in the output contents of the teacher client 10A and the output contents of the student client 10B. it can.

(クライアントIDの取得処理について)
また、上記各実施の形態では、各先生の先生用クライアント10Aには、その時点でサーバ30に接続している各生徒用クライアント10BのクライアントIDが最新の状態で保持されるものとして説明したが、このクライアントIDは、必要に応じて取得するようにしてもよい。例えば、グループ設定処理を行う際に、先生の先生用クライアント10Aのメッセージ送信部13aが、上述した「現在サーバ30に接続している各生徒用クライアント10BのクライアントIDの取得処理」と同様に、各生徒用クライアント10BのクライアントIDを取得するためのメッセージを生成してサーバ30に送信することで、各生徒用クライアント10BのクライアントIDを取得するようにしてもよい。
(About client ID acquisition processing)
In each of the above embodiments, the teacher client 10A of each teacher has been described as having the client ID of each student client 10B connected to the server 30 at that time in the latest state. The client ID may be acquired as necessary. For example, when performing the group setting process, the message sending unit 13a of the teacher client 10A of the teacher performs the same process as the “client ID acquisition process of each student client 10B currently connected to the server 30” described above. The client ID of each student client 10B may be acquired by generating a message for acquiring the client ID of each student client 10B and transmitting it to the server 30.

また、上述した「現在サーバ30に接続している各生徒用クライアント10BのクライアントIDの取得処理」では、先生用クライアント10Aからサーバ30を介して生徒用クライアント10BにクライアントIDの送信を要求しているが、先生用クライアント10Aとサーバ30のみの間でこの処理を完結させてもよい。例えば、サーバ30の送受信制御部31aは、先生用クライアント10Aから生徒用クライアント10BのクライアントIDの取得要求を受けた場合、記憶部32のURL別クライアントリスト32aを参照することによって、あるいは各生徒用クライアント10BにクライアントIDの送信要求を行うことによって、その時点でサーバ30に接続している生徒用クライアント10BのクライアントIDを取得し、当該取得したクライアントIDを先生用クライアント10Aに送信するようにしてもよい。   Further, in the above-described “client ID acquisition processing of each student client 10B currently connected to the server 30”, the teacher client 10A requests the student client 10B to send the client ID via the server 30. However, this processing may be completed between the teacher client 10A and the server 30 alone. For example, when the transmission / reception control unit 31a of the server 30 receives an acquisition request for the client ID of the student client 10B from the teacher client 10A, the transmission / reception control unit 31a refers to the URL client list 32a in the storage unit 32 or By making a client ID transmission request to the client 10B, the client ID of the student client 10B connected to the server 30 at that time is acquired, and the acquired client ID is transmitted to the teacher client 10A. Also good.

(グループ設定処理について)
上記各実施の形態では、先生用クライアント10Aにおいて先生がグループIDを入力しているが、サーバ30の送受信制御部31aが生成するようにしてもよい。例えば、送受信制御部31aは、先生用クライアント10Aからグループ設定用のメッセージを受信した場合には、グループIDを公知の方法で生成し、当該生成したグループIDと当該メッセージに含まれるクライアントIDとを相互に対応付けてグループリスト32bを生成して記憶部32に格納する。また、送受信制御部31aは、当該生成したグループIDを先生用クライアント10Aに送信し、先生用クライアント10Aのメッセージ受信部13bは、当該送信されたグループIDを、クライアントIDと対応付けて、図3と同様のグループリストを生成して記憶部14に格納する。
(About group setting processing)
In each of the above embodiments, the teacher inputs the group ID in the teacher client 10A, but the transmission / reception control unit 31a of the server 30 may generate the group ID. For example, when the transmission / reception control unit 31a receives a group setting message from the teacher client 10A, the transmission / reception control unit 31a generates a group ID by a known method, and generates the generated group ID and the client ID included in the message. A group list 32 b is generated in association with each other and stored in the storage unit 32. Further, the transmission / reception control unit 31a transmits the generated group ID to the teacher client 10A, and the message reception unit 13b of the teacher client 10A associates the transmitted group ID with the client ID, as shown in FIG. The same group list is generated and stored in the storage unit 14.

1 情報出力共有システム
10 クライアント
10A 先生用クライアント
10B 生徒用クライアント
11 入力部
12 出力部
13、31 制御部
13a メッセージ送信部
13b メッセージ受信部
14、32 記憶部
15、33 ネットワークIF
30 サーバ
31a 送受信制御部
32a URL別クライアントリスト
32b グループリスト
32c サーバ内処理対象リスト
32d 転送ルールテーブル
40 ネットワーク
DESCRIPTION OF SYMBOLS 1 Information output sharing system 10 Client 10A Teacher client 10B Student client 11 Input part 12 Output part 13, 31 Control part 13a Message transmission part 13b Message reception part 14, 32 Storage part 15, 33 Network IF
30 server 31a transmission / reception control unit 32a client list by URL 32b group list 32c processing target list in server 32d transfer rule table 40 network

請求項1に記載の情報出力共有システム又は請求項3に記載の情報出力共有プログラムによれば、クライアントの出力手段における出力内容に変更を生じさせる操作を特定するための操作内容特定情報を含んだメッセージが他のクライアントに転送され、当該他のクライアントで当該操作が実行されるので、画像データ等の出力内容自体を転送する場合に比べて、クライアントやサーバの処理負荷を低減することができると共に、ネットワークの負荷を低減することができる。このため、従来よりも高速で情報出力共有処理を実行することができ、情報出力共有におけるリアルタイム性や利便性を向上させることが可能になる。また、メッセージの転送先が主としてサーバによって特定されるので、クライアントの負荷を軽減することが可能になる。 According to the information output sharing system according to claim 1 or the information output sharing program according to claim 3 , operation content specifying information for specifying an operation that causes a change in the output content in the output means of the client is included. Since the message is transferred to another client and the operation is executed by the other client, the processing load on the client and the server can be reduced as compared with the case where the output content itself such as image data is transferred. The load on the network can be reduced. For this reason, the information output sharing process can be executed at a higher speed than before, and the real-time property and convenience in information output sharing can be improved. Further, since the message transfer destination is mainly specified by the server, it is possible to reduce the load on the client.

Claims (6)

複数のクライアントとサーバとを、ネットワークを介して相互に通信可能に接続して構成された、情報出力共有システムであって、
前記複数のクライアントの各々は、
当該クライアントの入力手段を介して当該クライアントの出力手段における出力内容に変更を生じさせる操作が行われた場合、当該操作を特定するための操作内容特定情報を含んだメッセージを生成して前記サーバに送信するメッセージ送信手段と、
前記サーバを介して他の前記クライアントから前記メッセージを受信した場合に、当該メッセージに含まれる操作内容特定情報によって特定される操作を、当該クライアントの出力手段における出力内容に変更を生じさせるための操作として実行するメッセージ受信手段とを備え、
前記サーバは、
前記クライアントから前記メッセージを受信した場合に、当該メッセージを他の前記クライアントに転送する送受信制御手段を備え、
前記複数のクライアントの各々又は前記サーバの少なくとも一方は、
前記メッセージの転送先を特定するための転送先特定情報を格納する転送先特定情報格納手段と、
前記クライアントから前記メッセージを受信した場合に、前記転送先特定情報格納手段にて格納された前記転送先特定情報に基づいて、当該受信したメッセージの転送先とすべきクライアントを特定し、当該特定したクライアントにおいて当該メッセージが受信されるように所定制御を行う転送制御手段とを備える、
情報出力共有システム。
An information output sharing system configured by connecting a plurality of clients and servers via a network so that they can communicate with each other.
Each of the plurality of clients is
When an operation that causes a change in the output content of the output means of the client is performed via the input means of the client, a message including operation content specifying information for specifying the operation is generated and sent to the server Message sending means for sending;
When the message is received from another client via the server, the operation specified by the operation content specifying information included in the message is changed to change the output content in the output means of the client Message receiving means to be executed as
The server
When the message is received from the client, it comprises a transmission / reception control means for transferring the message to another client,
Each of the plurality of clients or at least one of the servers is
Transfer destination specifying information storage means for storing transfer destination specifying information for specifying a transfer destination of the message;
When the message is received from the client, the client to be a transfer destination of the received message is specified based on the transfer destination specifying information stored in the transfer destination specifying information storage unit, and the specified Transfer control means for performing predetermined control so that the message is received at the client,
Information output sharing system.
前記転送先特定情報格納手段は、前記クライアントを一意に識別するためのクライアントIDと、前記クライアントによって構成されるグループを一意に識別するためのグループIDとを、相互に関連付けて構成されたグループリスト、を格納するグループ特定情報格納手段を有し、
前記転送制御手段は、前記クライアントから前記メッセージを受信した場合に、当該メッセージに含まれるグループIDに対応するクライアントIDを前記グループ特定情報格納手段から取得し、当該取得したクライアントIDに基づいて、当該受信したメッセージの転送先とすべきクライアントを特定する、
請求項1に記載の情報出力共有システム。
The transfer destination specifying information storage means is a group list configured by associating a client ID for uniquely identifying the client and a group ID for uniquely identifying a group constituted by the clients. , And group specifying information storage means for storing
When the transfer control unit receives the message from the client, the transfer control unit acquires a client ID corresponding to the group ID included in the message from the group specifying information storage unit, and based on the acquired client ID, Identify the client to which the received message should be forwarded,
The information output sharing system according to claim 1.
前記サーバは、前記転送先特定情報格納手段及び前記転送制御手段を備え、
前記サーバの前記転送先特定情報格納手段は、
前記クライアントが前記サーバに接続する際に使用するURLと、前記クライアントの種類とを、相互に関連付けて構成されたURL別クライアントリスト、を格納するURL別クライアント特定情報格納手段と、
前記メッセージの送信元のクライアントの種類と、前記メッセージの転送先の候補となるクライアントの種類とを、相互に関連付けて構成された転送ルールテーブル、を格納する転送ルール特定情報格納手段と、を有し、
前記サーバの前記転送制御手段は、
前記クライアントから前記メッセージを受信した場合に、当該クライアントが当該サーバに接続した際に使用したURLに対応するクライアントの種類を前記URL別クライアント特定情報格納手段を参照して特定することにより、当該メッセージの送信元のクライアントの種類を特定し、
当該特定したメッセージの送信元のクライアントの種類に対応するメッセージの転送先の候補となるクライアントの種類を前記転送ルール特定情報格納手段を参照して特定し、
当該特定したメッセージの転送先の候補となるクライアントの種類に対応するURLを前記URL別クライアント特定情報格納手段を参照して特定し、
当該特定したURLに基づいて、当該受信したメッセージの転送先とすべきクライアントを特定する、
請求項1又は2に記載の情報出力共有システム。
The server includes the transfer destination specifying information storage unit and the transfer control unit,
The forwarding destination specifying information storage means of the server is
URL-specific client specifying information storage means for storing a URL used when the client connects to the server and a client list for each URL configured by associating the types of the clients with each other;
Transfer rule specifying information storage means for storing a transfer rule table configured by associating the type of client of the message transmission source and the type of client that is a candidate for the transfer destination of the message. And
The transfer control means of the server includes:
When the message is received from the client, the type of the client corresponding to the URL used when the client connects to the server is specified by referring to the client-specific information storage unit for each URL. Identify the type of client from which
Identifying the type of client that is a message transfer destination candidate corresponding to the type of client of the identified message transmission source with reference to the transfer rule specifying information storage unit,
A URL corresponding to the type of client that is a candidate for the destination of the specified message is specified with reference to the client-specific information storage unit for each URL,
Based on the specified URL, the client to be the transfer destination of the received message is specified.
The information output sharing system according to claim 1 or 2.
前記サーバは、前記クライアントから受信したメッセージを、前記複数のクライアントに転送し、
前記クライアントは、前記転送先特定情報格納手段及び前記転送制御手段を備え、
前記クライアントの前記転送先特定情報格納手段は、当該クライアントを一意に識別するためのクライアントIDを格納し、
前記クライアントの前記転送制御手段は、前記サーバから前記メッセージを受信した場合に、当該メッセージに含まれるクライアントIDが前記転送先特定情報格納手段に格納されたクライアントIDに一致するか否かを特定し、一致する場合には、当該クライアントを当該受信したメッセージの転送先とすべきクライアントとして特定する、
請求項1又は2に記載の情報出力共有システム。
The server forwards a message received from the client to the plurality of clients;
The client includes the transfer destination specifying information storage unit and the transfer control unit,
The transfer destination specifying information storage unit of the client stores a client ID for uniquely identifying the client,
When the transfer control unit of the client receives the message from the server, the transfer control unit specifies whether or not the client ID included in the message matches the client ID stored in the transfer destination specifying information storage unit. If they match, identify the client as the client to which the received message should be forwarded,
The information output sharing system according to claim 1 or 2.
複数のクライアントに対してネットワークを介して通信可能に接続して構成されたサーバにて実行される情報出力共有プログラムであって、
前記サーバは、複数のクライアントのいずれかから送信されたメッセージを他の前記クライアントに転送する際における、当該メッセージの転送先を特定するための転送先特定情報を格納する転送先特定情報格納手段を備え、
前記転送先特定情報格納手段は、
前記クライアントが前記サーバに接続する際に使用するURLと、前記クライアントの種類とを、相互に関連付けて構成されたURL別クライアントリスト、を格納するURL別クライアント特定情報格納手段と、
前記メッセージの送信元のクライアントの種類と、前記メッセージの転送先の候補となるクライアントの種類とを、相互に関連付けて構成された転送ルールテーブル、を格納する転送ルール特定情報格納手段と、を有し、
前記サーバを、
前記クライアントから前記メッセージを受信した場合に、当該メッセージを他の前記クライアントに転送する送受信制御手段と、
前記クライアントから前記メッセージを受信した場合に、前記転送先特定情報格納手段にて格納された前記転送先特定情報に基づいて、当該受信したメッセージの転送先とすべきクライアントを特定し、当該特定したクライアントにおいて当該メッセージが受信されるように所定制御を行う転送制御手段と、して機能させ、
前記転送制御手段は、
前記クライアントから前記メッセージを受信した場合に、当該クライアントが当該サーバに接続した際に使用したURLに対応するクライアントの種類を前記URL別クライアント特定情報格納手段を参照して特定することにより、当該メッセージの送信元のクライアントの種類を特定し、
当該特定したメッセージの送信元のクライアントの種類に対応するメッセージの転送先の候補となるクライアントの種類を前記転送ルール特定情報格納手段を参照して特定し、
当該特定したメッセージの転送先の候補となるクライアントの種類に対応するURLを前記URL別クライアント特定情報格納手段を参照して特定し、
当該特定したURLに基づいて、当該受信したメッセージの転送先とすべきクライアントを特定する、
情報出力共有プログラム。
An information output sharing program executed on a server configured to be communicably connected to a plurality of clients via a network,
The server includes transfer destination specifying information storage means for storing transfer destination specifying information for specifying a transfer destination of the message when transferring a message transmitted from any of a plurality of clients to the other client. Prepared,
The forwarding destination specifying information storage means is
URL-specific client specifying information storage means for storing a URL used when the client connects to the server and a client list for each URL configured by associating the types of the clients with each other;
Transfer rule specifying information storage means for storing a transfer rule table configured by associating the type of client of the message transmission source and the type of client that is a candidate for the transfer destination of the message. And
The server,
When the message is received from the client, transmission / reception control means for transferring the message to another client;
When the message is received from the client, the client to be a transfer destination of the received message is specified based on the transfer destination specifying information stored in the transfer destination specifying information storage unit, and the specified Function as transfer control means for performing predetermined control so that the message is received at the client,
The transfer control means includes
When the message is received from the client, the type of the client corresponding to the URL used when the client connects to the server is specified by referring to the client-specific information storage unit for each URL. Identify the type of client from which
Identifying the type of client that is a message transfer destination candidate corresponding to the type of client of the identified message transmission source with reference to the transfer rule specifying information storage unit,
A URL corresponding to the type of client that is a candidate for the destination of the specified message is specified with reference to the client-specific information storage unit for each URL,
Based on the specified URL, the client to be the transfer destination of the received message is specified.
Information output sharing program.
サーバに対してネットワークを介して通信可能に接続して構成された複数のクライアントの各々にて実行される情報出力共有プログラムであって、
前記クライアントを、
当該クライアントの入力手段を介して当該クライアントの出力手段における出力内容に変更を生じさせる操作が行われた場合、当該操作を特定するための操作内容特定情報を含んだメッセージを生成して前記サーバに送信するメッセージ送信手段と、
前記サーバを介して他の前記クライアントから前記メッセージを受信した場合に、当該メッセージに含まれる操作内容特定情報によって特定される操作を、当該クライアントの出力手段における出力内容に変更を生じさせるための操作として実行するメッセージ受信手段として機能させる、
情報出力共有プログラム。
An information output sharing program executed by each of a plurality of clients configured to be communicably connected to a server via a network,
The client,
When an operation that causes a change in the output content of the output means of the client is performed via the input means of the client, a message including operation content specifying information for specifying the operation is generated and sent to the server Message sending means for sending;
When the message is received from another client via the server, the operation specified by the operation content specifying information included in the message is changed to change the output content in the output means of the client Function as message receiving means to execute as
Information output sharing program.
JP2012052481A 2012-03-09 2012-03-09 Information output sharing system Expired - Fee Related JP5086486B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012052481A JP5086486B1 (en) 2012-03-09 2012-03-09 Information output sharing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012052481A JP5086486B1 (en) 2012-03-09 2012-03-09 Information output sharing system

Publications (2)

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

Family

ID=47435616

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012052481A Expired - Fee Related JP5086486B1 (en) 2012-03-09 2012-03-09 Information output sharing system

Country Status (1)

Country Link
JP (1) JP5086486B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015207108A (en) * 2014-04-18 2015-11-19 株式会社リコー Information processing system, information processing device, and information processing program

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5301742B1 (en) * 2013-01-30 2013-09-25 Sky株式会社 Communication terminal control system
JP5307304B1 (en) * 2013-04-17 2013-10-02 Sky株式会社 Communication terminal control system
JP6050724B2 (en) * 2013-06-11 2016-12-21 Sky株式会社 Communication terminal control system

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002116996A (en) * 2000-10-05 2002-04-19 Hokkaido Technology Licence Office Co Ltd Cooperative work supporting method and system, client terminal equipment for cooperative work, cooperative work coordinator and recording medium
JP4157678B2 (en) * 2000-12-19 2008-10-01 富士通株式会社 Communication method and apparatus
JP2003044429A (en) * 2001-05-25 2003-02-14 Nippon Telegraph & Telephone East Corp Terminal for collaboration, collaboration system and collaboration method
JP2004252614A (en) * 2003-02-19 2004-09-09 Shizuoka Internet Kk Electronic mail chat system
JP2005056163A (en) * 2003-08-05 2005-03-03 Internatl Business Mach Corp <Ibm> Server device for collaboration system, client device for collaboration system, program for functioning computer device as server device for collaboration system, program for functioning computer device as client device for collabration system and collaboration system
US20060129634A1 (en) * 2004-11-18 2006-06-15 Microsoft Corporation Multiplexing and de-multiplexing graphics streams
US20070038925A1 (en) * 2005-08-09 2007-02-15 Chia-Hsin Li Client-server interface to push messages to the client browser
JP2007079988A (en) * 2005-09-14 2007-03-29 Nec Corp Www browser, html page sharing system and html page sharing method
JP5197351B2 (en) * 2008-12-26 2013-05-15 三菱電機株式会社 Information processing apparatus, information processing method, and program
JP2011215879A (en) * 2010-03-31 2011-10-27 Sharp Corp Communication apparatus for operation, communication apparatus for non-operation, control method of communication apparatus for operation, control method of communication apparatus for non-operation, communication system, communication program for operation, communication program for non-operation, and recording medium

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015207108A (en) * 2014-04-18 2015-11-19 株式会社リコー Information processing system, information processing device, and information processing program
US10277546B2 (en) 2014-04-18 2019-04-30 Ricoh Company, Ltd. Information processing system, information processing apparatus, and storage medium

Also Published As

Publication number Publication date
JP5086486B1 (en) 2012-11-28

Similar Documents

Publication Publication Date Title
US10848556B2 (en) Systems and methods for adding digital content to content management service accounts
CN105376442B (en) Cloud system and the method that content is shown by cloud system
US8775850B2 (en) Transferring state information between electronic devices
JP4286789B2 (en) Synchronous program
KR20080081160A (en) Strategies for sending content to a target device
KR20060095457A (en) Client-side presence documentation
JP5086486B1 (en) Information output sharing system
JP2006345214A (en) Method and device for distributing 3-dimensional image data
JP5645198B2 (en) Portable electronic devices
JP2008305104A (en) Comment distribution system, server, terminal equipment, comment distribution method, comment display method and program
JP6731605B2 (en) Information presenting device, information presenting system, information presenting method, and information presenting program
US20140108677A1 (en) Information processing device, program, information processing method, and information processing system
JP2008158695A (en) Information processing system and program for providing online service
US9298343B2 (en) System for providing virtual space for individual steps of executing application
KR20140043354A (en) Information processing apparatus, information processing system, and program
JP2021039616A (en) Information processing system, information processing apparatus, image display method, and program
JP2006268488A (en) Image display system, terminal and program thereof
JP6327551B2 (en) Data management device, data distribution system
JP6136393B2 (en) Search support system, information sharing system, method and program
JP2021060949A (en) Communication system, information processing apparatus, communication method, and program
JP2015207283A (en) Information processing system, information processing apparatus, terminal device, and program
JP2019040573A (en) Information processing system, information processing device, program and screen sharing terminal control method
JP2013008216A (en) Information processing system, information processing method and information processing program
JPWO2014171143A1 (en) Content display method, program, and content display system
WO2012041216A1 (en) Portable electronic device, content publishing method, and prompting method

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